diff --git a/.agignore b/.agignore new file mode 100644 index 00000000000..849ddff3b7e --- /dev/null +++ b/.agignore @@ -0,0 +1 @@ +dist/ diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 00000000000..611e7a350d1 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,29 @@ +[node-production] +maintained node versions + +[node-development] +node 22 + +[browser-production] +> 1% +last 2 versions +Firefox ESR +not dead + +[browser-development] +last 1 chrome version +last 1 firefox version +last 1 safari version + +[isomorphic-production] +> 1% +last 2 versions +Firefox ESR +not dead +maintained node versions + +[isomorphic-development] +last 1 chrome version +last 1 firefox version +last 1 safari version +node 22 diff --git a/.commitlintrc.json b/.commitlintrc.json new file mode 100644 index 00000000000..a55865b3848 --- /dev/null +++ b/.commitlintrc.json @@ -0,0 +1,25 @@ +{ + "extends": [ + "@commitlint/config-conventional" + ], + "rules": { + "header-max-length": [ + 2, + "always", + 69 + ], + "scope-case": [ + 2, + "always", + [ + "camel-case", + "kebab-case", + "upper-case" + ] + ], + "subject-case": [ + 0, + "always" + ] + } +} diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000000..47c624e5e21 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +/.git +/.github +/dev-helpers +/docs +/src +/swagger-ui-dist-package +/test +/node_modules \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000000..2d959463a9b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*] +end_of_line = lf +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = true +[*.md] +trim_trailing_whitespace = false diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000000..5e20fb04701 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +dist/ +node_modules/ +test/e2e-selenium/ diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000000..87d561e1a66 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,78 @@ +/** + * @prettier + */ +const path = require("node:path") + +module.exports = { + parser: "@babel/eslint-parser", + env: { + browser: true, + node: true, + es6: true, + jest: true, + "jest/globals": true, + }, + parserOptions: { + ecmaFeatures: { jsx: true }, + babelOptions: { configFile: path.join(__dirname, "babel.config.js") }, + }, + extends: [ + "eslint:recommended", + "plugin:react/recommended", + "plugin:prettier/recommended", + ], + plugins: ["react", "import", "jest", "prettier"], + settings: { + react: { + pragma: "React", + version: "15.0", + }, + }, + rules: { + semi: [2, "never"], + strict: 0, + quotes: [ + 2, + "double", + { + avoidEscape: true, + allowTemplateLiterals: true, + }, + ], + "no-unused-vars": 2, + "no-multi-spaces": 1, + camelcase: [ + "error", + { + allow: [ + "^UNSAFE_", + "^requestSnippetGenerator_", + "^JsonSchema_", + "^curl_", + "^dom_", + "^api_", + "^client_", + "^grant_", + "^code_", + "^redirect_", + "^spec", + ], + }, + ], + "no-use-before-define": [2, "nofunc"], + "no-underscore-dangle": 0, + "no-unused-expressions": 1, + "comma-dangle": 0, + "no-console": [ + 2, + { + allow: ["warn", "error"], + }, + ], + "react/jsx-no-bind": 1, + "react/jsx-no-target-blank": 2, + "react/display-name": 0, + "import/no-extraneous-dependencies": 2, + "react/jsx-filename-extension": 2, + }, +} diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000000..5e49d7fd6f3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +docker-run.sh text eol=lf +/dist/*.map export-ignore +/test export-ignore +/docs export-ignore \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md new file mode 100644 index 00000000000..48861bf31c1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Bug_report.md @@ -0,0 +1,73 @@ +--- +name: Bug report +about: Report an issue you're experiencing + +--- + + + +### Q&A (please complete the following information) + - OS: [e.g. macOS] + - Browser: [e.g. chrome, safari] + - Version: [e.g. 22] + - Method of installation: [e.g. npm, dist assets] + - Swagger-UI version: [e.g. 3.10.0] + - Swagger/OpenAPI version: [e.g. Swagger 2.0, OpenAPI 3.0] + +### Content & configuration + + +Example Swagger/OpenAPI definition: +```yaml +# your YAML here +``` + +Swagger-UI configuration options: +```js +SwaggerUI({ + // your config options here +}) +``` + +``` +?yourQueryStringConfig +``` + +### Describe the bug you're encountering + + +### To reproduce... + +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +### Expected behavior + + +### Screenshots + + +### Additional context or thoughts + diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md new file mode 100644 index 00000000000..5b18f43f5c1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Feature_request.md @@ -0,0 +1,42 @@ +--- +name: Feature request +about: Suggest a new feature or enhancement for this project + +--- + + ### Content & configuration + +Swagger/OpenAPI definition: + ```yaml + # your YAML here + ``` + + Swagger-UI configuration options: + ```js + SwaggerUI({ + // your config options here + }) + ``` + + ``` + ?yourQueryStringConfig + ``` + + +### Is your feature request related to a problem? + + +### Describe the solution you'd like + + +### Describe alternatives you've considered + + +### Additional context + diff --git a/.github/ISSUE_TEMPLATE/Support.md b/.github/ISSUE_TEMPLATE/Support.md new file mode 100644 index 00000000000..92eb5e905df --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Support.md @@ -0,0 +1,46 @@ +--- +name: Support +about: Ask a question or request help with your implementation. + +--- + + + +### Q&A (please complete the following information) + - OS: [e.g. macOS] + - Browser: [e.g. chrome, safari] + - Version: [e.g. 22] + - Method of installation: [e.g. npm, dist assets] + - Swagger-UI version: [e.g. 3.10.0] + - Swagger/OpenAPI version: [e.g. Swagger 2.0, OpenAPI 3.0] + +### Content & configuration + + +Swagger/OpenAPI definition: +```yaml +# your YAML here +``` + +Swagger-UI configuration options: +```js +SwaggerUI({ + // your config options here +}) +``` + +``` +?yourQueryStringConfig +``` + +### Screenshots + + +### How can we help? + diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml new file mode 100644 index 00000000000..6475663f5e2 --- /dev/null +++ b/.github/dependabot.yaml @@ -0,0 +1,35 @@ +version: 2 +updates: + - package-ecosystem: npm + directory: "/" + schedule: + interval: daily + time: "23:00" + commit-message: + prefix: "chore" + include: "scope" + open-pull-requests-limit: 3 + ignore: + # node-fetch must be synced manually + - dependency-name: "node-fetch" + + - package-ecosystem: "docker" + # Look for a `Dockerfile` in the `root` directory + directory: "/" + # Check for updates once a week + schedule: + interval: "weekly" + time: "23:00" + + - package-ecosystem: "github-actions" + target-branch: "master" + directory: "/" + schedule: + interval: "daily" + time: "23:00" + commit-message: + prefix: "chore" + include: "scope" + open-pull-requests-limit: 3 + + diff --git a/.github/lock.yml b/.github/lock.yml new file mode 100644 index 00000000000..e0b8c11acca --- /dev/null +++ b/.github/lock.yml @@ -0,0 +1,15 @@ +daysUntilLock: 365 +skipCreatedBefore: 2017-03-29 # initial release of Swagger UI 3.0.0 +exemptLabels: [] +lockLabel: "locked-by: lock-bot" +setLockReason: false +only: issues +lockComment: false +# lockComment: | +# Locking due to inactivity. + +# This is done to avoid resurrecting old issues and bumping long threads with new, possibly unrelated content. + +# If you think you're experiencing something similar to what you've found here: please [open a new issue](https://github.com/swagger-api/swagger-ui/issues/new/choose), follow the template, and reference this issue in your report. + +# Thanks! diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000000..64e9cf6f849 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,55 @@ + + +### Description + + + + +### Motivation and Context + + + + + + + +### How Has This Been Tested? + + + + + + +### Screenshots (if appropriate): + + + +## Checklist + + + +### My PR contains... + +- [ ] No code changes (`src/` is unmodified: changes to documentation, CI, metadata, etc.) +- [ ] Dependency changes (any modification to dependencies in `package.json`) +- [ ] Bug fixes (non-breaking change which fixes an issue) +- [ ] Improvements (misc. changes to existing features) +- [ ] Features (non-breaking change which adds functionality) + +### My changes... +- [ ] are breaking changes to a public API (config options, System API, major UI change, etc). +- [ ] are breaking changes to a private API (Redux, component props, utility functions, etc.). +- [ ] are breaking changes to a developer API (npm script behavior changes, new dev system dependencies, etc). +- [ ] are not breaking changes. + +### Documentation +- [ ] My changes do not require a change to the project documentation. +- [ ] My changes require a change to the project documentation. +- [ ] If yes to above: I have updated the documentation accordingly. + +### Automated tests +- [ ] My changes can not or do not need to be tested. +- [ ] My changes can and should be tested by unit and/or integration tests. +- [ ] If yes to above: I have added tests to cover my changes. +- [ ] If yes to above: I have taken care to cover edge cases in my tests. +- [ ] All new and existing tests passed. diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 00000000000..5cdb8a9182c --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,63 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ "master" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "master" ] + schedule: + - cron: '16 04 * * 2' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'javascript' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Use only 'java' to analyze code written in Java, Kotlin or both + # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v5 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v4 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + config: | + paths-ignore: + - 'dist/' + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v4 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/dependabot-merge.yml b/.github/workflows/dependabot-merge.yml new file mode 100644 index 00000000000..0bdc1bd2d0c --- /dev/null +++ b/.github/workflows/dependabot-merge.yml @@ -0,0 +1,40 @@ +name: Merge me! + +on: + pull_request_target: + branches: [ master, next ] + +permissions: + contents: read + +jobs: + merge-me: + name: Merge me! + if: github.actor == 'dependabot[bot]' + runs-on: ubuntu-latest + steps: + # This first step will fail if there's no metadata and so the approval + # will not occur. + - name: Dependabot metadata + id: dependabot-metadata + uses: dependabot/fetch-metadata@v2.4.0 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + # Here the PR gets approved. + - name: Approve a PR + if: ${{ steps.dependabot-metadata.outputs.update-type != 'version-update:semver-major' }} + run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GITHUB_TOKEN: ${{ secrets.SWAGGER_BOT_GITHUB_TOKEN }} + # Finally, tell dependabot to merge the PR if all checks are successful + - name: Instruct dependabot to squash & merge + if: ${{ steps.dependabot-metadata.outputs.update-type != 'version-update:semver-major' }} + uses: mshick/add-pr-comment@v2 + with: + repo-token: ${{ secrets.SWAGGER_BOT_GITHUB_TOKEN }} + allow-repeats: true + message: | + @dependabot squash and merge + env: + GITHUB_TOKEN: ${{ secrets.SWAGGER_BOT_GITHUB_TOKEN }} diff --git a/.github/workflows/docker-build-push-unstable.yml b/.github/workflows/docker-build-push-unstable.yml new file mode 100644 index 00000000000..af08960ac02 --- /dev/null +++ b/.github/workflows/docker-build-push-unstable.yml @@ -0,0 +1,52 @@ +name: Build & Push SwaggerUI unstable Docker image + +on: + workflow_run: + workflows: ["Node.js CI"] + types: + - completed + branches: [master] + +jobs: + + build-push-unstable: + if: github.event.workflow_run.conclusion == 'success' + name: Build & Push SwaggerUI unstable Docker image + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v5 + + - name: Use Node.js 22 + uses: actions/setup-node@v5 + with: + node-version: 22 + cache: npm + cache-dependency-path: package-lock.json + + - name: Install dependencies + run: npm ci + + - name: Build SwaggerUI + run: npm run build + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_SB_USERNAME }} + password: ${{ secrets.DOCKERHUB_SB_PASSWORD }} + + - name: Build docker image and push + uses: docker/build-push-action@v6 + with: + context: . + push: true + platforms: linux/amd64,linux/arm/v6,linux/arm64,linux/386,linux/ppc64le + provenance: false + tags: swaggerapi/swagger-ui:unstable diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/docker-build-push.yml new file mode 100644 index 00000000000..1b85919fc94 --- /dev/null +++ b/.github/workflows/docker-build-push.yml @@ -0,0 +1,77 @@ +name: Build & Push SwaggerUI Docker image + +on: + workflow_run: + workflows: ["Release SwaggerUI"] + types: + - completed + branches: [master] + +jobs: + + build-push: + if: github.event.workflow_run.conclusion == 'success' + name: Build & Push SwaggerUI Docker image + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v5 + + - name: Use Node.js 22 + uses: actions/setup-node@v5 + with: + node-version: 22 + cache: npm + cache-dependency-path: package-lock.json + + - name: Install dependencies + run: npm ci + + - name: Build SwaggerUI + run: npm run build + + - name: Determine released version + uses: actions/github-script@v8 + with: + script: | + const allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.payload.workflow_run.id, + }); + const matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { + return artifact.name == "released-version" + })[0]; + const download = await github.rest.actions.downloadArtifact({ + owner: context.repo.owner, + repo: context.repo.repo, + artifact_id: matchArtifact.id, + archive_format: 'zip', + }); + const fs = require('fs'); + fs.writeFileSync('${{github.workspace}}/released-version.zip', Buffer.from(download.data)); + - run: | + unzip released-version.zip + RELEASED_VERSION=$(cat released-version.txt) + echo "RELEASED_VERSION=$RELEASED_VERSION" >> $GITHUB_ENV + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_SB_USERNAME }} + password: ${{ secrets.DOCKERHUB_SB_PASSWORD }} + + - name: Build docker image and push + uses: docker/build-push-action@v6 + with: + context: . + push: true + platforms: linux/amd64,linux/arm/v6,linux/arm64,linux/386,linux/ppc64le + provenance: false + tags: swaggerapi/swagger-ui:latest,swaggerapi/swagger-ui:v${{ env.RELEASED_VERSION }} diff --git a/.github/workflows/docker-image-check.yml b/.github/workflows/docker-image-check.yml new file mode 100644 index 00000000000..dd11960632e --- /dev/null +++ b/.github/workflows/docker-image-check.yml @@ -0,0 +1,23 @@ +name: Security scan for docker image + +on: + workflow_dispatch: + schedule: + - cron: '30 4 * * *' + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Run Trivy vulnerability scanner + uses: aquasecurity/trivy-action@master + with: + image-ref: 'docker.swagger.io/swaggerapi/swagger-ui:unstable' + format: 'table' + exit-code: '1' + ignore-unfixed: true + vuln-type: 'os,library' + severity: 'CRITICAL,HIGH' diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml new file mode 100644 index 00000000000..e6c6d8a90db --- /dev/null +++ b/.github/workflows/nodejs.yml @@ -0,0 +1,86 @@ +# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: Node.js CI + +on: + push: + branches: [ master, next ] + pull_request: + branches: [ master, next ] + +env: + CYPRESS_CACHE_FOLDER: cypress/cache + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v5 + + - name: Use Node.js 20.x + uses: actions/setup-node@v5 + with: + node-version: 20 + + - name: Cache Node Modules and Cypress binary + uses: actions/cache@v4 + id: cache-primes + with: + path: | + node_modules + ${{ env.CYPRESS_CACHE_FOLDER }} + key: ${{ runner.os }}-node-and-cypress-${{ hashFiles('package-lock.json') }} + + - name: Install dependencies + if: steps.cache-primes.outputs.cache-hit != 'true' + run: npm ci + + - name: Lint code for errors only + run: npm run lint-errors + + - name: Run all tests + run: npm run test:unit + env: + CI: true + + - name: Build SwaggerUI + run: npm run build + + - name: Test build artifacts + run: npm run test:artifact + + e2e-tests: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + containers: ['+(a11y|security|bugs)/**/*cy.js', 'features/**/+(o|d)*.cy.js', 'features/**/m*.cy.js', 'features/**/!(o|d|m)*.cy.js'] + + steps: + - uses: actions/checkout@v5 + + - name: Use Node.js 20.x + uses: actions/setup-node@v5 + with: + node-version: 20 + + - name: Cache Node Modules and Cypress binary + uses: actions/cache@v4 + id: cache-primes + with: + path: | + node_modules + ${{ env.CYPRESS_CACHE_FOLDER }} + key: ${{ runner.os }}-node-and-cypress-${{ hashFiles('package-lock.json') }} + + - name: Install dependencies + if: steps.cache-primes.outputs.cache-hit != 'true' + run: npm ci + + - name: Cypress Test + run: npx start-server-and-test cy:start http://localhost:3204 'npm run cy:run -- --spec "test/e2e-cypress/e2e/${{ matrix.containers }}"' diff --git a/.github/workflows/release-swagger-ui-dist.yml b/.github/workflows/release-swagger-ui-dist.yml new file mode 100644 index 00000000000..a0b23f80f27 --- /dev/null +++ b/.github/workflows/release-swagger-ui-dist.yml @@ -0,0 +1,61 @@ +name: Release SwaggerUI Dist + +on: + workflow_run: + workflows: ["Release SwaggerUI"] + types: + - completed + branches: [ master ] + +jobs: + release-swagger-ui-dist: + if: github.event.workflow_run.conclusion == 'success' + name: Release swagger-ui-dist npm package + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v5 + with: + fetch-depth: 0 + persist-credentials: false + ref: master + + - name: Setup Node.js + uses: actions/setup-node@v5 + with: + node-version: 22 + cache: npm + cache-dependency-path: package-lock.json + + - name: Install dependencies + run: npm ci + + - name: Download build artifact + uses: actions/github-script@v8 + with: + script: | + const allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.payload.workflow_run.id, + }); + const matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { + return artifact.name == "dist" + })[0]; + const download = await github.rest.actions.downloadArtifact({ + owner: context.repo.owner, + repo: context.repo.repo, + artifact_id: matchArtifact.id, + archive_format: 'zip', + }); + const fs = require('fs'); + fs.writeFileSync('${{github.workspace}}/dist.zip', Buffer.from(download.data)); + - run: | + unzip -o dist.zip -d dist + + - name: Publish to npmjs.com + run: ./deploy.sh + working-directory: ./swagger-ui-dist-package + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + PUBLISH_DIST: true diff --git a/.github/workflows/release-swagger-ui-packagist.yml b/.github/workflows/release-swagger-ui-packagist.yml new file mode 100644 index 00000000000..05d51750dcd --- /dev/null +++ b/.github/workflows/release-swagger-ui-packagist.yml @@ -0,0 +1,21 @@ +name: Release SwaggerUI to Packagist + +on: + workflow_run: + workflows: ["Release SwaggerUI"] + types: + - completed + branches: [ master ] + +jobs: + release-swagger-ui-packagist: + if: github.event.workflow_run.conclusion == 'success' + name: Release swagger-ui to packagist + runs-on: ubuntu-latest + steps: + - name: Update SwaggerUI packagist package + run: | + curl --fail -X POST \ + -H "Content-Type: application/json" \ + "https://packagist.org/api/update-package?username=${{%20secrets.PACKAGIST_USER%20}}&apiToken=${{%20secrets.PACKAGIST_API_TOKEN%20}}" \ + -d "{\"repository\":{\"url\":\"https://packagist.org/packages/swagger-api/swagger-ui/"}}" diff --git a/.github/workflows/release-swagger-ui-react.yml b/.github/workflows/release-swagger-ui-react.yml new file mode 100644 index 00000000000..1937b8fec3f --- /dev/null +++ b/.github/workflows/release-swagger-ui-react.yml @@ -0,0 +1,61 @@ +name: Release SwaggerUI React + +on: + workflow_run: + workflows: ["Release SwaggerUI"] + types: + - completed + branches: [ master ] + +jobs: + release-swagger-ui-react: + if: github.event.workflow_run.conclusion == 'success' + name: Release swagger-ui-react npm package + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v5 + with: + fetch-depth: 0 + persist-credentials: false + ref: master + + - name: Setup Node.js + uses: actions/setup-node@v5 + with: + node-version: 22 + cache: npm + cache-dependency-path: package-lock.json + + - name: Install dependencies + run: npm ci + + - name: Download build artifact + uses: actions/github-script@v8 + with: + script: | + const allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.payload.workflow_run.id, + }); + const matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { + return artifact.name == "dist" + })[0]; + const download = await github.rest.actions.downloadArtifact({ + owner: context.repo.owner, + repo: context.repo.repo, + artifact_id: matchArtifact.id, + archive_format: 'zip', + }); + const fs = require('fs'); + fs.writeFileSync('${{github.workspace}}/dist.zip', Buffer.from(download.data)); + - run: | + unzip -o dist.zip -d dist + + - name: Publish to npmjs.com + run: ./run.sh + working-directory: ./flavors/swagger-ui-react/release + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + PUBLISH_FLAVOR_REACT: true diff --git a/.github/workflows/release-swagger-ui.yml b/.github/workflows/release-swagger-ui.yml new file mode 100644 index 00000000000..5bf05111754 --- /dev/null +++ b/.github/workflows/release-swagger-ui.yml @@ -0,0 +1,95 @@ +name: Release SwaggerUI +on: + workflow_dispatch: + branches: + - master + +jobs: + release: + name: Release swagger-ui npm package + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v5 + with: + fetch-depth: 0 + persist-credentials: false + ref: master + + - name: Setup Node.js + uses: actions/setup-node@v5 + with: + node-version: 22 + cache: npm + cache-dependency-path: package-lock.json + + - name: Determine the next release version + uses: cycjimmy/semantic-release-action@v5 + with: + dry_run: true + extra_plugins: | + @semantic-release/git + @semantic-release/exec + env: + GITHUB_TOKEN: ${{ secrets.SWAGGER_BOT_GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Nothing to release + if: ${{ env.NEXT_RELEASE_VERSION == '' }} + uses: actions/github-script@v8 + with: + script: | + core.setFailed('Nothing to release') + + - name: Install dependencies + run: npm ci + + - name: Prepare for the Release + env: + REACT_APP_VERSION: ${{ env.NEXT_RELEASE_VERSION }} + run: | + npm run test + npm run build + + - name: Semantic Release + id: semantic + uses: cycjimmy/semantic-release-action@v5 + with: + dry_run: false + extra_plugins: | + @semantic-release/git + env: + GITHUB_TOKEN: ${{ secrets.SWAGGER_BOT_GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Release failed + if: steps.semantic.outputs.new_release_published == 'false' + uses: actions/github-script@v8 + with: + script: | + core.setFailed('Release failed') + + - name: Release published + run: | + echo ${{ steps.semantic.outputs.new_release_version }} + echo ${{ steps.semantic.outputs.new_release_major_version }} + echo ${{ steps.semantic.outputs.new_release_minor_version }} + echo ${{ steps.semantic.outputs.new_release_patch_version }} + + - name: Upload build artifacts + uses: actions/upload-artifact@v5 + with: + name: dist + path: ./dist + + + - name: Prepare released version for uploading + shell: bash + run: | + echo ${{ steps.semantic.outputs.new_release_version }} > released-version.txt + - name: Upload released version + uses: actions/upload-artifact@v5 + with: + name: released-version + path: ./released-version.txt + retention-days: 1 diff --git a/.gitignore b/.gitignore index 124495c4563..e957857575d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,22 +1,29 @@ -wordnik*.zip -.DS_STORE -*.ipr -*.iml -*.iws -lib/*.jar -META-INF/ -web/ -index -lib/*.zip -dk/ -index_dict -logs -src/main/java/com/wordnik/env/Version.scala -lib/*.pom -version.properties -reports/* -.sass-cache -swagger-ui.sublime-workspace +node_modules .idea -.project -node_modules/* +.vscode +.deps_check +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local +.nyc_output +npm-debug.log* +.eslintcache +*.iml +selenium-debug.log +chromedriver.log +test/e2e/db.json +docs/_book +dev-helpers/examples + +# dist +flavors/**/dist/* +/lib +/es +dist/log* +/swagger-ui-*.tgz + +# Cypress +test/e2e-cypress/screenshots +test/e2e-cypress/videos diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100755 index 00000000000..951570f79b7 --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1 @@ +npx commitlint -e diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 00000000000..2312dc587f6 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +npx lint-staged diff --git a/.lintstagedrc b/.lintstagedrc new file mode 100644 index 00000000000..0b1dd617c67 --- /dev/null +++ b/.lintstagedrc @@ -0,0 +1,4 @@ +{ + "*.{js,jsx}": ["eslint --max-warnings 0"], + "*.scss": ["stylelint '**/*.scss'"] +} diff --git a/.npmignore b/.npmignore index 7ac4bd7a6ef..600fc159b6a 100644 --- a/.npmignore +++ b/.npmignore @@ -1,7 +1,16 @@ -*.sublime-* -example.html -*.tgz -.classpath -.project -.npmignore -node_modules +* +*/ +!README.md +!NOTICE +!package.json +!dist/swagger-ui.js +!dist/swagger-ui.js.map +!dist/swagger-ui-bundle.js +!dist/swagger-ui-standalone-preset.js +!dist/swagger-ui-es-bundle.js +!dist/swagger-ui-es-bundle-core.js +!dist/swagger-ui-es-bundle-core.js.map +!dist/swagger-ui.css +!dist/swagger-ui.css.map +!dist/oauth2-redirect.html +!dist/oauth2-redirect.js \ No newline at end of file diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000000..d508edc4142 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +save-prefix="=" diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000000..7af24b7ddbd --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +22.11.0 diff --git a/.prettierrc.yaml b/.prettierrc.yaml new file mode 100644 index 00000000000..2e34d757e07 --- /dev/null +++ b/.prettierrc.yaml @@ -0,0 +1,5 @@ +semi: false +trailingComma: es5 +endOfLine: lf +requirePragma: true +insertPragma: true diff --git a/.releaserc b/.releaserc new file mode 100644 index 00000000000..d90e9626e82 --- /dev/null +++ b/.releaserc @@ -0,0 +1,26 @@ +{ + "branches": [ + {"name": "master"} + ], + "tagFormat": "v${version}", + "plugins": [ + "@semantic-release/commit-analyzer", + [ + "@semantic-release/exec", + { + "verifyReleaseCmd": "echo \"NEXT_RELEASE_VERSION=${nextRelease.version}\" >> $GITHUB_ENV" + } + ], + "@semantic-release/release-notes-generator", + "@semantic-release/npm", + "@semantic-release/github", + ["@semantic-release/git", { + "assets": [ + "dist/*.{js,html,css}", + "package.json", + "package-lock.json" + ], + "message": "chore(release): cut the ${nextRelease.version} release\n\n${nextRelease.notes}" + }] + ] +} diff --git a/Cakefile b/Cakefile deleted file mode 100644 index ecc1a09eb41..00000000000 --- a/Cakefile +++ /dev/null @@ -1,132 +0,0 @@ -fs = require 'fs' -path = require 'path' -{exec} = require 'child_process' -less = require 'less' - -sourceFiles = [ - 'SwaggerUi' - 'view/HeaderView' - 'view/MainView' - 'view/ResourceView' - 'view/OperationView' - 'view/StatusCodeView' - 'view/ParameterView' - 'view/SignatureView' - 'view/ContentTypeView' - 'view/ResponseContentTypeView' - 'view/ParameterContentTypeView' -] - - -task 'clean', 'Removes distribution', -> - console.log 'Clearing dist...' - exec 'rm -rf dist' - -task 'dist', 'Build a distribution', -> - console.log "Build distribution in ./dist" - fs.mkdirSync('dist') if not path.existsSync('dist') - fs.mkdirSync('dist/lib') if not path.existsSync('dist/lib') - - appContents = new Array remaining = sourceFiles.length - for file, index in sourceFiles then do (file, index) -> - console.log " : Reading src/main/coffeescript/#{file}.coffee" - fs.readFile "src/main/coffeescript/#{file}.coffee", 'utf8', (err, fileContents) -> - throw err if err - appContents[index] = fileContents - precompileTemplates() if --remaining is 0 - - precompileTemplates= -> - console.log ' : Precompiling templates...' - templateFiles = fs.readdirSync('src/main/template') - templateContents = new Array remaining = templateFiles.length - for file, index in templateFiles then do (file, index) -> - console.log " : Compiling src/main/template/#{file}" - exec "handlebars src/main/template/#{file} -f dist/_#{file}.js", (err, stdout, stderr) -> - throw err if err - fs.readFile 'dist/_' + file + '.js', 'utf8', (err, fileContents) -> - throw err if err - templateContents[index] = fileContents - fs.unlink 'dist/_' + file + '.js' - if --remaining is 0 - templateContents.push '\n\n' - fs.writeFile 'dist/_swagger-ui-templates.js', templateContents.join('\n\n'), 'utf8', (err) -> - throw err if err - build() - - - build = -> - console.log ' : Collecting Coffeescript source...' - - appContents.push '\n\n' - fs.writeFile 'dist/_swagger-ui.coffee', appContents.join('\n\n'), 'utf8', (err) -> - throw err if err - console.log ' : Compiling...' - exec 'coffee --compile dist/_swagger-ui.coffee', (err, stdout, stderr) -> - throw err if err - fs.unlink 'dist/_swagger-ui.coffee' - console.log ' : Combining with javascript...' - exec 'cat src/main/javascript/doc.js dist/_swagger-ui-templates.js dist/_swagger-ui.js > dist/swagger-ui.js', (err, stdout, stderr) -> - throw err if err - fs.unlink 'dist/_swagger-ui.js' - fs.unlink 'dist/_swagger-ui-templates.js' - console.log ' : Minifying all...' - exec 'java -jar "./bin/yuicompressor-2.4.7.jar" --type js -o ' + 'dist/swagger-ui.min.js ' + 'dist/swagger-ui.js', (err, stdout, stderr) -> - throw err if err - lessc() - - lessc = -> - # Someone who knows CoffeeScript should make this more Coffee-licious - console.log ' : Compiling LESS...' - - less.render fs.readFileSync("src/main/less/screen.less", 'utf8'), (err, css) -> - console.log err - fs.writeFileSync("src/main/html/css/screen.css", css) - pack() - - pack = -> - console.log ' : Packaging...' - exec 'cp -r lib dist' - console.log ' : Copied swagger-ui libs' - exec 'cp -r node_modules/swagger-client/lib/swagger.js dist/lib' - console.log ' : Copied swagger dependencies' - exec 'cp -r src/main/html/* dist' - console.log ' : Copied html dependencies' - console.log ' !' - -task 'spec', "Run the test suite", -> - exec "open spec.html", (err, stdout, stderr) -> - throw err if err - -task 'watch', 'Watch source files for changes and autocompile', -> - # Function which watches all files in the passed directory - watchFiles = (dir) -> - files = fs.readdirSync(dir) - for file, index in files then do (file, index) -> - console.log " : " + dir + "/#{file}" - fs.watchFile dir + "/#{file}", (curr, prev) -> - if +curr.mtime isnt +prev.mtime - invoke 'dist' - - notify "Watching source files for changes..." - - # Watch specific source files - for file, index in sourceFiles then do (file, index) -> - console.log " : " + "src/main/coffeescript/#{file}.coffee" - fs.watchFile "src/main/coffeescript/#{file}.coffee", (curr, prev) -> - if +curr.mtime isnt +prev.mtime - invoke 'dist' - - # watch all files in these folders - watchFiles("src/main/template") - watchFiles("src/main/javascript") - watchFiles("src/main/html") - watchFiles("src/main/less") - watchFiles("src/test") - -notify = (message) -> - return unless message? - console.log message -# options = -# title: 'CoffeeScript' -# image: 'bin/CoffeeScript.png' -# try require('growl') message, options diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000000..acd54907a55 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,39 @@ +# Looking for information on environment variables? +# We don't declare them here — take a look at our docs. +# https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md + +FROM nginx:1.29.3-alpine + +LABEL maintainer="vladimir.gorej@gmail.com" \ + org.opencontainers.image.authors="vladimir.gorej@gmail.com" \ + org.opencontainers.image.url="docker.swagger.io/swaggerapi/swagger-ui" \ + org.opencontainers.image.source="https://github.com/swagger-api/swagger-ui" \ + org.opencontainers.image.description="SwaggerUI Docker image" \ + org.opencontainers.image.licenses="Apache-2.0" + +RUN apk add --update-cache --no-cache "nodejs" "libxml2>=2.13.9-r0" "libexpat>=2.7.2-r0" "libxslt>=1.1.42-r2" "xz-libs>=5.6.3-r1" "c-ares>=1.34.5-r0" + +LABEL maintainer="char0n" + +ENV API_KEY="**None**" \ + SWAGGER_JSON="/app/swagger.json" \ + PORT="8080" \ + PORT_IPV6="" \ + BASE_URL="/" \ + SWAGGER_JSON_URL="" \ + CORS="true" \ + EMBEDDING="false" + +COPY --chmod=0644 ./docker/default.conf.template ./docker/cors.conf ./docker/embedding.conf /etc/nginx/templates/ + +COPY --chmod=0644 ./dist/* /usr/share/nginx/html/ +COPY --chmod=0755 ./docker/docker-entrypoint.d/ /docker-entrypoint.d/ +COPY --chmod=0644 ./docker/configurator /usr/share/nginx/configurator + +# Simulates running NGINX as a non root; in future we want to use nginxinc/nginx-unprivileged. +# In future we will have separate unpriviledged images tagged as v5.1.2-unprivileged. +RUN chmod 777 /etc/nginx/conf.d/ /usr/share/nginx/html/ /var/cache/nginx/ /var/run/ && \ + chmod 666 /etc/nginx/conf.d/default.conf /usr/share/nginx/html/swagger-initializer.js && \ + chmod 755 /etc/nginx/templates /usr/share/nginx/configurator + +EXPOSE 8080 diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/NOTICE b/NOTICE new file mode 100644 index 00000000000..ab788a27d5b --- /dev/null +++ b/NOTICE @@ -0,0 +1,2 @@ +swagger-ui +Copyright 2020-2021 SmartBear Software Inc. diff --git a/README.md b/README.md index 2e65bb94948..80bca1690ee 100644 --- a/README.md +++ b/README.md @@ -1,110 +1,117 @@ -Swagger UI -========== +# -Swagger UI is part of [Swagger](http://swagger.wordnik.com/) project. The Swagger project allows you to produce, visualize and consume your OWN RESTful services. No proxy or 3rd party services required. Do it your own way. +[![NPM version](https://badge.fury.io/js/swagger-ui.svg)](http://badge.fury.io/js/swagger-ui) +[![Build Status](https://jenkins.swagger.io/view/OSS%20-%20JavaScript/job/oss-swagger-ui-master/badge/icon?subject=jenkins%20build)](https://jenkins.swagger.io/view/OSS%20-%20JavaScript/job/oss-swagger-ui-master/) +[![npm audit](https://jenkins.swagger.io/buildStatus/icon?job=oss-swagger-ui-security-audit&subject=npm%20audit)](https://jenkins.swagger.io/job/oss-swagger-ui-security-audit/lastBuild/console) +[![total GitHub contributors](https://img.shields.io/github/contributors-anon/swagger-api/swagger-ui.svg)](https://github.com/swagger-api/swagger-ui/graphs/contributors) -Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically -generate beautiful documentation and sandbox from a [Swagger-compliant](https://github.com/wordnik/swagger-core/wiki) API. Because Swagger UI has no dependencies, you can host it in any server environment, or on your local machine. +[![monthly npm installs](https://img.shields.io/npm/dm/swagger-ui.svg?label=npm%20downloads)](https://www.npmjs.com/package/swagger-ui) +![docker registry](https://img.shields.io/badge/docker-docker.swagger.io%2Fswaggerapi%2Fswagger--ui-blue) +![monthly packagist installs](https://img.shields.io/packagist/dm/swagger-api/swagger-ui.svg?label=packagist%20installs) +[![gzip size](https://img.shields.io/bundlephobia/minzip/swagger-ui.svg?label=gzip%20size)](https://bundlephobia.com/package/swagger-ui) -How to Use It -------------- +## Introduction +[Swagger UI](https://swagger.io/tools/swagger-ui/) allows anyone — be it your development team or your end consumers — to visualize and interact with the API’s resources without having any of the implementation logic in place. It’s automatically generated from your OpenAPI (formerly known as Swagger) Specification, with the visual documentation making it easy for back end implementation and client side consumption. -### Download -You can use the swagger-ui code AS-IS! No need to build or recompile--just clone this repo and use the pre-built files in the `dist` folder. If you like swagger-ui as-is, stop here. +## General +**👉🏼 Want to score an easy open-source contribution?** Check out our [Good first issue](https://github.com/swagger-api/swagger-ui/issues?q=is%3Aissue+is%3Aopen+label%3A%22Good+first+issue%22) label. -### Build -You can rebuild swagger-ui on your own to tweak it or just so you can say you did. To do so, follow these steps: +**🕰️ Looking for the older version of Swagger UI?** Refer to the [*2.x* branch](https://github.com/swagger-api/swagger-ui/tree/2.x). -1. install [handlebars](http://handlebarsjs.com/) -2. install java -3. npm install -4. npm run-script build -5. You should see the distribution under the dist folder. Open ./dist/index.html to launch Swagger UI in a browser -### Use -Once you open the Swagger UI, it will load the [Swagger Petstore](http://petstore.swagger.wordnik.com/api/api-docs) service and show its APIs. You can enter your own server url and click explore to view the API. +This repository publishes three different NPM modules: -### Customize -You may choose to customize Swagger UI for your organization. Here is an overview of whats in its various directories: +* [swagger-ui](https://www.npmjs.com/package/swagger-ui) is a traditional npm module intended for use in single-page applications that are capable of resolving dependencies (via Webpack, Browserify, etc.). +* [swagger-ui-dist](https://www.npmjs.com/package/swagger-ui-dist) is a dependency-free module that includes everything you need to serve Swagger UI in a server-side project, or a single-page application that can't resolve npm module dependencies. +* [swagger-ui-react](https://www.npmjs.com/package/swagger-ui-react) is Swagger UI packaged as a React component for use in React applications. -- dist: Contains a distribution which you can deploy on a server or load from your local machine. -- bin: Contains files used by swagger-ui for its build/test. These are not required by the distribution. -- lib: Contains javascript dependencies which swagger-ui depends on -- node_modules: Contains node modules which swagger-ui uses for its development. -- src - - src/main/coffeescript: main code in CoffeeScript - - src/main/templates: [handlebars](http://handlebarsjs.com/) templates used to render swagger-ui - - src/main/html: the html files, some images and css - - src/main/javascript: some legacy javascript referenced by CoffeeScript code +We strongly suggest that you use `swagger-ui` instead of `swagger-ui-dist` if you're building a single-page application, since `swagger-ui-dist` is significantly larger. -### SwaggerUi -To use swagger-ui you should take a look at the [source of swagger-ui html page](https://github.com/wordnik/swagger-ui/tree/master/src/main/html) and customize it. This basically requires you to instantiate a SwaggerUi object and call load() on it as below: +If you are looking for plain ol' HTML/JS/CSS, [download the latest release](https://github.com/swagger-api/swagger-ui/releases/latest) and copy the contents of the `/dist` folder to your server. -```javascript - window.swaggerUi = new SwaggerUi({ - url:"http://petstore.swagger.wordnik.com/api/api-docs", - dom_id:"swagger-ui-container" - }); - - window.swaggerUi.load(); -``` -* *url* parameter should point to a resource listing url as per [Swagger Spec](https://github.com/wordnik/swagger-core/wiki) -* *dom_id parameter* is the the id of a dom element inside which SwaggerUi will put the user interface for swagger -* *booleanValues* SwaggerUI renders boolean data types as a dropdown. By default it provides a 'true' and 'false' string as the possible choices. You can use this parameter to change the values in dropdown to be something else, for example 0 and 1 by setting booleanValues to new Array(0, 1) -* *docExpansion* controls how the API listing is displayed. It can be set to 'none' (default), 'list' (shows operations for each resource), or 'full' (fully expanded: shows operations and their details) -* *onComplete* is a callback function parameter which can be passed to be notified of when SwaggerUI has completed rendering successfully. -* *onFailure* is a callback function parameter which can be passed to be notified of when SwaggerUI encountered a failure was unable to render. -* All other parameters are explained in greater detail below +## Compatibility +The OpenAPI Specification has undergone 5 revisions since initial creation in 2010. Compatibility between Swagger UI and the OpenAPI Specification is as follows: -### HTTP Methods and API Invocation -swagger-ui supports invocation of all HTTP methods APIs including GET, PUT, POST, DELETE, PATCH, OPTIONS. These are handled in the [swagger-js](https://github.com/wordnik/swagger-js) project, please see there for specifics on their usage. +| Swagger UI Version | Release Date | OpenAPI Spec compatibility | Notes | +|--------------------|--------------|------------------------------------------------------|-----------------------------------------------------------------------| +| 5.19.0 | 2025-02-17 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.1.0, 3.1.1 | [tag v5.19.0](https://github.com/swagger-api/swagger-ui/tree/v5.19.0) | +| 5.0.0 | 2023-06-12 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.1.0 | [tag v5.0.0](https://github.com/swagger-api/swagger-ui/tree/v5.0.0) | +| 4.0.0 | 2021-11-03 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3 | [tag v4.0.0](https://github.com/swagger-api/swagger-ui/tree/v4.0.0) | +| 3.18.3 | 2018-08-03 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3 | [tag v3.18.3](https://github.com/swagger-api/swagger-ui/tree/v3.18.3) | +| 3.0.21 | 2017-07-26 | 2.0 | [tag v3.0.21](https://github.com/swagger-api/swagger-ui/tree/v3.0.21) | +| 2.2.10 | 2017-01-04 | 1.1, 1.2, 2.0 | [tag v2.2.10](https://github.com/swagger-api/swagger-ui/tree/v2.2.10) | +| 2.1.5 | 2016-07-20 | 1.1, 1.2, 2.0 | [tag v2.1.5](https://github.com/swagger-api/swagger-ui/tree/v2.1.5) | +| 2.0.24 | 2014-09-12 | 1.1, 1.2 | [tag v2.0.24](https://github.com/swagger-api/swagger-ui/tree/v2.0.24) | +| 1.0.13 | 2013-03-08 | 1.1, 1.2 | [tag v1.0.13](https://github.com/swagger-api/swagger-ui/tree/v1.0.13) | +| 1.0.1 | 2011-10-11 | 1.0, 1.1 | [tag v1.0.1](https://github.com/swagger-api/swagger-ui/tree/v1.0.1) | +## Anonymized analytics -### Header Parameters -Header params are supported through a pluggable mechanism in [swagger-js](https://github.com/wordnik/swagger-js). You can see the [index.html](https://github.com/wordnik/swagger-ui/blob/master/dist/index.html) for a sample of how to dynamically set headers: +SwaggerUI uses [Scarf](https://scarf.sh/) to collect [anonymized installation analytics](https://github.com/scarf-sh/scarf-js?tab=readme-ov-file#as-a-user-of-a-package-using-scarf-js-what-information-does-scarf-js-send-about-me). These analytics help support the maintainers of this library and ONLY run during installation. To [opt out](https://github.com/scarf-sh/scarf-js?tab=readme-ov-file#as-a-user-of-a-package-using-scarf-js-how-can-i-opt-out-of-analytics), you can set the `scarfSettings.enabled` field to `false` in your project's `package.json`: -```js -// add a new ApiKeyAuthorization when the api-key changes in the ui. -$('#input_apiKey').change(function() { - var key = $('#input_apiKey')[0].value; - if(key && key.trim() != "") { - window.authorizations.add("key", new ApiKeyAuthorization("api_key", key, "header")); +``` +// package.json +{ + // ... + "scarfSettings": { + "enabled": false } -}) + // ... +} ``` -This will add header `api_key` with value `key` on every call to the server. You can substitute `query` to send the values as a query param. +Alternatively, you can set the environment variable `SCARF_ANALYTICS` to `false` as part of the environment that installs your npm packages, e.g., `SCARF_ANALYTICS=false npm install`. -### Custom Header Parameters - (For Basic auth etc) -If you have some header parameters which you need to send with every request, use the headers as below: +## Documentation -```js -window.authorizations.add("key", new ApiKeyAuthorization("Authorization", "XXXX", "header")); -``` +#### Usage +- [Installation](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/installation.md) +- [Configuration](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/configuration.md) +- [CORS](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/cors.md) +- [OAuth2](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/oauth2.md) +- [Deep Linking](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/deep-linking.md) +- [Limitations](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/limitations.md) +- [Version detection](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/version-detection.md) + +#### Customization +- [Overview](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/customization/overview.md) +- [Plugin API](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/customization/plugin-api.md) +- [Custom layout](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/customization/custom-layout.md) + +#### Development +- [Setting up](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/development/setting-up.md) +- [Scripts](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/development/scripts.md) + +#### Contributing +- [Contributing](https://github.com/swagger-api/.github/blob/HEAD/CONTRIBUTING.md) + +##### Integration Tests + +You will need JDK of version 7 or higher as instructed here +https://nightwatchjs.org/guide/getting-started/installation.html#install-selenium-server -Note! You can pass multiple header params on a single request, just use unique names for them (`key` is used in the above example). +Integration tests can be run locally with `npm run e2e` - be sure you aren't running a dev server when testing! -How to Improve It ------------------ +### Browser support +Swagger UI works in the latest versions of Chrome, Safari, Firefox, and Edge. -Create your own fork of [wordnik/swagger-ui](https://github.com/wordnik/swagger-ui) +### Known Issues -To share your changes, [submit a pull request](https://github.com/wordnik/swagger-ui/pull/new/master). +To help with the migration, here are the currently known issues with 3.X. This list will update regularly, and will not include features that were not implemented in previous versions. -Since the javascript files are compiled from coffeescript, please submit changes in the *.coffee files! We have to reject changes only in the .js files as they will be lost on each build of the ui. +- Only part of the parameters previously supported are available. +- The JSON Form Editor is not implemented. +- Support for `collectionFormat` is partial. +- l10n (translations) is not implemented. +- Relative path support for external files is not implemented. -License -------- +## Security contact -Copyright 2011-2013 Wordnik, Inc. +Please disclose any security-related issues or vulnerabilities by emailing [security@swagger.io](mailto:security@swagger.io), instead of using the public issue tracker. -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) +## License -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. +SwaggerUI is licensed under [Apache 2.0 license](https://github.com/swagger-api/swagger-ui/blob/master/LICENSE). +SwaggerUI comes with an explicit [NOTICE](https://github.com/swagger-api/swagger-ui/blob/master/NOTICE) file +containing additional legal notices and information. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000000..6c1d117200c --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,23 @@ +# Security Policy + +If you believe you've found an exploitable security issue in Swagger UI, +**please don't create a public issue**. + + +## Supported versions + +This is the list of versions of `swagger-ui` which are +currently being supported with security updates. + +| Version | Supported | Notes | +|---------|--------------------|---------------------------------| +| 5.x | :white_check_mark: | Active LTS | +| 4.x | :x: | End-of-life as of August 2023 | +| 3.x | :x: | End-of-life as of November 2021 | +| 2.x | :x: | End-of-life as of 2017 | + +## Reporting a vulnerability + +To report a vulnerability please send an email with the details to [security@swagger.io](mailto:security@swagger.io). + +We'll acknowledge receipt of your report ASAP, and set expectations on how we plan to handle it. diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 00000000000..d071bdecba8 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,140 @@ +const browser = { + presets: [ + [ + "@babel/preset-env", + { + debug: false, + modules: "auto", + useBuiltIns: false, + forceAllTransforms: false, + ignoreBrowserslistConfig: false, + } + ], + "@babel/preset-react", + ], + plugins: [ + [ + "@babel/plugin-transform-runtime", + { + corejs: { version: 3, proposals: false }, + absoluteRuntime: false, + helpers: true, + regenerator: false, + version: "^7.22.11", + } + ], + [ + "transform-react-remove-prop-types", + { + additionalLibraries: [ + "react-immutable-proptypes" + ] + } + ], + [ + "babel-plugin-module-resolver", + { + alias: { + root: ".", + core: "./src/core", + } + } + ] + ], +} + +module.exports = { + env: { + commonjs: { + presets: [ + [ + "@babel/preset-env", + { + debug: false, + modules: "commonjs", + loose: true, + useBuiltIns: false, + forceAllTransforms: false, + ignoreBrowserslistConfig: false, + } + ], + "@babel/preset-react", + ], + plugins: [ + [ + "@babel/plugin-transform-runtime", + { + corejs: { version: 3, proposals: false }, + absoluteRuntime: false, + helpers: true, + regenerator: false, + version: "^7.22.11", + } + ], + [ + "transform-react-remove-prop-types", + { + additionalLibraries: [ + "react-immutable-proptypes" + ] + } + ], + [ + "babel-plugin-module-resolver", + { + alias: { + root: ".", + core: "./src/core", + } + } + ] + ], + }, + esm: { + presets: [ + [ + "@babel/env", + { + debug: false, + modules: false, + ignoreBrowserslistConfig: false, + useBuiltIns: false, + } + ], + "@babel/preset-react" + ], + plugins: [ + [ + "@babel/plugin-transform-runtime", + { + corejs: { version: 3, proposals: false }, + absoluteRuntime: false, + helpers: true, + regenerator: false, + version: "^7.22.11", + } + ], + [ + "transform-react-remove-prop-types", + { + additionalLibraries: [ + "react-immutable-proptypes" + ] + } + ], + [ + "babel-plugin-module-resolver", + { + alias: { + root: ".", + core: "./src/core", + } + } + ] + ] + }, + development: browser, + production: browser, + }, +} + diff --git a/bin/CoffeeScript.png b/bin/CoffeeScript.png deleted file mode 100644 index 89db5137255..00000000000 Binary files a/bin/CoffeeScript.png and /dev/null differ diff --git a/bin/jasmine-1.1.0/MIT.LICENSE b/bin/jasmine-1.1.0/MIT.LICENSE deleted file mode 100644 index 7c435baaec8..00000000000 --- a/bin/jasmine-1.1.0/MIT.LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2008-2011 Pivotal Labs - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/bin/jasmine-1.1.0/jasmine-html.js b/bin/jasmine-1.1.0/jasmine-html.js deleted file mode 100644 index 4f6204b504c..00000000000 --- a/bin/jasmine-1.1.0/jasmine-html.js +++ /dev/null @@ -1,190 +0,0 @@ -jasmine.TrivialReporter = function(doc) { - this.document = doc || document; - this.suiteDivs = {}; - this.logRunningSpecs = false; -}; - -jasmine.TrivialReporter.prototype.createDom = function(type, attrs, childrenVarArgs) { - var el = document.createElement(type); - - for (var i = 2; i < arguments.length; i++) { - var child = arguments[i]; - - if (typeof child === 'string') { - el.appendChild(document.createTextNode(child)); - } else { - if (child) { el.appendChild(child); } - } - } - - for (var attr in attrs) { - if (attr == "className") { - el[attr] = attrs[attr]; - } else { - el.setAttribute(attr, attrs[attr]); - } - } - - return el; -}; - -jasmine.TrivialReporter.prototype.reportRunnerStarting = function(runner) { - var showPassed, showSkipped; - - this.outerDiv = this.createDom('div', { className: 'jasmine_reporter show-passed' }, - this.createDom('div', { className: 'banner' }, - this.createDom('div', { className: 'logo' }, - this.createDom('span', { className: 'title' }, "Jasmine"), - this.createDom('span', { className: 'version' }, runner.env.versionString())), - this.createDom('div', { className: 'options' }, - "Show ", - showPassed = this.createDom('input', { id: "__jasmine_TrivialReporter_showPassed__", type: 'checkbox' }), - this.createDom('label', { "for": "__jasmine_TrivialReporter_showPassed__" }, " passed "), - showSkipped = this.createDom('input', { id: "__jasmine_TrivialReporter_showSkipped__", type: 'checkbox' }), - this.createDom('label', { "for": "__jasmine_TrivialReporter_showSkipped__" }, " skipped") - ) - ), - - this.runnerDiv = this.createDom('div', { className: 'runner running' }, - this.createDom('a', { className: 'run_spec', href: '?' }, "run all"), - this.runnerMessageSpan = this.createDom('span', {}, "Running..."), - this.finishedAtSpan = this.createDom('span', { className: 'finished-at' }, "")) - ); - - this.document.body.appendChild(this.outerDiv); - - var suites = runner.suites(); - for (var i = 0; i < suites.length; i++) { - var suite = suites[i]; - var suiteDiv = this.createDom('div', { className: 'suite' }, - this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, "run"), - this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, suite.description)); - this.suiteDivs[suite.id] = suiteDiv; - var parentDiv = this.outerDiv; - if (suite.parentSuite) { - parentDiv = this.suiteDivs[suite.parentSuite.id]; - } - parentDiv.appendChild(suiteDiv); - } - - this.startedAt = new Date(); - - var self = this; - showPassed.onclick = function(evt) { - if (showPassed.checked) { - self.outerDiv.className += ' show-passed'; - } else { - self.outerDiv.className = self.outerDiv.className.replace(/ show-passed/, ''); - } - }; - - showSkipped.onclick = function(evt) { - if (showSkipped.checked) { - self.outerDiv.className += ' show-skipped'; - } else { - self.outerDiv.className = self.outerDiv.className.replace(/ show-skipped/, ''); - } - }; -}; - -jasmine.TrivialReporter.prototype.reportRunnerResults = function(runner) { - var results = runner.results(); - var className = (results.failedCount > 0) ? "runner failed" : "runner passed"; - this.runnerDiv.setAttribute("class", className); - //do it twice for IE - this.runnerDiv.setAttribute("className", className); - var specs = runner.specs(); - var specCount = 0; - for (var i = 0; i < specs.length; i++) { - if (this.specFilter(specs[i])) { - specCount++; - } - } - var message = "" + specCount + " spec" + (specCount == 1 ? "" : "s" ) + ", " + results.failedCount + " failure" + ((results.failedCount == 1) ? "" : "s"); - message += " in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s"; - this.runnerMessageSpan.replaceChild(this.createDom('a', { className: 'description', href: '?'}, message), this.runnerMessageSpan.firstChild); - - this.finishedAtSpan.appendChild(document.createTextNode("Finished at " + new Date().toString())); -}; - -jasmine.TrivialReporter.prototype.reportSuiteResults = function(suite) { - var results = suite.results(); - var status = results.passed() ? 'passed' : 'failed'; - if (results.totalCount === 0) { // todo: change this to check results.skipped - status = 'skipped'; - } - this.suiteDivs[suite.id].className += " " + status; -}; - -jasmine.TrivialReporter.prototype.reportSpecStarting = function(spec) { - if (this.logRunningSpecs) { - this.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...'); - } -}; - -jasmine.TrivialReporter.prototype.reportSpecResults = function(spec) { - var results = spec.results(); - var status = results.passed() ? 'passed' : 'failed'; - if (results.skipped) { - status = 'skipped'; - } - var specDiv = this.createDom('div', { className: 'spec ' + status }, - this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(spec.getFullName()) }, "run"), - this.createDom('a', { - className: 'description', - href: '?spec=' + encodeURIComponent(spec.getFullName()), - title: spec.getFullName() - }, spec.description)); - - - var resultItems = results.getItems(); - var messagesDiv = this.createDom('div', { className: 'messages' }); - for (var i = 0; i < resultItems.length; i++) { - var result = resultItems[i]; - - if (result.type == 'log') { - messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString())); - } else if (result.type == 'expect' && result.passed && !result.passed()) { - messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message)); - - if (result.trace.stack) { - messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack)); - } - } - } - - if (messagesDiv.childNodes.length > 0) { - specDiv.appendChild(messagesDiv); - } - - this.suiteDivs[spec.suite.id].appendChild(specDiv); -}; - -jasmine.TrivialReporter.prototype.log = function() { - var console = jasmine.getGlobal().console; - if (console && console.log) { - if (console.log.apply) { - console.log.apply(console, arguments); - } else { - console.log(arguments); // ie fix: console.log.apply doesn't exist on ie - } - } -}; - -jasmine.TrivialReporter.prototype.getLocation = function() { - return this.document.location; -}; - -jasmine.TrivialReporter.prototype.specFilter = function(spec) { - var paramMap = {}; - var params = this.getLocation().search.substring(1).split('&'); - for (var i = 0; i < params.length; i++) { - var p = params[i].split('='); - paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]); - } - - if (!paramMap.spec) { - return true; - } - return spec.getFullName().indexOf(paramMap.spec) === 0; -}; diff --git a/bin/jasmine-1.1.0/jasmine.css b/bin/jasmine-1.1.0/jasmine.css deleted file mode 100644 index f3fb12377d7..00000000000 --- a/bin/jasmine-1.1.0/jasmine.css +++ /dev/null @@ -1,169 +0,0 @@ -body { - font-family: "Helvetica Neue Light", "Lucida Grande", "Calibri", "Arial", sans-serif; -} - -a { - text-decoration: none; -} - -.jasmine_reporter a:visited, .jasmine_reporter a { - color: #303; -} - -.jasmine_reporter a:hover, .jasmine_reporter a:active { - color: blue; -} - -.run_spec { - float:right; - padding-right: 5px; - font-size: .8em; - text-decoration: none; -} - -.jasmine_reporter { - margin: 0 5px; -} - -.banner { - color: #303; - background-color: #fef; - padding: 5px; -} - -.logo { - float: left; - font-size: 1.1em; - padding-left: 5px; -} - -.logo .version { - font-size: .6em; - padding-left: 1em; -} - -.runner.running { - background-color: yellow; -} - - -.options { - text-align: right; - font-size: .8em; -} - - - - -.suite { - border: 1px outset gray; - margin: 5px 0; - padding-left: 1em; -} - -.suite .suite { - margin: 5px; -} - -.suite.passed { - background-color: #dfd; -} - -.suite.failed { - background-color: #fdd; -} - -.spec { - margin: 5px; - padding-left: 1em; - clear: both; -} - -.spec.failed, .spec.passed, .spec.skipped { - padding-bottom: 5px; - border: 1px solid gray; -} - -.spec.failed { - background-color: #fbb; - border-color: red; -} - -.spec.passed { - background-color: #bfb; - border-color: green; -} - -.spec.skipped { - background-color: #bbb; -} - -.messages { - border-left: 1px dashed gray; - padding-left: 1em; - padding-right: 1em; -} - -.passed { - background-color: #cfc; - display: none; -} - -.failed { - background-color: #fbb; -} - -.skipped { - color: #777; - background-color: #eee; - display: none; -} - - -/*.resultMessage {*/ - /*white-space: pre;*/ -/*}*/ - -.resultMessage span.result { - display: block; - line-height: 2em; - color: black; -} - -.resultMessage .mismatch { - color: black; -} - -.stackTrace { - white-space: pre; - font-size: .8em; - margin-left: 10px; - max-height: 5em; - overflow: auto; - border: 1px inset red; - padding: 1em; - background: #eef; -} - -.finished-at { - padding-left: 1em; - font-size: .6em; -} - -.show-passed .passed, -.show-skipped .skipped { - display: block; -} - - -#jasmine_content { - position:fixed; - right: 100%; -} - -.runner { - border: 1px solid gray; - display: block; - margin: 5px 0; - padding: 2px 0 2px 10px; -} \ No newline at end of file diff --git a/bin/jasmine-1.1.0/jasmine.js b/bin/jasmine-1.1.0/jasmine.js deleted file mode 100644 index c3d2dc7d2d3..00000000000 --- a/bin/jasmine-1.1.0/jasmine.js +++ /dev/null @@ -1,2476 +0,0 @@ -var isCommonJS = typeof window == "undefined"; - -/** - * Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework. - * - * @namespace - */ -var jasmine = {}; -if (isCommonJS) exports.jasmine = jasmine; -/** - * @private - */ -jasmine.unimplementedMethod_ = function() { - throw new Error("unimplemented method"); -}; - -/** - * Use jasmine.undefined instead of undefined, since undefined is just - * a plain old variable and may be redefined by somebody else. - * - * @private - */ -jasmine.undefined = jasmine.___undefined___; - -/** - * Show diagnostic messages in the console if set to true - * - */ -jasmine.VERBOSE = false; - -/** - * Default interval in milliseconds for event loop yields (e.g. to allow network activity or to refresh the screen with the HTML-based runner). Small values here may result in slow test running. Zero means no updates until all tests have completed. - * - */ -jasmine.DEFAULT_UPDATE_INTERVAL = 250; - -/** - * Default timeout interval in milliseconds for waitsFor() blocks. - */ -jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000; - -jasmine.getGlobal = function() { - function getGlobal() { - return this; - } - - return getGlobal(); -}; - -/** - * Allows for bound functions to be compared. Internal use only. - * - * @ignore - * @private - * @param base {Object} bound 'this' for the function - * @param name {Function} function to find - */ -jasmine.bindOriginal_ = function(base, name) { - var original = base[name]; - if (original.apply) { - return function() { - return original.apply(base, arguments); - }; - } else { - // IE support - return jasmine.getGlobal()[name]; - } -}; - -jasmine.setTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'setTimeout'); -jasmine.clearTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearTimeout'); -jasmine.setInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'setInterval'); -jasmine.clearInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearInterval'); - -jasmine.MessageResult = function(values) { - this.type = 'log'; - this.values = values; - this.trace = new Error(); // todo: test better -}; - -jasmine.MessageResult.prototype.toString = function() { - var text = ""; - for (var i = 0; i < this.values.length; i++) { - if (i > 0) text += " "; - if (jasmine.isString_(this.values[i])) { - text += this.values[i]; - } else { - text += jasmine.pp(this.values[i]); - } - } - return text; -}; - -jasmine.ExpectationResult = function(params) { - this.type = 'expect'; - this.matcherName = params.matcherName; - this.passed_ = params.passed; - this.expected = params.expected; - this.actual = params.actual; - this.message = this.passed_ ? 'Passed.' : params.message; - - var trace = (params.trace || new Error(this.message)); - this.trace = this.passed_ ? '' : trace; -}; - -jasmine.ExpectationResult.prototype.toString = function () { - return this.message; -}; - -jasmine.ExpectationResult.prototype.passed = function () { - return this.passed_; -}; - -/** - * Getter for the Jasmine environment. Ensures one gets created - */ -jasmine.getEnv = function() { - var env = jasmine.currentEnv_ = jasmine.currentEnv_ || new jasmine.Env(); - return env; -}; - -/** - * @ignore - * @private - * @param value - * @returns {Boolean} - */ -jasmine.isArray_ = function(value) { - return jasmine.isA_("Array", value); -}; - -/** - * @ignore - * @private - * @param value - * @returns {Boolean} - */ -jasmine.isString_ = function(value) { - return jasmine.isA_("String", value); -}; - -/** - * @ignore - * @private - * @param value - * @returns {Boolean} - */ -jasmine.isNumber_ = function(value) { - return jasmine.isA_("Number", value); -}; - -/** - * @ignore - * @private - * @param {String} typeName - * @param value - * @returns {Boolean} - */ -jasmine.isA_ = function(typeName, value) { - return Object.prototype.toString.apply(value) === '[object ' + typeName + ']'; -}; - -/** - * Pretty printer for expecations. Takes any object and turns it into a human-readable string. - * - * @param value {Object} an object to be outputted - * @returns {String} - */ -jasmine.pp = function(value) { - var stringPrettyPrinter = new jasmine.StringPrettyPrinter(); - stringPrettyPrinter.format(value); - return stringPrettyPrinter.string; -}; - -/** - * Returns true if the object is a DOM Node. - * - * @param {Object} obj object to check - * @returns {Boolean} - */ -jasmine.isDomNode = function(obj) { - return obj.nodeType > 0; -}; - -/** - * Returns a matchable 'generic' object of the class type. For use in expecations of type when values don't matter. - * - * @example - * // don't care about which function is passed in, as long as it's a function - * expect(mySpy).toHaveBeenCalledWith(jasmine.any(Function)); - * - * @param {Class} clazz - * @returns matchable object of the type clazz - */ -jasmine.any = function(clazz) { - return new jasmine.Matchers.Any(clazz); -}; - -/** - * Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks. - * - * Spies should be created in test setup, before expectations. They can then be checked, using the standard Jasmine - * expectation syntax. Spies can be checked if they were called or not and what the calling params were. - * - * A Spy has the following fields: wasCalled, callCount, mostRecentCall, and argsForCall (see docs). - * - * Spies are torn down at the end of every spec. - * - * Note: Do not call new jasmine.Spy() directly - a spy must be created using spyOn, jasmine.createSpy or jasmine.createSpyObj. - * - * @example - * // a stub - * var myStub = jasmine.createSpy('myStub'); // can be used anywhere - * - * // spy example - * var foo = { - * not: function(bool) { return !bool; } - * } - * - * // actual foo.not will not be called, execution stops - * spyOn(foo, 'not'); - - // foo.not spied upon, execution will continue to implementation - * spyOn(foo, 'not').andCallThrough(); - * - * // fake example - * var foo = { - * not: function(bool) { return !bool; } - * } - * - * // foo.not(val) will return val - * spyOn(foo, 'not').andCallFake(function(value) {return value;}); - * - * // mock example - * foo.not(7 == 7); - * expect(foo.not).toHaveBeenCalled(); - * expect(foo.not).toHaveBeenCalledWith(true); - * - * @constructor - * @see spyOn, jasmine.createSpy, jasmine.createSpyObj - * @param {String} name - */ -jasmine.Spy = function(name) { - /** - * The name of the spy, if provided. - */ - this.identity = name || 'unknown'; - /** - * Is this Object a spy? - */ - this.isSpy = true; - /** - * The actual function this spy stubs. - */ - this.plan = function() { - }; - /** - * Tracking of the most recent call to the spy. - * @example - * var mySpy = jasmine.createSpy('foo'); - * mySpy(1, 2); - * mySpy.mostRecentCall.args = [1, 2]; - */ - this.mostRecentCall = {}; - - /** - * Holds arguments for each call to the spy, indexed by call count - * @example - * var mySpy = jasmine.createSpy('foo'); - * mySpy(1, 2); - * mySpy(7, 8); - * mySpy.mostRecentCall.args = [7, 8]; - * mySpy.argsForCall[0] = [1, 2]; - * mySpy.argsForCall[1] = [7, 8]; - */ - this.argsForCall = []; - this.calls = []; -}; - -/** - * Tells a spy to call through to the actual implemenatation. - * - * @example - * var foo = { - * bar: function() { // do some stuff } - * } - * - * // defining a spy on an existing property: foo.bar - * spyOn(foo, 'bar').andCallThrough(); - */ -jasmine.Spy.prototype.andCallThrough = function() { - this.plan = this.originalValue; - return this; -}; - -/** - * For setting the return value of a spy. - * - * @example - * // defining a spy from scratch: foo() returns 'baz' - * var foo = jasmine.createSpy('spy on foo').andReturn('baz'); - * - * // defining a spy on an existing property: foo.bar() returns 'baz' - * spyOn(foo, 'bar').andReturn('baz'); - * - * @param {Object} value - */ -jasmine.Spy.prototype.andReturn = function(value) { - this.plan = function() { - return value; - }; - return this; -}; - -/** - * For throwing an exception when a spy is called. - * - * @example - * // defining a spy from scratch: foo() throws an exception w/ message 'ouch' - * var foo = jasmine.createSpy('spy on foo').andThrow('baz'); - * - * // defining a spy on an existing property: foo.bar() throws an exception w/ message 'ouch' - * spyOn(foo, 'bar').andThrow('baz'); - * - * @param {String} exceptionMsg - */ -jasmine.Spy.prototype.andThrow = function(exceptionMsg) { - this.plan = function() { - throw exceptionMsg; - }; - return this; -}; - -/** - * Calls an alternate implementation when a spy is called. - * - * @example - * var baz = function() { - * // do some stuff, return something - * } - * // defining a spy from scratch: foo() calls the function baz - * var foo = jasmine.createSpy('spy on foo').andCall(baz); - * - * // defining a spy on an existing property: foo.bar() calls an anonymnous function - * spyOn(foo, 'bar').andCall(function() { return 'baz';} ); - * - * @param {Function} fakeFunc - */ -jasmine.Spy.prototype.andCallFake = function(fakeFunc) { - this.plan = fakeFunc; - return this; -}; - -/** - * Resets all of a spy's the tracking variables so that it can be used again. - * - * @example - * spyOn(foo, 'bar'); - * - * foo.bar(); - * - * expect(foo.bar.callCount).toEqual(1); - * - * foo.bar.reset(); - * - * expect(foo.bar.callCount).toEqual(0); - */ -jasmine.Spy.prototype.reset = function() { - this.wasCalled = false; - this.callCount = 0; - this.argsForCall = []; - this.calls = []; - this.mostRecentCall = {}; -}; - -jasmine.createSpy = function(name) { - - var spyObj = function() { - spyObj.wasCalled = true; - spyObj.callCount++; - var args = jasmine.util.argsToArray(arguments); - spyObj.mostRecentCall.object = this; - spyObj.mostRecentCall.args = args; - spyObj.argsForCall.push(args); - spyObj.calls.push({object: this, args: args}); - return spyObj.plan.apply(this, arguments); - }; - - var spy = new jasmine.Spy(name); - - for (var prop in spy) { - spyObj[prop] = spy[prop]; - } - - spyObj.reset(); - - return spyObj; -}; - -/** - * Determines whether an object is a spy. - * - * @param {jasmine.Spy|Object} putativeSpy - * @returns {Boolean} - */ -jasmine.isSpy = function(putativeSpy) { - return putativeSpy && putativeSpy.isSpy; -}; - -/** - * Creates a more complicated spy: an Object that has every property a function that is a spy. Used for stubbing something - * large in one call. - * - * @param {String} baseName name of spy class - * @param {Array} methodNames array of names of methods to make spies - */ -jasmine.createSpyObj = function(baseName, methodNames) { - if (!jasmine.isArray_(methodNames) || methodNames.length === 0) { - throw new Error('createSpyObj requires a non-empty array of method names to create spies for'); - } - var obj = {}; - for (var i = 0; i < methodNames.length; i++) { - obj[methodNames[i]] = jasmine.createSpy(baseName + '.' + methodNames[i]); - } - return obj; -}; - -/** - * All parameters are pretty-printed and concatenated together, then written to the current spec's output. - * - * Be careful not to leave calls to jasmine.log in production code. - */ -jasmine.log = function() { - var spec = jasmine.getEnv().currentSpec; - spec.log.apply(spec, arguments); -}; - -/** - * Function that installs a spy on an existing object's method name. Used within a Spec to create a spy. - * - * @example - * // spy example - * var foo = { - * not: function(bool) { return !bool; } - * } - * spyOn(foo, 'not'); // actual foo.not will not be called, execution stops - * - * @see jasmine.createSpy - * @param obj - * @param methodName - * @returns a Jasmine spy that can be chained with all spy methods - */ -var spyOn = function(obj, methodName) { - return jasmine.getEnv().currentSpec.spyOn(obj, methodName); -}; -if (isCommonJS) exports.spyOn = spyOn; - -/** - * Creates a Jasmine spec that will be added to the current suite. - * - * // TODO: pending tests - * - * @example - * it('should be true', function() { - * expect(true).toEqual(true); - * }); - * - * @param {String} desc description of this specification - * @param {Function} func defines the preconditions and expectations of the spec - */ -var it = function(desc, func) { - return jasmine.getEnv().it(desc, func); -}; -if (isCommonJS) exports.it = it; - -/** - * Creates a disabled Jasmine spec. - * - * A convenience method that allows existing specs to be disabled temporarily during development. - * - * @param {String} desc description of this specification - * @param {Function} func defines the preconditions and expectations of the spec - */ -var xit = function(desc, func) { - return jasmine.getEnv().xit(desc, func); -}; -if (isCommonJS) exports.xit = xit; - -/** - * Starts a chain for a Jasmine expectation. - * - * It is passed an Object that is the actual value and should chain to one of the many - * jasmine.Matchers functions. - * - * @param {Object} actual Actual value to test against and expected value - */ -var expect = function(actual) { - return jasmine.getEnv().currentSpec.expect(actual); -}; -if (isCommonJS) exports.expect = expect; - -/** - * Defines part of a jasmine spec. Used in cominbination with waits or waitsFor in asynchrnous specs. - * - * @param {Function} func Function that defines part of a jasmine spec. - */ -var runs = function(func) { - jasmine.getEnv().currentSpec.runs(func); -}; -if (isCommonJS) exports.runs = runs; - -/** - * Waits a fixed time period before moving to the next block. - * - * @deprecated Use waitsFor() instead - * @param {Number} timeout milliseconds to wait - */ -var waits = function(timeout) { - jasmine.getEnv().currentSpec.waits(timeout); -}; -if (isCommonJS) exports.waits = waits; - -/** - * Waits for the latchFunction to return true before proceeding to the next block. - * - * @param {Function} latchFunction - * @param {String} optional_timeoutMessage - * @param {Number} optional_timeout - */ -var waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) { - jasmine.getEnv().currentSpec.waitsFor.apply(jasmine.getEnv().currentSpec, arguments); -}; -if (isCommonJS) exports.waitsFor = waitsFor; - -/** - * A function that is called before each spec in a suite. - * - * Used for spec setup, including validating assumptions. - * - * @param {Function} beforeEachFunction - */ -var beforeEach = function(beforeEachFunction) { - jasmine.getEnv().beforeEach(beforeEachFunction); -}; -if (isCommonJS) exports.beforeEach = beforeEach; - -/** - * A function that is called after each spec in a suite. - * - * Used for restoring any state that is hijacked during spec execution. - * - * @param {Function} afterEachFunction - */ -var afterEach = function(afterEachFunction) { - jasmine.getEnv().afterEach(afterEachFunction); -}; -if (isCommonJS) exports.afterEach = afterEach; - -/** - * Defines a suite of specifications. - * - * Stores the description and all defined specs in the Jasmine environment as one suite of specs. Variables declared - * are accessible by calls to beforeEach, it, and afterEach. Describe blocks can be nested, allowing for specialization - * of setup in some tests. - * - * @example - * // TODO: a simple suite - * - * // TODO: a simple suite with a nested describe block - * - * @param {String} description A string, usually the class under test. - * @param {Function} specDefinitions function that defines several specs. - */ -var describe = function(description, specDefinitions) { - return jasmine.getEnv().describe(description, specDefinitions); -}; -if (isCommonJS) exports.describe = describe; - -/** - * Disables a suite of specifications. Used to disable some suites in a file, or files, temporarily during development. - * - * @param {String} description A string, usually the class under test. - * @param {Function} specDefinitions function that defines several specs. - */ -var xdescribe = function(description, specDefinitions) { - return jasmine.getEnv().xdescribe(description, specDefinitions); -}; -if (isCommonJS) exports.xdescribe = xdescribe; - - -// Provide the XMLHttpRequest class for IE 5.x-6.x: -jasmine.XmlHttpRequest = (typeof XMLHttpRequest == "undefined") ? function() { - function tryIt(f) { - try { - return f(); - } catch(e) { - } - return null; - } - - var xhr = tryIt(function() { - return new ActiveXObject("Msxml2.XMLHTTP.6.0"); - }) || - tryIt(function() { - return new ActiveXObject("Msxml2.XMLHTTP.3.0"); - }) || - tryIt(function() { - return new ActiveXObject("Msxml2.XMLHTTP"); - }) || - tryIt(function() { - return new ActiveXObject("Microsoft.XMLHTTP"); - }); - - if (!xhr) throw new Error("This browser does not support XMLHttpRequest."); - - return xhr; -} : XMLHttpRequest; -/** - * @namespace - */ -jasmine.util = {}; - -/** - * Declare that a child class inherit it's prototype from the parent class. - * - * @private - * @param {Function} childClass - * @param {Function} parentClass - */ -jasmine.util.inherit = function(childClass, parentClass) { - /** - * @private - */ - var subclass = function() { - }; - subclass.prototype = parentClass.prototype; - childClass.prototype = new subclass(); -}; - -jasmine.util.formatException = function(e) { - var lineNumber; - if (e.line) { - lineNumber = e.line; - } - else if (e.lineNumber) { - lineNumber = e.lineNumber; - } - - var file; - - if (e.sourceURL) { - file = e.sourceURL; - } - else if (e.fileName) { - file = e.fileName; - } - - var message = (e.name && e.message) ? (e.name + ': ' + e.message) : e.toString(); - - if (file && lineNumber) { - message += ' in ' + file + ' (line ' + lineNumber + ')'; - } - - return message; -}; - -jasmine.util.htmlEscape = function(str) { - if (!str) return str; - return str.replace(/&/g, '&') - .replace(//g, '>'); -}; - -jasmine.util.argsToArray = function(args) { - var arrayOfArgs = []; - for (var i = 0; i < args.length; i++) arrayOfArgs.push(args[i]); - return arrayOfArgs; -}; - -jasmine.util.extend = function(destination, source) { - for (var property in source) destination[property] = source[property]; - return destination; -}; - -/** - * Environment for Jasmine - * - * @constructor - */ -jasmine.Env = function() { - this.currentSpec = null; - this.currentSuite = null; - this.currentRunner_ = new jasmine.Runner(this); - - this.reporter = new jasmine.MultiReporter(); - - this.updateInterval = jasmine.DEFAULT_UPDATE_INTERVAL; - this.defaultTimeoutInterval = jasmine.DEFAULT_TIMEOUT_INTERVAL; - this.lastUpdate = 0; - this.specFilter = function() { - return true; - }; - - this.nextSpecId_ = 0; - this.nextSuiteId_ = 0; - this.equalityTesters_ = []; - - // wrap matchers - this.matchersClass = function() { - jasmine.Matchers.apply(this, arguments); - }; - jasmine.util.inherit(this.matchersClass, jasmine.Matchers); - - jasmine.Matchers.wrapInto_(jasmine.Matchers.prototype, this.matchersClass); -}; - - -jasmine.Env.prototype.setTimeout = jasmine.setTimeout; -jasmine.Env.prototype.clearTimeout = jasmine.clearTimeout; -jasmine.Env.prototype.setInterval = jasmine.setInterval; -jasmine.Env.prototype.clearInterval = jasmine.clearInterval; - -/** - * @returns an object containing jasmine version build info, if set. - */ -jasmine.Env.prototype.version = function () { - if (jasmine.version_) { - return jasmine.version_; - } else { - throw new Error('Version not set'); - } -}; - -/** - * @returns string containing jasmine version build info, if set. - */ -jasmine.Env.prototype.versionString = function() { - if (!jasmine.version_) { - return "version unknown"; - } - - var version = this.version(); - var versionString = version.major + "." + version.minor + "." + version.build; - if (version.release_candidate) { - versionString += ".rc" + version.release_candidate; - } - versionString += " revision " + version.revision; - return versionString; -}; - -/** - * @returns a sequential integer starting at 0 - */ -jasmine.Env.prototype.nextSpecId = function () { - return this.nextSpecId_++; -}; - -/** - * @returns a sequential integer starting at 0 - */ -jasmine.Env.prototype.nextSuiteId = function () { - return this.nextSuiteId_++; -}; - -/** - * Register a reporter to receive status updates from Jasmine. - * @param {jasmine.Reporter} reporter An object which will receive status updates. - */ -jasmine.Env.prototype.addReporter = function(reporter) { - this.reporter.addReporter(reporter); -}; - -jasmine.Env.prototype.execute = function() { - this.currentRunner_.execute(); -}; - -jasmine.Env.prototype.describe = function(description, specDefinitions) { - var suite = new jasmine.Suite(this, description, specDefinitions, this.currentSuite); - - var parentSuite = this.currentSuite; - if (parentSuite) { - parentSuite.add(suite); - } else { - this.currentRunner_.add(suite); - } - - this.currentSuite = suite; - - var declarationError = null; - try { - specDefinitions.call(suite); - } catch(e) { - declarationError = e; - } - - if (declarationError) { - this.it("encountered a declaration exception", function() { - throw declarationError; - }); - } - - this.currentSuite = parentSuite; - - return suite; -}; - -jasmine.Env.prototype.beforeEach = function(beforeEachFunction) { - if (this.currentSuite) { - this.currentSuite.beforeEach(beforeEachFunction); - } else { - this.currentRunner_.beforeEach(beforeEachFunction); - } -}; - -jasmine.Env.prototype.currentRunner = function () { - return this.currentRunner_; -}; - -jasmine.Env.prototype.afterEach = function(afterEachFunction) { - if (this.currentSuite) { - this.currentSuite.afterEach(afterEachFunction); - } else { - this.currentRunner_.afterEach(afterEachFunction); - } - -}; - -jasmine.Env.prototype.xdescribe = function(desc, specDefinitions) { - return { - execute: function() { - } - }; -}; - -jasmine.Env.prototype.it = function(description, func) { - var spec = new jasmine.Spec(this, this.currentSuite, description); - this.currentSuite.add(spec); - this.currentSpec = spec; - - if (func) { - spec.runs(func); - } - - return spec; -}; - -jasmine.Env.prototype.xit = function(desc, func) { - return { - id: this.nextSpecId(), - runs: function() { - } - }; -}; - -jasmine.Env.prototype.compareObjects_ = function(a, b, mismatchKeys, mismatchValues) { - if (a.__Jasmine_been_here_before__ === b && b.__Jasmine_been_here_before__ === a) { - return true; - } - - a.__Jasmine_been_here_before__ = b; - b.__Jasmine_been_here_before__ = a; - - var hasKey = function(obj, keyName) { - return obj !== null && obj[keyName] !== jasmine.undefined; - }; - - for (var property in b) { - if (!hasKey(a, property) && hasKey(b, property)) { - mismatchKeys.push("expected has key '" + property + "', but missing from actual."); - } - } - for (property in a) { - if (!hasKey(b, property) && hasKey(a, property)) { - mismatchKeys.push("expected missing key '" + property + "', but present in actual."); - } - } - for (property in b) { - if (property == '__Jasmine_been_here_before__') continue; - if (!this.equals_(a[property], b[property], mismatchKeys, mismatchValues)) { - mismatchValues.push("'" + property + "' was '" + (b[property] ? jasmine.util.htmlEscape(b[property].toString()) : b[property]) + "' in expected, but was '" + (a[property] ? jasmine.util.htmlEscape(a[property].toString()) : a[property]) + "' in actual."); - } - } - - if (jasmine.isArray_(a) && jasmine.isArray_(b) && a.length != b.length) { - mismatchValues.push("arrays were not the same length"); - } - - delete a.__Jasmine_been_here_before__; - delete b.__Jasmine_been_here_before__; - return (mismatchKeys.length === 0 && mismatchValues.length === 0); -}; - -jasmine.Env.prototype.equals_ = function(a, b, mismatchKeys, mismatchValues) { - mismatchKeys = mismatchKeys || []; - mismatchValues = mismatchValues || []; - - for (var i = 0; i < this.equalityTesters_.length; i++) { - var equalityTester = this.equalityTesters_[i]; - var result = equalityTester(a, b, this, mismatchKeys, mismatchValues); - if (result !== jasmine.undefined) return result; - } - - if (a === b) return true; - - if (a === jasmine.undefined || a === null || b === jasmine.undefined || b === null) { - return (a == jasmine.undefined && b == jasmine.undefined); - } - - if (jasmine.isDomNode(a) && jasmine.isDomNode(b)) { - return a === b; - } - - if (a instanceof Date && b instanceof Date) { - return a.getTime() == b.getTime(); - } - - if (a instanceof jasmine.Matchers.Any) { - return a.matches(b); - } - - if (b instanceof jasmine.Matchers.Any) { - return b.matches(a); - } - - if (jasmine.isString_(a) && jasmine.isString_(b)) { - return (a == b); - } - - if (jasmine.isNumber_(a) && jasmine.isNumber_(b)) { - return (a == b); - } - - if (typeof a === "object" && typeof b === "object") { - return this.compareObjects_(a, b, mismatchKeys, mismatchValues); - } - - //Straight check - return (a === b); -}; - -jasmine.Env.prototype.contains_ = function(haystack, needle) { - if (jasmine.isArray_(haystack)) { - for (var i = 0; i < haystack.length; i++) { - if (this.equals_(haystack[i], needle)) return true; - } - return false; - } - return haystack.indexOf(needle) >= 0; -}; - -jasmine.Env.prototype.addEqualityTester = function(equalityTester) { - this.equalityTesters_.push(equalityTester); -}; -/** No-op base class for Jasmine reporters. - * - * @constructor - */ -jasmine.Reporter = function() { -}; - -//noinspection JSUnusedLocalSymbols -jasmine.Reporter.prototype.reportRunnerStarting = function(runner) { -}; - -//noinspection JSUnusedLocalSymbols -jasmine.Reporter.prototype.reportRunnerResults = function(runner) { -}; - -//noinspection JSUnusedLocalSymbols -jasmine.Reporter.prototype.reportSuiteResults = function(suite) { -}; - -//noinspection JSUnusedLocalSymbols -jasmine.Reporter.prototype.reportSpecStarting = function(spec) { -}; - -//noinspection JSUnusedLocalSymbols -jasmine.Reporter.prototype.reportSpecResults = function(spec) { -}; - -//noinspection JSUnusedLocalSymbols -jasmine.Reporter.prototype.log = function(str) { -}; - -/** - * Blocks are functions with executable code that make up a spec. - * - * @constructor - * @param {jasmine.Env} env - * @param {Function} func - * @param {jasmine.Spec} spec - */ -jasmine.Block = function(env, func, spec) { - this.env = env; - this.func = func; - this.spec = spec; -}; - -jasmine.Block.prototype.execute = function(onComplete) { - try { - this.func.apply(this.spec); - } catch (e) { - this.spec.fail(e); - } - onComplete(); -}; -/** JavaScript API reporter. - * - * @constructor - */ -jasmine.JsApiReporter = function() { - this.started = false; - this.finished = false; - this.suites_ = []; - this.results_ = {}; -}; - -jasmine.JsApiReporter.prototype.reportRunnerStarting = function(runner) { - this.started = true; - var suites = runner.topLevelSuites(); - for (var i = 0; i < suites.length; i++) { - var suite = suites[i]; - this.suites_.push(this.summarize_(suite)); - } -}; - -jasmine.JsApiReporter.prototype.suites = function() { - return this.suites_; -}; - -jasmine.JsApiReporter.prototype.summarize_ = function(suiteOrSpec) { - var isSuite = suiteOrSpec instanceof jasmine.Suite; - var summary = { - id: suiteOrSpec.id, - name: suiteOrSpec.description, - type: isSuite ? 'suite' : 'spec', - children: [] - }; - - if (isSuite) { - var children = suiteOrSpec.children(); - for (var i = 0; i < children.length; i++) { - summary.children.push(this.summarize_(children[i])); - } - } - return summary; -}; - -jasmine.JsApiReporter.prototype.results = function() { - return this.results_; -}; - -jasmine.JsApiReporter.prototype.resultsForSpec = function(specId) { - return this.results_[specId]; -}; - -//noinspection JSUnusedLocalSymbols -jasmine.JsApiReporter.prototype.reportRunnerResults = function(runner) { - this.finished = true; -}; - -//noinspection JSUnusedLocalSymbols -jasmine.JsApiReporter.prototype.reportSuiteResults = function(suite) { -}; - -//noinspection JSUnusedLocalSymbols -jasmine.JsApiReporter.prototype.reportSpecResults = function(spec) { - this.results_[spec.id] = { - messages: spec.results().getItems(), - result: spec.results().failedCount > 0 ? "failed" : "passed" - }; -}; - -//noinspection JSUnusedLocalSymbols -jasmine.JsApiReporter.prototype.log = function(str) { -}; - -jasmine.JsApiReporter.prototype.resultsForSpecs = function(specIds){ - var results = {}; - for (var i = 0; i < specIds.length; i++) { - var specId = specIds[i]; - results[specId] = this.summarizeResult_(this.results_[specId]); - } - return results; -}; - -jasmine.JsApiReporter.prototype.summarizeResult_ = function(result){ - var summaryMessages = []; - var messagesLength = result.messages.length; - for (var messageIndex = 0; messageIndex < messagesLength; messageIndex++) { - var resultMessage = result.messages[messageIndex]; - summaryMessages.push({ - text: resultMessage.type == 'log' ? resultMessage.toString() : jasmine.undefined, - passed: resultMessage.passed ? resultMessage.passed() : true, - type: resultMessage.type, - message: resultMessage.message, - trace: { - stack: resultMessage.passed && !resultMessage.passed() ? resultMessage.trace.stack : jasmine.undefined - } - }); - } - - return { - result : result.result, - messages : summaryMessages - }; -}; - -/** - * @constructor - * @param {jasmine.Env} env - * @param actual - * @param {jasmine.Spec} spec - */ -jasmine.Matchers = function(env, actual, spec, opt_isNot) { - this.env = env; - this.actual = actual; - this.spec = spec; - this.isNot = opt_isNot || false; - this.reportWasCalled_ = false; -}; - -// todo: @deprecated as of Jasmine 0.11, remove soon [xw] -jasmine.Matchers.pp = function(str) { - throw new Error("jasmine.Matchers.pp() is no longer supported, please use jasmine.pp() instead!"); -}; - -// todo: @deprecated Deprecated as of Jasmine 0.10. Rewrite your custom matchers to return true or false. [xw] -jasmine.Matchers.prototype.report = function(result, failing_message, details) { - throw new Error("As of jasmine 0.11, custom matchers must be implemented differently -- please see jasmine docs"); -}; - -jasmine.Matchers.wrapInto_ = function(prototype, matchersClass) { - for (var methodName in prototype) { - if (methodName == 'report') continue; - var orig = prototype[methodName]; - matchersClass.prototype[methodName] = jasmine.Matchers.matcherFn_(methodName, orig); - } -}; - -jasmine.Matchers.matcherFn_ = function(matcherName, matcherFunction) { - return function() { - var matcherArgs = jasmine.util.argsToArray(arguments); - var result = matcherFunction.apply(this, arguments); - - if (this.isNot) { - result = !result; - } - - if (this.reportWasCalled_) return result; - - var message; - if (!result) { - if (this.message) { - message = this.message.apply(this, arguments); - if (jasmine.isArray_(message)) { - message = message[this.isNot ? 1 : 0]; - } - } else { - var englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); }); - message = "Expected " + jasmine.pp(this.actual) + (this.isNot ? " not " : " ") + englishyPredicate; - if (matcherArgs.length > 0) { - for (var i = 0; i < matcherArgs.length; i++) { - if (i > 0) message += ","; - message += " " + jasmine.pp(matcherArgs[i]); - } - } - message += "."; - } - } - var expectationResult = new jasmine.ExpectationResult({ - matcherName: matcherName, - passed: result, - expected: matcherArgs.length > 1 ? matcherArgs : matcherArgs[0], - actual: this.actual, - message: message - }); - this.spec.addMatcherResult(expectationResult); - return jasmine.undefined; - }; -}; - - - - -/** - * toBe: compares the actual to the expected using === - * @param expected - */ -jasmine.Matchers.prototype.toBe = function(expected) { - return this.actual === expected; -}; - -/** - * toNotBe: compares the actual to the expected using !== - * @param expected - * @deprecated as of 1.0. Use not.toBe() instead. - */ -jasmine.Matchers.prototype.toNotBe = function(expected) { - return this.actual !== expected; -}; - -/** - * toEqual: compares the actual to the expected using common sense equality. Handles Objects, Arrays, etc. - * - * @param expected - */ -jasmine.Matchers.prototype.toEqual = function(expected) { - return this.env.equals_(this.actual, expected); -}; - -/** - * toNotEqual: compares the actual to the expected using the ! of jasmine.Matchers.toEqual - * @param expected - * @deprecated as of 1.0. Use not.toNotEqual() instead. - */ -jasmine.Matchers.prototype.toNotEqual = function(expected) { - return !this.env.equals_(this.actual, expected); -}; - -/** - * Matcher that compares the actual to the expected using a regular expression. Constructs a RegExp, so takes - * a pattern or a String. - * - * @param expected - */ -jasmine.Matchers.prototype.toMatch = function(expected) { - return new RegExp(expected).test(this.actual); -}; - -/** - * Matcher that compares the actual to the expected using the boolean inverse of jasmine.Matchers.toMatch - * @param expected - * @deprecated as of 1.0. Use not.toMatch() instead. - */ -jasmine.Matchers.prototype.toNotMatch = function(expected) { - return !(new RegExp(expected).test(this.actual)); -}; - -/** - * Matcher that compares the actual to jasmine.undefined. - */ -jasmine.Matchers.prototype.toBeDefined = function() { - return (this.actual !== jasmine.undefined); -}; - -/** - * Matcher that compares the actual to jasmine.undefined. - */ -jasmine.Matchers.prototype.toBeUndefined = function() { - return (this.actual === jasmine.undefined); -}; - -/** - * Matcher that compares the actual to null. - */ -jasmine.Matchers.prototype.toBeNull = function() { - return (this.actual === null); -}; - -/** - * Matcher that boolean not-nots the actual. - */ -jasmine.Matchers.prototype.toBeTruthy = function() { - return !!this.actual; -}; - - -/** - * Matcher that boolean nots the actual. - */ -jasmine.Matchers.prototype.toBeFalsy = function() { - return !this.actual; -}; - - -/** - * Matcher that checks to see if the actual, a Jasmine spy, was called. - */ -jasmine.Matchers.prototype.toHaveBeenCalled = function() { - if (arguments.length > 0) { - throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith'); - } - - if (!jasmine.isSpy(this.actual)) { - throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); - } - - this.message = function() { - return [ - "Expected spy " + this.actual.identity + " to have been called.", - "Expected spy " + this.actual.identity + " not to have been called." - ]; - }; - - return this.actual.wasCalled; -}; - -/** @deprecated Use expect(xxx).toHaveBeenCalled() instead */ -jasmine.Matchers.prototype.wasCalled = jasmine.Matchers.prototype.toHaveBeenCalled; - -/** - * Matcher that checks to see if the actual, a Jasmine spy, was not called. - * - * @deprecated Use expect(xxx).not.toHaveBeenCalled() instead - */ -jasmine.Matchers.prototype.wasNotCalled = function() { - if (arguments.length > 0) { - throw new Error('wasNotCalled does not take arguments'); - } - - if (!jasmine.isSpy(this.actual)) { - throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); - } - - this.message = function() { - return [ - "Expected spy " + this.actual.identity + " to not have been called.", - "Expected spy " + this.actual.identity + " to have been called." - ]; - }; - - return !this.actual.wasCalled; -}; - -/** - * Matcher that checks to see if the actual, a Jasmine spy, was called with a set of parameters. - * - * @example - * - */ -jasmine.Matchers.prototype.toHaveBeenCalledWith = function() { - var expectedArgs = jasmine.util.argsToArray(arguments); - if (!jasmine.isSpy(this.actual)) { - throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); - } - this.message = function() { - if (this.actual.callCount === 0) { - // todo: what should the failure message for .not.toHaveBeenCalledWith() be? is this right? test better. [xw] - return [ - "Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but it was never called.", - "Expected spy " + this.actual.identity + " not to have been called with " + jasmine.pp(expectedArgs) + " but it was." - ]; - } else { - return [ - "Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall), - "Expected spy " + this.actual.identity + " not to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall) - ]; - } - }; - - return this.env.contains_(this.actual.argsForCall, expectedArgs); -}; - -/** @deprecated Use expect(xxx).toHaveBeenCalledWith() instead */ -jasmine.Matchers.prototype.wasCalledWith = jasmine.Matchers.prototype.toHaveBeenCalledWith; - -/** @deprecated Use expect(xxx).not.toHaveBeenCalledWith() instead */ -jasmine.Matchers.prototype.wasNotCalledWith = function() { - var expectedArgs = jasmine.util.argsToArray(arguments); - if (!jasmine.isSpy(this.actual)) { - throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); - } - - this.message = function() { - return [ - "Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but it was", - "Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but it was" - ]; - }; - - return !this.env.contains_(this.actual.argsForCall, expectedArgs); -}; - -/** - * Matcher that checks that the expected item is an element in the actual Array. - * - * @param {Object} expected - */ -jasmine.Matchers.prototype.toContain = function(expected) { - return this.env.contains_(this.actual, expected); -}; - -/** - * Matcher that checks that the expected item is NOT an element in the actual Array. - * - * @param {Object} expected - * @deprecated as of 1.0. Use not.toNotContain() instead. - */ -jasmine.Matchers.prototype.toNotContain = function(expected) { - return !this.env.contains_(this.actual, expected); -}; - -jasmine.Matchers.prototype.toBeLessThan = function(expected) { - return this.actual < expected; -}; - -jasmine.Matchers.prototype.toBeGreaterThan = function(expected) { - return this.actual > expected; -}; - -/** - * Matcher that checks that the expected item is equal to the actual item - * up to a given level of decimal precision (default 2). - * - * @param {Number} expected - * @param {Number} precision - */ -jasmine.Matchers.prototype.toBeCloseTo = function(expected, precision) { - if (!(precision === 0)) { - precision = precision || 2; - } - var multiplier = Math.pow(10, precision); - var actual = Math.round(this.actual * multiplier); - expected = Math.round(expected * multiplier); - return expected == actual; -}; - -/** - * Matcher that checks that the expected exception was thrown by the actual. - * - * @param {String} expected - */ -jasmine.Matchers.prototype.toThrow = function(expected) { - var result = false; - var exception; - if (typeof this.actual != 'function') { - throw new Error('Actual is not a function'); - } - try { - this.actual(); - } catch (e) { - exception = e; - } - if (exception) { - result = (expected === jasmine.undefined || this.env.equals_(exception.message || exception, expected.message || expected)); - } - - var not = this.isNot ? "not " : ""; - - this.message = function() { - if (exception && (expected === jasmine.undefined || !this.env.equals_(exception.message || exception, expected.message || expected))) { - return ["Expected function " + not + "to throw", expected ? expected.message || expected : "an exception", ", but it threw", exception.message || exception].join(' '); - } else { - return "Expected function to throw an exception."; - } - }; - - return result; -}; - -jasmine.Matchers.Any = function(expectedClass) { - this.expectedClass = expectedClass; -}; - -jasmine.Matchers.Any.prototype.matches = function(other) { - if (this.expectedClass == String) { - return typeof other == 'string' || other instanceof String; - } - - if (this.expectedClass == Number) { - return typeof other == 'number' || other instanceof Number; - } - - if (this.expectedClass == Function) { - return typeof other == 'function' || other instanceof Function; - } - - if (this.expectedClass == Object) { - return typeof other == 'object'; - } - - return other instanceof this.expectedClass; -}; - -jasmine.Matchers.Any.prototype.toString = function() { - return ''; -}; - -/** - * @constructor - */ -jasmine.MultiReporter = function() { - this.subReporters_ = []; -}; -jasmine.util.inherit(jasmine.MultiReporter, jasmine.Reporter); - -jasmine.MultiReporter.prototype.addReporter = function(reporter) { - this.subReporters_.push(reporter); -}; - -(function() { - var functionNames = [ - "reportRunnerStarting", - "reportRunnerResults", - "reportSuiteResults", - "reportSpecStarting", - "reportSpecResults", - "log" - ]; - for (var i = 0; i < functionNames.length; i++) { - var functionName = functionNames[i]; - jasmine.MultiReporter.prototype[functionName] = (function(functionName) { - return function() { - for (var j = 0; j < this.subReporters_.length; j++) { - var subReporter = this.subReporters_[j]; - if (subReporter[functionName]) { - subReporter[functionName].apply(subReporter, arguments); - } - } - }; - })(functionName); - } -})(); -/** - * Holds results for a set of Jasmine spec. Allows for the results array to hold another jasmine.NestedResults - * - * @constructor - */ -jasmine.NestedResults = function() { - /** - * The total count of results - */ - this.totalCount = 0; - /** - * Number of passed results - */ - this.passedCount = 0; - /** - * Number of failed results - */ - this.failedCount = 0; - /** - * Was this suite/spec skipped? - */ - this.skipped = false; - /** - * @ignore - */ - this.items_ = []; -}; - -/** - * Roll up the result counts. - * - * @param result - */ -jasmine.NestedResults.prototype.rollupCounts = function(result) { - this.totalCount += result.totalCount; - this.passedCount += result.passedCount; - this.failedCount += result.failedCount; -}; - -/** - * Adds a log message. - * @param values Array of message parts which will be concatenated later. - */ -jasmine.NestedResults.prototype.log = function(values) { - this.items_.push(new jasmine.MessageResult(values)); -}; - -/** - * Getter for the results: message & results. - */ -jasmine.NestedResults.prototype.getItems = function() { - return this.items_; -}; - -/** - * Adds a result, tracking counts (total, passed, & failed) - * @param {jasmine.ExpectationResult|jasmine.NestedResults} result - */ -jasmine.NestedResults.prototype.addResult = function(result) { - if (result.type != 'log') { - if (result.items_) { - this.rollupCounts(result); - } else { - this.totalCount++; - if (result.passed()) { - this.passedCount++; - } else { - this.failedCount++; - } - } - } - this.items_.push(result); -}; - -/** - * @returns {Boolean} True if everything below passed - */ -jasmine.NestedResults.prototype.passed = function() { - return this.passedCount === this.totalCount; -}; -/** - * Base class for pretty printing for expectation results. - */ -jasmine.PrettyPrinter = function() { - this.ppNestLevel_ = 0; -}; - -/** - * Formats a value in a nice, human-readable string. - * - * @param value - */ -jasmine.PrettyPrinter.prototype.format = function(value) { - if (this.ppNestLevel_ > 40) { - throw new Error('jasmine.PrettyPrinter: format() nested too deeply!'); - } - - this.ppNestLevel_++; - try { - if (value === jasmine.undefined) { - this.emitScalar('undefined'); - } else if (value === null) { - this.emitScalar('null'); - } else if (value === jasmine.getGlobal()) { - this.emitScalar(''); - } else if (value instanceof jasmine.Matchers.Any) { - this.emitScalar(value.toString()); - } else if (typeof value === 'string') { - this.emitString(value); - } else if (jasmine.isSpy(value)) { - this.emitScalar("spy on " + value.identity); - } else if (value instanceof RegExp) { - this.emitScalar(value.toString()); - } else if (typeof value === 'function') { - this.emitScalar('Function'); - } else if (typeof value.nodeType === 'number') { - this.emitScalar('HTMLNode'); - } else if (value instanceof Date) { - this.emitScalar('Date(' + value + ')'); - } else if (value.__Jasmine_been_here_before__) { - this.emitScalar(''); - } else if (jasmine.isArray_(value) || typeof value == 'object') { - value.__Jasmine_been_here_before__ = true; - if (jasmine.isArray_(value)) { - this.emitArray(value); - } else { - this.emitObject(value); - } - delete value.__Jasmine_been_here_before__; - } else { - this.emitScalar(value.toString()); - } - } finally { - this.ppNestLevel_--; - } -}; - -jasmine.PrettyPrinter.prototype.iterateObject = function(obj, fn) { - for (var property in obj) { - if (property == '__Jasmine_been_here_before__') continue; - fn(property, obj.__lookupGetter__ ? (obj.__lookupGetter__(property) !== jasmine.undefined && - obj.__lookupGetter__(property) !== null) : false); - } -}; - -jasmine.PrettyPrinter.prototype.emitArray = jasmine.unimplementedMethod_; -jasmine.PrettyPrinter.prototype.emitObject = jasmine.unimplementedMethod_; -jasmine.PrettyPrinter.prototype.emitScalar = jasmine.unimplementedMethod_; -jasmine.PrettyPrinter.prototype.emitString = jasmine.unimplementedMethod_; - -jasmine.StringPrettyPrinter = function() { - jasmine.PrettyPrinter.call(this); - - this.string = ''; -}; -jasmine.util.inherit(jasmine.StringPrettyPrinter, jasmine.PrettyPrinter); - -jasmine.StringPrettyPrinter.prototype.emitScalar = function(value) { - this.append(value); -}; - -jasmine.StringPrettyPrinter.prototype.emitString = function(value) { - this.append("'" + value + "'"); -}; - -jasmine.StringPrettyPrinter.prototype.emitArray = function(array) { - this.append('[ '); - for (var i = 0; i < array.length; i++) { - if (i > 0) { - this.append(', '); - } - this.format(array[i]); - } - this.append(' ]'); -}; - -jasmine.StringPrettyPrinter.prototype.emitObject = function(obj) { - var self = this; - this.append('{ '); - var first = true; - - this.iterateObject(obj, function(property, isGetter) { - if (first) { - first = false; - } else { - self.append(', '); - } - - self.append(property); - self.append(' : '); - if (isGetter) { - self.append(''); - } else { - self.format(obj[property]); - } - }); - - this.append(' }'); -}; - -jasmine.StringPrettyPrinter.prototype.append = function(value) { - this.string += value; -}; -jasmine.Queue = function(env) { - this.env = env; - this.blocks = []; - this.running = false; - this.index = 0; - this.offset = 0; - this.abort = false; -}; - -jasmine.Queue.prototype.addBefore = function(block) { - this.blocks.unshift(block); -}; - -jasmine.Queue.prototype.add = function(block) { - this.blocks.push(block); -}; - -jasmine.Queue.prototype.insertNext = function(block) { - this.blocks.splice((this.index + this.offset + 1), 0, block); - this.offset++; -}; - -jasmine.Queue.prototype.start = function(onComplete) { - this.running = true; - this.onComplete = onComplete; - this.next_(); -}; - -jasmine.Queue.prototype.isRunning = function() { - return this.running; -}; - -jasmine.Queue.LOOP_DONT_RECURSE = true; - -jasmine.Queue.prototype.next_ = function() { - var self = this; - var goAgain = true; - - while (goAgain) { - goAgain = false; - - if (self.index < self.blocks.length && !this.abort) { - var calledSynchronously = true; - var completedSynchronously = false; - - var onComplete = function () { - if (jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously) { - completedSynchronously = true; - return; - } - - if (self.blocks[self.index].abort) { - self.abort = true; - } - - self.offset = 0; - self.index++; - - var now = new Date().getTime(); - if (self.env.updateInterval && now - self.env.lastUpdate > self.env.updateInterval) { - self.env.lastUpdate = now; - self.env.setTimeout(function() { - self.next_(); - }, 0); - } else { - if (jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) { - goAgain = true; - } else { - self.next_(); - } - } - }; - self.blocks[self.index].execute(onComplete); - - calledSynchronously = false; - if (completedSynchronously) { - onComplete(); - } - - } else { - self.running = false; - if (self.onComplete) { - self.onComplete(); - } - } - } -}; - -jasmine.Queue.prototype.results = function() { - var results = new jasmine.NestedResults(); - for (var i = 0; i < this.blocks.length; i++) { - if (this.blocks[i].results) { - results.addResult(this.blocks[i].results()); - } - } - return results; -}; - - -/** - * Runner - * - * @constructor - * @param {jasmine.Env} env - */ -jasmine.Runner = function(env) { - var self = this; - self.env = env; - self.queue = new jasmine.Queue(env); - self.before_ = []; - self.after_ = []; - self.suites_ = []; -}; - -jasmine.Runner.prototype.execute = function() { - var self = this; - if (self.env.reporter.reportRunnerStarting) { - self.env.reporter.reportRunnerStarting(this); - } - self.queue.start(function () { - self.finishCallback(); - }); -}; - -jasmine.Runner.prototype.beforeEach = function(beforeEachFunction) { - beforeEachFunction.typeName = 'beforeEach'; - this.before_.splice(0,0,beforeEachFunction); -}; - -jasmine.Runner.prototype.afterEach = function(afterEachFunction) { - afterEachFunction.typeName = 'afterEach'; - this.after_.splice(0,0,afterEachFunction); -}; - - -jasmine.Runner.prototype.finishCallback = function() { - this.env.reporter.reportRunnerResults(this); -}; - -jasmine.Runner.prototype.addSuite = function(suite) { - this.suites_.push(suite); -}; - -jasmine.Runner.prototype.add = function(block) { - if (block instanceof jasmine.Suite) { - this.addSuite(block); - } - this.queue.add(block); -}; - -jasmine.Runner.prototype.specs = function () { - var suites = this.suites(); - var specs = []; - for (var i = 0; i < suites.length; i++) { - specs = specs.concat(suites[i].specs()); - } - return specs; -}; - -jasmine.Runner.prototype.suites = function() { - return this.suites_; -}; - -jasmine.Runner.prototype.topLevelSuites = function() { - var topLevelSuites = []; - for (var i = 0; i < this.suites_.length; i++) { - if (!this.suites_[i].parentSuite) { - topLevelSuites.push(this.suites_[i]); - } - } - return topLevelSuites; -}; - -jasmine.Runner.prototype.results = function() { - return this.queue.results(); -}; -/** - * Internal representation of a Jasmine specification, or test. - * - * @constructor - * @param {jasmine.Env} env - * @param {jasmine.Suite} suite - * @param {String} description - */ -jasmine.Spec = function(env, suite, description) { - if (!env) { - throw new Error('jasmine.Env() required'); - } - if (!suite) { - throw new Error('jasmine.Suite() required'); - } - var spec = this; - spec.id = env.nextSpecId ? env.nextSpecId() : null; - spec.env = env; - spec.suite = suite; - spec.description = description; - spec.queue = new jasmine.Queue(env); - - spec.afterCallbacks = []; - spec.spies_ = []; - - spec.results_ = new jasmine.NestedResults(); - spec.results_.description = description; - spec.matchersClass = null; -}; - -jasmine.Spec.prototype.getFullName = function() { - return this.suite.getFullName() + ' ' + this.description + '.'; -}; - - -jasmine.Spec.prototype.results = function() { - return this.results_; -}; - -/** - * All parameters are pretty-printed and concatenated together, then written to the spec's output. - * - * Be careful not to leave calls to jasmine.log in production code. - */ -jasmine.Spec.prototype.log = function() { - return this.results_.log(arguments); -}; - -jasmine.Spec.prototype.runs = function (func) { - var block = new jasmine.Block(this.env, func, this); - this.addToQueue(block); - return this; -}; - -jasmine.Spec.prototype.addToQueue = function (block) { - if (this.queue.isRunning()) { - this.queue.insertNext(block); - } else { - this.queue.add(block); - } -}; - -/** - * @param {jasmine.ExpectationResult} result - */ -jasmine.Spec.prototype.addMatcherResult = function(result) { - this.results_.addResult(result); -}; - -jasmine.Spec.prototype.expect = function(actual) { - var positive = new (this.getMatchersClass_())(this.env, actual, this); - positive.not = new (this.getMatchersClass_())(this.env, actual, this, true); - return positive; -}; - -/** - * Waits a fixed time period before moving to the next block. - * - * @deprecated Use waitsFor() instead - * @param {Number} timeout milliseconds to wait - */ -jasmine.Spec.prototype.waits = function(timeout) { - var waitsFunc = new jasmine.WaitsBlock(this.env, timeout, this); - this.addToQueue(waitsFunc); - return this; -}; - -/** - * Waits for the latchFunction to return true before proceeding to the next block. - * - * @param {Function} latchFunction - * @param {String} optional_timeoutMessage - * @param {Number} optional_timeout - */ -jasmine.Spec.prototype.waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) { - var latchFunction_ = null; - var optional_timeoutMessage_ = null; - var optional_timeout_ = null; - - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - switch (typeof arg) { - case 'function': - latchFunction_ = arg; - break; - case 'string': - optional_timeoutMessage_ = arg; - break; - case 'number': - optional_timeout_ = arg; - break; - } - } - - var waitsForFunc = new jasmine.WaitsForBlock(this.env, optional_timeout_, latchFunction_, optional_timeoutMessage_, this); - this.addToQueue(waitsForFunc); - return this; -}; - -jasmine.Spec.prototype.fail = function (e) { - var expectationResult = new jasmine.ExpectationResult({ - passed: false, - message: e ? jasmine.util.formatException(e) : 'Exception', - trace: { stack: e.stack } - }); - this.results_.addResult(expectationResult); -}; - -jasmine.Spec.prototype.getMatchersClass_ = function() { - return this.matchersClass || this.env.matchersClass; -}; - -jasmine.Spec.prototype.addMatchers = function(matchersPrototype) { - var parent = this.getMatchersClass_(); - var newMatchersClass = function() { - parent.apply(this, arguments); - }; - jasmine.util.inherit(newMatchersClass, parent); - jasmine.Matchers.wrapInto_(matchersPrototype, newMatchersClass); - this.matchersClass = newMatchersClass; -}; - -jasmine.Spec.prototype.finishCallback = function() { - this.env.reporter.reportSpecResults(this); -}; - -jasmine.Spec.prototype.finish = function(onComplete) { - this.removeAllSpies(); - this.finishCallback(); - if (onComplete) { - onComplete(); - } -}; - -jasmine.Spec.prototype.after = function(doAfter) { - if (this.queue.isRunning()) { - this.queue.add(new jasmine.Block(this.env, doAfter, this)); - } else { - this.afterCallbacks.unshift(doAfter); - } -}; - -jasmine.Spec.prototype.execute = function(onComplete) { - var spec = this; - if (!spec.env.specFilter(spec)) { - spec.results_.skipped = true; - spec.finish(onComplete); - return; - } - - this.env.reporter.reportSpecStarting(this); - - spec.env.currentSpec = spec; - - spec.addBeforesAndAftersToQueue(); - - spec.queue.start(function () { - spec.finish(onComplete); - }); -}; - -jasmine.Spec.prototype.addBeforesAndAftersToQueue = function() { - var runner = this.env.currentRunner(); - var i; - - for (var suite = this.suite; suite; suite = suite.parentSuite) { - for (i = 0; i < suite.before_.length; i++) { - this.queue.addBefore(new jasmine.Block(this.env, suite.before_[i], this)); - } - } - for (i = 0; i < runner.before_.length; i++) { - this.queue.addBefore(new jasmine.Block(this.env, runner.before_[i], this)); - } - for (i = 0; i < this.afterCallbacks.length; i++) { - this.queue.add(new jasmine.Block(this.env, this.afterCallbacks[i], this)); - } - for (suite = this.suite; suite; suite = suite.parentSuite) { - for (i = 0; i < suite.after_.length; i++) { - this.queue.add(new jasmine.Block(this.env, suite.after_[i], this)); - } - } - for (i = 0; i < runner.after_.length; i++) { - this.queue.add(new jasmine.Block(this.env, runner.after_[i], this)); - } -}; - -jasmine.Spec.prototype.explodes = function() { - throw 'explodes function should not have been called'; -}; - -jasmine.Spec.prototype.spyOn = function(obj, methodName, ignoreMethodDoesntExist) { - if (obj == jasmine.undefined) { - throw "spyOn could not find an object to spy upon for " + methodName + "()"; - } - - if (!ignoreMethodDoesntExist && obj[methodName] === jasmine.undefined) { - throw methodName + '() method does not exist'; - } - - if (!ignoreMethodDoesntExist && obj[methodName] && obj[methodName].isSpy) { - throw new Error(methodName + ' has already been spied upon'); - } - - var spyObj = jasmine.createSpy(methodName); - - this.spies_.push(spyObj); - spyObj.baseObj = obj; - spyObj.methodName = methodName; - spyObj.originalValue = obj[methodName]; - - obj[methodName] = spyObj; - - return spyObj; -}; - -jasmine.Spec.prototype.removeAllSpies = function() { - for (var i = 0; i < this.spies_.length; i++) { - var spy = this.spies_[i]; - spy.baseObj[spy.methodName] = spy.originalValue; - } - this.spies_ = []; -}; - -/** - * Internal representation of a Jasmine suite. - * - * @constructor - * @param {jasmine.Env} env - * @param {String} description - * @param {Function} specDefinitions - * @param {jasmine.Suite} parentSuite - */ -jasmine.Suite = function(env, description, specDefinitions, parentSuite) { - var self = this; - self.id = env.nextSuiteId ? env.nextSuiteId() : null; - self.description = description; - self.queue = new jasmine.Queue(env); - self.parentSuite = parentSuite; - self.env = env; - self.before_ = []; - self.after_ = []; - self.children_ = []; - self.suites_ = []; - self.specs_ = []; -}; - -jasmine.Suite.prototype.getFullName = function() { - var fullName = this.description; - for (var parentSuite = this.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) { - fullName = parentSuite.description + ' ' + fullName; - } - return fullName; -}; - -jasmine.Suite.prototype.finish = function(onComplete) { - this.env.reporter.reportSuiteResults(this); - this.finished = true; - if (typeof(onComplete) == 'function') { - onComplete(); - } -}; - -jasmine.Suite.prototype.beforeEach = function(beforeEachFunction) { - beforeEachFunction.typeName = 'beforeEach'; - this.before_.unshift(beforeEachFunction); -}; - -jasmine.Suite.prototype.afterEach = function(afterEachFunction) { - afterEachFunction.typeName = 'afterEach'; - this.after_.unshift(afterEachFunction); -}; - -jasmine.Suite.prototype.results = function() { - return this.queue.results(); -}; - -jasmine.Suite.prototype.add = function(suiteOrSpec) { - this.children_.push(suiteOrSpec); - if (suiteOrSpec instanceof jasmine.Suite) { - this.suites_.push(suiteOrSpec); - this.env.currentRunner().addSuite(suiteOrSpec); - } else { - this.specs_.push(suiteOrSpec); - } - this.queue.add(suiteOrSpec); -}; - -jasmine.Suite.prototype.specs = function() { - return this.specs_; -}; - -jasmine.Suite.prototype.suites = function() { - return this.suites_; -}; - -jasmine.Suite.prototype.children = function() { - return this.children_; -}; - -jasmine.Suite.prototype.execute = function(onComplete) { - var self = this; - this.queue.start(function () { - self.finish(onComplete); - }); -}; -jasmine.WaitsBlock = function(env, timeout, spec) { - this.timeout = timeout; - jasmine.Block.call(this, env, null, spec); -}; - -jasmine.util.inherit(jasmine.WaitsBlock, jasmine.Block); - -jasmine.WaitsBlock.prototype.execute = function (onComplete) { - if (jasmine.VERBOSE) { - this.env.reporter.log('>> Jasmine waiting for ' + this.timeout + ' ms...'); - } - this.env.setTimeout(function () { - onComplete(); - }, this.timeout); -}; -/** - * A block which waits for some condition to become true, with timeout. - * - * @constructor - * @extends jasmine.Block - * @param {jasmine.Env} env The Jasmine environment. - * @param {Number} timeout The maximum time in milliseconds to wait for the condition to become true. - * @param {Function} latchFunction A function which returns true when the desired condition has been met. - * @param {String} message The message to display if the desired condition hasn't been met within the given time period. - * @param {jasmine.Spec} spec The Jasmine spec. - */ -jasmine.WaitsForBlock = function(env, timeout, latchFunction, message, spec) { - this.timeout = timeout || env.defaultTimeoutInterval; - this.latchFunction = latchFunction; - this.message = message; - this.totalTimeSpentWaitingForLatch = 0; - jasmine.Block.call(this, env, null, spec); -}; -jasmine.util.inherit(jasmine.WaitsForBlock, jasmine.Block); - -jasmine.WaitsForBlock.TIMEOUT_INCREMENT = 10; - -jasmine.WaitsForBlock.prototype.execute = function(onComplete) { - if (jasmine.VERBOSE) { - this.env.reporter.log('>> Jasmine waiting for ' + (this.message || 'something to happen')); - } - var latchFunctionResult; - try { - latchFunctionResult = this.latchFunction.apply(this.spec); - } catch (e) { - this.spec.fail(e); - onComplete(); - return; - } - - if (latchFunctionResult) { - onComplete(); - } else if (this.totalTimeSpentWaitingForLatch >= this.timeout) { - var message = 'timed out after ' + this.timeout + ' msec waiting for ' + (this.message || 'something to happen'); - this.spec.fail({ - name: 'timeout', - message: message - }); - - this.abort = true; - onComplete(); - } else { - this.totalTimeSpentWaitingForLatch += jasmine.WaitsForBlock.TIMEOUT_INCREMENT; - var self = this; - this.env.setTimeout(function() { - self.execute(onComplete); - }, jasmine.WaitsForBlock.TIMEOUT_INCREMENT); - } -}; -// Mock setTimeout, clearTimeout -// Contributed by Pivotal Computer Systems, www.pivotalsf.com - -jasmine.FakeTimer = function() { - this.reset(); - - var self = this; - self.setTimeout = function(funcToCall, millis) { - self.timeoutsMade++; - self.scheduleFunction(self.timeoutsMade, funcToCall, millis, false); - return self.timeoutsMade; - }; - - self.setInterval = function(funcToCall, millis) { - self.timeoutsMade++; - self.scheduleFunction(self.timeoutsMade, funcToCall, millis, true); - return self.timeoutsMade; - }; - - self.clearTimeout = function(timeoutKey) { - self.scheduledFunctions[timeoutKey] = jasmine.undefined; - }; - - self.clearInterval = function(timeoutKey) { - self.scheduledFunctions[timeoutKey] = jasmine.undefined; - }; - -}; - -jasmine.FakeTimer.prototype.reset = function() { - this.timeoutsMade = 0; - this.scheduledFunctions = {}; - this.nowMillis = 0; -}; - -jasmine.FakeTimer.prototype.tick = function(millis) { - var oldMillis = this.nowMillis; - var newMillis = oldMillis + millis; - this.runFunctionsWithinRange(oldMillis, newMillis); - this.nowMillis = newMillis; -}; - -jasmine.FakeTimer.prototype.runFunctionsWithinRange = function(oldMillis, nowMillis) { - var scheduledFunc; - var funcsToRun = []; - for (var timeoutKey in this.scheduledFunctions) { - scheduledFunc = this.scheduledFunctions[timeoutKey]; - if (scheduledFunc != jasmine.undefined && - scheduledFunc.runAtMillis >= oldMillis && - scheduledFunc.runAtMillis <= nowMillis) { - funcsToRun.push(scheduledFunc); - this.scheduledFunctions[timeoutKey] = jasmine.undefined; - } - } - - if (funcsToRun.length > 0) { - funcsToRun.sort(function(a, b) { - return a.runAtMillis - b.runAtMillis; - }); - for (var i = 0; i < funcsToRun.length; ++i) { - try { - var funcToRun = funcsToRun[i]; - this.nowMillis = funcToRun.runAtMillis; - funcToRun.funcToCall(); - if (funcToRun.recurring) { - this.scheduleFunction(funcToRun.timeoutKey, - funcToRun.funcToCall, - funcToRun.millis, - true); - } - } catch(e) { - } - } - this.runFunctionsWithinRange(oldMillis, nowMillis); - } -}; - -jasmine.FakeTimer.prototype.scheduleFunction = function(timeoutKey, funcToCall, millis, recurring) { - this.scheduledFunctions[timeoutKey] = { - runAtMillis: this.nowMillis + millis, - funcToCall: funcToCall, - recurring: recurring, - timeoutKey: timeoutKey, - millis: millis - }; -}; - -/** - * @namespace - */ -jasmine.Clock = { - defaultFakeTimer: new jasmine.FakeTimer(), - - reset: function() { - jasmine.Clock.assertInstalled(); - jasmine.Clock.defaultFakeTimer.reset(); - }, - - tick: function(millis) { - jasmine.Clock.assertInstalled(); - jasmine.Clock.defaultFakeTimer.tick(millis); - }, - - runFunctionsWithinRange: function(oldMillis, nowMillis) { - jasmine.Clock.defaultFakeTimer.runFunctionsWithinRange(oldMillis, nowMillis); - }, - - scheduleFunction: function(timeoutKey, funcToCall, millis, recurring) { - jasmine.Clock.defaultFakeTimer.scheduleFunction(timeoutKey, funcToCall, millis, recurring); - }, - - useMock: function() { - if (!jasmine.Clock.isInstalled()) { - var spec = jasmine.getEnv().currentSpec; - spec.after(jasmine.Clock.uninstallMock); - - jasmine.Clock.installMock(); - } - }, - - installMock: function() { - jasmine.Clock.installed = jasmine.Clock.defaultFakeTimer; - }, - - uninstallMock: function() { - jasmine.Clock.assertInstalled(); - jasmine.Clock.installed = jasmine.Clock.real; - }, - - real: { - setTimeout: jasmine.getGlobal().setTimeout, - clearTimeout: jasmine.getGlobal().clearTimeout, - setInterval: jasmine.getGlobal().setInterval, - clearInterval: jasmine.getGlobal().clearInterval - }, - - assertInstalled: function() { - if (!jasmine.Clock.isInstalled()) { - throw new Error("Mock clock is not installed, use jasmine.Clock.useMock()"); - } - }, - - isInstalled: function() { - return jasmine.Clock.installed == jasmine.Clock.defaultFakeTimer; - }, - - installed: null -}; -jasmine.Clock.installed = jasmine.Clock.real; - -//else for IE support -jasmine.getGlobal().setTimeout = function(funcToCall, millis) { - if (jasmine.Clock.installed.setTimeout.apply) { - return jasmine.Clock.installed.setTimeout.apply(this, arguments); - } else { - return jasmine.Clock.installed.setTimeout(funcToCall, millis); - } -}; - -jasmine.getGlobal().setInterval = function(funcToCall, millis) { - if (jasmine.Clock.installed.setInterval.apply) { - return jasmine.Clock.installed.setInterval.apply(this, arguments); - } else { - return jasmine.Clock.installed.setInterval(funcToCall, millis); - } -}; - -jasmine.getGlobal().clearTimeout = function(timeoutKey) { - if (jasmine.Clock.installed.clearTimeout.apply) { - return jasmine.Clock.installed.clearTimeout.apply(this, arguments); - } else { - return jasmine.Clock.installed.clearTimeout(timeoutKey); - } -}; - -jasmine.getGlobal().clearInterval = function(timeoutKey) { - if (jasmine.Clock.installed.clearTimeout.apply) { - return jasmine.Clock.installed.clearInterval.apply(this, arguments); - } else { - return jasmine.Clock.installed.clearInterval(timeoutKey); - } -}; - -jasmine.version_= { - "major": 1, - "minor": 1, - "build": 0, - "revision": 1315677058 -}; diff --git a/bin/jasmine-1.1.0/jasmine.sass b/bin/jasmine-1.1.0/jasmine.sass deleted file mode 100644 index b00ea10da45..00000000000 --- a/bin/jasmine-1.1.0/jasmine.sass +++ /dev/null @@ -1,97 +0,0 @@ -body - font-family: Monaco - -a - text-decoration: none - -.jasmine_reporter a - &:visited - color: #303 - color: #303 - &:hover, &:active - color: blue - -.run_spec - float: right - padding-right: 5px - font-size: .8em - text-decoration: none - -.jasmine_reporter - margin: 0 5px - -.runner.running - background-color: yellow - -.options - text-align: right - font-size: .8em - -.suite - margin: 0 - padding-left: 1em - .suite - margin: 0 0 0 5px - &.passed - color: green - &.failed - color: red - -.spec - margin: 0 - padding-left: 1em - clear: both - &.failed - a - color: red - &.passed - a - color: green - &.skipped - background-color: #bbb - -.passed - color: green - display: none - -.failed - background-color: #fbb - -.skipped - color: #777 - background-color: #eee - display: none - -.resultMessage - span.result - display: block - line-height: 2em - color: black - .mismatch - color: black - -.stackTrace - white-space: pre - font-size: .8em - margin-left: 10px - max-height: 5em - overflow: auto - border: 1px inset red - padding: 1em - -.finished-at - padding-left: 1em - font-size: .6em - -.show-passed .passed, .show-skipped .skipped - display: block - -#jasmine_content - position: fixed - right: 100% - -.runner - border: 1px solid gray - display: block - margin: 5px 0 - padding: 2px 0 2px 10px \ No newline at end of file diff --git a/bin/jasmine-1.1.0/jasmine_favicon.png b/bin/jasmine-1.1.0/jasmine_favicon.png deleted file mode 100644 index 218f3b43713..00000000000 Binary files a/bin/jasmine-1.1.0/jasmine_favicon.png and /dev/null differ diff --git a/bin/yuicompressor-2.4.7.jar b/bin/yuicompressor-2.4.7.jar deleted file mode 100644 index 3c9a408aacd..00000000000 Binary files a/bin/yuicompressor-2.4.7.jar and /dev/null differ diff --git a/composer.json b/composer.json new file mode 100644 index 00000000000..76288f67183 --- /dev/null +++ b/composer.json @@ -0,0 +1,40 @@ +{ + "name": "swagger-api/swagger-ui", + "description": " Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.", + "keywords": [ + "Swagger", + "OpenAPI", + "specification", + "documentation", + "API", + "UI" + ], + "homepage": "http://swagger.io/", + "license": "Apache-2.0", + "authors": [ + { + "name": "Anna Bodnia", + "email": "anna.bodnia@gmail.com" + }, + { + "name": "Buu Nguyen", + "email": "buunguyen@gmail.com" + }, + { + "name": "Josh Ponelat", + "email": "jponelat@gmail.com" + }, + { + "name": "Kyle Shockey", + "email": "kyleshockey1@gmail.com" + }, + { + "name": "Robert Barnwell", + "email": "robert@robertismy.name" + }, + { + "name": "Sahar Jafari", + "email": "shr.jafari@gmail.com" + } + ] +} diff --git a/config/.eslintrc b/config/.eslintrc new file mode 100644 index 00000000000..85ec7022bb9 --- /dev/null +++ b/config/.eslintrc @@ -0,0 +1,8 @@ +{ + "rules": { + "import/no-unresolved": 0, + "import/extensions": 0, + "quotes": ["error", "single"], + "semi": ["error", "always"] + } +} diff --git a/config/jest/jest.artifact.config.js b/config/jest/jest.artifact.config.js new file mode 100644 index 00000000000..47db45f3943 --- /dev/null +++ b/config/jest/jest.artifact.config.js @@ -0,0 +1,9 @@ +const path = require('path'); + +module.exports = { + rootDir: path.join(__dirname, '..', '..'), + testEnvironment: 'jsdom', + testMatch: ['**/test/build-artifacts/**/*.js'], + setupFiles: ['/test/unit/jest-shim.js'], + transformIgnorePatterns: ['/node_modules/(?!(swagger-client|react-syntax-highlighter)/)'], +}; diff --git a/config/jest/jest.unit.config.js b/config/jest/jest.unit.config.js new file mode 100644 index 00000000000..ec71bb6bdaa --- /dev/null +++ b/config/jest/jest.unit.config.js @@ -0,0 +1,23 @@ +const path = require('path'); + +module.exports = { + rootDir: path.join(__dirname, '..', '..'), + testEnvironment: 'jest-environment-jsdom', + testMatch: [ + '**/test/unit/*.js?(x)', + '**/test/unit/**/*.js?(x)', + ], + setupFiles: ['/test/unit/jest-shim.js'], + setupFilesAfterEnv: ['/test/unit/setup.js'], + testPathIgnorePatterns: [ + '/node_modules/', + '/test/build-artifacts/', + '/test/unit/jest-shim.js', + '/test/unit/setup.js', + ], + moduleNameMapper: { + '^.+\\.svg$': 'jest-transform-stub' + }, + transformIgnorePatterns: ['/node_modules/(?!(sinon|react-syntax-highlighter|@asamuzakjp/css-color)/)'], + silent: true, // set to `false` to allow console.* calls to be printed +}; diff --git a/cypress.config.js b/cypress.config.js new file mode 100644 index 00000000000..a948ea0f97b --- /dev/null +++ b/cypress.config.js @@ -0,0 +1,19 @@ +const { defineConfig } = require("cypress") + +const startOAuthServer = require("./test/e2e-cypress/support/helpers/oauth2-server") + +module.exports = defineConfig({ + fileServerFolder: "test/e2e-cypress/static", + fixturesFolder: "test/e2e-cypress/fixtures", + screenshotsFolder: "test/e2e-cypress/screenshots", + videosFolder: "test/e2e-cypress/videos", + video: false, + e2e: { + baseUrl: "http://localhost:3230/", + supportFile: "test/e2e-cypress/support/e2e.js", + specPattern: "test/e2e-cypress/e2e/**/*.cy.{js,jsx}", + setupNodeEvents: () => { + startOAuthServer() + }, + }, +}) diff --git a/dev-helpers/dev-helper-initializer.js b/dev-helpers/dev-helper-initializer.js new file mode 100644 index 00000000000..ec330dc6249 --- /dev/null +++ b/dev-helpers/dev-helper-initializer.js @@ -0,0 +1,33 @@ +/* eslint-disable no-undef */ +window.onload = function() { + window["SwaggerUIBundle"] = window["swagger-ui-bundle"] + window["SwaggerUIStandalonePreset"] = window["swagger-ui-standalone-preset"] + // Build a system + const ui = SwaggerUIBundle({ + url: "https://petstore.swagger.io/v2/swagger.json", + dom_id: "#swagger-ui", + presets: [ + SwaggerUIBundle.presets.apis, + SwaggerUIStandalonePreset + ], + plugins: [ + SwaggerUIBundle.plugins.DownloadUrl + ], + // requestSnippetsEnabled: true, + layout: "StandaloneLayout" + }) + + window.ui = ui + + ui.initOAuth({ + clientId: "your-client-id", + clientSecret: "your-client-secret-if-required", + realm: "your-realms", + appName: "your-app-name", + scopeSeparator: " ", + scopes: "openid profile email phone address", + additionalQueryStringParams: {}, + useBasicAuthenticationWithAccessCodeGrant: false, + usePkceWithAuthorizationCodeGrant: false + }) +} diff --git a/dev-helpers/index.html b/dev-helpers/index.html new file mode 100644 index 00000000000..9432ef74ad0 --- /dev/null +++ b/dev-helpers/index.html @@ -0,0 +1,21 @@ + + + + + + + Swagger UI + + + + + +
+ + + + + + diff --git a/dev-helpers/oauth2-redirect.html b/dev-helpers/oauth2-redirect.html new file mode 100644 index 00000000000..c4b7be17427 --- /dev/null +++ b/dev-helpers/oauth2-redirect.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/dev-helpers/oauth2-redirect.js b/dev-helpers/oauth2-redirect.js new file mode 100644 index 00000000000..c0377806b8c --- /dev/null +++ b/dev-helpers/oauth2-redirect.js @@ -0,0 +1,69 @@ +"use strict" +function run () { + var oauth2 = window.opener.swaggerUIRedirectOauth2 + var sentState = oauth2.state + var redirectUrl = oauth2.redirectUrl + var isValid, qp, arr + + if (/code|token|error/.test(window.location.hash)) { + qp = window.location.hash.substring(1).replace("?", "&") + } else { + qp = location.search.substring(1) + } + + arr = qp.split("&") + arr.forEach(function (v,i,_arr) { _arr[i] = '"' + v.replace("=", '":"') + '"' }) + qp = qp ? JSON.parse("{" + arr.join() + "}", + function (key, value) { + return key === "" ? value : decodeURIComponent(value) + } + ) : {} + + isValid = qp.state === sentState + + if (( + oauth2.auth.schema.get("flow") === "accessCode" || + oauth2.auth.schema.get("flow") === "authorizationCode" || + oauth2.auth.schema.get("flow") === "authorization_code" + ) && !oauth2.auth.code) { + if (!isValid) { + oauth2.errCb({ + authId: oauth2.auth.name, + source: "auth", + level: "warning", + message: "Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server" + }) + } + + if (qp.code) { + delete oauth2.state + oauth2.auth.code = qp.code + oauth2.callback({auth: oauth2.auth, redirectUrl: redirectUrl}) + } else { + let oauthErrorMsg + if (qp.error) { + oauthErrorMsg = "["+qp.error+"]: " + + (qp.error_description ? qp.error_description+ ". " : "no accessCode received from the server. ") + + (qp.error_uri ? "More info: "+qp.error_uri : "") + } + + oauth2.errCb({ + authId: oauth2.auth.name, + source: "auth", + level: "error", + message: oauthErrorMsg || "[Authorization failed]: no accessCode received from the server" + }) + } + } else { + oauth2.callback({auth: oauth2.auth, token: qp, isValid: isValid, redirectUrl: redirectUrl}) + } + window.close() +} + +if( document.readyState !== "loading" ) { + run() +} else { + document.addEventListener("DOMContentLoaded", function () { + run() + }) +} diff --git a/dev-helpers/style.css b/dev-helpers/style.css new file mode 100644 index 00000000000..75a5daacdb1 --- /dev/null +++ b/dev-helpers/style.css @@ -0,0 +1,19 @@ +html +{ + box-sizing: border-box; + overflow: -moz-scrollbars-vertical; + overflow-y: scroll; +} + +*, +*:before, +*:after +{ + box-sizing: inherit; +} + +body +{ + margin:0; + background: #fafafa; +} diff --git a/dist/css/highlight.default.css b/dist/css/highlight.default.css deleted file mode 100644 index e417fc17995..00000000000 --- a/dist/css/highlight.default.css +++ /dev/null @@ -1,135 +0,0 @@ -/* - -Original style from softwaremaniacs.org (c) Ivan Sagalaev - -*/ - -pre code { - display: block; padding: 0.5em; - background: #F0F0F0; -} - -pre code, -pre .subst, -pre .tag .title, -pre .lisp .title, -pre .clojure .built_in, -pre .nginx .title { - color: black; -} - -pre .string, -pre .title, -pre .constant, -pre .parent, -pre .tag .value, -pre .rules .value, -pre .rules .value .number, -pre .preprocessor, -pre .ruby .symbol, -pre .ruby .symbol .string, -pre .aggregate, -pre .template_tag, -pre .django .variable, -pre .smalltalk .class, -pre .addition, -pre .flow, -pre .stream, -pre .bash .variable, -pre .apache .tag, -pre .apache .cbracket, -pre .tex .command, -pre .tex .special, -pre .erlang_repl .function_or_atom, -pre .markdown .header { - color: #800; -} - -pre .comment, -pre .annotation, -pre .template_comment, -pre .diff .header, -pre .chunk, -pre .markdown .blockquote { - color: #888; -} - -pre .number, -pre .date, -pre .regexp, -pre .literal, -pre .smalltalk .symbol, -pre .smalltalk .char, -pre .go .constant, -pre .change, -pre .markdown .bullet, -pre .markdown .link_url { - color: #080; -} - -pre .label, -pre .javadoc, -pre .ruby .string, -pre .decorator, -pre .filter .argument, -pre .localvars, -pre .array, -pre .attr_selector, -pre .important, -pre .pseudo, -pre .pi, -pre .doctype, -pre .deletion, -pre .envvar, -pre .shebang, -pre .apache .sqbracket, -pre .nginx .built_in, -pre .tex .formula, -pre .erlang_repl .reserved, -pre .prompt, -pre .markdown .link_label, -pre .vhdl .attribute, -pre .clojure .attribute, -pre .coffeescript .property { - color: #88F -} - -pre .keyword, -pre .id, -pre .phpdoc, -pre .title, -pre .built_in, -pre .aggregate, -pre .css .tag, -pre .javadoctag, -pre .phpdoc, -pre .yardoctag, -pre .smalltalk .class, -pre .winutils, -pre .bash .variable, -pre .apache .tag, -pre .go .typename, -pre .tex .command, -pre .markdown .strong, -pre .request, -pre .status { - font-weight: bold; -} - -pre .markdown .emphasis { - font-style: italic; -} - -pre .nginx .built_in { - font-weight: normal; -} - -pre .coffeescript .javascript, -pre .javascript .xml, -pre .tex .formula, -pre .xml .javascript, -pre .xml .vbscript, -pre .xml .css, -pre .xml .cdata { - opacity: 0.5; -} diff --git a/dist/css/screen.css b/dist/css/screen.css deleted file mode 100644 index 1627ecd0d31..00000000000 --- a/dist/css/screen.css +++ /dev/null @@ -1,1070 +0,0 @@ -/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 */ -html, -body, -div, -span, -applet, -object, -iframe, -h1, -h2, -h3, -h4, -h5, -h6, -p, -blockquote, -pre, -a, -abbr, -acronym, -address, -big, -cite, -code, -del, -dfn, -em, -img, -ins, -kbd, -q, -s, -samp, -small, -strike, -strong, -sub, -sup, -tt, -var, -b, -u, -i, -center, -dl, -dt, -dd, -ol, -ul, -li, -fieldset, -form, -label, -legend, -table, -caption, -tbody, -tfoot, -thead, -tr, -th, -td, -article, -aside, -canvas, -details, -embed, -figure, -figcaption, -footer, -header, -hgroup, -menu, -nav, -output, -ruby, -section, -summary, -time, -mark, -audio, -video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -menu, -nav, -section { - display: block; -} -body { - line-height: 1; -} -ol, -ul { - list-style: none; -} -blockquote, -q { - quotes: none; -} -blockquote:before, -blockquote:after, -q:before, -q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} -.swagger-ui-wrap { - line-height: 1; - font-family: "Droid Sans", sans-serif; - max-width: 960px; - margin-left: auto; - margin-right: auto; -} -.swagger-ui-wrap b, -.swagger-ui-wrap strong { - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-ui-wrap q, -.swagger-ui-wrap blockquote { - quotes: none; -} -.swagger-ui-wrap p { - line-height: 1.4em; - padding: 0 0 10px; - color: #333333; -} -.swagger-ui-wrap q:before, -.swagger-ui-wrap q:after, -.swagger-ui-wrap blockquote:before, -.swagger-ui-wrap blockquote:after { - content: none; -} -.swagger-ui-wrap .heading_with_menu h1, -.swagger-ui-wrap .heading_with_menu h2, -.swagger-ui-wrap .heading_with_menu h3, -.swagger-ui-wrap .heading_with_menu h4, -.swagger-ui-wrap .heading_with_menu h5, -.swagger-ui-wrap .heading_with_menu h6 { - display: block; - clear: none; - float: left; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - width: 60%; -} -.swagger-ui-wrap table { - border-collapse: collapse; - border-spacing: 0; -} -.swagger-ui-wrap table thead tr th { - padding: 5px; - font-size: 0.9em; - color: #666666; - border-bottom: 1px solid #999999; -} -.swagger-ui-wrap table tbody tr:last-child td { - border-bottom: none; -} -.swagger-ui-wrap table tbody tr.offset { - background-color: #f0f0f0; -} -.swagger-ui-wrap table tbody tr td { - padding: 6px; - font-size: 0.9em; - border-bottom: 1px solid #cccccc; - vertical-align: top; - line-height: 1.3em; -} -.swagger-ui-wrap ol { - margin: 0px 0 10px; - padding: 0 0 0 18px; - list-style-type: decimal; -} -.swagger-ui-wrap ol li { - padding: 5px 0px; - font-size: 0.9em; - color: #333333; -} -.swagger-ui-wrap ol, -.swagger-ui-wrap ul { - list-style: none; -} -.swagger-ui-wrap h1 a, -.swagger-ui-wrap h2 a, -.swagger-ui-wrap h3 a, -.swagger-ui-wrap h4 a, -.swagger-ui-wrap h5 a, -.swagger-ui-wrap h6 a { - text-decoration: none; -} -.swagger-ui-wrap h1 a:hover, -.swagger-ui-wrap h2 a:hover, -.swagger-ui-wrap h3 a:hover, -.swagger-ui-wrap h4 a:hover, -.swagger-ui-wrap h5 a:hover, -.swagger-ui-wrap h6 a:hover { - text-decoration: underline; -} -.swagger-ui-wrap h1 span.divider, -.swagger-ui-wrap h2 span.divider, -.swagger-ui-wrap h3 span.divider, -.swagger-ui-wrap h4 span.divider, -.swagger-ui-wrap h5 span.divider, -.swagger-ui-wrap h6 span.divider { - color: #aaaaaa; -} -.swagger-ui-wrap a { - color: #547f00; -} -.swagger-ui-wrap a img { - border: none; -} -.swagger-ui-wrap article, -.swagger-ui-wrap aside, -.swagger-ui-wrap details, -.swagger-ui-wrap figcaption, -.swagger-ui-wrap figure, -.swagger-ui-wrap footer, -.swagger-ui-wrap header, -.swagger-ui-wrap hgroup, -.swagger-ui-wrap menu, -.swagger-ui-wrap nav, -.swagger-ui-wrap section, -.swagger-ui-wrap summary { - display: block; -} -.swagger-ui-wrap pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #fcf6db; - border: 1px solid #e5e0c6; - padding: 10px; -} -.swagger-ui-wrap pre code { - line-height: 1.6em; - background: none; -} -.swagger-ui-wrap .content > .content-type > div > label { - clear: both; - display: block; - color: #0F6AB4; - font-size: 1.1em; - margin: 0; - padding: 15px 0 5px; -} -.swagger-ui-wrap .content pre { - font-size: 12px; - margin-top: 5px; - padding: 5px; -} -.swagger-ui-wrap .icon-btn { - cursor: pointer; -} -.swagger-ui-wrap .info_title { - padding-bottom: 10px; - font-weight: bold; - font-size: 25px; -} -.swagger-ui-wrap p.big, -.swagger-ui-wrap div.big p { - font-size: 1em; - margin-bottom: 10px; -} -.swagger-ui-wrap form.fullwidth ol li.string input, -.swagger-ui-wrap form.fullwidth ol li.url input, -.swagger-ui-wrap form.fullwidth ol li.text textarea, -.swagger-ui-wrap form.fullwidth ol li.numeric input { - width: 500px !important; -} -.swagger-ui-wrap .info_license { - padding-bottom: 5px; -} -.swagger-ui-wrap .info_tos { - padding-bottom: 5px; -} -.swagger-ui-wrap .message-fail { - color: #cc0000; -} -.swagger-ui-wrap .info_contact { - padding-bottom: 5px; -} -.swagger-ui-wrap .info_description { - padding-bottom: 10px; - font-size: 15px; -} -.swagger-ui-wrap .markdown ol li, -.swagger-ui-wrap .markdown ul li { - padding: 3px 0px; - line-height: 1.4em; - color: #333333; -} -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input, -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input, -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input { - display: block; - padding: 4px; - width: auto; - clear: both; -} -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input.title, -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input.title, -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input.title { - font-size: 1.3em; -} -.swagger-ui-wrap table.fullwidth { - width: 100%; -} -.swagger-ui-wrap .model-signature { - font-family: "Droid Sans", sans-serif; - font-size: 1em; - line-height: 1.5em; -} -.swagger-ui-wrap .model-signature .signature-nav a { - text-decoration: none; - color: #AAA; -} -.swagger-ui-wrap .model-signature .signature-nav a:hover { - text-decoration: underline; - color: black; -} -.swagger-ui-wrap .model-signature .signature-nav .selected { - color: black; - text-decoration: none; -} -.swagger-ui-wrap .model-signature .propType { - color: #5555aa; -} -.swagger-ui-wrap .model-signature pre:hover { - background-color: #ffffdd; -} -.swagger-ui-wrap .model-signature pre { - font-size: .85em; - line-height: 1.2em; - overflow: auto; - max-height: 200px; - cursor: pointer; -} -.swagger-ui-wrap .model-signature ul.signature-nav { - display: block; - margin: 0; - padding: 0; -} -.swagger-ui-wrap .model-signature ul.signature-nav li:last-child { - padding-right: 0; - border-right: none; -} -.swagger-ui-wrap .model-signature ul.signature-nav li { - float: left; - margin: 0 5px 5px 0; - padding: 2px 5px 2px 0; - border-right: 1px solid #ddd; -} -.swagger-ui-wrap .model-signature .propOpt { - color: #555; -} -.swagger-ui-wrap .model-signature .snippet small { - font-size: 0.75em; -} -.swagger-ui-wrap .model-signature .propOptKey { - font-style: italic; -} -.swagger-ui-wrap .model-signature .description .strong { - font-weight: bold; - color: #000; - font-size: .9em; -} -.swagger-ui-wrap .model-signature .description div { - font-size: 0.9em; - line-height: 1.5em; - margin-left: 1em; -} -.swagger-ui-wrap .model-signature .description .stronger { - font-weight: bold; - color: #000; -} -.swagger-ui-wrap .model-signature .propName { - font-weight: bold; -} -.swagger-ui-wrap .model-signature .signature-container { - clear: both; -} -.swagger-ui-wrap .body-textarea { - width: 300px; - height: 100px; - border: 1px solid #aaa; -} -.swagger-ui-wrap .markdown p code, -.swagger-ui-wrap .markdown li code { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #f0f0f0; - color: black; - padding: 1px 3px; -} -.swagger-ui-wrap .required { - font-weight: bold; -} -.swagger-ui-wrap input.parameter { - width: 300px; - border: 1px solid #aaa; -} -.swagger-ui-wrap h1 { - color: black; - font-size: 1.5em; - line-height: 1.3em; - padding: 10px 0 10px 0; - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-ui-wrap .heading_with_menu { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-ui-wrap .heading_with_menu ul { - display: block; - clear: none; - float: right; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - margin-top: 10px; -} -.swagger-ui-wrap h2 { - color: black; - font-size: 1.3em; - padding: 10px 0 10px 0; -} -.swagger-ui-wrap h2 a { - color: black; -} -.swagger-ui-wrap h2 span.sub { - font-size: 0.7em; - color: #999999; - font-style: italic; -} -.swagger-ui-wrap h2 span.sub a { - color: #777777; -} -.swagger-ui-wrap span.weak { - color: #666666; -} -.swagger-ui-wrap .message-success { - color: #89BF04; -} -.swagger-ui-wrap caption, -.swagger-ui-wrap th, -.swagger-ui-wrap td { - text-align: left; - font-weight: normal; - vertical-align: middle; -} -.swagger-ui-wrap .code { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; -} -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.text textarea { - font-family: "Droid Sans", sans-serif; - height: 250px; - padding: 4px; - display: block; - clear: both; -} -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.select select { - display: block; - clear: both; -} -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean label { - display: block; - float: left; - clear: none; - margin: 0; - padding: 0; -} -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean input { - display: block; - float: left; - clear: none; - margin: 0 5px 0 0; -} -.swagger-ui-wrap form.formtastic fieldset.inputs ol li.required label { - color: black; -} -.swagger-ui-wrap form.formtastic fieldset.inputs ol li label { - display: block; - clear: both; - width: auto; - padding: 0 0 3px; - color: #666666; -} -.swagger-ui-wrap form.formtastic fieldset.inputs ol li label abbr { - padding-left: 3px; - color: #888888; -} -.swagger-ui-wrap form.formtastic fieldset.inputs ol li p.inline-hints { - margin-left: 0; - font-style: italic; - font-size: 0.9em; - margin: 0; -} -.swagger-ui-wrap form.formtastic fieldset.buttons { - margin: 0; - padding: 0; -} -.swagger-ui-wrap span.blank, -.swagger-ui-wrap span.empty { - color: #888888; - font-style: italic; -} -.swagger-ui-wrap .markdown h3 { - color: #547f00; -} -.swagger-ui-wrap .markdown h4 { - color: #666666; -} -.swagger-ui-wrap .markdown pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #fcf6db; - border: 1px solid #e5e0c6; - padding: 10px; - margin: 0 0 10px 0; -} -.swagger-ui-wrap .markdown pre code { - line-height: 1.6em; -} -.swagger-ui-wrap div.gist { - margin: 20px 0 25px 0 !important; -} -.swagger-ui-wrap ul#resources { - font-family: "Droid Sans", sans-serif; - font-size: 0.9em; -} -.swagger-ui-wrap ul#resources li.resource { - border-bottom: 1px solid #dddddd; -} -.swagger-ui-wrap ul#resources li.resource:hover div.heading h2 a, -.swagger-ui-wrap ul#resources li.resource.active div.heading h2 a { - color: black; -} -.swagger-ui-wrap ul#resources li.resource:hover div.heading ul.options li a, -.swagger-ui-wrap ul#resources li.resource.active div.heading ul.options li a { - color: #555555; -} -.swagger-ui-wrap ul#resources li.resource:last-child { - border-bottom: none; -} -.swagger-ui-wrap ul#resources li.resource div.heading { - border: 1px solid transparent; - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-ui-wrap ul#resources li.resource div.heading ul.options { - overflow: hidden; - padding: 0; - display: block; - clear: none; - float: right; - margin: 14px 10px 0 0; -} -.swagger-ui-wrap ul#resources li.resource div.heading ul.options li { - float: left; - clear: none; - margin: 0; - padding: 2px 10px; - border-right: 1px solid #dddddd; - color: #666666; - font-size: 0.9em; -} -.swagger-ui-wrap ul#resources li.resource div.heading ul.options li a { - color: #aaaaaa; - text-decoration: none; -} -.swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover { - text-decoration: underline; - color: black; -} -.swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover, -.swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:active, -.swagger-ui-wrap ul#resources li.resource div.heading ul.options li a.active { - text-decoration: underline; -} -.swagger-ui-wrap ul#resources li.resource div.heading ul.options li:first-child, -.swagger-ui-wrap ul#resources li.resource div.heading ul.options li.first { - padding-left: 0; -} -.swagger-ui-wrap ul#resources li.resource div.heading ul.options li:last-child, -.swagger-ui-wrap ul#resources li.resource div.heading ul.options li.last { - padding-right: 0; - border-right: none; -} -.swagger-ui-wrap ul#resources li.resource div.heading ul.options:first-child, -.swagger-ui-wrap ul#resources li.resource div.heading ul.options.first { - padding-left: 0; -} -.swagger-ui-wrap ul#resources li.resource div.heading h2 { - color: #999999; - padding-left: 0; - display: block; - clear: none; - float: left; - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-ui-wrap ul#resources li.resource div.heading h2 a { - color: #999999; -} -.swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover { - color: black; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation { - float: none; - clear: both; - overflow: hidden; - display: block; - margin: 0 0 10px; - padding: 0; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading { - float: none; - clear: both; - overflow: hidden; - display: block; - margin: 0; - padding: 0; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 { - display: block; - clear: none; - float: left; - width: auto; - margin: 0; - padding: 0; - line-height: 1.1em; - color: black; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path { - padding-left: 10px; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a { - color: black; - text-decoration: none; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a:hover { - text-decoration: underline; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.http_method a { - text-transform: uppercase; - text-decoration: none; - color: white; - display: inline-block; - width: 50px; - font-size: 0.7em; - text-align: center; - padding: 7px 0 4px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - -o-border-radius: 2px; - -ms-border-radius: 2px; - -khtml-border-radius: 2px; - border-radius: 2px; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span { - margin: 0; - padding: 0; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options { - overflow: hidden; - padding: 0; - display: block; - clear: none; - float: right; - margin: 6px 10px 0 0; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li { - float: left; - clear: none; - margin: 0; - padding: 2px 10px; - font-size: 0.9em; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li a { - text-decoration: none; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content { - border-top: none; - padding: 10px; - -moz-border-radius-bottomleft: 6px; - -webkit-border-bottom-left-radius: 6px; - -o-border-bottom-left-radius: 6px; - -ms-border-bottom-left-radius: 6px; - -khtml-border-bottom-left-radius: 6px; - border-bottom-left-radius: 6px; - -moz-border-radius-bottomright: 6px; - -webkit-border-bottom-right-radius: 6px; - -o-border-bottom-right-radius: 6px; - -ms-border-bottom-right-radius: 6px; - -khtml-border-bottom-right-radius: 6px; - border-bottom-right-radius: 6px; - margin: 0 0 20px; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content h4 { - font-size: 1.1em; - margin: 0; - padding: 15px 0 5px; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header a { - padding: 4px 0 0 10px; - display: inline-block; - font-size: 0.9em; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header img { - display: block; - clear: none; - float: right; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header input.submit { - display: block; - clear: none; - float: left; - padding: 6px 8px; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content form input[type='text'].error { - outline: 2px solid black; - outline-color: #cc0000; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.response div.block pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - padding: 10px; - font-size: 0.9em; - max-height: 400px; - overflow-y: auto; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading { - background-color: #f9f2e9; - border: 1px solid #f0e0ca; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span.http_method a { - background-color: #c5862b; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #f0e0ca; - color: #c5862b; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li a { - color: #c5862b; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content { - background-color: #faf5ee; - border: 1px solid #f0e0ca; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content h4 { - color: #c5862b; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.sandbox_header a { - color: #dcb67f; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading { - background-color: #fcffcd; - border: 1px solid black; - border-color: #ffd20f; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading h3 span.http_method a { - text-transform: uppercase; - background-color: #ffd20f; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #ffd20f; - color: #ffd20f; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li a { - color: #ffd20f; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content { - background-color: #fcffcd; - border: 1px solid black; - border-color: #ffd20f; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content h4 { - color: #ffd20f; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content div.sandbox_header a { - color: #6fc992; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading { - background-color: #f5e8e8; - border: 1px solid #e8c6c7; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span.http_method a { - text-transform: uppercase; - background-color: #a41e22; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #e8c6c7; - color: #a41e22; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li a { - color: #a41e22; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content { - background-color: #f7eded; - border: 1px solid #e8c6c7; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content h4 { - color: #a41e22; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.sandbox_header a { - color: #c8787a; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading { - background-color: #e7f6ec; - border: 1px solid #c3e8d1; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span.http_method a { - background-color: #10a54a; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #c3e8d1; - color: #10a54a; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li a { - color: #10a54a; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content { - background-color: #ebf7f0; - border: 1px solid #c3e8d1; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content h4 { - color: #10a54a; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.sandbox_header a { - color: #6fc992; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading { - background-color: #FCE9E3; - border: 1px solid #F5D5C3; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span.http_method a { - background-color: #D38042; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #f0cecb; - color: #D38042; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li a { - color: #D38042; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content { - background-color: #faf0ef; - border: 1px solid #f0cecb; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content h4 { - color: #D38042; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.sandbox_header a { - color: #dcb67f; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading { - background-color: #e7f0f7; - border: 1px solid #c3d9ec; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span.http_method a { - background-color: #0f6ab4; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #c3d9ec; - color: #0f6ab4; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li a { - color: #0f6ab4; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content { - background-color: #ebf3f9; - border: 1px solid #c3d9ec; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content h4 { - color: #0f6ab4; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.sandbox_header a { - color: #6fa5d2; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content { - border-top: none; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li:last-child, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li:last-child, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li:last-child, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li:last-child, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li:last-child, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li:last-child, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li.last, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li.last, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li.last, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li.last, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li.last, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li.last { - padding-right: 0; - border-right: none; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:hover, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:active, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a.active { - text-decoration: underline; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li:first-child, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li.first { - padding-left: 0; -} -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations:first-child, -.swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations.first { - padding-left: 0; -} -.swagger-ui-wrap p#colophon { - margin: 0 15px 40px 15px; - padding: 10px 0; - font-size: 0.8em; - border-top: 1px solid #dddddd; - font-family: "Droid Sans", sans-serif; - color: #999999; - font-style: italic; -} -.swagger-ui-wrap p#colophon a { - text-decoration: none; - color: #547f00; -} -.swagger-ui-wrap h3 { - color: black; - font-size: 1.1em; - padding: 10px 0 10px 0; -} -.swagger-ui-wrap .markdown ol, -.swagger-ui-wrap .markdown ul { - font-family: "Droid Sans", sans-serif; - margin: 5px 0 10px; - padding: 0 0 0 18px; - list-style-type: disc; -} -.swagger-ui-wrap form.form_box { - background-color: #ebf3f9; - border: 1px solid #c3d9ec; - padding: 10px; -} -.swagger-ui-wrap form.form_box label { - color: #0f6ab4 !important; -} -.swagger-ui-wrap form.form_box input[type=submit] { - display: block; - padding: 10px; -} -.swagger-ui-wrap form.form_box p.weak { - font-size: 0.8em; -} -.swagger-ui-wrap form.form_box p { - font-size: 0.9em; - padding: 0 0 15px; - color: #7e7b6d; -} -.swagger-ui-wrap form.form_box p a { - color: #646257; -} -.swagger-ui-wrap form.form_box p strong { - color: black; -} -#header { - background-color: #89bf04; - padding: 14px; -} -#header a#logo { - font-size: 1.5em; - font-weight: bold; - text-decoration: none; - background: transparent url(http://github.com/images/logo_small.png) no-repeat left center; - padding: 20px 0 20px 40px; - color: white; -} -#header form#api_selector { - display: block; - clear: none; - float: right; -} -#header form#api_selector .input { - display: block; - clear: none; - float: left; - margin: 0 10px 0 0; -} -#header form#api_selector .input input#input_apiKey { - width: 200px; -} -#header form#api_selector .input input#input_baseUrl { - width: 400px; -} -#header form#api_selector .input a#explore { - display: block; - text-decoration: none; - font-weight: bold; - padding: 6px 8px; - font-size: 0.9em; - color: white; - background-color: #547f00; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - -o-border-radius: 4px; - -ms-border-radius: 4px; - -khtml-border-radius: 4px; - border-radius: 4px; -} -#header form#api_selector .input a#explore:hover { - background-color: #547f00; -} -#header form#api_selector .input input { - font-size: 0.9em; - padding: 3px; - margin: 0; -} -#content_message { - margin: 10px 15px; - font-style: italic; - color: #999999; -} -#message-bar { - min-height: 30px; - text-align: center; - padding-top: 10px; -} diff --git a/dist/favicon-16x16.png b/dist/favicon-16x16.png new file mode 100644 index 00000000000..8b194e617af Binary files /dev/null and b/dist/favicon-16x16.png differ diff --git a/dist/favicon-32x32.png b/dist/favicon-32x32.png new file mode 100644 index 00000000000..249737fe445 Binary files /dev/null and b/dist/favicon-32x32.png differ diff --git a/dist/images/logo_small.png b/dist/images/logo_small.png deleted file mode 100644 index 5496a65579a..00000000000 Binary files a/dist/images/logo_small.png and /dev/null differ diff --git a/dist/images/pet_store_api.png b/dist/images/pet_store_api.png deleted file mode 100644 index f9f9cd4aeb3..00000000000 Binary files a/dist/images/pet_store_api.png and /dev/null differ diff --git a/dist/images/throbber.gif b/dist/images/throbber.gif deleted file mode 100644 index 06393889242..00000000000 Binary files a/dist/images/throbber.gif and /dev/null differ diff --git a/dist/images/wordnik_api.png b/dist/images/wordnik_api.png deleted file mode 100644 index dca4f1455ac..00000000000 Binary files a/dist/images/wordnik_api.png and /dev/null differ diff --git a/dist/index.css b/dist/index.css new file mode 100644 index 00000000000..f2376fdaa84 --- /dev/null +++ b/dist/index.css @@ -0,0 +1,16 @@ +html { + box-sizing: border-box; + overflow: -moz-scrollbars-vertical; + overflow-y: scroll; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +body { + margin: 0; + background: #fafafa; +} diff --git a/dist/index.html b/dist/index.html index 2f092c1f1dd..84ae62d3dad 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1,83 +1,19 @@ - - - - Swagger UI - - - - - - - - - - - - - - - - - - - - -
-   -
- -
- -
- - - - + + + + + + Swagger UI + + + + + + + +
+ + + + + diff --git a/dist/lib/backbone-min.js b/dist/lib/backbone-min.js deleted file mode 100644 index c1c0d4fff28..00000000000 --- a/dist/lib/backbone-min.js +++ /dev/null @@ -1,38 +0,0 @@ -// Backbone.js 0.9.2 - -// (c) 2010-2012 Jeremy Ashkenas, DocumentCloud Inc. -// Backbone may be freely distributed under the MIT license. -// For all details and documentation: -// http://backbonejs.org -(function(){var l=this,y=l.Backbone,z=Array.prototype.slice,A=Array.prototype.splice,g;g="undefined"!==typeof exports?exports:l.Backbone={};g.VERSION="0.9.2";var f=l._;!f&&"undefined"!==typeof require&&(f=require("underscore"));var i=l.jQuery||l.Zepto||l.ender;g.setDomLibrary=function(a){i=a};g.noConflict=function(){l.Backbone=y;return this};g.emulateHTTP=!1;g.emulateJSON=!1;var p=/\s+/,k=g.Events={on:function(a,b,c){var d,e,f,g,j;if(!b)return this;a=a.split(p);for(d=this._callbacks||(this._callbacks= -{});e=a.shift();)f=(j=d[e])?j.tail:{},f.next=g={},f.context=c,f.callback=b,d[e]={tail:g,next:j?j.next:f};return this},off:function(a,b,c){var d,e,h,g,j,q;if(e=this._callbacks){if(!a&&!b&&!c)return delete this._callbacks,this;for(a=a?a.split(p):f.keys(e);d=a.shift();)if(h=e[d],delete e[d],h&&(b||c))for(g=h.tail;(h=h.next)!==g;)if(j=h.callback,q=h.context,b&&j!==b||c&&q!==c)this.on(d,j,q);return this}},trigger:function(a){var b,c,d,e,f,g;if(!(d=this._callbacks))return this;f=d.all;a=a.split(p);for(g= -z.call(arguments,1);b=a.shift();){if(c=d[b])for(e=c.tail;(c=c.next)!==e;)c.callback.apply(c.context||this,g);if(c=f){e=c.tail;for(b=[b].concat(g);(c=c.next)!==e;)c.callback.apply(c.context||this,b)}}return this}};k.bind=k.on;k.unbind=k.off;var o=g.Model=function(a,b){var c;a||(a={});b&&b.parse&&(a=this.parse(a));if(c=n(this,"defaults"))a=f.extend({},c,a);b&&b.collection&&(this.collection=b.collection);this.attributes={};this._escapedAttributes={};this.cid=f.uniqueId("c");this.changed={};this._silent= -{};this._pending={};this.set(a,{silent:!0});this.changed={};this._silent={};this._pending={};this._previousAttributes=f.clone(this.attributes);this.initialize.apply(this,arguments)};f.extend(o.prototype,k,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(){return f.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(a){var b;if(b=this._escapedAttributes[a])return b;b=this.get(a);return this._escapedAttributes[a]=f.escape(null== -b?"":""+b)},has:function(a){return null!=this.get(a)},set:function(a,b,c){var d,e;f.isObject(a)||null==a?(d=a,c=b):(d={},d[a]=b);c||(c={});if(!d)return this;d instanceof o&&(d=d.attributes);if(c.unset)for(e in d)d[e]=void 0;if(!this._validate(d,c))return!1;this.idAttribute in d&&(this.id=d[this.idAttribute]);var b=c.changes={},h=this.attributes,g=this._escapedAttributes,j=this._previousAttributes||{};for(e in d){a=d[e];if(!f.isEqual(h[e],a)||c.unset&&f.has(h,e))delete g[e],(c.silent?this._silent: -b)[e]=!0;c.unset?delete h[e]:h[e]=a;!f.isEqual(j[e],a)||f.has(h,e)!=f.has(j,e)?(this.changed[e]=a,c.silent||(this._pending[e]=!0)):(delete this.changed[e],delete this._pending[e])}c.silent||this.change(c);return this},unset:function(a,b){(b||(b={})).unset=!0;return this.set(a,null,b)},clear:function(a){(a||(a={})).unset=!0;return this.set(f.clone(this.attributes),a)},fetch:function(a){var a=a?f.clone(a):{},b=this,c=a.success;a.success=function(d,e,f){if(!b.set(b.parse(d,f),a))return!1;c&&c(b,d)}; -a.error=g.wrapError(a.error,b,a);return(this.sync||g.sync).call(this,"read",this,a)},save:function(a,b,c){var d,e;f.isObject(a)||null==a?(d=a,c=b):(d={},d[a]=b);c=c?f.clone(c):{};if(c.wait){if(!this._validate(d,c))return!1;e=f.clone(this.attributes)}a=f.extend({},c,{silent:!0});if(d&&!this.set(d,c.wait?a:c))return!1;var h=this,i=c.success;c.success=function(a,b,e){b=h.parse(a,e);if(c.wait){delete c.wait;b=f.extend(d||{},b)}if(!h.set(b,c))return false;i?i(h,a):h.trigger("sync",h,a,c)};c.error=g.wrapError(c.error, -h,c);b=this.isNew()?"create":"update";b=(this.sync||g.sync).call(this,b,this,c);c.wait&&this.set(e,a);return b},destroy:function(a){var a=a?f.clone(a):{},b=this,c=a.success,d=function(){b.trigger("destroy",b,b.collection,a)};if(this.isNew())return d(),!1;a.success=function(e){a.wait&&d();c?c(b,e):b.trigger("sync",b,e,a)};a.error=g.wrapError(a.error,b,a);var e=(this.sync||g.sync).call(this,"delete",this,a);a.wait||d();return e},url:function(){var a=n(this,"urlRoot")||n(this.collection,"url")||t(); -return this.isNew()?a:a+("/"==a.charAt(a.length-1)?"":"/")+encodeURIComponent(this.id)},parse:function(a){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return null==this.id},change:function(a){a||(a={});var b=this._changing;this._changing=!0;for(var c in this._silent)this._pending[c]=!0;var d=f.extend({},a.changes,this._silent);this._silent={};for(c in d)this.trigger("change:"+c,this,this.get(c),a);if(b)return this;for(;!f.isEmpty(this._pending);){this._pending= -{};this.trigger("change",this,a);for(c in this.changed)!this._pending[c]&&!this._silent[c]&&delete this.changed[c];this._previousAttributes=f.clone(this.attributes)}this._changing=!1;return this},hasChanged:function(a){return!arguments.length?!f.isEmpty(this.changed):f.has(this.changed,a)},changedAttributes:function(a){if(!a)return this.hasChanged()?f.clone(this.changed):!1;var b,c=!1,d=this._previousAttributes,e;for(e in a)if(!f.isEqual(d[e],b=a[e]))(c||(c={}))[e]=b;return c},previous:function(a){return!arguments.length|| -!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return f.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(a,b){if(b.silent||!this.validate)return!0;var a=f.extend({},this.attributes,a),c=this.validate(a,b);if(!c)return!0;b&&b.error?b.error(this,c,b):this.trigger("error",this,c,b);return!1}});var r=g.Collection=function(a,b){b||(b={});b.model&&(this.model=b.model);b.comparator&&(this.comparator=b.comparator); -this._reset();this.initialize.apply(this,arguments);a&&this.reset(a,{silent:!0,parse:b.parse})};f.extend(r.prototype,k,{model:o,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},add:function(a,b){var c,d,e,g,i,j={},k={},l=[];b||(b={});a=f.isArray(a)?a.slice():[a];c=0;for(d=a.length;c=b))this.iframe=i('\n * \n *\n * */\n\n.aspect-ratio {\n height: 0;\n position: relative;\n}\n\n.aspect-ratio--16x9 { padding-bottom: 56.25%; }\n.aspect-ratio--9x16 { padding-bottom: 177.77%; }\n\n.aspect-ratio--4x3 { padding-bottom: 75%; }\n.aspect-ratio--3x4 { padding-bottom: 133.33%; }\n\n.aspect-ratio--6x4 { padding-bottom: 66.6%; }\n.aspect-ratio--4x6 { padding-bottom: 150%; }\n\n.aspect-ratio--8x5 { padding-bottom: 62.5%; }\n.aspect-ratio--5x8 { padding-bottom: 160%; }\n\n.aspect-ratio--7x5 { padding-bottom: 71.42%; }\n.aspect-ratio--5x7 { padding-bottom: 140%; }\n\n.aspect-ratio--1x1 { padding-bottom: 100%; }\n\n.aspect-ratio--object {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 100;\n}\n\n@media #{$breakpoint-not-small}{\n .aspect-ratio-ns {\n height: 0;\n position: relative;\n }\n .aspect-ratio--16x9-ns { padding-bottom: 56.25%; }\n .aspect-ratio--9x16-ns { padding-bottom: 177.77%; }\n .aspect-ratio--4x3-ns { padding-bottom: 75%; }\n .aspect-ratio--3x4-ns { padding-bottom: 133.33%; }\n .aspect-ratio--6x4-ns { padding-bottom: 66.6%; }\n .aspect-ratio--4x6-ns { padding-bottom: 150%; }\n .aspect-ratio--8x5-ns { padding-bottom: 62.5%; }\n .aspect-ratio--5x8-ns { padding-bottom: 160%; }\n .aspect-ratio--7x5-ns { padding-bottom: 71.42%; }\n .aspect-ratio--5x7-ns { padding-bottom: 140%; }\n .aspect-ratio--1x1-ns { padding-bottom: 100%; }\n .aspect-ratio--object-ns {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 100;\n }\n}\n\n@media #{$breakpoint-medium}{\n .aspect-ratio-m {\n height: 0;\n position: relative;\n }\n .aspect-ratio--16x9-m { padding-bottom: 56.25%; }\n .aspect-ratio--9x16-m { padding-bottom: 177.77%; }\n .aspect-ratio--4x3-m { padding-bottom: 75%; }\n .aspect-ratio--3x4-m { padding-bottom: 133.33%; }\n .aspect-ratio--6x4-m { padding-bottom: 66.6%; }\n .aspect-ratio--4x6-m { padding-bottom: 150%; }\n .aspect-ratio--8x5-m { padding-bottom: 62.5%; }\n .aspect-ratio--5x8-m { padding-bottom: 160%; }\n .aspect-ratio--7x5-m { padding-bottom: 71.42%; }\n .aspect-ratio--5x7-m { padding-bottom: 140%; }\n .aspect-ratio--1x1-m { padding-bottom: 100%; }\n .aspect-ratio--object-m {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 100;\n }\n}\n\n@media #{$breakpoint-large}{\n .aspect-ratio-l {\n height: 0;\n position: relative;\n }\n .aspect-ratio--16x9-l { padding-bottom: 56.25%; }\n .aspect-ratio--9x16-l { padding-bottom: 177.77%; }\n .aspect-ratio--4x3-l { padding-bottom: 75%; }\n .aspect-ratio--3x4-l { padding-bottom: 133.33%; }\n .aspect-ratio--6x4-l { padding-bottom: 66.6%; }\n .aspect-ratio--4x6-l { padding-bottom: 150%; }\n .aspect-ratio--8x5-l { padding-bottom: 62.5%; }\n .aspect-ratio--5x8-l { padding-bottom: 160%; }\n .aspect-ratio--7x5-l { padding-bottom: 71.42%; }\n .aspect-ratio--5x7-l { padding-bottom: 140%; }\n .aspect-ratio--1x1-l { padding-bottom: 100%; }\n .aspect-ratio--object-l {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 100;\n }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n IMAGES\n Docs: http://tachyons.io/docs/elements/images/\n\n*/\n\n/* Responsive images! */\n\nimg { max-width: 100%; }\n\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n BACKGROUND SIZE\n Docs: http://tachyons.io/docs/themes/background-size/\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n/*\n Often used in combination with background image set as an inline style\n on an html element.\n*/\n\n .cover { background-size: cover!important; }\n .contain { background-size: contain!important; }\n\n@media #{$breakpoint-not-small} {\n .cover-ns { background-size: cover!important; }\n .contain-ns { background-size: contain!important; }\n}\n\n@media #{$breakpoint-medium} {\n .cover-m { background-size: cover!important; }\n .contain-m { background-size: contain!important; }\n}\n\n@media #{$breakpoint-large} {\n .cover-l { background-size: cover!important; }\n .contain-l { background-size: contain!important; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n BACKGROUND POSITION\n\n Base:\n bg = background\n\n Modifiers:\n -center = center center\n -top = top center\n -right = center right\n -bottom = bottom center\n -left = center left\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n */\n\n.bg-center { \n background-repeat: no-repeat;\n background-position: center center; \n}\n\n.bg-top { \n background-repeat: no-repeat; \n background-position: top center; \n}\n\n.bg-right { \n background-repeat: no-repeat; \n background-position: center right; \n}\n\n.bg-bottom { \n background-repeat: no-repeat; \n background-position: bottom center; \n}\n\n.bg-left { \n background-repeat: no-repeat; \n background-position: center left; \n}\n\n@media #{$breakpoint-not-small} {\n .bg-center-ns { \n background-repeat: no-repeat;\n background-position: center center; \n }\n\n .bg-top-ns { \n background-repeat: no-repeat; \n background-position: top center; \n }\n\n .bg-right-ns { \n background-repeat: no-repeat; \n background-position: center right; \n }\n\n .bg-bottom-ns { \n background-repeat: no-repeat; \n background-position: bottom center; \n }\n\n .bg-left-ns { \n background-repeat: no-repeat; \n background-position: center left; \n }\n}\n\n@media #{$breakpoint-medium} {\n .bg-center-m { \n background-repeat: no-repeat;\n background-position: center center; \n }\n\n .bg-top-m { \n background-repeat: no-repeat; \n background-position: top center; \n }\n\n .bg-right-m { \n background-repeat: no-repeat; \n background-position: center right; \n }\n\n .bg-bottom-m { \n background-repeat: no-repeat; \n background-position: bottom center; \n }\n\n .bg-left-m { \n background-repeat: no-repeat; \n background-position: center left; \n }\n}\n\n@media #{$breakpoint-large} {\n .bg-center-l { \n background-repeat: no-repeat;\n background-position: center center; \n }\n\n .bg-top-l { \n background-repeat: no-repeat; \n background-position: top center; \n }\n\n .bg-right-l { \n background-repeat: no-repeat; \n background-position: center right; \n }\n\n .bg-bottom-l { \n background-repeat: no-repeat; \n background-position: bottom center; \n }\n\n .bg-left-l { \n background-repeat: no-repeat; \n background-position: center left; \n }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n OUTLINES\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.outline { outline: 1px solid; }\n.outline-transparent { outline: 1px solid transparent; }\n.outline-0 { outline: 0; }\n\n@media #{$breakpoint-not-small} {\n .outline-ns { outline: 1px solid; }\n .outline-transparent-ns { outline: 1px solid transparent; }\n .outline-0-ns { outline: 0; }\n}\n\n@media #{$breakpoint-medium} {\n .outline-m { outline: 1px solid; }\n .outline-transparent-m { outline: 1px solid transparent; }\n .outline-0-m { outline: 0; }\n}\n\n@media #{$breakpoint-large} {\n .outline-l { outline: 1px solid; }\n .outline-transparent-l { outline: 1px solid transparent; }\n .outline-0-l { outline: 0; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n BORDERS\n Docs: http://tachyons.io/docs/themes/borders/\n\n Base:\n b = border\n\n Modifiers:\n a = all\n t = top\n r = right\n b = bottom\n l = left\n n = none\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n .ba { border-style: solid; border-width: 1px; }\n .bt { border-top-style: solid; border-top-width: 1px; }\n .br { border-right-style: solid; border-right-width: 1px; }\n .bb { border-bottom-style: solid; border-bottom-width: 1px; }\n .bl { border-left-style: solid; border-left-width: 1px; }\n .bn { border-style: none; border-width: 0; }\n\n\n@media #{$breakpoint-not-small} {\n .ba-ns { border-style: solid; border-width: 1px; }\n .bt-ns { border-top-style: solid; border-top-width: 1px; }\n .br-ns { border-right-style: solid; border-right-width: 1px; }\n .bb-ns { border-bottom-style: solid; border-bottom-width: 1px; }\n .bl-ns { border-left-style: solid; border-left-width: 1px; }\n .bn-ns { border-style: none; border-width: 0; }\n}\n\n@media #{$breakpoint-medium} {\n .ba-m { border-style: solid; border-width: 1px; }\n .bt-m { border-top-style: solid; border-top-width: 1px; }\n .br-m { border-right-style: solid; border-right-width: 1px; }\n .bb-m { border-bottom-style: solid; border-bottom-width: 1px; }\n .bl-m { border-left-style: solid; border-left-width: 1px; }\n .bn-m { border-style: none; border-width: 0; }\n}\n\n@media #{$breakpoint-large} {\n .ba-l { border-style: solid; border-width: 1px; }\n .bt-l { border-top-style: solid; border-top-width: 1px; }\n .br-l { border-right-style: solid; border-right-width: 1px; }\n .bb-l { border-bottom-style: solid; border-bottom-width: 1px; }\n .bl-l { border-left-style: solid; border-left-width: 1px; }\n .bn-l { border-style: none; border-width: 0; }\n}\n\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n BORDER COLORS\n Docs: http://tachyons.io/docs/themes/borders/\n\n Border colors can be used to extend the base\n border classes ba,bt,bb,br,bl found in the _borders.css file.\n\n The base border class by default will set the color of the border\n to that of the current text color. These classes are for the cases\n where you desire for the text and border colors to be different.\n\n Base:\n b = border\n\n Modifiers:\n --color-name = each color variable name is also a border color name\n\n*/\n\n.b--black { border-color: $black; }\n.b--near-black { border-color: $near-black; }\n.b--dark-gray { border-color: $dark-gray; }\n.b--mid-gray { border-color: $mid-gray; }\n.b--gray { border-color: $gray; }\n.b--silver { border-color: $silver; }\n.b--light-silver { border-color: $light-silver; }\n.b--moon-gray { border-color: $moon-gray; }\n.b--light-gray { border-color: $light-gray; }\n.b--near-white { border-color: $near-white; }\n.b--white { border-color: $white; }\n\n.b--white-90 { border-color: $white-90; }\n.b--white-80 { border-color: $white-80; }\n.b--white-70 { border-color: $white-70; }\n.b--white-60 { border-color: $white-60; }\n.b--white-50 { border-color: $white-50; }\n.b--white-40 { border-color: $white-40; }\n.b--white-30 { border-color: $white-30; }\n.b--white-20 { border-color: $white-20; }\n.b--white-10 { border-color: $white-10; }\n.b--white-05 { border-color: $white-05; }\n.b--white-025 { border-color: $white-025; }\n.b--white-0125 { border-color: $white-0125; }\n\n.b--black-90 { border-color: $black-90; }\n.b--black-80 { border-color: $black-80; }\n.b--black-70 { border-color: $black-70; }\n.b--black-60 { border-color: $black-60; }\n.b--black-50 { border-color: $black-50; }\n.b--black-40 { border-color: $black-40; }\n.b--black-30 { border-color: $black-30; }\n.b--black-20 { border-color: $black-20; }\n.b--black-10 { border-color: $black-10; }\n.b--black-05 { border-color: $black-05; }\n.b--black-025 { border-color: $black-025; }\n.b--black-0125 { border-color: $black-0125; }\n\n.b--dark-red { border-color: $dark-red; }\n.b--red { border-color: $red; }\n.b--light-red { border-color: $light-red; }\n.b--orange { border-color: $orange; }\n.b--gold { border-color: $gold; }\n.b--yellow { border-color: $yellow; }\n.b--light-yellow { border-color: $light-yellow; }\n.b--purple { border-color: $purple; }\n.b--light-purple { border-color: $light-purple; }\n.b--dark-pink { border-color: $dark-pink; }\n.b--hot-pink { border-color: $hot-pink; }\n.b--pink { border-color: $pink; }\n.b--light-pink { border-color: $light-pink; }\n.b--dark-green { border-color: $dark-green; }\n.b--green { border-color: $green; }\n.b--light-green { border-color: $light-green; }\n.b--navy { border-color: $navy; }\n.b--dark-blue { border-color: $dark-blue; }\n.b--blue { border-color: $blue; }\n.b--light-blue { border-color: $light-blue; }\n.b--lightest-blue { border-color: $lightest-blue; }\n.b--washed-blue { border-color: $washed-blue; }\n.b--washed-green { border-color: $washed-green; }\n.b--washed-yellow { border-color: $washed-yellow; }\n.b--washed-red { border-color: $washed-red; }\n\n.b--transparent { border-color: $transparent; }\n.b--inherit { border-color: inherit; }\n","\n// Converted Variables\n\n$sans-serif: -apple-system, BlinkMacSystemFont, 'avenir next', avenir, helvetica, 'helvetica neue', ubuntu, roboto, noto, 'segoe ui', arial, sans-serif !default;\n$serif: georgia, serif !default;\n$code: consolas, monaco, monospace !default;\n$font-size-headline: 6rem !default;\n$font-size-subheadline: 5rem !default;\n$font-size-1: 3rem !default;\n$font-size-2: 2.25rem !default;\n$font-size-3: 1.5rem !default;\n$font-size-4: 1.25rem !default;\n$font-size-5: 1rem !default;\n$font-size-6: .875rem !default;\n$font-size-7: .75rem !default;\n$letter-spacing-tight: -.05em !default;\n$letter-spacing-1: .1em !default;\n$letter-spacing-2: .25em !default;\n$line-height-solid: 1 !default;\n$line-height-title: 1.25 !default;\n$line-height-copy: 1.5 !default;\n$measure: 30em !default;\n$measure-narrow: 20em !default;\n$measure-wide: 34em !default;\n$spacing-none: 0 !default;\n$spacing-extra-small: .25rem !default;\n$spacing-small: .5rem !default;\n$spacing-medium: 1rem !default;\n$spacing-large: 2rem !default;\n$spacing-extra-large: 4rem !default;\n$spacing-extra-extra-large: 8rem !default;\n$spacing-extra-extra-extra-large: 16rem !default;\n$spacing-copy-separator: 1.5em !default;\n$height-1: 1rem !default;\n$height-2: 2rem !default;\n$height-3: 4rem !default;\n$height-4: 8rem !default;\n$height-5: 16rem !default;\n$width-1: 1rem !default;\n$width-2: 2rem !default;\n$width-3: 4rem !default;\n$width-4: 8rem !default;\n$width-5: 16rem !default;\n$max-width-1: 1rem !default;\n$max-width-2: 2rem !default;\n$max-width-3: 4rem !default;\n$max-width-4: 8rem !default;\n$max-width-5: 16rem !default;\n$max-width-6: 32rem !default;\n$max-width-7: 48rem !default;\n$max-width-8: 64rem !default;\n$max-width-9: 96rem !default;\n$border-radius-none: 0 !default;\n$border-radius-1: .125rem !default;\n$border-radius-2: .25rem !default;\n$border-radius-3: .5rem !default;\n$border-radius-4: 1rem !default;\n$border-radius-circle: 100% !default;\n$border-radius-pill: 9999px !default;\n$border-width-none: 0 !default;\n$border-width-1: .125rem !default;\n$border-width-2: .25rem !default;\n$border-width-3: .5rem !default;\n$border-width-4: 1rem !default;\n$border-width-5: 2rem !default;\n$box-shadow-1: 0px 0px 4px 2px rgba( 0, 0, 0, 0.2 ) !default;\n$box-shadow-2: 0px 0px 8px 2px rgba( 0, 0, 0, 0.2 ) !default;\n$box-shadow-3: 2px 2px 4px 2px rgba( 0, 0, 0, 0.2 ) !default;\n$box-shadow-4: 2px 2px 8px 0px rgba( 0, 0, 0, 0.2 ) !default;\n$box-shadow-5: 4px 4px 8px 0px rgba( 0, 0, 0, 0.2 ) !default;\n$black: #000 !default;\n$near-black: #111 !default;\n$dark-gray: #333 !default;\n$mid-gray: #555 !default;\n$gray: #777 !default;\n$silver: #999 !default;\n$light-silver: #aaa !default;\n$moon-gray: #ccc !default;\n$light-gray: #eee !default;\n$near-white: #f4f4f4 !default;\n$white: #fff !default;\n$transparent: transparent !default;\n$black-90: rgba(0,0,0,.9) !default;\n$black-80: rgba(0,0,0,.8) !default;\n$black-70: rgba(0,0,0,.7) !default;\n$black-60: rgba(0,0,0,.6) !default;\n$black-50: rgba(0,0,0,.5) !default;\n$black-40: rgba(0,0,0,.4) !default;\n$black-30: rgba(0,0,0,.3) !default;\n$black-20: rgba(0,0,0,.2) !default;\n$black-10: rgba(0,0,0,.1) !default;\n$black-05: rgba(0,0,0,.05) !default;\n$black-025: rgba(0,0,0,.025) !default;\n$black-0125: rgba(0,0,0,.0125) !default;\n$white-90: rgba(255,255,255,.9) !default;\n$white-80: rgba(255,255,255,.8) !default;\n$white-70: rgba(255,255,255,.7) !default;\n$white-60: rgba(255,255,255,.6) !default;\n$white-50: rgba(255,255,255,.5) !default;\n$white-40: rgba(255,255,255,.4) !default;\n$white-30: rgba(255,255,255,.3) !default;\n$white-20: rgba(255,255,255,.2) !default;\n$white-10: rgba(255,255,255,.1) !default;\n$white-05: rgba(255,255,255,.05) !default;\n$white-025: rgba(255,255,255,.025) !default;\n$white-0125: rgba(255,255,255,.0125) !default;\n$dark-red: #e7040f !default;\n$red: #ff4136 !default;\n$light-red: #ff725c !default;\n$orange: #ff6300 !default;\n$gold: #ffb700 !default;\n$yellow: #ffd700 !default;\n$light-yellow: #fbf1a9 !default;\n$purple: #5e2ca5 !default;\n$light-purple: #a463f2 !default;\n$dark-pink: #d5008f !default;\n$hot-pink: #ff41b4 !default;\n$pink: #ff80cc !default;\n$light-pink: #ffa3d7 !default;\n$dark-green: #137752 !default;\n$green: #19a974 !default;\n$light-green: #9eebcf !default;\n$navy: #001b44 !default;\n$dark-blue: #00449e !default;\n$blue: #357edd !default;\n$light-blue: #96ccff !default;\n$lightest-blue: #cdecff !default;\n$washed-blue: #f6fffe !default;\n$washed-green: #e8fdf5 !default;\n$washed-yellow: #fffceb !default;\n$washed-red: #ffdfdf !default;\n\n// Custom Media Query Variables\n\n$breakpoint-not-small: 'screen and (min-width: 30em)' !default;\n$breakpoint-medium: 'screen and (min-width: 30em) and (max-width: 60em)' !default;\n$breakpoint-large: 'screen and (min-width: 60em)' !default;\n\n/*\n\n VARIABLES\n\n*/\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n BORDER RADIUS\n Docs: http://tachyons.io/docs/themes/border-radius/\n\n Base:\n br = border-radius\n\n Modifiers:\n 0 = 0/none\n 1 = 1st step in scale\n 2 = 2nd step in scale\n 3 = 3rd step in scale\n 4 = 4th step in scale\n\n Literal values:\n -100 = 100%\n -pill = 9999px\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n .br0 { border-radius: $border-radius-none }\n .br1 { border-radius: $border-radius-1; }\n .br2 { border-radius: $border-radius-2; }\n .br3 { border-radius: $border-radius-3; }\n .br4 { border-radius: $border-radius-4; }\n .br-100 { border-radius: $border-radius-circle; }\n .br-pill { border-radius: $border-radius-pill; }\n .br--bottom {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n .br--top {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n .br--right {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .br--left {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n@media #{$breakpoint-not-small} {\n .br0-ns { border-radius: $border-radius-none }\n .br1-ns { border-radius: $border-radius-1; }\n .br2-ns { border-radius: $border-radius-2; }\n .br3-ns { border-radius: $border-radius-3; }\n .br4-ns { border-radius: $border-radius-4; }\n .br-100-ns { border-radius: $border-radius-circle; }\n .br-pill-ns { border-radius: $border-radius-pill; }\n .br--bottom-ns {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n .br--top-ns {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n .br--right-ns {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .br--left-ns {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n\n@media #{$breakpoint-medium} {\n .br0-m { border-radius: $border-radius-none }\n .br1-m { border-radius: $border-radius-1; }\n .br2-m { border-radius: $border-radius-2; }\n .br3-m { border-radius: $border-radius-3; }\n .br4-m { border-radius: $border-radius-4; }\n .br-100-m { border-radius: $border-radius-circle; }\n .br-pill-m { border-radius: $border-radius-pill; }\n .br--bottom-m {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n .br--top-m {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n .br--right-m {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .br--left-m {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n\n@media #{$breakpoint-large} {\n .br0-l { border-radius: $border-radius-none }\n .br1-l { border-radius: $border-radius-1; }\n .br2-l { border-radius: $border-radius-2; }\n .br3-l { border-radius: $border-radius-3; }\n .br4-l { border-radius: $border-radius-4; }\n .br-100-l { border-radius: $border-radius-circle; }\n .br-pill-l { border-radius: $border-radius-pill; }\n .br--bottom-l {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n .br--top-l {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n .br--right-l {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .br--left-l {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n BORDER STYLES\n Docs: http://tachyons.io/docs/themes/borders/\n\n Depends on base border module in _borders.css\n\n Base:\n b = border-style\n\n Modifiers:\n --none = none\n --dotted = dotted\n --dashed = dashed\n --solid = solid\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n */\n\n.b--dotted { border-style: dotted; }\n.b--dashed { border-style: dashed; }\n.b--solid { border-style: solid; }\n.b--none { border-style: none; }\n\n@media #{$breakpoint-not-small} {\n .b--dotted-ns { border-style: dotted; }\n .b--dashed-ns { border-style: dashed; }\n .b--solid-ns { border-style: solid; }\n .b--none-ns { border-style: none; }\n}\n\n@media #{$breakpoint-medium} {\n .b--dotted-m { border-style: dotted; }\n .b--dashed-m { border-style: dashed; }\n .b--solid-m { border-style: solid; }\n .b--none-m { border-style: none; }\n}\n\n@media #{$breakpoint-large} {\n .b--dotted-l { border-style: dotted; }\n .b--dashed-l { border-style: dashed; }\n .b--solid-l { border-style: solid; }\n .b--none-l { border-style: none; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n BORDER WIDTHS\n Docs: http://tachyons.io/docs/themes/borders/\n\n Base:\n bw = border-width\n\n Modifiers:\n 0 = 0 width border\n 1 = 1st step in border-width scale\n 2 = 2nd step in border-width scale\n 3 = 3rd step in border-width scale\n 4 = 4th step in border-width scale\n 5 = 5th step in border-width scale\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.bw0 { border-width: $border-width-none; }\n.bw1 { border-width: $border-width-1; }\n.bw2 { border-width: $border-width-2; }\n.bw3 { border-width: $border-width-3; }\n.bw4 { border-width: $border-width-4; }\n.bw5 { border-width: $border-width-5; }\n\n/* Resets */\n.bt-0 { border-top-width: $border-width-none }\n.br-0 { border-right-width: $border-width-none }\n.bb-0 { border-bottom-width: $border-width-none }\n.bl-0 { border-left-width: $border-width-none }\n\n@media #{$breakpoint-not-small} {\n .bw0-ns { border-width: $border-width-none; }\n .bw1-ns { border-width: $border-width-1; }\n .bw2-ns { border-width: $border-width-2; }\n .bw3-ns { border-width: $border-width-3; }\n .bw4-ns { border-width: $border-width-4; }\n .bw5-ns { border-width: $border-width-5; }\n .bt-0-ns { border-top-width: $border-width-none }\n .br-0-ns { border-right-width: $border-width-none }\n .bb-0-ns { border-bottom-width: $border-width-none }\n .bl-0-ns { border-left-width: $border-width-none }\n}\n\n@media #{$breakpoint-medium} {\n .bw0-m { border-width: $border-width-none; }\n .bw1-m { border-width: $border-width-1; }\n .bw2-m { border-width: $border-width-2; }\n .bw3-m { border-width: $border-width-3; }\n .bw4-m { border-width: $border-width-4; }\n .bw5-m { border-width: $border-width-5; }\n .bt-0-m { border-top-width: $border-width-none }\n .br-0-m { border-right-width: $border-width-none }\n .bb-0-m { border-bottom-width: $border-width-none }\n .bl-0-m { border-left-width: $border-width-none }\n}\n\n@media #{$breakpoint-large} {\n .bw0-l { border-width: $border-width-none; }\n .bw1-l { border-width: $border-width-1; }\n .bw2-l { border-width: $border-width-2; }\n .bw3-l { border-width: $border-width-3; }\n .bw4-l { border-width: $border-width-4; }\n .bw5-l { border-width: $border-width-5; }\n .bt-0-l { border-top-width: $border-width-none }\n .br-0-l { border-right-width: $border-width-none }\n .bb-0-l { border-bottom-width: $border-width-none }\n .bl-0-l { border-left-width: $border-width-none }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n BOX-SHADOW\n Docs: http://tachyons.io/docs/themes/box-shadow/\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n */\n\n.shadow-1 { box-shadow: $box-shadow-1; }\n.shadow-2 { box-shadow: $box-shadow-2; }\n.shadow-3 { box-shadow: $box-shadow-3; }\n.shadow-4 { box-shadow: $box-shadow-4; }\n.shadow-5 { box-shadow: $box-shadow-5; }\n\n@media #{$breakpoint-not-small} {\n .shadow-1-ns { box-shadow: $box-shadow-1; }\n .shadow-2-ns { box-shadow: $box-shadow-2; }\n .shadow-3-ns { box-shadow: $box-shadow-3; }\n .shadow-4-ns { box-shadow: $box-shadow-4; }\n .shadow-5-ns { box-shadow: $box-shadow-5; }\n}\n\n@media #{$breakpoint-medium} {\n .shadow-1-m { box-shadow: $box-shadow-1; }\n .shadow-2-m { box-shadow: $box-shadow-2; }\n .shadow-3-m { box-shadow: $box-shadow-3; }\n .shadow-4-m { box-shadow: $box-shadow-4; }\n .shadow-5-m { box-shadow: $box-shadow-5; }\n}\n\n@media #{$breakpoint-large} {\n .shadow-1-l { box-shadow: $box-shadow-1; }\n .shadow-2-l { box-shadow: $box-shadow-2; }\n .shadow-3-l { box-shadow: $box-shadow-3; }\n .shadow-4-l { box-shadow: $box-shadow-4; }\n .shadow-5-l { box-shadow: $box-shadow-5; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n CODE\n\n*/\n\n.pre {\n overflow-x: auto;\n overflow-y: hidden;\n overflow: scroll;\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n COORDINATES\n Docs: http://tachyons.io/docs/layout/position/\n\n Use in combination with the position module.\n\n Base:\n top\n bottom\n right\n left\n\n Modifiers:\n -0 = literal value 0\n -1 = literal value 1\n -2 = literal value 2\n --1 = literal value -1\n --2 = literal value -2\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.top-0 { top: 0; }\n.right-0 { right: 0; }\n.bottom-0 { bottom: 0; }\n.left-0 { left: 0; }\n\n.top-1 { top: 1rem; }\n.right-1 { right: 1rem; }\n.bottom-1 { bottom: 1rem; }\n.left-1 { left: 1rem; }\n\n.top-2 { top: 2rem; }\n.right-2 { right: 2rem; }\n.bottom-2 { bottom: 2rem; }\n.left-2 { left: 2rem; }\n\n.top--1 { top: -1rem; }\n.right--1 { right: -1rem; }\n.bottom--1 { bottom: -1rem; }\n.left--1 { left: -1rem; }\n\n.top--2 { top: -2rem; }\n.right--2 { right: -2rem; }\n.bottom--2 { bottom: -2rem; }\n.left--2 { left: -2rem; }\n\n\n.absolute--fill {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n\n@media #{$breakpoint-not-small} {\n .top-0-ns { top: 0; }\n .left-0-ns { left: 0; }\n .right-0-ns { right: 0; }\n .bottom-0-ns { bottom: 0; }\n .top-1-ns { top: 1rem; }\n .left-1-ns { left: 1rem; }\n .right-1-ns { right: 1rem; }\n .bottom-1-ns { bottom: 1rem; }\n .top-2-ns { top: 2rem; }\n .left-2-ns { left: 2rem; }\n .right-2-ns { right: 2rem; }\n .bottom-2-ns { bottom: 2rem; }\n .top--1-ns { top: -1rem; }\n .right--1-ns { right: -1rem; }\n .bottom--1-ns { bottom: -1rem; }\n .left--1-ns { left: -1rem; }\n .top--2-ns { top: -2rem; }\n .right--2-ns { right: -2rem; }\n .bottom--2-ns { bottom: -2rem; }\n .left--2-ns { left: -2rem; }\n .absolute--fill-ns {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n}\n\n@media #{$breakpoint-medium} {\n .top-0-m { top: 0; }\n .left-0-m { left: 0; }\n .right-0-m { right: 0; }\n .bottom-0-m { bottom: 0; }\n .top-1-m { top: 1rem; }\n .left-1-m { left: 1rem; }\n .right-1-m { right: 1rem; }\n .bottom-1-m { bottom: 1rem; }\n .top-2-m { top: 2rem; }\n .left-2-m { left: 2rem; }\n .right-2-m { right: 2rem; }\n .bottom-2-m { bottom: 2rem; }\n .top--1-m { top: -1rem; }\n .right--1-m { right: -1rem; }\n .bottom--1-m { bottom: -1rem; }\n .left--1-m { left: -1rem; }\n .top--2-m { top: -2rem; }\n .right--2-m { right: -2rem; }\n .bottom--2-m { bottom: -2rem; }\n .left--2-m { left: -2rem; }\n .absolute--fill-m {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n}\n\n@media #{$breakpoint-large} {\n .top-0-l { top: 0; }\n .left-0-l { left: 0; }\n .right-0-l { right: 0; }\n .bottom-0-l { bottom: 0; }\n .top-1-l { top: 1rem; }\n .left-1-l { left: 1rem; }\n .right-1-l { right: 1rem; }\n .bottom-1-l { bottom: 1rem; }\n .top-2-l { top: 2rem; }\n .left-2-l { left: 2rem; }\n .right-2-l { right: 2rem; }\n .bottom-2-l { bottom: 2rem; }\n .top--1-l { top: -1rem; }\n .right--1-l { right: -1rem; }\n .bottom--1-l { bottom: -1rem; }\n .left--1-l { left: -1rem; }\n .top--2-l { top: -2rem; }\n .right--2-l { right: -2rem; }\n .bottom--2-l { bottom: -2rem; }\n .left--2-l { left: -2rem; }\n .absolute--fill-l {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n CLEARFIX\n http://tachyons.io/docs/layout/clearfix/\n\n*/\n\n/* Nicolas Gallaghers Clearfix solution\n Ref: http://nicolasgallagher.com/micro-clearfix-hack/ */\n\n.cf:before,\n.cf:after { content: \" \"; display: table; }\n.cf:after { clear: both; }\n.cf { *zoom: 1; }\n\n.cl { clear: left; }\n.cr { clear: right; }\n.cb { clear: both; }\n.cn { clear: none; }\n\n@media #{$breakpoint-not-small} {\n .cl-ns { clear: left; }\n .cr-ns { clear: right; }\n .cb-ns { clear: both; }\n .cn-ns { clear: none; }\n}\n\n@media #{$breakpoint-medium} {\n .cl-m { clear: left; }\n .cr-m { clear: right; }\n .cb-m { clear: both; }\n .cn-m { clear: none; }\n}\n\n@media #{$breakpoint-large} {\n .cl-l { clear: left; }\n .cr-l { clear: right; }\n .cb-l { clear: both; }\n .cn-l { clear: none; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n FLEXBOX\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.flex { display: flex; }\n.inline-flex { display: inline-flex; }\n\n/* 1. Fix for Chrome 44 bug.\n * https://code.google.com/p/chromium/issues/detail?id=506893 */\n.flex-auto {\n flex: 1 1 auto;\n min-width: 0; /* 1 */\n min-height: 0; /* 1 */\n}\n\n.flex-none { flex: none; }\n\n.flex-column { flex-direction: column; }\n.flex-row { flex-direction: row; }\n.flex-wrap { flex-wrap: wrap; }\n.flex-nowrap { flex-wrap: nowrap; }\n.flex-wrap-reverse { flex-wrap: wrap-reverse; }\n.flex-column-reverse { flex-direction: column-reverse; }\n.flex-row-reverse { flex-direction: row-reverse; }\n\n.items-start { align-items: flex-start; }\n.items-end { align-items: flex-end; }\n.items-center { align-items: center; }\n.items-baseline { align-items: baseline; }\n.items-stretch { align-items: stretch; }\n\n.self-start { align-self: flex-start; }\n.self-end { align-self: flex-end; }\n.self-center { align-self: center; }\n.self-baseline { align-self: baseline; }\n.self-stretch { align-self: stretch; }\n\n.justify-start { justify-content: flex-start; }\n.justify-end { justify-content: flex-end; }\n.justify-center { justify-content: center; }\n.justify-between { justify-content: space-between; }\n.justify-around { justify-content: space-around; }\n\n.content-start { align-content: flex-start; }\n.content-end { align-content: flex-end; }\n.content-center { align-content: center; }\n.content-between { align-content: space-between; }\n.content-around { align-content: space-around; }\n.content-stretch { align-content: stretch; }\n\n.order-0 { order: 0; }\n.order-1 { order: 1; }\n.order-2 { order: 2; }\n.order-3 { order: 3; }\n.order-4 { order: 4; }\n.order-5 { order: 5; }\n.order-6 { order: 6; }\n.order-7 { order: 7; }\n.order-8 { order: 8; }\n.order-last { order: 99999; }\n\n.flex-grow-0 { flex-grow: 0; }\n.flex-grow-1 { flex-grow: 1; }\n\n.flex-shrink-0 { flex-shrink: 0; }\n.flex-shrink-1 { flex-shrink: 1; }\n\n@media #{$breakpoint-not-small} {\n .flex-ns { display: flex; }\n .inline-flex-ns { display: inline-flex; }\n .flex-auto-ns {\n flex: 1 1 auto;\n min-width: 0; /* 1 */\n min-height: 0; /* 1 */\n }\n .flex-none-ns { flex: none; }\n .flex-column-ns { flex-direction: column; }\n .flex-row-ns { flex-direction: row; }\n .flex-wrap-ns { flex-wrap: wrap; }\n .flex-nowrap-ns { flex-wrap: nowrap; }\n .flex-wrap-reverse-ns { flex-wrap: wrap-reverse; }\n .flex-column-reverse-ns { flex-direction: column-reverse; }\n .flex-row-reverse-ns { flex-direction: row-reverse; }\n .items-start-ns { align-items: flex-start; }\n .items-end-ns { align-items: flex-end; }\n .items-center-ns { align-items: center; }\n .items-baseline-ns { align-items: baseline; }\n .items-stretch-ns { align-items: stretch; }\n\n .self-start-ns { align-self: flex-start; }\n .self-end-ns { align-self: flex-end; }\n .self-center-ns { align-self: center; }\n .self-baseline-ns { align-self: baseline; }\n .self-stretch-ns { align-self: stretch; }\n\n .justify-start-ns { justify-content: flex-start; }\n .justify-end-ns { justify-content: flex-end; }\n .justify-center-ns { justify-content: center; }\n .justify-between-ns { justify-content: space-between; }\n .justify-around-ns { justify-content: space-around; }\n\n .content-start-ns { align-content: flex-start; }\n .content-end-ns { align-content: flex-end; }\n .content-center-ns { align-content: center; }\n .content-between-ns { align-content: space-between; }\n .content-around-ns { align-content: space-around; }\n .content-stretch-ns { align-content: stretch; }\n\n .order-0-ns { order: 0; }\n .order-1-ns { order: 1; }\n .order-2-ns { order: 2; }\n .order-3-ns { order: 3; }\n .order-4-ns { order: 4; }\n .order-5-ns { order: 5; }\n .order-6-ns { order: 6; }\n .order-7-ns { order: 7; }\n .order-8-ns { order: 8; }\n .order-last-ns { order: 99999; }\n\n .flex-grow-0-ns { flex-grow: 0; }\n .flex-grow-1-ns { flex-grow: 1; }\n\n .flex-shrink-0-ns { flex-shrink: 0; }\n .flex-shrink-1-ns { flex-shrink: 1; }\n}\n@media #{$breakpoint-medium} {\n .flex-m { display: flex; }\n .inline-flex-m { display: inline-flex; }\n .flex-auto-m {\n flex: 1 1 auto;\n min-width: 0; /* 1 */\n min-height: 0; /* 1 */\n }\n .flex-none-m { flex: none; }\n .flex-column-m { flex-direction: column; }\n .flex-row-m { flex-direction: row; }\n .flex-wrap-m { flex-wrap: wrap; }\n .flex-nowrap-m { flex-wrap: nowrap; }\n .flex-wrap-reverse-m { flex-wrap: wrap-reverse; }\n .flex-column-reverse-m { flex-direction: column-reverse; }\n .flex-row-reverse-m { flex-direction: row-reverse; }\n .items-start-m { align-items: flex-start; }\n .items-end-m { align-items: flex-end; }\n .items-center-m { align-items: center; }\n .items-baseline-m { align-items: baseline; }\n .items-stretch-m { align-items: stretch; }\n\n .self-start-m { align-self: flex-start; }\n .self-end-m { align-self: flex-end; }\n .self-center-m { align-self: center; }\n .self-baseline-m { align-self: baseline; }\n .self-stretch-m { align-self: stretch; }\n\n .justify-start-m { justify-content: flex-start; }\n .justify-end-m { justify-content: flex-end; }\n .justify-center-m { justify-content: center; }\n .justify-between-m { justify-content: space-between; }\n .justify-around-m { justify-content: space-around; }\n\n .content-start-m { align-content: flex-start; }\n .content-end-m { align-content: flex-end; }\n .content-center-m { align-content: center; }\n .content-between-m { align-content: space-between; }\n .content-around-m { align-content: space-around; }\n .content-stretch-m { align-content: stretch; }\n\n .order-0-m { order: 0; }\n .order-1-m { order: 1; }\n .order-2-m { order: 2; }\n .order-3-m { order: 3; }\n .order-4-m { order: 4; }\n .order-5-m { order: 5; }\n .order-6-m { order: 6; }\n .order-7-m { order: 7; }\n .order-8-m { order: 8; }\n .order-last-m { order: 99999; }\n\n .flex-grow-0-m { flex-grow: 0; }\n .flex-grow-1-m { flex-grow: 1; }\n\n .flex-shrink-0-m { flex-shrink: 0; }\n .flex-shrink-1-m { flex-shrink: 1; }\n}\n\n@media #{$breakpoint-large} {\n .flex-l { display: flex; }\n .inline-flex-l { display: inline-flex; }\n .flex-auto-l {\n flex: 1 1 auto;\n min-width: 0; /* 1 */\n min-height: 0; /* 1 */\n }\n .flex-none-l { flex: none; }\n .flex-column-l { flex-direction: column; }\n .flex-row-l { flex-direction: row; }\n .flex-wrap-l { flex-wrap: wrap; }\n .flex-nowrap-l { flex-wrap: nowrap; }\n .flex-wrap-reverse-l { flex-wrap: wrap-reverse; }\n .flex-column-reverse-l { flex-direction: column-reverse; }\n .flex-row-reverse-l { flex-direction: row-reverse; }\n\n .items-start-l { align-items: flex-start; }\n .items-end-l { align-items: flex-end; }\n .items-center-l { align-items: center; }\n .items-baseline-l { align-items: baseline; }\n .items-stretch-l { align-items: stretch; }\n\n .self-start-l { align-self: flex-start; }\n .self-end-l { align-self: flex-end; }\n .self-center-l { align-self: center; }\n .self-baseline-l { align-self: baseline; }\n .self-stretch-l { align-self: stretch; }\n\n .justify-start-l { justify-content: flex-start; }\n .justify-end-l { justify-content: flex-end; }\n .justify-center-l { justify-content: center; }\n .justify-between-l { justify-content: space-between; }\n .justify-around-l { justify-content: space-around; }\n\n .content-start-l { align-content: flex-start; }\n .content-end-l { align-content: flex-end; }\n .content-center-l { align-content: center; }\n .content-between-l { align-content: space-between; }\n .content-around-l { align-content: space-around; }\n .content-stretch-l { align-content: stretch; }\n\n .order-0-l { order: 0; }\n .order-1-l { order: 1; }\n .order-2-l { order: 2; }\n .order-3-l { order: 3; }\n .order-4-l { order: 4; }\n .order-5-l { order: 5; }\n .order-6-l { order: 6; }\n .order-7-l { order: 7; }\n .order-8-l { order: 8; }\n .order-last-l { order: 99999; }\n\n .flex-grow-0-l { flex-grow: 0; }\n .flex-grow-1-l { flex-grow: 1; }\n\n .flex-shrink-0-l { flex-shrink: 0; }\n .flex-shrink-1-l { flex-shrink: 1; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n DISPLAY\n Docs: http://tachyons.io/docs/layout/display\n\n Base:\n d = display\n\n Modifiers:\n n = none\n b = block\n ib = inline-block\n it = inline-table\n t = table\n tc = table-cell\n tr = table-row\n tcol = table-column\n tcolg = table-column-group\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.dn { display: none; }\n.di { display: inline; }\n.db { display: block; }\n.dib { display: inline-block; }\n.dit { display: inline-table; }\n.dt { display: table; }\n.dtc { display: table-cell; }\n.dt-row { display: table-row; }\n.dt-row-group { display: table-row-group; }\n.dt-column { display: table-column; }\n.dt-column-group { display: table-column-group; }\n\n/*\n This will set table to full width and then\n all cells will be equal width\n*/\n.dt--fixed {\n table-layout: fixed;\n width: 100%;\n}\n\n@media #{$breakpoint-not-small} {\n .dn-ns { display: none; }\n .di-ns { display: inline; }\n .db-ns { display: block; }\n .dib-ns { display: inline-block; }\n .dit-ns { display: inline-table; }\n .dt-ns { display: table; }\n .dtc-ns { display: table-cell; }\n .dt-row-ns { display: table-row; }\n .dt-row-group-ns { display: table-row-group; }\n .dt-column-ns { display: table-column; }\n .dt-column-group-ns { display: table-column-group; }\n\n .dt--fixed-ns {\n table-layout: fixed;\n width: 100%;\n }\n}\n\n@media #{$breakpoint-medium} {\n .dn-m { display: none; }\n .di-m { display: inline; }\n .db-m { display: block; }\n .dib-m { display: inline-block; }\n .dit-m { display: inline-table; }\n .dt-m { display: table; }\n .dtc-m { display: table-cell; }\n .dt-row-m { display: table-row; }\n .dt-row-group-m { display: table-row-group; }\n .dt-column-m { display: table-column; }\n .dt-column-group-m { display: table-column-group; }\n\n .dt--fixed-m {\n table-layout: fixed;\n width: 100%;\n }\n}\n\n@media #{$breakpoint-large} {\n .dn-l { display: none; }\n .di-l { display: inline; }\n .db-l { display: block; }\n .dib-l { display: inline-block; }\n .dit-l { display: inline-table; }\n .dt-l { display: table; }\n .dtc-l { display: table-cell; }\n .dt-row-l { display: table-row; }\n .dt-row-group-l { display: table-row-group; }\n .dt-column-l { display: table-column; }\n .dt-column-group-l { display: table-column-group; }\n\n .dt--fixed-l {\n table-layout: fixed;\n width: 100%;\n }\n}\n\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n FLOATS\n http://tachyons.io/docs/layout/floats/\n\n 1. Floated elements are automatically rendered as block level elements.\n Setting floats to display inline will fix the double margin bug in\n ie6. You know... just in case.\n\n 2. Don't forget to clearfix your floats with .cf\n\n Base:\n f = float\n\n Modifiers:\n l = left\n r = right\n n = none\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n\n\n.fl { float: left; _display: inline; }\n.fr { float: right; _display: inline; }\n.fn { float: none; }\n\n@media #{$breakpoint-not-small} {\n .fl-ns { float: left; _display: inline; }\n .fr-ns { float: right; _display: inline; }\n .fn-ns { float: none; }\n}\n\n@media #{$breakpoint-medium} {\n .fl-m { float: left; _display: inline; }\n .fr-m { float: right; _display: inline; }\n .fn-m { float: none; }\n}\n\n@media #{$breakpoint-large} {\n .fl-l { float: left; _display: inline; }\n .fr-l { float: right; _display: inline; }\n .fn-l { float: none; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n FONT FAMILY GROUPS\n Docs: http://tachyons.io/docs/typography/font-family/\n\n*/\n\n\n.sans-serif {\n font-family: $sans-serif;\n}\n\n.serif {\n font-family: $serif;\n}\n\n.system-sans-serif {\n font-family: sans-serif;\n}\n\n.system-serif {\n font-family: serif;\n}\n\n\n/* Monospaced Typefaces (for code) */\n\n/* From http://cssfontstack.com */\ncode, .code {\n font-family: Consolas,\n monaco,\n monospace;\n}\n\n.courier {\n font-family: 'Courier Next',\n courier,\n monospace;\n}\n\n\n/* Sans-Serif Typefaces */\n\n.helvetica {\n font-family: 'helvetica neue', helvetica,\n sans-serif;\n}\n\n.avenir {\n font-family: 'avenir next', avenir,\n sans-serif;\n}\n\n\n/* Serif Typefaces */\n\n.athelas {\n font-family: athelas,\n georgia,\n serif;\n}\n\n.georgia {\n font-family: georgia,\n serif;\n}\n\n.times {\n font-family: times,\n serif;\n}\n\n.bodoni {\n font-family: \"Bodoni MT\",\n serif;\n}\n\n.calisto {\n font-family: \"Calisto MT\",\n serif;\n}\n\n.garamond {\n font-family: garamond,\n serif;\n}\n\n.baskerville {\n font-family: baskerville,\n serif;\n}\n\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n FONT STYLE\n Docs: http://tachyons.io/docs/typography/font-style/\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.i { font-style: italic; }\n.fs-normal { font-style: normal; }\n\n@media #{$breakpoint-not-small} {\n .i-ns { font-style: italic; }\n .fs-normal-ns { font-style: normal; }\n}\n\n@media #{$breakpoint-medium} {\n .i-m { font-style: italic; }\n .fs-normal-m { font-style: normal; }\n}\n\n@media #{$breakpoint-large} {\n .i-l { font-style: italic; }\n .fs-normal-l { font-style: normal; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n FONT WEIGHT\n Docs: http://tachyons.io/docs/typography/font-weight/\n\n Base\n fw = font-weight\n\n Modifiers:\n 1 = literal value 100\n 2 = literal value 200\n 3 = literal value 300\n 4 = literal value 400\n 5 = literal value 500\n 6 = literal value 600\n 7 = literal value 700\n 8 = literal value 800\n 9 = literal value 900\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.normal { font-weight: normal; }\n.b { font-weight: bold; }\n.fw1 { font-weight: 100; }\n.fw2 { font-weight: 200; }\n.fw3 { font-weight: 300; }\n.fw4 { font-weight: 400; }\n.fw5 { font-weight: 500; }\n.fw6 { font-weight: 600; }\n.fw7 { font-weight: 700; }\n.fw8 { font-weight: 800; }\n.fw9 { font-weight: 900; }\n\n\n@media #{$breakpoint-not-small} {\n .normal-ns { font-weight: normal; }\n .b-ns { font-weight: bold; }\n .fw1-ns { font-weight: 100; }\n .fw2-ns { font-weight: 200; }\n .fw3-ns { font-weight: 300; }\n .fw4-ns { font-weight: 400; }\n .fw5-ns { font-weight: 500; }\n .fw6-ns { font-weight: 600; }\n .fw7-ns { font-weight: 700; }\n .fw8-ns { font-weight: 800; }\n .fw9-ns { font-weight: 900; }\n}\n\n@media #{$breakpoint-medium} {\n .normal-m { font-weight: normal; }\n .b-m { font-weight: bold; }\n .fw1-m { font-weight: 100; }\n .fw2-m { font-weight: 200; }\n .fw3-m { font-weight: 300; }\n .fw4-m { font-weight: 400; }\n .fw5-m { font-weight: 500; }\n .fw6-m { font-weight: 600; }\n .fw7-m { font-weight: 700; }\n .fw8-m { font-weight: 800; }\n .fw9-m { font-weight: 900; }\n}\n\n@media #{$breakpoint-large} {\n .normal-l { font-weight: normal; }\n .b-l { font-weight: bold; }\n .fw1-l { font-weight: 100; }\n .fw2-l { font-weight: 200; }\n .fw3-l { font-weight: 300; }\n .fw4-l { font-weight: 400; }\n .fw5-l { font-weight: 500; }\n .fw6-l { font-weight: 600; }\n .fw7-l { font-weight: 700; }\n .fw8-l { font-weight: 800; }\n .fw9-l { font-weight: 900; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n FORMS\n \n*/\n\n.input-reset {\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n.button-reset::-moz-focus-inner,\n.input-reset::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n HEIGHTS\n Docs: http://tachyons.io/docs/layout/heights/\n\n Base:\n h = height\n min-h = min-height\n min-vh = min-height vertical screen height\n vh = vertical screen height\n\n Modifiers\n 1 = 1st step in height scale\n 2 = 2nd step in height scale\n 3 = 3rd step in height scale\n 4 = 4th step in height scale\n 5 = 5th step in height scale\n\n -25 = literal value 25%\n -50 = literal value 50%\n -75 = literal value 75%\n -100 = literal value 100%\n\n -auto = string value of auto\n -inherit = string value of inherit\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n/* Height Scale */\n\n.h1 { height: $height-1; }\n.h2 { height: $height-2; }\n.h3 { height: $height-3; }\n.h4 { height: $height-4; }\n.h5 { height: $height-5; }\n\n/* Height Percentages - Based off of height of parent */\n\n.h-25 { height: 25%; }\n.h-50 { height: 50%; }\n.h-75 { height: 75%; }\n.h-100 { height: 100%; }\n\n.min-h-100 { min-height: 100%; }\n\n/* Screen Height Percentage */\n\n.vh-25 { height: 25vh; }\n.vh-50 { height: 50vh; }\n.vh-75 { height: 75vh; }\n.vh-100 { height: 100vh; }\n\n.min-vh-100 { min-height: 100vh; }\n\n\n/* String Properties */\n\n.h-auto { height: auto; }\n.h-inherit { height: inherit; }\n\n@media #{$breakpoint-not-small} {\n .h1-ns { height: $height-1; }\n .h2-ns { height: $height-2; }\n .h3-ns { height: $height-3; }\n .h4-ns { height: $height-4; }\n .h5-ns { height: $height-5; }\n .h-25-ns { height: 25%; }\n .h-50-ns { height: 50%; }\n .h-75-ns { height: 75%; }\n .h-100-ns { height: 100%; }\n .min-h-100-ns { min-height: 100%; }\n .vh-25-ns { height: 25vh; }\n .vh-50-ns { height: 50vh; }\n .vh-75-ns { height: 75vh; }\n .vh-100-ns { height: 100vh; }\n .min-vh-100-ns { min-height: 100vh; }\n .h-auto-ns { height: auto; }\n .h-inherit-ns { height: inherit; }\n}\n\n@media #{$breakpoint-medium} {\n .h1-m { height: $height-1; }\n .h2-m { height: $height-2; }\n .h3-m { height: $height-3; }\n .h4-m { height: $height-4; }\n .h5-m { height: $height-5; }\n .h-25-m { height: 25%; }\n .h-50-m { height: 50%; }\n .h-75-m { height: 75%; }\n .h-100-m { height: 100%; }\n .min-h-100-m { min-height: 100%; }\n .vh-25-m { height: 25vh; }\n .vh-50-m { height: 50vh; }\n .vh-75-m { height: 75vh; }\n .vh-100-m { height: 100vh; }\n .min-vh-100-m { min-height: 100vh; }\n .h-auto-m { height: auto; }\n .h-inherit-m { height: inherit; }\n}\n\n@media #{$breakpoint-large} {\n .h1-l { height: $height-1; }\n .h2-l { height: $height-2; }\n .h3-l { height: $height-3; }\n .h4-l { height: $height-4; }\n .h5-l { height: $height-5; }\n .h-25-l { height: 25%; }\n .h-50-l { height: 50%; }\n .h-75-l { height: 75%; }\n .h-100-l { height: 100%; }\n .min-h-100-l { min-height: 100%; }\n .vh-25-l { height: 25vh; }\n .vh-50-l { height: 50vh; }\n .vh-75-l { height: 75vh; }\n .vh-100-l { height: 100vh; }\n .min-vh-100-l { min-height: 100vh; }\n .h-auto-l { height: auto; }\n .h-inherit-l { height: inherit; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n LETTER SPACING\n Docs: http://tachyons.io/docs/typography/tracking/\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.tracked { letter-spacing: $letter-spacing-1; }\n.tracked-tight { letter-spacing: $letter-spacing-tight; }\n.tracked-mega { letter-spacing: $letter-spacing-2; }\n\n@media #{$breakpoint-not-small} {\n .tracked-ns { letter-spacing: $letter-spacing-1; }\n .tracked-tight-ns { letter-spacing: $letter-spacing-tight; }\n .tracked-mega-ns { letter-spacing: $letter-spacing-2; }\n}\n\n@media #{$breakpoint-medium} {\n .tracked-m { letter-spacing: $letter-spacing-1; }\n .tracked-tight-m { letter-spacing: $letter-spacing-tight; }\n .tracked-mega-m { letter-spacing: $letter-spacing-2; }\n}\n\n@media #{$breakpoint-large} {\n .tracked-l { letter-spacing: $letter-spacing-1; }\n .tracked-tight-l { letter-spacing: $letter-spacing-tight; }\n .tracked-mega-l { letter-spacing: $letter-spacing-2; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n LINE HEIGHT / LEADING\n Docs: http://tachyons.io/docs/typography/line-height\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n .lh-solid { line-height: $line-height-solid; }\n .lh-title { line-height: $line-height-title; }\n .lh-copy { line-height: $line-height-copy; }\n\n@media #{$breakpoint-not-small} {\n .lh-solid-ns { line-height: $line-height-solid; }\n .lh-title-ns { line-height: $line-height-title; }\n .lh-copy-ns { line-height: $line-height-copy; }\n}\n\n@media #{$breakpoint-medium} {\n .lh-solid-m { line-height: $line-height-solid; }\n .lh-title-m { line-height: $line-height-title; }\n .lh-copy-m { line-height: $line-height-copy; }\n}\n\n@media #{$breakpoint-large} {\n .lh-solid-l { line-height: $line-height-solid; }\n .lh-title-l { line-height: $line-height-title; }\n .lh-copy-l { line-height: $line-height-copy; }\n}\n\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n LINKS\n Docs: http://tachyons.io/docs/elements/links/\n\n*/\n\n.link {\n text-decoration: none;\n transition: color .15s ease-in;\n}\n\n.link:link,\n.link:visited {\n transition: color .15s ease-in;\n}\n.link:hover {\n transition: color .15s ease-in;\n}\n.link:active {\n transition: color .15s ease-in;\n}\n.link:focus {\n transition: color .15s ease-in;\n outline: 1px dotted currentColor;\n}\n\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n LISTS\n http://tachyons.io/docs/elements/lists/\n\n*/\n\n.list { list-style-type: none; }\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n MAX WIDTHS\n Docs: http://tachyons.io/docs/layout/max-widths/\n\n Base:\n mw = max-width\n\n Modifiers\n 1 = 1st step in width scale\n 2 = 2nd step in width scale\n 3 = 3rd step in width scale\n 4 = 4th step in width scale\n 5 = 5th step in width scale\n 6 = 6st step in width scale\n 7 = 7nd step in width scale\n 8 = 8rd step in width scale\n 9 = 9th step in width scale\n\n -100 = literal value 100%\n\n -none = string value none\n\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n/* Max Width Percentages */\n\n.mw-100 { max-width: 100%; }\n\n/* Max Width Scale */\n\n.mw1 { max-width: $max-width-1; }\n.mw2 { max-width: $max-width-2; }\n.mw3 { max-width: $max-width-3; }\n.mw4 { max-width: $max-width-4; }\n.mw5 { max-width: $max-width-5; }\n.mw6 { max-width: $max-width-6; }\n.mw7 { max-width: $max-width-7; }\n.mw8 { max-width: $max-width-8; }\n.mw9 { max-width: $max-width-9; }\n\n/* Max Width String Properties */\n\n.mw-none { max-width: none; }\n\n@media #{$breakpoint-not-small} {\n .mw-100-ns { max-width: 100%; }\n\n .mw1-ns { max-width: $max-width-1; }\n .mw2-ns { max-width: $max-width-2; }\n .mw3-ns { max-width: $max-width-3; }\n .mw4-ns { max-width: $max-width-4; }\n .mw5-ns { max-width: $max-width-5; }\n .mw6-ns { max-width: $max-width-6; }\n .mw7-ns { max-width: $max-width-7; }\n .mw8-ns { max-width: $max-width-8; }\n .mw9-ns { max-width: $max-width-9; }\n\n .mw-none-ns { max-width: none; }\n}\n\n@media #{$breakpoint-medium} {\n .mw-100-m { max-width: 100%; }\n\n .mw1-m { max-width: $max-width-1; }\n .mw2-m { max-width: $max-width-2; }\n .mw3-m { max-width: $max-width-3; }\n .mw4-m { max-width: $max-width-4; }\n .mw5-m { max-width: $max-width-5; }\n .mw6-m { max-width: $max-width-6; }\n .mw7-m { max-width: $max-width-7; }\n .mw8-m { max-width: $max-width-8; }\n .mw9-m { max-width: $max-width-9; }\n\n .mw-none-m { max-width: none; }\n}\n\n@media #{$breakpoint-large} {\n .mw-100-l { max-width: 100%; }\n\n .mw1-l { max-width: $max-width-1; }\n .mw2-l { max-width: $max-width-2; }\n .mw3-l { max-width: $max-width-3; }\n .mw4-l { max-width: $max-width-4; }\n .mw5-l { max-width: $max-width-5; }\n .mw6-l { max-width: $max-width-6; }\n .mw7-l { max-width: $max-width-7; }\n .mw8-l { max-width: $max-width-8; }\n .mw9-l { max-width: $max-width-9; }\n\n .mw-none-l { max-width: none; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n WIDTHS\n Docs: http://tachyons.io/docs/layout/widths/\n\n Base:\n w = width\n\n Modifiers\n 1 = 1st step in width scale\n 2 = 2nd step in width scale\n 3 = 3rd step in width scale\n 4 = 4th step in width scale\n 5 = 5th step in width scale\n\n -10 = literal value 10%\n -20 = literal value 20%\n -25 = literal value 25%\n -30 = literal value 30%\n -33 = literal value 33%\n -34 = literal value 34%\n -40 = literal value 40%\n -50 = literal value 50%\n -60 = literal value 60%\n -70 = literal value 70%\n -75 = literal value 75%\n -80 = literal value 80%\n -90 = literal value 90%\n -100 = literal value 100%\n\n -third = 100% / 3 (Not supported in opera mini or IE8)\n -two-thirds = 100% / 1.5 (Not supported in opera mini or IE8)\n -auto = string value auto\n\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n */\n\n/* Width Scale */\n\n.w1 { width: $width-1; }\n.w2 { width: $width-2; }\n.w3 { width: $width-3; }\n.w4 { width: $width-4; }\n.w5 { width: $width-5; }\n\n.w-10 { width: 10%; }\n.w-20 { width: 20%; }\n.w-25 { width: 25%; }\n.w-30 { width: 30%; }\n.w-33 { width: 33%; }\n.w-34 { width: 34%; }\n.w-40 { width: 40%; }\n.w-50 { width: 50%; }\n.w-60 { width: 60%; }\n.w-70 { width: 70%; }\n.w-75 { width: 75%; }\n.w-80 { width: 80%; }\n.w-90 { width: 90%; }\n.w-100 { width: 100%; }\n\n.w-third { width: (100% / 3); }\n.w-two-thirds { width: (100% / 1.5); }\n.w-auto { width: auto; }\n\n@media #{$breakpoint-not-small} {\n .w1-ns { width: $width-1; }\n .w2-ns { width: $width-2; }\n .w3-ns { width: $width-3; }\n .w4-ns { width: $width-4; }\n .w5-ns { width: $width-5; }\n .w-10-ns { width: 10%; }\n .w-20-ns { width: 20%; }\n .w-25-ns { width: 25%; }\n .w-30-ns { width: 30%; }\n .w-33-ns { width: 33%; }\n .w-34-ns { width: 34%; }\n .w-40-ns { width: 40%; }\n .w-50-ns { width: 50%; }\n .w-60-ns { width: 60%; }\n .w-70-ns { width: 70%; }\n .w-75-ns { width: 75%; }\n .w-80-ns { width: 80%; }\n .w-90-ns { width: 90%; }\n .w-100-ns { width: 100%; }\n .w-third-ns { width: (100% / 3); }\n .w-two-thirds-ns { width: (100% / 1.5); }\n .w-auto-ns { width: auto; }\n}\n\n@media #{$breakpoint-medium} {\n .w1-m { width: $width-1; }\n .w2-m { width: $width-2; }\n .w3-m { width: $width-3; }\n .w4-m { width: $width-4; }\n .w5-m { width: $width-5; }\n .w-10-m { width: 10%; }\n .w-20-m { width: 20%; }\n .w-25-m { width: 25%; }\n .w-30-m { width: 30%; }\n .w-33-m { width: 33%; }\n .w-34-m { width: 34%; }\n .w-40-m { width: 40%; }\n .w-50-m { width: 50%; }\n .w-60-m { width: 60%; }\n .w-70-m { width: 70%; }\n .w-75-m { width: 75%; }\n .w-80-m { width: 80%; }\n .w-90-m { width: 90%; }\n .w-100-m { width: 100%; }\n .w-third-m { width: (100% / 3); }\n .w-two-thirds-m { width: (100% / 1.5); }\n .w-auto-m { width: auto; }\n}\n\n@media #{$breakpoint-large} {\n .w1-l { width: $width-1; }\n .w2-l { width: $width-2; }\n .w3-l { width: $width-3; }\n .w4-l { width: $width-4; }\n .w5-l { width: $width-5; }\n .w-10-l { width: 10%; }\n .w-20-l { width: 20%; }\n .w-25-l { width: 25%; }\n .w-30-l { width: 30%; }\n .w-33-l { width: 33%; }\n .w-34-l { width: 34%; }\n .w-40-l { width: 40%; }\n .w-50-l { width: 50%; }\n .w-60-l { width: 60%; }\n .w-70-l { width: 70%; }\n .w-75-l { width: 75%; }\n .w-80-l { width: 80%; }\n .w-90-l { width: 90%; }\n .w-100-l { width: 100%; }\n .w-third-l { width: (100% / 3); }\n .w-two-thirds-l { width: (100% / 1.5); }\n .w-auto-l { width: auto; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n OVERFLOW\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n */\n\n.overflow-visible { overflow: visible; }\n.overflow-hidden { overflow: hidden; }\n.overflow-scroll { overflow: scroll; }\n.overflow-auto { overflow: auto; }\n\n.overflow-x-visible { overflow-x: visible; }\n.overflow-x-hidden { overflow-x: hidden; }\n.overflow-x-scroll { overflow-x: scroll; }\n.overflow-x-auto { overflow-x: auto; }\n\n.overflow-y-visible { overflow-y: visible; }\n.overflow-y-hidden { overflow-y: hidden; }\n.overflow-y-scroll { overflow-y: scroll; }\n.overflow-y-auto { overflow-y: auto; }\n\n@media #{$breakpoint-not-small} {\n .overflow-visible-ns { overflow: visible; }\n .overflow-hidden-ns { overflow: hidden; }\n .overflow-scroll-ns { overflow: scroll; }\n .overflow-auto-ns { overflow: auto; }\n .overflow-x-visible-ns { overflow-x: visible; }\n .overflow-x-hidden-ns { overflow-x: hidden; }\n .overflow-x-scroll-ns { overflow-x: scroll; }\n .overflow-x-auto-ns { overflow-x: auto; }\n\n .overflow-y-visible-ns { overflow-y: visible; }\n .overflow-y-hidden-ns { overflow-y: hidden; }\n .overflow-y-scroll-ns { overflow-y: scroll; }\n .overflow-y-auto-ns { overflow-y: auto; }\n}\n\n@media #{$breakpoint-medium} {\n .overflow-visible-m { overflow: visible; }\n .overflow-hidden-m { overflow: hidden; }\n .overflow-scroll-m { overflow: scroll; }\n .overflow-auto-m { overflow: auto; }\n\n .overflow-x-visible-m { overflow-x: visible; }\n .overflow-x-hidden-m { overflow-x: hidden; }\n .overflow-x-scroll-m { overflow-x: scroll; }\n .overflow-x-auto-m { overflow-x: auto; }\n\n .overflow-y-visible-m { overflow-y: visible; }\n .overflow-y-hidden-m { overflow-y: hidden; }\n .overflow-y-scroll-m { overflow-y: scroll; }\n .overflow-y-auto-m { overflow-y: auto; }\n}\n\n@media #{$breakpoint-large} {\n .overflow-visible-l { overflow: visible; }\n .overflow-hidden-l { overflow: hidden; }\n .overflow-scroll-l { overflow: scroll; }\n .overflow-auto-l { overflow: auto; }\n\n .overflow-x-visible-l { overflow-x: visible; }\n .overflow-x-hidden-l { overflow-x: hidden; }\n .overflow-x-scroll-l { overflow-x: scroll; }\n .overflow-x-auto-l { overflow-x: auto; }\n\n .overflow-y-visible-l { overflow-y: visible; }\n .overflow-y-hidden-l { overflow-y: hidden; }\n .overflow-y-scroll-l { overflow-y: scroll; }\n .overflow-y-auto-l { overflow-y: auto; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n POSITIONING\n Docs: http://tachyons.io/docs/layout/position/\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.static { position: static; }\n.relative { position: relative; }\n.absolute { position: absolute; }\n.fixed { position: fixed; }\n\n@media #{$breakpoint-not-small} {\n .static-ns { position: static; }\n .relative-ns { position: relative; }\n .absolute-ns { position: absolute; }\n .fixed-ns { position: fixed; }\n}\n\n@media #{$breakpoint-medium} {\n .static-m { position: static; }\n .relative-m { position: relative; }\n .absolute-m { position: absolute; }\n .fixed-m { position: fixed; }\n}\n\n@media #{$breakpoint-large} {\n .static-l { position: static; }\n .relative-l { position: relative; }\n .absolute-l { position: absolute; }\n .fixed-l { position: fixed; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n OPACITY\n Docs: http://tachyons.io/docs/themes/opacity/\n\n*/\n\n.o-100 { opacity: 1; }\n.o-90 { opacity: .9; }\n.o-80 { opacity: .8; }\n.o-70 { opacity: .7; }\n.o-60 { opacity: .6; }\n.o-50 { opacity: .5; }\n.o-40 { opacity: .4; }\n.o-30 { opacity: .3; }\n.o-20 { opacity: .2; }\n.o-10 { opacity: .1; }\n.o-05 { opacity: .05; }\n.o-025 { opacity: .025; }\n.o-0 { opacity: 0; }\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n ROTATIONS\n\n*/\n\n.rotate-45 { transform: rotate(45deg); }\n.rotate-90 { transform: rotate(90deg); }\n.rotate-135 { transform: rotate(135deg); }\n.rotate-180 { transform: rotate(180deg); }\n.rotate-225 { transform: rotate(225deg); }\n.rotate-270 { transform: rotate(270deg); }\n.rotate-315 { transform: rotate(315deg); }\n\n@media #{$breakpoint-not-small}{\n .rotate-45-ns { transform: rotate(45deg); }\n .rotate-90-ns { transform: rotate(90deg); }\n .rotate-135-ns { transform: rotate(135deg); }\n .rotate-180-ns { transform: rotate(180deg); }\n .rotate-225-ns { transform: rotate(225deg); }\n .rotate-270-ns { transform: rotate(270deg); }\n .rotate-315-ns { transform: rotate(315deg); }\n}\n\n@media #{$breakpoint-medium}{\n .rotate-45-m { transform: rotate(45deg); }\n .rotate-90-m { transform: rotate(90deg); }\n .rotate-135-m { transform: rotate(135deg); }\n .rotate-180-m { transform: rotate(180deg); }\n .rotate-225-m { transform: rotate(225deg); }\n .rotate-270-m { transform: rotate(270deg); }\n .rotate-315-m { transform: rotate(315deg); }\n}\n\n@media #{$breakpoint-large}{\n .rotate-45-l { transform: rotate(45deg); }\n .rotate-90-l { transform: rotate(90deg); }\n .rotate-135-l { transform: rotate(135deg); }\n .rotate-180-l { transform: rotate(180deg); }\n .rotate-225-l { transform: rotate(225deg); }\n .rotate-270-l { transform: rotate(270deg); }\n .rotate-315-l { transform: rotate(315deg); }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n SKINS\n Docs: http://tachyons.io/docs/themes/skins/\n\n Classes for setting foreground and background colors on elements.\n If you haven't declared a border color, but set border on an element, it will\n be set to the current text color.\n\n*/\n\n/* Text colors */\n\n.black-90 { color: $black-90; }\n.black-80 { color: $black-80; }\n.black-70 { color: $black-70; }\n.black-60 { color: $black-60; }\n.black-50 { color: $black-50; }\n.black-40 { color: $black-40; }\n.black-30 { color: $black-30; }\n.black-20 { color: $black-20; }\n.black-10 { color: $black-10; }\n.black-05 { color: $black-05; }\n\n.white-90 { color: $white-90; }\n.white-80 { color: $white-80; }\n.white-70 { color: $white-70; }\n.white-60 { color: $white-60; }\n.white-50 { color: $white-50; }\n.white-40 { color: $white-40; }\n.white-30 { color: $white-30; }\n.white-20 { color: $white-20; }\n.white-10 { color: $white-10; }\n\n.black { color: $black; }\n.near-black { color: $near-black; }\n.dark-gray { color: $dark-gray; }\n.mid-gray { color: $mid-gray; }\n.gray { color: $gray; }\n.silver { color: $silver; }\n.light-silver { color: $light-silver; }\n.moon-gray { color: $moon-gray; }\n.light-gray { color: $light-gray; }\n.near-white { color: $near-white; }\n.white { color: $white; }\n\n.dark-red { color: $dark-red; }\n.red { color: $red; }\n.light-red { color: $light-red; }\n.orange { color: $orange; }\n.gold { color: $gold; }\n.yellow { color: $yellow; }\n.light-yellow { color: $light-yellow; }\n.purple { color: $purple; }\n.light-purple { color: $light-purple; }\n.dark-pink { color: $dark-pink; }\n.hot-pink { color: $hot-pink; }\n.pink { color: $pink; }\n.light-pink { color: $light-pink; }\n.dark-green { color: $dark-green; }\n.green { color: $green; }\n.light-green { color: $light-green; }\n.navy { color: $navy; }\n.dark-blue { color: $dark-blue; }\n.blue { color: $blue; }\n.light-blue { color: $light-blue; }\n.lightest-blue { color: $lightest-blue; }\n.washed-blue { color: $washed-blue; }\n.washed-green { color: $washed-green; }\n.washed-yellow { color: $washed-yellow; }\n.washed-red { color: $washed-red; }\n.color-inherit { color: inherit; }\n\n.bg-black-90 { background-color: $black-90; }\n.bg-black-80 { background-color: $black-80; }\n.bg-black-70 { background-color: $black-70; }\n.bg-black-60 { background-color: $black-60; }\n.bg-black-50 { background-color: $black-50; }\n.bg-black-40 { background-color: $black-40; }\n.bg-black-30 { background-color: $black-30; }\n.bg-black-20 { background-color: $black-20; }\n.bg-black-10 { background-color: $black-10; }\n.bg-black-05 { background-color: $black-05; }\n.bg-white-90 { background-color: $white-90; }\n.bg-white-80 { background-color: $white-80; }\n.bg-white-70 { background-color: $white-70; }\n.bg-white-60 { background-color: $white-60; }\n.bg-white-50 { background-color: $white-50; }\n.bg-white-40 { background-color: $white-40; }\n.bg-white-30 { background-color: $white-30; }\n.bg-white-20 { background-color: $white-20; }\n.bg-white-10 { background-color: $white-10; }\n\n\n\n/* Background colors */\n\n.bg-black { background-color: $black; }\n.bg-near-black { background-color: $near-black; }\n.bg-dark-gray { background-color: $dark-gray; }\n.bg-mid-gray { background-color: $mid-gray; }\n.bg-gray { background-color: $gray; }\n.bg-silver { background-color: $silver; }\n.bg-light-silver { background-color: $light-silver; }\n.bg-moon-gray { background-color: $moon-gray; }\n.bg-light-gray { background-color: $light-gray; }\n.bg-near-white { background-color: $near-white; }\n.bg-white { background-color: $white; }\n.bg-transparent { background-color: $transparent; }\n\n.bg-dark-red { background-color: $dark-red; }\n.bg-red { background-color: $red; }\n.bg-light-red { background-color: $light-red; }\n.bg-orange { background-color: $orange; }\n.bg-gold { background-color: $gold; }\n.bg-yellow { background-color: $yellow; }\n.bg-light-yellow { background-color: $light-yellow; }\n.bg-purple { background-color: $purple; }\n.bg-light-purple { background-color: $light-purple; }\n.bg-dark-pink { background-color: $dark-pink; }\n.bg-hot-pink { background-color: $hot-pink; }\n.bg-pink { background-color: $pink; }\n.bg-light-pink { background-color: $light-pink; }\n.bg-dark-green { background-color: $dark-green; }\n.bg-green { background-color: $green; }\n.bg-light-green { background-color: $light-green; }\n.bg-navy { background-color: $navy; }\n.bg-dark-blue { background-color: $dark-blue; }\n.bg-blue { background-color: $blue; }\n.bg-light-blue { background-color: $light-blue; }\n.bg-lightest-blue { background-color: $lightest-blue; }\n.bg-washed-blue { background-color: $washed-blue; }\n.bg-washed-green { background-color: $washed-green; }\n.bg-washed-yellow { background-color: $washed-yellow; }\n.bg-washed-red { background-color: $washed-red; }\n.bg-inherit { background-color: inherit; }\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n SKINS:PSEUDO\n\n Customize the color of an element when\n it is focused or hovered over.\n\n */\n\n.hover-black:hover,\n.hover-black:focus { color: $black; }\n.hover-near-black:hover,\n.hover-near-black:focus { color: $near-black; }\n.hover-dark-gray:hover,\n.hover-dark-gray:focus { color: $dark-gray; }\n.hover-mid-gray:hover,\n.hover-mid-gray:focus { color: $mid-gray; }\n.hover-gray:hover,\n.hover-gray:focus { color: $gray; }\n.hover-silver:hover,\n.hover-silver:focus { color: $silver; }\n.hover-light-silver:hover,\n.hover-light-silver:focus { color: $light-silver; }\n.hover-moon-gray:hover,\n.hover-moon-gray:focus { color: $moon-gray; }\n.hover-light-gray:hover,\n.hover-light-gray:focus { color: $light-gray; }\n.hover-near-white:hover,\n.hover-near-white:focus { color: $near-white; }\n.hover-white:hover,\n.hover-white:focus { color: $white; }\n\n.hover-black-90:hover,\n.hover-black-90:focus { color: $black-90; }\n.hover-black-80:hover,\n.hover-black-80:focus { color: $black-80; }\n.hover-black-70:hover,\n.hover-black-70:focus { color: $black-70; }\n.hover-black-60:hover,\n.hover-black-60:focus { color: $black-60; }\n.hover-black-50:hover,\n.hover-black-50:focus { color: $black-50; }\n.hover-black-40:hover,\n.hover-black-40:focus { color: $black-40; }\n.hover-black-30:hover,\n.hover-black-30:focus { color: $black-30; }\n.hover-black-20:hover,\n.hover-black-20:focus { color: $black-20; }\n.hover-black-10:hover,\n.hover-black-10:focus { color: $black-10; }\n.hover-white-90:hover,\n.hover-white-90:focus { color: $white-90; }\n.hover-white-80:hover,\n.hover-white-80:focus { color: $white-80; }\n.hover-white-70:hover,\n.hover-white-70:focus { color: $white-70; }\n.hover-white-60:hover,\n.hover-white-60:focus { color: $white-60; }\n.hover-white-50:hover,\n.hover-white-50:focus { color: $white-50; }\n.hover-white-40:hover,\n.hover-white-40:focus { color: $white-40; }\n.hover-white-30:hover,\n.hover-white-30:focus { color: $white-30; }\n.hover-white-20:hover,\n.hover-white-20:focus { color: $white-20; }\n.hover-white-10:hover,\n.hover-white-10:focus { color: $white-10; }\n.hover-inherit:hover,\n.hover-inherit:focus { color: inherit; }\n\n.hover-bg-black:hover,\n.hover-bg-black:focus { background-color: $black; }\n.hover-bg-near-black:hover,\n.hover-bg-near-black:focus { background-color: $near-black; }\n.hover-bg-dark-gray:hover,\n.hover-bg-dark-gray:focus { background-color: $dark-gray; }\n.hover-bg-mid-gray:hover,\n.hover-bg-mid-gray:focus { background-color: $mid-gray; }\n.hover-bg-gray:hover,\n.hover-bg-gray:focus { background-color: $gray; }\n.hover-bg-silver:hover,\n.hover-bg-silver:focus { background-color: $silver; }\n.hover-bg-light-silver:hover,\n.hover-bg-light-silver:focus { background-color: $light-silver; }\n.hover-bg-moon-gray:hover,\n.hover-bg-moon-gray:focus { background-color: $moon-gray; }\n.hover-bg-light-gray:hover,\n.hover-bg-light-gray:focus { background-color: $light-gray; }\n.hover-bg-near-white:hover,\n.hover-bg-near-white:focus { background-color: $near-white; }\n.hover-bg-white:hover,\n.hover-bg-white:focus { background-color: $white; }\n.hover-bg-transparent:hover,\n.hover-bg-transparent:focus { background-color: $transparent; }\n\n.hover-bg-black-90:hover,\n.hover-bg-black-90:focus { background-color: $black-90; }\n.hover-bg-black-80:hover,\n.hover-bg-black-80:focus { background-color: $black-80; }\n.hover-bg-black-70:hover,\n.hover-bg-black-70:focus { background-color: $black-70; }\n.hover-bg-black-60:hover,\n.hover-bg-black-60:focus { background-color: $black-60; }\n.hover-bg-black-50:hover,\n.hover-bg-black-50:focus { background-color: $black-50; }\n.hover-bg-black-40:hover,\n.hover-bg-black-40:focus { background-color: $black-40; }\n.hover-bg-black-30:hover,\n.hover-bg-black-30:focus { background-color: $black-30; }\n.hover-bg-black-20:hover,\n.hover-bg-black-20:focus { background-color: $black-20; }\n.hover-bg-black-10:hover,\n.hover-bg-black-10:focus { background-color: $black-10; }\n.hover-bg-white-90:hover,\n.hover-bg-white-90:focus { background-color: $white-90; }\n.hover-bg-white-80:hover,\n.hover-bg-white-80:focus { background-color: $white-80; }\n.hover-bg-white-70:hover,\n.hover-bg-white-70:focus { background-color: $white-70; }\n.hover-bg-white-60:hover,\n.hover-bg-white-60:focus { background-color: $white-60; }\n.hover-bg-white-50:hover,\n.hover-bg-white-50:focus { background-color: $white-50; }\n.hover-bg-white-40:hover,\n.hover-bg-white-40:focus { background-color: $white-40; }\n.hover-bg-white-30:hover,\n.hover-bg-white-30:focus { background-color: $white-30; }\n.hover-bg-white-20:hover,\n.hover-bg-white-20:focus { background-color: $white-20; }\n.hover-bg-white-10:hover,\n.hover-bg-white-10:focus { background-color: $white-10; }\n\n.hover-dark-red:hover,\n.hover-dark-red:focus { color: $dark-red; }\n.hover-red:hover,\n.hover-red:focus { color: $red; }\n.hover-light-red:hover,\n.hover-light-red:focus { color: $light-red; }\n.hover-orange:hover,\n.hover-orange:focus { color: $orange; }\n.hover-gold:hover,\n.hover-gold:focus { color: $gold; }\n.hover-yellow:hover,\n.hover-yellow:focus { color: $yellow; }\n.hover-light-yellow:hover,\n.hover-light-yellow:focus { color: $light-yellow; }\n.hover-purple:hover,\n.hover-purple:focus { color: $purple; }\n.hover-light-purple:hover,\n.hover-light-purple:focus { color: $light-purple; }\n.hover-dark-pink:hover,\n.hover-dark-pink:focus { color: $dark-pink; }\n.hover-hot-pink:hover,\n.hover-hot-pink:focus { color: $hot-pink; }\n.hover-pink:hover,\n.hover-pink:focus { color: $pink; }\n.hover-light-pink:hover,\n.hover-light-pink:focus { color: $light-pink; }\n.hover-dark-green:hover,\n.hover-dark-green:focus { color: $dark-green; }\n.hover-green:hover,\n.hover-green:focus { color: $green; }\n.hover-light-green:hover,\n.hover-light-green:focus { color: $light-green; }\n.hover-navy:hover,\n.hover-navy:focus { color: $navy; }\n.hover-dark-blue:hover,\n.hover-dark-blue:focus { color: $dark-blue; }\n.hover-blue:hover,\n.hover-blue:focus { color: $blue; }\n.hover-light-blue:hover,\n.hover-light-blue:focus { color: $light-blue; }\n.hover-lightest-blue:hover,\n.hover-lightest-blue:focus { color: $lightest-blue; }\n.hover-washed-blue:hover,\n.hover-washed-blue:focus { color: $washed-blue; }\n.hover-washed-green:hover,\n.hover-washed-green:focus { color: $washed-green; }\n.hover-washed-yellow:hover,\n.hover-washed-yellow:focus { color: $washed-yellow; }\n.hover-washed-red:hover,\n.hover-washed-red:focus { color: $washed-red; }\n\n.hover-bg-dark-red:hover,\n.hover-bg-dark-red:focus { background-color: $dark-red; }\n.hover-bg-red:hover,\n.hover-bg-red:focus { background-color: $red; }\n.hover-bg-light-red:hover,\n.hover-bg-light-red:focus { background-color: $light-red; }\n.hover-bg-orange:hover,\n.hover-bg-orange:focus { background-color: $orange; }\n.hover-bg-gold:hover,\n.hover-bg-gold:focus { background-color: $gold; }\n.hover-bg-yellow:hover,\n.hover-bg-yellow:focus { background-color: $yellow; }\n.hover-bg-light-yellow:hover,\n.hover-bg-light-yellow:focus { background-color: $light-yellow; }\n.hover-bg-purple:hover,\n.hover-bg-purple:focus { background-color: $purple; }\n.hover-bg-light-purple:hover,\n.hover-bg-light-purple:focus { background-color: $light-purple; }\n.hover-bg-dark-pink:hover,\n.hover-bg-dark-pink:focus { background-color: $dark-pink; }\n.hover-bg-hot-pink:hover,\n.hover-bg-hot-pink:focus { background-color: $hot-pink; }\n.hover-bg-pink:hover,\n.hover-bg-pink:focus { background-color: $pink; }\n.hover-bg-light-pink:hover,\n.hover-bg-light-pink:focus { background-color: $light-pink; }\n.hover-bg-dark-green:hover,\n.hover-bg-dark-green:focus { background-color: $dark-green; }\n.hover-bg-green:hover,\n.hover-bg-green:focus { background-color: $green; }\n.hover-bg-light-green:hover,\n.hover-bg-light-green:focus { background-color: $light-green; }\n.hover-bg-navy:hover,\n.hover-bg-navy:focus { background-color: $navy; }\n.hover-bg-dark-blue:hover,\n.hover-bg-dark-blue:focus { background-color: $dark-blue; }\n.hover-bg-blue:hover,\n.hover-bg-blue:focus { background-color: $blue; }\n.hover-bg-light-blue:hover,\n.hover-bg-light-blue:focus { background-color: $light-blue; }\n.hover-bg-lightest-blue:hover,\n.hover-bg-lightest-blue:focus { background-color: $lightest-blue; }\n.hover-bg-washed-blue:hover,\n.hover-bg-washed-blue:focus { background-color: $washed-blue; }\n.hover-bg-washed-green:hover,\n.hover-bg-washed-green:focus { background-color: $washed-green; }\n.hover-bg-washed-yellow:hover,\n.hover-bg-washed-yellow:focus { background-color: $washed-yellow; }\n.hover-bg-washed-red:hover,\n.hover-bg-washed-red:focus { background-color: $washed-red; }\n.hover-bg-inherit:hover,\n.hover-bg-inherit:focus { background-color: inherit; }\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/* Variables */\n\n/*\n SPACING\n Docs: http://tachyons.io/docs/layout/spacing/\n\n An eight step powers of two scale ranging from 0 to 16rem.\n\n Base:\n p = padding\n m = margin\n\n Modifiers:\n a = all\n h = horizontal\n v = vertical\n t = top\n r = right\n b = bottom\n l = left\n\n 0 = none\n 1 = 1st step in spacing scale\n 2 = 2nd step in spacing scale\n 3 = 3rd step in spacing scale\n 4 = 4th step in spacing scale\n 5 = 5th step in spacing scale\n 6 = 6th step in spacing scale\n 7 = 7th step in spacing scale\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n\n.pa0 { padding: $spacing-none; }\n.pa1 { padding: $spacing-extra-small; }\n.pa2 { padding: $spacing-small; }\n.pa3 { padding: $spacing-medium; }\n.pa4 { padding: $spacing-large; }\n.pa5 { padding: $spacing-extra-large; }\n.pa6 { padding: $spacing-extra-extra-large; }\n.pa7 { padding: $spacing-extra-extra-extra-large; }\n\n.pl0 { padding-left: $spacing-none; }\n.pl1 { padding-left: $spacing-extra-small; }\n.pl2 { padding-left: $spacing-small; }\n.pl3 { padding-left: $spacing-medium; }\n.pl4 { padding-left: $spacing-large; }\n.pl5 { padding-left: $spacing-extra-large; }\n.pl6 { padding-left: $spacing-extra-extra-large; }\n.pl7 { padding-left: $spacing-extra-extra-extra-large; }\n\n.pr0 { padding-right: $spacing-none; }\n.pr1 { padding-right: $spacing-extra-small; }\n.pr2 { padding-right: $spacing-small; }\n.pr3 { padding-right: $spacing-medium; }\n.pr4 { padding-right: $spacing-large; }\n.pr5 { padding-right: $spacing-extra-large; }\n.pr6 { padding-right: $spacing-extra-extra-large; }\n.pr7 { padding-right: $spacing-extra-extra-extra-large; }\n\n.pb0 { padding-bottom: $spacing-none; }\n.pb1 { padding-bottom: $spacing-extra-small; }\n.pb2 { padding-bottom: $spacing-small; }\n.pb3 { padding-bottom: $spacing-medium; }\n.pb4 { padding-bottom: $spacing-large; }\n.pb5 { padding-bottom: $spacing-extra-large; }\n.pb6 { padding-bottom: $spacing-extra-extra-large; }\n.pb7 { padding-bottom: $spacing-extra-extra-extra-large; }\n\n.pt0 { padding-top: $spacing-none; }\n.pt1 { padding-top: $spacing-extra-small; }\n.pt2 { padding-top: $spacing-small; }\n.pt3 { padding-top: $spacing-medium; }\n.pt4 { padding-top: $spacing-large; }\n.pt5 { padding-top: $spacing-extra-large; }\n.pt6 { padding-top: $spacing-extra-extra-large; }\n.pt7 { padding-top: $spacing-extra-extra-extra-large; }\n\n.pv0 {\n padding-top: $spacing-none;\n padding-bottom: $spacing-none;\n}\n.pv1 {\n padding-top: $spacing-extra-small;\n padding-bottom: $spacing-extra-small;\n}\n.pv2 {\n padding-top: $spacing-small;\n padding-bottom: $spacing-small;\n}\n.pv3 {\n padding-top: $spacing-medium;\n padding-bottom: $spacing-medium;\n}\n.pv4 {\n padding-top: $spacing-large;\n padding-bottom: $spacing-large;\n}\n.pv5 {\n padding-top: $spacing-extra-large;\n padding-bottom: $spacing-extra-large;\n}\n.pv6 {\n padding-top: $spacing-extra-extra-large;\n padding-bottom: $spacing-extra-extra-large;\n}\n\n.pv7 {\n padding-top: $spacing-extra-extra-extra-large;\n padding-bottom: $spacing-extra-extra-extra-large;\n}\n\n.ph0 {\n padding-left: $spacing-none;\n padding-right: $spacing-none;\n}\n\n.ph1 {\n padding-left: $spacing-extra-small;\n padding-right: $spacing-extra-small;\n}\n\n.ph2 {\n padding-left: $spacing-small;\n padding-right: $spacing-small;\n}\n\n.ph3 {\n padding-left: $spacing-medium;\n padding-right: $spacing-medium;\n}\n\n.ph4 {\n padding-left: $spacing-large;\n padding-right: $spacing-large;\n}\n\n.ph5 {\n padding-left: $spacing-extra-large;\n padding-right: $spacing-extra-large;\n}\n\n.ph6 {\n padding-left: $spacing-extra-extra-large;\n padding-right: $spacing-extra-extra-large;\n}\n\n.ph7 {\n padding-left: $spacing-extra-extra-extra-large;\n padding-right: $spacing-extra-extra-extra-large;\n}\n\n.ma0 { margin: $spacing-none; }\n.ma1 { margin: $spacing-extra-small; }\n.ma2 { margin: $spacing-small; }\n.ma3 { margin: $spacing-medium; }\n.ma4 { margin: $spacing-large; }\n.ma5 { margin: $spacing-extra-large; }\n.ma6 { margin: $spacing-extra-extra-large; }\n.ma7 { margin: $spacing-extra-extra-extra-large; }\n\n.ml0 { margin-left: $spacing-none; }\n.ml1 { margin-left: $spacing-extra-small; }\n.ml2 { margin-left: $spacing-small; }\n.ml3 { margin-left: $spacing-medium; }\n.ml4 { margin-left: $spacing-large; }\n.ml5 { margin-left: $spacing-extra-large; }\n.ml6 { margin-left: $spacing-extra-extra-large; }\n.ml7 { margin-left: $spacing-extra-extra-extra-large; }\n\n.mr0 { margin-right: $spacing-none; }\n.mr1 { margin-right: $spacing-extra-small; }\n.mr2 { margin-right: $spacing-small; }\n.mr3 { margin-right: $spacing-medium; }\n.mr4 { margin-right: $spacing-large; }\n.mr5 { margin-right: $spacing-extra-large; }\n.mr6 { margin-right: $spacing-extra-extra-large; }\n.mr7 { margin-right: $spacing-extra-extra-extra-large; }\n\n.mb0 { margin-bottom: $spacing-none; }\n.mb1 { margin-bottom: $spacing-extra-small; }\n.mb2 { margin-bottom: $spacing-small; }\n.mb3 { margin-bottom: $spacing-medium; }\n.mb4 { margin-bottom: $spacing-large; }\n.mb5 { margin-bottom: $spacing-extra-large; }\n.mb6 { margin-bottom: $spacing-extra-extra-large; }\n.mb7 { margin-bottom: $spacing-extra-extra-extra-large; }\n\n.mt0 { margin-top: $spacing-none; }\n.mt1 { margin-top: $spacing-extra-small; }\n.mt2 { margin-top: $spacing-small; }\n.mt3 { margin-top: $spacing-medium; }\n.mt4 { margin-top: $spacing-large; }\n.mt5 { margin-top: $spacing-extra-large; }\n.mt6 { margin-top: $spacing-extra-extra-large; }\n.mt7 { margin-top: $spacing-extra-extra-extra-large; }\n\n.mv0 {\n margin-top: $spacing-none;\n margin-bottom: $spacing-none;\n}\n.mv1 {\n margin-top: $spacing-extra-small;\n margin-bottom: $spacing-extra-small;\n}\n.mv2 {\n margin-top: $spacing-small;\n margin-bottom: $spacing-small;\n}\n.mv3 {\n margin-top: $spacing-medium;\n margin-bottom: $spacing-medium;\n}\n.mv4 {\n margin-top: $spacing-large;\n margin-bottom: $spacing-large;\n}\n.mv5 {\n margin-top: $spacing-extra-large;\n margin-bottom: $spacing-extra-large;\n}\n.mv6 {\n margin-top: $spacing-extra-extra-large;\n margin-bottom: $spacing-extra-extra-large;\n}\n.mv7 {\n margin-top: $spacing-extra-extra-extra-large;\n margin-bottom: $spacing-extra-extra-extra-large;\n}\n\n.mh0 {\n margin-left: $spacing-none;\n margin-right: $spacing-none;\n}\n.mh1 {\n margin-left: $spacing-extra-small;\n margin-right: $spacing-extra-small;\n}\n.mh2 {\n margin-left: $spacing-small;\n margin-right: $spacing-small;\n}\n.mh3 {\n margin-left: $spacing-medium;\n margin-right: $spacing-medium;\n}\n.mh4 {\n margin-left: $spacing-large;\n margin-right: $spacing-large;\n}\n.mh5 {\n margin-left: $spacing-extra-large;\n margin-right: $spacing-extra-large;\n}\n.mh6 {\n margin-left: $spacing-extra-extra-large;\n margin-right: $spacing-extra-extra-large;\n}\n.mh7 {\n margin-left: $spacing-extra-extra-extra-large;\n margin-right: $spacing-extra-extra-extra-large;\n}\n\n@media #{$breakpoint-not-small} {\n .pa0-ns { padding: $spacing-none; }\n .pa1-ns { padding: $spacing-extra-small; }\n .pa2-ns { padding: $spacing-small; }\n .pa3-ns { padding: $spacing-medium; }\n .pa4-ns { padding: $spacing-large; }\n .pa5-ns { padding: $spacing-extra-large; }\n .pa6-ns { padding: $spacing-extra-extra-large; }\n .pa7-ns { padding: $spacing-extra-extra-extra-large; }\n\n .pl0-ns { padding-left: $spacing-none; }\n .pl1-ns { padding-left: $spacing-extra-small; }\n .pl2-ns { padding-left: $spacing-small; }\n .pl3-ns { padding-left: $spacing-medium; }\n .pl4-ns { padding-left: $spacing-large; }\n .pl5-ns { padding-left: $spacing-extra-large; }\n .pl6-ns { padding-left: $spacing-extra-extra-large; }\n .pl7-ns { padding-left: $spacing-extra-extra-extra-large; }\n\n .pr0-ns { padding-right: $spacing-none; }\n .pr1-ns { padding-right: $spacing-extra-small; }\n .pr2-ns { padding-right: $spacing-small; }\n .pr3-ns { padding-right: $spacing-medium; }\n .pr4-ns { padding-right: $spacing-large; }\n .pr5-ns { padding-right: $spacing-extra-large; }\n .pr6-ns { padding-right: $spacing-extra-extra-large; }\n .pr7-ns { padding-right: $spacing-extra-extra-extra-large; }\n\n .pb0-ns { padding-bottom: $spacing-none; }\n .pb1-ns { padding-bottom: $spacing-extra-small; }\n .pb2-ns { padding-bottom: $spacing-small; }\n .pb3-ns { padding-bottom: $spacing-medium; }\n .pb4-ns { padding-bottom: $spacing-large; }\n .pb5-ns { padding-bottom: $spacing-extra-large; }\n .pb6-ns { padding-bottom: $spacing-extra-extra-large; }\n .pb7-ns { padding-bottom: $spacing-extra-extra-extra-large; }\n\n .pt0-ns { padding-top: $spacing-none; }\n .pt1-ns { padding-top: $spacing-extra-small; }\n .pt2-ns { padding-top: $spacing-small; }\n .pt3-ns { padding-top: $spacing-medium; }\n .pt4-ns { padding-top: $spacing-large; }\n .pt5-ns { padding-top: $spacing-extra-large; }\n .pt6-ns { padding-top: $spacing-extra-extra-large; }\n .pt7-ns { padding-top: $spacing-extra-extra-extra-large; }\n\n .pv0-ns {\n padding-top: $spacing-none;\n padding-bottom: $spacing-none;\n }\n .pv1-ns {\n padding-top: $spacing-extra-small;\n padding-bottom: $spacing-extra-small;\n }\n .pv2-ns {\n padding-top: $spacing-small;\n padding-bottom: $spacing-small;\n }\n .pv3-ns {\n padding-top: $spacing-medium;\n padding-bottom: $spacing-medium;\n }\n .pv4-ns {\n padding-top: $spacing-large;\n padding-bottom: $spacing-large;\n }\n .pv5-ns {\n padding-top: $spacing-extra-large;\n padding-bottom: $spacing-extra-large;\n }\n .pv6-ns {\n padding-top: $spacing-extra-extra-large;\n padding-bottom: $spacing-extra-extra-large;\n }\n .pv7-ns {\n padding-top: $spacing-extra-extra-extra-large;\n padding-bottom: $spacing-extra-extra-extra-large;\n }\n .ph0-ns {\n padding-left: $spacing-none;\n padding-right: $spacing-none;\n }\n .ph1-ns {\n padding-left: $spacing-extra-small;\n padding-right: $spacing-extra-small;\n }\n .ph2-ns {\n padding-left: $spacing-small;\n padding-right: $spacing-small;\n }\n .ph3-ns {\n padding-left: $spacing-medium;\n padding-right: $spacing-medium;\n }\n .ph4-ns {\n padding-left: $spacing-large;\n padding-right: $spacing-large;\n }\n .ph5-ns {\n padding-left: $spacing-extra-large;\n padding-right: $spacing-extra-large;\n }\n .ph6-ns {\n padding-left: $spacing-extra-extra-large;\n padding-right: $spacing-extra-extra-large;\n }\n .ph7-ns {\n padding-left: $spacing-extra-extra-extra-large;\n padding-right: $spacing-extra-extra-extra-large;\n }\n\n .ma0-ns { margin: $spacing-none; }\n .ma1-ns { margin: $spacing-extra-small; }\n .ma2-ns { margin: $spacing-small; }\n .ma3-ns { margin: $spacing-medium; }\n .ma4-ns { margin: $spacing-large; }\n .ma5-ns { margin: $spacing-extra-large; }\n .ma6-ns { margin: $spacing-extra-extra-large; }\n .ma7-ns { margin: $spacing-extra-extra-extra-large; }\n\n .ml0-ns { margin-left: $spacing-none; }\n .ml1-ns { margin-left: $spacing-extra-small; }\n .ml2-ns { margin-left: $spacing-small; }\n .ml3-ns { margin-left: $spacing-medium; }\n .ml4-ns { margin-left: $spacing-large; }\n .ml5-ns { margin-left: $spacing-extra-large; }\n .ml6-ns { margin-left: $spacing-extra-extra-large; }\n .ml7-ns { margin-left: $spacing-extra-extra-extra-large; }\n\n .mr0-ns { margin-right: $spacing-none; }\n .mr1-ns { margin-right: $spacing-extra-small; }\n .mr2-ns { margin-right: $spacing-small; }\n .mr3-ns { margin-right: $spacing-medium; }\n .mr4-ns { margin-right: $spacing-large; }\n .mr5-ns { margin-right: $spacing-extra-large; }\n .mr6-ns { margin-right: $spacing-extra-extra-large; }\n .mr7-ns { margin-right: $spacing-extra-extra-extra-large; }\n\n .mb0-ns { margin-bottom: $spacing-none; }\n .mb1-ns { margin-bottom: $spacing-extra-small; }\n .mb2-ns { margin-bottom: $spacing-small; }\n .mb3-ns { margin-bottom: $spacing-medium; }\n .mb4-ns { margin-bottom: $spacing-large; }\n .mb5-ns { margin-bottom: $spacing-extra-large; }\n .mb6-ns { margin-bottom: $spacing-extra-extra-large; }\n .mb7-ns { margin-bottom: $spacing-extra-extra-extra-large; }\n\n .mt0-ns { margin-top: $spacing-none; }\n .mt1-ns { margin-top: $spacing-extra-small; }\n .mt2-ns { margin-top: $spacing-small; }\n .mt3-ns { margin-top: $spacing-medium; }\n .mt4-ns { margin-top: $spacing-large; }\n .mt5-ns { margin-top: $spacing-extra-large; }\n .mt6-ns { margin-top: $spacing-extra-extra-large; }\n .mt7-ns { margin-top: $spacing-extra-extra-extra-large; }\n\n .mv0-ns {\n margin-top: $spacing-none;\n margin-bottom: $spacing-none;\n }\n .mv1-ns {\n margin-top: $spacing-extra-small;\n margin-bottom: $spacing-extra-small;\n }\n .mv2-ns {\n margin-top: $spacing-small;\n margin-bottom: $spacing-small;\n }\n .mv3-ns {\n margin-top: $spacing-medium;\n margin-bottom: $spacing-medium;\n }\n .mv4-ns {\n margin-top: $spacing-large;\n margin-bottom: $spacing-large;\n }\n .mv5-ns {\n margin-top: $spacing-extra-large;\n margin-bottom: $spacing-extra-large;\n }\n .mv6-ns {\n margin-top: $spacing-extra-extra-large;\n margin-bottom: $spacing-extra-extra-large;\n }\n .mv7-ns {\n margin-top: $spacing-extra-extra-extra-large;\n margin-bottom: $spacing-extra-extra-extra-large;\n }\n\n .mh0-ns {\n margin-left: $spacing-none;\n margin-right: $spacing-none;\n }\n .mh1-ns {\n margin-left: $spacing-extra-small;\n margin-right: $spacing-extra-small;\n }\n .mh2-ns {\n margin-left: $spacing-small;\n margin-right: $spacing-small;\n }\n .mh3-ns {\n margin-left: $spacing-medium;\n margin-right: $spacing-medium;\n }\n .mh4-ns {\n margin-left: $spacing-large;\n margin-right: $spacing-large;\n }\n .mh5-ns {\n margin-left: $spacing-extra-large;\n margin-right: $spacing-extra-large;\n }\n .mh6-ns {\n margin-left: $spacing-extra-extra-large;\n margin-right: $spacing-extra-extra-large;\n }\n .mh7-ns {\n margin-left: $spacing-extra-extra-extra-large;\n margin-right: $spacing-extra-extra-extra-large;\n }\n\n}\n\n@media #{$breakpoint-medium} {\n .pa0-m { padding: $spacing-none; }\n .pa1-m { padding: $spacing-extra-small; }\n .pa2-m { padding: $spacing-small; }\n .pa3-m { padding: $spacing-medium; }\n .pa4-m { padding: $spacing-large; }\n .pa5-m { padding: $spacing-extra-large; }\n .pa6-m { padding: $spacing-extra-extra-large; }\n .pa7-m { padding: $spacing-extra-extra-extra-large; }\n\n .pl0-m { padding-left: $spacing-none; }\n .pl1-m { padding-left: $spacing-extra-small; }\n .pl2-m { padding-left: $spacing-small; }\n .pl3-m { padding-left: $spacing-medium; }\n .pl4-m { padding-left: $spacing-large; }\n .pl5-m { padding-left: $spacing-extra-large; }\n .pl6-m { padding-left: $spacing-extra-extra-large; }\n .pl7-m { padding-left: $spacing-extra-extra-extra-large; }\n\n .pr0-m { padding-right: $spacing-none; }\n .pr1-m { padding-right: $spacing-extra-small; }\n .pr2-m { padding-right: $spacing-small; }\n .pr3-m { padding-right: $spacing-medium; }\n .pr4-m { padding-right: $spacing-large; }\n .pr5-m { padding-right: $spacing-extra-large; }\n .pr6-m { padding-right: $spacing-extra-extra-large; }\n .pr7-m { padding-right: $spacing-extra-extra-extra-large; }\n\n .pb0-m { padding-bottom: $spacing-none; }\n .pb1-m { padding-bottom: $spacing-extra-small; }\n .pb2-m { padding-bottom: $spacing-small; }\n .pb3-m { padding-bottom: $spacing-medium; }\n .pb4-m { padding-bottom: $spacing-large; }\n .pb5-m { padding-bottom: $spacing-extra-large; }\n .pb6-m { padding-bottom: $spacing-extra-extra-large; }\n .pb7-m { padding-bottom: $spacing-extra-extra-extra-large; }\n\n .pt0-m { padding-top: $spacing-none; }\n .pt1-m { padding-top: $spacing-extra-small; }\n .pt2-m { padding-top: $spacing-small; }\n .pt3-m { padding-top: $spacing-medium; }\n .pt4-m { padding-top: $spacing-large; }\n .pt5-m { padding-top: $spacing-extra-large; }\n .pt6-m { padding-top: $spacing-extra-extra-large; }\n .pt7-m { padding-top: $spacing-extra-extra-extra-large; }\n\n .pv0-m {\n padding-top: $spacing-none;\n padding-bottom: $spacing-none;\n }\n .pv1-m {\n padding-top: $spacing-extra-small;\n padding-bottom: $spacing-extra-small;\n }\n .pv2-m {\n padding-top: $spacing-small;\n padding-bottom: $spacing-small;\n }\n .pv3-m {\n padding-top: $spacing-medium;\n padding-bottom: $spacing-medium;\n }\n .pv4-m {\n padding-top: $spacing-large;\n padding-bottom: $spacing-large;\n }\n .pv5-m {\n padding-top: $spacing-extra-large;\n padding-bottom: $spacing-extra-large;\n }\n .pv6-m {\n padding-top: $spacing-extra-extra-large;\n padding-bottom: $spacing-extra-extra-large;\n }\n .pv7-m {\n padding-top: $spacing-extra-extra-extra-large;\n padding-bottom: $spacing-extra-extra-extra-large;\n }\n\n .ph0-m {\n padding-left: $spacing-none;\n padding-right: $spacing-none;\n }\n .ph1-m {\n padding-left: $spacing-extra-small;\n padding-right: $spacing-extra-small;\n }\n .ph2-m {\n padding-left: $spacing-small;\n padding-right: $spacing-small;\n }\n .ph3-m {\n padding-left: $spacing-medium;\n padding-right: $spacing-medium;\n }\n .ph4-m {\n padding-left: $spacing-large;\n padding-right: $spacing-large;\n }\n .ph5-m {\n padding-left: $spacing-extra-large;\n padding-right: $spacing-extra-large;\n }\n .ph6-m {\n padding-left: $spacing-extra-extra-large;\n padding-right: $spacing-extra-extra-large;\n }\n .ph7-m {\n padding-left: $spacing-extra-extra-extra-large;\n padding-right: $spacing-extra-extra-extra-large;\n }\n\n .ma0-m { margin: $spacing-none; }\n .ma1-m { margin: $spacing-extra-small; }\n .ma2-m { margin: $spacing-small; }\n .ma3-m { margin: $spacing-medium; }\n .ma4-m { margin: $spacing-large; }\n .ma5-m { margin: $spacing-extra-large; }\n .ma6-m { margin: $spacing-extra-extra-large; }\n .ma7-m { margin: $spacing-extra-extra-extra-large; }\n\n .ml0-m { margin-left: $spacing-none; }\n .ml1-m { margin-left: $spacing-extra-small; }\n .ml2-m { margin-left: $spacing-small; }\n .ml3-m { margin-left: $spacing-medium; }\n .ml4-m { margin-left: $spacing-large; }\n .ml5-m { margin-left: $spacing-extra-large; }\n .ml6-m { margin-left: $spacing-extra-extra-large; }\n .ml7-m { margin-left: $spacing-extra-extra-extra-large; }\n\n .mr0-m { margin-right: $spacing-none; }\n .mr1-m { margin-right: $spacing-extra-small; }\n .mr2-m { margin-right: $spacing-small; }\n .mr3-m { margin-right: $spacing-medium; }\n .mr4-m { margin-right: $spacing-large; }\n .mr5-m { margin-right: $spacing-extra-large; }\n .mr6-m { margin-right: $spacing-extra-extra-large; }\n .mr7-m { margin-right: $spacing-extra-extra-extra-large; }\n\n .mb0-m { margin-bottom: $spacing-none; }\n .mb1-m { margin-bottom: $spacing-extra-small; }\n .mb2-m { margin-bottom: $spacing-small; }\n .mb3-m { margin-bottom: $spacing-medium; }\n .mb4-m { margin-bottom: $spacing-large; }\n .mb5-m { margin-bottom: $spacing-extra-large; }\n .mb6-m { margin-bottom: $spacing-extra-extra-large; }\n .mb7-m { margin-bottom: $spacing-extra-extra-extra-large; }\n\n .mt0-m { margin-top: $spacing-none; }\n .mt1-m { margin-top: $spacing-extra-small; }\n .mt2-m { margin-top: $spacing-small; }\n .mt3-m { margin-top: $spacing-medium; }\n .mt4-m { margin-top: $spacing-large; }\n .mt5-m { margin-top: $spacing-extra-large; }\n .mt6-m { margin-top: $spacing-extra-extra-large; }\n .mt7-m { margin-top: $spacing-extra-extra-extra-large; }\n\n .mv0-m {\n margin-top: $spacing-none;\n margin-bottom: $spacing-none;\n }\n .mv1-m {\n margin-top: $spacing-extra-small;\n margin-bottom: $spacing-extra-small;\n }\n .mv2-m {\n margin-top: $spacing-small;\n margin-bottom: $spacing-small;\n }\n .mv3-m {\n margin-top: $spacing-medium;\n margin-bottom: $spacing-medium;\n }\n .mv4-m {\n margin-top: $spacing-large;\n margin-bottom: $spacing-large;\n }\n .mv5-m {\n margin-top: $spacing-extra-large;\n margin-bottom: $spacing-extra-large;\n }\n .mv6-m {\n margin-top: $spacing-extra-extra-large;\n margin-bottom: $spacing-extra-extra-large;\n }\n .mv7-m {\n margin-top: $spacing-extra-extra-extra-large;\n margin-bottom: $spacing-extra-extra-extra-large;\n }\n\n .mh0-m {\n margin-left: $spacing-none;\n margin-right: $spacing-none;\n }\n .mh1-m {\n margin-left: $spacing-extra-small;\n margin-right: $spacing-extra-small;\n }\n .mh2-m {\n margin-left: $spacing-small;\n margin-right: $spacing-small;\n }\n .mh3-m {\n margin-left: $spacing-medium;\n margin-right: $spacing-medium;\n }\n .mh4-m {\n margin-left: $spacing-large;\n margin-right: $spacing-large;\n }\n .mh5-m {\n margin-left: $spacing-extra-large;\n margin-right: $spacing-extra-large;\n }\n .mh6-m {\n margin-left: $spacing-extra-extra-large;\n margin-right: $spacing-extra-extra-large;\n }\n .mh7-m {\n margin-left: $spacing-extra-extra-extra-large;\n margin-right: $spacing-extra-extra-extra-large;\n }\n\n}\n\n@media #{$breakpoint-large} {\n .pa0-l { padding: $spacing-none; }\n .pa1-l { padding: $spacing-extra-small; }\n .pa2-l { padding: $spacing-small; }\n .pa3-l { padding: $spacing-medium; }\n .pa4-l { padding: $spacing-large; }\n .pa5-l { padding: $spacing-extra-large; }\n .pa6-l { padding: $spacing-extra-extra-large; }\n .pa7-l { padding: $spacing-extra-extra-extra-large; }\n\n .pl0-l { padding-left: $spacing-none; }\n .pl1-l { padding-left: $spacing-extra-small; }\n .pl2-l { padding-left: $spacing-small; }\n .pl3-l { padding-left: $spacing-medium; }\n .pl4-l { padding-left: $spacing-large; }\n .pl5-l { padding-left: $spacing-extra-large; }\n .pl6-l { padding-left: $spacing-extra-extra-large; }\n .pl7-l { padding-left: $spacing-extra-extra-extra-large; }\n\n .pr0-l { padding-right: $spacing-none; }\n .pr1-l { padding-right: $spacing-extra-small; }\n .pr2-l { padding-right: $spacing-small; }\n .pr3-l { padding-right: $spacing-medium; }\n .pr4-l { padding-right: $spacing-large; }\n .pr5-l { padding-right: $spacing-extra-large; }\n .pr6-l { padding-right: $spacing-extra-extra-large; }\n .pr7-l { padding-right: $spacing-extra-extra-extra-large; }\n\n .pb0-l { padding-bottom: $spacing-none; }\n .pb1-l { padding-bottom: $spacing-extra-small; }\n .pb2-l { padding-bottom: $spacing-small; }\n .pb3-l { padding-bottom: $spacing-medium; }\n .pb4-l { padding-bottom: $spacing-large; }\n .pb5-l { padding-bottom: $spacing-extra-large; }\n .pb6-l { padding-bottom: $spacing-extra-extra-large; }\n .pb7-l { padding-bottom: $spacing-extra-extra-extra-large; }\n\n .pt0-l { padding-top: $spacing-none; }\n .pt1-l { padding-top: $spacing-extra-small; }\n .pt2-l { padding-top: $spacing-small; }\n .pt3-l { padding-top: $spacing-medium; }\n .pt4-l { padding-top: $spacing-large; }\n .pt5-l { padding-top: $spacing-extra-large; }\n .pt6-l { padding-top: $spacing-extra-extra-large; }\n .pt7-l { padding-top: $spacing-extra-extra-extra-large; }\n\n .pv0-l {\n padding-top: $spacing-none;\n padding-bottom: $spacing-none;\n }\n .pv1-l {\n padding-top: $spacing-extra-small;\n padding-bottom: $spacing-extra-small;\n }\n .pv2-l {\n padding-top: $spacing-small;\n padding-bottom: $spacing-small;\n }\n .pv3-l {\n padding-top: $spacing-medium;\n padding-bottom: $spacing-medium;\n }\n .pv4-l {\n padding-top: $spacing-large;\n padding-bottom: $spacing-large;\n }\n .pv5-l {\n padding-top: $spacing-extra-large;\n padding-bottom: $spacing-extra-large;\n }\n .pv6-l {\n padding-top: $spacing-extra-extra-large;\n padding-bottom: $spacing-extra-extra-large;\n }\n .pv7-l {\n padding-top: $spacing-extra-extra-extra-large;\n padding-bottom: $spacing-extra-extra-extra-large;\n }\n\n .ph0-l {\n padding-left: $spacing-none;\n padding-right: $spacing-none;\n }\n .ph1-l {\n padding-left: $spacing-extra-small;\n padding-right: $spacing-extra-small;\n }\n .ph2-l {\n padding-left: $spacing-small;\n padding-right: $spacing-small;\n }\n .ph3-l {\n padding-left: $spacing-medium;\n padding-right: $spacing-medium;\n }\n .ph4-l {\n padding-left: $spacing-large;\n padding-right: $spacing-large;\n }\n .ph5-l {\n padding-left: $spacing-extra-large;\n padding-right: $spacing-extra-large;\n }\n .ph6-l {\n padding-left: $spacing-extra-extra-large;\n padding-right: $spacing-extra-extra-large;\n }\n .ph7-l {\n padding-left: $spacing-extra-extra-extra-large;\n padding-right: $spacing-extra-extra-extra-large;\n }\n\n .ma0-l { margin: $spacing-none; }\n .ma1-l { margin: $spacing-extra-small; }\n .ma2-l { margin: $spacing-small; }\n .ma3-l { margin: $spacing-medium; }\n .ma4-l { margin: $spacing-large; }\n .ma5-l { margin: $spacing-extra-large; }\n .ma6-l { margin: $spacing-extra-extra-large; }\n .ma7-l { margin: $spacing-extra-extra-extra-large; }\n\n .ml0-l { margin-left: $spacing-none; }\n .ml1-l { margin-left: $spacing-extra-small; }\n .ml2-l { margin-left: $spacing-small; }\n .ml3-l { margin-left: $spacing-medium; }\n .ml4-l { margin-left: $spacing-large; }\n .ml5-l { margin-left: $spacing-extra-large; }\n .ml6-l { margin-left: $spacing-extra-extra-large; }\n .ml7-l { margin-left: $spacing-extra-extra-extra-large; }\n\n .mr0-l { margin-right: $spacing-none; }\n .mr1-l { margin-right: $spacing-extra-small; }\n .mr2-l { margin-right: $spacing-small; }\n .mr3-l { margin-right: $spacing-medium; }\n .mr4-l { margin-right: $spacing-large; }\n .mr5-l { margin-right: $spacing-extra-large; }\n .mr6-l { margin-right: $spacing-extra-extra-large; }\n .mr7-l { margin-right: $spacing-extra-extra-extra-large; }\n\n .mb0-l { margin-bottom: $spacing-none; }\n .mb1-l { margin-bottom: $spacing-extra-small; }\n .mb2-l { margin-bottom: $spacing-small; }\n .mb3-l { margin-bottom: $spacing-medium; }\n .mb4-l { margin-bottom: $spacing-large; }\n .mb5-l { margin-bottom: $spacing-extra-large; }\n .mb6-l { margin-bottom: $spacing-extra-extra-large; }\n .mb7-l { margin-bottom: $spacing-extra-extra-extra-large; }\n\n .mt0-l { margin-top: $spacing-none; }\n .mt1-l { margin-top: $spacing-extra-small; }\n .mt2-l { margin-top: $spacing-small; }\n .mt3-l { margin-top: $spacing-medium; }\n .mt4-l { margin-top: $spacing-large; }\n .mt5-l { margin-top: $spacing-extra-large; }\n .mt6-l { margin-top: $spacing-extra-extra-large; }\n .mt7-l { margin-top: $spacing-extra-extra-extra-large; }\n\n .mv0-l {\n margin-top: $spacing-none;\n margin-bottom: $spacing-none;\n }\n .mv1-l {\n margin-top: $spacing-extra-small;\n margin-bottom: $spacing-extra-small;\n }\n .mv2-l {\n margin-top: $spacing-small;\n margin-bottom: $spacing-small;\n }\n .mv3-l {\n margin-top: $spacing-medium;\n margin-bottom: $spacing-medium;\n }\n .mv4-l {\n margin-top: $spacing-large;\n margin-bottom: $spacing-large;\n }\n .mv5-l {\n margin-top: $spacing-extra-large;\n margin-bottom: $spacing-extra-large;\n }\n .mv6-l {\n margin-top: $spacing-extra-extra-large;\n margin-bottom: $spacing-extra-extra-large;\n }\n .mv7-l {\n margin-top: $spacing-extra-extra-extra-large;\n margin-bottom: $spacing-extra-extra-extra-large;\n }\n\n .mh0-l {\n margin-left: $spacing-none;\n margin-right: $spacing-none;\n }\n .mh1-l {\n margin-left: $spacing-extra-small;\n margin-right: $spacing-extra-small;\n }\n .mh2-l {\n margin-left: $spacing-small;\n margin-right: $spacing-small;\n }\n .mh3-l {\n margin-left: $spacing-medium;\n margin-right: $spacing-medium;\n }\n .mh4-l {\n margin-left: $spacing-large;\n margin-right: $spacing-large;\n }\n .mh5-l {\n margin-left: $spacing-extra-large;\n margin-right: $spacing-extra-large;\n }\n .mh6-l {\n margin-left: $spacing-extra-extra-large;\n margin-right: $spacing-extra-extra-large;\n }\n .mh7-l {\n margin-left: $spacing-extra-extra-extra-large;\n margin-right: $spacing-extra-extra-extra-large;\n }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n NEGATIVE MARGINS\n\n Base:\n n = negative\n\n Modifiers:\n a = all\n t = top\n r = right\n b = bottom\n l = left\n\n 1 = 1st step in spacing scale\n 2 = 2nd step in spacing scale\n 3 = 3rd step in spacing scale\n 4 = 4th step in spacing scale\n 5 = 5th step in spacing scale\n 6 = 6th step in spacing scale\n 7 = 7th step in spacing scale\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n\n\n.na1 { margin: -$spacing-extra-small; }\n.na2 { margin: -$spacing-small; }\n.na3 { margin: -$spacing-medium; }\n.na4 { margin: -$spacing-large; }\n.na5 { margin: -$spacing-extra-large; }\n.na6 { margin: -$spacing-extra-extra-large; }\n.na7 { margin: -$spacing-extra-extra-extra-large; }\n\n.nl1 { margin-left: -$spacing-extra-small; }\n.nl2 { margin-left: -$spacing-small; }\n.nl3 { margin-left: -$spacing-medium; }\n.nl4 { margin-left: -$spacing-large; }\n.nl5 { margin-left: -$spacing-extra-large; }\n.nl6 { margin-left: -$spacing-extra-extra-large; }\n.nl7 { margin-left: -$spacing-extra-extra-extra-large; }\n\n.nr1 { margin-right: -$spacing-extra-small; }\n.nr2 { margin-right: -$spacing-small; }\n.nr3 { margin-right: -$spacing-medium; }\n.nr4 { margin-right: -$spacing-large; }\n.nr5 { margin-right: -$spacing-extra-large; }\n.nr6 { margin-right: -$spacing-extra-extra-large; }\n.nr7 { margin-right: -$spacing-extra-extra-extra-large; }\n\n.nb1 { margin-bottom: -$spacing-extra-small; }\n.nb2 { margin-bottom: -$spacing-small; }\n.nb3 { margin-bottom: -$spacing-medium; }\n.nb4 { margin-bottom: -$spacing-large; }\n.nb5 { margin-bottom: -$spacing-extra-large; }\n.nb6 { margin-bottom: -$spacing-extra-extra-large; }\n.nb7 { margin-bottom: -$spacing-extra-extra-extra-large; }\n\n.nt1 { margin-top: -$spacing-extra-small; }\n.nt2 { margin-top: -$spacing-small; }\n.nt3 { margin-top: -$spacing-medium; }\n.nt4 { margin-top: -$spacing-large; }\n.nt5 { margin-top: -$spacing-extra-large; }\n.nt6 { margin-top: -$spacing-extra-extra-large; }\n.nt7 { margin-top: -$spacing-extra-extra-extra-large; }\n\n@media #{$breakpoint-not-small} {\n\n .na1-ns { margin: -$spacing-extra-small; }\n .na2-ns { margin: -$spacing-small; }\n .na3-ns { margin: -$spacing-medium; }\n .na4-ns { margin: -$spacing-large; }\n .na5-ns { margin: -$spacing-extra-large; }\n .na6-ns { margin: -$spacing-extra-extra-large; }\n .na7-ns { margin: -$spacing-extra-extra-extra-large; }\n\n .nl1-ns { margin-left: -$spacing-extra-small; }\n .nl2-ns { margin-left: -$spacing-small; }\n .nl3-ns { margin-left: -$spacing-medium; }\n .nl4-ns { margin-left: -$spacing-large; }\n .nl5-ns { margin-left: -$spacing-extra-large; }\n .nl6-ns { margin-left: -$spacing-extra-extra-large; }\n .nl7-ns { margin-left: -$spacing-extra-extra-extra-large; }\n\n .nr1-ns { margin-right: -$spacing-extra-small; }\n .nr2-ns { margin-right: -$spacing-small; }\n .nr3-ns { margin-right: -$spacing-medium; }\n .nr4-ns { margin-right: -$spacing-large; }\n .nr5-ns { margin-right: -$spacing-extra-large; }\n .nr6-ns { margin-right: -$spacing-extra-extra-large; }\n .nr7-ns { margin-right: -$spacing-extra-extra-extra-large; }\n\n .nb1-ns { margin-bottom: -$spacing-extra-small; }\n .nb2-ns { margin-bottom: -$spacing-small; }\n .nb3-ns { margin-bottom: -$spacing-medium; }\n .nb4-ns { margin-bottom: -$spacing-large; }\n .nb5-ns { margin-bottom: -$spacing-extra-large; }\n .nb6-ns { margin-bottom: -$spacing-extra-extra-large; }\n .nb7-ns { margin-bottom: -$spacing-extra-extra-extra-large; }\n\n .nt1-ns { margin-top: -$spacing-extra-small; }\n .nt2-ns { margin-top: -$spacing-small; }\n .nt3-ns { margin-top: -$spacing-medium; }\n .nt4-ns { margin-top: -$spacing-large; }\n .nt5-ns { margin-top: -$spacing-extra-large; }\n .nt6-ns { margin-top: -$spacing-extra-extra-large; }\n .nt7-ns { margin-top: -$spacing-extra-extra-extra-large; }\n\n}\n\n@media #{$breakpoint-medium} {\n .na1-m { margin: -$spacing-extra-small; }\n .na2-m { margin: -$spacing-small; }\n .na3-m { margin: -$spacing-medium; }\n .na4-m { margin: -$spacing-large; }\n .na5-m { margin: -$spacing-extra-large; }\n .na6-m { margin: -$spacing-extra-extra-large; }\n .na7-m { margin: -$spacing-extra-extra-extra-large; }\n\n .nl1-m { margin-left: -$spacing-extra-small; }\n .nl2-m { margin-left: -$spacing-small; }\n .nl3-m { margin-left: -$spacing-medium; }\n .nl4-m { margin-left: -$spacing-large; }\n .nl5-m { margin-left: -$spacing-extra-large; }\n .nl6-m { margin-left: -$spacing-extra-extra-large; }\n .nl7-m { margin-left: -$spacing-extra-extra-extra-large; }\n\n .nr1-m { margin-right: -$spacing-extra-small; }\n .nr2-m { margin-right: -$spacing-small; }\n .nr3-m { margin-right: -$spacing-medium; }\n .nr4-m { margin-right: -$spacing-large; }\n .nr5-m { margin-right: -$spacing-extra-large; }\n .nr6-m { margin-right: -$spacing-extra-extra-large; }\n .nr7-m { margin-right: -$spacing-extra-extra-extra-large; }\n\n .nb1-m { margin-bottom: -$spacing-extra-small; }\n .nb2-m { margin-bottom: -$spacing-small; }\n .nb3-m { margin-bottom: -$spacing-medium; }\n .nb4-m { margin-bottom: -$spacing-large; }\n .nb5-m { margin-bottom: -$spacing-extra-large; }\n .nb6-m { margin-bottom: -$spacing-extra-extra-large; }\n .nb7-m { margin-bottom: -$spacing-extra-extra-extra-large; }\n\n .nt1-m { margin-top: -$spacing-extra-small; }\n .nt2-m { margin-top: -$spacing-small; }\n .nt3-m { margin-top: -$spacing-medium; }\n .nt4-m { margin-top: -$spacing-large; }\n .nt5-m { margin-top: -$spacing-extra-large; }\n .nt6-m { margin-top: -$spacing-extra-extra-large; }\n .nt7-m { margin-top: -$spacing-extra-extra-extra-large; }\n\n}\n\n@media #{$breakpoint-large} {\n .na1-l { margin: -$spacing-extra-small; }\n .na2-l { margin: -$spacing-small; }\n .na3-l { margin: -$spacing-medium; }\n .na4-l { margin: -$spacing-large; }\n .na5-l { margin: -$spacing-extra-large; }\n .na6-l { margin: -$spacing-extra-extra-large; }\n .na7-l { margin: -$spacing-extra-extra-extra-large; }\n\n .nl1-l { margin-left: -$spacing-extra-small; }\n .nl2-l { margin-left: -$spacing-small; }\n .nl3-l { margin-left: -$spacing-medium; }\n .nl4-l { margin-left: -$spacing-large; }\n .nl5-l { margin-left: -$spacing-extra-large; }\n .nl6-l { margin-left: -$spacing-extra-extra-large; }\n .nl7-l { margin-left: -$spacing-extra-extra-extra-large; }\n\n .nr1-l { margin-right: -$spacing-extra-small; }\n .nr2-l { margin-right: -$spacing-small; }\n .nr3-l { margin-right: -$spacing-medium; }\n .nr4-l { margin-right: -$spacing-large; }\n .nr5-l { margin-right: -$spacing-extra-large; }\n .nr6-l { margin-right: -$spacing-extra-extra-large; }\n .nr7-l { margin-right: -$spacing-extra-extra-extra-large; }\n\n .nb1-l { margin-bottom: -$spacing-extra-small; }\n .nb2-l { margin-bottom: -$spacing-small; }\n .nb3-l { margin-bottom: -$spacing-medium; }\n .nb4-l { margin-bottom: -$spacing-large; }\n .nb5-l { margin-bottom: -$spacing-extra-large; }\n .nb6-l { margin-bottom: -$spacing-extra-extra-large; }\n .nb7-l { margin-bottom: -$spacing-extra-extra-extra-large; }\n\n .nt1-l { margin-top: -$spacing-extra-small; }\n .nt2-l { margin-top: -$spacing-small; }\n .nt3-l { margin-top: -$spacing-medium; }\n .nt4-l { margin-top: -$spacing-large; }\n .nt5-l { margin-top: -$spacing-extra-large; }\n .nt6-l { margin-top: -$spacing-extra-extra-large; }\n .nt7-l { margin-top: -$spacing-extra-extra-extra-large; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n TABLES\n Docs: http://tachyons.io/docs/elements/tables/\n\n*/\n\n.collapse {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n.striped--light-silver:nth-child(odd) {\n background-color: $light-silver;\n}\n\n.striped--moon-gray:nth-child(odd) {\n background-color: $moon-gray;\n}\n\n.striped--light-gray:nth-child(odd) {\n background-color: $light-gray;\n}\n\n.striped--near-white:nth-child(odd) {\n background-color: $near-white;\n}\n\n.stripe-light:nth-child(odd) {\n background-color: $white-10;\n}\n\n.stripe-dark:nth-child(odd) {\n background-color: $black-10;\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n TEXT DECORATION\n Docs: http://tachyons.io/docs/typography/text-decoration/\n\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.strike { text-decoration: line-through; }\n.underline { text-decoration: underline; }\n.no-underline { text-decoration: none; }\n\n\n@media #{$breakpoint-not-small} {\n .strike-ns { text-decoration: line-through; }\n .underline-ns { text-decoration: underline; }\n .no-underline-ns { text-decoration: none; }\n}\n\n@media #{$breakpoint-medium} {\n .strike-m { text-decoration: line-through; }\n .underline-m { text-decoration: underline; }\n .no-underline-m { text-decoration: none; }\n}\n\n@media #{$breakpoint-large} {\n .strike-l { text-decoration: line-through; }\n .underline-l { text-decoration: underline; }\n .no-underline-l { text-decoration: none; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n TEXT ALIGN\n Docs: http://tachyons.io/docs/typography/text-align/\n\n Base\n t = text-align\n\n Modifiers\n l = left\n r = right\n c = center\n j = justify\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.tl { text-align: left; }\n.tr { text-align: right; }\n.tc { text-align: center; }\n.tj { text-align: justify; }\n\n@media #{$breakpoint-not-small} {\n .tl-ns { text-align: left; }\n .tr-ns { text-align: right; }\n .tc-ns { text-align: center; }\n .tj-ns { text-align: justify; }\n}\n\n@media #{$breakpoint-medium} {\n .tl-m { text-align: left; }\n .tr-m { text-align: right; }\n .tc-m { text-align: center; }\n .tj-m { text-align: justify; }\n}\n\n@media #{$breakpoint-large} {\n .tl-l { text-align: left; }\n .tr-l { text-align: right; }\n .tc-l { text-align: center; }\n .tj-l { text-align: justify; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n TEXT TRANSFORM\n Docs: http://tachyons.io/docs/typography/text-transform/\n\n Base:\n tt = text-transform\n\n Modifiers\n c = capitalize\n l = lowercase\n u = uppercase\n n = none\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.ttc { text-transform: capitalize; }\n.ttl { text-transform: lowercase; }\n.ttu { text-transform: uppercase; }\n.ttn { text-transform: none; }\n\n@media #{$breakpoint-not-small} {\n .ttc-ns { text-transform: capitalize; }\n .ttl-ns { text-transform: lowercase; }\n .ttu-ns { text-transform: uppercase; }\n .ttn-ns { text-transform: none; }\n}\n\n@media #{$breakpoint-medium} {\n .ttc-m { text-transform: capitalize; }\n .ttl-m { text-transform: lowercase; }\n .ttu-m { text-transform: uppercase; }\n .ttn-m { text-transform: none; }\n}\n\n@media #{$breakpoint-large} {\n .ttc-l { text-transform: capitalize; }\n .ttl-l { text-transform: lowercase; }\n .ttu-l { text-transform: uppercase; }\n .ttn-l { text-transform: none; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n TYPE SCALE\n Docs: http://tachyons.io/docs/typography/scale/\n\n Base:\n f = font-size\n\n Modifiers\n 1 = 1st step in size scale\n 2 = 2nd step in size scale\n 3 = 3rd step in size scale\n 4 = 4th step in size scale\n 5 = 5th step in size scale\n 6 = 6th step in size scale\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n*/\n\n/*\n * For Hero/Marketing Titles\n *\n * These generally are too large for mobile\n * so be careful using them on smaller screens.\n * */\n\n.f-6,\n.f-headline {\n font-size: $font-size-headline;\n}\n.f-5,\n.f-subheadline {\n font-size: $font-size-subheadline;\n}\n\n\n/* Type Scale */\n\n\n.f1 { font-size: $font-size-1; }\n.f2 { font-size: $font-size-2; }\n.f3 { font-size: $font-size-3; }\n.f4 { font-size: $font-size-4; }\n.f5 { font-size: $font-size-5; }\n.f6 { font-size: $font-size-6; }\n.f7 { font-size: $font-size-7; }\n\n@media #{$breakpoint-not-small}{\n .f-6-ns,\n .f-headline-ns { font-size: $font-size-headline; }\n .f-5-ns,\n .f-subheadline-ns { font-size: $font-size-subheadline; }\n .f1-ns { font-size: $font-size-1; }\n .f2-ns { font-size: $font-size-2; }\n .f3-ns { font-size: $font-size-3; }\n .f4-ns { font-size: $font-size-4; }\n .f5-ns { font-size: $font-size-5; }\n .f6-ns { font-size: $font-size-6; }\n .f7-ns { font-size: $font-size-7; }\n}\n\n@media #{$breakpoint-medium} {\n .f-6-m,\n .f-headline-m { font-size: $font-size-headline; }\n .f-5-m,\n .f-subheadline-m { font-size: $font-size-subheadline; }\n .f1-m { font-size: $font-size-1; }\n .f2-m { font-size: $font-size-2; }\n .f3-m { font-size: $font-size-3; }\n .f4-m { font-size: $font-size-4; }\n .f5-m { font-size: $font-size-5; }\n .f6-m { font-size: $font-size-6; }\n .f7-m { font-size: $font-size-7; }\n}\n\n@media #{$breakpoint-large} {\n .f-6-l,\n .f-headline-l {\n font-size: $font-size-headline;\n }\n .f-5-l,\n .f-subheadline-l {\n font-size: $font-size-subheadline;\n }\n .f1-l { font-size: $font-size-1; }\n .f2-l { font-size: $font-size-2; }\n .f3-l { font-size: $font-size-3; }\n .f4-l { font-size: $font-size-4; }\n .f5-l { font-size: $font-size-5; }\n .f6-l { font-size: $font-size-6; }\n .f7-l { font-size: $font-size-7; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n TYPOGRAPHY\n http://tachyons.io/docs/typography/measure/\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n\n\n/* Measure is limited to ~66 characters */\n.measure {\n max-width: $measure;\n}\n\n/* Measure is limited to ~80 characters */\n.measure-wide {\n max-width: $measure-wide;\n}\n\n/* Measure is limited to ~45 characters */\n.measure-narrow {\n max-width: $measure-narrow;\n}\n\n/* Book paragraph style - paragraphs are indented with no vertical spacing. */\n.indent {\n text-indent: 1em;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.small-caps {\n font-variant: small-caps;\n}\n\n/* Combine this class with a width to truncate text (or just leave as is to truncate at width of containing element. */\n\n.truncate {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n@media #{$breakpoint-not-small} {\n .measure-ns {\n max-width: $measure;\n }\n .measure-wide-ns {\n max-width: $measure-wide;\n }\n .measure-narrow-ns {\n max-width: $measure-narrow;\n }\n .indent-ns {\n text-indent: 1em;\n margin-top: 0;\n margin-bottom: 0;\n }\n .small-caps-ns {\n font-variant: small-caps;\n }\n .truncate-ns {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n@media #{$breakpoint-medium} {\n .measure-m {\n max-width: $measure;\n }\n .measure-wide-m {\n max-width: $measure-wide;\n }\n .measure-narrow-m {\n max-width: $measure-narrow;\n }\n .indent-m {\n text-indent: 1em;\n margin-top: 0;\n margin-bottom: 0;\n }\n .small-caps-m {\n font-variant: small-caps;\n }\n .truncate-m {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n@media #{$breakpoint-large} {\n .measure-l {\n max-width: $measure;\n }\n .measure-wide-l {\n max-width: $measure-wide;\n }\n .measure-narrow-l {\n max-width: $measure-narrow;\n }\n .indent-l {\n text-indent: 1em;\n margin-top: 0;\n margin-bottom: 0;\n }\n .small-caps-l {\n font-variant: small-caps;\n }\n .truncate-l {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n UTILITIES\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n/* Equivalent to .overflow-y-scroll */\n.overflow-container {\n overflow-y: scroll;\n}\n\n.center {\n margin-right: auto;\n margin-left: auto;\n}\n\n.mr-auto { margin-right: auto; }\n.ml-auto { margin-left: auto; }\n\n@media #{$breakpoint-not-small}{\n .center-ns {\n margin-right: auto;\n margin-left: auto;\n }\n .mr-auto-ns { margin-right: auto; }\n .ml-auto-ns { margin-left: auto; }\n}\n\n@media #{$breakpoint-medium}{\n .center-m {\n margin-right: auto;\n margin-left: auto;\n }\n .mr-auto-m { margin-right: auto; }\n .ml-auto-m { margin-left: auto; }\n}\n\n@media #{$breakpoint-large}{\n .center-l {\n margin-right: auto;\n margin-left: auto;\n }\n .mr-auto-l { margin-right: auto; }\n .ml-auto-l { margin-left: auto; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n VISIBILITY\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n\n/*\n Text that is hidden but accessible\n Ref: http://snook.ca/archives/html_and_css/hiding-content-for-accessibility\n*/\n\n.clip {\n position: fixed !important;\n _position: absolute !important;\n clip: rect(1px 1px 1px 1px); /* IE6, IE7 */\n clip: rect(1px, 1px, 1px, 1px);\n}\n\n@media #{$breakpoint-not-small} {\n .clip-ns {\n position: fixed !important;\n _position: absolute !important;\n clip: rect(1px 1px 1px 1px); /* IE6, IE7 */\n clip: rect(1px, 1px, 1px, 1px);\n }\n}\n\n@media #{$breakpoint-medium} {\n .clip-m {\n position: fixed !important;\n _position: absolute !important;\n clip: rect(1px 1px 1px 1px); /* IE6, IE7 */\n clip: rect(1px, 1px, 1px, 1px);\n }\n}\n\n@media #{$breakpoint-large} {\n .clip-l {\n position: fixed !important;\n _position: absolute !important;\n clip: rect(1px 1px 1px 1px); /* IE6, IE7 */\n clip: rect(1px, 1px, 1px, 1px);\n }\n}\n\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n WHITE SPACE\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n\n.ws-normal { white-space: normal; }\n.nowrap { white-space: nowrap; }\n.pre { white-space: pre; }\n\n@media #{$breakpoint-not-small} {\n .ws-normal-ns { white-space: normal; }\n .nowrap-ns { white-space: nowrap; }\n .pre-ns { white-space: pre; }\n}\n\n@media #{$breakpoint-medium} {\n .ws-normal-m { white-space: normal; }\n .nowrap-m { white-space: nowrap; }\n .pre-m { white-space: pre; }\n}\n\n@media #{$breakpoint-large} {\n .ws-normal-l { white-space: normal; }\n .nowrap-l { white-space: nowrap; }\n .pre-l { white-space: pre; }\n}\n\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n VERTICAL ALIGN\n\n Media Query Extensions:\n -ns = not-small\n -m = medium\n -l = large\n\n*/\n\n.v-base { vertical-align: baseline; }\n.v-mid { vertical-align: middle; }\n.v-top { vertical-align: top; }\n.v-btm { vertical-align: bottom; }\n\n@media #{$breakpoint-not-small} {\n .v-base-ns { vertical-align: baseline; }\n .v-mid-ns { vertical-align: middle; }\n .v-top-ns { vertical-align: top; }\n .v-btm-ns { vertical-align: bottom; }\n}\n\n@media #{$breakpoint-medium} {\n .v-base-m { vertical-align: baseline; }\n .v-mid-m { vertical-align: middle; }\n .v-top-m { vertical-align: top; }\n .v-btm-m { vertical-align: bottom; }\n}\n\n@media #{$breakpoint-large} {\n .v-base-l { vertical-align: baseline; }\n .v-mid-l { vertical-align: middle; }\n .v-top-l { vertical-align: top; }\n .v-btm-l { vertical-align: bottom; }\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n HOVER EFFECTS\n Docs: http://tachyons.io/docs/themes/hovers/\n\n - Dim\n - Glow\n - Hide Child\n - Underline text\n - Grow\n - Pointer\n - Shadow\n\n*/\n\n/*\n\n Dim element on hover by adding the dim class.\n\n*/\n.dim {\n opacity: 1;\n transition: opacity .15s ease-in;\n}\n.dim:hover,\n.dim:focus {\n opacity: .5;\n transition: opacity .15s ease-in;\n}\n.dim:active {\n opacity: .8; transition: opacity .15s ease-out;\n}\n\n/*\n\n Animate opacity to 100% on hover by adding the glow class.\n\n*/\n.glow {\n transition: opacity .15s ease-in;\n}\n.glow:hover,\n.glow:focus {\n opacity: 1;\n transition: opacity .15s ease-in;\n}\n\n/*\n\n Hide child & reveal on hover:\n\n Put the hide-child class on a parent element and any nested element with the\n child class will be hidden and displayed on hover or focus.\n\n
\n
Hidden until hover or focus
\n
Hidden until hover or focus
\n
Hidden until hover or focus
\n
Hidden until hover or focus
\n
\n*/\n\n.hide-child .child {\n opacity: 0;\n transition: opacity .15s ease-in;\n}\n.hide-child:hover .child,\n.hide-child:focus .child,\n.hide-child:active .child {\n opacity: 1;\n transition: opacity .15s ease-in;\n}\n\n.underline-hover:hover,\n.underline-hover:focus {\n text-decoration: underline;\n}\n\n/* Can combine this with overflow-hidden to make background images grow on hover\n * even if you are using background-size: cover */\n\n.grow {\n -moz-osx-font-smoothing: grayscale;\n backface-visibility: hidden;\n transform: translateZ(0);\n transition: transform 0.25s ease-out;\n}\n\n.grow:hover,\n.grow:focus {\n transform: scale(1.05);\n}\n\n.grow:active {\n transform: scale(.90);\n}\n\n.grow-large {\n -moz-osx-font-smoothing: grayscale;\n backface-visibility: hidden;\n transform: translateZ(0);\n transition: transform .25s ease-in-out;\n}\n\n.grow-large:hover,\n.grow-large:focus {\n transform: scale(1.2);\n}\n\n.grow-large:active {\n transform: scale(.95);\n}\n\n/* Add pointer on hover */\n\n.pointer:hover {\n cursor: pointer;\n}\n\n/*\n Add shadow on hover.\n\n Performant box-shadow animation pattern from\n http://tobiasahlin.com/blog/how-to-animate-box-shadow/\n*/\n\n.shadow-hover {\n cursor: pointer;\n position: relative;\n transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n.shadow-hover::after {\n content: '';\n box-shadow: 0px 0px 16px 2px rgba( 0, 0, 0, .2 );\n border-radius: inherit;\n opacity: 0;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n.shadow-hover:hover::after,\n.shadow-hover:focus::after {\n opacity: 1;\n}\n\n/* Combine with classes in skins and skins-pseudo for\n * many different transition possibilities. */\n\n.bg-animate,\n.bg-animate:hover,\n.bg-animate:focus {\n transition: background-color .15s ease-in-out;\n}\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n Z-INDEX\n\n Base\n z = z-index\n\n Modifiers\n -0 = literal value 0\n -1 = literal value 1\n -2 = literal value 2\n -3 = literal value 3\n -4 = literal value 4\n -5 = literal value 5\n -999 = literal value 999\n -9999 = literal value 9999\n\n -max = largest accepted z-index value as integer\n\n -inherit = string value inherit\n -initial = string value initial\n -unset = string value unset\n\n MDN: https://developer.mozilla.org/en/docs/Web/CSS/z-index\n Spec: http://www.w3.org/TR/CSS2/zindex.html\n Articles:\n https://philipwalton.com/articles/what-no-one-told-you-about-z-index/\n\n Tips on extending:\n There might be a time worth using negative z-index values.\n Or if you are using tachyons with another project, you might need to\n adjust these values to suit your needs.\n\n*/\n\n.z-0 { z-index: 0; }\n.z-1 { z-index: 1; }\n.z-2 { z-index: 2; }\n.z-3 { z-index: 3; }\n.z-4 { z-index: 4; }\n.z-5 { z-index: 5; }\n\n.z-999 { z-index: 999; }\n.z-9999 { z-index: 9999; }\n\n.z-max {\n z-index: 2147483647;\n}\n\n.z-inherit { z-index: inherit; }\n.z-initial { z-index: initial; }\n.z-unset { z-index: unset; }\n\n","\n// Converted Variables\n\n\n// Custom Media Query Variables\n\n\n/*\n\n NESTED\n Tachyons module for styling nested elements\n that are generated by a cms.\n\n*/\n\n.nested-copy-line-height p,\n.nested-copy-line-height ul,\n.nested-copy-line-height ol {\n line-height: $line-height-copy;\n}\n\n.nested-headline-line-height h1,\n.nested-headline-line-height h2,\n.nested-headline-line-height h3,\n.nested-headline-line-height h4,\n.nested-headline-line-height h5,\n.nested-headline-line-height h6 {\n line-height: $line-height-title;\n}\n\n.nested-list-reset ul,\n.nested-list-reset ol {\n padding-left: 0;\n margin-left: 0;\n list-style-type: none;\n}\n\n.nested-copy-indent p+p {\n text-indent: $letter-spacing-1;\n margin-top: $spacing-none;\n margin-bottom: $spacing-none;\n}\n\n.nested-copy-seperator p+p {\n margin-top: $spacing-copy-separator;\n}\n\n.nested-img img {\n width: 100%;\n max-width: 100%;\n display: block;\n}\n\n.nested-links a {\n color: $blue;\n transition: color .15s ease-in;\n}\n\n.nested-links a:hover,\n.nested-links a:focus {\n color: $light-blue;\n transition: color .15s ease-in;\n}\n","@use \"sass:meta\";\n@use \"variables\" as *;\n@use \"type\";\n@use \"mixins\";\n\n.wrapper {\n width: 100%;\n max-width: 1460px;\n margin: 0 auto;\n padding: 0 20px;\n box-sizing: border-box;\n}\n\n.opblock-tag-section {\n display: flex;\n flex-direction: column;\n}\n\n.try-out.btn-group {\n padding: 0;\n display: flex;\n flex: 0.1 2 auto;\n}\n\n.try-out__btn {\n margin-left: 1.25rem;\n}\n\n.opblock-tag {\n display: flex;\n align-items: center;\n\n padding: 10px 20px 10px 10px;\n\n cursor: pointer;\n transition: all 0.2s;\n\n border-bottom: 1px solid rgba($opblock-tag-border-bottom-color, 0.3);\n\n &:hover {\n background: rgba($opblock-tag-background-color-hover, 0.02);\n }\n}\n\n.opblock-tag {\n font-size: 24px;\n\n margin: 0 0 5px 0;\n\n @include type.text_headline();\n\n &.no-desc {\n span {\n flex: 1;\n }\n }\n\n svg {\n transition: all 0.4s;\n }\n\n small {\n font-size: 14px;\n font-weight: normal;\n\n flex: 2;\n\n padding: 0 10px;\n\n @include type.text_body();\n }\n\n > div {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n flex: 1 1 150px;\n font-weight: 400;\n }\n\n @media (max-width: 640px) {\n small {\n flex: 1;\n }\n\n > div {\n flex: 1;\n }\n }\n\n .info__externaldocs {\n text-align: right;\n }\n}\n\n.parameter__type {\n font-size: 12px;\n\n padding: 5px 0;\n\n @include type.text_code();\n}\n\n.parameter-controls {\n margin-top: 0.75em;\n}\n\n.examples {\n &__title {\n display: block;\n font-size: 1.1em;\n font-weight: bold;\n margin-bottom: 0.75em;\n }\n\n &__section {\n margin-top: 1.5em;\n }\n &__section-header {\n font-weight: bold;\n font-size: 0.9rem;\n margin-bottom: 0.5rem;\n }\n}\n\n.examples-select {\n margin-bottom: 0.75em;\n display: inline-block;\n .examples-select-element {\n width: 100%;\n }\n &__section-label {\n font-weight: bold;\n font-size: 0.9rem;\n margin-right: 0.5rem;\n }\n}\n\n.example {\n &__section {\n margin-top: 1.5em;\n }\n &__section-header {\n font-weight: bold;\n font-size: 0.9rem;\n margin-bottom: 0.5rem;\n }\n}\n\n.view-line-link {\n position: relative;\n top: 3px;\n\n width: 20px;\n margin: 0 5px;\n\n cursor: pointer;\n transition: all 0.5s;\n}\n\n.opblock {\n margin: 0 0 15px 0;\n\n border: 1px solid $opblock-border-color;\n border-radius: 4px;\n box-shadow: 0 0 3px rgba($opblock-box-shadow-color, 0.19);\n\n .tab-header {\n display: flex;\n\n flex: 1;\n\n .tab-item {\n padding: 0 40px;\n\n cursor: pointer;\n\n &:first-of-type {\n padding: 0 40px 0 0;\n }\n &.active {\n h4 {\n span {\n position: relative;\n\n &:after {\n position: absolute;\n bottom: -15px;\n left: 50%;\n\n width: 120%;\n height: 4px;\n\n content: \"\";\n transform: translateX(-50%);\n\n background: $opblock-tab-header-tab-item-active-h4-span-after-background-color;\n }\n }\n }\n }\n }\n }\n\n &.is-open {\n .opblock-summary {\n border-bottom: 1px solid $opblock-isopen-summary-border-bottom-color;\n }\n }\n\n .opblock-section-header {\n display: flex;\n align-items: center;\n\n padding: 8px 20px;\n\n min-height: 50px;\n\n background: rgba($opblock-isopen-section-header-background-color, 0.8);\n box-shadow: 0 1px 2px\n rgba($opblock-isopen-section-header-box-shadow-color, 0.1);\n\n > label {\n font-size: 12px;\n font-weight: bold;\n\n display: flex;\n align-items: center;\n\n margin: 0 0 0 auto;\n\n @include type.text_headline();\n\n > span {\n padding: 0 10px 0 0;\n }\n }\n\n h4 {\n font-size: 14px;\n\n flex: 1;\n\n margin: 0;\n\n @include type.text_headline();\n }\n }\n\n .opblock-summary-method {\n font-size: 14px;\n font-weight: bold;\n\n min-width: 80px;\n padding: 6px 0;\n\n text-align: center;\n\n border-radius: 3px;\n background: $opblock-summary-method-background-color;\n text-shadow: 0 1px 0 rgba($opblock-summary-method-text-shadow-color, 0.1);\n\n @include type.text_headline($opblock-summary-method-font-color);\n\n @media (max-width: 768px) {\n font-size: 12px;\n }\n }\n\n .opblock-summary-path,\n .opblock-summary-operation-id,\n .opblock-summary-path__deprecated {\n font-size: 16px;\n\n display: flex;\n align-items: center;\n\n word-break: break-word;\n\n @include type.text_code();\n\n @media (max-width: 768px) {\n font-size: 12px;\n }\n }\n\n .opblock-summary-path {\n flex-shrink: 1;\n }\n\n @media (max-width: 640px) {\n .opblock-summary-path {\n max-width: 100%;\n }\n }\n\n .opblock-summary-path__deprecated {\n text-decoration: line-through;\n }\n\n .opblock-summary-operation-id {\n font-size: 14px;\n }\n\n .opblock-summary-description {\n font-size: 13px;\n\n word-break: break-word;\n\n @include type.text_body();\n }\n\n .opblock-summary-path-description-wrapper {\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 0px 10px;\n\n padding: 0 10px;\n\n flex-grow: 1;\n }\n\n @media (max-width: 550px) {\n .opblock-summary-path-description-wrapper {\n flex-direction: column;\n align-items: flex-start;\n }\n }\n\n .opblock-summary {\n display: flex;\n align-items: center;\n\n padding: 5px;\n\n cursor: pointer;\n\n .view-line-link {\n position: relative;\n top: 2px;\n\n width: 0;\n margin: 0;\n\n cursor: pointer;\n transition: all 0.5s;\n }\n\n &:hover {\n .view-line-link {\n width: 18px;\n margin: 0 5px;\n\n &.copy-to-clipboard {\n width: 24px;\n }\n }\n }\n }\n\n &.opblock-post {\n @include mixins.method($color-post);\n }\n\n &.opblock-put {\n @include mixins.method($color-put);\n }\n\n &.opblock-delete {\n @include mixins.method($color-delete);\n }\n\n &.opblock-get {\n @include mixins.method($color-get);\n }\n\n &.opblock-patch {\n @include mixins.method($color-patch);\n }\n\n &.opblock-head {\n @include mixins.method($color-head);\n }\n\n &.opblock-options {\n @include mixins.method($color-options);\n }\n\n &.opblock-deprecated {\n opacity: 0.6;\n\n @include mixins.method($color-disabled);\n }\n\n .opblock-schemes {\n padding: 8px 20px;\n\n .schemes-title {\n padding: 0 10px 0 0;\n }\n }\n}\n\n.filter {\n .operation-filter-input {\n width: 100%;\n margin: 20px 0;\n padding: 10px 10px;\n\n border: 2px solid $operational-filter-input-border-color;\n }\n}\n\n.filter,\n.download-url-wrapper {\n .failed {\n color: red;\n }\n\n .loading {\n color: #aaa;\n }\n}\n\n.model-example {\n margin-top: 1em;\n\n .model-container {\n width: 100%;\n overflow-x: auto;\n\n .model-hint:not(.model-hint--embedded) {\n top: -1.15em;\n }\n }\n}\n\n.tab {\n display: flex;\n\n padding: 0;\n\n list-style: none;\n\n li {\n font-size: 12px;\n\n min-width: 60px;\n padding: 0;\n\n cursor: pointer;\n\n @include type.text_headline();\n\n &:first-of-type {\n position: relative;\n\n padding-left: 0;\n padding-right: 12px;\n\n &:after {\n position: absolute;\n top: 0;\n right: 6px;\n\n width: 1px;\n height: 100%;\n\n content: \"\";\n\n background: rgba($tab-list-item-first-background-color, 0.2);\n }\n }\n\n &.active {\n font-weight: bold;\n }\n\n button.tablinks {\n background: none;\n border: 0;\n padding: 0;\n\n color: inherit;\n font-family: inherit;\n font-weight: inherit;\n }\n }\n}\n\n.opblock-description-wrapper,\n.opblock-external-docs-wrapper,\n.opblock-title_normal {\n font-size: 12px;\n\n margin: 0 0 5px 0;\n padding: 15px 20px;\n\n @include type.text_body();\n\n h4 {\n font-size: 12px;\n\n margin: 0 0 5px 0;\n\n @include type.text_body();\n }\n\n p {\n font-size: 14px;\n\n margin: 0;\n\n @include type.text_body();\n }\n}\n\n.opblock-external-docs-wrapper {\n h4 {\n padding-left: 0px;\n }\n}\n\n.execute-wrapper {\n padding: 20px;\n\n text-align: right;\n\n .btn {\n width: 100%;\n padding: 8px 40px;\n }\n}\n\n.body-param-options {\n display: flex;\n flex-direction: column;\n\n .body-param-edit {\n padding: 10px 0;\n }\n\n label {\n padding: 8px 0;\n select {\n margin: 3px 0 0 0;\n }\n }\n}\n\n.responses-inner {\n padding: 20px;\n\n h5,\n h4 {\n font-size: 12px;\n\n margin: 10px 0 5px 0;\n\n @include type.text_body();\n }\n\n .curl {\n overflow-y: auto;\n max-height: 400px;\n min-height: 6em;\n }\n}\n\n.response-col_status {\n font-size: 14px;\n\n @include type.text_body();\n\n .response-undocumented {\n font-size: 11px;\n\n @include type.text_code($response-col-status-undocumented-font-color);\n }\n}\n\n.response-col_links {\n padding-left: 2em;\n max-width: 40em;\n font-size: 14px;\n\n @include type.text_body();\n\n .response-undocumented {\n font-size: 11px;\n\n @include type.text_code($response-col-links-font-color);\n }\n\n .operation-link {\n margin-bottom: 1.5em;\n\n .description {\n margin-bottom: 0.5em;\n }\n }\n}\n\n.opblock-body {\n .opblock-loading-animation {\n display: block;\n margin: 3em auto;\n }\n}\n\n.opblock-body pre.microlight {\n font-size: 12px;\n\n margin: 0;\n padding: 10px;\n\n white-space: pre-wrap;\n word-wrap: break-word;\n word-break: break-all;\n word-break: break-word;\n hyphens: auto;\n\n border-radius: 4px;\n background: $opblock-body-background-color;\n\n overflow-wrap: break-word;\n @include type.text_code($opblock-body-font-color);\n\n // disabled to have syntax highliting with react-syntax-highlight\n // span\n // {\n // color: $opblock-body-font-color !important;\n // }\n\n .headerline {\n display: block;\n }\n}\n\n.highlight-code {\n position: relative;\n\n > .microlight {\n overflow-y: auto;\n max-height: 400px;\n min-height: 6em;\n\n code {\n white-space: pre-wrap !important;\n word-break: break-all;\n }\n }\n}\n.curl-command {\n position: relative;\n}\n\n.download-contents {\n position: absolute;\n bottom: 10px;\n right: 10px;\n background: #7d8293;\n text-align: center;\n padding: 5px;\n border: none;\n border-radius: 4px;\n font-family: sans-serif;\n font-weight: 600;\n color: white;\n font-size: 14px;\n height: 30px;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.scheme-container {\n margin: 0 0 20px 0;\n padding: 30px 0;\n\n background: $scheme-container-background-color;\n box-shadow: 0 1px 2px 0 rgba($scheme-container-box-shadow-color, 0.15);\n\n .schemes {\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n flex-wrap: wrap;\n\n gap: 10px;\n\n /*\n This wraps the servers or schemes selector.\n This was added to make sure the Authorize button is always on the right\n and the servers or schemes selector is always on the left.\n */\n > .schemes-server-container {\n display: flex;\n flex-wrap: wrap;\n\n gap: 10px;\n\n > label {\n font-size: 12px;\n font-weight: bold;\n\n display: flex;\n flex-direction: column;\n\n margin: -20px 15px 0 0;\n\n @include type.text_headline();\n\n select {\n min-width: 130px;\n\n text-transform: uppercase;\n }\n }\n }\n\n /*\n This checks if the schemes-server-container is not present and\n aligns the authorize button to the right\n */\n &:not(:has(.schemes-server-container)) {\n justify-content: flex-end;\n }\n\n /*\n Target Authorize Button in schemes wrapper\n This was added here to fix responsiveness issues with the authorize button\n within the schemes wrapper without affecting other instances of it's usage\n */\n .auth-wrapper {\n flex: none;\n justify-content: start;\n\n .authorize {\n padding-right: 20px;\n margin: 0;\n\n display: flex;\n\n flex-wrap: nowrap;\n }\n }\n }\n}\n\n.loading-container {\n padding: 40px 0 60px;\n margin-top: 1em;\n min-height: 1px;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n\n .loading {\n position: relative;\n\n &:after {\n font-size: 10px;\n font-weight: bold;\n\n position: absolute;\n top: 50%;\n left: 50%;\n\n content: \"loading\";\n transform: translate(-50%, -50%);\n text-transform: uppercase;\n\n @include type.text_headline();\n }\n\n &:before {\n position: absolute;\n top: 50%;\n left: 50%;\n\n display: block;\n\n width: 60px;\n height: 60px;\n margin: -30px -30px;\n\n content: \"\";\n animation:\n rotation 1s infinite linear,\n opacity 0.5s;\n\n opacity: 1;\n border: 2px solid rgba($loading-container-before-border-color, 0.1);\n border-top-color: rgba($loading-container-before-border-top-color, 0.6);\n border-radius: 100%;\n\n backface-visibility: hidden;\n\n @keyframes rotation {\n to {\n transform: rotate(360deg);\n }\n }\n }\n }\n}\n\n.response-controls {\n padding-top: 1em;\n display: flex;\n}\n\n.response-control-media-type {\n margin-right: 1em;\n\n &--accept-controller {\n select {\n border-color: $response-content-type-controls-accept-header-select-border-color;\n }\n }\n\n &__accept-message {\n color: $response-content-type-controls-accept-header-small-font-color;\n font-size: 0.7em;\n }\n\n &__title {\n display: block;\n margin-bottom: 0.2em;\n font-size: 0.7em;\n }\n}\n\n.response-control-examples {\n &__title {\n display: block;\n margin-bottom: 0.2em;\n font-size: 0.7em;\n }\n}\n\n@keyframes blinker {\n 50% {\n opacity: 0;\n }\n}\n\n.hidden {\n display: none;\n}\n\n.no-margin {\n height: auto;\n border: none;\n margin: 0;\n padding: 0;\n}\n\n.float-right {\n float: right;\n}\n\n.svg-assets {\n position: absolute;\n width: 0;\n height: 0;\n}\n\nsection {\n h3 {\n @include type.text_headline();\n }\n}\n\na.nostyle {\n text-decoration: inherit;\n color: inherit;\n cursor: pointer;\n display: inline;\n\n &:visited {\n text-decoration: inherit;\n color: inherit;\n cursor: pointer;\n }\n}\n\n.fallback {\n padding: 1em;\n color: #aaa;\n}\n\n.version-pragma {\n height: 100%;\n padding: 5em 0px;\n\n &__message {\n display: flex;\n justify-content: center;\n height: 100%;\n font-size: 1.2em;\n text-align: center;\n line-height: 1.5em;\n\n padding: 0px 0.6em;\n\n > div {\n max-width: 55ch;\n flex: 1;\n }\n\n code {\n background-color: #dedede;\n padding: 4px 4px 2px;\n white-space: pre;\n }\n }\n}\n\n.opblock-link {\n font-weight: normal;\n\n &.shown {\n font-weight: bold;\n }\n}\n\nspan {\n &.token-string {\n color: #555;\n }\n\n &.token-not-formatted {\n color: #555;\n font-weight: bold;\n }\n}\n","@use \"sass:color\";\n@use \"variables\" as *;\n\n// - - - - - - - - - - - - - - - - - - -\n// - - _mixins.scss module\n// styles for the _mixins.scss module\n@function calculateRem($size) {\n $remSize: $size / 16px;\n @return $remSize * 1rem;\n}\n\n@mixin font-size($size) {\n font-size: $size;\n font-size: calculateRem($size);\n}\n\n%clearfix {\n &:before,\n &:after {\n display: table;\n\n content: \" \";\n }\n &:after {\n clear: both;\n }\n}\n\n@mixin size($width, $height: $width) {\n width: $width;\n height: $height;\n}\n\n$ease: (\n in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53),\n in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19),\n in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22),\n in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06),\n in-sine: cubic-bezier(0.47, 0, 0.745, 0.715),\n in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035),\n in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335),\n in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045),\n out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94),\n out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1),\n out-quart: cubic-bezier(0.165, 0.84, 0.44, 1),\n out-quint: cubic-bezier(0.23, 1, 0.32, 1),\n out-sine: cubic-bezier(0.39, 0.575, 0.565, 1),\n out-expo: cubic-bezier(0.19, 1, 0.22, 1),\n out-circ: cubic-bezier(0.075, 0.82, 0.165, 1),\n out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275),\n in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955),\n in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1),\n in-out-quart: cubic-bezier(0.77, 0, 0.175, 1),\n in-out-quint: cubic-bezier(0.86, 0, 0.07, 1),\n in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95),\n in-out-expo: cubic-bezier(1, 0, 0, 1),\n in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86),\n in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55),\n);\n\n@function ease($key) {\n @if map-has-key($ease, $key) {\n @return map-get($ease, $key);\n }\n\n @warn 'Unkown \\'#{$key}\\' in $ease.';\n @return null;\n}\n\n@mixin ease($key) {\n transition-timing-function: ease($key);\n}\n\n@mixin text-truncate {\n overflow: hidden;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@mixin aspect-ratio($width, $height) {\n position: relative;\n &:before {\n display: block;\n\n width: 100%;\n padding-top: ($height / $width) * 100%;\n\n content: \"\";\n }\n > iframe {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n}\n\n$browser-context: 16;\n\n@function em($pixels, $context: $browser-context) {\n @if (unitless($pixels)) {\n $pixels: $pixels * 1px;\n }\n\n @if (unitless($context)) {\n $context: $context * 1px;\n }\n\n @return $pixels / $context * 1em;\n}\n\n@mixin maxHeight($height) {\n @media (max-height: $height) {\n @content;\n }\n}\n\n@mixin breakpoint($class) {\n @if $class == tablet {\n @media (min-width: 768px) and (max-width: 1024px) {\n @content;\n }\n } @else if $class == mobile {\n @media (min-width: 320px) and (max-width: 736px) {\n @content;\n }\n } @else if $class == desktop {\n @media (min-width: 1400px) {\n @content;\n }\n } @else {\n @warn 'Breakpoint mixin supports: tablet, mobile, desktop';\n }\n}\n\n@mixin invalidFormElement() {\n animation: shake 0.4s 1;\n border-color: $color-delete;\n background: color.adjust($color-delete, $lightness: 35%);\n}\n\n@mixin method($color) {\n border-color: $color;\n background: rgba($color, 0.1);\n\n .opblock-summary-method {\n background: $color;\n }\n\n .opblock-summary {\n border-color: $color;\n }\n\n .tab-header .tab-item.active h4 span:after {\n background: $color;\n }\n}\n","@use \"variables\" as *;\n@use \"type\";\n@use \"mixins\";\n\n.btn {\n font-size: 14px;\n font-weight: bold;\n\n padding: 5px 23px;\n\n transition: all 0.3s;\n\n border: 2px solid $btn-border-color;\n border-radius: 4px;\n background: transparent;\n box-shadow: 0 1px 2px rgba($btn-box-shadow-color, 0.1);\n\n @include type.text_headline();\n\n &.btn-sm {\n font-size: 12px;\n padding: 4px 23px;\n }\n\n &[disabled] {\n cursor: not-allowed;\n\n opacity: 0.3;\n }\n\n &:hover {\n box-shadow: 0 0 5px rgba($btn-box-shadow-color, 0.3);\n }\n\n &.cancel {\n border-color: $btn-cancel-border-color;\n background-color: $btn-cancel-background-color;\n @include type.text_headline($btn-cancel-font-color);\n }\n\n &.authorize {\n line-height: 1;\n\n display: inline;\n\n color: $btn-authorize-font-color;\n border-color: $btn-authorize-border-color;\n background-color: $btn-authorize-background-color;\n\n span {\n float: left;\n\n padding: 4px 20px 0 0;\n }\n\n svg {\n fill: $btn-authorize-svg-fill-color;\n }\n }\n\n &.execute {\n background-color: $btn-execute-background-color-alt;\n color: $btn-execute-font-color;\n border-color: $btn-execute-border-color;\n }\n}\n\n.btn-group {\n display: flex;\n\n padding: 30px;\n\n .btn {\n flex: 1;\n\n &:first-child {\n border-radius: 4px 0 0 4px;\n }\n\n &:last-child {\n border-radius: 0 4px 4px 0;\n }\n }\n}\n\n.authorization__btn {\n padding: 0 0 0 10px;\n\n border: none;\n background: none;\n\n .locked {\n opacity: 1;\n }\n\n .unlocked {\n opacity: 0.4;\n }\n}\n\n.opblock-summary-control,\n.models-control,\n.model-box-control {\n all: inherit;\n flex: 1;\n border-bottom: 0;\n padding: 0;\n cursor: pointer;\n\n &:focus {\n outline: auto;\n }\n}\n\n.expand-methods,\n.expand-operation {\n border: none;\n background: none;\n\n svg {\n width: 20px;\n height: 20px;\n }\n}\n\n.expand-methods {\n padding: 0 10px;\n\n &:hover {\n svg {\n fill: $expand-methods-svg-fill-color-hover;\n }\n }\n\n svg {\n transition: all 0.3s;\n\n fill: $expand-methods-svg-fill-color;\n }\n}\n\nbutton {\n cursor: pointer;\n\n &.invalid {\n @include mixins.invalidFormElement();\n }\n}\n\n.copy-to-clipboard {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n bottom: 10px;\n right: 100px;\n width: 30px;\n height: 30px;\n background: #7d8293;\n border-radius: 4px;\n border: none;\n\n button {\n flex-grow: 1;\n flex-shrink: 1;\n border: none;\n height: 25px;\n background: url(http://github.com/%22data:image/svg+xml,%20%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='15'%20aria-hidden='true'%3E%3Cg%20transform='translate(2,%20-1)'>\")\n center center no-repeat;\n }\n}\n\n.copy-to-clipboard:active {\n background: #5e626f;\n}\n\n.opblock-control-arrow {\n border: none;\n text-align: center;\n background: none;\n}\n\n// overrides for smaller copy button for curl command\n.curl-command .copy-to-clipboard {\n bottom: 5px;\n right: 10px;\n width: 20px;\n height: 20px;\n\n button {\n height: 18px;\n }\n}\n\n// overrides for copy to clipboard button\n.opblock .opblock-summary .view-line-link.copy-to-clipboard {\n height: 26px;\n position: unset;\n}\n","@use \"variables\" as *;\n@use \"mixins\";\n@use \"type\";\n\nselect {\n font-size: 14px;\n font-weight: bold;\n\n padding: 5px 40px 5px 10px;\n\n border: 2px solid $form-select-border-color;\n border-radius: 4px;\n background: $form-select-background-color\n url('data:image/svg+xml, ')\n right 10px center no-repeat;\n background-size: 20px;\n box-shadow: 0 1px 2px 0 rgba($form-select-box-shadow-color, 0.25);\n\n @include type.text_headline();\n appearance: none;\n\n &[multiple] {\n margin: 5px 0;\n padding: 5px;\n\n background: $form-select-background-color;\n }\n\n &.invalid {\n @include mixins.invalidFormElement();\n }\n}\n\n.opblock-body select {\n min-width: 230px;\n @media (max-width: 768px) {\n min-width: 180px;\n }\n @media (max-width: 640px) {\n width: 100%;\n min-width: 100%;\n }\n}\n\nlabel {\n font-size: 12px;\n font-weight: bold;\n\n margin: 0 0 5px 0;\n\n @include type.text_headline();\n}\n\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"search\"],\ninput[type=\"email\"],\ninput[type=\"file\"] {\n line-height: 1;\n\n @media (max-width: 768px) {\n max-width: 175px;\n }\n}\n\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"search\"],\ninput[type=\"email\"],\ninput[type=\"file\"],\ntextarea {\n min-width: 100px;\n margin: 5px 0;\n padding: 8px 10px;\n\n border: 1px solid $form-input-border-color;\n border-radius: 4px;\n background: $form-input-background-color;\n\n &.invalid {\n @include mixins.invalidFormElement();\n }\n}\n\ninput,\ntextarea,\nselect {\n &[disabled] {\n background-color: #fafafa;\n color: #888;\n cursor: not-allowed;\n }\n}\n\nselect[disabled] {\n border-color: #888;\n}\n\ntextarea[disabled] {\n background-color: #41444e;\n color: #fff;\n}\n\n@keyframes shake {\n 10%,\n 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%,\n 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%,\n 50%,\n 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%,\n 60% {\n transform: translate3d(4px, 0, 0);\n }\n}\n\ntextarea {\n font-size: 12px;\n\n width: 100%;\n min-height: 280px;\n padding: 10px;\n\n border: none;\n border-radius: 4px;\n outline: none;\n background: rgba($form-textarea-background-color, 0.8);\n\n @include type.text_code();\n\n &:focus {\n border: 2px solid $form-textarea-focus-border-color;\n }\n\n &.curl {\n font-size: 12px;\n\n min-height: 100px;\n margin: 0;\n padding: 10px;\n\n resize: none;\n\n border-radius: 4px;\n background: $form-textarea-curl-background-color;\n\n @include type.text_code($form-textarea-curl-font-color);\n }\n}\n\n.checkbox {\n padding: 5px 0 10px;\n\n transition: opacity 0.5s;\n\n color: $form-checkbox-label-font-color;\n\n label {\n display: flex;\n }\n\n p {\n font-weight: normal !important;\n font-style: italic;\n\n margin: 0 !important;\n\n @include type.text_code();\n }\n\n input[type=\"checkbox\"] {\n display: none;\n\n & + label > .item {\n position: relative;\n top: 3px;\n\n display: inline-block;\n\n width: 16px;\n height: 16px;\n margin: 0 8px 0 0;\n padding: 5px;\n\n cursor: pointer;\n\n border-radius: 1px;\n background: $form-checkbox-background-color;\n box-shadow: 0 0 0 2px $form-checkbox-box-shadow-color;\n\n flex: none;\n\n &:active {\n transform: scale(0.9);\n }\n }\n\n &:checked + label > .item {\n background: $form-checkbox-background-color\n url('data:image/svg+xml, ')\n center center no-repeat;\n }\n }\n}\n","@use \"variables\" as *;\n@use \"type\";\n\n.dialog-ux {\n position: fixed;\n z-index: 9999;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n .backdrop-ux {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n background: rgba($dialog-ux-backdrop-background-color, 0.8);\n }\n\n .modal-ux {\n position: absolute;\n z-index: 9999;\n top: 50%;\n left: 50%;\n\n width: 100%;\n min-width: 300px;\n max-width: 650px;\n\n transform: translate(-50%, -50%);\n\n border: 1px solid $dialog-ux-modal-border-color;\n border-radius: 4px;\n background: $dialog-ux-modal-background-color;\n box-shadow: 0 10px 30px 0 rgba($dialog-ux-modal-box-shadow-color, 0.2);\n }\n\n .modal-ux-content {\n overflow-y: auto;\n\n max-height: 540px;\n padding: 20px;\n\n p {\n font-size: 12px;\n\n margin: 0 0 5px 0;\n\n color: $dialog-ux-modal-content-font-color;\n\n @include type.text_body();\n }\n\n h4 {\n font-size: 18px;\n font-weight: 600;\n\n margin: 15px 0 0 0;\n\n @include type.text_headline();\n }\n }\n\n .modal-ux-header {\n display: flex;\n\n padding: 12px 0;\n\n border-bottom: 1px solid $dialog-ux-modal-header-border-bottom-color;\n\n align-items: center;\n\n .close-modal {\n padding: 0 10px;\n\n border: none;\n background: none;\n\n appearance: none;\n }\n\n h3 {\n font-size: 20px;\n font-weight: 600;\n\n margin: 0;\n padding: 0 20px;\n\n flex: 1;\n @include type.text_headline();\n }\n }\n}\n","@use \"variables\" as *;\n@use \"type\";\n\n.model {\n font-size: 12px;\n font-weight: 300;\n\n @include type.text_code();\n\n .deprecated {\n span,\n td {\n color: $model-deprecated-font-color !important;\n }\n\n > td:first-of-type {\n text-decoration: line-through;\n }\n }\n &-toggle {\n font-size: 10px;\n\n position: relative;\n top: 6px;\n\n display: inline-block;\n\n margin: auto 0.3em;\n\n cursor: pointer;\n transition: transform 0.15s ease-in;\n transform: rotate(90deg);\n transform-origin: 50% 50%;\n\n &.collapsed {\n transform: rotate(0deg);\n }\n\n &:after {\n display: block;\n\n width: 20px;\n height: 20px;\n\n content: \"\";\n\n background: url('data:image/svg+xml, ')\n center no-repeat;\n background-size: 100%;\n }\n }\n\n &-jump-to-path {\n position: relative;\n\n cursor: pointer;\n\n .view-line-link {\n position: absolute;\n top: -0.4em;\n\n cursor: pointer;\n }\n }\n\n &-title {\n position: relative;\n\n &:hover .model-hint {\n display: block;\n }\n }\n\n &-hint {\n position: absolute;\n top: -1.8em;\n\n display: none;\n\n padding: 0.1em 0.5em;\n\n white-space: nowrap;\n\n color: $model-hint-font-color;\n border-radius: 4px;\n background: rgba($model-hint-background-color, 0.7);\n }\n\n p {\n margin: 0 0 1em 0;\n }\n\n .property {\n color: #999;\n font-style: italic;\n\n &.primitive {\n color: #6b6b6b;\n\n &.extension {\n display: block;\n\n > td:first-child {\n padding-left: 0;\n padding-right: 0;\n width: auto;\n\n &:after {\n content: \":\\00a0\";\n }\n }\n }\n }\n }\n\n .external-docs {\n color: #666;\n font-weight: normal;\n }\n}\n\ntable.model {\n tr {\n &.description {\n color: #666;\n font-weight: normal;\n\n td:first-child {\n font-weight: bold;\n }\n }\n\n &.property-row {\n &.required td:first-child {\n font-weight: bold;\n }\n\n td {\n vertical-align: top;\n\n &:first-child {\n padding-right: 0.2em;\n }\n }\n\n .star {\n color: red;\n }\n }\n\n &.extension {\n color: #777;\n\n td:last-child {\n vertical-align: top;\n }\n }\n\n &.external-docs {\n td:first-child {\n font-weight: bold;\n }\n }\n\n .renderedMarkdown p:first-child {\n margin-top: 0;\n }\n }\n}\n\nsection.models {\n margin: 30px 0;\n\n border: 1px solid rgba($section-models-border-color, 0.3);\n border-radius: 4px;\n\n .pointer {\n cursor: pointer;\n }\n\n &.is-open {\n padding: 0 0 20px;\n h4 {\n margin: 0 0 5px 0;\n\n border-bottom: 1px solid\n rgba($section-models-isopen-h4-border-bottom-color, 0.3);\n }\n }\n h4 {\n font-size: 16px;\n\n display: flex;\n align-items: center;\n\n margin: 0;\n padding: 10px 20px 10px 10px;\n\n cursor: pointer;\n transition: all 0.2s;\n\n @include type.text_headline($section-models-h4-font-color);\n\n svg {\n transition: all 0.4s;\n }\n\n span {\n flex: 1;\n }\n\n &:hover {\n background: rgba($section-models-h4-background-color-hover, 0.02);\n }\n }\n\n h5 {\n font-size: 16px;\n\n margin: 0 0 10px 0;\n\n @include type.text_headline($section-models-h5-font-color);\n }\n\n .model-jump-to-path {\n position: relative;\n top: 5px;\n }\n\n .model-container {\n margin: 0 20px 15px;\n position: relative;\n\n transition: all 0.5s;\n\n border-radius: 4px;\n background: rgba($section-models-model-container-background-color, 0.05);\n\n &:hover {\n background: rgba($section-models-model-container-background-color, 0.07);\n }\n\n &:first-of-type {\n margin: 20px;\n }\n\n &:last-of-type {\n margin: 0 20px;\n }\n\n .models-jump-to-path {\n position: absolute;\n top: 8px;\n right: 5px;\n opacity: 0.65;\n }\n }\n\n .model-box {\n background: none;\n\n &:has(.model-box) {\n width: 100%;\n overflow-x: auto;\n }\n }\n}\n\n.model-box {\n padding: 10px;\n display: inline-block;\n\n border-radius: 4px;\n background: rgba($section-models-model-box-background-color, 0.1);\n\n .model-jump-to-path {\n position: relative;\n top: 4px;\n }\n\n &.deprecated {\n opacity: 0.5;\n }\n}\n\n.model-title {\n font-size: 16px;\n\n @include type.text_headline($section-models-model-title-font-color);\n\n img {\n margin-left: 1em;\n position: relative;\n bottom: 0px;\n }\n}\n\n.model-deprecated-warning {\n font-size: 16px;\n font-weight: 600;\n\n margin-right: 1em;\n\n @include type.text_headline($color-delete);\n}\n\nspan {\n > span.model {\n .brace-close {\n padding: 0 0 0 10px;\n }\n }\n}\n\n.prop-name {\n display: inline-block;\n\n margin-right: 1em;\n}\n\n.prop-type {\n color: $prop-type-font-color;\n}\n\n.prop-enum {\n display: block;\n}\n.prop-format {\n color: $prop-format-font-color;\n}\n","@use \"variables\" as *;\n@use \"type\";\n\n.servers {\n > label {\n font-size: 12px;\n\n margin: -20px 15px 0 0;\n\n @include type.text_headline();\n\n select {\n min-width: 130px;\n max-width: 100%;\n width: 100%;\n }\n }\n\n h4.message {\n padding-bottom: 2em;\n }\n\n table {\n tr {\n width: 30em;\n }\n td {\n display: inline-block;\n max-width: 15em;\n vertical-align: middle;\n padding-top: 10px;\n padding-bottom: 10px;\n\n &:first-of-type {\n padding-right: 1em;\n }\n\n input {\n width: 100%;\n height: 100%;\n }\n }\n }\n\n .computed-url {\n margin: 2em 0;\n\n code {\n display: inline-block;\n padding: 4px;\n font-size: 16px;\n margin: 0 1em;\n }\n }\n}\n\n.servers-title {\n font-size: 12px;\n font-weight: bold;\n}\n\n.operation-servers {\n h4.message {\n margin-bottom: 2em;\n }\n}\n","@use \"type\";\n@use \"variables\" as *;\n\ntable {\n width: 100%;\n padding: 0 10px;\n\n border-collapse: collapse;\n\n &.model {\n tbody {\n tr {\n td {\n padding: 0 0 0 1em;\n\n vertical-align: top;\n\n &:first-of-type {\n width: 174px;\n padding: 0 0 0 2em;\n }\n }\n }\n }\n }\n\n &.headers {\n td {\n font-size: 12px;\n font-weight: 300;\n\n vertical-align: middle;\n\n @include type.text_code();\n }\n\n .header-example {\n color: #999;\n font-style: italic;\n }\n }\n\n tbody {\n tr {\n td {\n padding: 10px 0 0 0;\n\n vertical-align: top;\n\n &:first-of-type {\n min-width: 6em;\n padding: 10px 0;\n }\n\n &:has(.model-box) {\n max-width: 1px; // fits content in available space instead of growing the table beyond its container\n }\n }\n }\n }\n\n thead {\n tr {\n th,\n td {\n font-size: 12px;\n font-weight: bold;\n\n padding: 12px 0;\n\n text-align: left;\n\n border-bottom: 1px solid rgba($table-thead-td-border-bottom-color, 0.2);\n\n @include type.text_body();\n }\n }\n }\n}\n\n.parameters-col_description {\n width: 99%; // forces other columns to shrink to their content widths\n margin-bottom: 2em;\n input {\n width: 100%;\n max-width: 340px;\n }\n\n select {\n border-width: 1px;\n }\n\n .markdown,\n .renderedMarkdown {\n p {\n margin: 0;\n }\n }\n}\n\n.parameter__name {\n font-size: 16px;\n font-weight: normal;\n\n // hack to give breathing room to the name column\n // TODO: refactor all of this to flexbox\n margin-right: 0.75em;\n\n @include type.text_headline();\n\n &.required {\n font-weight: bold;\n\n span {\n color: red;\n }\n\n &:after {\n font-size: 10px;\n\n position: relative;\n top: -6px;\n\n padding: 5px;\n\n content: \"required\";\n\n color: rgba($table-parameter-name-required-font-color, 0.6);\n }\n }\n}\n\n.parameter__in,\n.parameter__extension {\n font-size: 12px;\n font-style: italic;\n\n @include type.text_code($table-parameter-in-font-color);\n}\n\n.parameter__deprecated {\n font-size: 12px;\n font-style: italic;\n\n @include type.text_code($table-parameter-deprecated-font-color);\n}\n\n.parameter__empty_value_toggle {\n display: block;\n font-size: 13px;\n padding-top: 5px;\n padding-bottom: 12px;\n\n input {\n margin-right: 7px;\n width: auto;\n }\n\n &.disabled {\n opacity: 0.7;\n }\n}\n\n.table-container {\n padding: 20px;\n}\n\n.response-col_description {\n width: 99%; // forces other columns to shrink to their content widths\n\n .markdown,\n .renderedMarkdown {\n p {\n margin: 0;\n }\n }\n}\n\n.response-col_links {\n min-width: 6em;\n}\n\n.response__extension {\n font-size: 12px;\n font-style: italic;\n\n @include type.text_code($table-parameter-in-font-color);\n}\n","@use \"variables\" as *;\n@use \"type\";\n\n.topbar {\n padding: 10px 0;\n\n background-color: $topbar-background-color;\n .topbar-wrapper {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 10px;\n }\n @media (max-width: 550px) {\n .topbar-wrapper {\n flex-direction: column;\n align-items: start;\n }\n }\n\n a {\n font-size: 1.5em;\n font-weight: bold;\n\n display: flex;\n align-items: center;\n flex: 1;\n\n max-width: 300px;\n\n text-decoration: none;\n\n @include type.text_headline($topbar-link-font-color);\n\n span {\n margin: 0;\n padding: 0 10px;\n }\n }\n\n .download-url-wrapper {\n display: flex;\n flex: 3;\n justify-content: flex-end;\n\n input[type=\"text\"] {\n width: 100%;\n max-width: 100%;\n margin: 0;\n\n border: 2px solid $topbar-download-url-wrapper-element-border-color;\n border-radius: 4px 0 0 4px;\n outline: none;\n }\n\n .select-label {\n display: flex;\n align-items: center;\n\n width: 100%;\n max-width: 600px;\n margin: 0;\n color: #f0f0f0;\n span {\n font-size: 16px;\n\n flex: 1;\n\n padding: 0 10px 0 0;\n\n text-align: right;\n }\n\n select {\n flex: 2;\n\n width: 100%;\n\n border: 2px solid $topbar-download-url-wrapper-element-border-color;\n outline: none;\n box-shadow: none;\n }\n }\n\n .download-url-button {\n font-size: 16px;\n font-weight: bold;\n\n padding: 4px 30px;\n\n border: none;\n border-radius: 0 4px 4px 0;\n background: $topbar-download-url-button-background-color;\n\n @include type.text_headline($topbar-download-url-button-font-color);\n }\n }\n @media (max-width: 550px) {\n .download-url-wrapper {\n width: 100%;\n }\n }\n}\n","@use \"sass:color\";\n@use \"variables\" as *;\n@use \"type\";\n\n.info {\n margin: 50px 0;\n\n &.failed-config {\n max-width: 880px;\n margin-left: auto;\n margin-right: auto;\n text-align: center;\n }\n\n hgroup.main {\n margin: 0 0 20px 0;\n a {\n font-size: 12px;\n }\n }\n pre {\n font-size: 14px;\n }\n p,\n li,\n table {\n font-size: 14px;\n\n @include type.text_body();\n }\n\n h1,\n h2,\n h3,\n h4,\n h5 {\n @include type.text_body();\n }\n\n a {\n font-size: 14px;\n\n transition: all 0.4s;\n\n @include type.text_body($info-link-font-color);\n\n &:hover {\n color: color.adjust($info-link-font-color-hover, $lightness: -15%);\n }\n }\n > div {\n margin: 0 0 5px 0;\n }\n\n .base-url {\n font-size: 12px;\n font-weight: 300 !important;\n\n margin: 0;\n\n @include type.text_code();\n }\n\n .title {\n font-size: 36px;\n\n margin: 0;\n\n @include type.text_body();\n\n small {\n font-size: 10px;\n\n position: relative;\n top: -5px;\n\n display: inline-block;\n\n margin: 0 0 0 5px;\n padding: 2px 4px;\n\n vertical-align: super;\n\n border-radius: 57px;\n background: $info-title-small-background-color;\n\n &.version-stamp {\n background-color: #89bf04;\n }\n\n pre {\n margin: 0;\n padding: 0;\n\n @include type.text_headline($info-title-small-pre-font-color);\n }\n }\n }\n}\n","@use \"variables\" as *;\n@use \"type\";\n\n.auth-btn-wrapper {\n display: flex;\n\n padding: 10px 0;\n\n justify-content: center;\n\n .btn-done {\n margin-right: 1em;\n }\n}\n\n.auth-wrapper {\n display: flex;\n\n flex: 1;\n justify-content: flex-end;\n\n .authorize {\n padding-right: 20px;\n margin-left: 10px;\n margin-right: 10px;\n }\n}\n\n.auth-container {\n margin: 0 0 10px 0;\n padding: 10px 20px;\n\n border-bottom: 1px solid $auth-container-border-color;\n\n &:last-of-type {\n margin: 0;\n padding: 10px 20px;\n\n border: 0;\n }\n\n h4 {\n margin: 5px 0 15px 0 !important;\n }\n\n .wrapper {\n margin: 0;\n padding: 0;\n }\n\n input[type=\"text\"],\n input[type=\"password\"] {\n min-width: 230px;\n }\n\n .errors {\n font-size: 12px;\n\n padding: 10px;\n\n border-radius: 4px;\n\n background-color: #ffeeee;\n\n color: red;\n\n margin: 1em;\n\n @include type.text_code();\n\n b {\n text-transform: capitalize;\n margin-right: 1em;\n }\n }\n}\n\n.scopes {\n h2 {\n font-size: 14px;\n\n @include type.text_headline();\n\n a {\n font-size: 12px;\n color: $auth-select-all-none-link-font-color;\n cursor: pointer;\n padding-left: 10px;\n text-decoration: underline;\n }\n }\n}\n\n.scope-def {\n padding: 0 0 20px 0;\n}\n","@use \"variables\" as *;\n@use \"type\";\n\n.errors-wrapper {\n margin: 20px;\n padding: 10px 20px;\n\n animation: scaleUp 0.5s;\n\n border: 2px solid $color-delete;\n border-radius: 4px;\n background: rgba($color-delete, 0.1);\n\n .error-wrapper {\n margin: 0 0 10px 0;\n }\n\n .errors {\n h4 {\n font-size: 14px;\n\n margin: 0;\n\n @include type.text_code();\n }\n\n small {\n color: $errors-wrapper-errors-small-font-color;\n }\n\n .message {\n white-space: pre-line;\n\n &.thrown {\n max-width: 100%;\n }\n }\n\n .error-line {\n text-decoration: underline;\n cursor: pointer;\n }\n }\n\n hgroup {\n display: flex;\n\n align-items: center;\n\n h4 {\n font-size: 20px;\n\n margin: 0;\n\n flex: 1;\n @include type.text_headline();\n }\n }\n}\n\n@keyframes scaleUp {\n 0% {\n transform: scale(0.8);\n\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n\n opacity: 1;\n }\n}\n",".Resizer.vertical.disabled {\n display: none;\n}\n","@use \"variables\" as *;\n@use \"type\";\n\n.markdown,\n.renderedMarkdown {\n p,\n pre {\n margin: 1em auto;\n\n word-break: break-all; /* Fallback trick */\n word-break: break-word;\n }\n pre {\n color: black;\n font-weight: normal;\n white-space: pre-wrap;\n background: none;\n padding: 0px;\n }\n\n code {\n font-size: 14px;\n padding: 5px 7px;\n\n border-radius: 4px;\n background: rgba($info-code-background-color, 0.05);\n\n @include type.text_code($info-code-font-color);\n }\n\n pre > code {\n display: block;\n }\n}\n","@use \"./../../../components/mixins\";\n\n.json-schema-2020-12 {\n &-keyword--\\$vocabulary {\n ul {\n @include mixins.expansion-border;\n }\n }\n\n &-\\$vocabulary-uri {\n margin-left: 35px;\n\n &--disabled {\n text-decoration: line-through;\n }\n }\n}\n","@use \"./../../../../style/variables\" as *;\n@use \"./../../../../style/type\";\n\n@mixin expansion-border {\n margin: 0 0 0 20px;\n border-left: 1px dashed\n rgba($section-models-model-container-background-color, 0.1);\n}\n\n@mixin json-schema-2020-12-keyword--primary {\n color: $text-code-default-font-color;\n font-style: normal;\n}\n\n@mixin json-schema-2020-12-keyword--extension {\n color: #929292;\n font-style: italic;\n}\n\n@mixin json-schema-2020-12-keyword {\n margin: 5px 0 5px 0;\n\n &__children {\n @include expansion-border;\n padding: 0;\n\n &--collapsed {\n display: none;\n }\n }\n\n &__name {\n font-size: 12px;\n margin-left: 20px;\n font-weight: bold;\n\n &--primary {\n @include json-schema-2020-12-keyword--primary;\n }\n\n &--secondary {\n color: #6b6b6b;\n font-style: italic;\n }\n\n &--extension {\n @include json-schema-2020-12-keyword--extension;\n }\n }\n\n &__value {\n color: #6b6b6b;\n font-style: italic;\n font-size: 12px;\n font-weight: normal;\n\n &--primary {\n @include json-schema-2020-12-keyword--primary;\n }\n\n &--secondary {\n color: #6b6b6b;\n font-style: italic;\n }\n\n &--extension {\n @include json-schema-2020-12-keyword--extension;\n }\n\n &--warning {\n @include type.text_code();\n font-style: normal;\n display: inline-block;\n margin-left: 10px;\n line-height: 1.5;\n padding: 1px 4px 1px 4px;\n border-radius: 4px;\n color: red;\n border: 1px dashed red;\n }\n }\n}\n","@use \"./../../mixins\";\n\n.json-schema-2020-12-keyword--const {\n .json-schema-2020-12-json-viewer__name {\n @include mixins.json-schema-2020-12-keyword--primary;\n }\n\n .json-schema-2020-12-json-viewer__value {\n @include mixins.json-schema-2020-12-keyword--primary;\n }\n}\n","@use \"./../../../../../../style/type\";\n\n.json-schema-2020-12__constraint {\n @include type.text_code();\n margin-left: 10px;\n line-height: 1.5;\n padding: 1px 3px;\n color: white;\n background-color: #805ad5;\n border-radius: 4px;\n\n &--string {\n color: white;\n background-color: #d69e2e;\n }\n}\n","@use \"./../../mixins\";\n\n.json-schema-2020-12-keyword--default {\n .json-schema-2020-12-json-viewer__name {\n @include mixins.json-schema-2020-12-keyword--primary;\n }\n\n .json-schema-2020-12-json-viewer__value {\n @include mixins.json-schema-2020-12-keyword--primary;\n }\n}\n",".json-schema-2020-12-keyword--dependentRequired {\n & > ul {\n display: inline-block;\n padding: 0;\n margin: 0;\n\n li {\n display: inline;\n list-style-type: none;\n }\n }\n}\n",".json-schema-2020-12-keyword--description {\n color: #6b6b6b;\n font-size: 12px;\n margin-left: 20px;\n\n & p {\n margin: 0;\n }\n}\n","@use \"./../../mixins\";\n\n.json-schema-2020-12-keyword--examples {\n .json-schema-2020-12-json-viewer__name {\n @include mixins.json-schema-2020-12-keyword--primary;\n }\n\n .json-schema-2020-12-json-viewer__value {\n @include mixins.json-schema-2020-12-keyword--primary;\n }\n}\n","@use \"./../../mixins\";\n\n.json-schema-2020-12-json-viewer-extension-keyword {\n .json-schema-2020-12-json-viewer__name {\n @include mixins.json-schema-2020-12-keyword--extension;\n }\n\n .json-schema-2020-12-json-viewer__value {\n @include mixins.json-schema-2020-12-keyword--extension;\n }\n}\n","@use \"./../../../../../../style/variables\" as *;\n\n.json-schema-2020-12 {\n &-keyword--patternProperties {\n ul {\n margin: 0;\n padding: 0;\n border: none;\n }\n\n .json-schema-2020-12__title:first-of-type::before {\n color: $prop-type-font-color;\n content: \"/\";\n }\n\n .json-schema-2020-12__title:first-of-type::after {\n color: $prop-type-font-color;\n content: \"/\";\n }\n }\n}\n",".json-schema-2020-12 {\n &-keyword--properties {\n & > ul {\n margin: 0;\n padding: 0;\n border: none;\n }\n }\n\n &-property {\n list-style-type: none;\n\n &--required {\n &\n > .json-schema-2020-12:first-of-type\n > .json-schema-2020-12-head\n .json-schema-2020-12__title:after {\n content: \"*\";\n color: red;\n font-weight: bold;\n }\n }\n }\n}\n","@use \"./../../../../../../style/variables\" as *;\n@use \"./../../../../../../style/type\";\n\n.json-schema-2020-12 {\n &__title {\n @include type.text_headline($section-models-model-title-font-color);\n display: inline-block;\n font-weight: bold;\n font-size: 12px;\n line-height: normal;\n\n & .json-schema-2020-12-keyword__name {\n margin: 0;\n }\n }\n\n &-property {\n margin: 7px 0;\n\n .json-schema-2020-12__title {\n @include type.text_code();\n font-size: 12px;\n vertical-align: middle;\n }\n }\n}\n","@use \"./../../../../../style/variables\" as *;\n@use \"./../mixins\";\n@use \"./$vocabulary/$vocabulary\" as vocabulary;\n@use \"./Const/const\";\n@use \"./Constraint/constraint\";\n@use \"./Default/default\";\n@use \"./DependentRequired/dependent-required\";\n@use \"./Description/description\";\n@use \"./Enum/enum\";\n@use \"./Examples/examples\";\n@use \"./ExtensionKeywords/extension-keywords\";\n@use \"./PatternProperties/pattern-properties\";\n@use \"./Properties/properties\";\n@use \"./Title/title\";\n\n.json-schema-2020-12-keyword {\n @include mixins.json-schema-2020-12-keyword;\n}\n\n.json-schema-2020-12-keyword__name--secondary\n + .json-schema-2020-12-keyword__value--secondary::before {\n content: \"=\";\n}\n\n.json-schema-2020-12__attribute {\n font-family: monospace;\n color: $text-code-default-font-color;\n font-size: 12px;\n text-transform: lowercase;\n padding-left: 10px;\n\n &--primary {\n color: $prop-type-font-color;\n }\n\n &--muted {\n color: gray;\n }\n\n &--warning {\n color: red;\n }\n}\n","@use \"./../mixins\";\n@use \"./../keywords/all\";\n\n.json-schema-2020-12-json-viewer {\n @include mixins.json-schema-2020-12-keyword;\n}\n\n.json-schema-2020-12-json-viewer__name--secondary\n + .json-schema-2020-12-json-viewer__value--secondary::before {\n content: \"=\";\n}\n","@use \"./../../../../../style/variables\" as *;\n@use \"./../../components/mixins\";\n\n.json-schema-2020-12 {\n margin: 0 20px 15px 20px;\n border-radius: 4px;\n padding: 12px 0 12px 20px;\n background-color: rgba(\n $section-models-model-container-background-color,\n 0.05\n );\n\n &:first-of-type {\n margin: 20px;\n }\n\n &:last-of-type {\n margin: 0 20px;\n }\n\n &--embedded {\n background-color: inherit;\n padding: 0 inherit 0 inherit;\n }\n\n &-body {\n @include mixins.expansion-border;\n margin: 2px 0;\n\n &--collapsed {\n display: none;\n }\n }\n}\n",".json-schema-2020-12-accordion {\n outline: none;\n border: none;\n padding-left: 0;\n\n &__children {\n display: inline-block;\n }\n\n &__icon {\n width: 18px;\n height: 18px;\n display: inline-block;\n vertical-align: bottom;\n\n &--expanded {\n transition: transform 0.15s ease-in;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n }\n\n &--collapsed {\n transition: transform 0.15s ease-in;\n transform: rotate(0deg);\n transform-origin: 50% 50%;\n }\n\n & svg {\n height: 20px;\n width: 20px;\n }\n }\n}\n","@use \"./../../../../../style/variables\" as *;\n@use \"./../../../../../style/type\";\n\n.json-schema-2020-12-expand-deep-button {\n @include type.text_headline($section-models-model-title-font-color);\n font-size: 12px;\n color: rgb(175, 174, 174);\n border: none;\n padding-right: 0;\n}\n",".model-box {\n // inferred names of Schema Objects\n &\n .json-schema-2020-12:not(.json-schema-2020-12--embedded)\n > .json-schema-2020-12-head\n .json-schema-2020-12__title:first-of-type {\n font-size: 16px;\n }\n\n & > .json-schema-2020-12 {\n margin: 0;\n }\n\n .json-schema-2020-12 {\n padding: 0;\n background-color: transparent;\n }\n\n .json-schema-2020-12-accordion,\n .json-schema-2020-12-expand-deep-button {\n background-color: transparent;\n }\n}\n",".models\n .json-schema-2020-12:not(.json-schema-2020-12--embedded)\n > .json-schema-2020-12-head\n .json-schema-2020-12__title:first-of-type {\n font-size: 16px;\n}\n\n.models .json-schema-2020-12:not(.json-schema-2020-12--embedded) {\n width: calc(100% - 40px);\n overflow-x: auto;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/dist/swagger-ui.js b/dist/swagger-ui.js index 656b6ec2664..b7edb6a409f 100644 --- a/dist/swagger-ui.js +++ b/dist/swagger-ui.js @@ -1,2119 +1,2 @@ -$(function() { - - // Helper function for vertically aligning DOM elements - // http://www.seodenver.com/simple-vertical-align-plugin-for-jquery/ - $.fn.vAlign = function() { - return this.each(function(i){ - var ah = $(this).height(); - var ph = $(this).parent().height(); - var mh = (ph - ah) / 2; - $(this).css('margin-top', mh); - }); - }; - - $.fn.stretchFormtasticInputWidthToParent = function() { - return this.each(function(i){ - var p_width = $(this).closest("form").innerWidth(); - var p_padding = parseInt($(this).closest("form").css('padding-left') ,10) + parseInt($(this).closest("form").css('padding-right'), 10); - var this_padding = parseInt($(this).css('padding-left'), 10) + parseInt($(this).css('padding-right'), 10); - $(this).css('width', p_width - p_padding - this_padding); - }); - }; - - $('form.formtastic li.string input, form.formtastic textarea').stretchFormtasticInputWidthToParent(); - - // Vertically center these paragraphs - // Parent may need a min-height for this to work.. - $('ul.downplayed li div.content p').vAlign(); - - // When a sandbox form is submitted.. - $("form.sandbox").submit(function(){ - - var error_free = true; - - // Cycle through the forms required inputs - $(this).find("input.required").each(function() { - - // Remove any existing error styles from the input - $(this).removeClass('error'); - - // Tack the error style on if the input is empty.. - if ($(this).val() == '') { - $(this).addClass('error'); - $(this).wiggle(); - error_free = false; - } - - }); - - return error_free; - }); - -}); - -function clippyCopiedCallback(a) { - $('#api_key_copied').fadeIn().delay(1000).fadeOut(); - - // var b = $("#clippy_tooltip_" + a); - // b.length != 0 && (b.attr("title", "copied!").trigger("tipsy.reload"), setTimeout(function() { - // b.attr("title", "copy to clipboard") - // }, - // 500)) -} - -// Logging function that accounts for browsers that don't have window.console -function log() { - if (window.console) console.log.apply(console,arguments); -} -// Handle browsers that do console incorrectly (IE9 and below, see http://stackoverflow.com/a/5539378/7913) -if (Function.prototype.bind && console && typeof console.log == "object") { - [ - "log","info","warn","error","assert","dir","clear","profile","profileEnd" - ].forEach(function (method) { - console[method] = this.bind(console[method], console); - }, Function.prototype.call); -} - -var Docs = { - - shebang: function() { - - // If shebang has an operation nickname in it.. - // e.g. /docs/#!/words/get_search - var fragments = $.param.fragment().split('/'); - fragments.shift(); // get rid of the bang - - switch (fragments.length) { - case 1: - // Expand all operations for the resource and scroll to it -// log('shebang resource:' + fragments[0]); - var dom_id = 'resource_' + fragments[0]; - - Docs.expandEndpointListForResource(fragments[0]); - $("#"+dom_id).slideto({highlight: false}); - break; - case 2: - // Refer to the endpoint DOM element, e.g. #words_get_search -// log('shebang endpoint: ' + fragments.join('_')); - - // Expand Resource - Docs.expandEndpointListForResource(fragments[0]); - $("#"+dom_id).slideto({highlight: false}); - - // Expand operation - var li_dom_id = fragments.join('_'); - var li_content_dom_id = li_dom_id + "_content"; - -// log("li_dom_id " + li_dom_id); -// log("li_content_dom_id " + li_content_dom_id); - - Docs.expandOperation($('#'+li_content_dom_id)); - $('#'+li_dom_id).slideto({highlight: false}); - break; - } - - }, - - toggleEndpointListForResource: function(resource) { - var elem = $('li#resource_' + Docs.escapeResourceName(resource) + ' ul.endpoints'); - if (elem.is(':visible')) { - Docs.collapseEndpointListForResource(resource); - } else { - Docs.expandEndpointListForResource(resource); - } - }, - - // Expand resource - expandEndpointListForResource: function(resource) { - var resource = Docs.escapeResourceName(resource); - if (resource == '') { - $('.resource ul.endpoints').slideDown(); - return; - } - - $('li#resource_' + resource).addClass('active'); - - var elem = $('li#resource_' + resource + ' ul.endpoints'); - elem.slideDown(); - }, - - // Collapse resource and mark as explicitly closed - collapseEndpointListForResource: function(resource) { - var resource = Docs.escapeResourceName(resource); - $('li#resource_' + resource).removeClass('active'); - - var elem = $('li#resource_' + resource + ' ul.endpoints'); - elem.slideUp(); - }, - - expandOperationsForResource: function(resource) { - // Make sure the resource container is open.. - Docs.expandEndpointListForResource(resource); - - if (resource == '') { - $('.resource ul.endpoints li.operation div.content').slideDown(); - return; - } - - $('li#resource_' + Docs.escapeResourceName(resource) + ' li.operation div.content').each(function() { - Docs.expandOperation($(this)); - }); - }, - - collapseOperationsForResource: function(resource) { - // Make sure the resource container is open.. - Docs.expandEndpointListForResource(resource); - - $('li#resource_' + Docs.escapeResourceName(resource) + ' li.operation div.content').each(function() { - Docs.collapseOperation($(this)); - }); - }, - - escapeResourceName: function(resource) { - return resource.replace(/[!"#$%&'()*+,.\/:;<=>?@\[\\\]\^`{|}~]/g, "\\$&"); - }, - - expandOperation: function(elem) { - elem.slideDown(); - }, - - collapseOperation: function(elem) { - elem.slideUp(); - } - -}; -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['content_type'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, functionType="function", self=this; - -function program1(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers.each.call(depth0, depth0.produces, {hash:{},inverse:self.noop,fn:self.program(2, program2, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n"; - return buffer; - } -function program2(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program4(depth0,data) { - - - return "\n \n"; - } - - buffer += "\n\n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['main'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression, self=this; - -function program1(depth0,data) { - - var buffer = "", stack1, stack2; - buffer += "\n
" - + escapeExpression(((stack1 = ((stack1 = depth0.info),stack1 == null || stack1 === false ? stack1 : stack1.title)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1)) - + "
\n
"; - stack2 = ((stack1 = ((stack1 = depth0.info),stack1 == null || stack1 === false ? stack1 : stack1.description)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1); - if(stack2 || stack2 === 0) { buffer += stack2; } - buffer += "
\n "; - stack2 = helpers['if'].call(depth0, ((stack1 = depth0.info),stack1 == null || stack1 === false ? stack1 : stack1.termsOfServiceUrl), {hash:{},inverse:self.noop,fn:self.program(2, program2, data),data:data}); - if(stack2 || stack2 === 0) { buffer += stack2; } - buffer += "\n "; - stack2 = helpers['if'].call(depth0, ((stack1 = depth0.info),stack1 == null || stack1 === false ? stack1 : stack1.contact), {hash:{},inverse:self.noop,fn:self.program(4, program4, data),data:data}); - if(stack2 || stack2 === 0) { buffer += stack2; } - buffer += "\n "; - stack2 = helpers['if'].call(depth0, ((stack1 = depth0.info),stack1 == null || stack1 === false ? stack1 : stack1.license), {hash:{},inverse:self.noop,fn:self.program(6, program6, data),data:data}); - if(stack2 || stack2 === 0) { buffer += stack2; } - buffer += "\n "; - return buffer; - } -function program2(depth0,data) { - - var buffer = "", stack1; - buffer += ""; - return buffer; - } - -function program4(depth0,data) { - - var buffer = "", stack1; - buffer += ""; - return buffer; - } - -function program6(depth0,data) { - - var buffer = "", stack1; - buffer += ""; - return buffer; - } - -function program8(depth0,data) { - - var buffer = "", stack1; - buffer += "\n , api version: "; - if (stack1 = helpers.apiVersion) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.apiVersion; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - buffer += escapeExpression(stack1) - + "\n "; - return buffer; - } - - buffer += "
\n "; - stack1 = helpers['if'].call(depth0, depth0.info, {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n
\n
\n
    \n
\n\n
\n
\n
\n

[ base url: "; - if (stack1 = helpers.basePath) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.basePath; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - buffer += escapeExpression(stack1) - + "\n "; - stack1 = helpers['if'].call(depth0, depth0.apiVersion, {hash:{},inverse:self.noop,fn:self.program(8, program8, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "]

\n
\n
\n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['operation'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression, self=this; - -function program1(depth0,data) { - - var buffer = "", stack1; - buffer += "\n

Implementation Notes

\n

"; - if (stack1 = helpers.notes) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.notes; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "

\n "; - return buffer; - } - -function program3(depth0,data) { - - - return "\n

Response Class

\n

\n
\n
\n "; - } - -function program5(depth0,data) { - - - return "\n

Parameters

\n \n \n \n \n \n \n \n \n \n \n \n\n \n
ParameterValueDescriptionParameter TypeData Type
\n "; - } - -function program7(depth0,data) { - - - return "\n
\n

Error Status Codes

\n \n \n \n \n \n \n \n \n \n \n
HTTP Status CodeReason
\n "; - } - -function program9(depth0,data) { - - - return "\n "; - } - -function program11(depth0,data) { - - - return "\n
\n \n \n \n
\n "; - } - - buffer += "\n \n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['param'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression, self=this; - -function program1(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.isFile, {hash:{},inverse:self.program(4, program4, data),fn:self.program(2, program2, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program2(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n
\n "; - return buffer; - } - -function program4(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.defaultValue, {hash:{},inverse:self.program(7, program7, data),fn:self.program(5, program5, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program5(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program7(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n
\n
\n "; - return buffer; - } - -function program9(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.defaultValue, {hash:{},inverse:self.program(12, program12, data),fn:self.program(10, program10, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program10(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program12(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - - buffer += ""; - if (stack1 = helpers.name) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - buffer += escapeExpression(stack1) - + "\n\n\n "; - stack1 = helpers['if'].call(depth0, depth0.isBody, {hash:{},inverse:self.program(9, program9, data),fn:self.program(1, program1, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n\n\n"; - if (stack1 = helpers.description) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.description; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n"; - if (stack1 = helpers.paramType) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.paramType; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n\n \n\n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['param_list'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, stack2, self=this, functionType="function", escapeExpression=this.escapeExpression; - -function program1(depth0,data) { - - - return " multiple='multiple'"; - } - -function program3(depth0,data) { - - - return "\n "; - } - -function program5(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.defaultValue, {hash:{},inverse:self.program(8, program8, data),fn:self.program(6, program6, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program6(depth0,data) { - - - return "\n "; - } - -function program8(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.allowMultiple, {hash:{},inverse:self.program(11, program11, data),fn:self.program(9, program9, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program9(depth0,data) { - - - return "\n "; - } - -function program11(depth0,data) { - - - return "\n \n "; - } - -function program13(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.isDefault, {hash:{},inverse:self.program(16, program16, data),fn:self.program(14, program14, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program14(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program16(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - - buffer += ""; - if (stack1 = helpers.name) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - buffer += escapeExpression(stack1) - + "\n\n \n\n"; - if (stack2 = helpers.description) { stack2 = stack2.call(depth0, {hash:{},data:data}); } - else { stack2 = depth0.description; stack2 = typeof stack2 === functionType ? stack2.apply(depth0) : stack2; } - if(stack2 || stack2 === 0) { buffer += stack2; } - buffer += "\n"; - if (stack2 = helpers.paramType) { stack2 = stack2.call(depth0, {hash:{},data:data}); } - else { stack2 = depth0.paramType; stack2 = typeof stack2 === functionType ? stack2.apply(depth0) : stack2; } - if(stack2 || stack2 === 0) { buffer += stack2; } - buffer += "\n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['param_readonly'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression, self=this; - -function program1(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program3(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.defaultValue, {hash:{},inverse:self.program(6, program6, data),fn:self.program(4, program4, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program4(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - if (stack1 = helpers.defaultValue) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.defaultValue; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - buffer += escapeExpression(stack1) - + "\n "; - return buffer; - } - -function program6(depth0,data) { - - - return "\n (empty)\n "; - } - - buffer += ""; - if (stack1 = helpers.name) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - buffer += escapeExpression(stack1) - + "\n\n "; - stack1 = helpers['if'].call(depth0, depth0.isBody, {hash:{},inverse:self.program(3, program3, data),fn:self.program(1, program1, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n\n"; - if (stack1 = helpers.description) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.description; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n"; - if (stack1 = helpers.paramType) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.paramType; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n\n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['param_readonly_required'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression, self=this; - -function program1(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program3(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.defaultValue, {hash:{},inverse:self.program(6, program6, data),fn:self.program(4, program4, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program4(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - if (stack1 = helpers.defaultValue) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.defaultValue; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - buffer += escapeExpression(stack1) - + "\n "; - return buffer; - } - -function program6(depth0,data) { - - - return "\n (empty)\n "; - } - - buffer += ""; - if (stack1 = helpers.name) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - buffer += escapeExpression(stack1) - + "\n\n "; - stack1 = helpers['if'].call(depth0, depth0.isBody, {hash:{},inverse:self.program(3, program3, data),fn:self.program(1, program1, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n\n"; - if (stack1 = helpers.description) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.description; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n"; - if (stack1 = helpers.paramType) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.paramType; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n\n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['param_required'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression, self=this; - -function program1(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.isFile, {hash:{},inverse:self.program(4, program4, data),fn:self.program(2, program2, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program2(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program4(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.defaultValue, {hash:{},inverse:self.program(7, program7, data),fn:self.program(5, program5, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program5(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program7(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n
\n
\n "; - return buffer; - } - -function program9(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.isFile, {hash:{},inverse:self.program(12, program12, data),fn:self.program(10, program10, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program10(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program12(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers['if'].call(depth0, depth0.defaultValue, {hash:{},inverse:self.program(15, program15, data),fn:self.program(13, program13, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n "; - return buffer; - } -function program13(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program15(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - - buffer += ""; - if (stack1 = helpers.name) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - buffer += escapeExpression(stack1) - + "\n\n "; - stack1 = helpers['if'].call(depth0, depth0.isBody, {hash:{},inverse:self.program(9, program9, data),fn:self.program(1, program1, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n\n\n "; - if (stack1 = helpers.description) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.description; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n\n"; - if (stack1 = helpers.paramType) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.paramType; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n\n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['parameter_content_type'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, functionType="function", self=this; - -function program1(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers.each.call(depth0, depth0.consumes, {hash:{},inverse:self.noop,fn:self.program(2, program2, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n"; - return buffer; - } -function program2(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program4(depth0,data) { - - - return "\n \n"; - } - - buffer += "\n\n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['resource'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, options, functionType="function", escapeExpression=this.escapeExpression, self=this, blockHelperMissing=helpers.blockHelperMissing; - -function program1(depth0,data) { - - - return " : "; - } - - buffer += "
\n

\n "; - if (stack1 = helpers.name) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - buffer += escapeExpression(stack1) - + " "; - options = {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data}; - if (stack1 = helpers.description) { stack1 = stack1.call(depth0, options); } - else { stack1 = depth0.description; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if (!helpers.description) { stack1 = blockHelperMissing.call(depth0, stack1, options); } - if(stack1 || stack1 === 0) { buffer += stack1; } - if (stack1 = helpers.description) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.description; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n

\n \n
\n\n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['response_content_type'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, functionType="function", self=this; - -function program1(depth0,data) { - - var buffer = "", stack1; - buffer += "\n "; - stack1 = helpers.each.call(depth0, depth0.produces, {hash:{},inverse:self.noop,fn:self.program(2, program2, data),data:data}); - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n"; - return buffer; - } -function program2(depth0,data) { - - var buffer = "", stack1; - buffer += "\n \n "; - return buffer; - } - -function program4(depth0,data) { - - - return "\n \n"; - } - - buffer += "\n\n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['signature'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression; - - - buffer += "
\n\n
\n\n
\n
\n "; - if (stack1 = helpers.signature) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.signature; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n
\n\n
\n
";
-  if (stack1 = helpers.sampleJSON) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
-  else { stack1 = depth0.sampleJSON; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
-  buffer += escapeExpression(stack1)
-    + "
\n \n
\n
\n\n"; - return buffer; - }); -})(); - -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['status_code'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [4,'>= 1.0.0']; -helpers = this.merge(helpers, Handlebars.helpers); data = data || {}; - var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression; - - - buffer += ""; - if (stack1 = helpers.code) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.code; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - buffer += escapeExpression(stack1) - + "\n"; - if (stack1 = helpers.message) { stack1 = stack1.call(depth0, {hash:{},data:data}); } - else { stack1 = depth0.message; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; } - if(stack1 || stack1 === 0) { buffer += stack1; } - buffer += "\n"; - return buffer; - }); -})(); - - - -// Generated by CoffeeScript 1.6.3 -(function() { - var ContentTypeView, HeaderView, MainView, OperationView, ParameterContentTypeView, ParameterView, ResourceView, ResponseContentTypeView, SignatureView, StatusCodeView, SwaggerUi, _ref, _ref1, _ref10, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, - __hasProp = {}.hasOwnProperty, - __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; - - SwaggerUi = (function(_super) { - __extends(SwaggerUi, _super); - - function SwaggerUi() { - _ref = SwaggerUi.__super__.constructor.apply(this, arguments); - return _ref; - } - - SwaggerUi.prototype.dom_id = "swagger_ui"; - - SwaggerUi.prototype.options = null; - - SwaggerUi.prototype.api = null; - - SwaggerUi.prototype.headerView = null; - - SwaggerUi.prototype.mainView = null; - - SwaggerUi.prototype.initialize = function(options) { - var _this = this; - if (options == null) { - options = {}; - } - if (options.dom_id != null) { - this.dom_id = options.dom_id; - delete options.dom_id; - } - if ($('#' + this.dom_id) == null) { - $('body').append('
'); - } - this.options = options; - this.options.success = function() { - return _this.render(); - }; - this.options.progress = function(d) { - return _this.showMessage(d); - }; - this.options.failure = function(d) { - return _this.onLoadFailure(d); - }; - this.headerView = new HeaderView({ - el: $('#header') - }); - return this.headerView.on('update-swagger-ui', function(data) { - return _this.updateSwaggerUi(data); - }); - }; - - SwaggerUi.prototype.updateSwaggerUi = function(data) { - this.options.url = data.url; - return this.load(); - }; - - SwaggerUi.prototype.load = function() { - var url, _ref1; - if ((_ref1 = this.mainView) != null) { - _ref1.clear(); - } - url = this.options.url; - if (url.indexOf("http") !== 0) { - url = this.buildUrl(window.location.href.toString(), url); - } - this.options.url = url; - this.headerView.update(url); - this.api = new SwaggerApi(this.options); - this.api.build(); - return this.api; - }; - - SwaggerUi.prototype.render = function() { - var _this = this; - this.showMessage('Finished Loading Resource Information. Rendering Swagger UI...'); - this.mainView = new MainView({ - model: this.api, - el: $('#' + this.dom_id) - }).render(); - this.showMessage(); - switch (this.options.docExpansion) { - case "full": - Docs.expandOperationsForResource(''); - break; - case "list": - Docs.collapseOperationsForResource(''); - } - if (this.options.onComplete) { - this.options.onComplete(this.api, this); - } - return setTimeout(function() { - return Docs.shebang(); - }, 400); - }; - - SwaggerUi.prototype.buildUrl = function(base, url) { - var parts; - console.log("base is " + base); - parts = base.split("/"); - base = parts[0] + "//" + parts[2]; - if (url.indexOf("/") === 0) { - return base + url; - } else { - return base + "/" + url; - } - }; - - SwaggerUi.prototype.showMessage = function(data) { - if (data == null) { - data = ''; - } - $('#message-bar').removeClass('message-fail'); - $('#message-bar').addClass('message-success'); - return $('#message-bar').html(data); - }; - - SwaggerUi.prototype.onLoadFailure = function(data) { - var val; - if (data == null) { - data = ''; - } - $('#message-bar').removeClass('message-success'); - $('#message-bar').addClass('message-fail'); - val = $('#message-bar').html(data); - if (this.options.onFailure != null) { - this.options.onFailure(data); - } - return val; - }; - - return SwaggerUi; - - })(Backbone.Router); - - window.SwaggerUi = SwaggerUi; - - HeaderView = (function(_super) { - __extends(HeaderView, _super); - - function HeaderView() { - _ref1 = HeaderView.__super__.constructor.apply(this, arguments); - return _ref1; - } - - HeaderView.prototype.events = { - 'click #show-pet-store-icon': 'showPetStore', - 'click #show-wordnik-dev-icon': 'showWordnikDev', - 'click #explore': 'showCustom', - 'keyup #input_baseUrl': 'showCustomOnKeyup', - 'keyup #input_apiKey': 'showCustomOnKeyup' - }; - - HeaderView.prototype.initialize = function() {}; - - HeaderView.prototype.showPetStore = function(e) { - return this.trigger('update-swagger-ui', { - url: "http://petstore.swagger.wordnik.com/api/api-docs" - }); - }; - - HeaderView.prototype.showWordnikDev = function(e) { - return this.trigger('update-swagger-ui', { - url: "http://api.wordnik.com/v4/resources.json" - }); - }; - - HeaderView.prototype.showCustomOnKeyup = function(e) { - if (e.keyCode === 13) { - return this.showCustom(); - } - }; - - HeaderView.prototype.showCustom = function(e) { - if (e != null) { - e.preventDefault(); - } - return this.trigger('update-swagger-ui', { - url: $('#input_baseUrl').val(), - apiKey: $('#input_apiKey').val() - }); - }; - - HeaderView.prototype.update = function(url, apiKey, trigger) { - if (trigger == null) { - trigger = false; - } - $('#input_baseUrl').val(url); - if (trigger) { - return this.trigger('update-swagger-ui', { - url: url - }); - } - }; - - return HeaderView; - - })(Backbone.View); - - MainView = (function(_super) { - __extends(MainView, _super); - - function MainView() { - _ref2 = MainView.__super__.constructor.apply(this, arguments); - return _ref2; - } - - MainView.prototype.initialize = function() {}; - - MainView.prototype.render = function() { - var resource, _i, _len, _ref3; - $(this.el).html(Handlebars.templates.main(this.model)); - _ref3 = this.model.apisArray; - for (_i = 0, _len = _ref3.length; _i < _len; _i++) { - resource = _ref3[_i]; - this.addResource(resource); - } - return this; - }; - - MainView.prototype.addResource = function(resource) { - var resourceView; - resourceView = new ResourceView({ - model: resource, - tagName: 'li', - id: 'resource_' + resource.name, - className: 'resource' - }); - return $('#resources').append(resourceView.render().el); - }; - - MainView.prototype.clear = function() { - return $(this.el).html(''); - }; - - return MainView; - - })(Backbone.View); - - ResourceView = (function(_super) { - __extends(ResourceView, _super); - - function ResourceView() { - _ref3 = ResourceView.__super__.constructor.apply(this, arguments); - return _ref3; - } - - ResourceView.prototype.initialize = function() {}; - - ResourceView.prototype.render = function() { - var operation, _i, _len, _ref4; - console.log(this.model.description); - $(this.el).html(Handlebars.templates.resource(this.model)); - this.number = 0; - _ref4 = this.model.operationsArray; - for (_i = 0, _len = _ref4.length; _i < _len; _i++) { - operation = _ref4[_i]; - this.addOperation(operation); - } - return this; - }; - - ResourceView.prototype.addOperation = function(operation) { - var operationView; - operation.number = this.number; - operationView = new OperationView({ - model: operation, - tagName: 'li', - className: 'endpoint' - }); - $('.endpoints', $(this.el)).append(operationView.render().el); - return this.number++; - }; - - return ResourceView; - - })(Backbone.View); - - OperationView = (function(_super) { - __extends(OperationView, _super); - - function OperationView() { - _ref4 = OperationView.__super__.constructor.apply(this, arguments); - return _ref4; - } - - OperationView.prototype.invocationUrl = null; - - OperationView.prototype.events = { - 'submit .sandbox': 'submitOperation', - 'click .submit': 'submitOperation', - 'click .response_hider': 'hideResponse', - 'click .toggleOperation': 'toggleOperationContent' - }; - - OperationView.prototype.initialize = function() {}; - - OperationView.prototype.render = function() { - var contentTypeModel, isMethodSubmissionSupported, param, responseContentTypeView, responseSignatureView, signatureModel, statusCode, type, _i, _j, _k, _len, _len1, _len2, _ref5, _ref6, _ref7; - isMethodSubmissionSupported = true; - if (!isMethodSubmissionSupported) { - this.model.isReadOnly = true; - } - $(this.el).html(Handlebars.templates.operation(this.model)); - if (this.model.responseClassSignature && this.model.responseClassSignature !== 'string') { - signatureModel = { - sampleJSON: this.model.responseSampleJSON, - isParam: false, - signature: this.model.responseClassSignature - }; - responseSignatureView = new SignatureView({ - model: signatureModel, - tagName: 'div' - }); - $('.model-signature', $(this.el)).append(responseSignatureView.render().el); - } else { - $('.model-signature', $(this.el)).html(this.model.type); - } - contentTypeModel = { - isParam: false - }; - contentTypeModel.consumes = this.model.consumes; - contentTypeModel.produces = this.model.produces; - _ref5 = this.model.parameters; - for (_i = 0, _len = _ref5.length; _i < _len; _i++) { - param = _ref5[_i]; - type = param.type || param.dataType; - if (type.toLowerCase() === 'file') { - if (!contentTypeModel.consumes) { - console.log("set content type "); - contentTypeModel.consumes = 'multipart/form-data'; - } - } - } - responseContentTypeView = new ResponseContentTypeView({ - model: contentTypeModel - }); - $('.response-content-type', $(this.el)).append(responseContentTypeView.render().el); - _ref6 = this.model.parameters; - for (_j = 0, _len1 = _ref6.length; _j < _len1; _j++) { - param = _ref6[_j]; - this.addParameter(param, contentTypeModel.consumes); - } - _ref7 = this.model.responseMessages; - for (_k = 0, _len2 = _ref7.length; _k < _len2; _k++) { - statusCode = _ref7[_k]; - this.addStatusCode(statusCode); - } - return this; - }; - - OperationView.prototype.addParameter = function(param, consumes) { - var paramView; - param.consumes = consumes; - paramView = new ParameterView({ - model: param, - tagName: 'tr', - readOnly: this.model.isReadOnly - }); - return $('.operation-params', $(this.el)).append(paramView.render().el); - }; - - OperationView.prototype.addStatusCode = function(statusCode) { - var statusCodeView; - statusCodeView = new StatusCodeView({ - model: statusCode, - tagName: 'tr' - }); - return $('.operation-status', $(this.el)).append(statusCodeView.render().el); - }; - - OperationView.prototype.submitOperation = function(e) { - var error_free, form, isFileUpload, map, o, opts, val, _i, _j, _k, _len, _len1, _len2, _ref5, _ref6, _ref7; - if (e != null) { - e.preventDefault(); - } - form = $('.sandbox', $(this.el)); - error_free = true; - form.find("input.required").each(function() { - var _this = this; - $(this).removeClass("error"); - if (jQuery.trim($(this).val()) === "") { - $(this).addClass("error"); - $(this).wiggle({ - callback: function() { - return $(_this).focus(); - } - }); - return error_free = false; - } - }); - if (error_free) { - map = {}; - opts = { - parent: this - }; - isFileUpload = false; - _ref5 = form.find("input"); - for (_i = 0, _len = _ref5.length; _i < _len; _i++) { - o = _ref5[_i]; - if ((o.value != null) && jQuery.trim(o.value).length > 0) { - map[o.name] = o.value; - } - if (o.type === "file") { - isFileUpload = true; - } - } - _ref6 = form.find("textarea"); - for (_j = 0, _len1 = _ref6.length; _j < _len1; _j++) { - o = _ref6[_j]; - if ((o.value != null) && jQuery.trim(o.value).length > 0) { - map["body"] = o.value; - } - } - _ref7 = form.find("select"); - for (_k = 0, _len2 = _ref7.length; _k < _len2; _k++) { - o = _ref7[_k]; - val = this.getSelectedValue(o); - if ((val != null) && jQuery.trim(val).length > 0) { - map[o.name] = val; - } - } - opts.responseContentType = $("div select[name=responseContentType]", $(this.el)).val(); - opts.requestContentType = $("div select[name=parameterContentType]", $(this.el)).val(); - $(".response_throbber", $(this.el)).show(); - if (isFileUpload) { - return this.handleFileUpload(map, form); - } else { - return this.model["do"](map, opts, this.showCompleteStatus, this.showErrorStatus, this); - } - } - }; - - OperationView.prototype.success = function(response, parent) { - return parent.showCompleteStatus(response); - }; - - OperationView.prototype.handleFileUpload = function(map, form) { - var bodyParam, el, headerParams, o, obj, param, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref5, _ref6, _ref7, _ref8, - _this = this; - console.log("it's a file upload"); - _ref5 = form.serializeArray(); - for (_i = 0, _len = _ref5.length; _i < _len; _i++) { - o = _ref5[_i]; - if ((o.value != null) && jQuery.trim(o.value).length > 0) { - map[o.name] = o.value; - } - } - bodyParam = new FormData(); - _ref6 = this.model.parameters; - for (_j = 0, _len1 = _ref6.length; _j < _len1; _j++) { - param = _ref6[_j]; - if (param.paramType === 'form') { - bodyParam.append(param.name, map[param.name]); - } - } - headerParams = {}; - _ref7 = this.model.parameters; - for (_k = 0, _len2 = _ref7.length; _k < _len2; _k++) { - param = _ref7[_k]; - if (param.paramType === 'header') { - headerParams[param.name] = map[param.name]; - } - } - console.log(headerParams); - _ref8 = form.find('input[type~="file"]'); - for (_l = 0, _len3 = _ref8.length; _l < _len3; _l++) { - el = _ref8[_l]; - bodyParam.append($(el).attr('name'), el.files[0]); - } - console.log(bodyParam); - this.invocationUrl = this.model.supportHeaderParams() ? (headerParams = this.model.getHeaderParams(map), this.model.urlify(map, false)) : this.model.urlify(map, true); - $(".request_url", $(this.el)).html("
" + this.invocationUrl + "
"); - obj = { - type: this.model.method, - url: this.invocationUrl, - headers: headerParams, - data: bodyParam, - dataType: 'json', - contentType: false, - processData: false, - error: function(data, textStatus, error) { - return _this.showErrorStatus(_this.wrap(data), _this); - }, - success: function(data) { - return _this.showResponse(data, _this); - }, - complete: function(data) { - return _this.showCompleteStatus(_this.wrap(data), _this); - } - }; - if (window.authorizations) { - window.authorizations.apply(obj); - } - jQuery.ajax(obj); - return false; - }; - - OperationView.prototype.wrap = function(data) { - var o, - _this = this; - o = {}; - o.content = {}; - o.content.data = data.responseText; - o.getHeaders = function() { - return { - "Content-Type": data.getResponseHeader("Content-Type") - }; - }; - o.request = {}; - o.request.url = this.invocationUrl; - o.status = data.status; - return o; - }; - - OperationView.prototype.getSelectedValue = function(select) { - var opt, options, _i, _len, _ref5; - if (!select.multiple) { - return select.value; - } else { - options = []; - _ref5 = select.options; - for (_i = 0, _len = _ref5.length; _i < _len; _i++) { - opt = _ref5[_i]; - if (opt.selected) { - options.push(opt.value); - } - } - if (options.length > 0) { - return options.join(","); - } else { - return null; - } - } - }; - - OperationView.prototype.hideResponse = function(e) { - if (e != null) { - e.preventDefault(); - } - $(".response", $(this.el)).slideUp(); - return $(".response_hider", $(this.el)).fadeOut(); - }; - - OperationView.prototype.showResponse = function(response) { - var prettyJson; - prettyJson = JSON.stringify(response, null, "\t").replace(/\n/g, "
"); - return $(".response_body", $(this.el)).html(escape(prettyJson)); - }; - - OperationView.prototype.showErrorStatus = function(data, parent) { - return parent.showStatus(data); - }; - - OperationView.prototype.showCompleteStatus = function(data, parent) { - return parent.showStatus(data); - }; - - OperationView.prototype.formatXml = function(xml) { - var contexp, formatted, indent, lastType, lines, ln, pad, reg, transitions, wsexp, _fn, _i, _len; - reg = /(>)(<)(\/*)/g; - wsexp = /[ ]*(.*)[ ]+\n/g; - contexp = /(<.+>)(.+\n)/g; - xml = xml.replace(reg, '$1\n$2$3').replace(wsexp, '$1\n').replace(contexp, '$1\n$2'); - pad = 0; - formatted = ''; - lines = xml.split('\n'); - indent = 0; - lastType = 'other'; - transitions = { - 'single->single': 0, - 'single->closing': -1, - 'single->opening': 0, - 'single->other': 0, - 'closing->single': 0, - 'closing->closing': -1, - 'closing->opening': 0, - 'closing->other': 0, - 'opening->single': 1, - 'opening->closing': 0, - 'opening->opening': 1, - 'opening->other': 1, - 'other->single': 0, - 'other->closing': -1, - 'other->opening': 0, - 'other->other': 0 - }; - _fn = function(ln) { - var fromTo, j, key, padding, type, types, value; - types = { - single: Boolean(ln.match(/<.+\/>/)), - closing: Boolean(ln.match(/<\/.+>/)), - opening: Boolean(ln.match(/<[^!?].*>/)) - }; - type = ((function() { - var _results; - _results = []; - for (key in types) { - value = types[key]; - if (value) { - _results.push(key); - } - } - return _results; - })())[0]; - type = type === void 0 ? 'other' : type; - fromTo = lastType + '->' + type; - lastType = type; - padding = ''; - indent += transitions[fromTo]; - padding = ((function() { - var _j, _ref5, _results; - _results = []; - for (j = _j = 0, _ref5 = indent; 0 <= _ref5 ? _j < _ref5 : _j > _ref5; j = 0 <= _ref5 ? ++_j : --_j) { - _results.push(' '); - } - return _results; - })()).join(''); - if (fromTo === 'opening->closing') { - return formatted = formatted.substr(0, formatted.length - 1) + ln + '\n'; - } else { - return formatted += padding + ln + '\n'; - } - }; - for (_i = 0, _len = lines.length; _i < _len; _i++) { - ln = lines[_i]; - _fn(ln); - } - return formatted; - }; - - OperationView.prototype.showStatus = function(data) { - var code, content, contentType, headers, pre, response_body; - content = data.content.data; - headers = data.getHeaders(); - contentType = headers["Content-Type"]; - if (content === void 0) { - code = $('').text("no content"); - pre = $('
').append(code);
-      } else if (contentType.indexOf("application/json") === 0 || contentType.indexOf("application/hal+json") === 0) {
-        code = $('').text(JSON.stringify(JSON.parse(content), null, 2));
-        pre = $('
').append(code);
-      } else if (contentType.indexOf("application/xml") === 0) {
-        code = $('').text(this.formatXml(content));
-        pre = $('
').append(code);
-      } else if (contentType.indexOf("text/html") === 0) {
-        code = $('').html(content);
-        pre = $('
').append(code);
-      } else if (contentType.indexOf("image/") === 0) {
-        pre = $('').attr('src', data.request.url);
-      } else {
-        code = $('').text(content);
-        pre = $('
').append(code);
-      }
-      response_body = pre;
-      $(".request_url", $(this.el)).html("
" + data.request.url + "
"); - $(".response_code", $(this.el)).html("
" + data.status + "
"); - $(".response_body", $(this.el)).html(response_body); - $(".response_headers", $(this.el)).html("
" + JSON.stringify(data.getHeaders(), null, "  ").replace(/\n/g, "
") + "
"); - $(".response", $(this.el)).slideDown(); - $(".response_hider", $(this.el)).show(); - $(".response_throbber", $(this.el)).hide(); - return hljs.highlightBlock($('.response_body', $(this.el))[0]); - }; - - OperationView.prototype.toggleOperationContent = function() { - var elem; - elem = $('#' + Docs.escapeResourceName(this.model.resourceName) + "_" + this.model.nickname + "_" + this.model.method + "_" + this.model.number + "_content"); - if (elem.is(':visible')) { - return Docs.collapseOperation(elem); - } else { - return Docs.expandOperation(elem); - } - }; - - return OperationView; - - })(Backbone.View); - - StatusCodeView = (function(_super) { - __extends(StatusCodeView, _super); - - function StatusCodeView() { - _ref5 = StatusCodeView.__super__.constructor.apply(this, arguments); - return _ref5; - } - - StatusCodeView.prototype.initialize = function() {}; - - StatusCodeView.prototype.render = function() { - var template; - template = this.template(); - $(this.el).html(template(this.model)); - return this; - }; - - StatusCodeView.prototype.template = function() { - return Handlebars.templates.status_code; - }; - - return StatusCodeView; - - })(Backbone.View); - - ParameterView = (function(_super) { - __extends(ParameterView, _super); - - function ParameterView() { - _ref6 = ParameterView.__super__.constructor.apply(this, arguments); - return _ref6; - } - - ParameterView.prototype.initialize = function() {}; - - ParameterView.prototype.render = function() { - var contentTypeModel, isParam, parameterContentTypeView, responseContentTypeView, signatureModel, signatureView, template, type; - type = this.model.type || this.model.dataType; - if (this.model.paramType === 'body') { - this.model.isBody = true; - } - if (type.toLowerCase() === 'file') { - this.model.isFile = true; - } - template = this.template(); - $(this.el).html(template(this.model)); - signatureModel = { - sampleJSON: this.model.sampleJSON, - isParam: true, - signature: this.model.signature - }; - if (this.model.sampleJSON) { - signatureView = new SignatureView({ - model: signatureModel, - tagName: 'div' - }); - $('.model-signature', $(this.el)).append(signatureView.render().el); - } else { - $('.model-signature', $(this.el)).html(this.model.signature); - } - isParam = false; - if (this.model.isBody) { - isParam = true; - } - contentTypeModel = { - isParam: isParam - }; - contentTypeModel.consumes = this.model.consumes; - if (isParam) { - parameterContentTypeView = new ParameterContentTypeView({ - model: contentTypeModel - }); - $('.parameter-content-type', $(this.el)).append(parameterContentTypeView.render().el); - } else { - responseContentTypeView = new ResponseContentTypeView({ - model: contentTypeModel - }); - $('.response-content-type', $(this.el)).append(responseContentTypeView.render().el); - } - return this; - }; - - ParameterView.prototype.template = function() { - if (this.model.isList) { - return Handlebars.templates.param_list; - } else { - if (this.options.readOnly) { - if (this.model.required) { - return Handlebars.templates.param_readonly_required; - } else { - return Handlebars.templates.param_readonly; - } - } else { - if (this.model.required) { - return Handlebars.templates.param_required; - } else { - return Handlebars.templates.param; - } - } - } - }; - - return ParameterView; - - })(Backbone.View); - - SignatureView = (function(_super) { - __extends(SignatureView, _super); - - function SignatureView() { - _ref7 = SignatureView.__super__.constructor.apply(this, arguments); - return _ref7; - } - - SignatureView.prototype.events = { - 'click a.description-link': 'switchToDescription', - 'click a.snippet-link': 'switchToSnippet', - 'mousedown .snippet': 'snippetToTextArea' - }; - - SignatureView.prototype.initialize = function() {}; - - SignatureView.prototype.render = function() { - var template; - template = this.template(); - $(this.el).html(template(this.model)); - this.switchToDescription(); - this.isParam = this.model.isParam; - if (this.isParam) { - $('.notice', $(this.el)).text('Click to set as parameter value'); - } - return this; - }; - - SignatureView.prototype.template = function() { - return Handlebars.templates.signature; - }; - - SignatureView.prototype.switchToDescription = function(e) { - if (e != null) { - e.preventDefault(); - } - $(".snippet", $(this.el)).hide(); - $(".description", $(this.el)).show(); - $('.description-link', $(this.el)).addClass('selected'); - return $('.snippet-link', $(this.el)).removeClass('selected'); - }; - - SignatureView.prototype.switchToSnippet = function(e) { - if (e != null) { - e.preventDefault(); - } - $(".description", $(this.el)).hide(); - $(".snippet", $(this.el)).show(); - $('.snippet-link', $(this.el)).addClass('selected'); - return $('.description-link', $(this.el)).removeClass('selected'); - }; - - SignatureView.prototype.snippetToTextArea = function(e) { - var textArea; - if (this.isParam) { - if (e != null) { - e.preventDefault(); - } - textArea = $('textarea', $(this.el.parentNode.parentNode.parentNode)); - if ($.trim(textArea.val()) === '') { - return textArea.val(this.model.sampleJSON); - } - } - }; - - return SignatureView; - - })(Backbone.View); - - ContentTypeView = (function(_super) { - __extends(ContentTypeView, _super); - - function ContentTypeView() { - _ref8 = ContentTypeView.__super__.constructor.apply(this, arguments); - return _ref8; - } - - ContentTypeView.prototype.initialize = function() {}; - - ContentTypeView.prototype.render = function() { - var template; - template = this.template(); - $(this.el).html(template(this.model)); - $('label[for=contentType]', $(this.el)).text('Response Content Type'); - return this; - }; - - ContentTypeView.prototype.template = function() { - return Handlebars.templates.content_type; - }; - - return ContentTypeView; - - })(Backbone.View); - - ResponseContentTypeView = (function(_super) { - __extends(ResponseContentTypeView, _super); - - function ResponseContentTypeView() { - _ref9 = ResponseContentTypeView.__super__.constructor.apply(this, arguments); - return _ref9; - } - - ResponseContentTypeView.prototype.initialize = function() {}; - - ResponseContentTypeView.prototype.render = function() { - var template; - template = this.template(); - $(this.el).html(template(this.model)); - $('label[for=responseContentType]', $(this.el)).text('Response Content Type'); - return this; - }; - - ResponseContentTypeView.prototype.template = function() { - return Handlebars.templates.response_content_type; - }; - - return ResponseContentTypeView; - - })(Backbone.View); - - ParameterContentTypeView = (function(_super) { - __extends(ParameterContentTypeView, _super); - - function ParameterContentTypeView() { - _ref10 = ParameterContentTypeView.__super__.constructor.apply(this, arguments); - return _ref10; - } - - ParameterContentTypeView.prototype.initialize = function() {}; - - ParameterContentTypeView.prototype.render = function() { - var template; - template = this.template(); - $(this.el).html(template(this.model)); - $('label[for=parameterContentType]', $(this.el)).text('Parameter content type:'); - return this; - }; - - ParameterContentTypeView.prototype.template = function() { - return Handlebars.templates.parameter_content_type; - }; - - return ParameterContentTypeView; - - })(Backbone.View); - -}).call(this); +!function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SwaggerUICore=t():e.SwaggerUICore=t()}(this,(()=>(()=>{"use strict";var e={158:e=>{e.exports=require("buffer")}},t={};function __webpack_require__(r){var a=t[r];if(void 0!==a)return a.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};__webpack_require__.d(r,{default:()=>To});var a={};__webpack_require__.r(a),__webpack_require__.d(a,{CLEAR:()=>D,CLEAR_BY:()=>U,NEW_AUTH_ERR:()=>L,NEW_SPEC_ERR:()=>$,NEW_SPEC_ERR_BATCH:()=>V,NEW_THROWN_ERR:()=>R,NEW_THROWN_ERR_BATCH:()=>J,clear:()=>clear,clearBy:()=>clearBy,newAuthErr:()=>newAuthErr,newSpecErr:()=>newSpecErr,newSpecErrBatch:()=>newSpecErrBatch,newThrownErr:()=>newThrownErr,newThrownErrBatch:()=>newThrownErrBatch});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{AUTHORIZE:()=>he,AUTHORIZE_OAUTH2:()=>ye,CONFIGURE_AUTH:()=>fe,LOGOUT:()=>ge,RESTORE_AUTHORIZATION:()=>Se,SHOW_AUTH_POPUP:()=>de,authPopup:()=>authPopup,authorize:()=>authorize,authorizeAccessCodeWithBasicAuthentication:()=>authorizeAccessCodeWithBasicAuthentication,authorizeAccessCodeWithFormParams:()=>authorizeAccessCodeWithFormParams,authorizeApplication:()=>authorizeApplication,authorizeOauth2:()=>authorizeOauth2,authorizeOauth2WithPersistOption:()=>authorizeOauth2WithPersistOption,authorizePassword:()=>authorizePassword,authorizeRequest:()=>authorizeRequest,authorizeWithPersistOption:()=>authorizeWithPersistOption,configureAuth:()=>configureAuth,logout:()=>logout,logoutWithPersistOption:()=>logoutWithPersistOption,persistAuthorizationIfNeeded:()=>persistAuthorizationIfNeeded,preAuthorizeImplicit:()=>preAuthorizeImplicit,restoreAuthorization:()=>restoreAuthorization,showDefinitions:()=>showDefinitions});var s={};__webpack_require__.r(s),__webpack_require__.d(s,{authorized:()=>be,definitionsForRequirements:()=>definitionsForRequirements,definitionsToAuthorize:()=>we,getConfigs:()=>Ce,getDefinitionsByNames:()=>getDefinitionsByNames,isAuthorized:()=>isAuthorized,selectAuthPath:()=>selectAuthPath,shownDefinitions:()=>ve});var o={};__webpack_require__.r(o),__webpack_require__.d(o,{TOGGLE_CONFIGS:()=>Me,UPDATE_CONFIGS:()=>Pe,downloadConfig:()=>downloadConfig,getConfigByUrl:()=>getConfigByUrl,loaded:()=>actions_loaded,toggle:()=>toggle,update:()=>update});var l={};__webpack_require__.r(l),__webpack_require__.d(l,{get:()=>get});var c={};__webpack_require__.r(c),__webpack_require__.d(c,{transform:()=>transform});var i={};__webpack_require__.r(i),__webpack_require__.d(i,{transform:()=>parameter_oneof_transform});var p={};__webpack_require__.r(p),__webpack_require__.d(p,{allErrors:()=>Xe,lastError:()=>Ge});var m={};__webpack_require__.r(m),__webpack_require__.d(m,{SHOW:()=>rt,UPDATE_FILTER:()=>et,UPDATE_LAYOUT:()=>Ze,UPDATE_MODE:()=>tt,changeMode:()=>changeMode,show:()=>actions_show,updateFilter:()=>updateFilter,updateLayout:()=>updateLayout});var u={};__webpack_require__.r(u),__webpack_require__.d(u,{current:()=>current,currentFilter:()=>currentFilter,isShown:()=>isShown,showSummary:()=>nt,whatMode:()=>whatMode});var d={};__webpack_require__.r(d),__webpack_require__.d(d,{taggedOperations:()=>taggedOperations});var h={};__webpack_require__.r(h),__webpack_require__.d(h,{getActiveLanguage:()=>lt,getDefaultExpanded:()=>ct,getGenerators:()=>ot,getSnippetGenerators:()=>getSnippetGenerators});var g={};__webpack_require__.r(g),__webpack_require__.d(g,{JsonSchemaArrayItemFile:()=>JsonSchemaArrayItemFile,JsonSchemaArrayItemText:()=>JsonSchemaArrayItemText,JsonSchemaForm:()=>JsonSchemaForm,JsonSchema_array:()=>JsonSchema_array,JsonSchema_boolean:()=>JsonSchema_boolean,JsonSchema_object:()=>JsonSchema_object,JsonSchema_string:()=>JsonSchema_string});var y={};__webpack_require__.r(y),__webpack_require__.d(y,{allowTryItOutFor:()=>allowTryItOutFor,basePath:()=>cr,canExecuteScheme:()=>canExecuteScheme,consumes:()=>ar,consumesOptionsFor:()=>consumesOptionsFor,contentTypeValues:()=>contentTypeValues,currentProducesFor:()=>currentProducesFor,definitions:()=>lr,externalDocs:()=>Yt,findDefinition:()=>findDefinition,getOAS3RequiredRequestBodyContentType:()=>getOAS3RequiredRequestBodyContentType,getParameter:()=>getParameter,hasHost:()=>fr,host:()=>ir,info:()=>Gt,isMediaTypeSchemaPropertiesEqual:()=>isMediaTypeSchemaPropertiesEqual,isOAS3:()=>Xt,lastError:()=>Dt,mutatedRequestFor:()=>mutatedRequestFor,mutatedRequests:()=>yr,operationScheme:()=>operationScheme,operationWithMeta:()=>operationWithMeta,operations:()=>rr,operationsWithRootInherited:()=>mr,operationsWithTags:()=>dr,parameterInclusionSettingFor:()=>parameterInclusionSettingFor,parameterValues:()=>parameterValues,parameterWithMeta:()=>parameterWithMeta,parameterWithMetaByIdentity:()=>parameterWithMetaByIdentity,parametersIncludeIn:()=>parametersIncludeIn,parametersIncludeType:()=>parametersIncludeType,paths:()=>er,produces:()=>nr,producesOptionsFor:()=>producesOptionsFor,requestFor:()=>requestFor,requests:()=>gr,responseFor:()=>responseFor,responses:()=>hr,schemes:()=>pr,security:()=>sr,securityDefinitions:()=>or,semver:()=>Zt,spec:()=>spec,specJS:()=>Ft,specJson:()=>Bt,specJsonWithResolvedSubtrees:()=>Ht,specResolved:()=>Wt,specResolvedSubtree:()=>specResolvedSubtree,specSource:()=>zt,specStr:()=>Kt,tagDetails:()=>tagDetails,taggedOperations:()=>selectors_taggedOperations,tags:()=>ur,url:()=>Ut,validOperationMethods:()=>tr,validateBeforeExecute:()=>validateBeforeExecute,validationErrors:()=>validationErrors,version:()=>Qt});var f={};__webpack_require__.r(f),__webpack_require__.d(f,{CLEAR_REQUEST:()=>Jr,CLEAR_RESPONSE:()=>Rr,CLEAR_VALIDATE_PARAMS:()=>$r,LOG_REQUEST:()=>Tr,SET_MUTATED_REQUEST:()=>Mr,SET_REQUEST:()=>Pr,SET_RESPONSE:()=>qr,SET_SCHEME:()=>Ur,UPDATE_EMPTY_PARAM_INCLUSION:()=>Ir,UPDATE_JSON:()=>kr,UPDATE_OPERATION_META_VALUE:()=>Vr,UPDATE_PARAM:()=>Ar,UPDATE_RESOLVED:()=>Lr,UPDATE_RESOLVED_SUBTREE:()=>Dr,UPDATE_SPEC:()=>Or,UPDATE_URL:()=>Nr,VALIDATE_PARAMS:()=>jr,changeConsumesValue:()=>changeConsumesValue,changeParam:()=>changeParam,changeParamByIdentity:()=>changeParamByIdentity,changeProducesValue:()=>changeProducesValue,clearRequest:()=>clearRequest,clearResponse:()=>clearResponse,clearValidateParams:()=>clearValidateParams,execute:()=>actions_execute,executeRequest:()=>executeRequest,invalidateResolvedSubtreeCache:()=>invalidateResolvedSubtreeCache,logRequest:()=>logRequest,parseToJson:()=>parseToJson,requestResolvedSubtree:()=>requestResolvedSubtree,resolveSpec:()=>resolveSpec,setMutatedRequest:()=>setMutatedRequest,setRequest:()=>setRequest,setResponse:()=>setResponse,setScheme:()=>setScheme,updateEmptyParamInclusion:()=>updateEmptyParamInclusion,updateJsonSpec:()=>updateJsonSpec,updateResolved:()=>updateResolved,updateResolvedSubtree:()=>updateResolvedSubtree,updateSpec:()=>updateSpec,updateUrl:()=>updateUrl,validateParams:()=>validateParams});var S={};__webpack_require__.r(S),__webpack_require__.d(S,{executeRequest:()=>wrap_actions_executeRequest,updateJsonSpec:()=>wrap_actions_updateJsonSpec,updateSpec:()=>wrap_actions_updateSpec,validateParams:()=>wrap_actions_validateParams});var E={};__webpack_require__.r(E),__webpack_require__.d(E,{Button:()=>Button,Col:()=>Col,Collapse:()=>Collapse,Container:()=>Container,Input:()=>Input,Link:()=>Link,Row:()=>Row,Select:()=>Select,TextArea:()=>TextArea});var _={};__webpack_require__.r(_),__webpack_require__.d(_,{basePath:()=>wn,consumes:()=>bn,definitions:()=>Sn,findDefinition:()=>fn,hasHost:()=>En,host:()=>vn,produces:()=>Cn,schemes:()=>xn,securityDefinitions:()=>_n,validOperationMethods:()=>wrap_selectors_validOperationMethods});var v={};__webpack_require__.r(v),__webpack_require__.d(v,{definitionsToAuthorize:()=>On});var w={};__webpack_require__.r(w),__webpack_require__.d(w,{callbacksOperations:()=>An,findSchema:()=>findSchema,isOAS3:()=>selectors_isOAS3,isOAS30:()=>selectors_isOAS30,isSwagger2:()=>selectors_isSwagger2,servers:()=>kn});var b={};__webpack_require__.r(b),__webpack_require__.d(b,{CLEAR_REQUEST_BODY_VALIDATE_ERROR:()=>Xn,CLEAR_REQUEST_BODY_VALUE:()=>Gn,SET_REQUEST_BODY_VALIDATE_ERROR:()=>Hn,UPDATE_ACTIVE_EXAMPLES_MEMBER:()=>zn,UPDATE_REQUEST_BODY_INCLUSION:()=>Kn,UPDATE_REQUEST_BODY_VALUE:()=>Dn,UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG:()=>Un,UPDATE_REQUEST_CONTENT_TYPE:()=>Bn,UPDATE_RESPONSE_CONTENT_TYPE:()=>Fn,UPDATE_SELECTED_SERVER:()=>Ln,UPDATE_SERVER_VARIABLE_VALUE:()=>Wn,clearRequestBodyValidateError:()=>clearRequestBodyValidateError,clearRequestBodyValue:()=>clearRequestBodyValue,initRequestBodyValidateError:()=>initRequestBodyValidateError,setActiveExamplesMember:()=>setActiveExamplesMember,setRequestBodyInclusion:()=>setRequestBodyInclusion,setRequestBodyValidateError:()=>setRequestBodyValidateError,setRequestBodyValue:()=>setRequestBodyValue,setRequestContentType:()=>setRequestContentType,setResponseContentType:()=>setResponseContentType,setRetainRequestBodyValueFlag:()=>setRetainRequestBodyValueFlag,setSelectedServer:()=>setSelectedServer,setServerVariableValue:()=>setServerVariableValue});var C={};__webpack_require__.r(C),__webpack_require__.d(C,{activeExamplesMember:()=>ss,hasUserEditedBody:()=>rs,requestBodyErrors:()=>ns,requestBodyInclusionSetting:()=>as,requestBodyValue:()=>es,requestContentType:()=>os,responseContentType:()=>ls,selectDefaultRequestBodyValue:()=>selectDefaultRequestBodyValue,selectedServer:()=>Zn,serverEffectiveValue:()=>ps,serverVariableValue:()=>cs,serverVariables:()=>is,shouldRetainRequestBodyValue:()=>ts,validOperationMethods:()=>us,validateBeforeExecute:()=>ms,validateShallowRequired:()=>validateShallowRequired});const x=require("react");var O=__webpack_require__.n(x);const N=require("redux"),k=require("immutable");var A=__webpack_require__.n(k);const I=require("deep-extend");var j=__webpack_require__.n(I);const q=require("redux-immutable"),P=require("serialize-error"),M=require("lodash/merge");var T=__webpack_require__.n(M);const R="err_new_thrown_err",J="err_new_thrown_err_batch",$="err_new_spec_err",V="err_new_spec_err_batch",L="err_new_auth_err",D="err_clear",U="err_clear_by";function newThrownErr(e){return{type:R,payload:(0,P.serializeError)(e)}}function newThrownErrBatch(e){return{type:J,payload:e}}function newSpecErr(e){return{type:$,payload:e}}function newSpecErrBatch(e){return{type:V,payload:e}}function newAuthErr(e){return{type:L,payload:e}}function clear(e={}){return{type:D,payload:e}}function clearBy(e=()=>!0){return{type:U,payload:e}}const K=function makeWindow(){var e={location:{},history:{},open:()=>{},close:()=>{},File:function(){},FormData:function(){}};if("undefined"==typeof window)return e;try{e=window;for(var t of["File","Blob","FormData"])t in window&&(e[t]=window[t])}catch(e){console.error(e)}return e}(),z=(require("lodash/camelCase"),require("lodash/upperFirst"),require("lodash/memoize"));var B=__webpack_require__.n(z);const F=require("lodash/find");var W=__webpack_require__.n(F);const H=require("lodash/some");var X=__webpack_require__.n(H);const G=require("lodash/eq");var Y=__webpack_require__.n(G);const Q=require("lodash/isFunction");var Z=__webpack_require__.n(Q);const ee=require("css.escape");var te=__webpack_require__.n(ee);const re=require("randombytes");var ae=__webpack_require__.n(re);const ne=require("sha.js");var se=__webpack_require__.n(ne);const oe=A().Set.of("type","format","items","default","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","maxItems","minItems","uniqueItems","enum","multipleOf");function getParameterSchema(e,{isOAS3:t}={}){if(!A().Map.isMap(e))return{schema:A().Map(),parameterContentMediaType:null};if(!t)return"body"===e.get("in")?{schema:e.get("schema",A().Map()),parameterContentMediaType:null}:{schema:e.filter(((e,t)=>oe.includes(t))),parameterContentMediaType:null};if(e.get("content")){const t=e.get("content",A().Map({})).keySeq().first();return{schema:e.getIn(["content",t,"schema"],A().Map()),parameterContentMediaType:t}}return{schema:e.get("schema")?e.get("schema",A().Map()):A().Map(),parameterContentMediaType:null}}var le=__webpack_require__(158).Buffer;const ce="default",isImmutable=e=>A().Iterable.isIterable(e),immutableToJS=e=>isImmutable(e)?e.toJS():e;function objectify(e){return isObject(e)?immutableToJS(e):{}}function fromJSOrdered(e){if(isImmutable(e))return e;if(e instanceof K.File)return e;if(!isObject(e))return e;if(Array.isArray(e))return A().Seq(e).map(fromJSOrdered).toList();if(Z()(e.entries)){const t=function createObjWithHashedKeys(e){if(!Z()(e.entries))return e;const t={},r="_**[]",a={};for(let n of e.entries())if(t[n[0]]||a[n[0]]&&a[n[0]].containsMultiple){if(!a[n[0]]){a[n[0]]={containsMultiple:!0,length:1},t[`${n[0]}${r}${a[n[0]].length}`]=t[n[0]],delete t[n[0]]}a[n[0]].length+=1,t[`${n[0]}${r}${a[n[0]].length}`]=n[1]}else t[n[0]]=n[1];return t}(e);return A().OrderedMap(t).map(fromJSOrdered)}return A().OrderedMap(e).map(fromJSOrdered)}function normalizeArray(e){return Array.isArray(e)?e:[e]}function isFn(e){return"function"==typeof e}function isObject(e){return!!e&&"object"==typeof e}function isFunc(e){return"function"==typeof e}function isArray(e){return Array.isArray(e)}const ie=B();function objMap(e,t){return Object.keys(e).reduce(((r,a)=>(r[a]=t(e[a],a),r)),{})}function objReduce(e,t){return Object.keys(e).reduce(((r,a)=>{let n=t(e[a],a);return n&&"object"==typeof n&&Object.assign(r,n),r}),{})}function systemThunkMiddleware(e){return({dispatch:t,getState:r})=>t=>r=>"function"==typeof r?r(e()):t(r)}function validateValueBySchema(e,t,r,a,n){if(!t)return[];let s=[],o=t.get("nullable"),l=t.get("required"),c=t.get("maximum"),i=t.get("minimum"),p=t.get("type"),m=t.get("format"),u=t.get("maxLength"),d=t.get("minLength"),h=t.get("uniqueItems"),g=t.get("maxItems"),y=t.get("minItems"),f=t.get("pattern");const S=r||!0===l,E=null!=e,_=S||E&&"array"===p||!(!S&&!E),v=o&&null===e;if(S&&!E&&!v&&!a&&!p)return s.push("Required field is not provided"),s;if(v||!p||!_)return[];let w="string"===p&&e,b="array"===p&&Array.isArray(e)&&e.length,C="array"===p&&A().List.isList(e)&&e.count();const x=[w,b,C,"array"===p&&"string"==typeof e&&e,"file"===p&&e instanceof K.File,"boolean"===p&&(e||!1===e),"number"===p&&(e||0===e),"integer"===p&&(e||0===e),"object"===p&&"object"==typeof e&&null!==e,"object"===p&&"string"==typeof e&&e].some((e=>!!e));if(S&&!x&&!a)return s.push("Required field is not provided"),s;if("object"===p&&(null===n||"application/json"===n)){let r=e;if("string"==typeof e)try{r=JSON.parse(e)}catch(e){return s.push("Parameter string value must be valid JSON"),s}t&&t.has("required")&&isFunc(l.isList)&&l.isList()&&l.forEach((e=>{void 0===r[e]&&s.push({propKey:e,error:"Required property not found"})})),t&&t.has("properties")&&t.get("properties").forEach(((e,t)=>{const o=validateValueBySchema(r[t],e,!1,a,n);s.push(...o.map((e=>({propKey:t,error:e}))))}))}if(f){let t=((e,t)=>{if(!new RegExp(t).test(e))return"Value must follow pattern "+t})(e,f);t&&s.push(t)}if(y&&"array"===p){let t=((e,t)=>{if(!e&&t>=1||e&&e.length{if(e&&e.length>t)return`Array must not contain more then ${t} item${1===t?"":"s"}`})(e,g);t&&s.push({needRemove:!0,error:t})}if(h&&"array"===p){let t=((e,t)=>{if(e&&("true"===t||!0===t)){const t=(0,k.fromJS)(e),r=t.toSet();if(e.length>r.size){let e=(0,k.Set)();if(t.forEach(((r,a)=>{t.filter((e=>isFunc(e.equals)?e.equals(r):e===r)).size>1&&(e=e.add(a))})),0!==e.size)return e.map((e=>({index:e,error:"No duplicates allowed."}))).toArray()}}})(e,h);t&&s.push(...t)}if(u||0===u){let t=((e,t)=>{if(e.length>t)return`Value must be no longer than ${t} character${1!==t?"s":""}`})(e,u);t&&s.push(t)}if(d){let t=((e,t)=>{if(e.length{if(e>t)return`Value must be less than or equal to ${t}`})(e,c);t&&s.push(t)}if(i||0===i){let t=((e,t)=>{if(e{if(isNaN(Date.parse(e)))return"Value must be a DateTime"})(e):"uuid"===m?(e=>{if(e=e.toString().toLowerCase(),!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(e))return"Value must be a Guid"})(e):(e=>{if(e&&"string"!=typeof e)return"Value must be a string"})(e),!t)return s;s.push(t)}else if("boolean"===p){let t=(e=>{if("true"!==e&&"false"!==e&&!0!==e&&!1!==e)return"Value must be a boolean"})(e);if(!t)return s;s.push(t)}else if("number"===p){let t=(e=>{if(!/^-?\d+(\.?\d+)?$/.test(e))return"Value must be a number"})(e);if(!t)return s;s.push(t)}else if("integer"===p){let t=(e=>{if(!/^-?\d+$/.test(e))return"Value must be an integer"})(e);if(!t)return s;s.push(t)}else if("array"===p){if(!b&&!C)return s;e&&e.forEach(((e,r)=>{const o=validateValueBySchema(e,t.get("items"),!1,a,n);s.push(...o.map((e=>({index:r,error:e}))))}))}else if("file"===p){let t=(e=>{if(e&&!(e instanceof K.File))return"Value must be a file"})(e);if(!t)return s;s.push(t)}return s}const btoa=e=>{let t;return t=e instanceof le?e:le.from(e.toString(),"utf-8"),t.toString("base64")},pe={operationsSorter:{alpha:(e,t)=>e.get("path").localeCompare(t.get("path")),method:(e,t)=>e.get("method").localeCompare(t.get("method"))},tagsSorter:{alpha:(e,t)=>e.localeCompare(t)}},buildFormData=e=>{let t=[];for(let r in e){let a=e[r];void 0!==a&&""!==a&&t.push([r,"=",encodeURIComponent(a).replace(/%20/g,"+")].join(""))}return t.join("&")},shallowEqualKeys=(e,t,r)=>!!W()(r,(r=>Y()(e[r],t[r])));function requiresValidationURL(e){return!(!e||e.indexOf("localhost")>=0||e.indexOf("127.0.0.1")>=0||"none"===e)}const createDeepLinkPath=e=>"string"==typeof e||e instanceof String?e.trim().replace(/\s/g,"%20"):"",escapeDeepLinkPath=e=>te()(createDeepLinkPath(e).replace(/%20/g,"_")),isExtension=e=>/^x-/.test(e),getExtensions=e=>k.Map.isMap(e)?e.filter(((e,t)=>isExtension(t))):Object.keys(e).filter((e=>isExtension(e))),getCommonExtensions=e=>e.filter(((e,t)=>/^pattern|maxLength|minLength|maximum|minimum/.test(t)));function deeplyStripKey(e,t,r=()=>!0){if("object"!=typeof e||Array.isArray(e)||null===e||!t)return e;const a=Object.assign({},e);return Object.keys(a).forEach((e=>{e===t&&r(a[e],e)?delete a[e]:a[e]=deeplyStripKey(a[e],t,r)})),a}function stringify(e){if("string"==typeof e)return e;if(e&&e.toJS&&(e=e.toJS()),"object"==typeof e&&null!==e)try{return JSON.stringify(e,null,2)}catch(t){return String(e)}return null==e?"":e.toString()}function paramToIdentifier(e,{returnAll:t=!1,allowHashes:r=!0}={}){if(!A().Map.isMap(e))throw new Error("paramToIdentifier: received a non-Im.Map parameter as input");const a=e.get("name"),n=e.get("in");let s=[];return e&&e.hashCode&&n&&a&&r&&s.push(`${n}.${a}.hash-${e.hashCode()}`),n&&a&&s.push(`${n}.${a}`),s.push(a),t?s:s[0]||""}function paramToValue(e,t){return paramToIdentifier(e,{returnAll:!0}).map((e=>t[e])).filter((e=>void 0!==e))[0]}function b64toB64UrlEncoded(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}const isEmptyValue=e=>!e||!(!isImmutable(e)||!e.isEmpty()),idFn=e=>e;class Store{constructor(e={}){j()(this,{state:{},plugins:[],system:{configs:{},fn:{},components:{},rootInjects:{},statePlugins:{}},boundSystem:{},toolbox:{}},e),this.getSystem=this._getSystem.bind(this),this.store=function configureStore(e,t,r){return function createStoreWithMiddleware(e,t,r){let a=[systemThunkMiddleware(r)];const n=K.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||N.compose;return(0,N.createStore)(e,t,n((0,N.applyMiddleware)(...a)))}(e,t,r)}(idFn,(0,k.fromJS)(this.state),this.getSystem),this.buildSystem(!1),this.register(this.plugins)}getStore(){return this.store}register(e,t=!0){var r=combinePlugins(e,this.getSystem());systemExtend(this.system,r),t&&this.buildSystem();callAfterLoad.call(this.system,e,this.getSystem())&&this.buildSystem()}buildSystem(e=!0){let t=this.getStore().dispatch,r=this.getStore().getState;this.boundSystem=Object.assign({},this.getRootInjects(),this.getWrappedAndBoundActions(t),this.getWrappedAndBoundSelectors(r,this.getSystem),this.getStateThunks(r),this.getFn(),this.getConfigs()),e&&this.rebuildReducer()}_getSystem(){return this.boundSystem}getRootInjects(){return Object.assign({getSystem:this.getSystem,getStore:this.getStore.bind(this),getComponents:this.getComponents.bind(this),getState:this.getStore().getState,getConfigs:this._getConfigs.bind(this),Im:A(),React:O()},this.system.rootInjects||{})}_getConfigs(){return this.system.configs}getConfigs(){return{configs:this.system.configs}}setConfigs(e){this.system.configs=e}rebuildReducer(){this.store.replaceReducer(function buildReducer(e,t){return function allReducers(e,t){let r=Object.keys(e).reduce(((r,a)=>(r[a]=function makeReducer(e,t){return(r=new k.Map,a)=>{if(!e)return r;let n=e[a.type];if(n){const e=wrapWithTryCatch(n,t)(r,a);return null===e?r:e}return r}}(e[a],t),r)),{});if(!Object.keys(r).length)return idFn;return(0,q.combineReducers)(r)}(objMap(e,(e=>e.reducers)),t)}(this.system.statePlugins,this.getSystem))}getType(e){let t=e[0].toUpperCase()+e.slice(1);return objReduce(this.system.statePlugins,((r,a)=>{let n=r[e];if(n)return{[a+t]:n}}))}getSelectors(){return this.getType("selectors")}getActions(){return objMap(this.getType("actions"),(e=>objReduce(e,((e,t)=>{if(isFn(e))return{[t]:e}}))))}getWrappedAndBoundActions(e){return objMap(this.getBoundActions(e),((e,t)=>{let r=this.system.statePlugins[t.slice(0,-7)].wrapActions;return r?objMap(e,((e,t)=>{let a=r[t];return a?(Array.isArray(a)||(a=[a]),a.reduce(((e,t)=>{let newAction=(...r)=>t(e,this.getSystem())(...r);if(!isFn(newAction))throw new TypeError("wrapActions needs to return a function that returns a new function (ie the wrapped action)");return wrapWithTryCatch(newAction,this.getSystem)}),e||Function.prototype)):e})):e}))}getWrappedAndBoundSelectors(e,t){return objMap(this.getBoundSelectors(e,t),((t,r)=>{let a=[r.slice(0,-9)],n=this.system.statePlugins[a].wrapSelectors;return n?objMap(t,((t,r)=>{let s=n[r];return s?(Array.isArray(s)||(s=[s]),s.reduce(((t,r)=>{let wrappedSelector=(...n)=>r(t,this.getSystem())(e().getIn(a),...n);if(!isFn(wrappedSelector))throw new TypeError("wrapSelector needs to return a function that returns a new function (ie the wrapped action)");return wrappedSelector}),t||Function.prototype)):t})):t}))}getStates(e){return Object.keys(this.system.statePlugins).reduce(((t,r)=>(t[r]=e.get(r),t)),{})}getStateThunks(e){return Object.keys(this.system.statePlugins).reduce(((t,r)=>(t[r]=()=>e().get(r),t)),{})}getFn(){return{fn:this.system.fn}}getComponents(e){const t=this.system.components[e];return Array.isArray(t)?t.reduce(((e,t)=>t(e,this.getSystem()))):void 0!==e?this.system.components[e]:this.system.components}getBoundSelectors(e,t){return objMap(this.getSelectors(),((r,a)=>{let n=[a.slice(0,-9)];return objMap(r,(r=>(...a)=>{let s=wrapWithTryCatch(r,this.getSystem).apply(null,[e().getIn(n),...a]);return"function"==typeof s&&(s=wrapWithTryCatch(s,this.getSystem)(t())),s}))}))}getBoundActions(e){e=e||this.getStore().dispatch;const t=this.getActions(),process=e=>"function"!=typeof e?objMap(e,(e=>process(e))):(...t)=>{var r=null;try{r=e(...t)}catch(e){r={type:R,error:!0,payload:(0,P.serializeError)(e)}}finally{return r}};return objMap(t,(t=>(0,N.bindActionCreators)(process(t),e)))}getMapStateToProps(){return()=>Object.assign({},this.getSystem())}getMapDispatchToProps(e){return t=>j()({},this.getWrappedAndBoundActions(t),this.getFn(),e)}}function combinePlugins(e,t){return isObject(e)&&!isArray(e)?T()({},e):isFunc(e)?combinePlugins(e(t),t):isArray(e)?e.map((e=>combinePlugins(e,t))).reduce(systemExtend,{components:t.getComponents()}):{}}function callAfterLoad(e,t,{hasLoaded:r}={}){let a=r;return isObject(e)&&!isArray(e)&&"function"==typeof e.afterLoad&&(a=!0,wrapWithTryCatch(e.afterLoad,t.getSystem).call(this,t)),isFunc(e)?callAfterLoad.call(this,e(t),t,{hasLoaded:a}):isArray(e)?e.map((e=>callAfterLoad.call(this,e,t,{hasLoaded:a}))):a}function systemExtend(e={},t={}){if(!isObject(e))return{};if(!isObject(t))return e;t.wrapComponents&&(objMap(t.wrapComponents,((r,a)=>{const n=e.components&&e.components[a];n&&Array.isArray(n)?(e.components[a]=n.concat([r]),delete t.wrapComponents[a]):n&&(e.components[a]=[n,r],delete t.wrapComponents[a])})),Object.keys(t.wrapComponents).length||delete t.wrapComponents);const{statePlugins:r}=e;if(isObject(r))for(let e in r){const a=r[e];if(!isObject(a))continue;const{wrapActions:n,wrapSelectors:s}=a;if(isObject(n))for(let r in n){let a=n[r];Array.isArray(a)||(a=[a],n[r]=a),t&&t.statePlugins&&t.statePlugins[e]&&t.statePlugins[e].wrapActions&&t.statePlugins[e].wrapActions[r]&&(t.statePlugins[e].wrapActions[r]=n[r].concat(t.statePlugins[e].wrapActions[r]))}if(isObject(s))for(let r in s){let a=s[r];Array.isArray(a)||(a=[a],s[r]=a),t&&t.statePlugins&&t.statePlugins[e]&&t.statePlugins[e].wrapSelectors&&t.statePlugins[e].wrapSelectors[r]&&(t.statePlugins[e].wrapSelectors[r]=s[r].concat(t.statePlugins[e].wrapSelectors[r]))}}return j()(e,t)}function wrapWithTryCatch(e,t,{logErrors:r=!0}={}){return"function"!=typeof e?e:function(...a){try{return e.call(this,...a)}catch(e){if(r){const{uncaughtExceptionHandler:r}=t().getConfigs();"function"==typeof r?r(e):console.error(e)}return null}}}const me=require("url-parse");var ue=__webpack_require__.n(me);const de="show_popup",he="authorize",ge="logout",ye="authorize_oauth2",fe="configure_auth",Se="restore_authorization";function showDefinitions(e){return{type:de,payload:e}}function authorize(e){return{type:he,payload:e}}const authorizeWithPersistOption=e=>({authActions:t})=>{t.authorize(e),t.persistAuthorizationIfNeeded()};function logout(e){return{type:ge,payload:e}}const logoutWithPersistOption=e=>({authActions:t})=>{t.logout(e),t.persistAuthorizationIfNeeded()},preAuthorizeImplicit=e=>({authActions:t,errActions:r})=>{let{auth:a,token:n,isValid:s}=e,{schema:o,name:l}=a,c=o.get("flow");delete K.swaggerUIRedirectOauth2,"accessCode"===c||s||r.newAuthErr({authId:l,source:"auth",level:"warning",message:"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"}),n.error?r.newAuthErr({authId:l,source:"auth",level:"error",message:JSON.stringify(n)}):t.authorizeOauth2WithPersistOption({auth:a,token:n})};function authorizeOauth2(e){return{type:ye,payload:e}}const authorizeOauth2WithPersistOption=e=>({authActions:t})=>{t.authorizeOauth2(e),t.persistAuthorizationIfNeeded()},authorizePassword=e=>({authActions:t})=>{let{schema:r,name:a,username:n,password:s,passwordType:o,clientId:l,clientSecret:c}=e,i={grant_type:"password",scope:e.scopes.join(" "),username:n,password:s},p={};switch(o){case"request-body":!function setClientIdAndSecret(e,t,r){t&&Object.assign(e,{client_id:t});r&&Object.assign(e,{client_secret:r})}(i,l,c);break;case"basic":p.Authorization="Basic "+btoa(l+":"+c);break;default:console.warn(`Warning: invalid passwordType ${o} was passed, not including client id and secret`)}return t.authorizeRequest({body:buildFormData(i),url:r.get("tokenUrl"),name:a,headers:p,query:{},auth:e})};const authorizeApplication=e=>({authActions:t})=>{let{schema:r,scopes:a,name:n,clientId:s,clientSecret:o}=e,l={Authorization:"Basic "+btoa(s+":"+o)},c={grant_type:"client_credentials",scope:a.join(" ")};return t.authorizeRequest({body:buildFormData(c),name:n,url:r.get("tokenUrl"),auth:e,headers:l})},authorizeAccessCodeWithFormParams=({auth:e,redirectUrl:t})=>({authActions:r})=>{let{schema:a,name:n,clientId:s,clientSecret:o,codeVerifier:l}=e,c={grant_type:"authorization_code",code:e.code,client_id:s,client_secret:o,redirect_uri:t,code_verifier:l};return r.authorizeRequest({body:buildFormData(c),name:n,url:a.get("tokenUrl"),auth:e})},authorizeAccessCodeWithBasicAuthentication=({auth:e,redirectUrl:t})=>({authActions:r})=>{let{schema:a,name:n,clientId:s,clientSecret:o,codeVerifier:l}=e,c={Authorization:"Basic "+btoa(s+":"+o)},i={grant_type:"authorization_code",code:e.code,client_id:s,redirect_uri:t,code_verifier:l};return r.authorizeRequest({body:buildFormData(i),name:n,url:a.get("tokenUrl"),auth:e,headers:c})},authorizeRequest=e=>({fn:t,getConfigs:r,authActions:a,errActions:n,oas3Selectors:s,specSelectors:o,authSelectors:l})=>{let c,{body:i,query:p={},headers:m={},name:u,url:d,auth:h}=e,{additionalQueryStringParams:g}=l.getConfigs()||{};if(o.isOAS3()){let e=s.serverEffectiveValue(s.selectedServer());c=ue()(d,e,!0)}else c=ue()(d,o.url(),!0);"object"==typeof g&&(c.query=Object.assign({},c.query,g));const y=c.toString();let f=Object.assign({Accept:"application/json, text/plain, */*","Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},m);t.fetch({url:y,method:"post",headers:f,query:p,body:i,requestInterceptor:r().requestInterceptor,responseInterceptor:r().responseInterceptor}).then((function(e){let t=JSON.parse(e.data),r=t&&(t.error||""),s=t&&(t.parseError||"");e.ok?r||s?n.newAuthErr({authId:u,level:"error",source:"auth",message:JSON.stringify(t)}):a.authorizeOauth2WithPersistOption({auth:h,token:t}):n.newAuthErr({authId:u,level:"error",source:"auth",message:e.statusText})})).catch((e=>{let t=new Error(e).message;if(e.response&&e.response.data){const r=e.response.data;try{const e="string"==typeof r?JSON.parse(r):r;e.error&&(t+=`, error: ${e.error}`),e.error_description&&(t+=`, description: ${e.error_description}`)}catch(e){}}n.newAuthErr({authId:u,level:"error",source:"auth",message:t})}))};function configureAuth(e){return{type:fe,payload:e}}function restoreAuthorization(e){return{type:Se,payload:e}}const persistAuthorizationIfNeeded=()=>({authSelectors:e,getConfigs:t})=>{if(!t().persistAuthorization)return;const r=e.authorized().toJS();localStorage.setItem("authorized",JSON.stringify(r))},authPopup=(e,t)=>()=>{K.swaggerUIRedirectOauth2=t,K.open(e)},Ee={[de]:(e,{payload:t})=>e.set("showDefinitions",t),[he]:(e,{payload:t})=>{let r=(0,k.fromJS)(t),a=e.get("authorized")||(0,k.Map)();return r.entrySeq().forEach((([t,r])=>{if(!isFunc(r.getIn))return e.set("authorized",a);let n=r.getIn(["schema","type"]);if("apiKey"===n||"http"===n)a=a.set(t,r);else if("basic"===n){let e=r.getIn(["value","username"]),n=r.getIn(["value","password"]);a=a.setIn([t,"value"],{username:e,header:"Basic "+btoa(e+":"+n)}),a=a.setIn([t,"schema"],r.get("schema"))}})),e.set("authorized",a)},[ye]:(e,{payload:t})=>{let r,{auth:a,token:n}=t;a.token=Object.assign({},n),r=(0,k.fromJS)(a);let s=e.get("authorized")||(0,k.Map)();return s=s.set(r.get("name"),r),e.set("authorized",s)},[ge]:(e,{payload:t})=>{let r=e.get("authorized").withMutations((e=>{t.forEach((t=>{e.delete(t)}))}));return e.set("authorized",r)},[fe]:(e,{payload:t})=>e.set("configs",t),[Se]:(e,{payload:t})=>e.set("authorized",(0,k.fromJS)(t.authorized))},_e=require("reselect"),state=e=>e,ve=(0,_e.createSelector)(state,(e=>e.get("showDefinitions"))),we=(0,_e.createSelector)(state,(()=>({specSelectors:e})=>{let t=e.securityDefinitions()||(0,k.Map)({}),r=(0,k.List)();return t.entrySeq().forEach((([e,t])=>{let a=(0,k.Map)();a=a.set(e,t),r=r.push(a)})),r})),selectAuthPath=(e,t)=>({specSelectors:e})=>(0,k.List)(e.isOAS3()?["components","securitySchemes",t]:["securityDefinitions",t]),getDefinitionsByNames=(e,t)=>({specSelectors:e})=>{console.warn("WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.");let r=e.securityDefinitions(),a=(0,k.List)();return t.valueSeq().forEach((e=>{let t=(0,k.Map)();e.entrySeq().forEach((([e,a])=>{let n,s=r.get(e);"oauth2"===s.get("type")&&a.size&&(n=s.get("scopes"),n.keySeq().forEach((e=>{a.contains(e)||(n=n.delete(e))})),s=s.set("allowedScopes",n)),t=t.set(e,s)})),a=a.push(t)})),a},definitionsForRequirements=(e,t=(0,k.List)())=>({authSelectors:e})=>{const r=e.definitionsToAuthorize()||(0,k.List)();let a=(0,k.List)();return r.forEach((e=>{let r=t.find((t=>t.get(e.keySeq().first())));r&&(e.forEach(((t,a)=>{if("oauth2"===t.get("type")){const n=r.get(a);let s=t.get("scopes");k.List.isList(n)&&k.Map.isMap(s)&&(s.keySeq().forEach((e=>{n.contains(e)||(s=s.delete(e))})),e=e.set(a,t.set("scopes",s)))}})),a=a.push(e))})),a},be=(0,_e.createSelector)(state,(e=>e.get("authorized")||(0,k.Map)())),isAuthorized=(e,t)=>({authSelectors:e})=>{let r=e.authorized();return k.List.isList(t)?!!t.toJS().filter((e=>-1===Object.keys(e).map((e=>!!r.get(e))).indexOf(!1))).length:null},Ce=(0,_e.createSelector)(state,(e=>e.get("configs"))),execute=(e,{authSelectors:t,specSelectors:r})=>({path:a,method:n,operation:s,extras:o})=>{let l={authorized:t.authorized()&&t.authorized().toJS(),definitions:r.securityDefinitions()&&r.securityDefinitions().toJS(),specSecurity:r.security()&&r.security().toJS()};return e({path:a,method:n,operation:s,securities:l,...o})},loaded=(e,t)=>r=>{const{getConfigs:a,authActions:n}=t,s=a();if(e(r),s.persistAuthorization){const e=localStorage.getItem("authorized");e&&n.restoreAuthorization({authorized:JSON.parse(e)})}},wrap_actions_authorize=(e,t)=>r=>{e(r);if(t.getConfigs().persistAuthorization)try{const[{schema:e,value:t}]=Object.values(r),a=(0,k.fromJS)(e),n="apiKey"===a.get("type"),s="cookie"===a.get("in");n&&s&&(document.cookie=`${a.get("name")}=${t}; SameSite=None; Secure`)}catch(e){console.error("Error persisting cookie based apiKey in document.cookie.",e)}},wrap_actions_logout=(e,t)=>r=>{const a=t.getConfigs(),n=t.authSelectors.authorized();try{a.persistAuthorization&&Array.isArray(r)&&r.forEach((e=>{const t=n.get(e,{}),r="apiKey"===t.getIn(["schema","type"]),a="cookie"===t.getIn(["schema","in"]);if(r&&a){const e=t.getIn(["schema","name"]);document.cookie=`${e}=; Max-Age=-99999999`}}))}catch(e){console.error("Error deleting cookie based apiKey from document.cookie.",e)}e(r)},xe=require("prop-types");var Oe=__webpack_require__.n(xe);const Ne=require("lodash/omit");var ke=__webpack_require__.n(Ne);class LockAuthIcon extends O().Component{mapStateToProps(e,t){return{state:e,ownProps:ke()(t,Object.keys(t.getSystem()))}}render(){const{getComponent:e,ownProps:t}=this.props,r=e("LockIcon");return O().createElement(r,t)}}const Ae=LockAuthIcon;class UnlockAuthIcon extends O().Component{mapStateToProps(e,t){return{state:e,ownProps:ke()(t,Object.keys(t.getSystem()))}}render(){const{getComponent:e,ownProps:t}=this.props,r=e("UnlockIcon");return O().createElement(r,t)}}const Ie=UnlockAuthIcon;function auth(){return{afterLoad(e){this.rootInjects=this.rootInjects||{},this.rootInjects.initOAuth=e.authActions.configureAuth,this.rootInjects.preauthorizeApiKey=preauthorizeApiKey.bind(null,e),this.rootInjects.preauthorizeBasic=preauthorizeBasic.bind(null,e)},components:{LockAuthIcon:Ae,UnlockAuthIcon:Ie,LockAuthOperationIcon:Ae,UnlockAuthOperationIcon:Ie},statePlugins:{auth:{reducers:Ee,actions:n,selectors:s,wrapActions:{authorize:wrap_actions_authorize,logout:wrap_actions_logout}},configs:{wrapActions:{loaded}},spec:{wrapActions:{execute}}}}}function preauthorizeBasic(e,t,r,a){const{authActions:{authorize:n},specSelectors:{specJson:s,isOAS3:o}}=e,l=o()?["components","securitySchemes"]:["securityDefinitions"],c=s().getIn([...l,t]);return c?n({[t]:{value:{username:r,password:a},schema:c.toJS()}}):null}function preauthorizeApiKey(e,t,r){const{authActions:{authorize:a},specSelectors:{specJson:n,isOAS3:s}}=e,o=s()?["components","securitySchemes"]:["securityDefinitions"],l=n().getIn([...o,t]);return l?a({[t]:{value:r,schema:l.toJS()}}):null}const je=require("js-yaml");var qe=__webpack_require__.n(je);const Pe="configs_update",Me="configs_toggle";function update(e,t){return{type:Pe,payload:{[e]:t}}}function toggle(e){return{type:Me,payload:e}}const actions_loaded=()=>()=>{},downloadConfig=e=>t=>{const{fn:{fetch:r}}=t;return r(e)},getConfigByUrl=(e,t)=>r=>{const{specActions:a,configsActions:n}=r;if(e)return n.downloadConfig(e).then(next,next);function next(n){n instanceof Error||n.status>=400?(a.updateLoadingStatus("failedConfig"),a.updateLoadingStatus("failedConfig"),a.updateUrl(""),console.error(n.statusText+" "+e.url),t(null)):t(((e,t)=>{try{return qe().load(e)}catch(e){return t&&t.errActions.newThrownErr(new Error(e)),{}}})(n.text,r))}},get=(e,t)=>e.getIn(Array.isArray(t)?t:[t]),Te={[Pe]:(e,t)=>e.merge((0,k.fromJS)(t.payload)),[Me]:(e,t)=>{const r=t.payload,a=e.get(r);return e.set(r,!a)}};function configsPlugin(){return{statePlugins:{configs:{reducers:Te,actions:o,selectors:l}}}}const setHash=e=>e?history.pushState(null,null,`#${e}`):window.location.hash="",Re=require("zenscroll");var Je=__webpack_require__.n(Re);const $e="layout_scroll_to",Ve="layout_clear_scroll";const Le={fn:{getScrollParent:function getScrollParent(e,t){const r=document.documentElement;let a=getComputedStyle(e);const n="absolute"===a.position,s=t?/(auto|scroll|hidden)/:/(auto|scroll)/;if("fixed"===a.position)return r;for(let t=e;t=t.parentElement;)if(a=getComputedStyle(t),(!n||"static"!==a.position)&&s.test(a.overflow+a.overflowY+a.overflowX))return t;return r}},statePlugins:{layout:{actions:{scrollToElement:(e,t)=>r=>{try{t=t||r.fn.getScrollParent(e),Je().createScroller(t).to(e)}catch(e){console.error(e)}},scrollTo:e=>({type:$e,payload:Array.isArray(e)?e:[e]}),clearScrollTo:()=>({type:Ve}),readyToScroll:(e,t)=>r=>{const a=r.layoutSelectors.getScrollToKey();A().is(a,(0,k.fromJS)(e))&&(r.layoutActions.scrollToElement(t),r.layoutActions.clearScrollTo())},parseDeepLinkHash:e=>({layoutActions:t,layoutSelectors:r,getConfigs:a})=>{if(a().deepLinking&&e){let a=e.slice(1);"!"===a[0]&&(a=a.slice(1)),"/"===a[0]&&(a=a.slice(1));const n=a.split("/").map((e=>e||"")),s=r.isShownKeyFromUrlHashArray(n),[o,l="",c=""]=s;if("operations"===o){const e=r.isShownKeyFromUrlHashArray([l]);l.indexOf("_")>-1&&(console.warn("Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead."),t.show(e.map((e=>e.replace(/_/g," "))),!0)),t.show(e,!0)}(l.indexOf("_")>-1||c.indexOf("_")>-1)&&(console.warn("Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead."),t.show(s.map((e=>e.replace(/_/g," "))),!0)),t.show(s,!0),t.scrollTo(s)}}},selectors:{getScrollToKey:e=>e.get("scrollToKey"),isShownKeyFromUrlHashArray(e,t){const[r,a]=t;return a?["operations",r,a]:r?["operations-tag",r]:[]},urlHashArrayFromIsShownKey(e,t){let[r,a,n]=t;return"operations"==r?[a,n]:"operations-tag"==r?[a]:[]}},reducers:{[$e]:(e,t)=>e.set("scrollToKey",A().fromJS(t.payload)),[Ve]:e=>e.delete("scrollToKey")},wrapActions:{show:(e,{getConfigs:t,layoutSelectors:r})=>(...a)=>{if(e(...a),t().deepLinking)try{let[e,t]=a;e=Array.isArray(e)?e:[e];const n=r.urlHashArrayFromIsShownKey(e);if(!n.length)return;const[s,o]=n;if(!t)return setHash("/");2===n.length?setHash(createDeepLinkPath(`/${encodeURIComponent(s)}/${encodeURIComponent(o)}`)):1===n.length&&setHash(createDeepLinkPath(`/${encodeURIComponent(s)}`))}catch(e){console.error(e)}}}}}},De=require("react-immutable-proptypes");var Ue=__webpack_require__.n(De);const operation_wrapper=(e,t)=>class OperationWrapper extends O().Component{onLoad=e=>{const{operation:r}=this.props,{tag:a,operationId:n}=r.toObject();let{isShownKey:s}=r.toObject();s=s||["operations",a,n],t.layoutActions.readyToScroll(s,e)};render(){return O().createElement("span",{ref:this.onLoad},O().createElement(e,this.props))}},operation_tag_wrapper=(e,t)=>class OperationTagWrapper extends O().Component{onLoad=e=>{const{tag:r}=this.props,a=["operations-tag",r];t.layoutActions.readyToScroll(a,e)};render(){return O().createElement("span",{ref:this.onLoad},O().createElement(e,this.props))}};function deep_linking(){return[Le,{statePlugins:{configs:{wrapActions:{loaded:(e,t)=>(...r)=>{e(...r);const a=decodeURIComponent(window.location.hash);t.layoutActions.parseDeepLinkHash(a)}}}},wrapComponents:{operation:operation_wrapper,OperationTag:operation_tag_wrapper}}]}const Ke=require("lodash/reduce");var ze=__webpack_require__.n(Ke);function transform(e){return e.map((e=>{let t="is not of a type(s)",r=e.get("message").indexOf(t);if(r>-1){let t=e.get("message").slice(r+19).split(",");return e.set("message",e.get("message").slice(0,r)+function makeNewMessage(e){return e.reduce(((e,t,r,a)=>r===a.length-1&&a.length>1?e+"or "+t:a[r+1]&&a.length>2?e+t+", ":a[r+1]?e+t+" ":e+t),"should be a")}(t))}return e}))}const Be=require("lodash/get");var Fe=__webpack_require__.n(Be);function parameter_oneof_transform(e,{jsSpec:t}){return e}const We=[c,i];function transformErrors(e){let t={jsSpec:{}},r=ze()(We,((e,r)=>{try{return r.transform(e,t).filter((e=>!!e))}catch(t){return console.error("Transformer error:",t),e}}),e);return r.filter((e=>!!e)).map((e=>(!e.get("line")&&e.get("path"),e)))}let He={line:0,level:"error",message:"Unknown error"};const Xe=(0,_e.createSelector)((e=>e),(e=>e.get("errors",(0,k.List)()))),Ge=(0,_e.createSelector)(Xe,(e=>e.last()));function err(e){return{statePlugins:{err:{reducers:{[R]:(e,{payload:t})=>{let r=Object.assign(He,t,{type:"thrown"});return e.update("errors",(e=>(e||(0,k.List)()).push((0,k.fromJS)(r)))).update("errors",(e=>transformErrors(e)))},[J]:(e,{payload:t})=>(t=t.map((e=>(0,k.fromJS)(Object.assign(He,e,{type:"thrown"})))),e.update("errors",(e=>(e||(0,k.List)()).concat((0,k.fromJS)(t)))).update("errors",(e=>transformErrors(e)))),[$]:(e,{payload:t})=>{let r=(0,k.fromJS)(t);return r=r.set("type","spec"),e.update("errors",(e=>(e||(0,k.List)()).push((0,k.fromJS)(r)).sortBy((e=>e.get("line"))))).update("errors",(e=>transformErrors(e)))},[V]:(e,{payload:t})=>(t=t.map((e=>(0,k.fromJS)(Object.assign(He,e,{type:"spec"})))),e.update("errors",(e=>(e||(0,k.List)()).concat((0,k.fromJS)(t)))).update("errors",(e=>transformErrors(e)))),[L]:(e,{payload:t})=>{let r=(0,k.fromJS)(Object.assign({},t));return r=r.set("type","auth"),e.update("errors",(e=>(e||(0,k.List)()).push((0,k.fromJS)(r)))).update("errors",(e=>transformErrors(e)))},[D]:(e,{payload:t})=>{if(!t||!e.get("errors"))return e;let r=e.get("errors").filter((e=>e.keySeq().every((r=>{const a=e.get(r),n=t[r];return!n||a!==n}))));return e.merge({errors:r})},[U]:(e,{payload:t})=>{if(!t||"function"!=typeof t)return e;let r=e.get("errors").filter((e=>t(e)));return e.merge({errors:r})}},actions:a,selectors:p}}}}function opsFilter(e,t){return e.filter(((e,r)=>-1!==r.indexOf(t)))}function filter(){return{fn:{opsFilter}}}const Ye=require("@babel/runtime-corejs3/helpers/extends");var Qe=__webpack_require__.n(Ye);const arrow_up=({className:e=null,width:t=20,height:r=20,...a})=>O().createElement("svg",Qe()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:e,width:t,height:r,"aria-hidden":"true",focusable:"false"},a),O().createElement("path",{d:"M 17.418 14.908 C 17.69 15.176 18.127 15.176 18.397 14.908 C 18.667 14.64 18.668 14.207 18.397 13.939 L 10.489 6.109 C 10.219 5.841 9.782 5.841 9.51 6.109 L 1.602 13.939 C 1.332 14.207 1.332 14.64 1.602 14.908 C 1.873 15.176 2.311 15.176 2.581 14.908 L 10 7.767 L 17.418 14.908 Z"})),arrow_down=({className:e=null,width:t=20,height:r=20,...a})=>O().createElement("svg",Qe()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:e,width:t,height:r,"aria-hidden":"true",focusable:"false"},a),O().createElement("path",{d:"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"})),arrow=({className:e=null,width:t=20,height:r=20,...a})=>O().createElement("svg",Qe()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:e,width:t,height:r,"aria-hidden":"true",focusable:"false"},a),O().createElement("path",{d:"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"})),components_close=({className:e=null,width:t=20,height:r=20,...a})=>O().createElement("svg",Qe()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:e,width:t,height:r,"aria-hidden":"true",focusable:"false"},a),O().createElement("path",{d:"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"})),copy=({className:e=null,width:t=15,height:r=16,...a})=>O().createElement("svg",Qe()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 15 16",className:e,width:t,height:r,"aria-hidden":"true",focusable:"false"},a),O().createElement("g",{transform:"translate(2, -1)"},O().createElement("path",{fill:"#ffffff",fillRule:"evenodd",d:"M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"}))),lock=({className:e=null,width:t=20,height:r=20,...a})=>O().createElement("svg",Qe()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:e,width:t,height:r,"aria-hidden":"true",focusable:"false"},a),O().createElement("path",{d:"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"})),unlock=({className:e=null,width:t=20,height:r=20,...a})=>O().createElement("svg",Qe()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:e,width:t,height:r,"aria-hidden":"true",focusable:"false"},a),O().createElement("path",{d:"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"})),icons=()=>({components:{ArrowUpIcon:arrow_up,ArrowDownIcon:arrow_down,ArrowIcon:arrow,CloseIcon:components_close,CopyIcon:copy,LockIcon:lock,UnlockIcon:unlock}}),Ze="layout_update_layout",et="layout_update_filter",tt="layout_update_mode",rt="layout_show";function updateLayout(e){return{type:Ze,payload:e}}function updateFilter(e){return{type:et,payload:e}}function actions_show(e,t=!0){return e=normalizeArray(e),{type:rt,payload:{thing:e,shown:t}}}function changeMode(e,t=""){return e=normalizeArray(e),{type:tt,payload:{thing:e,mode:t}}}const at={[Ze]:(e,t)=>e.set("layout",t.payload),[et]:(e,t)=>e.set("filter",t.payload),[rt]:(e,t)=>{const r=t.payload.shown,a=(0,k.fromJS)(t.payload.thing);return e.update("shown",(0,k.fromJS)({}),(e=>e.set(a,r)))},[tt]:(e,t)=>{let r=t.payload.thing,a=t.payload.mode;return e.setIn(["modes"].concat(r),(a||"")+"")}},current=e=>e.get("layout"),currentFilter=e=>e.get("filter"),isShown=(e,t,r)=>(t=normalizeArray(t),e.get("shown",(0,k.fromJS)({})).get((0,k.fromJS)(t),r)),whatMode=(e,t,r="")=>(t=normalizeArray(t),e.getIn(["modes",...t],r)),nt=(0,_e.createSelector)((e=>e),(e=>!isShown(e,"editor"))),taggedOperations=(e,t)=>(r,...a)=>{let n=e(r,...a);const{fn:s,layoutSelectors:o,getConfigs:l}=t.getSystem(),c=l(),{maxDisplayedTags:i}=c;let p=o.currentFilter();return p&&!0!==p&&(n=s.opsFilter(n,p)),i>=0&&(n=n.slice(0,i)),n};function plugins_layout(){return{statePlugins:{layout:{reducers:at,actions:m,selectors:u},spec:{wrapSelectors:d}}}}function logs({configs:e}){const t={debug:0,info:1,log:2,warn:3,error:4},getLevel=e=>t[e]||-1;let{logLevel:r}=e,a=getLevel(r);function log(e,...t){getLevel(e)>=a&&console[e](...t)}return log.warn=log.bind(null,"warn"),log.error=log.bind(null,"error"),log.info=log.bind(null,"info"),log.debug=log.bind(null,"debug"),{rootInjects:{log}}}let st=!1;function on_complete(){return{statePlugins:{spec:{wrapActions:{updateSpec:e=>(...t)=>(st=!0,e(...t)),updateJsonSpec:(e,t)=>(...r)=>{const a=t.getConfigs().onComplete;return st&&"function"==typeof a&&(setTimeout(a,0),st=!1),e(...r)}}}}}}const extractKey=e=>{const t="_**[]";return e.indexOf(t)<0?e:e.split(t)[0].trim()},escapeShell=e=>"-d "===e||/^[_\/-]/g.test(e)?e:"'"+e.replace(/'/g,"'\\''")+"'",escapeCMD=e=>"-d "===(e=e.replace(/\^/g,"^^").replace(/\\"/g,'\\\\"').replace(/"/g,'""').replace(/\n/g,"^\n"))?e.replace(/-d /g,"-d ^\n"):/^[_\/-]/g.test(e)?e:'"'+e+'"',escapePowershell=e=>{if("-d "===e)return e;if(/\n/.test(e)){return`@"\n${e.replace(/`/g,"``").replace(/\$/g,"`$")}\n"@`}if(!/^[_\/-]/.test(e)){return`'${e.replace(/'/g,"''")}'`}return e};const curlify=(e,t,r,a="")=>{let n=!1,s="";const addWords=(...e)=>s+=" "+e.map(t).join(" "),addWordsWithoutLeadingSpace=(...e)=>s+=e.map(t).join(" "),addNewLine=()=>s+=` ${r}`,addIndent=(e=1)=>s+=" ".repeat(e);let o=e.get("headers");s+="curl"+a;const l=e.get("curlOptions");if(k.List.isList(l)&&!l.isEmpty()&&addWords(...e.get("curlOptions")),addWords("-X",e.get("method")),addNewLine(),addIndent(),addWordsWithoutLeadingSpace(`${e.get("url")}`),o&&o.size)for(let t of e.get("headers").entries()){addNewLine(),addIndent();let[e,r]=t;addWordsWithoutLeadingSpace("-H",`${e}: ${r}`),n=n||/^content-type$/i.test(e)&&/^multipart\/form-data$/i.test(r)}const c=e.get("body");if(c)if(n&&["POST","PUT","PATCH"].includes(e.get("method")))for(let[e,t]of c.entrySeq()){let r=extractKey(e);addNewLine(),addIndent(),addWordsWithoutLeadingSpace("-F"),t instanceof K.File&&"string"==typeof t.valueOf()?addWords(`${r}=${t.data}${t.type?`;type=${t.type}`:""}`):t instanceof K.File?addWords(`${r}=@${t.name}${t.type?`;type=${t.type}`:""}`):addWords(`${r}=${t}`)}else if(c instanceof K.File)addNewLine(),addIndent(),addWordsWithoutLeadingSpace(`--data-binary '@${c.name}'`);else{addNewLine(),addIndent(),addWordsWithoutLeadingSpace("-d ");let t=c;k.Map.isMap(t)?addWordsWithoutLeadingSpace(function getStringBodyOfMap(e){let t=[];for(let[r,a]of e.get("body").entrySeq()){let e=extractKey(r);a instanceof K.File?t.push(` "${e}": {\n "name": "${a.name}"${a.type?`,\n "type": "${a.type}"`:""}\n }`):t.push(` "${e}": ${JSON.stringify(a,null,2).replace(/(\r\n|\r|\n)/g,"\n ")}`)}return`{\n${t.join(",\n")}\n}`}(e)):("string"!=typeof t&&(t=JSON.stringify(t)),addWordsWithoutLeadingSpace(t))}else c||"POST"!==e.get("method")||(addNewLine(),addIndent(),addWordsWithoutLeadingSpace("-d ''"));return s},requestSnippetGenerator_curl_powershell=e=>curlify(e,escapePowershell,"`\n",".exe"),requestSnippetGenerator_curl_bash=e=>curlify(e,escapeShell,"\\\n"),requestSnippetGenerator_curl_cmd=e=>curlify(e,escapeCMD,"^\n"),request_snippets_selectors_state=e=>e||(0,k.Map)(),ot=(0,_e.createSelector)(request_snippets_selectors_state,(e=>{const t=e.get("languages"),r=e.get("generators",(0,k.Map)());return!t||t.isEmpty()?r:r.filter(((e,r)=>t.includes(r)))})),getSnippetGenerators=e=>({fn:t})=>ot(e).map(((e,r)=>{const a=(e=>t[`requestSnippetGenerator_${e}`])(r);return"function"!=typeof a?null:e.set("fn",a)})).filter((e=>e)),lt=(0,_e.createSelector)(request_snippets_selectors_state,(e=>e.get("activeLanguage"))),ct=(0,_e.createSelector)(request_snippets_selectors_state,(e=>e.get("defaultExpanded"))),it=require("classnames");var pt=__webpack_require__.n(it);const mt=require("react-copy-to-clipboard"),ut={cursor:"pointer",lineHeight:1,display:"inline-flex",backgroundColor:"rgb(250, 250, 250)",paddingBottom:"0",paddingTop:"0",border:"1px solid rgb(51, 51, 51)",borderRadius:"4px 4px 0 0",boxShadow:"none",borderBottom:"none"},dt={cursor:"pointer",lineHeight:1,display:"inline-flex",backgroundColor:"rgb(51, 51, 51)",boxShadow:"none",border:"1px solid rgb(51, 51, 51)",paddingBottom:"0",paddingTop:"0",borderRadius:"4px 4px 0 0",marginTop:"-5px",marginRight:"-5px",marginLeft:"-5px",zIndex:"9999",borderBottom:"none"},request_snippets=({request:e,requestSnippetsSelectors:t,getComponent:r})=>{const a=(0,x.useRef)(null),n=r("ArrowUpIcon"),s=r("ArrowDownIcon"),o=r("SyntaxHighlighter",!0),[l,c]=(0,x.useState)(t.getSnippetGenerators()?.keySeq().first()),[i,p]=(0,x.useState)(t?.getDefaultExpanded()),m=t.getSnippetGenerators(),u=m.get(l),d=u.get("fn")(e),handleSetIsExpanded=()=>{p(!i)},handleGetBtnStyle=e=>e===l?dt:ut,handlePreventYScrollingBeyondElement=e=>{const{target:t,deltaY:r}=e,{scrollHeight:a,offsetHeight:n,scrollTop:s}=t;a>n&&(0===s&&r<0||n+s>=a&&r>0)&&e.preventDefault()};return(0,x.useEffect)((()=>{}),[]),(0,x.useEffect)((()=>{const e=Array.from(a.current.childNodes).filter((e=>!!e.nodeType&&e.classList?.contains("curl-command")));return e.forEach((e=>e.addEventListener("mousewheel",handlePreventYScrollingBeyondElement,{passive:!1}))),()=>{e.forEach((e=>e.removeEventListener("mousewheel",handlePreventYScrollingBeyondElement)))}}),[e]),O().createElement("div",{className:"request-snippets",ref:a},O().createElement("div",{style:{width:"100%",display:"flex",justifyContent:"flex-start",alignItems:"center",marginBottom:"15px"}},O().createElement("h4",{onClick:()=>handleSetIsExpanded(),style:{cursor:"pointer"}},"Snippets"),O().createElement("button",{onClick:()=>handleSetIsExpanded(),style:{border:"none",background:"none"},title:i?"Collapse operation":"Expand operation"},i?O().createElement(s,{className:"arrow",width:"10",height:"10"}):O().createElement(n,{className:"arrow",width:"10",height:"10"}))),i&&O().createElement("div",{className:"curl-command"},O().createElement("div",{style:{paddingLeft:"15px",paddingRight:"10px",width:"100%",display:"flex"}},m.entrySeq().map((([e,t])=>O().createElement("div",{className:pt()("btn",{active:e===l}),style:handleGetBtnStyle(e),key:e,onClick:()=>(e=>{l!==e&&c(e)})(e)},O().createElement("h4",{style:e===l?{color:"white"}:{}},t.get("title")))))),O().createElement("div",{className:"copy-to-clipboard"},O().createElement(mt.CopyToClipboard,{text:d},O().createElement("button",null))),O().createElement("div",null,O().createElement(o,{language:u.get("syntax"),className:"curl microlight",renderPlainText:({children:e,PlainTextViewer:t})=>O().createElement(t,{className:"curl"},e)},d))))},plugins_request_snippets=()=>({components:{RequestSnippets:request_snippets},fn:{requestSnippetGenerator_curl_bash,requestSnippetGenerator_curl_cmd,requestSnippetGenerator_curl_powershell},statePlugins:{requestSnippets:{selectors:h}}});class ModelCollapse extends x.Component{static defaultProps={collapsedContent:"{...}",expanded:!1,title:null,onToggle:()=>{},hideSelfOnExpand:!1,specPath:A().List([])};constructor(e,t){super(e,t);let{expanded:r,collapsedContent:a}=this.props;this.state={expanded:r,collapsedContent:a||ModelCollapse.defaultProps.collapsedContent}}componentDidMount(){const{hideSelfOnExpand:e,expanded:t,modelName:r}=this.props;e&&t&&this.props.onToggle(r,t)}UNSAFE_componentWillReceiveProps(e){this.props.expanded!==e.expanded&&this.setState({expanded:e.expanded})}toggleCollapsed=()=>{this.props.onToggle&&this.props.onToggle(this.props.modelName,!this.state.expanded),this.setState({expanded:!this.state.expanded})};onLoad=e=>{if(e&&this.props.layoutSelectors){const t=this.props.layoutSelectors.getScrollToKey();A().is(t,this.props.specPath)&&this.toggleCollapsed(),this.props.layoutActions.readyToScroll(this.props.specPath,e.parentElement)}};render(){const{title:e,classes:t}=this.props;return this.state.expanded&&this.props.hideSelfOnExpand?O().createElement("span",{className:t||""},this.props.children):O().createElement("span",{className:t||"",ref:this.onLoad},O().createElement("button",{"aria-expanded":this.state.expanded,className:"model-box-control",onClick:this.toggleCollapsed},e&&O().createElement("span",{className:"pointer"},e),O().createElement("span",{className:"model-toggle"+(this.state.expanded?"":" collapsed")}),!this.state.expanded&&O().createElement("span",null,this.state.collapsedContent)),this.state.expanded&&this.props.children)}}const useTabs=({initialTab:e,isExecute:t,schema:r,example:a})=>{const n=(0,x.useMemo)((()=>({example:"example",model:"model"})),[]),s=(0,x.useMemo)((()=>Object.keys(n)),[n]).includes(e)&&r&&!t?e:n.example,o=(e=>{const t=(0,x.useRef)();return(0,x.useEffect)((()=>{t.current=e})),t.current})(t),[l,c]=(0,x.useState)(s),i=(0,x.useCallback)((e=>{c(e.target.dataset.name)}),[]);return(0,x.useEffect)((()=>{o&&!t&&a&&c(n.example)}),[o,t,a]),{activeTab:l,onTabChange:i,tabs:n}},model_example=({schema:e,example:t,isExecute:r=!1,specPath:a,includeWriteOnly:n=!1,includeReadOnly:s=!1,getComponent:o,getConfigs:l,specSelectors:c})=>{const{defaultModelRendering:i,defaultModelExpandDepth:p}=l(),m=o("ModelWrapper"),u=o("HighlightCode",!0),d=ae()(5).toString("base64"),h=ae()(5).toString("base64"),g=ae()(5).toString("base64"),y=ae()(5).toString("base64"),f=c.isOAS3(),{activeTab:S,tabs:E,onTabChange:_}=useTabs({initialTab:i,isExecute:r,schema:e,example:t});return O().createElement("div",{className:"model-example"},O().createElement("ul",{className:"tab",role:"tablist"},O().createElement("li",{className:pt()("tabitem",{active:S===E.example}),role:"presentation"},O().createElement("button",{"aria-controls":h,"aria-selected":S===E.example,className:"tablinks","data-name":"example",id:d,onClick:_,role:"tab"},r?"Edit Value":"Example Value")),e&&O().createElement("li",{className:pt()("tabitem",{active:S===E.model}),role:"presentation"},O().createElement("button",{"aria-controls":y,"aria-selected":S===E.model,className:pt()("tablinks",{inactive:r}),"data-name":"model",id:g,onClick:_,role:"tab"},f?"Schema":"Model"))),S===E.example&&O().createElement("div",{"aria-hidden":S!==E.example,"aria-labelledby":d,"data-name":"examplePanel",id:h,role:"tabpanel",tabIndex:"0"},t||O().createElement(u,null,"(no example available")),S===E.model&&O().createElement("div",{className:"model-container","aria-hidden":S===E.example,"aria-labelledby":g,"data-name":"modelPanel",id:y,role:"tabpanel",tabIndex:"0"},O().createElement(m,{schema:e,getComponent:o,getConfigs:l,specSelectors:c,expandDepth:p,specPath:a,includeReadOnly:s,includeWriteOnly:n})))};class ModelWrapper extends x.Component{onToggle=(e,t)=>{this.props.layoutActions&&this.props.layoutActions.show(this.props.fullPath,t)};render(){let{getComponent:e,getConfigs:t}=this.props;const r=e("Model");let a;return this.props.layoutSelectors&&(a=this.props.layoutSelectors.isShown(this.props.fullPath)),O().createElement("div",{className:"model-box"},O().createElement(r,Qe()({},this.props,{getConfigs:t,expanded:a,depth:1,onToggle:this.onToggle,expandDepth:this.props.expandDepth||0})))}}const ht=require("react-immutable-pure-component");var gt,yt=__webpack_require__.n(ht);function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement("svg",_extends({xmlns:"http://www.w3.org/2000/svg",width:200,height:200,className:"rolling-load_svg__lds-rolling",preserveAspectRatio:"xMidYMid",style:{backgroundImage:"none",backgroundPosition:"initial initial",backgroundRepeat:"initial initial"},viewBox:"0 0 100 100"},e),gt||(gt=x.createElement("circle",{cx:50,cy:50,r:35,fill:"none",stroke:"#555",strokeDasharray:"164.93361431346415 56.97787143782138",strokeWidth:10},x.createElement("animateTransform",{attributeName:"transform",begin:"0s",calcMode:"linear",dur:"1s",keyTimes:"0;1",repeatCount:"indefinite",type:"rotate",values:"0 50 50;360 50 50"})))),decodeRefName=e=>{const t=e.replace(/~1/g,"/").replace(/~0/g,"~");try{return decodeURIComponent(t)}catch{return t}};class Model extends(yt()){static propTypes={schema:Ue().map.isRequired,getComponent:Oe().func.isRequired,getConfigs:Oe().func.isRequired,specSelectors:Oe().object.isRequired,name:Oe().string,displayName:Oe().string,isRef:Oe().bool,required:Oe().bool,expandDepth:Oe().number,depth:Oe().number,specPath:Ue().list.isRequired,includeReadOnly:Oe().bool,includeWriteOnly:Oe().bool};getModelName=e=>-1!==e.indexOf("#/definitions/")?decodeRefName(e.replace(/^.*#\/definitions\//,"")):-1!==e.indexOf("#/components/schemas/")?decodeRefName(e.replace(/^.*#\/components\/schemas\//,"")):void 0;getRefSchema=e=>{let{specSelectors:t}=this.props;return t.findDefinition(e)};render(){let{getComponent:e,getConfigs:t,specSelectors:r,schema:a,required:n,name:s,isRef:o,specPath:l,displayName:c,includeReadOnly:i,includeWriteOnly:p}=this.props;const m=e("ObjectModel"),u=e("ArrayModel"),d=e("PrimitiveModel");let h="object",g=a&&a.get("$$ref"),y=a&&a.get("$ref");if(!s&&g&&(s=this.getModelName(g)),y){const e=this.getModelName(y),t=this.getRefSchema(e);k.Map.isMap(t)?(a=t.mergeDeep(a),g||(a=a.set("$$ref",y),g=y)):k.Map.isMap(a)&&1===a.size&&(a=null,s=y)}if(!a)return O().createElement("span",{className:"model model-title"},O().createElement("span",{className:"model-title__text"},c||s),!y&&O().createElement(rolling_load,{height:"20px",width:"20px"}));const f=r.isOAS3()&&a.get("deprecated");switch(o=void 0!==o?o:!!g,h=a&&a.get("type")||h,h){case"object":return O().createElement(m,Qe()({className:"object"},this.props,{specPath:l,getConfigs:t,schema:a,name:s,deprecated:f,isRef:o,includeReadOnly:i,includeWriteOnly:p}));case"array":return O().createElement(u,Qe()({className:"array"},this.props,{getConfigs:t,schema:a,name:s,deprecated:f,required:n,includeReadOnly:i,includeWriteOnly:p}));default:return O().createElement(d,Qe()({},this.props,{getComponent:e,getConfigs:t,schema:a,name:s,deprecated:f,required:n}))}}}class Models extends x.Component{getSchemaBasePath=()=>this.props.specSelectors.isOAS3()?["components","schemas"]:["definitions"];getCollapsedContent=()=>" ";handleToggle=(e,t)=>{const{layoutActions:r}=this.props;r.show([...this.getSchemaBasePath(),e],t),t&&this.props.specActions.requestResolvedSubtree([...this.getSchemaBasePath(),e])};onLoadModels=e=>{e&&this.props.layoutActions.readyToScroll(this.getSchemaBasePath(),e)};onLoadModel=e=>{if(e){const t=e.getAttribute("data-name");this.props.layoutActions.readyToScroll([...this.getSchemaBasePath(),t],e)}};render(){let{specSelectors:e,getComponent:t,layoutSelectors:r,layoutActions:a,getConfigs:n}=this.props,s=e.definitions(),{docExpansion:o,defaultModelsExpandDepth:l}=n();if(!s.size||l<0)return null;const c=this.getSchemaBasePath();let i=r.isShown(c,l>0&&"none"!==o);const p=e.isOAS3(),m=t("ModelWrapper"),u=t("Collapse"),d=t("ModelCollapse"),h=t("JumpToPath",!0),g=t("ArrowUpIcon"),y=t("ArrowDownIcon");return O().createElement("section",{className:i?"models is-open":"models",ref:this.onLoadModels},O().createElement("h4",null,O().createElement("button",{"aria-expanded":i,className:"models-control",onClick:()=>a.show(c,!i)},O().createElement("span",null,p?"Schemas":"Models"),i?O().createElement(g,null):O().createElement(y,null))),O().createElement(u,{isOpened:i},s.entrySeq().map((([s])=>{const o=[...c,s],i=A().List(o),p=e.specResolvedSubtree(o),u=e.specJson().getIn(o),g=k.Map.isMap(p)?p:A().Map(),y=k.Map.isMap(u)?u:A().Map(),f=g.get("title")||y.get("title")||s,S=r.isShown(o,!1);S&&0===g.size&&y.size>0&&this.props.specActions.requestResolvedSubtree(o);const E=O().createElement(m,{name:s,expandDepth:l,schema:g||A().Map(),displayName:f,fullPath:o,specPath:i,getComponent:t,specSelectors:e,getConfigs:n,layoutSelectors:r,layoutActions:a,includeReadOnly:!0,includeWriteOnly:!0}),_=O().createElement("span",{className:"model-box"},O().createElement("span",{className:"model model-title"},f));return O().createElement("div",{id:`model-${s}`,className:"model-container",key:`models-section-${s}`,"data-name":s,ref:this.onLoadModel},O().createElement("span",{className:"models-jump-to-path"},O().createElement(h,{path:i})),O().createElement(d,{classes:"model-box",collapsedContent:this.getCollapsedContent(s),onToggle:this.handleToggle,title:_,displayName:f,modelName:s,specPath:i,layoutSelectors:r,layoutActions:a,hideSelfOnExpand:!0,expanded:l>0&&S},E))})).toArray()))}}const enum_model=({value:e,getComponent:t})=>{let r=t("ModelCollapse"),a=O().createElement("span",null,"Array [ ",e.count()," ]");return O().createElement("span",{className:"prop-enum"},"Enum:",O().createElement("br",null),O().createElement(r,{collapsedContent:a},"[ ",e.map(String).join(", ")," ]"))};function isAbsoluteUrl(e){return e.match(/^(?:[a-z]+:)?\/\//i)}function buildBaseUrl(e,t){return e?isAbsoluteUrl(e)?function addProtocol(e){return e.match(/^\/\//i)?`${window.location.protocol}${e}`:e}(e):new URL(e,t).href:t}function safeBuildUrl(e,t,{selectedServer:r=""}={}){try{return function buildUrl(e,t,{selectedServer:r=""}={}){if(!e)return;if(isAbsoluteUrl(e))return e;const a=buildBaseUrl(r,t);return isAbsoluteUrl(a)?new URL(e,a).href:new URL(e,window.location.href).href}(e,t,{selectedServer:r})}catch{return}}function sanitizeUrl(e){if("string"!=typeof e||""===e.trim())return"";const t=e.trim(),r="about:blank";try{const e=`https://base${String(Math.random()).slice(2)}`,a=new URL(t,e),n=a.protocol.slice(0,-1);return["javascript","data","vbscript"].includes(n.toLowerCase())?r:a.origin===e?t.startsWith("/")?`${a.pathname}${a.search}${a.hash}`:t.startsWith("./")?`.${a.pathname}${a.search}${a.hash}`:t.startsWith("../")?`..${a.pathname}${a.search}${a.hash}`:`${a.pathname.substring(1)}${a.search}${a.hash}`:String(a)}catch{return r}}class ObjectModel extends x.Component{render(){let{schema:e,name:t,displayName:r,isRef:a,getComponent:n,getConfigs:s,depth:o,onToggle:l,expanded:c,specPath:i,...p}=this.props,{specSelectors:m,expandDepth:u,includeReadOnly:d,includeWriteOnly:h}=p;const{isOAS3:g}=m,y=o>2||2===o&&"items"!==i.last();if(!e)return null;const{showExtensions:f}=s(),S=f?getExtensions(e):(0,k.List)();let E=e.get("description"),_=e.get("properties"),v=e.get("additionalProperties"),w=e.get("title")||r||t,b=e.get("required"),C=e.filter(((e,t)=>-1!==["maxProperties","minProperties","nullable","example"].indexOf(t))),x=e.get("deprecated"),N=e.getIn(["externalDocs","url"]),A=e.getIn(["externalDocs","description"]);const I=n("JumpToPath",!0),j=n("Markdown",!0),q=n("Model"),P=n("ModelCollapse"),M=n("Property"),T=n("Link"),R=n("ModelExtensions"),JumpToPathSection=()=>O().createElement("span",{className:"model-jump-to-path"},O().createElement(I,{path:i})),J=O().createElement("span",null,O().createElement("span",null,"{"),"...",O().createElement("span",null,"}"),a?O().createElement(JumpToPathSection,null):""),$=m.isOAS3()?e.get("allOf"):null,V=m.isOAS3()?e.get("anyOf"):null,L=m.isOAS3()?e.get("oneOf"):null,D=m.isOAS3()?e.get("not"):null,U=w&&O().createElement("span",{className:"model-title"},a&&e.get("$$ref")&&O().createElement("span",{className:pt()("model-hint",{"model-hint--embedded":y})},e.get("$$ref")),O().createElement("span",{className:"model-title__text"},w));return O().createElement("span",{className:"model"},O().createElement(P,{modelName:t,title:U,onToggle:l,expanded:!!c||o<=u,collapsedContent:J},O().createElement("span",{className:"brace-open object"},"{"),a?O().createElement(JumpToPathSection,null):null,O().createElement("span",{className:"inner-object"},O().createElement("table",{className:"model"},O().createElement("tbody",null,E?O().createElement("tr",{className:"description"},O().createElement("td",null,"description:"),O().createElement("td",null,O().createElement(j,{source:E}))):null,N&&O().createElement("tr",{className:"external-docs"},O().createElement("td",null,"externalDocs:"),O().createElement("td",null,O().createElement(T,{target:"_blank",href:sanitizeUrl(N)},A||N))),x?O().createElement("tr",{className:"property"},O().createElement("td",null,"deprecated:"),O().createElement("td",null,"true")):null,_&&_.size?_.entrySeq().filter((([,e])=>(!e.get("readOnly")||d)&&(!e.get("writeOnly")||h))).map((([e,r])=>{let a=g()&&r.get("deprecated"),l=k.List.isList(b)&&b.contains(e),c=["property-row"];return a&&c.push("deprecated"),l&&c.push("required"),O().createElement("tr",{key:e,className:c.join(" ")},O().createElement("td",null,e,l&&O().createElement("span",{className:"star"},"*")),O().createElement("td",null,O().createElement(q,Qe()({key:`object-${t}-${e}_${r}`},p,{required:l,getComponent:n,specPath:i.push("properties",e),getConfigs:s,schema:r,depth:o+1}))))})).toArray():null,0===S.size?null:O().createElement(O().Fragment,null,O().createElement("tr",null,O().createElement("td",null," ")),O().createElement(R,{extensions:S,propClass:"extension"})),v&&v.size?O().createElement("tr",null,O().createElement("td",null,"< * >:"),O().createElement("td",null,O().createElement(q,Qe()({},p,{required:!1,getComponent:n,specPath:i.push("additionalProperties"),getConfigs:s,schema:v,depth:o+1})))):null,$?O().createElement("tr",null,O().createElement("td",null,"allOf ->"),O().createElement("td",null,$.map(((e,t)=>O().createElement("div",{key:t},O().createElement(q,Qe()({},p,{required:!1,getComponent:n,specPath:i.push("allOf",t),getConfigs:s,schema:e,depth:o+1}))))))):null,V?O().createElement("tr",null,O().createElement("td",null,"anyOf ->"),O().createElement("td",null,V.map(((e,t)=>O().createElement("div",{key:t},O().createElement(q,Qe()({},p,{required:!1,getComponent:n,specPath:i.push("anyOf",t),getConfigs:s,schema:e,depth:o+1}))))))):null,L?O().createElement("tr",null,O().createElement("td",null,"oneOf ->"),O().createElement("td",null,L.map(((e,t)=>O().createElement("div",{key:t},O().createElement(q,Qe()({},p,{required:!1,getComponent:n,specPath:i.push("oneOf",t),getConfigs:s,schema:e,depth:o+1}))))))):null,D?O().createElement("tr",null,O().createElement("td",null,"not ->"),O().createElement("td",null,O().createElement("div",null,O().createElement(q,Qe()({},p,{required:!1,getComponent:n,specPath:i.push("not"),getConfigs:s,schema:D,depth:o+1}))))):null))),O().createElement("span",{className:"brace-close"},"}")),C.size?C.entrySeq().map((([e,t])=>O().createElement(M,{key:`${e}-${t}`,propKey:e,propVal:t,propClass:"property"}))):null)}}class ArrayModel extends x.Component{render(){let{getComponent:e,getConfigs:t,schema:r,depth:a,expandDepth:n,name:s,displayName:o,specPath:l}=this.props,c=r.get("description"),i=r.get("items"),p=r.get("title")||o||s,m=r.filter(((e,t)=>-1===["type","items","description","$$ref","externalDocs"].indexOf(t))),u=r.getIn(["externalDocs","url"]),d=r.getIn(["externalDocs","description"]);const h=e("Markdown",!0),g=e("ModelCollapse"),y=e("Model"),f=e("Property"),S=e("Link"),E=p&&O().createElement("span",{className:"model-title"},O().createElement("span",{className:"model-title__text"},p));return O().createElement("span",{className:"model"},O().createElement(g,{title:E,expanded:a<=n,collapsedContent:"[...]"},"[",m.size?m.entrySeq().map((([e,t])=>O().createElement(f,{key:`${e}-${t}`,propKey:e,propVal:t,propClass:"property"}))):null,c?O().createElement(h,{source:c}):m.size?O().createElement("div",{className:"markdown"}):null,u&&O().createElement("div",{className:"external-docs"},O().createElement(S,{target:"_blank",href:sanitizeUrl(u)},d||u)),O().createElement("span",null,O().createElement(y,Qe()({},this.props,{getConfigs:t,specPath:l.push("items"),name:null,schema:i,required:!1,depth:a+1}))),"]"))}}const ft="property primitive";class Primitive extends x.Component{render(){let{schema:e,getComponent:t,getConfigs:r,name:a,displayName:n,depth:s,expandDepth:o}=this.props;const{showExtensions:l}=r();if(!e||!e.get)return O().createElement("div",null);let c=e.get("type"),i=e.get("format"),p=e.get("xml"),m=e.get("enum"),u=e.get("title")||n||a,d=e.get("description");const h=getExtensions(e);let g=e.filter(((e,t)=>-1===["enum","type","format","description","$$ref","externalDocs"].indexOf(t))).filterNot(((e,t)=>h.has(t))),y=e.getIn(["externalDocs","url"]),f=e.getIn(["externalDocs","description"]);const S=t("Markdown",!0),E=t("EnumModel"),_=t("Property"),v=t("ModelCollapse"),w=t("Link"),b=t("ModelExtensions"),C=u&&O().createElement("span",{className:"model-title"},O().createElement("span",{className:"model-title__text"},u));return O().createElement("span",{className:"model"},O().createElement(v,{title:C,expanded:s<=o,collapsedContent:"[...]"},O().createElement("span",{className:"prop"},a&&s>1&&O().createElement("span",{className:"prop-name"},u),O().createElement("span",{className:"prop-type"},c),i&&O().createElement("span",{className:"prop-format"},"($",i,")"),g.size?g.entrySeq().map((([e,t])=>O().createElement(_,{key:`${e}-${t}`,propKey:e,propVal:t,propClass:ft}))):null,l&&h.size>0?O().createElement(b,{extensions:h,propClass:`${ft} extension`}):null,d?O().createElement(S,{source:d}):null,y&&O().createElement("div",{className:"external-docs"},O().createElement(w,{target:"_blank",href:sanitizeUrl(y)},f||y)),p&&p.size?O().createElement("span",null,O().createElement("br",null),O().createElement("span",{className:ft},"xml:"),p.entrySeq().map((([e,t])=>O().createElement("span",{key:`${e}-${t}`,className:ft},O().createElement("br",null),"   ",e,": ",String(t)))).toArray()):null,m&&O().createElement(E,{value:m,getComponent:t}))))}}class Schemes extends O().Component{UNSAFE_componentWillMount(){let{schemes:e}=this.props;this.setScheme(e.first())}UNSAFE_componentWillReceiveProps(e){this.props.currentScheme&&e.schemes.includes(this.props.currentScheme)||this.setScheme(e.schemes.first())}onChange=e=>{this.setScheme(e.target.value)};setScheme=e=>{let{path:t,method:r,specActions:a}=this.props;a.setScheme(e,t,r)};render(){let{schemes:e,currentScheme:t}=this.props;return O().createElement("label",{htmlFor:"schemes"},O().createElement("span",{className:"schemes-title"},"Schemes"),O().createElement("select",{onChange:this.onChange,value:t,id:"schemes"},e.valueSeq().map((e=>O().createElement("option",{value:e,key:e},e))).toArray()))}}class SchemesContainer extends O().Component{render(){const{specActions:e,specSelectors:t,getComponent:r}=this.props,a=t.operationScheme(),n=t.schemes(),s=r("schemes");return n&&n.size?O().createElement(s,{currentScheme:a,schemes:n,specActions:e}):null}}const St=require("react-debounce-input");var Et=__webpack_require__.n(St);const _t={value:"",onChange:()=>{},schema:{},keyName:"",required:!1,errors:(0,k.List)()};class JsonSchemaForm extends x.Component{static defaultProps=_t;componentDidMount(){const{dispatchInitialValue:e,value:t,onChange:r}=this.props;e?r(t):!1===e&&r("")}render(){let{schema:e,errors:t,value:r,onChange:a,getComponent:n,fn:s,disabled:o}=this.props;const l=e&&e.get?e.get("format"):null,c=e&&e.get?e.get("type"):null,i=s.getSchemaObjectType(e),p=s.isFileUploadIntended(e);let getComponentSilently=e=>n(e,!1,{failSilently:!0}),m=c?getComponentSilently(l?`JsonSchema_${c}_${l}`:`JsonSchema_${c}`):n("JsonSchema_string");return p||!k.List.isList(c)||"array"!==i&&"object"!==i||(m=n("JsonSchema_object")),m||(m=n("JsonSchema_string")),O().createElement(m,Qe()({},this.props,{errors:t,fn:s,getComponent:n,value:r,onChange:a,schema:e,disabled:o}))}}class JsonSchema_string extends x.Component{static defaultProps=_t;onChange=e=>{const t=this.props.schema&&"file"===this.props.schema.get("type")?e.target.files[0]:e.target.value;this.props.onChange(t,this.props.keyName)};onEnumChange=e=>this.props.onChange(e);render(){let{getComponent:e,value:t,schema:r,errors:a,required:n,description:s,disabled:o}=this.props;const l=r&&r.get?r.get("enum"):null,c=r&&r.get?r.get("format"):null,i=r&&r.get?r.get("type"):null,p=r&&r.get?r.get("in"):null;if(t?(isImmutable(t)||"object"==typeof t)&&(t=stringify(t)):t="",a=a.toJS?a.toJS():[],l){const r=e("Select");return O().createElement(r,{className:a.length?"invalid":"",title:a.length?a:"",allowedValues:[...l],value:t,allowEmptyValue:!n,disabled:o,onChange:this.onEnumChange})}const m=o||p&&"formData"===p&&!("FormData"in window),u=e("Input");return i&&"file"===i?O().createElement(u,{type:"file",className:a.length?"invalid":"",title:a.length?a:"",onChange:this.onChange,disabled:m}):O().createElement(Et(),{type:c&&"password"===c?"password":"text",className:a.length?"invalid":"",title:a.length?a:"",value:t,minLength:0,debounceTimeout:350,placeholder:s,onChange:this.onChange,disabled:m})}}class JsonSchema_array extends x.PureComponent{static defaultProps=_t;constructor(e,t){super(e,t),this.state={value:valueOrEmptyList(e.value),schema:e.schema}}UNSAFE_componentWillReceiveProps(e){const t=valueOrEmptyList(e.value);t!==this.state.value&&this.setState({value:t}),e.schema!==this.state.schema&&this.setState({schema:e.schema})}onChange=()=>{this.props.onChange(this.state.value)};onItemChange=(e,t)=>{this.setState((({value:r})=>({value:r.set(t,e)})),this.onChange)};removeItem=e=>{this.setState((({value:t})=>({value:t.delete(e)})),this.onChange)};addItem=()=>{const{fn:e}=this.props;let t=valueOrEmptyList(this.state.value);this.setState((()=>({value:t.push(e.getSampleSchema(this.state.schema.get("items"),!1,{includeWriteOnly:!0}))})),this.onChange)};onEnumChange=e=>{this.setState((()=>({value:e})),this.onChange)};render(){let{getComponent:e,required:t,schema:r,errors:a,fn:n,disabled:s}=this.props;a=a.toJS?a.toJS():Array.isArray(a)?a:[];const o=a.filter((e=>"string"==typeof e)),l=a.filter((e=>void 0!==e.needRemove)).map((e=>e.error)),c=this.state.value,i=!!(c&&c.count&&c.count()>0),p=r.getIn(["items","enum"]),m=r.get("items"),u=n.getSchemaObjectType(m),d=n.getSchemaObjectTypeLabel(m),h=r.getIn(["items","format"]),g=r.get("items");let y,f=!1,S="file"===u||"string"===u&&"binary"===h;if(u&&h?y=e(`JsonSchema_${u}_${h}`):"boolean"!==u&&"array"!==u&&"object"!==u||(y=e(`JsonSchema_${u}`)),!k.List.isList(m?.get("type"))||"array"!==u&&"object"!==u||(y=e("JsonSchema_object")),y||S||(f=!0),p){const r=e("Select");return O().createElement(r,{className:a.length?"invalid":"",title:a.length?a:"",multiple:!0,value:c,disabled:s,allowedValues:p,allowEmptyValue:!t,onChange:this.onEnumChange})}const E=e("Button");return O().createElement("div",{className:"json-schema-array"},i?c.map(((t,r)=>{const o=(0,k.fromJS)([...a.filter((e=>e.index===r)).map((e=>e.error))]);return O().createElement("div",{key:r,className:"json-schema-form-item"},S?O().createElement(JsonSchemaArrayItemFile,{value:t,onChange:e=>this.onItemChange(e,r),disabled:s,errors:o,getComponent:e}):f?O().createElement(JsonSchemaArrayItemText,{value:t,onChange:e=>this.onItemChange(e,r),disabled:s,errors:o}):O().createElement(y,Qe()({},this.props,{value:t,onChange:e=>this.onItemChange(e,r),disabled:s,errors:o,schema:g,getComponent:e,fn:n})),s?null:O().createElement(E,{className:`btn btn-sm json-schema-form-item-remove ${l.length?"invalid":null}`,title:l.length?l:"",onClick:()=>this.removeItem(r)}," - "))})):null,s?null:O().createElement(E,{className:`btn btn-sm json-schema-form-item-add ${o.length?"invalid":null}`,title:o.length?o:"",onClick:this.addItem},"Add ",d," item"))}}class JsonSchemaArrayItemText extends x.Component{static defaultProps=_t;onChange=e=>{const t=e.target.value;this.props.onChange(t,this.props.keyName)};render(){let{value:e,errors:t,description:r,disabled:a}=this.props;return e?(isImmutable(e)||"object"==typeof e)&&(e=stringify(e)):e="",t=t.toJS?t.toJS():[],O().createElement(Et(),{type:"text",className:t.length?"invalid":"",title:t.length?t:"",value:e,minLength:0,debounceTimeout:350,placeholder:r,onChange:this.onChange,disabled:a})}}class JsonSchemaArrayItemFile extends x.Component{static defaultProps=_t;onFileChange=e=>{const t=e.target.files[0];this.props.onChange(t,this.props.keyName)};render(){let{getComponent:e,errors:t,disabled:r}=this.props;const a=e("Input"),n=r||!("FormData"in window);return O().createElement(a,{type:"file",className:t.length?"invalid":"",title:t.length?t:"",onChange:this.onFileChange,disabled:n})}}class JsonSchema_boolean extends x.Component{static defaultProps=_t;onEnumChange=e=>this.props.onChange(e);render(){let{getComponent:e,value:t,errors:r,schema:a,required:n,disabled:s}=this.props;r=r.toJS?r.toJS():[];let o=a&&a.get?a.get("enum"):null,l=!o||!n,c=!o&&["true","false"];const i=e("Select");return O().createElement(i,{className:r.length?"invalid":"",title:r.length?r:"",value:String(t),disabled:s,allowedValues:o?[...o]:c,allowEmptyValue:l,onChange:this.onEnumChange})}}const stringifyObjectErrors=e=>e.map((e=>{const t=void 0!==e.propKey?e.propKey:e.index;let r="string"==typeof e?e:"string"==typeof e.error?e.error:null;if(!t&&r)return r;let a=e.error,n=`/${e.propKey}`;for(;"object"==typeof a;){const e=void 0!==a.propKey?a.propKey:a.index;if(void 0===e)break;if(n+=`/${e}`,!a.error)break;a=a.error}return`${n}: ${a}`}));class JsonSchema_object extends x.PureComponent{constructor(){super()}static defaultProps=_t;onChange=e=>{this.props.onChange(e)};handleOnChange=e=>{const t=e.target.value;this.onChange(t)};render(){let{getComponent:e,value:t,errors:r,disabled:a}=this.props;const n=e("TextArea");return r=r.toJS?r.toJS():Array.isArray(r)?r:[],O().createElement("div",null,O().createElement(n,{className:pt()({invalid:r.length}),title:r.length?stringifyObjectErrors(r).join(", "):"",value:stringify(t),disabled:a,onChange:this.handleOnChange}))}}function valueOrEmptyList(e){return k.List.isList(e)?e:Array.isArray(e)?(0,k.fromJS)(e):(0,k.List)()}const ModelExtensions=({extensions:e,propClass:t=""})=>e.entrySeq().map((([e,r])=>{const a=immutableToJS(r)??null;return O().createElement("tr",{key:e,className:t},O().createElement("td",null,e),O().createElement("td",null,JSON.stringify(a)))})).toArray(),vt=require("lodash/isPlainObject");var wt=__webpack_require__.n(vt);const hasSchemaType=(e,t)=>{const r=k.Map.isMap(e);if(!r&&!wt()(e))return!1;const a=r?e.get("type"):e.type;return t===a||Array.isArray(t)&&t.includes(a)},getType=(e,t=new WeakSet)=>{if(null==e)return"any";if(t.has(e))return"any";t.add(e);const{type:r,items:a}=e;return Object.hasOwn(e,"items")?(()=>{if(a)return`array<${getType(a,t)}>`;return"array"})():r},getSchemaObjectTypeLabel=e=>getType(immutableToJS(e)),json_schema_5=()=>({components:{modelExample:model_example,ModelWrapper,ModelCollapse,Model,Models,EnumModel:enum_model,ObjectModel,ArrayModel,PrimitiveModel:Primitive,ModelExtensions,schemes:Schemes,SchemesContainer,...g},fn:{hasSchemaType,getSchemaObjectTypeLabel}}),bt=require("xml");var Ct=__webpack_require__.n(bt);const xt=require("randexp");var Ot=__webpack_require__.n(xt);const Nt=require("lodash/isEmpty");var kt=__webpack_require__.n(Nt);const shallowArrayEquals=e=>t=>Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every(((e,r)=>e===t[r])),list=(...e)=>e;class Cache extends Map{delete(e){const t=Array.from(this.keys()).find(shallowArrayEquals(e));return super.delete(t)}get(e){const t=Array.from(this.keys()).find(shallowArrayEquals(e));return super.get(t)}has(e){return-1!==Array.from(this.keys()).findIndex(shallowArrayEquals(e))}}const utils_memoizeN=(e,t=list)=>{const{Cache:r}=B();B().Cache=Cache;const a=B()(e,t);return B().Cache=r,a},At={string:e=>e.pattern?(e=>{try{const t=/(?<=(?"user@example.com","string_date-time":()=>(new Date).toISOString(),string_date:()=>(new Date).toISOString().substring(0,10),string_time:()=>(new Date).toISOString().substring(11),string_uuid:()=>"3fa85f64-5717-4562-b3fc-2c963f66afa6",string_hostname:()=>"example.com",string_ipv4:()=>"198.51.100.42",string_ipv6:()=>"2001:0db8:5b96:0000:0000:426f:8e17:642a",number:()=>0,number_float:()=>0,integer:()=>0,boolean:e=>"boolean"!=typeof e.default||e.default},primitive=e=>{e=objectify(e);let{type:t,format:r}=e,a=At[`${t}_${r}`]||At[t];return isFunc(a)?a(e):"Unknown Type: "+e.type},sanitizeRef=e=>deeplyStripKey(e,"$$ref",(e=>"string"==typeof e&&e.indexOf("#")>-1)),It=["maxProperties","minProperties"],jt=["minItems","maxItems"],qt=["minimum","maximum","exclusiveMinimum","exclusiveMaximum"],Pt=["minLength","maxLength"],mergeJsonSchema=(e,t,r={})=>{const a={...e};if(["example","default","enum","xml","type",...It,...jt,...qt,...Pt].forEach((e=>(e=>{void 0===a[e]&&void 0!==t[e]&&(a[e]=t[e])})(e))),void 0!==t.required&&Array.isArray(t.required)&&(void 0!==a.required&&a.required.length||(a.required=[]),t.required.forEach((e=>{a.required.includes(e)||a.required.push(e)}))),t.properties){a.properties||(a.properties={});let e=objectify(t.properties);for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]&&e[n].deprecated||e[n]&&e[n].readOnly&&!r.includeReadOnly||e[n]&&e[n].writeOnly&&!r.includeWriteOnly||a.properties[n]||(a.properties[n]=e[n],!t.required&&Array.isArray(t.required)&&-1!==t.required.indexOf(n)&&(a.required?a.required.push(n):a.required=[n])))}return t.items&&(a.items||(a.items={}),a.items=mergeJsonSchema(a.items,t.items,r)),a},sampleFromSchemaGeneric=(e,t={},r=void 0,a=!1)=>{e&&isFunc(e.toJS)&&(e=e.toJS());let n=void 0!==r||e&&void 0!==e.example||e&&void 0!==e.default;const s=!n&&e&&e.oneOf&&e.oneOf.length>0,o=!n&&e&&e.anyOf&&e.anyOf.length>0;if(!n&&(s||o)){const r=objectify(s?e.oneOf[0]:e.anyOf[0]);if(!(e=mergeJsonSchema(e,r,t)).xml&&r.xml&&(e.xml=r.xml),void 0!==e.example&&void 0!==r.example)n=!0;else if(r.properties){e.properties||(e.properties={});let a=objectify(r.properties);for(let n in a)Object.prototype.hasOwnProperty.call(a,n)&&(a[n]&&a[n].deprecated||a[n]&&a[n].readOnly&&!t.includeReadOnly||a[n]&&a[n].writeOnly&&!t.includeWriteOnly||e.properties[n]||(e.properties[n]=a[n],!r.required&&Array.isArray(r.required)&&-1!==r.required.indexOf(n)&&(e.required?e.required.push(n):e.required=[n])))}}const l={};let{xml:c,type:i,example:p,properties:m,additionalProperties:u,items:d}=e||{},{includeReadOnly:h,includeWriteOnly:g}=t;c=c||{};let y,{name:f,prefix:S,namespace:E}=c,_={};if(a&&(f=f||"notagname",y=(S?S+":":"")+f,E)){l[S?"xmlns:"+S:"xmlns"]=E}a&&(_[y]=[]);const schemaHasAny=t=>t.some((t=>Object.prototype.hasOwnProperty.call(e,t)));e&&!i&&(m||u||schemaHasAny(It)?i="object":d||schemaHasAny(jt)?i="array":schemaHasAny(qt)?(i="number",e.type="number"):n||e.enum||(i="string",e.type="string"));const handleMinMaxItems=t=>{if(null!=e?.maxItems&&(t=t.slice(0,e?.maxItems)),null!=e?.minItems){let r=0;for(;t.lengthe&&null!==e.maxProperties&&void 0!==e.maxProperties&&b>=e.maxProperties,canAddProperty=t=>!e||null===e.maxProperties||void 0===e.maxProperties||!hasExceededMaxProperties()&&(!(t=>!(e&&e.required&&e.required.length&&e.required.includes(t)))(t)||e.maxProperties-b-(()=>{if(!e||!e.required)return 0;let t=0;return a?e.required.forEach((e=>t+=void 0===_[e]?0:1)):e.required.forEach((e=>t+=void 0===_[y]?.find((t=>void 0!==t[e]))?0:1)),e.required.length-t})()>0);if(w=a?(r,n=void 0)=>{if(e&&v[r]){if(v[r].xml=v[r].xml||{},v[r].xml.attribute){const e=Array.isArray(v[r].enum)?v[r].enum[0]:void 0,t=v[r].example,a=v[r].default;return void(l[v[r].xml.name||r]=void 0!==t?t:void 0!==a?a:void 0!==e?e:primitive(v[r]))}v[r].xml.name=v[r].xml.name||r}else v[r]||!1===u||(v[r]={xml:{name:r}});let s=sampleFromSchemaGeneric(e&&v[r]||void 0,t,n,a);canAddProperty(r)&&(b++,Array.isArray(s)?_[y]=_[y].concat(s):_[y].push(s))}:(r,n)=>{if(canAddProperty(r)){if(Object.prototype.hasOwnProperty.call(e,"discriminator")&&e.discriminator&&Object.prototype.hasOwnProperty.call(e.discriminator,"mapping")&&e.discriminator.mapping&&Object.prototype.hasOwnProperty.call(e,"$$ref")&&e.$$ref&&e.discriminator.propertyName===r){for(let t in e.discriminator.mapping)if(-1!==e.$$ref.search(e.discriminator.mapping[t])){_[r]=t;break}}else _[r]=sampleFromSchemaGeneric(v[r],t,n,a);b++}},n){let n;if(n=sanitizeRef(void 0!==r?r:void 0!==p?p:e.default),!a){if("number"==typeof n&&"string"===i)return`${n}`;if("string"!=typeof n||"string"===i)return n;try{return JSON.parse(n)}catch(e){return n}}if(e||(i=Array.isArray(n)?"array":typeof n),"array"===i){if(!Array.isArray(n)){if("string"==typeof n)return n;n=[n]}const r=e?e.items:void 0;r&&(r.xml=r.xml||c||{},r.xml.name=r.xml.name||c.name);let s=n.map((e=>sampleFromSchemaGeneric(r,t,e,a)));return s=handleMinMaxItems(s),c.wrapped?(_[y]=s,kt()(l)||_[y].push({_attr:l})):_=s,_}if("object"===i){if("string"==typeof n)return n;for(let t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e&&v[t]&&v[t].readOnly&&!h||e&&v[t]&&v[t].writeOnly&&!g||(e&&v[t]&&v[t].xml&&v[t].xml.attribute?l[v[t].xml.name||t]=n[t]:w(t,n[t])));return kt()(l)||_[y].push({_attr:l}),_}return _[y]=kt()(l)?n:[{_attr:l},n],_}if("object"===i){for(let e in v)Object.prototype.hasOwnProperty.call(v,e)&&(v[e]&&v[e].deprecated||v[e]&&v[e].readOnly&&!h||v[e]&&v[e].writeOnly&&!g||w(e));if(a&&l&&_[y].push({_attr:l}),hasExceededMaxProperties())return _;if(!0===u)a?_[y].push({additionalProp:"Anything can be here"}):_.additionalProp1={},b++;else if(u){const r=objectify(u),n=sampleFromSchemaGeneric(r,t,void 0,a);if(a&&r.xml&&r.xml.name&&"notagname"!==r.xml.name)_[y].push(n);else{const t=r["x-additionalPropertiesName"]||"additionalProp",s=null!==e.minProperties&&void 0!==e.minProperties&&bsampleFromSchemaGeneric(mergeJsonSchema(e,d,t),t,void 0,a)));else if(Array.isArray(d.oneOf))r=d.oneOf.map((e=>sampleFromSchemaGeneric(mergeJsonSchema(e,d,t),t,void 0,a)));else{if(!(!a||a&&c.wrapped))return sampleFromSchemaGeneric(d,t,void 0,a);r=[sampleFromSchemaGeneric(d,t,void 0,a)]}return r=handleMinMaxItems(r),a&&c.wrapped?(_[y]=r,kt()(l)||_[y].push({_attr:l}),_):r}let C;if(e&&Array.isArray(e.enum))C=normalizeArray(e.enum)[0];else{if(!e)return;if(C=primitive(e),"number"==typeof C){let t=e.minimum;null!=t&&(e.exclusiveMinimum&&t++,C=t);let r=e.maximum;null!=r&&(e.exclusiveMaximum&&r--,C=r)}if("string"==typeof C&&(null!==e.maxLength&&void 0!==e.maxLength&&(C=C.slice(0,e.maxLength)),null!==e.minLength&&void 0!==e.minLength)){let t=0;for(;C.length(e.schema&&(e=e.schema),e.properties&&(e.type="object"),e),createXMLExample=(e,t,r)=>{const a=sampleFromSchemaGeneric(e,t,r,!0);if(a)return"string"==typeof a?a:Ct()(a,{declaration:!0,indent:"\t"})},sampleFromSchema=(e,t,r)=>sampleFromSchemaGeneric(e,t,r,!1),resolver=(e,t,r)=>[e,JSON.stringify(t),JSON.stringify(r)],Mt=utils_memoizeN(createXMLExample,resolver),Tt=utils_memoizeN(sampleFromSchema,resolver),getSchemaObjectType=e=>immutableToJS(e)?.type??"string",Rt=[{when:/json/,shouldStringifyTypes:["string"]}],Jt=["object"],get_json_sample_schema=e=>(t,r,a,n)=>{const{fn:s}=e(),o=s.memoizedSampleFromSchema(t,r,n),l=typeof o,c=Rt.reduce(((e,t)=>t.when.test(a)?[...e,...t.shouldStringifyTypes]:e),Jt);return X()(c,(e=>e===l))?JSON.stringify(o,null,2):o},get_yaml_sample_schema=e=>(t,r,a,n)=>{const{fn:s}=e(),o=s.getJsonSampleSchema(t,r,a,n);let l;try{l=qe().dump(qe().load(o),{lineWidth:-1},{schema:je.JSON_SCHEMA}),"\n"===l[l.length-1]&&(l=l.slice(0,l.length-1))}catch(e){return console.error(e),"error: could not generate yaml example"}return l.replace(/\t/g," ")},get_xml_sample_schema=e=>(t,r,a)=>{const{fn:n}=e();if(t&&!t.xml&&(t.xml={}),t&&!t.xml.name){if(!t.$$ref&&(t.type||t.items||t.properties||t.additionalProperties))return'\n\x3c!-- XML example cannot be generated; root element name is undefined --\x3e';if(t.$$ref){let e=t.$$ref.match(/\S*\/(\S+)$/);t.xml.name=e[1]}}return n.memoizedCreateXMLExample(t,r,a)},get_sample_schema=e=>(t,r="",a={},n=void 0)=>{const{fn:s}=e();return"function"==typeof t?.toJS&&(t=t.toJS()),"function"==typeof n?.toJS&&(n=n.toJS()),/xml/.test(r)?s.getXmlSampleSchema(t,a,n):/(yaml|yml)/.test(r)?s.getYamlSampleSchema(t,a,r,n):s.getJsonSampleSchema(t,a,r,n)},json_schema_5_samples=({getSystem:e})=>{const t=get_json_sample_schema(e),r=get_yaml_sample_schema(e),a=get_xml_sample_schema(e),n=get_sample_schema(e);return{fn:{jsonSchema5:{inferSchema,sampleFromSchema,sampleFromSchemaGeneric,createXMLExample,memoizedSampleFromSchema:Tt,memoizedCreateXMLExample:Mt,getJsonSampleSchema:t,getYamlSampleSchema:r,getXmlSampleSchema:a,getSampleSchema:n,mergeJsonSchema},inferSchema,sampleFromSchema,sampleFromSchemaGeneric,createXMLExample,memoizedSampleFromSchema:Tt,memoizedCreateXMLExample:Mt,getJsonSampleSchema:t,getYamlSampleSchema:r,getXmlSampleSchema:a,getSampleSchema:n,mergeJsonSchema,getSchemaObjectType}}},$t=require("lodash/constant");var Vt=__webpack_require__.n($t);const Lt=["get","put","post","delete","options","head","patch","trace"],spec_selectors_state=e=>e||(0,k.Map)(),Dt=(0,_e.createSelector)(spec_selectors_state,(e=>e.get("lastError"))),Ut=(0,_e.createSelector)(spec_selectors_state,(e=>e.get("url"))),Kt=(0,_e.createSelector)(spec_selectors_state,(e=>e.get("spec")||"")),zt=(0,_e.createSelector)(spec_selectors_state,(e=>e.get("specSource")||"not-editor")),Bt=(0,_e.createSelector)(spec_selectors_state,(e=>e.get("json",(0,k.Map)()))),Ft=(0,_e.createSelector)(Bt,(e=>e.toJS())),Wt=(0,_e.createSelector)(spec_selectors_state,(e=>e.get("resolved",(0,k.Map)()))),specResolvedSubtree=(e,t)=>e.getIn(["resolvedSubtrees",...t],void 0),mergerFn=(e,t)=>k.Map.isMap(e)&&k.Map.isMap(t)?t.get("$$ref")?t:(0,k.OrderedMap)().mergeWith(mergerFn,e,t):t,Ht=(0,_e.createSelector)(spec_selectors_state,(e=>(0,k.OrderedMap)().mergeWith(mergerFn,e.get("json"),e.get("resolvedSubtrees")))),spec=e=>Bt(e),Xt=(0,_e.createSelector)(spec,(()=>!1)),Gt=(0,_e.createSelector)(spec,(e=>returnSelfOrNewMap(e&&e.get("info")))),Yt=(0,_e.createSelector)(spec,(e=>returnSelfOrNewMap(e&&e.get("externalDocs")))),Qt=(0,_e.createSelector)(Gt,(e=>e&&e.get("version"))),Zt=(0,_e.createSelector)(Qt,(e=>/v?([0-9]*)\.([0-9]*)\.([0-9]*)/i.exec(e).slice(1))),er=(0,_e.createSelector)(Ht,(e=>e.get("paths"))),tr=Vt()(["get","put","post","delete","options","head","patch"]),rr=(0,_e.createSelector)(er,(e=>{let t=(0,k.List)();return!k.Map.isMap(e)||e.isEmpty()||e.forEach(((e,r)=>{if(!e||!e.forEach)return{};e.forEach(((e,a)=>{Lt.indexOf(a)<0||(t=t.push((0,k.fromJS)({path:r,method:a,operation:e,id:`${a}-${r}`})))}))})),t})),ar=(0,_e.createSelector)(spec,(e=>(0,k.Set)(e.get("consumes")))),nr=(0,_e.createSelector)(spec,(e=>(0,k.Set)(e.get("produces")))),sr=(0,_e.createSelector)(spec,(e=>e.get("security",(0,k.List)()))),or=(0,_e.createSelector)(spec,(e=>e.get("securityDefinitions"))),findDefinition=(e,t)=>{const r=e.getIn(["resolvedSubtrees","definitions",t],null),a=e.getIn(["json","definitions",t],null);return r||a||null},lr=(0,_e.createSelector)(spec,(e=>{const t=e.get("definitions");return k.Map.isMap(t)?t:(0,k.Map)()})),cr=(0,_e.createSelector)(spec,(e=>e.get("basePath"))),ir=(0,_e.createSelector)(spec,(e=>e.get("host"))),pr=(0,_e.createSelector)(spec,(e=>e.get("schemes",(0,k.Map)()))),mr=(0,_e.createSelector)([rr,ar,nr],((e,t,r)=>e.map((e=>e.update("operation",(e=>k.Map.isMap(e)?e.withMutations((e=>(e.get("consumes")||e.update("consumes",(e=>(0,k.Set)(e).merge(t))),e.get("produces")||e.update("produces",(e=>(0,k.Set)(e).merge(r))),e))):(0,k.Map)())))))),ur=(0,_e.createSelector)(spec,(e=>{const t=e.get("tags",(0,k.List)());return k.List.isList(t)?t.filter((e=>k.Map.isMap(e))):(0,k.List)()})),tagDetails=(e,t)=>(ur(e)||(0,k.List)()).filter(k.Map.isMap).find((e=>e.get("name")===t),(0,k.Map)()),dr=(0,_e.createSelector)(mr,ur,((e,t)=>e.reduce(((e,t)=>{let r=(0,k.Set)(t.getIn(["operation","tags"]));return r.count()<1?e.update("default",(0,k.List)(),(e=>e.push(t))):r.reduce(((e,r)=>e.update(r,(0,k.List)(),(e=>e.push(t)))),e)}),t.reduce(((e,t)=>e.set(t.get("name"),(0,k.List)())),(0,k.OrderedMap)())))),selectors_taggedOperations=e=>({getConfigs:t})=>{let{tagsSorter:r,operationsSorter:a}=t();return dr(e).sortBy(((e,t)=>t),((e,t)=>{let a="function"==typeof r?r:pe.tagsSorter[r];return a?a(e,t):null})).map(((t,r)=>{let n="function"==typeof a?a:pe.operationsSorter[a],s=n?t.sort(n):t;return(0,k.Map)({tagDetails:tagDetails(e,r),operations:s})}))},hr=(0,_e.createSelector)(spec_selectors_state,(e=>e.get("responses",(0,k.Map)()))),gr=(0,_e.createSelector)(spec_selectors_state,(e=>e.get("requests",(0,k.Map)()))),yr=(0,_e.createSelector)(spec_selectors_state,(e=>e.get("mutatedRequests",(0,k.Map)()))),responseFor=(e,t,r)=>hr(e).getIn([t,r],null),requestFor=(e,t,r)=>gr(e).getIn([t,r],null),mutatedRequestFor=(e,t,r)=>yr(e).getIn([t,r],null),allowTryItOutFor=()=>!0,parameterWithMetaByIdentity=(e,t,r)=>{const a=Ht(e).getIn(["paths",...t,"parameters"],(0,k.OrderedMap)()),n=e.getIn(["meta","paths",...t,"parameters"],(0,k.OrderedMap)());return a.map((e=>{const t=n.get(`${r.get("in")}.${r.get("name")}`),a=n.get(`${r.get("in")}.${r.get("name")}.hash-${r.hashCode()}`);return(0,k.OrderedMap)().merge(e,t,a)})).find((e=>e.get("in")===r.get("in")&&e.get("name")===r.get("name")),(0,k.OrderedMap)())},parameterInclusionSettingFor=(e,t,r,a)=>{const n=`${a}.${r}`;return e.getIn(["meta","paths",...t,"parameter_inclusions",n],!1)},parameterWithMeta=(e,t,r,a)=>{const n=Ht(e).getIn(["paths",...t,"parameters"],(0,k.OrderedMap)()).find((e=>e.get("in")===a&&e.get("name")===r),(0,k.OrderedMap)());return parameterWithMetaByIdentity(e,t,n)},operationWithMeta=(e,t,r)=>{const a=Ht(e).getIn(["paths",t,r],(0,k.OrderedMap)()),n=e.getIn(["meta","paths",t,r],(0,k.OrderedMap)()),s=a.get("parameters",(0,k.List)()).map((a=>parameterWithMetaByIdentity(e,[t,r],a)));return(0,k.OrderedMap)().merge(a,n).set("parameters",s)};function getParameter(e,t,r,a){return t=t||[],e.getIn(["meta","paths",...t,"parameters"],(0,k.fromJS)([])).find((e=>k.Map.isMap(e)&&e.get("name")===r&&e.get("in")===a))||(0,k.Map)()}const fr=(0,_e.createSelector)(spec,(e=>{const t=e.get("host");return"string"==typeof t&&t.length>0&&"/"!==t[0]}));function parameterValues(e,t,r){return t=t||[],operationWithMeta(e,...t).get("parameters",(0,k.List)()).reduce(((e,t)=>{let a=r&&"body"===t.get("in")?t.get("value_xml"):t.get("value");return k.List.isList(a)&&(a=a.filter((e=>""!==e))),e.set(paramToIdentifier(t,{allowHashes:!1}),a)}),(0,k.fromJS)({}))}function parametersIncludeIn(e,t=""){if(k.List.isList(e))return e.some((e=>k.Map.isMap(e)&&e.get("in")===t))}function parametersIncludeType(e,t=""){if(k.List.isList(e))return e.some((e=>k.Map.isMap(e)&&e.get("type")===t))}function contentTypeValues(e,t){t=t||[];let r=Ht(e).getIn(["paths",...t],(0,k.fromJS)({})),a=e.getIn(["meta","paths",...t],(0,k.fromJS)({})),n=currentProducesFor(e,t);const s=r.get("parameters")||new k.List,o=a.get("consumes_value")?a.get("consumes_value"):parametersIncludeType(s,"file")?"multipart/form-data":parametersIncludeType(s,"formData")?"application/x-www-form-urlencoded":void 0;return(0,k.fromJS)({requestContentType:o,responseContentType:n})}function currentProducesFor(e,t){t=t||[];const r=Ht(e).getIn(["paths",...t],null);if(null===r)return;const a=e.getIn(["meta","paths",...t,"produces_value"],null),n=r.getIn(["produces",0],null);return a||n||"application/json"}function producesOptionsFor(e,t){t=t||[];const r=Ht(e),a=r.getIn(["paths",...t],null);if(null===a)return;const[n]=t,s=a.get("produces",null),o=r.getIn(["paths",n,"produces"],null),l=r.getIn(["produces"],null);return s||o||l}function consumesOptionsFor(e,t){t=t||[];const r=Ht(e),a=r.getIn(["paths",...t],null);if(null===a)return;const[n]=t,s=a.get("consumes",null),o=r.getIn(["paths",n,"consumes"],null),l=r.getIn(["consumes"],null);return s||o||l}const operationScheme=(e,t,r)=>{let a=e.get("url").match(/^([a-z][a-z0-9+\-.]*):/),n=Array.isArray(a)?a[1]:null;return e.getIn(["scheme",t,r])||e.getIn(["scheme","_defaultScheme"])||n||""},canExecuteScheme=(e,t,r)=>["http","https"].indexOf(operationScheme(e,t,r))>-1,validationErrors=(e,t)=>{t=t||[];const r=e.getIn(["meta","paths",...t,"parameters"],(0,k.fromJS)([])),a=[];if(0===r.length)return a;const getErrorsWithPaths=(e,t=[])=>{const getNestedErrorsWithPaths=(e,t)=>{const r=[...t,e.get("propKey")||e.get("index")];return k.Map.isMap(e.get("error"))?getErrorsWithPaths(e.get("error"),r):{error:e.get("error"),path:r}};return k.List.isList(e)?e.map((e=>k.Map.isMap(e)?getNestedErrorsWithPaths(e,t):{error:e,path:t})):getNestedErrorsWithPaths(e,t)};return r.forEach(((e,t)=>{const r=t.split(".").slice(1,-1).join("."),n=e.get("errors");if(n&&n.count()){getErrorsWithPaths(n).forEach((({error:e,path:t})=>{a.push(((e,t,r)=>`For '${r}'${(t=t.reduce(((e,t)=>"number"==typeof t?`${e}[${t}]`:e?`${e}.${t}`:t),""))?` at path '${t}'`:""}: ${e}.`)(e,t,r))}))}})),a},validateBeforeExecute=(e,t)=>0===validationErrors(e,t).length,getOAS3RequiredRequestBodyContentType=(e,t)=>{let r={requestBody:!1,requestContentType:{}},a=e.getIn(["resolvedSubtrees","paths",...t,"requestBody"],(0,k.fromJS)([]));return a.size<1||(a.getIn(["required"])&&(r.requestBody=a.getIn(["required"])),a.getIn(["content"]).entrySeq().forEach((e=>{const t=e[0];if(e[1].getIn(["schema","required"])){const a=e[1].getIn(["schema","required"]).toJS();r.requestContentType[t]=a}}))),r},isMediaTypeSchemaPropertiesEqual=(e,t,r,a)=>{if((r||a)&&r===a)return!0;let n=e.getIn(["resolvedSubtrees","paths",...t,"requestBody","content"],(0,k.fromJS)([]));if(n.size<2||!r||!a)return!1;let s=n.getIn([r,"schema","properties"],(0,k.fromJS)([])),o=n.getIn([a,"schema","properties"],(0,k.fromJS)([]));return!!s.equals(o)};function returnSelfOrNewMap(e){return k.Map.isMap(e)?e:new k.Map}const Sr=require("lodash/isString");var Er=__webpack_require__.n(Sr);const _r=require("lodash/debounce");var vr=__webpack_require__.n(_r);const wr=require("lodash/set");var br=__webpack_require__.n(wr);const Cr=require("lodash/fp/assocPath");var xr=__webpack_require__.n(Cr);const Or="spec_update_spec",Nr="spec_update_url",kr="spec_update_json",Ar="spec_update_param",Ir="spec_update_empty_param_inclusion",jr="spec_validate_param",qr="spec_set_response",Pr="spec_set_request",Mr="spec_set_mutated_request",Tr="spec_log_request",Rr="spec_clear_response",Jr="spec_clear_request",$r="spec_clear_validate_param",Vr="spec_update_operation_meta_value",Lr="spec_update_resolved",Dr="spec_update_resolved_subtree",Ur="set_scheme",toStr=e=>Er()(e)?e:"";function updateSpec(e){const t=toStr(e).replace(/\t/g," ");if("string"==typeof e)return{type:Or,payload:t}}function updateResolved(e){return{type:Lr,payload:e}}function updateUrl(e){return{type:Nr,payload:e}}function updateJsonSpec(e){return{type:kr,payload:e}}const parseToJson=e=>({specActions:t,specSelectors:r,errActions:a})=>{let{specStr:n}=r,s=null;try{e=e||n(),a.clear({source:"parser"}),s=qe().load(e,{schema:je.JSON_SCHEMA})}catch(e){return console.error(e),a.newSpecErr({source:"parser",level:"error",message:e.reason,line:e.mark&&e.mark.line?e.mark.line+1:void 0})}return s&&"object"==typeof s?t.updateJsonSpec(s):t.updateJsonSpec({})};let Kr=!1;const resolveSpec=(e,t)=>({specActions:r,specSelectors:a,errActions:n,fn:{fetch:s,resolve:o,AST:l={}},getConfigs:c})=>{Kr||(console.warn("specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!"),Kr=!0);const{modelPropertyMacro:i,parameterMacro:p,requestInterceptor:m,responseInterceptor:u}=c();void 0===e&&(e=a.specJson()),void 0===t&&(t=a.url());let d=l.getLineNumberForPath?l.getLineNumberForPath:()=>{},h=a.specStr();return o({fetch:s,spec:e,baseDoc:String(new URL(t,document.baseURI)),modelPropertyMacro:i,parameterMacro:p,requestInterceptor:m,responseInterceptor:u}).then((({spec:e,errors:t})=>{if(n.clear({type:"thrown"}),Array.isArray(t)&&t.length>0){let e=t.map((e=>(console.error(e),e.line=e.fullPath?d(h,e.fullPath):null,e.path=e.fullPath?e.fullPath.join("."):null,e.level="error",e.type="thrown",e.source="resolver",Object.defineProperty(e,"message",{enumerable:!0,value:e.message}),e)));n.newThrownErrBatch(e)}return r.updateResolved(e)}))};let zr=[];const Br=vr()((()=>{const e=zr.reduce(((e,{path:t,system:r})=>(e.has(r)||e.set(r,[]),e.get(r).push(t),e)),new Map);zr=[],e.forEach((async(e,t)=>{if(!t)return void console.error("debResolveSubtrees: don't have a system to operate on, aborting.");if(!t.fn.resolveSubtree)return void console.error("Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing.");const{errActions:r,errSelectors:a,fn:{resolveSubtree:n,fetch:s,AST:o={}},specSelectors:l,specActions:c}=t,i=o.getLineNumberForPath??Vt()(void 0),p=l.specStr(),{modelPropertyMacro:m,parameterMacro:u,requestInterceptor:d,responseInterceptor:h}=t.getConfigs();try{const t=await e.reduce((async(e,t)=>{let{resultMap:o,specWithCurrentSubtrees:c}=await e;const{errors:g,spec:y}=await n(c,t,{baseDoc:String(new URL(l.url(),document.baseURI)),modelPropertyMacro:m,parameterMacro:u,requestInterceptor:d,responseInterceptor:h});if(a.allErrors().size&&r.clearBy((e=>"thrown"!==e.get("type")||"resolver"!==e.get("source")||!e.get("fullPath")?.every(((e,r)=>e===t[r]||void 0===t[r])))),Array.isArray(g)&&g.length>0){let e=g.map((e=>(e.line=e.fullPath?i(p,e.fullPath):null,e.path=e.fullPath?e.fullPath.join("."):null,e.level="error",e.type="thrown",e.source="resolver",Object.defineProperty(e,"message",{enumerable:!0,value:e.message}),e)));r.newThrownErrBatch(e)}return y&&l.isOAS3()&&"components"===t[0]&&"securitySchemes"===t[1]&&await Promise.all(Object.values(y).filter((e=>"openIdConnect"===e?.type)).map((async e=>{const t={url:e.openIdConnectUrl,requestInterceptor:d,responseInterceptor:h};try{const r=await s(t);r instanceof Error||r.status>=400?console.error(r.statusText+" "+t.url):e.openIdConnectData=JSON.parse(r.text)}catch(e){console.error(e)}}))),br()(o,t,y),c=xr()(t,y,c),{resultMap:o,specWithCurrentSubtrees:c}}),Promise.resolve({resultMap:(l.specResolvedSubtree([])||(0,k.Map)()).toJS(),specWithCurrentSubtrees:l.specJS()}));c.updateResolvedSubtree([],t.resultMap)}catch(e){console.error(e)}}))}),35),requestResolvedSubtree=e=>t=>{zr.find((({path:r,system:a})=>a===t&&r.toString()===e.toString()))||(zr.push({path:e,system:t}),Br())};function changeParam(e,t,r,a,n){return{type:Ar,payload:{path:e,value:a,paramName:t,paramIn:r,isXml:n}}}function changeParamByIdentity(e,t,r,a){return{type:Ar,payload:{path:e,param:t,value:r,isXml:a}}}const updateResolvedSubtree=(e,t)=>({type:Dr,payload:{path:e,value:t}}),invalidateResolvedSubtreeCache=()=>({type:Dr,payload:{path:[],value:(0,k.Map)()}}),validateParams=(e,t)=>({type:jr,payload:{pathMethod:e,isOAS3:t}}),updateEmptyParamInclusion=(e,t,r,a)=>({type:Ir,payload:{pathMethod:e,paramName:t,paramIn:r,includeEmptyValue:a}});function clearValidateParams(e){return{type:$r,payload:{pathMethod:e}}}function changeConsumesValue(e,t){return{type:Vr,payload:{path:e,value:t,key:"consumes_value"}}}function changeProducesValue(e,t){return{type:Vr,payload:{path:e,value:t,key:"produces_value"}}}const setResponse=(e,t,r)=>({payload:{path:e,method:t,res:r},type:qr}),setRequest=(e,t,r)=>({payload:{path:e,method:t,req:r},type:Pr}),setMutatedRequest=(e,t,r)=>({payload:{path:e,method:t,req:r},type:Mr}),logRequest=e=>({payload:e,type:Tr}),executeRequest=e=>({fn:t,specActions:r,specSelectors:a,getConfigs:n,oas3Selectors:s})=>{let{pathName:o,method:l,operation:c}=e,{requestInterceptor:i,responseInterceptor:p}=n(),m=c.toJS();if(c&&c.get("parameters")&&c.get("parameters").filter((e=>e&&!0===e.get("allowEmptyValue"))).forEach((t=>{if(a.parameterInclusionSettingFor([o,l],t.get("name"),t.get("in"))){e.parameters=e.parameters||{};const r=paramToValue(t,e.parameters);(!r||r&&0===r.size)&&(e.parameters[t.get("name")]="")}})),e.contextUrl=ue()(a.url()).toString(),m&&m.operationId?e.operationId=m.operationId:m&&o&&l&&(e.operationId=t.opId(m,o,l)),a.isOAS3()){const t=`${o}:${l}`;e.server=s.selectedServer(t)||s.selectedServer();const r=s.serverVariables({server:e.server,namespace:t}).toJS(),a=s.serverVariables({server:e.server}).toJS();e.serverVariables=Object.keys(r).length?r:a,e.requestContentType=s.requestContentType(o,l),e.responseContentType=s.responseContentType(o,l)||"*/*";const n=s.requestBodyValue(o,l),c=s.requestBodyInclusionSetting(o,l);n&&n.toJS?e.requestBody=n.map((e=>k.Map.isMap(e)?e.get("value"):e)).filter(((e,t)=>(Array.isArray(e)?0!==e.length:!isEmptyValue(e))||c.get(t))).toJS():e.requestBody=n}let u=Object.assign({},e);u=t.buildRequest(u),r.setRequest(e.pathName,e.method,u);e.requestInterceptor=async t=>{let a=await i.apply(void 0,[t]),n=Object.assign({},a);return r.setMutatedRequest(e.pathName,e.method,n),a},e.responseInterceptor=p;const d=Date.now();return t.execute(e).then((t=>{t.duration=Date.now()-d,r.setResponse(e.pathName,e.method,t)})).catch((t=>{"Failed to fetch"===t.message&&(t.name="",t.message='**Failed to fetch.** \n**Possible Reasons:** \n - CORS \n - Network Failure \n - URL scheme must be "http" or "https" for CORS request.'),r.setResponse(e.pathName,e.method,{error:!0,err:t})}))},actions_execute=({path:e,method:t,...r}={})=>a=>{let{fn:{fetch:n},specSelectors:s,specActions:o}=a,l=s.specJsonWithResolvedSubtrees().toJS(),c=s.operationScheme(e,t),{requestContentType:i,responseContentType:p}=s.contentTypeValues([e,t]).toJS(),m=/xml/i.test(i),u=s.parameterValues([e,t],m).toJS();return o.executeRequest({...r,fetch:n,spec:l,pathName:e,method:t,parameters:u,requestContentType:i,scheme:c,responseContentType:p})};function clearResponse(e,t){return{type:Rr,payload:{path:e,method:t}}}function clearRequest(e,t){return{type:Jr,payload:{path:e,method:t}}}function setScheme(e,t,r){return{type:Ur,payload:{scheme:e,path:t,method:r}}}const Fr={[Or]:(e,t)=>"string"==typeof t.payload?e.set("spec",t.payload):e,[Nr]:(e,t)=>e.set("url",t.payload+""),[kr]:(e,t)=>e.set("json",fromJSOrdered(t.payload)),[Lr]:(e,t)=>e.setIn(["resolved"],fromJSOrdered(t.payload)),[Dr]:(e,t)=>{const{value:r,path:a}=t.payload;return e.setIn(["resolvedSubtrees",...a],fromJSOrdered(r))},[Ar]:(e,{payload:t})=>{let{path:r,paramName:a,paramIn:n,param:s,value:o,isXml:l}=t,c=s?paramToIdentifier(s):`${n}.${a}`;const i=l?"value_xml":"value";return e.setIn(["meta","paths",...r,"parameters",c,i],(0,k.fromJS)(o))},[Ir]:(e,{payload:t})=>{let{pathMethod:r,paramName:a,paramIn:n,includeEmptyValue:s}=t;if(!a||!n)return console.warn("Warning: UPDATE_EMPTY_PARAM_INCLUSION could not generate a paramKey."),e;const o=`${n}.${a}`;return e.setIn(["meta","paths",...r,"parameter_inclusions",o],s)},[jr]:(e,{payload:{pathMethod:t,isOAS3:r}})=>{const a=Ht(e).getIn(["paths",...t]),n=parameterValues(e,t).toJS();return e.updateIn(["meta","paths",...t,"parameters"],(0,k.fromJS)({}),(s=>a.get("parameters",(0,k.List)()).reduce(((a,s)=>{const o=paramToValue(s,n),l=parameterInclusionSettingFor(e,t,s.get("name"),s.get("in")),c=((e,t,{isOAS3:r=!1,bypassRequiredCheck:a=!1}={})=>{let n=e.get("required"),{schema:s,parameterContentMediaType:o}=getParameterSchema(e,{isOAS3:r});return validateValueBySchema(t,s,n,a,o)})(s,o,{bypassRequiredCheck:l,isOAS3:r});return a.setIn([paramToIdentifier(s),"errors"],(0,k.fromJS)(c))}),s)))},[$r]:(e,{payload:{pathMethod:t}})=>e.updateIn(["meta","paths",...t,"parameters"],(0,k.fromJS)([]),(e=>e.map((e=>e.set("errors",(0,k.fromJS)([])))))),[qr]:(e,{payload:{res:t,path:r,method:a}})=>{let n;n=t.error?Object.assign({error:!0,name:t.err.name,message:t.err.message,statusCode:t.err.statusCode},t.err.response):t,n.headers=n.headers||{};let s=e.setIn(["responses",r,a],fromJSOrdered(n));return K.Blob&&n.data instanceof K.Blob&&(s=s.setIn(["responses",r,a,"text"],n.data)),s},[Pr]:(e,{payload:{req:t,path:r,method:a}})=>e.setIn(["requests",r,a],fromJSOrdered(t)),[Mr]:(e,{payload:{req:t,path:r,method:a}})=>e.setIn(["mutatedRequests",r,a],fromJSOrdered(t)),[Vr]:(e,{payload:{path:t,value:r,key:a}})=>{let n=["paths",...t],s=["meta","paths",...t];return e.getIn(["json",...n])||e.getIn(["resolved",...n])||e.getIn(["resolvedSubtrees",...n])?e.setIn([...s,a],(0,k.fromJS)(r)):e},[Rr]:(e,{payload:{path:t,method:r}})=>e.deleteIn(["responses",t,r]),[Jr]:(e,{payload:{path:t,method:r}})=>e.deleteIn(["requests",t,r]),[Ur]:(e,{payload:{scheme:t,path:r,method:a}})=>r&&a?e.setIn(["scheme",r,a],t):r||a?void 0:e.setIn(["scheme","_defaultScheme"],t)},wrap_actions_updateSpec=(e,{specActions:t})=>(...r)=>{e(...r),t.parseToJson(...r)},wrap_actions_updateJsonSpec=(e,{specActions:t})=>(...r)=>{e(...r),t.invalidateResolvedSubtreeCache();const[a]=r,n=Fe()(a,["paths"])||{};Object.keys(n).forEach((e=>{const r=Fe()(n,[e]);wt()(r)&&r.$ref&&t.requestResolvedSubtree(["paths",e])})),t.requestResolvedSubtree(["components","securitySchemes"])},wrap_actions_executeRequest=(e,{specActions:t})=>r=>(t.logRequest(r),e(r)),wrap_actions_validateParams=(e,{specSelectors:t})=>r=>e(r,t.isOAS3()),plugins_spec=()=>({statePlugins:{spec:{wrapActions:{...S},reducers:{...Fr},actions:{...f},selectors:{...y}}}}),Wr=require("swagger-client/es/resolver/strategies/generic");var Hr=__webpack_require__.n(Wr);const Xr=require("swagger-client/es/resolver/strategies/openapi-2");var Gr=__webpack_require__.n(Xr);const Yr=require("swagger-client/es/resolver/strategies/openapi-3-0");var Qr=__webpack_require__.n(Yr);const Zr=require("swagger-client/es/resolver/strategies/openapi-3-1-apidom");var ea=__webpack_require__.n(Zr);const ta=require("swagger-client/es/resolver"),ra=require("swagger-client/es/execute"),aa=require("swagger-client/es/http");var na=__webpack_require__.n(aa);const sa=require("swagger-client/es/subtree-resolver"),oa=require("swagger-client/es/helpers"),configs_wrap_actions_loaded=(e,t)=>(...r)=>{e(...r);const a=t.getConfigs().withCredentials;t.fn.fetch.withCredentials=a};function swagger_client({configs:e,getConfigs:t}){return{fn:{fetch:(0,aa.makeHttp)(na(),e.preFetch,e.postFetch),buildRequest:ra.buildRequest,execute:ra.execute,resolve:(0,ta.makeResolve)({strategies:[ea(),Qr(),Gr(),Hr()]}),resolveSubtree:async(e,r,a={})=>{const n=t(),s={modelPropertyMacro:n.modelPropertyMacro,parameterMacro:n.parameterMacro,requestInterceptor:n.requestInterceptor,responseInterceptor:n.responseInterceptor,strategies:[ea(),Qr(),Gr(),Hr()]};return(0,sa.makeResolveSubtree)(s)(e,r,a)},serializeRes:aa.serializeRes,opId:oa.opId},statePlugins:{configs:{wrapActions:{loaded:configs_wrap_actions_loaded}}}}}function util(){return{fn:{shallowEqualKeys,sanitizeUrl}}}const la=require("react-dom");var ca=__webpack_require__.n(la);const ia=require("react-redux"),pa=require("lodash/identity");var ma=__webpack_require__.n(pa);const withSystem=e=>t=>{const{fn:r}=e();class WithSystem extends x.Component{render(){return O().createElement(t,Qe()({},e(),this.props,this.context))}}return WithSystem.displayName=`WithSystem(${r.getDisplayName(t)})`,WithSystem},withRoot=(e,t)=>r=>{const{fn:a}=e();class WithRoot extends x.Component{render(){return O().createElement(ia.Provider,{store:t},O().createElement(r,Qe()({},this.props,this.context)))}}return WithRoot.displayName=`WithRoot(${a.getDisplayName(r)})`,WithRoot},withConnect=(e,t,r)=>(0,N.compose)(r?withRoot(e,r):ma(),(0,ia.connect)(((r,a)=>{const n={...a,...e()},s=t.prototype?.mapStateToProps||(e=>({state:e}));return s(r,n)})),withSystem(e))(t),handleProps=(e,t,r,a)=>{for(const n in t){const s=t[n];"function"==typeof s&&s(r[n],a[n],e())}},withMappedContainer=(e,t,r)=>(t,a)=>{const{fn:n}=e(),s=r(t,"root");class WithMappedContainer extends x.Component{constructor(t,r){super(t,r),handleProps(e,a,t,{})}UNSAFE_componentWillReceiveProps(t){handleProps(e,a,t,this.props)}render(){const e=ke()(this.props,a?Object.keys(a):[]);return O().createElement(s,e)}}return WithMappedContainer.displayName=`WithMappedContainer(${n.getDisplayName(s)})`,WithMappedContainer},render=(e,t,r,a)=>n=>{const s=r(e,t,a)("App","root"),{createRoot:o}=ca();o(n).render(O().createElement(s,null))},getComponent=(e,t,r)=>(a,n,s={})=>{if("string"!=typeof a)throw new TypeError("Need a string, to fetch a component. Was given a "+typeof a);const o=r(a);return o?n?"root"===n?withConnect(e,o,t()):withConnect(e,o):o:(s.failSilently||e().log.warn("Could not find component:",a),null)},getDisplayName=e=>e.displayName||e.name||"Component",view=({getComponents:e,getStore:t,getSystem:r})=>{const a=(n=getComponent(r,t,e),ie(n,((...e)=>JSON.stringify(e))));var n;const s=(e=>utils_memoizeN(e,((...e)=>e)))(withMappedContainer(r,0,a));return{rootInjects:{getComponent:a,makeMappedContainer:s,render:render(r,t,getComponent,e)},fn:{getDisplayName}}},view_legacy=({React:e,getSystem:t,getStore:r,getComponents:a})=>{const n={},s=parseInt(e?.version,10);return s>=16&&s<18&&(n.render=((e,t,r,a)=>n=>{const s=r(e,t,a)("App","root");ca().render(O().createElement(s,null),n)})(t,r,getComponent,a)),{rootInjects:n}};function downloadUrlPlugin(e){let{fn:t}=e;const r={download:e=>({errActions:r,specSelectors:a,specActions:n,getConfigs:s})=>{let{fetch:o}=t;const l=s();function next(t){if(t instanceof Error||t.status>=400)return n.updateLoadingStatus("failed"),r.newThrownErr(Object.assign(new Error((t.message||t.statusText)+" "+e),{source:"fetch"})),void(!t.status&&t instanceof Error&&function checkPossibleFailReasons(){try{let t;if("URL"in K?t=new URL(e):(t=document.createElement("a"),t.href=e),"https:"!==t.protocol&&"https:"===K.location.protocol){const e=Object.assign(new Error(`Possible mixed-content issue? The page was loaded over https:// but a ${t.protocol}// URL was specified. Check that you are not attempting to load mixed content.`),{source:"fetch"});return void r.newThrownErr(e)}if(t.origin!==K.location.origin){const e=Object.assign(new Error(`Possible cross-origin (CORS) issue? The URL origin (${t.origin}) does not match the page (${K.location.origin}). Check the server returns the correct 'Access-Control-Allow-*' headers.`),{source:"fetch"});r.newThrownErr(e)}}catch(e){return}}());n.updateLoadingStatus("success"),n.updateSpec(t.text),a.url()!==e&&n.updateUrl(e)}e=e||a.url(),n.updateLoadingStatus("loading"),r.clear({source:"fetch"}),o({url:e,loadSpec:!0,requestInterceptor:l.requestInterceptor||(e=>e),responseInterceptor:l.responseInterceptor||(e=>e),credentials:"same-origin",headers:{Accept:"application/json,*/*"}}).then(next,next)},updateLoadingStatus:e=>{let t=[null,"loading","failed","success","failedConfig"];return-1===t.indexOf(e)&&console.error(`Error: ${e} is not one of ${JSON.stringify(t)}`),{type:"spec_update_loading_status",payload:e}}};let a={loadingStatus:(0,_e.createSelector)((e=>e||(0,k.Map)()),(e=>e.get("loadingStatus")||null))};return{statePlugins:{spec:{actions:r,reducers:{spec_update_loading_status:(e,t)=>"string"==typeof t.payload?e.set("loadingStatus",t.payload):e},selectors:a}}}}const ua=require("react-syntax-highlighter/dist/esm/light");var da=__webpack_require__.n(ua);const ha=require("react-syntax-highlighter/dist/esm/languages/hljs/javascript");var ga=__webpack_require__.n(ha);const ya=require("react-syntax-highlighter/dist/esm/languages/hljs/json");var fa=__webpack_require__.n(ya);const Sa=require("react-syntax-highlighter/dist/esm/languages/hljs/xml");var Ea=__webpack_require__.n(Sa);const _a=require("react-syntax-highlighter/dist/esm/languages/hljs/bash");var va=__webpack_require__.n(_a);const wa=require("react-syntax-highlighter/dist/esm/languages/hljs/yaml");var ba=__webpack_require__.n(wa);const Ca=require("react-syntax-highlighter/dist/esm/languages/hljs/http");var xa=__webpack_require__.n(Ca);const Oa=require("react-syntax-highlighter/dist/esm/languages/hljs/powershell");var Na=__webpack_require__.n(Oa);const after_load=()=>{da().registerLanguage("json",fa()),da().registerLanguage("js",ga()),da().registerLanguage("xml",Ea()),da().registerLanguage("yaml",ba()),da().registerLanguage("http",xa()),da().registerLanguage("bash",va()),da().registerLanguage("powershell",Na()),da().registerLanguage("javascript",ga())},ka=require("react-syntax-highlighter/dist/esm/styles/hljs/agate");var Aa=__webpack_require__.n(ka);const Ia=require("react-syntax-highlighter/dist/esm/styles/hljs/arta");var ja=__webpack_require__.n(Ia);const qa=require("react-syntax-highlighter/dist/esm/styles/hljs/monokai");var Pa=__webpack_require__.n(qa);const Ma=require("react-syntax-highlighter/dist/esm/styles/hljs/nord");var Ta=__webpack_require__.n(Ma);const Ra=require("react-syntax-highlighter/dist/esm/styles/hljs/obsidian");var Ja=__webpack_require__.n(Ra);const $a=require("react-syntax-highlighter/dist/esm/styles/hljs/tomorrow-night");var Va=__webpack_require__.n($a);const La=require("react-syntax-highlighter/dist/esm/styles/hljs/idea");var Da=__webpack_require__.n(La);const Ua={agate:Aa(),arta:ja(),monokai:Pa(),nord:Ta(),obsidian:Ja(),"tomorrow-night":Va(),idea:Da()},Ka=Aa(),components_SyntaxHighlighter=({language:e,className:t="",getConfigs:r,syntaxHighlighting:a={},children:n=""})=>{const s=r().syntaxHighlight.theme,{styles:o,defaultStyle:l}=a,c=o?.[s]??l;return O().createElement(da(),{language:e,className:t,style:c},n)},za=require("js-file-download");var Ba=__webpack_require__.n(za);const components_HighlightCode=({fileName:e="response.txt",className:t,downloadable:r,getComponent:a,canCopy:n,language:s,children:o})=>{const l=(0,x.useRef)(null),c=a("SyntaxHighlighter",!0),handlePreventYScrollingBeyondElement=e=>{const{target:t,deltaY:r}=e,{scrollHeight:a,offsetHeight:n,scrollTop:s}=t;a>n&&(0===s&&r<0||n+s>=a&&r>0)&&e.preventDefault()};return(0,x.useEffect)((()=>{const e=Array.from(l.current.childNodes).filter((e=>!!e.nodeType&&e.classList.contains("microlight")));return e.forEach((e=>e.addEventListener("mousewheel",handlePreventYScrollingBeyondElement,{passive:!1}))),()=>{e.forEach((e=>e.removeEventListener("mousewheel",handlePreventYScrollingBeyondElement)))}}),[o,t,s]),O().createElement("div",{className:"highlight-code",ref:l},n&&O().createElement("div",{className:"copy-to-clipboard"},O().createElement(mt.CopyToClipboard,{text:o},O().createElement("button",null))),r?O().createElement("button",{className:"download-contents",onClick:()=>{Ba()(o,e)}},"Download"):null,O().createElement(c,{language:s,className:pt()(t,"microlight"),renderPlainText:({children:e,PlainTextViewer:r})=>O().createElement(r,{className:t},e)},o))},components_PlainTextViewer=({className:e="",children:t})=>O().createElement("pre",{className:pt()("microlight",e)},t),wrap_components_SyntaxHighlighter=(e,t)=>({renderPlainText:r,children:a,...n})=>{const s=t.getConfigs().syntaxHighlight.activated,o=t.getComponent("PlainTextViewer");return s||"function"!=typeof r?s?O().createElement(e,n,a):O().createElement(o,null,a):r({children:a,PlainTextViewer:o})},SyntaxHighlightingPlugin1=()=>({afterLoad:after_load,rootInjects:{syntaxHighlighting:{styles:Ua,defaultStyle:Ka}},components:{SyntaxHighlighter:components_SyntaxHighlighter,HighlightCode:components_HighlightCode,PlainTextViewer:components_PlainTextViewer}}),SyntaxHighlightingPlugin2=()=>({wrapComponents:{SyntaxHighlighter:wrap_components_SyntaxHighlighter}}),syntax_highlighting=()=>[SyntaxHighlightingPlugin1,SyntaxHighlightingPlugin2],versions_after_load=()=>{const{GIT_DIRTY:e,GIT_COMMIT:t,PACKAGE_VERSION:r,BUILD_TIME:a}={PACKAGE_VERSION:"5.30.2",GIT_COMMIT:"g55160ce6",GIT_DIRTY:!0,BUILD_TIME:"Tue, 04 Nov 2025 09:40:57 GMT"};K.versions=K.versions||{},K.versions.swaggerUI={version:r,gitRevision:t,gitDirty:e,buildTimestamp:a}},versions=()=>({afterLoad:versions_after_load}),Fa=require("lodash/zipObject");var Wa=__webpack_require__.n(Fa);const Ha=console.error,withErrorBoundary=e=>t=>{const{getComponent:r,fn:a}=e(),n=r("ErrorBoundary"),s=a.getDisplayName(t);class WithErrorBoundary extends x.Component{render(){return O().createElement(n,{targetName:s,getComponent:r,fn:a},O().createElement(t,Qe()({},this.props,this.context)))}}var o;return WithErrorBoundary.displayName=`WithErrorBoundary(${s})`,(o=t).prototype&&o.prototype.isReactComponent&&(WithErrorBoundary.prototype.mapStateToProps=t.prototype.mapStateToProps),WithErrorBoundary},fallback=({name:e})=>O().createElement("div",{className:"fallback"},"😱 ",O().createElement("i",null,"Could not render ","t"===e?"this component":e,", see the console."));class ErrorBoundary extends x.Component{static defaultProps={targetName:"this component",getComponent:()=>fallback,fn:{componentDidCatch:Ha},children:null};static getDerivedStateFromError(e){return{hasError:!0,error:e}}constructor(...e){super(...e),this.state={hasError:!1,error:null}}componentDidCatch(e,t){this.props.fn.componentDidCatch(e,t)}render(){const{getComponent:e,targetName:t,children:r}=this.props;if(this.state.hasError){const r=e("Fallback");return O().createElement(r,{name:t})}return r}}const Xa=ErrorBoundary,safe_render=({componentList:e=[],fullOverride:t=!1}={})=>({getSystem:r})=>{const a=t?e:["App","BaseLayout","VersionPragmaFilter","InfoContainer","ServersContainer","SchemesContainer","AuthorizeBtnContainer","FilterContainer","Operations","OperationContainer","parameters","responses","OperationServers","Models","ModelWrapper",...e],n=Wa()(a,Array(a.length).fill(((e,{fn:t})=>t.withErrorBoundary(e))));return{fn:{componentDidCatch:Ha,withErrorBoundary:withErrorBoundary(r)},components:{ErrorBoundary:Xa,Fallback:fallback},wrapComponents:n}};class App extends O().Component{getLayout(){const{getComponent:e,layoutSelectors:t}=this.props,r=t.current(),a=e(r,!0);return a||(()=>O().createElement("h1",null,' No layout defined for "',r,'" '))}render(){const e=this.getLayout();return O().createElement(e,null)}}const Ga=App;class AuthorizationPopup extends O().Component{close=()=>{let{authActions:e}=this.props;e.showDefinitions(!1)};render(){let{authSelectors:e,authActions:t,getComponent:r,errSelectors:a,specSelectors:n,fn:{AST:s={}}}=this.props,o=e.shownDefinitions();const l=r("auths"),c=r("CloseIcon");return O().createElement("div",{className:"dialog-ux"},O().createElement("div",{className:"backdrop-ux"}),O().createElement("div",{className:"modal-ux"},O().createElement("div",{className:"modal-dialog-ux"},O().createElement("div",{className:"modal-ux-inner"},O().createElement("div",{className:"modal-ux-header"},O().createElement("h3",null,"Available authorizations"),O().createElement("button",{type:"button",className:"close-modal",onClick:this.close},O().createElement(c,null))),O().createElement("div",{className:"modal-ux-content"},o.valueSeq().map(((o,c)=>O().createElement(l,{key:c,AST:s,definitions:o,getComponent:r,errSelectors:a,authSelectors:e,authActions:t,specSelectors:n}))))))))}}class AuthorizeBtn extends O().Component{render(){let{isAuthorized:e,showPopup:t,onClick:r,getComponent:a}=this.props;const n=a("authorizationPopup",!0),s=a("LockAuthIcon",!0),o=a("UnlockAuthIcon",!0);return O().createElement("div",{className:"auth-wrapper"},O().createElement("button",{className:e?"btn authorize locked":"btn authorize unlocked",onClick:r},O().createElement("span",null,"Authorize"),e?O().createElement(s,null):O().createElement(o,null)),t&&O().createElement(n,null))}}class AuthorizeBtnContainer extends O().Component{render(){const{authActions:e,authSelectors:t,specSelectors:r,getComponent:a}=this.props,n=r.securityDefinitions(),s=t.definitionsToAuthorize(),o=a("authorizeBtn");return n?O().createElement(o,{onClick:()=>e.showDefinitions(s),isAuthorized:!!t.authorized().size,showPopup:!!t.shownDefinitions(),getComponent:a}):null}}class AuthorizeOperationBtn extends O().Component{onClick=e=>{e.stopPropagation();let{onClick:t}=this.props;t&&t()};render(){let{isAuthorized:e,getComponent:t}=this.props;const r=t("LockAuthOperationIcon",!0),a=t("UnlockAuthOperationIcon",!0);return O().createElement("button",{className:"authorization__btn","aria-label":e?"authorization button locked":"authorization button unlocked",onClick:this.onClick},e?O().createElement(r,{className:"locked"}):O().createElement(a,{className:"unlocked"}))}}class Auths extends O().Component{constructor(e,t){super(e,t),this.state={}}onAuthChange=e=>{let{name:t}=e;this.setState({[t]:e})};submitAuth=e=>{e.preventDefault();let{authActions:t}=this.props;t.authorizeWithPersistOption(this.state)};logoutClick=e=>{e.preventDefault();let{authActions:t,definitions:r}=this.props,a=r.map(((e,t)=>t)).toArray();this.setState(a.reduce(((e,t)=>(e[t]="",e)),{})),t.logoutWithPersistOption(a)};close=e=>{e.preventDefault();let{authActions:t}=this.props;t.showDefinitions(!1)};render(){let{definitions:e,getComponent:t,authSelectors:r,errSelectors:a}=this.props;const n=t("AuthItem"),s=t("oauth2",!0),o=t("Button");let l=r.authorized(),c=e.filter(((e,t)=>!!l.get(t))),i=e.filter((e=>"oauth2"!==e.get("type"))),p=e.filter((e=>"oauth2"===e.get("type")));return O().createElement("div",{className:"auth-container"},!!i.size&&O().createElement("form",{onSubmit:this.submitAuth},i.map(((e,s)=>O().createElement(n,{key:s,schema:e,name:s,getComponent:t,onAuthChange:this.onAuthChange,authorized:l,errSelectors:a,authSelectors:r}))).toArray(),O().createElement("div",{className:"auth-btn-wrapper"},i.size===c.size?O().createElement(o,{className:"btn modal-btn auth",onClick:this.logoutClick,"aria-label":"Remove authorization"},"Logout"):O().createElement(o,{type:"submit",className:"btn modal-btn auth authorize","aria-label":"Apply credentials"},"Authorize"),O().createElement(o,{className:"btn modal-btn auth btn-done",onClick:this.close},"Close"))),p&&p.size?O().createElement("div",null,O().createElement("div",{className:"scope-def"},O().createElement("p",null,"Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes."),O().createElement("p",null,"API requires the following scopes. Select which ones you want to grant to Swagger UI.")),e.filter((e=>"oauth2"===e.get("type"))).map(((e,t)=>O().createElement("div",{key:t},O().createElement(s,{authorized:l,schema:e,name:t})))).toArray()):null)}}class auth_item_Auths extends O().Component{render(){let{schema:e,name:t,getComponent:r,onAuthChange:a,authorized:n,errSelectors:s,authSelectors:o}=this.props;const l=r("apiKeyAuth"),c=r("basicAuth");let i;const p=e.get("type");switch(p){case"apiKey":i=O().createElement(l,{key:t,schema:e,name:t,errSelectors:s,authorized:n,getComponent:r,onChange:a,authSelectors:o});break;case"basic":i=O().createElement(c,{key:t,schema:e,name:t,errSelectors:s,authorized:n,getComponent:r,onChange:a,authSelectors:o});break;default:i=O().createElement("div",{key:t},"Unknown security definition type ",p)}return O().createElement("div",{key:`${t}-jump`},i)}}class AuthError extends O().Component{render(){let{error:e}=this.props,t=e.get("level"),r=e.get("message"),a=e.get("source");return O().createElement("div",{className:"errors"},O().createElement("b",null,a," ",t),O().createElement("span",null,r))}}class ApiKeyAuth extends O().Component{constructor(e,t){super(e,t);let{name:r,schema:a}=this.props,n=this.getValue();this.state={name:r,schema:a,value:n}}getValue(){let{name:e,authorized:t}=this.props;return t&&t.getIn([e,"value"])}onChange=e=>{let{onChange:t}=this.props,r=e.target.value,a=Object.assign({},this.state,{value:r});this.setState(a),t(a)};render(){let{schema:e,getComponent:t,errSelectors:r,name:a,authSelectors:n}=this.props;const s=t("Input"),o=t("Row"),l=t("Col"),c=t("authError"),i=t("Markdown",!0),p=t("JumpToPath",!0),m=n.selectAuthPath(a);let u=this.getValue(),d=r.allErrors().filter((e=>e.get("authId")===a));return O().createElement("div",null,O().createElement("h4",null,O().createElement("code",null,a||e.get("name"))," (apiKey)",O().createElement(p,{path:m})),u&&O().createElement("h6",null,"Authorized"),O().createElement(o,null,O().createElement(i,{source:e.get("description")})),O().createElement(o,null,O().createElement("p",null,"Name: ",O().createElement("code",null,e.get("name")))),O().createElement(o,null,O().createElement("p",null,"In: ",O().createElement("code",null,e.get("in")))),O().createElement(o,null,O().createElement("label",{htmlFor:"api_key_value"},"Value:"),u?O().createElement("code",null," ****** "):O().createElement(l,null,O().createElement(s,{id:"api_key_value",type:"text",onChange:this.onChange,autoFocus:!0}))),d.valueSeq().map(((e,t)=>O().createElement(c,{error:e,key:t}))))}}class BasicAuth extends O().Component{constructor(e,t){super(e,t);let{schema:r,name:a}=this.props,n=this.getValue().username;this.state={name:a,schema:r,value:n?{username:n}:{}}}getValue(){let{authorized:e,name:t}=this.props;return e&&e.getIn([t,"value"])||{}}onChange=e=>{let{onChange:t}=this.props,{value:r,name:a}=e.target,n=this.state.value;n[a]=r,this.setState({value:n}),t(this.state)};render(){let{schema:e,getComponent:t,name:r,errSelectors:a,authSelectors:n}=this.props;const s=t("Input"),o=t("Row"),l=t("Col"),c=t("authError"),i=t("JumpToPath",!0),p=t("Markdown",!0),m=n.selectAuthPath(r);let u=this.getValue().username,d=a.allErrors().filter((e=>e.get("authId")===r));return O().createElement("div",null,O().createElement("h4",null,"Basic authorization",O().createElement(i,{path:m})),u&&O().createElement("h6",null,"Authorized"),O().createElement(o,null,O().createElement(p,{source:e.get("description")})),O().createElement(o,null,O().createElement("label",{htmlFor:"auth_username"},"Username:"),u?O().createElement("code",null," ",u," "):O().createElement(l,null,O().createElement(s,{id:"auth_username",type:"text",required:"required",name:"username",onChange:this.onChange,autoFocus:!0}))),O().createElement(o,null,O().createElement("label",{htmlFor:"auth_password"},"Password:"),u?O().createElement("code",null," ****** "):O().createElement(l,null,O().createElement(s,{id:"auth_password",autoComplete:"new-password",name:"password",type:"password",onChange:this.onChange}))),d.valueSeq().map(((e,t)=>O().createElement(c,{error:e,key:t}))))}}function Example(e){const{example:t,showValue:r,getComponent:a}=e,n=a("Markdown",!0),s=a("HighlightCode",!0);return t&&k.Map.isMap(t)?O().createElement("div",{className:"example"},t.get("description")?O().createElement("section",{className:"example__section"},O().createElement("div",{className:"example__section-header"},"Example Description"),O().createElement("p",null,O().createElement(n,{source:t.get("description")}))):null,r&&t.has("value")?O().createElement("section",{className:"example__section"},O().createElement("div",{className:"example__section-header"},"Example Value"),O().createElement(s,null,stringify(t.get("value")))):null):null}class ExamplesSelect extends O().PureComponent{static defaultProps={examples:(0,k.Map)({}),onSelect:(...e)=>console.log("DEBUG: ExamplesSelect was not given an onSelect callback",...e),currentExampleKey:null,showLabels:!0};_onSelect=(e,{isSyntheticChange:t=!1}={})=>{"function"==typeof this.props.onSelect&&this.props.onSelect(e,{isSyntheticChange:t})};_onDomSelect=e=>{if("function"==typeof this.props.onSelect){const t=e.target.selectedOptions[0].getAttribute("value");this._onSelect(t,{isSyntheticChange:!1})}};getCurrentExample=()=>{const{examples:e,currentExampleKey:t}=this.props,r=e.get(t),a=e.keySeq().first(),n=e.get(a);return r||n||(0,k.Map)({})};componentDidMount(){const{onSelect:e,examples:t}=this.props;if("function"==typeof e){const e=t.first(),r=t.keyOf(e);this._onSelect(r,{isSyntheticChange:!0})}}UNSAFE_componentWillReceiveProps(e){const{currentExampleKey:t,examples:r}=e;if(r!==this.props.examples&&!r.has(t)){const e=r.first(),t=r.keyOf(e);this._onSelect(t,{isSyntheticChange:!0})}}render(){const{examples:e,currentExampleKey:t,isValueModified:r,isModifiedValueAvailable:a,showLabels:n}=this.props;return O().createElement("div",{className:"examples-select"},n?O().createElement("span",{className:"examples-select__section-label"},"Examples: "):null,O().createElement("select",{className:"examples-select-element",onChange:this._onDomSelect,value:a&&r?"__MODIFIED__VALUE__":t||""},a?O().createElement("option",{value:"__MODIFIED__VALUE__"},"[Modified value]"):null,e.map(((e,t)=>O().createElement("option",{key:t,value:t},k.Map.isMap(e)&&e.get("summary")||t))).valueSeq()))}}const stringifyUnlessList=e=>k.List.isList(e)?e:stringify(e);class ExamplesSelectValueRetainer extends O().PureComponent{static defaultProps={userHasEditedBody:!1,examples:(0,k.Map)({}),currentNamespace:"__DEFAULT__NAMESPACE__",setRetainRequestBodyValueFlag:()=>{},onSelect:(...e)=>console.log("ExamplesSelectValueRetainer: no `onSelect` function was provided",...e),updateValue:(...e)=>console.log("ExamplesSelectValueRetainer: no `updateValue` function was provided",...e)};constructor(e){super(e);const t=this._getCurrentExampleValue();this.state={[e.currentNamespace]:(0,k.Map)({lastUserEditedValue:this.props.currentUserInputValue,lastDownstreamValue:t,isModifiedValueSelected:this.props.userHasEditedBody||this.props.currentUserInputValue!==t})}}componentWillUnmount(){this.props.setRetainRequestBodyValueFlag(!1)}_getStateForCurrentNamespace=()=>{const{currentNamespace:e}=this.props;return(this.state[e]||(0,k.Map)()).toObject()};_setStateForCurrentNamespace=e=>{const{currentNamespace:t}=this.props;return this._setStateForNamespace(t,e)};_setStateForNamespace=(e,t)=>{const r=(this.state[e]||(0,k.Map)()).mergeDeep(t);return this.setState({[e]:r})};_isCurrentUserInputSameAsExampleValue=()=>{const{currentUserInputValue:e}=this.props;return this._getCurrentExampleValue()===e};_getValueForExample=(e,t)=>{const{examples:r}=t||this.props;return stringifyUnlessList((r||(0,k.Map)({})).getIn([e,"value"]))};_getCurrentExampleValue=e=>{const{currentKey:t}=e||this.props;return this._getValueForExample(t,e||this.props)};_onExamplesSelect=(e,{isSyntheticChange:t}={},...r)=>{const{onSelect:a,updateValue:n,currentUserInputValue:s,userHasEditedBody:o}=this.props,{lastUserEditedValue:l}=this._getStateForCurrentNamespace(),c=this._getValueForExample(e);if("__MODIFIED__VALUE__"===e)return n(stringifyUnlessList(l)),this._setStateForCurrentNamespace({isModifiedValueSelected:!0});"function"==typeof a&&a(e,{isSyntheticChange:t},...r),this._setStateForCurrentNamespace({lastDownstreamValue:c,isModifiedValueSelected:t&&o||!!s&&s!==c}),t||"function"==typeof n&&n(stringifyUnlessList(c))};UNSAFE_componentWillReceiveProps(e){const{currentUserInputValue:t,examples:r,onSelect:a,userHasEditedBody:n}=e,{lastUserEditedValue:s,lastDownstreamValue:o}=this._getStateForCurrentNamespace(),l=this._getValueForExample(e.currentKey,e),c=r.filter((e=>k.Map.isMap(e)&&(e.get("value")===t||stringify(e.get("value"))===t)));if(c.size){let t;t=c.has(e.currentKey)?e.currentKey:c.keySeq().first(),a(t,{isSyntheticChange:!0})}else t!==this.props.currentUserInputValue&&t!==s&&t!==o&&(this.props.setRetainRequestBodyValueFlag(!0),this._setStateForNamespace(e.currentNamespace,{lastUserEditedValue:e.currentUserInputValue,isModifiedValueSelected:n||t!==l}))}render(){const{currentUserInputValue:e,examples:t,currentKey:r,getComponent:a,userHasEditedBody:n}=this.props,{lastDownstreamValue:s,lastUserEditedValue:o,isModifiedValueSelected:l}=this._getStateForCurrentNamespace(),c=a("ExamplesSelect");return O().createElement(c,{examples:t,currentExampleKey:r,onSelect:this._onExamplesSelect,isModifiedValueAvailable:!!o&&o!==s,isValueModified:void 0!==e&&l&&e!==this._getCurrentExampleValue()||n})}}function oauth2_authorize_authorize({auth:e,authActions:t,errActions:r,configs:a,authConfigs:n={},currentServer:s}){let{schema:o,scopes:l,name:c,clientId:i}=e,p=o.get("flow"),m=[];switch(p){case"password":return void t.authorizePassword(e);case"application":case"clientCredentials":case"client_credentials":return void t.authorizeApplication(e);case"accessCode":case"authorizationCode":case"authorization_code":m.push("response_type=code");break;case"implicit":m.push("response_type=token")}"string"==typeof i&&m.push("client_id="+encodeURIComponent(i));let u=a.oauth2RedirectUrl;if(void 0===u)return void r.newAuthErr({authId:c,source:"validation",level:"error",message:"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed."});m.push("redirect_uri="+encodeURIComponent(u));let d=[];if(Array.isArray(l)?d=l:A().List.isList(l)&&(d=l.toArray()),d.length>0){let e=n.scopeSeparator||" ";m.push("scope="+encodeURIComponent(d.join(e)))}let h=btoa(new Date);if(m.push("state="+encodeURIComponent(h)),void 0!==n.realm&&m.push("realm="+encodeURIComponent(n.realm)),("authorizationCode"===p||"authorization_code"===p||"accessCode"===p)&&n.usePkceWithAuthorizationCodeGrant){const t=function generateCodeVerifier(){return b64toB64UrlEncoded(ae()(32).toString("base64"))}(),r=function createCodeChallenge(e){return b64toB64UrlEncoded(se()("sha256").update(e).digest("base64"))}(t);m.push("code_challenge="+r),m.push("code_challenge_method=S256"),e.codeVerifier=t}let{additionalQueryStringParams:g}=n;for(let e in g)void 0!==g[e]&&m.push([e,g[e]].map(encodeURIComponent).join("="));const y=o.get("authorizationUrl");let f;f=s?ue()(sanitizeUrl(y),s,!0).toString():sanitizeUrl(y);let S,E=[f,m.join("&")].join("string"!=typeof y||y.includes("?")?"&":"?");S="implicit"===p?t.preAuthorizeImplicit:n.useBasicAuthenticationWithAccessCodeGrant?t.authorizeAccessCodeWithBasicAuthentication:t.authorizeAccessCodeWithFormParams,t.authPopup(E,{auth:e,state:h,redirectUrl:u,callback:S,errCb:r.newAuthErr})}class Oauth2 extends O().Component{constructor(e,t){super(e,t);let{name:r,schema:a,authorized:n,authSelectors:s}=this.props,o=n&&n.get(r),l=s.getConfigs()||{},c=o&&o.get("username")||"",i=o&&o.get("clientId")||l.clientId||"",p=o&&o.get("clientSecret")||l.clientSecret||"",m=o&&o.get("passwordType")||"basic",u=o&&o.get("scopes")||l.scopes||[];"string"==typeof u&&(u=u.split(l.scopeSeparator||" ")),this.state={appName:l.appName,name:r,schema:a,scopes:u,clientId:i,clientSecret:p,username:c,password:"",passwordType:m}}close=e=>{e.preventDefault();let{authActions:t}=this.props;t.showDefinitions(!1)};authorize=()=>{let{authActions:e,errActions:t,getConfigs:r,authSelectors:a,oas3Selectors:n}=this.props,s=r(),o=a.getConfigs();t.clear({authId:name,type:"auth",source:"auth"}),oauth2_authorize_authorize({auth:this.state,currentServer:n.serverEffectiveValue(n.selectedServer()),authActions:e,errActions:t,configs:s,authConfigs:o})};onScopeChange=e=>{let{target:t}=e,{checked:r}=t,a=t.dataset.value;if(r&&-1===this.state.scopes.indexOf(a)){let e=this.state.scopes.concat([a]);this.setState({scopes:e})}else!r&&this.state.scopes.indexOf(a)>-1&&this.setState({scopes:this.state.scopes.filter((e=>e!==a))})};onInputChange=e=>{let{target:{dataset:{name:t},value:r}}=e,a={[t]:r};this.setState(a)};selectScopes=e=>{e.target.dataset.all?this.setState({scopes:Array.from((this.props.schema.get("allowedScopes")||this.props.schema.get("scopes")).keys())}):this.setState({scopes:[]})};logout=e=>{e.preventDefault();let{authActions:t,errActions:r,name:a}=this.props;r.clear({authId:a,type:"auth",source:"auth"}),t.logoutWithPersistOption([a])};render(){let{schema:e,getComponent:t,authSelectors:r,errSelectors:a,name:n,specSelectors:s}=this.props;const o=t("Input"),l=t("Row"),c=t("Col"),i=t("Button"),p=t("authError"),m=t("JumpToPath",!0),u=t("Markdown",!0),d=t("InitializedInput"),{isOAS3:h}=s;let g=h()?e.get("openIdConnectUrl"):null;const y="implicit",f="password",S=h()?g?"authorization_code":"authorizationCode":"accessCode",E=h()?g?"client_credentials":"clientCredentials":"application",_=r.selectAuthPath(n);let v=!!(r.getConfigs()||{}).usePkceWithAuthorizationCodeGrant,w=e.get("flow"),b=w===S&&v?w+" with PKCE":w,C=e.get("allowedScopes")||e.get("scopes"),x=!!r.authorized().get(n),N=a.allErrors().filter((e=>e.get("authId")===n)),k=!N.filter((e=>"validation"===e.get("source"))).size,A=e.get("description");return O().createElement("div",null,O().createElement("h4",null,n," (OAuth2, ",b,") ",O().createElement(m,{path:_})),this.state.appName?O().createElement("h5",null,"Application: ",this.state.appName," "):null,A&&O().createElement(u,{source:e.get("description")}),x&&O().createElement("h6",null,"Authorized"),g&&O().createElement("p",null,"OpenID Connect URL: ",O().createElement("code",null,g)),(w===y||w===S)&&O().createElement("p",null,"Authorization URL: ",O().createElement("code",null,e.get("authorizationUrl"))),(w===f||w===S||w===E)&&O().createElement("p",null,"Token URL:",O().createElement("code",null," ",e.get("tokenUrl"))),O().createElement("p",{className:"flow"},"Flow: ",O().createElement("code",null,b)),w!==f?null:O().createElement(l,null,O().createElement(l,null,O().createElement("label",{htmlFor:"oauth_username"},"username:"),x?O().createElement("code",null," ",this.state.username," "):O().createElement(c,{tablet:10,desktop:10},O().createElement("input",{id:"oauth_username",type:"text","data-name":"username",onChange:this.onInputChange,autoFocus:!0}))),O().createElement(l,null,O().createElement("label",{htmlFor:"oauth_password"},"password:"),x?O().createElement("code",null," ****** "):O().createElement(c,{tablet:10,desktop:10},O().createElement("input",{id:"oauth_password",type:"password","data-name":"password",onChange:this.onInputChange}))),O().createElement(l,null,O().createElement("label",{htmlFor:"password_type"},"Client credentials location:"),x?O().createElement("code",null," ",this.state.passwordType," "):O().createElement(c,{tablet:10,desktop:10},O().createElement("select",{id:"password_type","data-name":"passwordType",onChange:this.onInputChange},O().createElement("option",{value:"basic"},"Authorization header"),O().createElement("option",{value:"request-body"},"Request body"))))),(w===E||w===y||w===S||w===f)&&(!x||x&&this.state.clientId)&&O().createElement(l,null,O().createElement("label",{htmlFor:`client_id_${w}`},"client_id:"),x?O().createElement("code",null," ****** "):O().createElement(c,{tablet:10,desktop:10},O().createElement(d,{id:`client_id_${w}`,type:"text",required:w===f,initialValue:this.state.clientId,"data-name":"clientId",onChange:this.onInputChange}))),(w===E||w===S||w===f)&&O().createElement(l,null,O().createElement("label",{htmlFor:`client_secret_${w}`},"client_secret:"),x?O().createElement("code",null," ****** "):O().createElement(c,{tablet:10,desktop:10},O().createElement(d,{id:`client_secret_${w}`,initialValue:this.state.clientSecret,type:"password","data-name":"clientSecret",onChange:this.onInputChange}))),!x&&C&&C.size?O().createElement("div",{className:"scopes"},O().createElement("h2",null,"Scopes:",O().createElement("a",{onClick:this.selectScopes,"data-all":!0},"select all"),O().createElement("a",{onClick:this.selectScopes},"select none")),C.map(((e,t)=>O().createElement(l,{key:t},O().createElement("div",{className:"checkbox"},O().createElement(o,{"data-value":t,id:`${t}-${w}-checkbox-${this.state.name}`,disabled:x,checked:this.state.scopes.includes(t),type:"checkbox",onChange:this.onScopeChange}),O().createElement("label",{htmlFor:`${t}-${w}-checkbox-${this.state.name}`},O().createElement("span",{className:"item"}),O().createElement("div",{className:"text"},O().createElement("p",{className:"name"},t),O().createElement("p",{className:"description"},e))))))).toArray()):null,N.valueSeq().map(((e,t)=>O().createElement(p,{error:e,key:t}))),O().createElement("div",{className:"auth-btn-wrapper"},k&&(x?O().createElement(i,{className:"btn modal-btn auth authorize",onClick:this.logout,"aria-label":"Remove authorization"},"Logout"):O().createElement(i,{className:"btn modal-btn auth authorize",onClick:this.authorize,"aria-label":"Apply given OAuth2 credentials"},"Authorize")),O().createElement(i,{className:"btn modal-btn auth btn-done",onClick:this.close},"Close")))}}class Clear extends x.Component{onClick=()=>{let{specActions:e,path:t,method:r}=this.props;e.clearResponse(t,r),e.clearRequest(t,r)};render(){return O().createElement("button",{className:"btn btn-clear opblock-control__btn",onClick:this.onClick},"Clear")}}const Headers=({headers:e})=>O().createElement("div",null,O().createElement("h5",null,"Response headers"),O().createElement("pre",{className:"microlight"},e)),Duration=({duration:e})=>O().createElement("div",null,O().createElement("h5",null,"Request duration"),O().createElement("pre",{className:"microlight"},e," ms"));class LiveResponse extends O().Component{shouldComponentUpdate(e){return this.props.response!==e.response||this.props.path!==e.path||this.props.method!==e.method||this.props.displayRequestDuration!==e.displayRequestDuration}render(){const{response:e,getComponent:t,getConfigs:r,displayRequestDuration:a,specSelectors:n,path:s,method:o}=this.props,{showMutatedRequest:l,requestSnippetsEnabled:c}=r(),i=l?n.mutatedRequestFor(s,o):n.requestFor(s,o),p=e.get("status"),m=i.get("url"),u=e.get("headers").toJS(),d=e.get("notDocumented"),h=e.get("error"),g=e.get("text"),y=e.get("duration"),f=Object.keys(u),S=u["content-type"]||u["Content-Type"],E=t("responseBody"),_=f.map((e=>{var t=Array.isArray(u[e])?u[e].join():u[e];return O().createElement("span",{className:"headerline",key:e}," ",e,": ",t," ")})),v=0!==_.length,w=t("Markdown",!0),b=t("RequestSnippets",!0),C=t("curl",!0);return O().createElement("div",null,i&&c?O().createElement(b,{request:i}):O().createElement(C,{request:i}),m&&O().createElement("div",null,O().createElement("div",{className:"request-url"},O().createElement("h4",null,"Request URL"),O().createElement("pre",{className:"microlight"},m))),O().createElement("h4",null,"Server response"),O().createElement("table",{className:"responses-table live-responses-table"},O().createElement("thead",null,O().createElement("tr",{className:"responses-header"},O().createElement("td",{className:"col_header response-col_status"},"Code"),O().createElement("td",{className:"col_header response-col_description"},"Details"))),O().createElement("tbody",null,O().createElement("tr",{className:"response"},O().createElement("td",{className:"response-col_status"},p,d?O().createElement("div",{className:"response-undocumented"},O().createElement("i",null," Undocumented ")):null),O().createElement("td",{className:"response-col_description"},h?O().createElement(w,{source:`${""!==e.get("name")?`${e.get("name")}: `:""}${e.get("message")}`}):null,g?O().createElement(E,{content:g,contentType:S,url:m,headers:u,getConfigs:r,getComponent:t}):null,v?O().createElement(Headers,{headers:_}):null,a&&y?O().createElement(Duration,{duration:y}):null)))))}}class OnlineValidatorBadge extends O().Component{constructor(e,t){super(e,t);let{getConfigs:r}=e,{validatorUrl:a}=r();this.state={url:this.getDefinitionUrl(),validatorUrl:void 0===a?"https://validator.swagger.io/validator":a}}getDefinitionUrl=()=>{let{specSelectors:e}=this.props;return new(ue())(e.url(),K.location).toString()};UNSAFE_componentWillReceiveProps(e){let{getConfigs:t}=e,{validatorUrl:r}=t();this.setState({url:this.getDefinitionUrl(),validatorUrl:void 0===r?"https://validator.swagger.io/validator":r})}render(){let{getConfigs:e}=this.props,{spec:t}=e(),r=sanitizeUrl(this.state.validatorUrl);return"object"==typeof t&&Object.keys(t).length?null:this.state.url&&requiresValidationURL(this.state.validatorUrl)&&requiresValidationURL(this.state.url)?O().createElement("span",{className:"float-right"},O().createElement("a",{target:"_blank",rel:"noopener noreferrer",href:`${r}/debug?url=${encodeURIComponent(this.state.url)}`},O().createElement(ValidatorImage,{src:`${r}?url=${encodeURIComponent(this.state.url)}`,alt:"Online validator badge"}))):null}}class ValidatorImage extends O().Component{constructor(e){super(e),this.state={loaded:!1,error:!1}}componentDidMount(){const e=new Image;e.onload=()=>{this.setState({loaded:!0})},e.onerror=()=>{this.setState({error:!0})},e.src=this.props.src}UNSAFE_componentWillReceiveProps(e){if(e.src!==this.props.src){const t=new Image;t.onload=()=>{this.setState({loaded:!0})},t.onerror=()=>{this.setState({error:!0})},t.src=e.src}}render(){return this.state.error?O().createElement("img",{alt:"Error"}):this.state.loaded?O().createElement("img",{src:this.props.src,alt:this.props.alt}):null}}class Operations extends O().Component{render(){let{specSelectors:e}=this.props;const t=e.taggedOperations();return 0===t.size?O().createElement("h3",null," No operations defined in spec!"):O().createElement("div",null,t.map(this.renderOperationTag).toArray(),t.size<1?O().createElement("h3",null," No operations defined in spec! "):null)}renderOperationTag=(e,t)=>{const{specSelectors:r,getComponent:a,oas3Selectors:n,layoutSelectors:s,layoutActions:o,getConfigs:l}=this.props,c=r.validOperationMethods(),i=a("OperationContainer",!0),p=a("OperationTag"),m=e.get("operations");return O().createElement(p,{key:"operation-"+t,tagObj:e,tag:t,oas3Selectors:n,layoutSelectors:s,layoutActions:o,getConfigs:l,getComponent:a,specUrl:r.url()},O().createElement("div",{className:"operation-tag-content"},m.map((e=>{const r=e.get("path"),a=e.get("method"),n=A().List(["paths",r,a]);return-1===c.indexOf(a)?null:O().createElement(i,{key:`${r}-${a}`,specPath:n,op:e,path:r,method:a,tag:t})})).toArray()))}}class OperationTag extends O().Component{static defaultProps={tagObj:A().fromJS({}),tag:""};render(){const{tagObj:e,tag:t,children:r,oas3Selectors:a,layoutSelectors:n,layoutActions:s,getConfigs:o,getComponent:l,specUrl:c}=this.props;let{docExpansion:i,deepLinking:p}=o();const m=l("Collapse"),u=l("Markdown",!0),d=l("DeepLink"),h=l("Link"),g=l("ArrowUpIcon"),y=l("ArrowDownIcon");let f,S=e.getIn(["tagDetails","description"],null),E=e.getIn(["tagDetails","externalDocs","description"]),_=e.getIn(["tagDetails","externalDocs","url"]);f=isFunc(a)&&isFunc(a.selectedServer)?safeBuildUrl(_,c,{selectedServer:a.selectedServer()}):_;let v=["operations-tag",t],w=n.isShown(v,"full"===i||"list"===i);return O().createElement("div",{className:w?"opblock-tag-section is-open":"opblock-tag-section"},O().createElement("h3",{onClick:()=>s.show(v,!w),className:S?"opblock-tag":"opblock-tag no-desc",id:v.map((e=>escapeDeepLinkPath(e))).join("-"),"data-tag":t,"data-is-open":w},O().createElement(d,{enabled:p,isShown:w,path:createDeepLinkPath(t),text:t}),S?O().createElement("small",null,O().createElement(u,{source:S})):O().createElement("small",null),f?O().createElement("div",{className:"info__externaldocs"},O().createElement("small",null,O().createElement(h,{href:sanitizeUrl(f),onClick:e=>e.stopPropagation(),target:"_blank"},E||f))):null,O().createElement("button",{"aria-expanded":w,className:"expand-operation",title:w?"Collapse operation":"Expand operation",onClick:()=>s.show(v,!w)},w?O().createElement(g,{className:"arrow"}):O().createElement(y,{className:"arrow"}))),O().createElement(m,{isOpened:w},r))}}class Operation extends x.PureComponent{static defaultProps={operation:null,response:null,request:null,specPath:(0,k.List)(),summary:""};render(){let{specPath:e,response:t,request:r,toggleShown:a,onTryoutClick:n,onResetClick:s,onCancelClick:o,onExecute:l,fn:c,getComponent:i,getConfigs:p,specActions:m,specSelectors:u,authActions:d,authSelectors:h,oas3Actions:g,oas3Selectors:y}=this.props,f=this.props.operation,{deprecated:S,isShown:E,path:_,method:v,op:w,tag:b,operationId:C,allowTryItOut:x,displayRequestDuration:N,tryItOutEnabled:k,executeInProgress:I}=f.toJS(),{description:j,externalDocs:q,schemes:P}=w;const M=q?safeBuildUrl(q.url,u.url(),{selectedServer:y.selectedServer()}):"";let T=f.getIn(["op"]),R=T.get("responses"),J=function getList(e,t){if(!A().Iterable.isIterable(e))return A().List();let r=e.getIn(Array.isArray(t)?t:[t]);return A().List.isList(r)?r:A().List()}(T,["parameters"]),$=u.operationScheme(_,v),V=["operations",b,C],L=getExtensions(T);const D=i("responses"),U=i("parameters"),K=i("execute"),z=i("clear"),B=i("Collapse"),F=i("Markdown",!0),W=i("schemes"),H=i("OperationServers"),X=i("OperationExt"),G=i("OperationSummary"),Y=i("Link"),{showExtensions:Q}=p();if(R&&t&&t.size>0){let e=!R.get(String(t.get("status")))&&!R.get("default");t=t.set("notDocumented",e)}let Z=[_,v];const ee=u.validationErrors([_,v]);return O().createElement("div",{className:S?"opblock opblock-deprecated":E?`opblock opblock-${v} is-open`:`opblock opblock-${v}`,id:escapeDeepLinkPath(V.join("-"))},O().createElement(G,{operationProps:f,isShown:E,toggleShown:a,getComponent:i,authActions:d,authSelectors:h,specPath:e}),O().createElement(B,{isOpened:E},O().createElement("div",{className:"opblock-body"},T&&T.size||null===T?null:O().createElement(rolling_load,{height:"32px",width:"32px",className:"opblock-loading-animation"}),S&&O().createElement("h4",{className:"opblock-title_normal"}," Warning: Deprecated"),j&&O().createElement("div",{className:"opblock-description-wrapper"},O().createElement("div",{className:"opblock-description"},O().createElement(F,{source:j}))),M?O().createElement("div",{className:"opblock-external-docs-wrapper"},O().createElement("h4",{className:"opblock-title_normal"},"Find more details"),O().createElement("div",{className:"opblock-external-docs"},q.description&&O().createElement("span",{className:"opblock-external-docs__description"},O().createElement(F,{source:q.description})),O().createElement(Y,{target:"_blank",className:"opblock-external-docs__link",href:sanitizeUrl(M)},M))):null,T&&T.size?O().createElement(U,{parameters:J,specPath:e.push("parameters"),operation:T,onChangeKey:Z,onTryoutClick:n,onResetClick:s,onCancelClick:o,tryItOutEnabled:k,allowTryItOut:x,fn:c,getComponent:i,specActions:m,specSelectors:u,pathMethod:[_,v],getConfigs:p,oas3Actions:g,oas3Selectors:y}):null,k?O().createElement(H,{getComponent:i,path:_,method:v,operationServers:T.get("servers"),pathServers:u.paths().getIn([_,"servers"]),getSelectedServer:y.selectedServer,setSelectedServer:g.setSelectedServer,setServerVariableValue:g.setServerVariableValue,getServerVariable:y.serverVariableValue,getEffectiveServerValue:y.serverEffectiveValue}):null,k&&x&&P&&P.size?O().createElement("div",{className:"opblock-schemes"},O().createElement(W,{schemes:P,path:_,method:v,specActions:m,currentScheme:$})):null,!k||!x||ee.length<=0?null:O().createElement("div",{className:"validation-errors errors-wrapper"},"Please correct the following validation errors and try again.",O().createElement("ul",null,ee.map(((e,t)=>O().createElement("li",{key:t}," ",e," "))))),O().createElement("div",{className:k&&t&&x?"btn-group":"execute-wrapper"},k&&x?O().createElement(K,{operation:T,specActions:m,specSelectors:u,oas3Selectors:y,oas3Actions:g,path:_,method:v,onExecute:l,disabled:I}):null,k&&t&&x?O().createElement(z,{specActions:m,path:_,method:v}):null),I?O().createElement("div",{className:"loading-container"},O().createElement("div",{className:"loading"})):null,R?O().createElement(D,{responses:R,request:r,tryItOutResponse:t,getComponent:i,getConfigs:p,specSelectors:u,oas3Actions:g,oas3Selectors:y,specActions:m,produces:u.producesOptionsFor([_,v]),producesValue:u.currentProducesFor([_,v]),specPath:e.push("responses"),path:_,method:v,displayRequestDuration:N,fn:c}):null,Q&&L.size?O().createElement(X,{extensions:L,getComponent:i}):null)))}}class OperationContainer extends x.PureComponent{constructor(e,t){super(e,t);const{tryItOutEnabled:r}=e.getConfigs();this.state={tryItOutEnabled:r,executeInProgress:!1}}static defaultProps={showSummary:!0,response:null,allowTryItOut:!0,displayOperationId:!1,displayRequestDuration:!1};mapStateToProps(e,t){const{op:r,layoutSelectors:a,getConfigs:n}=t,{docExpansion:s,deepLinking:o,displayOperationId:l,displayRequestDuration:c,supportedSubmitMethods:i}=n(),p=a.showSummary(),m=r.getIn(["operation","__originalOperationId"])||r.getIn(["operation","operationId"])||(0,oa.opId)(r.get("operation"),t.path,t.method)||r.get("id"),u=["operations",t.tag,m],d=i.indexOf(t.method)>=0&&(void 0===t.allowTryItOut?t.specSelectors.allowTryItOutFor(t.path,t.method):t.allowTryItOut),h=r.getIn(["operation","security"])||t.specSelectors.security();return{operationId:m,isDeepLinkingEnabled:o,showSummary:p,displayOperationId:l,displayRequestDuration:c,allowTryItOut:d,security:h,isAuthorized:t.authSelectors.isAuthorized(h),isShown:a.isShown(u,"full"===s),jumpToKey:`paths.${t.path}.${t.method}`,response:t.specSelectors.responseFor(t.path,t.method),request:t.specSelectors.requestFor(t.path,t.method)}}componentDidMount(){const{isShown:e}=this.props,t=this.getResolvedSubtree();e&&void 0===t&&this.requestResolvedSubtree()}componentDidUpdate(e){const{response:t,isShown:r}=this.props,a=this.getResolvedSubtree();t!==e.response&&this.setState({executeInProgress:!1}),r&&void 0===a&&!e.isShown&&this.requestResolvedSubtree()}toggleShown=()=>{let{layoutActions:e,tag:t,operationId:r,isShown:a}=this.props;const n=this.getResolvedSubtree();a||void 0!==n||this.requestResolvedSubtree(),e.show(["operations",t,r],!a)};onCancelClick=()=>{this.setState({tryItOutEnabled:!this.state.tryItOutEnabled})};onTryoutClick=()=>{this.setState({tryItOutEnabled:!this.state.tryItOutEnabled})};onResetClick=e=>{const t=this.props.oas3Selectors.selectDefaultRequestBodyValue(...e),r=this.props.oas3Selectors.requestContentType(...e);if("application/x-www-form-urlencoded"===r||"multipart/form-data"===r){const r=JSON.parse(t);Object.entries(r).forEach((([e,t])=>{Array.isArray(t)?r[e]=r[e].map((e=>"object"==typeof e?JSON.stringify(e,null,2):e)):"object"==typeof t&&(r[e]=JSON.stringify(r[e],null,2))})),this.props.oas3Actions.setRequestBodyValue({value:(0,k.fromJS)(r),pathMethod:e})}else this.props.oas3Actions.setRequestBodyValue({value:t,pathMethod:e})};onExecute=()=>{this.setState({executeInProgress:!0})};getResolvedSubtree=()=>{const{specSelectors:e,path:t,method:r,specPath:a}=this.props;return a?e.specResolvedSubtree(a.toJS()):e.specResolvedSubtree(["paths",t,r])};requestResolvedSubtree=()=>{const{specActions:e,path:t,method:r,specPath:a}=this.props;return a?e.requestResolvedSubtree(a.toJS()):e.requestResolvedSubtree(["paths",t,r])};render(){let{op:e,tag:t,path:r,method:a,security:n,isAuthorized:s,operationId:o,showSummary:l,isShown:c,jumpToKey:i,allowTryItOut:p,response:m,request:u,displayOperationId:d,displayRequestDuration:h,isDeepLinkingEnabled:g,specPath:y,specSelectors:f,specActions:S,getComponent:E,getConfigs:_,layoutSelectors:v,layoutActions:w,authActions:b,authSelectors:C,oas3Actions:x,oas3Selectors:N,fn:A}=this.props;const I=E("operation"),j=this.getResolvedSubtree()||(0,k.Map)(),q=(0,k.fromJS)({op:j,tag:t,path:r,summary:e.getIn(["operation","summary"])||"",deprecated:j.get("deprecated")||e.getIn(["operation","deprecated"])||!1,method:a,security:n,isAuthorized:s,operationId:o,originalOperationId:j.getIn(["operation","__originalOperationId"]),showSummary:l,isShown:c,jumpToKey:i,allowTryItOut:p,request:u,displayOperationId:d,displayRequestDuration:h,isDeepLinkingEnabled:g,executeInProgress:this.state.executeInProgress,tryItOutEnabled:this.state.tryItOutEnabled});return O().createElement(I,{operation:q,response:m,request:u,isShown:c,toggleShown:this.toggleShown,onTryoutClick:this.onTryoutClick,onResetClick:this.onResetClick,onCancelClick:this.onCancelClick,onExecute:this.onExecute,specPath:y,specActions:S,specSelectors:f,oas3Actions:x,oas3Selectors:N,layoutActions:w,layoutSelectors:v,authActions:b,authSelectors:C,getComponent:E,getConfigs:_,fn:A})}}const Ya=require("lodash/toString");var Qa=__webpack_require__.n(Ya);class OperationSummary extends x.PureComponent{static defaultProps={operationProps:null,specPath:(0,k.List)(),summary:""};render(){let{isShown:e,toggleShown:t,getComponent:r,authActions:a,authSelectors:n,operationProps:s,specPath:o}=this.props,{summary:l,isAuthorized:c,method:i,op:p,showSummary:m,path:u,operationId:d,originalOperationId:h,displayOperationId:g}=s.toJS(),{summary:y}=p,f=s.get("security");const S=r("authorizeOperationBtn",!0),E=r("OperationSummaryMethod"),_=r("OperationSummaryPath"),v=r("JumpToPath",!0),w=r("CopyToClipboardBtn",!0),b=r("ArrowUpIcon"),C=r("ArrowDownIcon"),x=f&&!!f.count(),N=x&&1===f.size&&f.first().isEmpty(),k=!x||N;return O().createElement("div",{className:`opblock-summary opblock-summary-${i}`},O().createElement("button",{"aria-expanded":e,className:"opblock-summary-control",onClick:t},O().createElement(E,{method:i}),O().createElement("div",{className:"opblock-summary-path-description-wrapper"},O().createElement(_,{getComponent:r,operationProps:s,specPath:o}),m?O().createElement("div",{className:"opblock-summary-description"},Qa()(y||l)):null),g&&(h||d)?O().createElement("span",{className:"opblock-summary-operation-id"},h||d):null),O().createElement(w,{textToCopy:`${o.get(1)}`}),k?null:O().createElement(S,{isAuthorized:c,onClick:()=>{const e=n.definitionsForRequirements(f);a.showDefinitions(e)}}),O().createElement(v,{path:o}),O().createElement("button",{"aria-label":`${i} ${u.replace(/\//g,"​/")}`,className:"opblock-control-arrow","aria-expanded":e,tabIndex:"-1",onClick:t},e?O().createElement(b,{className:"arrow"}):O().createElement(C,{className:"arrow"})))}}class OperationSummaryMethod extends x.PureComponent{static defaultProps={operationProps:null};render(){let{method:e}=this.props;return O().createElement("span",{className:"opblock-summary-method"},e.toUpperCase())}}class OperationSummaryPath extends x.PureComponent{render(){let{getComponent:e,operationProps:t}=this.props,{deprecated:r,isShown:a,path:n,tag:s,operationId:o,isDeepLinkingEnabled:l}=t.toJS();const c=n.split(/(?=\/)/g);for(let e=1;e{let r=t("OperationExtRow");return O().createElement("div",{className:"opblock-section"},O().createElement("div",{className:"opblock-section-header"},O().createElement("h4",null,"Extensions")),O().createElement("div",{className:"table-container"},O().createElement("table",null,O().createElement("thead",null,O().createElement("tr",null,O().createElement("td",{className:"col_header"},"Field"),O().createElement("td",{className:"col_header"},"Value"))),O().createElement("tbody",null,e.entrySeq().map((([e,t])=>O().createElement(r,{key:`${e}-${t}`,xKey:e,xVal:t})))))))},operation_extension_row=({xKey:e,xVal:t})=>{const r=t?t.toJS?t.toJS():t:null;return O().createElement("tr",null,O().createElement("td",null,e),O().createElement("td",null,JSON.stringify(r)))};function createHtmlReadyId(e,t="_"){return e.replace(/[^\w-]/g,t)}class Responses extends O().Component{static defaultProps={tryItOutResponse:null,produces:(0,k.fromJS)(["application/json"]),displayRequestDuration:!1};onChangeProducesWrapper=e=>this.props.specActions.changeProducesValue([this.props.path,this.props.method],e);onResponseContentTypeChange=({controlsAcceptHeader:e,value:t})=>{const{oas3Actions:r,path:a,method:n}=this.props;e&&r.setResponseContentType({value:t,path:a,method:n})};render(){let{responses:e,tryItOutResponse:t,getComponent:r,getConfigs:a,specSelectors:n,fn:s,producesValue:o,displayRequestDuration:l,specPath:c,path:i,method:p,oas3Selectors:m,oas3Actions:u}=this.props,d=function defaultStatusCode(e){let t=e.keySeq();return t.contains(ce)?ce:t.filter((e=>"2"===(e+"")[0])).sort().first()}(e);const h=r("contentType"),g=r("liveResponse"),y=r("response");let f=this.props.produces&&this.props.produces.size?this.props.produces:Responses.defaultProps.produces;const S=n.isOAS3()?function getAcceptControllingResponse(e){if(!A().OrderedMap.isOrderedMap(e))return null;if(!e.size)return null;const t=e.find(((e,t)=>t.startsWith("2")&&Object.keys(e.get("content")||{}).length>0)),r=e.get("default")||A().OrderedMap(),a=(r.get("content")||A().OrderedMap()).keySeq().toJS().length?r:null;return t||a}(e):null,E=e.filter(((e,t)=>!isExtension(t))),_=createHtmlReadyId(`${p}${i}_responses`),v=`${_}_select`;return E&&E.size?O().createElement("div",{className:"responses-wrapper"},O().createElement("div",{className:"opblock-section-header"},O().createElement("h4",null,"Responses"),n.isOAS3()?null:O().createElement("label",{htmlFor:v},O().createElement("span",null,"Response content type"),O().createElement(h,{value:o,ariaControls:_,ariaLabel:"Response content type",className:"execute-content-type",contentTypes:f,controlId:v,onChange:this.onChangeProducesWrapper}))),O().createElement("div",{className:"responses-inner"},t?O().createElement("div",null,O().createElement(g,{response:t,getComponent:r,getConfigs:a,specSelectors:n,path:this.props.path,method:this.props.method,displayRequestDuration:l}),O().createElement("h4",null,"Responses")):null,O().createElement("table",{"aria-live":"polite",className:"responses-table",id:_,role:"region"},O().createElement("thead",null,O().createElement("tr",{className:"responses-header"},O().createElement("td",{className:"col_header response-col_status"},"Code"),O().createElement("td",{className:"col_header response-col_description"},"Description"),n.isOAS3()?O().createElement("td",{className:"col col_header response-col_links"},"Links"):null)),O().createElement("tbody",null,E.entrySeq().map((([e,l])=>{let h=t&&t.get("status")==e?"response_current":"";return O().createElement(y,{key:e,path:i,method:p,specPath:c.push(e),isDefault:d===e,fn:s,className:h,code:e,response:l,specSelectors:n,controlsAcceptHeader:l===S,onContentTypeChange:this.onResponseContentTypeChange,contentType:o,getConfigs:a,activeExamplesKey:m.activeExamplesMember(i,p,"responses",e),oas3Actions:u,getComponent:r})})).toArray())))):null}}function getKnownSyntaxHighlighterLanguage(e){return function canJsonParse(e){try{return!!JSON.parse(e)}catch(e){return null}}(e)?"json":null}class Response extends O().Component{constructor(e,t){super(e,t),this.state={responseContentType:""}}static defaultProps={response:(0,k.fromJS)({}),onContentTypeChange:()=>{}};_onContentTypeChange=e=>{const{onContentTypeChange:t,controlsAcceptHeader:r}=this.props;this.setState({responseContentType:e}),t({value:e,controlsAcceptHeader:r})};getTargetExamplesKey=()=>{const{response:e,contentType:t,activeExamplesKey:r}=this.props,a=this.state.responseContentType||t,n=e.getIn(["content",a],(0,k.Map)({})).get("examples",null).keySeq().first();return r||n};render(){let{path:e,method:t,code:r,response:a,className:n,specPath:s,fn:o,getComponent:l,getConfigs:c,specSelectors:i,contentType:p,controlsAcceptHeader:m,oas3Actions:u}=this.props,{inferSchema:d,getSampleSchema:h}=o,g=i.isOAS3();const{showExtensions:y}=c();let f=y?getExtensions(a):null,S=a.get("headers"),E=a.get("links");const _=l("ResponseExtension"),v=l("headers"),w=l("HighlightCode",!0),b=l("modelExample"),C=l("Markdown",!0),x=l("operationLink"),N=l("contentType"),A=l("ExamplesSelect"),I=l("Example");var j,q;const P=this.state.responseContentType||p,M=a.getIn(["content",P],(0,k.Map)({})),T=M.get("examples",null);if(g){const e=M.get("schema");j=e?d(e.toJS()):null,q=e?s.push("content",this.state.responseContentType,"schema"):s}else j=a.get("schema"),q=a.has("schema")?s.push("schema"):s;let R,J,$=!1,V={includeReadOnly:!0};if(g)if(J=M.get("schema")?.toJS(),k.Map.isMap(T)&&!T.isEmpty()){const e=this.getTargetExamplesKey(),getMediaTypeExample=e=>k.Map.isMap(e)?e.get("value"):void 0;R=getMediaTypeExample(T.get(e,(0,k.Map)({}))),void 0===R&&(R=getMediaTypeExample(T.values().next().value)),$=!0}else void 0!==M.get("example")&&(R=M.get("example"),$=!0);else{J=j,V={...V,includeWriteOnly:!0};const e=a.getIn(["examples",P]);e&&(R=e,$=!0)}const L=((e,t)=>{if(null==e)return null;const r=getKnownSyntaxHighlighterLanguage(e)?"json":null;return O().createElement("div",null,O().createElement(t,{className:"example",language:r},stringify(e)))})(h(J,P,V,$?R:void 0),w);return O().createElement("tr",{className:"response "+(n||""),"data-code":r},O().createElement("td",{className:"response-col_status"},r),O().createElement("td",{className:"response-col_description"},O().createElement("div",{className:"response-col_description__inner"},O().createElement(C,{source:a.get("description")})),y&&f.size?f.entrySeq().map((([e,t])=>O().createElement(_,{key:`${e}-${t}`,xKey:e,xVal:t}))):null,g&&a.get("content")?O().createElement("section",{className:"response-controls"},O().createElement("div",{className:pt()("response-control-media-type",{"response-control-media-type--accept-controller":m})},O().createElement("small",{className:"response-control-media-type__title"},"Media type"),O().createElement(N,{value:this.state.responseContentType,contentTypes:a.get("content")?a.get("content").keySeq():(0,k.Seq)(),onChange:this._onContentTypeChange,ariaLabel:"Media Type"}),m?O().createElement("small",{className:"response-control-media-type__accept-message"},"Controls ",O().createElement("code",null,"Accept")," header."):null),k.Map.isMap(T)&&!T.isEmpty()?O().createElement("div",{className:"response-control-examples"},O().createElement("small",{className:"response-control-examples__title"},"Examples"),O().createElement(A,{examples:T,currentExampleKey:this.getTargetExamplesKey(),onSelect:a=>u.setActiveExamplesMember({name:a,pathMethod:[e,t],contextType:"responses",contextName:r}),showLabels:!1})):null):null,L||j?O().createElement(b,{specPath:q,getComponent:l,getConfigs:c,specSelectors:i,schema:fromJSOrdered(j),example:L,includeReadOnly:!0}):null,g&&T?O().createElement(I,{example:T.get(this.getTargetExamplesKey(),(0,k.Map)({})),getComponent:l,getConfigs:c,omitValue:!0}):null,S?O().createElement(v,{headers:S,getComponent:l}):null),g?O().createElement("td",{className:"response-col_links"},E?E.toSeq().entrySeq().map((([e,t])=>O().createElement(x,{key:e,name:e,link:t,getComponent:l}))):O().createElement("i",null,"No links")):null)}}const response_extension=({xKey:e,xVal:t})=>O().createElement("div",{className:"response__extension"},e,": ",String(t)),Za=require("xml-but-prettier");var en=__webpack_require__.n(Za);const tn=require("lodash/toLower");var rn=__webpack_require__.n(tn);class ResponseBody extends O().PureComponent{state={parsedContent:null};updateParsedContent=e=>{const{content:t}=this.props;if(e!==t)if(t&&t instanceof Blob){var r=new FileReader;r.onload=()=>{this.setState({parsedContent:r.result})},r.readAsText(t)}else this.setState({parsedContent:t.toString()})};componentDidMount(){this.updateParsedContent(null)}componentDidUpdate(e){this.updateParsedContent(e.content)}render(){let{content:e,contentType:t,url:r,headers:a={},getComponent:n}=this.props;const{parsedContent:s}=this.state,o=n("HighlightCode",!0),l="response_"+(new Date).getTime();let c,i;if(r=r||"",(/^application\/octet-stream/i.test(t)||a["Content-Disposition"]&&/attachment/i.test(a["Content-Disposition"])||a["content-disposition"]&&/attachment/i.test(a["content-disposition"])||a["Content-Description"]&&/File Transfer/i.test(a["Content-Description"])||a["content-description"]&&/File Transfer/i.test(a["content-description"]))&&(e.size>0||e.length>0))if("Blob"in window){let n=t||"text/html",s=e instanceof Blob?e:new Blob([e],{type:n}),o=window.URL.createObjectURL(s),l=[n,r.substr(r.lastIndexOf("/")+1),o].join(":"),c=a["content-disposition"]||a["Content-Disposition"];if(void 0!==c){let e=function extractFileNameFromContentDispositionHeader(e){let t;if([/filename\*=[^']+'\w*'"([^"]+)";?/i,/filename\*=[^']+'\w*'([^;]+);?/i,/filename="([^;]*);?"/i,/filename=([^;]*);?/i].some((r=>(t=r.exec(e),null!==t))),null!==t&&t.length>1)try{return decodeURIComponent(t[1])}catch(e){console.error(e)}return null}(c);null!==e&&(l=e)}i=K.navigator&&K.navigator.msSaveOrOpenBlob?O().createElement("div",null,O().createElement("a",{href:o,onClick:()=>K.navigator.msSaveOrOpenBlob(s,l)},"Download file")):O().createElement("div",null,O().createElement("a",{href:o,download:l},"Download file"))}else i=O().createElement("pre",{className:"microlight"},"Download headers detected but your browser does not support downloading binary via XHR (Blob).");else if(/json/i.test(t)){let t=null;getKnownSyntaxHighlighterLanguage(e)&&(t="json");try{c=JSON.stringify(JSON.parse(e),null," ")}catch(t){c="can't parse JSON. Raw result:\n\n"+e}i=O().createElement(o,{language:t,downloadable:!0,fileName:`${l}.json`,canCopy:!0},c)}else/xml/i.test(t)?(c=en()(e,{textNodesOnSameLine:!0,indentor:" "}),i=O().createElement(o,{downloadable:!0,fileName:`${l}.xml`,canCopy:!0},c)):i="text/html"===rn()(t)||/text\/plain/.test(t)?O().createElement(o,{downloadable:!0,fileName:`${l}.html`,canCopy:!0},e):"text/csv"===rn()(t)||/text\/csv/.test(t)?O().createElement(o,{downloadable:!0,fileName:`${l}.csv`,canCopy:!0},e):/^image\//i.test(t)?t.includes("svg")?O().createElement("div",null," ",e," "):O().createElement("img",{src:window.URL.createObjectURL(e)}):/^audio\//i.test(t)?O().createElement("pre",{className:"microlight"},O().createElement("audio",{controls:!0,key:r},O().createElement("source",{src:r,type:t}))):"string"==typeof e?O().createElement(o,{downloadable:!0,fileName:`${l}.txt`,canCopy:!0},e):e.size>0?s?O().createElement("div",null,O().createElement("p",{className:"i"},"Unrecognized response type; displaying content as text."),O().createElement(o,{downloadable:!0,fileName:`${l}.txt`,canCopy:!0},s)):O().createElement("p",{className:"i"},"Unrecognized response type; unable to display."):null;return i?O().createElement("div",null,O().createElement("h5",null,"Response body"),i):null}}class Parameters extends x.Component{constructor(e){super(e),this.state={callbackVisible:!1,parametersVisible:!0}}static defaultProps={onTryoutClick:Function.prototype,onCancelClick:Function.prototype,tryItOutEnabled:!1,allowTryItOut:!0,onChangeKey:[],specPath:[]};onChange=(e,t,r)=>{let{specActions:{changeParamByIdentity:a},onChangeKey:n}=this.props;a(n,e,t,r)};onChangeConsumesWrapper=e=>{let{specActions:{changeConsumesValue:t},onChangeKey:r}=this.props;t(r,e)};toggleTab=e=>"parameters"===e?this.setState({parametersVisible:!0,callbackVisible:!1}):"callbacks"===e?this.setState({callbackVisible:!0,parametersVisible:!1}):void 0;onChangeMediaType=({value:e,pathMethod:t})=>{let{specActions:r,oas3Selectors:a,oas3Actions:n}=this.props;const s=a.hasUserEditedBody(...t),o=a.shouldRetainRequestBodyValue(...t);n.setRequestContentType({value:e,pathMethod:t}),n.initRequestBodyValidateError({pathMethod:t}),s||(o||n.setRequestBodyValue({value:void 0,pathMethod:t}),r.clearResponse(...t),r.clearRequest(...t),r.clearValidateParams(t))};render(){let{onTryoutClick:e,onResetClick:t,parameters:r,allowTryItOut:a,tryItOutEnabled:n,specPath:s,fn:o,getComponent:l,getConfigs:c,specSelectors:i,specActions:p,pathMethod:m,oas3Actions:u,oas3Selectors:d,operation:h}=this.props;const g=l("parameterRow"),y=l("TryItOutButton"),f=l("contentType"),S=l("Callbacks",!0),E=l("RequestBody",!0),_=n&&a,v=i.isOAS3(),w=`${createHtmlReadyId(`${m[1]}${m[0]}_requests`)}_select`,b=h.get("requestBody"),C=Object.values(r.reduce(((e,t)=>{if(k.Map.isMap(t)){const r=t.get("in");e[r]??=[],e[r].push(t)}return e}),{})).reduce(((e,t)=>e.concat(t)),[]);return O().createElement("div",{className:"opblock-section"},O().createElement("div",{className:"opblock-section-header"},v?O().createElement("div",{className:"tab-header"},O().createElement("div",{onClick:()=>this.toggleTab("parameters"),className:`tab-item ${this.state.parametersVisible&&"active"}`},O().createElement("h4",{className:"opblock-title"},O().createElement("span",null,"Parameters"))),h.get("callbacks")?O().createElement("div",{onClick:()=>this.toggleTab("callbacks"),className:`tab-item ${this.state.callbackVisible&&"active"}`},O().createElement("h4",{className:"opblock-title"},O().createElement("span",null,"Callbacks"))):null):O().createElement("div",{className:"tab-header"},O().createElement("h4",{className:"opblock-title"},"Parameters")),a?O().createElement(y,{isOAS3:i.isOAS3(),hasUserEditedBody:d.hasUserEditedBody(...m),enabled:n,onCancelClick:this.props.onCancelClick,onTryoutClick:e,onResetClick:()=>t(m)}):null),this.state.parametersVisible?O().createElement("div",{className:"parameters-container"},C.length?O().createElement("div",{className:"table-container"},O().createElement("table",{className:"parameters"},O().createElement("thead",null,O().createElement("tr",null,O().createElement("th",{className:"col_header parameters-col_name"},"Name"),O().createElement("th",{className:"col_header parameters-col_description"},"Description"))),O().createElement("tbody",null,C.map(((e,t)=>O().createElement(g,{fn:o,specPath:s.push(t.toString()),getComponent:l,getConfigs:c,rawParam:e,param:i.parameterWithMetaByIdentity(m,e),key:`${e.get("in")}.${e.get("name")}`,onChange:this.onChange,onChangeConsumes:this.onChangeConsumesWrapper,specSelectors:i,specActions:p,oas3Actions:u,oas3Selectors:d,pathMethod:m,isExecute:_})))))):O().createElement("div",{className:"opblock-description-wrapper"},O().createElement("p",null,"No parameters"))):null,this.state.callbackVisible?O().createElement("div",{className:"callbacks-container opblock-description-wrapper"},O().createElement(S,{callbacks:(0,k.Map)(h.get("callbacks")),specPath:s.slice(0,-1).push("callbacks")})):null,v&&b&&this.state.parametersVisible&&O().createElement("div",{className:"opblock-section opblock-section-request-body"},O().createElement("div",{className:"opblock-section-header"},O().createElement("h4",{className:`opblock-title parameter__name ${b.get("required")&&"required"}`},"Request body"),O().createElement("label",{id:w},O().createElement(f,{value:d.requestContentType(...m),contentTypes:b.get("content",(0,k.List)()).keySeq(),onChange:e=>{this.onChangeMediaType({value:e,pathMethod:m})},className:"body-param-content-type",ariaLabel:"Request content type",controlId:w}))),O().createElement("div",{className:"opblock-description-wrapper"},O().createElement(E,{setRetainRequestBodyValueFlag:e=>u.setRetainRequestBodyValueFlag({value:e,pathMethod:m}),userHasEditedBody:d.hasUserEditedBody(...m),specPath:s.slice(0,-1).push("requestBody"),requestBody:b,requestBodyValue:d.requestBodyValue(...m),requestBodyInclusionSetting:d.requestBodyInclusionSetting(...m),requestBodyErrors:d.requestBodyErrors(...m),isExecute:_,getConfigs:c,activeExamplesKey:d.activeExamplesMember(...m,"requestBody","requestBody"),updateActiveExamplesKey:e=>{this.props.oas3Actions.setActiveExamplesMember({name:e,pathMethod:this.props.pathMethod,contextType:"requestBody",contextName:"requestBody"})},onChange:(e,t)=>{if(t){const r=d.requestBodyValue(...m),a=k.Map.isMap(r)?r:(0,k.Map)();return u.setRequestBodyValue({pathMethod:m,value:a.setIn(t,e)})}u.setRequestBodyValue({value:e,pathMethod:m})},onChangeIncludeEmpty:(e,t)=>{u.setRequestBodyInclusion({pathMethod:m,value:t,name:e})},contentType:d.requestContentType(...m)}))))}}const parameter_extension=({xKey:e,xVal:t})=>O().createElement("div",{className:"parameter__extension"},e,": ",String(t)),an={onChange:()=>{},isIncludedOptions:{}};class ParameterIncludeEmpty extends x.Component{static defaultProps=an;componentDidMount(){const{isIncludedOptions:e,onChange:t}=this.props,{shouldDispatchInit:r,defaultValue:a}=e;r&&t(a)}onCheckboxChange=e=>{const{onChange:t}=this.props;t(e.target.checked)};render(){let{isIncluded:e,isDisabled:t}=this.props;return O().createElement("div",null,O().createElement("label",{htmlFor:"include_empty_value",className:pt()("parameter__empty_value_toggle",{disabled:t})},O().createElement("input",{id:"include_empty_value",type:"checkbox",disabled:t,checked:!t&&e,onChange:this.onCheckboxChange}),"Send empty value"))}}class ParameterRow extends x.Component{constructor(e,t){super(e,t),this.setDefaultValue()}UNSAFE_componentWillReceiveProps(e){let t,{specSelectors:r,pathMethod:a,rawParam:n}=e,s=r.isOAS3(),o=r.parameterWithMetaByIdentity(a,n)||new k.Map;if(o=o.isEmpty()?n:o,s){let{schema:e}=getParameterSchema(o,{isOAS3:s});t=e?e.get("enum"):void 0}else t=o?o.get("enum"):void 0;let l,c=o?o.get("value"):void 0;void 0!==c?l=c:n.get("required")&&t&&t.size&&(l=t.first()),void 0!==l&&l!==c&&this.onChangeWrapper(function numberToString(e){return"number"==typeof e?e.toString():e}(l)),this.setDefaultValue()}onChangeWrapper=(e,t=!1)=>{let r,{onChange:a,rawParam:n}=this.props;return r=""===e||e&&0===e.size?null:e,a(n,r,t)};_onExampleSelect=e=>{this.props.oas3Actions.setActiveExamplesMember({name:e,pathMethod:this.props.pathMethod,contextType:"parameters",contextName:this.getParamKey()})};onChangeIncludeEmpty=e=>{let{specActions:t,param:r,pathMethod:a}=this.props;const n=r.get("name"),s=r.get("in");return t.updateEmptyParamInclusion(a,n,s,e)};setDefaultValue=()=>{let{specSelectors:e,pathMethod:t,rawParam:r,oas3Selectors:a,fn:n}=this.props;const s=e.parameterWithMetaByIdentity(t,r)||(0,k.Map)();let{schema:o}=getParameterSchema(s,{isOAS3:e.isOAS3()});const l=s.get("content",(0,k.Map)()).keySeq().first(),c=o?n.getSampleSchema(o.toJS(),l,{includeWriteOnly:!0}):null;if(s&&void 0===s.get("value")&&"body"!==s.get("in")){let r;if(e.isSwagger2())r=void 0!==s.get("x-example")?s.get("x-example"):void 0!==s.getIn(["schema","example"])?s.getIn(["schema","example"]):o&&o.getIn(["default"]);else if(e.isOAS3()){o=this.composeJsonSchema(o);const e=a.activeExamplesMember(...t,"parameters",this.getParamKey());r=void 0!==s.getIn(["examples",e,"value"])?s.getIn(["examples",e,"value"]):void 0!==s.getIn(["content",l,"example"])?s.getIn(["content",l,"example"]):void 0!==s.get("example")?s.get("example"):void 0!==(o&&o.get("example"))?o&&o.get("example"):void 0!==(o&&o.get("default"))?o&&o.get("default"):s.get("default")}void 0===r||k.List.isList(r)||(r=stringify(r));const i=n.getSchemaObjectType(o),p=n.getSchemaObjectType(o?.get("items"));void 0!==r?this.onChangeWrapper(r):"object"===i&&c&&!s.get("examples")?this.onChangeWrapper(k.List.isList(c)?c:stringify(c)):"array"===i&&"object"===p&&c&&!s.get("examples")&&this.onChangeWrapper(k.List.isList(c)?c:(0,k.List)(JSON.parse(c)))}};getParamKey(){const{param:e}=this.props;return e?`${e.get("name")}-${e.get("in")}`:null}composeJsonSchema(e){const{fn:t}=this.props,r=e.get("oneOf")?.get(0)?.toJS(),a=e.get("anyOf")?.get(0)?.toJS();return(0,k.fromJS)(t.mergeJsonSchema(e.toJS(),r??a??{}))}render(){let{param:e,rawParam:t,getComponent:r,getConfigs:a,isExecute:n,fn:s,onChangeConsumes:o,specSelectors:l,pathMethod:c,specPath:i,oas3Selectors:p}=this.props,m=l.isOAS3();const{showExtensions:u,showCommonExtensions:d}=a();if(e||(e=t),!t)return null;const h=r("JsonSchemaForm"),g=r("ParamBody");let y=e.get("in"),f="body"!==y?null:O().createElement(g,{getComponent:r,getConfigs:a,fn:s,param:e,consumes:l.consumesOptionsFor(c),consumesValue:l.contentTypeValues(c).get("requestContentType"),onChange:this.onChangeWrapper,onChangeConsumes:o,isExecute:n,specSelectors:l,pathMethod:c});const S=r("modelExample"),E=r("Markdown",!0),_=r("ParameterExt"),v=r("ParameterIncludeEmpty"),w=r("ExamplesSelectValueRetainer"),b=r("Example");let{schema:C}=getParameterSchema(e,{isOAS3:m}),x=l.parameterWithMetaByIdentity(c,t)||(0,k.Map)();const N=x.get("content",(0,k.Map)()).keySeq().first();m&&(C=this.composeJsonSchema(C));let A=C?C.get("format"):null,I="formData"===y,j="FormData"in K,q=e.get("required");const P=s.getSchemaObjectType(C),M=s.getSchemaObjectType(C?.get("items")),T=s.getSchemaObjectTypeLabel(C),R=!f&&"object"===P,J=!f&&"object"===M;let $,V,L,D,U=x?x.get("value"):"",z=d?getCommonExtensions(C):null,B=u?getExtensions(e):null,F=!1;void 0!==e&&C&&($=C.get("items")),void 0!==$?(V=$.get("enum"),L=$.get("default")):C&&(V=C.get("enum")),V&&V.size&&V.size>0&&(F=!0),void 0!==e&&(C&&(L=C.get("default")),void 0===L&&(L=e.get("default")),D=e.get("example"),void 0===D&&(D=e.get("x-example")));const W=f?null:O().createElement(h,{fn:s,getComponent:r,value:U,required:q,disabled:!n,description:e.get("name"),onChange:this.onChangeWrapper,errors:x.get("errors"),schema:C});return O().createElement("tr",{"data-param-name":e.get("name"),"data-param-in":e.get("in")},O().createElement("td",{className:"parameters-col_name"},O().createElement("div",{className:q?"parameter__name required":"parameter__name"},e.get("name"),q?O().createElement("span",null," *"):null),O().createElement("div",{className:"parameter__type"},T,A&&O().createElement("span",{className:"prop-format"},"($",A,")")),O().createElement("div",{className:"parameter__deprecated"},m&&e.get("deprecated")?"deprecated":null),O().createElement("div",{className:"parameter__in"},"(",e.get("in"),")")),O().createElement("td",{className:"parameters-col_description"},e.get("description")?O().createElement(E,{source:e.get("description")}):null,!f&&n||!F?null:O().createElement(E,{className:"parameter__enum",source:"Available values : "+V.map((function(e){return e})).toArray().map(String).join(", ")}),!f&&n||void 0===L?null:O().createElement(E,{className:"parameter__default",source:"Default value : "+L}),!f&&n||void 0===D?null:O().createElement(E,{source:"Example : "+D}),I&&!j&&O().createElement("div",null,"Error: your browser does not support FormData"),m&&e.get("examples")?O().createElement("section",{className:"parameter-controls"},O().createElement(w,{examples:e.get("examples"),onSelect:this._onExampleSelect,updateValue:this.onChangeWrapper,getComponent:r,defaultToFirstExample:!0,currentKey:p.activeExamplesMember(...c,"parameters",this.getParamKey()),currentUserInputValue:U})):null,R||J?O().createElement(S,{getComponent:r,specPath:N?i.push("content",N,"schema"):i.push("schema"),getConfigs:a,isExecute:n,specSelectors:l,schema:C,example:W}):W,f&&C?O().createElement(S,{getComponent:r,specPath:i.push("schema"),getConfigs:a,isExecute:n,specSelectors:l,schema:C,example:f,includeWriteOnly:!0}):null,!f&&n&&e.get("allowEmptyValue")?O().createElement(v,{onChange:this.onChangeIncludeEmpty,isIncluded:l.parameterInclusionSettingFor(c,e.get("name"),e.get("in")),isDisabled:!isEmptyValue(U)}):null,m&&e.get("examples")?O().createElement(b,{example:e.getIn(["examples",p.activeExamplesMember(...c,"parameters",this.getParamKey())]),getComponent:r,getConfigs:a}):null,d&&z.size?z.entrySeq().map((([e,t])=>O().createElement(_,{key:`${e}-${t}`,xKey:e,xVal:t}))):null,u&&B.size?B.entrySeq().map((([e,t])=>O().createElement(_,{key:`${e}-${t}`,xKey:e,xVal:t}))):null))}}class Execute extends x.Component{handleValidateParameters=()=>{let{specSelectors:e,specActions:t,path:r,method:a}=this.props;return t.validateParams([r,a]),e.validateBeforeExecute([r,a])};handleValidateRequestBody=()=>{let{path:e,method:t,specSelectors:r,oas3Selectors:a,oas3Actions:n}=this.props,s={missingBodyValue:!1,missingRequiredKeys:[]};n.clearRequestBodyValidateError({path:e,method:t});let o=r.getOAS3RequiredRequestBodyContentType([e,t]),l=a.requestBodyValue(e,t),c=a.validateBeforeExecute([e,t]),i=a.requestContentType(e,t);if(!c)return s.missingBodyValue=!0,n.setRequestBodyValidateError({path:e,method:t,validationErrors:s}),!1;if(!o)return!0;let p=a.validateShallowRequired({oas3RequiredRequestBodyContentType:o,oas3RequestContentType:i,oas3RequestBodyValue:l});return!p||p.length<1||(p.forEach((e=>{s.missingRequiredKeys.push(e)})),n.setRequestBodyValidateError({path:e,method:t,validationErrors:s}),!1)};handleValidationResultPass=()=>{let{specActions:e,operation:t,path:r,method:a}=this.props;this.props.onExecute&&this.props.onExecute(),e.execute({operation:t,path:r,method:a})};handleValidationResultFail=()=>{let{specActions:e,path:t,method:r}=this.props;e.clearValidateParams([t,r]),setTimeout((()=>{e.validateParams([t,r])}),40)};handleValidationResult=e=>{e?this.handleValidationResultPass():this.handleValidationResultFail()};onClick=()=>{let e=this.handleValidateParameters(),t=this.handleValidateRequestBody(),r=e&&t;this.handleValidationResult(r)};onChangeProducesWrapper=e=>this.props.specActions.changeProducesValue([this.props.path,this.props.method],e);render(){const{disabled:e}=this.props;return O().createElement("button",{className:"btn execute opblock-control__btn",onClick:this.onClick,disabled:e},"Execute")}}class headers_Headers extends O().Component{render(){let{headers:e,getComponent:t}=this.props;const r=t("Property"),a=t("Markdown",!0);return e&&e.size?O().createElement("div",{className:"headers-wrapper"},O().createElement("h4",{className:"headers__title"},"Headers:"),O().createElement("table",{className:"headers"},O().createElement("thead",null,O().createElement("tr",{className:"header-row"},O().createElement("th",{className:"header-col"},"Name"),O().createElement("th",{className:"header-col"},"Description"),O().createElement("th",{className:"header-col"},"Type"))),O().createElement("tbody",null,e.entrySeq().map((([e,t])=>{if(!A().Map.isMap(t))return null;const n=t.get("description"),s=t.getIn(["schema"])?t.getIn(["schema","type"]):t.getIn(["type"]),o=t.getIn(["schema","example"]);return O().createElement("tr",{key:e},O().createElement("td",{className:"header-col"},e),O().createElement("td",{className:"header-col"},n?O().createElement(a,{source:n}):null),O().createElement("td",{className:"header-col"},s," ",o?O().createElement(r,{propKey:"Example",propVal:o,propClass:"header-example"}):null))})).toArray()))):null}}class Errors extends O().Component{render(){let{editorActions:e,errSelectors:t,layoutSelectors:r,layoutActions:a,getComponent:n}=this.props;const s=n("Collapse");if(e&&e.jumpToLine)var o=e.jumpToLine;let l=t.allErrors().filter((e=>"thrown"===e.get("type")||"error"===e.get("level")));if(!l||l.count()<1)return null;let c=r.isShown(["errorPane"],!0),i=l.sortBy((e=>e.get("line")));return O().createElement("pre",{className:"errors-wrapper"},O().createElement("hgroup",{className:"error"},O().createElement("h4",{className:"errors__title"},"Errors"),O().createElement("button",{className:"btn errors__clear-btn",onClick:()=>a.show(["errorPane"],!c)},c?"Hide":"Show")),O().createElement(s,{isOpened:c,animated:!0},O().createElement("div",{className:"errors"},i.map(((e,t)=>{let r=e.get("type");return"thrown"===r||"auth"===r?O().createElement(ThrownErrorItem,{key:t,error:e.get("error")||e,jumpToLine:o}):"spec"===r?O().createElement(SpecErrorItem,{key:t,error:e,jumpToLine:o}):void 0})))))}}const ThrownErrorItem=({error:e,jumpToLine:t})=>{if(!e)return null;let r=e.get("line");return O().createElement("div",{className:"error-wrapper"},e?O().createElement("div",null,O().createElement("h4",null,e.get("source")&&e.get("level")?toTitleCase(e.get("source"))+" "+e.get("level"):"",e.get("path")?O().createElement("small",null," at ",e.get("path")):null),O().createElement("span",{className:"message thrown"},e.get("message")),O().createElement("div",{className:"error-line"},r&&t?O().createElement("a",{onClick:t.bind(null,r)},"Jump to line ",r):null)):null)},SpecErrorItem=({error:e,jumpToLine:t=null})=>{let r=null;return e.get("path")?r=k.List.isList(e.get("path"))?O().createElement("small",null,"at ",e.get("path").join(".")):O().createElement("small",null,"at ",e.get("path")):e.get("line")&&!t&&(r=O().createElement("small",null,"on line ",e.get("line"))),O().createElement("div",{className:"error-wrapper"},e?O().createElement("div",null,O().createElement("h4",null,toTitleCase(e.get("source"))+" "+e.get("level")," ",r),O().createElement("span",{className:"message"},e.get("message")),O().createElement("div",{className:"error-line"},t?O().createElement("a",{onClick:t.bind(null,e.get("line"))},"Jump to line ",e.get("line")):null)):null)};function toTitleCase(e){return(e||"").split(" ").map((e=>e[0].toUpperCase()+e.slice(1))).join(" ")}const content_type_noop=()=>{};class ContentType extends O().Component{static defaultProps={onChange:content_type_noop,value:null,contentTypes:(0,k.fromJS)(["application/json"])};componentDidMount(){const{contentTypes:e,onChange:t}=this.props;e&&e.size&&t(e.first())}componentDidUpdate(){const{contentTypes:e,value:t,onChange:r}=this.props;e&&e.size&&(e.includes(t)||r(e.first()))}onChangeWrapper=e=>this.props.onChange(e.target.value);render(){let{ariaControls:e,ariaLabel:t,className:r,contentTypes:a,controlId:n,value:s}=this.props;return a&&a.size?O().createElement("div",{className:"content-type-wrapper "+(r||"")},O().createElement("select",{"aria-controls":e,"aria-label":t,className:"content-type",id:n,onChange:this.onChangeWrapper,value:s||""},a.map((e=>O().createElement("option",{key:e,value:e},e))).toArray())):null}}function xclass(...e){return e.filter((e=>!!e)).join(" ").trim()}class Container extends O().Component{render(){let{fullscreen:e,full:t,...r}=this.props;if(e)return O().createElement("section",r);let a="swagger-container"+(t?"-full":"");return O().createElement("section",Qe()({},r,{className:xclass(r.className,a)}))}}const nn={mobile:"",tablet:"-tablet",desktop:"-desktop",large:"-hd"};class Col extends O().Component{render(){const{hide:e,keepContents:t,mobile:r,tablet:a,desktop:n,large:s,...o}=this.props;if(e&&!t)return O().createElement("span",null);let l=[];for(let e in nn){if(!Object.prototype.hasOwnProperty.call(nn,e))continue;let t=nn[e];if(e in this.props){let r=this.props[e];if(r<1){l.push("none"+t);continue}l.push("block"+t),l.push("col-"+r+t)}}e&&l.push("hidden");let c=xclass(o.className,...l);return O().createElement("section",Qe()({},o,{className:c}))}}class Row extends O().Component{render(){return O().createElement("div",Qe()({},this.props,{className:xclass(this.props.className,"wrapper")}))}}class Button extends O().Component{static defaultProps={className:""};render(){return O().createElement("button",Qe()({},this.props,{className:xclass(this.props.className,"button")}))}}const TextArea=e=>O().createElement("textarea",e),Input=e=>O().createElement("input",e);class Select extends O().Component{static defaultProps={multiple:!1,allowEmptyValue:!0};constructor(e,t){let r;super(e,t),r=e.value?e.value:e.multiple?[""]:"",this.state={value:r}}onChange=e=>{let t,{onChange:r,multiple:a}=this.props,n=[].slice.call(e.target.options);t=a?n.filter((function(e){return e.selected})).map((function(e){return e.value})):e.target.value,this.setState({value:t}),r&&r(t)};UNSAFE_componentWillReceiveProps(e){e.value!==this.props.value&&this.setState({value:e.value})}render(){let{allowedValues:e,multiple:t,allowEmptyValue:r,disabled:a}=this.props,n=this.state.value?.toJS?.()||this.state.value;return O().createElement("select",{className:this.props.className,multiple:t,value:n,onChange:this.onChange,disabled:a},r?O().createElement("option",{value:""},"--"):null,e.map((function(e,t){return O().createElement("option",{key:t,value:String(e)},String(e))})))}}class Link extends O().Component{render(){return O().createElement("a",Qe()({},this.props,{rel:"noopener noreferrer",className:xclass(this.props.className,"link")}))}}const NoMargin=({children:e})=>O().createElement("div",{className:"no-margin"}," ",e," ");class Collapse extends O().Component{static defaultProps={isOpened:!1,animated:!1};renderNotAnimated(){return this.props.isOpened?O().createElement(NoMargin,null,this.props.children):O().createElement("noscript",null)}render(){let{animated:e,isOpened:t,children:r}=this.props;return e?(r=t?r:null,O().createElement(NoMargin,null,r)):this.renderNotAnimated()}}class Overview extends O().Component{constructor(...e){super(...e),this.setTagShown=this._setTagShown.bind(this)}_setTagShown(e,t){this.props.layoutActions.show(e,t)}showOp(e,t){let{layoutActions:r}=this.props;r.show(e,t)}render(){let{specSelectors:e,layoutSelectors:t,layoutActions:r,getComponent:a}=this.props,n=e.taggedOperations();const s=a("Collapse");return O().createElement("div",null,O().createElement("h4",{className:"overview-title"},"Overview"),n.map(((e,a)=>{let n=e.get("operations"),o=["overview-tags",a],l=t.isShown(o,!0);return O().createElement("div",{key:"overview-"+a},O().createElement("h4",{onClick:()=>r.show(o,!l),className:"link overview-tag"}," ",l?"-":"+",a),O().createElement(s,{isOpened:l,animated:!0},n.map((e=>{let{path:a,method:n,id:s}=e.toObject(),o="operations",l=s,c=t.isShown([o,l]);return O().createElement(OperationLink,{key:s,path:a,method:n,id:a+"-"+n,shown:c,showOpId:l,showOpIdPrefix:o,href:`#operation-${l}`,onClick:r.show})})).toArray()))})).toArray(),n.size<1&&O().createElement("h3",null," No operations defined in spec! "))}}class OperationLink extends O().Component{constructor(e){super(e),this.onClick=this._onClick.bind(this)}_onClick(){let{showOpId:e,showOpIdPrefix:t,onClick:r,shown:a}=this.props;r([t,e],!a)}render(){let{id:e,method:t,shown:r,href:a}=this.props;return O().createElement(Link,{href:a,onClick:this.onClick,className:"block opblock-link "+(r?"shown":"")},O().createElement("div",null,O().createElement("small",{className:`bold-label-${t}`},t.toUpperCase()),O().createElement("span",{className:"bold-label"},e)))}}class InitializedInput extends O().Component{componentDidMount(){this.props.initialValue&&(this.inputRef.value=this.props.initialValue)}render(){const{value:e,defaultValue:t,initialValue:r,...a}=this.props;return O().createElement("input",Qe()({},a,{ref:e=>this.inputRef=e}))}}class InfoBasePath extends O().Component{render(){const{host:e,basePath:t}=this.props;return O().createElement("pre",{className:"base-url"},"[ Base URL: ",e,t," ]")}}class InfoUrl extends O().PureComponent{render(){const{url:e,getComponent:t}=this.props,r=t("Link");return O().createElement(r,{target:"_blank",href:sanitizeUrl(e)},O().createElement("span",{className:"url"}," ",e))}}class Info extends O().Component{render(){const{info:e,url:t,host:r,basePath:a,getComponent:n,externalDocs:s,selectedServer:o,url:l}=this.props,c=e.get("version"),i=e.get("description"),p=e.get("title"),m=safeBuildUrl(e.get("termsOfService"),l,{selectedServer:o}),u=e.get("contact"),d=e.get("license"),h=safeBuildUrl(s&&s.get("url"),l,{selectedServer:o}),g=s&&s.get("description"),y=n("Markdown",!0),f=n("Link"),S=n("VersionStamp"),E=n("OpenAPIVersion"),_=n("InfoUrl"),v=n("InfoBasePath"),w=n("License"),b=n("Contact");return O().createElement("div",{className:"info"},O().createElement("hgroup",{className:"main"},O().createElement("h1",{className:"title"},p,O().createElement("span",null,c&&O().createElement(S,{version:c}),O().createElement(E,{oasVersion:"2.0"}))),r||a?O().createElement(v,{host:r,basePath:a}):null,t&&O().createElement(_,{getComponent:n,url:t})),O().createElement("div",{className:"description"},O().createElement(y,{source:i})),m&&O().createElement("div",{className:"info__tos"},O().createElement(f,{target:"_blank",href:sanitizeUrl(m)},"Terms of service")),u?.size>0&&O().createElement(b,{getComponent:n,data:u,selectedServer:o,url:t}),d?.size>0&&O().createElement(w,{getComponent:n,license:d,selectedServer:o,url:t}),h?O().createElement(f,{className:"info__extdocs",target:"_blank",href:sanitizeUrl(h)},g||h):null)}}const sn=Info;class InfoContainer extends O().Component{render(){const{specSelectors:e,getComponent:t,oas3Selectors:r}=this.props,a=e.info(),n=e.url(),s=e.basePath(),o=e.host(),l=e.externalDocs(),c=r.selectedServer(),i=t("info");return O().createElement("div",null,a&&a.count()?O().createElement(i,{info:a,url:n,host:o,basePath:s,externalDocs:l,getComponent:t,selectedServer:c}):null)}}class Contact extends O().Component{render(){const{data:e,getComponent:t,selectedServer:r,url:a}=this.props,n=e.get("name","the developer"),s=safeBuildUrl(e.get("url"),a,{selectedServer:r}),o=e.get("email"),l=t("Link");return O().createElement("div",{className:"info__contact"},s&&O().createElement("div",null,O().createElement(l,{href:sanitizeUrl(s),target:"_blank"},n," - Website")),o&&O().createElement(l,{href:sanitizeUrl(`mailto:${o}`)},s?`Send email to ${n}`:`Contact ${n}`))}}const on=Contact;class License extends O().Component{render(){const{license:e,getComponent:t,selectedServer:r,url:a}=this.props,n=e.get("name","License"),s=safeBuildUrl(e.get("url"),a,{selectedServer:r}),o=t("Link");return O().createElement("div",{className:"info__license"},s?O().createElement("div",{className:"info__license__url"},O().createElement(o,{target:"_blank",href:sanitizeUrl(s)},n)):O().createElement("span",null,n))}}const ln=License;class JumpToPath extends O().Component{render(){return null}}class CopyToClipboardBtn extends O().Component{render(){let{getComponent:e}=this.props;const t=e("CopyIcon");return O().createElement("div",{className:"view-line-link copy-to-clipboard",title:"Copy to clipboard"},O().createElement(mt.CopyToClipboard,{text:this.props.textToCopy},O().createElement(t,null)))}}class Footer extends O().Component{render(){return O().createElement("div",{className:"footer"})}}class FilterContainer extends O().Component{onFilterChange=e=>{const{target:{value:t}}=e;this.props.layoutActions.updateFilter(t)};render(){const{specSelectors:e,layoutSelectors:t,getComponent:r}=this.props,a=r("Col"),n="loading"===e.loadingStatus(),s="failed"===e.loadingStatus(),o=t.currentFilter(),l=["operation-filter-input"];return s&&l.push("failed"),n&&l.push("loading"),O().createElement("div",null,!1===o?null:O().createElement("div",{className:"filter-container"},O().createElement(a,{className:"filter wrapper",mobile:12},O().createElement("input",{className:l.join(" "),placeholder:"Filter by tag",type:"text",onChange:this.onFilterChange,value:"string"==typeof o?o:"",disabled:n}))))}}const cn=Function.prototype;class ParamBody extends x.PureComponent{static defaultProp={consumes:(0,k.fromJS)(["application/json"]),param:(0,k.fromJS)({}),onChange:cn,onChangeConsumes:cn};constructor(e,t){super(e,t),this.state={isEditBox:!1,value:""}}componentDidMount(){this.updateValues.call(this,this.props)}UNSAFE_componentWillReceiveProps(e){this.updateValues.call(this,e)}updateValues=e=>{let{param:t,isExecute:r,consumesValue:a=""}=e,n=/xml/i.test(a),s=/json/i.test(a),o=n?t.get("value_xml"):t.get("value");if(void 0!==o){let e=!o&&s?"{}":o;this.setState({value:e}),this.onChange(e,{isXml:n,isEditBox:r})}else n?this.onChange(this.sample("xml"),{isXml:n,isEditBox:r}):this.onChange(this.sample(),{isEditBox:r})};sample=e=>{let{param:t,fn:r}=this.props,a=r.inferSchema(t.toJS());return r.getSampleSchema(a,e,{includeWriteOnly:!0})};onChange=(e,{isEditBox:t,isXml:r})=>{this.setState({value:e,isEditBox:t}),this._onChange(e,r)};_onChange=(e,t)=>{(this.props.onChange||cn)(e,t)};handleOnChange=e=>{const{consumesValue:t}=this.props,r=/xml/i.test(t),a=e.target.value;this.onChange(a,{isXml:r,isEditBox:this.state.isEditBox})};toggleIsEditBox=()=>this.setState((e=>({isEditBox:!e.isEditBox})));render(){let{onChangeConsumes:e,param:t,isExecute:r,specSelectors:a,pathMethod:n,getComponent:s}=this.props;const o=s("Button"),l=s("TextArea"),c=s("HighlightCode",!0),i=s("contentType");let p=(a?a.parameterWithMetaByIdentity(n,t):t).get("errors",(0,k.List)()),m=a.contentTypeValues(n).get("requestContentType"),u=this.props.consumes&&this.props.consumes.size?this.props.consumes:ParamBody.defaultProp.consumes,{value:d,isEditBox:h}=this.state,g=null;getKnownSyntaxHighlighterLanguage(d)&&(g="json");const y=`${createHtmlReadyId(`${n[1]}${n[0]}_parameters`)}_select`;return O().createElement("div",{className:"body-param","data-param-name":t.get("name"),"data-param-in":t.get("in")},h&&r?O().createElement(l,{className:"body-param__text"+(p.count()?" invalid":""),value:d,onChange:this.handleOnChange}):d&&O().createElement(c,{className:"body-param__example",language:g},d),O().createElement("div",{className:"body-param-options"},r?O().createElement("div",{className:"body-param-edit"},O().createElement(o,{className:h?"btn cancel body-param__example-edit":"btn edit body-param__example-edit",onClick:this.toggleIsEditBox},h?"Cancel":"Edit")):null,O().createElement("label",{htmlFor:y},O().createElement("span",null,"Parameter content type"),O().createElement(i,{value:m,contentTypes:u,onChange:e,className:"body-param-content-type",ariaLabel:"Parameter content type",controlId:y}))))}}class Curl extends O().Component{render(){const{request:e,getComponent:t}=this.props,r=requestSnippetGenerator_curl_bash(e),a=t("SyntaxHighlighter",!0);return O().createElement("div",{className:"curl-command"},O().createElement("h4",null,"Curl"),O().createElement("div",{className:"copy-to-clipboard"},O().createElement(mt.CopyToClipboard,{text:r},O().createElement("button",null))),O().createElement("div",null,O().createElement(a,{language:"bash",className:"curl microlight",renderPlainText:({children:e,PlainTextViewer:t})=>O().createElement(t,{className:"curl"},e)},r)))}}const property=({propKey:e,propVal:t,propClass:r})=>O().createElement("span",{className:r},O().createElement("br",null),e,": ",stringify(t));class TryItOutButton extends O().Component{static defaultProps={onTryoutClick:Function.prototype,onCancelClick:Function.prototype,onResetClick:Function.prototype,enabled:!1,hasUserEditedBody:!1,isOAS3:!1};render(){const{onTryoutClick:e,onCancelClick:t,onResetClick:r,enabled:a,hasUserEditedBody:n,isOAS3:s}=this.props,o=s&&n;return O().createElement("div",{className:o?"try-out btn-group":"try-out"},a?O().createElement("button",{className:"btn try-out__btn cancel",onClick:t},"Cancel"):O().createElement("button",{className:"btn try-out__btn",onClick:e},"Try it out "),o&&O().createElement("button",{className:"btn try-out__btn reset",onClick:r},"Reset"))}}class VersionPragmaFilter extends O().PureComponent{static defaultProps={alsoShow:null,children:null,bypass:!1};render(){const{bypass:e,isSwagger2:t,isOAS3:r,alsoShow:a}=this.props;return e?O().createElement("div",null,this.props.children):t&&r?O().createElement("div",{className:"version-pragma"},a,O().createElement("div",{className:"version-pragma__message version-pragma__message--ambiguous"},O().createElement("div",null,O().createElement("h3",null,"Unable to render this definition"),O().createElement("p",null,O().createElement("code",null,"swagger")," and ",O().createElement("code",null,"openapi")," fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields."),O().createElement("p",null,"Supported version fields are ",O().createElement("code",null,"swagger: ",'"2.0"')," and those that match ",O().createElement("code",null,"openapi: 3.0.n")," (for example, ",O().createElement("code",null,"openapi: 3.0.4"),").")))):t||r?O().createElement("div",null,this.props.children):O().createElement("div",{className:"version-pragma"},a,O().createElement("div",{className:"version-pragma__message version-pragma__message--missing"},O().createElement("div",null,O().createElement("h3",null,"Unable to render this definition"),O().createElement("p",null,"The provided definition does not specify a valid version field."),O().createElement("p",null,"Please indicate a valid Swagger or OpenAPI version field. Supported version fields are ",O().createElement("code",null,"swagger: ",'"2.0"')," and those that match ",O().createElement("code",null,"openapi: 3.0.n")," (for example, ",O().createElement("code",null,"openapi: 3.0.4"),")."))))}}const version_stamp=({version:e})=>O().createElement("small",null,O().createElement("pre",{className:"version"}," ",e," ")),openapi_version=({oasVersion:e})=>O().createElement("small",{className:"version-stamp"},O().createElement("pre",{className:"version"},"OAS ",e)),deep_link=({enabled:e,path:t,text:r})=>O().createElement("a",{className:"nostyle",onClick:e?e=>e.preventDefault():null,href:e?`#/${t}`:null},O().createElement("span",null,r)),svg_assets=()=>O().createElement("div",null,O().createElement("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",className:"svg-assets"},O().createElement("defs",null,O().createElement("symbol",{viewBox:"0 0 20 20",id:"unlocked"},O().createElement("path",{d:"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"})),O().createElement("symbol",{viewBox:"0 0 20 20",id:"locked"},O().createElement("path",{d:"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"})),O().createElement("symbol",{viewBox:"0 0 20 20",id:"close"},O().createElement("path",{d:"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"})),O().createElement("symbol",{viewBox:"0 0 20 20",id:"large-arrow"},O().createElement("path",{d:"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"})),O().createElement("symbol",{viewBox:"0 0 20 20",id:"large-arrow-down"},O().createElement("path",{d:"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"})),O().createElement("symbol",{viewBox:"0 0 20 20",id:"large-arrow-up"},O().createElement("path",{d:"M 17.418 14.908 C 17.69 15.176 18.127 15.176 18.397 14.908 C 18.667 14.64 18.668 14.207 18.397 13.939 L 10.489 6.109 C 10.219 5.841 9.782 5.841 9.51 6.109 L 1.602 13.939 C 1.332 14.207 1.332 14.64 1.602 14.908 C 1.873 15.176 2.311 15.176 2.581 14.908 L 10 7.767 L 17.418 14.908 Z"})),O().createElement("symbol",{viewBox:"0 0 24 24",id:"jump-to"},O().createElement("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"})),O().createElement("symbol",{viewBox:"0 0 24 24",id:"expand"},O().createElement("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"})),O().createElement("symbol",{viewBox:"0 0 15 16",id:"copy"},O().createElement("g",{transform:"translate(2, -1)"},O().createElement("path",{fill:"#ffffff",fillRule:"evenodd",d:"M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"})))))),pn=require("remarkable"),mn=require("remarkable/linkify"),un=require("dompurify");var dn=__webpack_require__.n(un);dn().addHook&&dn().addHook("beforeSanitizeElements",(function(e){return e.href&&e.setAttribute("rel","noopener noreferrer"),e}));const hn=function Markdown({source:e,className:t="",getConfigs:r=()=>({useUnsafeMarkdown:!1})}){if("string"!=typeof e)return null;const a=new pn.Remarkable({html:!0,typographer:!0,breaks:!0,linkTarget:"_blank"}).use(mn.linkify);a.core.ruler.disable(["replacements","smartquotes"]);const{useUnsafeMarkdown:n}=r(),s=a.render(e),o=sanitizer(s,{useUnsafeMarkdown:n});return e&&s&&o?O().createElement("div",{className:pt()(t,"markdown"),dangerouslySetInnerHTML:{__html:o}}):null};function sanitizer(e,{useUnsafeMarkdown:t=!1}={}){const r=t,a=t?[]:["style","class"];return t&&!sanitizer.hasWarnedAboutDeprecation&&(console.warn("useUnsafeMarkdown display configuration parameter is deprecated since >3.26.0 and will be removed in v4.0.0."),sanitizer.hasWarnedAboutDeprecation=!0),dn().sanitize(e,{ADD_ATTR:["target"],FORBID_TAGS:["style","form"],ALLOW_DATA_ATTR:r,FORBID_ATTR:a})}sanitizer.hasWarnedAboutDeprecation=!1;class BaseLayout extends O().Component{render(){const{errSelectors:e,specSelectors:t,getComponent:r}=this.props,a=r("SvgAssets"),n=r("InfoContainer",!0),s=r("VersionPragmaFilter"),o=r("operations",!0),l=r("Models",!0),c=r("Webhooks",!0),i=r("Row"),p=r("Col"),m=r("errors",!0),u=r("ServersContainer",!0),d=r("SchemesContainer",!0),h=r("AuthorizeBtnContainer",!0),g=r("FilterContainer",!0),y=t.isSwagger2(),f=t.isOAS3(),S=t.isOAS31(),E=!t.specStr(),_=t.loadingStatus();let v=null;if("loading"===_&&(v=O().createElement("div",{className:"info"},O().createElement("div",{className:"loading-container"},O().createElement("div",{className:"loading"})))),"failed"===_&&(v=O().createElement("div",{className:"info"},O().createElement("div",{className:"loading-container"},O().createElement("h4",{className:"title"},"Failed to load API definition."),O().createElement(m,null)))),"failedConfig"===_){const t=e.lastError(),r=t?t.get("message"):"";v=O().createElement("div",{className:"info failed-config"},O().createElement("div",{className:"loading-container"},O().createElement("h4",{className:"title"},"Failed to load remote configuration."),O().createElement("p",null,r)))}if(!v&&E&&(v=O().createElement("h4",null,"No API definition provided.")),v)return O().createElement("div",{className:"swagger-ui"},O().createElement("div",{className:"loading-container"},v));const w=t.servers(),b=t.schemes(),C=w&&w.size,x=b&&b.size,N=!!t.securityDefinitions();return O().createElement("div",{className:"swagger-ui"},O().createElement(a,null),O().createElement(s,{isSwagger2:y,isOAS3:f,alsoShow:O().createElement(m,null)},O().createElement(m,null),O().createElement(i,{className:"information-container"},O().createElement(p,{mobile:12},O().createElement(n,null))),C||x||N?O().createElement("div",{className:"scheme-container"},O().createElement(p,{className:"schemes wrapper",mobile:12},C||x?O().createElement("div",{className:"schemes-server-container"},C?O().createElement(u,null):null,x?O().createElement(d,null):null):null,N?O().createElement(h,null):null)):null,O().createElement(g,null),O().createElement(i,null,O().createElement(p,{mobile:12,desktop:12},O().createElement(o,null))),S&&O().createElement(i,{className:"webhooks-container"},O().createElement(p,{mobile:12,desktop:12},O().createElement(c,null))),O().createElement(i,null,O().createElement(p,{mobile:12,desktop:12},O().createElement(l,null)))))}}const core_components=()=>({components:{App:Ga,authorizationPopup:AuthorizationPopup,authorizeBtn:AuthorizeBtn,AuthorizeBtnContainer,authorizeOperationBtn:AuthorizeOperationBtn,auths:Auths,AuthItem:auth_item_Auths,authError:AuthError,oauth2:Oauth2,apiKeyAuth:ApiKeyAuth,basicAuth:BasicAuth,clear:Clear,liveResponse:LiveResponse,InitializedInput,info:sn,InfoContainer,InfoUrl,InfoBasePath,Contact:on,License:ln,JumpToPath,CopyToClipboardBtn,onlineValidatorBadge:OnlineValidatorBadge,operations:Operations,operation:Operation,OperationSummary,OperationSummaryMethod,OperationSummaryPath,responses:Responses,response:Response,ResponseExtension:response_extension,responseBody:ResponseBody,parameters:Parameters,parameterRow:ParameterRow,execute:Execute,headers:headers_Headers,errors:Errors,contentType:ContentType,overview:Overview,footer:Footer,FilterContainer,ParamBody,curl:Curl,Property:property,TryItOutButton,Markdown:hn,BaseLayout,VersionPragmaFilter,VersionStamp:version_stamp,OperationExt:operation_extensions,OperationExtRow:operation_extension_row,ParameterExt:parameter_extension,ParameterIncludeEmpty,OperationTag,OperationContainer,OpenAPIVersion:openapi_version,DeepLink:deep_link,SvgAssets:svg_assets,Example,ExamplesSelect,ExamplesSelectValueRetainer}}),form_components=()=>({components:{...E}}),base=()=>[configsPlugin,util,logs,view,view_legacy,plugins_spec,err,icons,plugins_layout,json_schema_5,json_schema_5_samples,core_components,form_components,swagger_client,auth,downloadUrlPlugin,deep_linking,filter,on_complete,plugins_request_snippets,syntax_highlighting,versions,safe_render()],gn=(0,k.Map)();function onlyOAS3(e){return(t,r)=>(...a)=>{if(r.getSystem().specSelectors.isOAS3()){const t=e(...a);return"function"==typeof t?t(r):t}return t(...a)}}const yn=onlyOAS3(Vt()(null)),fn=onlyOAS3(((e,t)=>e=>e.getSystem().specSelectors.findSchema(t))),Sn=onlyOAS3((()=>e=>{const t=e.getSystem().specSelectors.specJson().getIn(["components","schemas"]);return k.Map.isMap(t)?t:gn})),En=onlyOAS3((()=>e=>e.getSystem().specSelectors.specJson().hasIn(["servers",0]))),_n=onlyOAS3((0,_e.createSelector)(Ht,(e=>e.getIn(["components","securitySchemes"])||null))),wrap_selectors_validOperationMethods=(e,t)=>(r,...a)=>t.specSelectors.isOAS3()?t.oas3Selectors.validOperationMethods():e(...a),vn=yn,wn=yn,bn=yn,Cn=yn,xn=yn;const On=function wrap_selectors_onlyOAS3(e){return(t,r)=>(...a)=>{if(r.getSystem().specSelectors.isOAS3()){let t=r.getState().getIn(["spec","resolvedSubtrees","components","securitySchemes"]);return e(r,t,...a)}return t(...a)}}((0,_e.createSelector)((e=>e),(({specSelectors:e})=>e.securityDefinitions()),((e,t)=>{let r=(0,k.List)();return t?(t.entrySeq().forEach((([e,t])=>{const a=t?.get("type");if("oauth2"===a&&t.get("flows").entrySeq().forEach((([a,n])=>{let s=(0,k.fromJS)({flow:a,authorizationUrl:n.get("authorizationUrl"),tokenUrl:n.get("tokenUrl"),scopes:n.get("scopes"),type:t.get("type"),description:t.get("description")});r=r.push(new k.Map({[e]:s.filter((e=>void 0!==e))}))})),"http"!==a&&"apiKey"!==a||(r=r.push(new k.Map({[e]:t}))),"openIdConnect"===a&&t.get("openIdConnectData")){let a=t.get("openIdConnectData");(a.get("grant_types_supported")||["authorization_code","implicit"]).forEach((n=>{let s=a.get("scopes_supported")&&a.get("scopes_supported").reduce(((e,t)=>e.set(t,"")),new k.Map),o=(0,k.fromJS)({flow:n,authorizationUrl:a.get("authorization_endpoint"),tokenUrl:a.get("token_endpoint"),scopes:s,type:"oauth2",openIdConnectUrl:t.get("openIdConnectUrl")});r=r.push(new k.Map({[e]:o.filter((e=>void 0!==e))}))}))}})),r):r})));function OAS3ComponentWrapFactory(e){return(t,r)=>a=>"function"==typeof r.specSelectors?.isOAS3?r.specSelectors.isOAS3()?O().createElement(e,Qe()({},a,r,{Ori:t})):O().createElement(t,a):(console.warn("OAS3 wrapper: couldn't get spec"),null)}const Nn=(0,k.Map)(),selectors_isSwagger2=()=>e=>function isSwagger2(e){const t=e.get("swagger");return"string"==typeof t&&"2.0"===t}(e.getSystem().specSelectors.specJson()),selectors_isOAS30=()=>e=>function isOAS30(e){const t=e.get("openapi");return"string"==typeof t&&/^3\.0\.(?:[1-9]\d*|0)$/.test(t)}(e.getSystem().specSelectors.specJson()),selectors_isOAS3=()=>e=>e.getSystem().specSelectors.isOAS30();function selectors_onlyOAS3(e){return(t,...r)=>a=>{if(a.specSelectors.isOAS3()){const n=e(t,...r);return"function"==typeof n?n(a):n}return null}}const kn=selectors_onlyOAS3((()=>e=>e.specSelectors.specJson().get("servers",Nn))),findSchema=(e,t)=>{const r=e.getIn(["resolvedSubtrees","components","schemas",t],null),a=e.getIn(["json","components","schemas",t],null);return r||a||null},An=selectors_onlyOAS3(((e,{callbacks:t,specPath:r})=>e=>{const a=e.specSelectors.validOperationMethods();return k.Map.isMap(t)?t.reduce(((e,t,n)=>{if(!k.Map.isMap(t))return e;const s=t.reduce(((e,t,s)=>{if(!k.Map.isMap(t))return e;const o=t.entrySeq().filter((([e])=>a.includes(e))).map((([e,t])=>({operation:(0,k.Map)({operation:t}),method:e,path:s,callbackName:n,specPath:r.concat([n,s,e])})));return e.concat(o)}),(0,k.List)());return e.concat(s)}),(0,k.List)()).groupBy((e=>e.callbackName)).map((e=>e.toArray())).toObject():{}})),callbacks=({callbacks:e,specPath:t,specSelectors:r,getComponent:a})=>{const n=r.callbacksOperations({callbacks:e,specPath:t}),s=Object.keys(n),o=a("OperationContainer",!0);return 0===s.length?O().createElement("span",null,"No callbacks"):O().createElement("div",null,s.map((e=>O().createElement("div",{key:`${e}`},O().createElement("h2",null,e),n[e].map((t=>O().createElement(o,{key:`${e}-${t.path}-${t.method}`,op:t.operation,tag:"callbacks",method:t.method,path:t.path,specPath:t.specPath,allowTryItOut:!1})))))))},getDefaultRequestBodyValue=(e,t,r,a)=>{const n=e.getIn(["content",t])??(0,k.OrderedMap)(),s=n.get("schema",(0,k.OrderedMap)()).toJS(),o=void 0!==n.get("examples"),l=n.get("example"),c=o?n.getIn(["examples",r,"value"]):l;return stringify(a.getSampleSchema(s,t,{includeWriteOnly:!0},c))},request_body=({userHasEditedBody:e,requestBody:t,requestBodyValue:r,requestBodyInclusionSetting:a,requestBodyErrors:n,getComponent:s,getConfigs:o,specSelectors:l,fn:c,contentType:i,isExecute:p,specPath:m,onChange:u,onChangeIncludeEmpty:d,activeExamplesKey:h,updateActiveExamplesKey:g,setRetainRequestBodyValueFlag:y})=>{const handleFile=e=>{u(e.target.files[0])},setIsIncludedOptions=e=>{let t={key:e,shouldDispatchInit:!1,defaultValue:!0};return"no value"===a.get(e,"no value")&&(t.shouldDispatchInit=!0),t},f=s("Markdown",!0),S=s("modelExample"),E=s("RequestBodyEditor"),_=s("HighlightCode",!0),v=s("ExamplesSelectValueRetainer"),w=s("Example"),b=s("ParameterIncludeEmpty"),{showCommonExtensions:C}=o(),x=t?.get("description")??null,N=t?.get("content")??new k.OrderedMap;i=i||N.keySeq().first()||"";const A=N.get(i)??(0,k.OrderedMap)(),I=A.get("schema",(0,k.OrderedMap)()),j=A.get("examples",null),q=j?.map(((e,r)=>{const a=e?.get("value",null);return a&&(e=e.set("value",getDefaultRequestBodyValue(t,i,r,c),a)),e}));n=k.List.isList(n)?n:(0,k.List)();if(c.isFileUploadIntended(A?.get("schema"),i)){const e=s("Input");return p?O().createElement(e,{type:"file",onChange:handleFile}):O().createElement("i",null,"Example values are not available for ",O().createElement("code",null,i)," media types.")}if(!A.size)return null;if(c.hasSchemaType(A.get("schema"),"object")&&("application/x-www-form-urlencoded"===i||0===i.indexOf("multipart/"))&&I.get("properties",(0,k.OrderedMap)()).size>0){const e=s("JsonSchemaForm"),t=s("ParameterExt"),i=I.get("properties",(0,k.OrderedMap)());return r=k.Map.isMap(r)?r:(0,k.OrderedMap)(),O().createElement("div",{className:"table-container"},x&&O().createElement(f,{source:x}),O().createElement("table",null,O().createElement("tbody",null,k.Map.isMap(i)&&i.entrySeq().map((([i,h])=>{if(h.get("readOnly"))return;const g=h.get("oneOf")?.get(0)?.toJS(),y=h.get("anyOf")?.get(0)?.toJS();h=(0,k.fromJS)(c.mergeJsonSchema(h.toJS(),g??y??{}));let E=C?getCommonExtensions(h):null;const _=I.get("required",(0,k.List)()).includes(i),v=c.getSchemaObjectType(h),w=c.getSchemaObjectTypeLabel(h),x=c.getSchemaObjectType(h?.get("items")),N=h.get("format"),A=h.get("description"),j=r.getIn([i,"value"]),q=r.getIn([i,"errors"])||n,P=a.get(i)||!1;let M=c.getSampleSchema(h,!1,{includeWriteOnly:!0});!1===M&&(M="false"),0===M&&(M="0"),"string"!=typeof M&&"object"===v&&(M=stringify(M)),"string"==typeof M&&"array"===v&&(M=JSON.parse(M));const T=c.isFileUploadIntended(h),R=O().createElement(e,{fn:c,dispatchInitialValue:!T,schema:h,description:i,getComponent:s,value:void 0===j?M:j,required:_,errors:q,onChange:e=>{u(e,[i])}});return O().createElement("tr",{key:i,className:"parameters","data-property-name":i},O().createElement("td",{className:"parameters-col_name"},O().createElement("div",{className:_?"parameter__name required":"parameter__name"},i,_?O().createElement("span",null," *"):null),O().createElement("div",{className:"parameter__type"},w,N&&O().createElement("span",{className:"prop-format"},"($",N,")"),C&&E.size?E.entrySeq().map((([e,r])=>O().createElement(t,{key:`${e}-${r}`,xKey:e,xVal:r}))):null),O().createElement("div",{className:"parameter__deprecated"},h.get("deprecated")?"deprecated":null)),O().createElement("td",{className:"parameters-col_description"},O().createElement(f,{source:A}),p?O().createElement("div",null,"object"===v||"object"===x?O().createElement(S,{getComponent:s,specPath:m.push("schema"),getConfigs:o,isExecute:p,specSelectors:l,schema:h,example:R}):R,_?null:O().createElement(b,{onChange:e=>d(i,e),isIncluded:P,isIncludedOptions:setIsIncludedOptions(i),isDisabled:Array.isArray(j)?0!==j.length:!isEmptyValue(j)})):null))})))))}const P=getDefaultRequestBodyValue(t,i,h,c);let M=null;getKnownSyntaxHighlighterLanguage(P)&&(M="json");const T=p?O().createElement(E,{value:r,errors:n,defaultValue:P,onChange:u,getComponent:s}):O().createElement(_,{className:"body-param__example",language:M},stringify(r)||P);return O().createElement("div",null,x&&O().createElement(f,{source:x}),q?O().createElement(v,{userHasEditedBody:e,examples:q,currentKey:h,currentUserInputValue:r,onSelect:e=>{g(e)},updateValue:u,defaultToFirstExample:!0,getComponent:s,setRetainRequestBodyValueFlag:y}):null,O().createElement(S,{getComponent:s,getConfigs:o,specSelectors:l,expandDepth:1,isExecute:p,schema:A.get("schema"),specPath:m.push("content",i,"schema"),example:T,includeWriteOnly:!0}),q?O().createElement(w,{example:q.get(h),getComponent:s,getConfigs:o}):null)};class operation_link_OperationLink extends x.Component{render(){const{link:e,name:t,getComponent:r}=this.props,a=r("Markdown",!0);let n=e.get("operationId")||e.get("operationRef"),s=e.get("parameters")&&e.get("parameters").toJS(),o=e.get("description");return O().createElement("div",{className:"operation-link"},O().createElement("div",{className:"description"},O().createElement("b",null,O().createElement("code",null,t)),o?O().createElement(a,{source:o}):null),O().createElement("pre",null,"Operation `",n,"`",O().createElement("br",null),O().createElement("br",null),"Parameters ",function padString(e,t){if("string"!=typeof t)return"";return t.split("\n").map(((t,r)=>r>0?Array(e+1).join(" ")+t:t)).join("\n")}(0,JSON.stringify(s,null,2))||"{}",O().createElement("br",null)))}}const In=operation_link_OperationLink,components_servers=({servers:e,currentServer:t,setSelectedServer:r,setServerVariableValue:a,getServerVariable:n,getEffectiveServerValue:s})=>{const o=(e.find((e=>e.get("url")===t))||(0,k.OrderedMap)()).get("variables")||(0,k.OrderedMap)(),l=0!==o.size;(0,x.useEffect)((()=>{t||r(e.first()?.get("url"))}),[]),(0,x.useEffect)((()=>{const n=e.find((e=>e.get("url")===t));if(!n)return void r(e.first().get("url"));(n.get("variables")||(0,k.OrderedMap)()).map(((e,r)=>{a({server:t,key:r,val:e.get("default")||""})}))}),[t,e]);const c=(0,x.useCallback)((e=>{r(e.target.value)}),[r]),i=(0,x.useCallback)((e=>{const r=e.target.getAttribute("data-variable"),n=e.target.value;a({server:t,key:r,val:n})}),[a,t]);return O().createElement("div",{className:"servers"},O().createElement("label",{htmlFor:"servers"},O().createElement("select",{onChange:c,value:t,id:"servers"},e.valueSeq().map((e=>O().createElement("option",{value:e.get("url"),key:e.get("url")},e.get("url"),e.get("description")&&` - ${e.get("description")}`))).toArray())),l&&O().createElement("div",null,O().createElement("div",{className:"computed-url"},"Computed URL:",O().createElement("code",null,s(t))),O().createElement("h4",null,"Server variables"),O().createElement("table",null,O().createElement("tbody",null,o.entrySeq().map((([e,r])=>O().createElement("tr",{key:e},O().createElement("td",null,e),O().createElement("td",null,r.get("enum")?O().createElement("select",{"data-variable":e,onChange:i},r.get("enum").map((r=>O().createElement("option",{selected:r===n(t,e),key:r,value:r},r)))):O().createElement("input",{type:"text",value:n(t,e)||"",onChange:i,"data-variable":e})))))))))};class ServersContainer extends O().Component{render(){const{specSelectors:e,oas3Selectors:t,oas3Actions:r,getComponent:a}=this.props,n=e.servers(),s=a("Servers");return n&&n.size?O().createElement("div",null,O().createElement("span",{className:"servers-title"},"Servers"),O().createElement(s,{servers:n,currentServer:t.selectedServer(),setSelectedServer:r.setSelectedServer,setServerVariableValue:r.setServerVariableValue,getServerVariable:t.serverVariableValue,getEffectiveServerValue:t.serverEffectiveValue})):null}}const jn=Function.prototype;class RequestBodyEditor extends x.PureComponent{static defaultProps={onChange:jn,userHasEditedBody:!1};constructor(e,t){super(e,t),this.state={value:stringify(e.value)||e.defaultValue},e.onChange(e.value)}applyDefaultValue=e=>{const{onChange:t,defaultValue:r}=e||this.props;return this.setState({value:r}),t(r)};onChange=e=>{this.props.onChange(stringify(e))};onDomChange=e=>{const t=e.target.value;this.setState({value:t},(()=>this.onChange(t)))};UNSAFE_componentWillReceiveProps(e){this.props.value!==e.value&&e.value!==this.state.value&&this.setState({value:stringify(e.value)}),!e.value&&e.defaultValue&&this.state.value&&this.applyDefaultValue(e)}render(){let{getComponent:e,errors:t}=this.props,{value:r}=this.state,a=t.size>0;const n=e("TextArea");return O().createElement("div",{className:"body-param"},O().createElement(n,{className:pt()("body-param__text",{invalid:a}),title:t.size?t.join(", "):"",value:r,onChange:this.onDomChange}))}}class HttpAuth extends O().Component{constructor(e,t){super(e,t);let{name:r,schema:a}=this.props,n=this.getValue();this.state={name:r,schema:a,value:n}}getValue(){let{name:e,authorized:t}=this.props;return t&&t.getIn([e,"value"])}onChange=e=>{let{onChange:t}=this.props,{value:r,name:a}=e.target,n=Object.assign({},this.state.value);a?n[a]=r:n=r,this.setState({value:n},(()=>t(this.state)))};render(){let{schema:e,getComponent:t,errSelectors:r,name:a,authSelectors:n}=this.props;const s=t("Input"),o=t("Row"),l=t("Col"),c=t("authError"),i=t("Markdown",!0),p=t("JumpToPath",!0),m=(e.get("scheme")||"").toLowerCase(),u=n.selectAuthPath(a);let d=this.getValue(),h=r.allErrors().filter((e=>e.get("authId")===a));if("basic"===m){let t=d?d.get("username"):null;return O().createElement("div",null,O().createElement("h4",null,O().createElement("code",null,a),"  (http, Basic)",O().createElement(p,{path:u})),t&&O().createElement("h6",null,"Authorized"),O().createElement(o,null,O().createElement(i,{source:e.get("description")})),O().createElement(o,null,O().createElement("label",{htmlFor:"auth-basic-username"},"Username:"),t?O().createElement("code",null," ",t," "):O().createElement(l,null,O().createElement(s,{id:"auth-basic-username",type:"text",required:"required",name:"username","aria-label":"auth-basic-username",onChange:this.onChange,autoFocus:!0}))),O().createElement(o,null,O().createElement("label",{htmlFor:"auth-basic-password"},"Password:"),t?O().createElement("code",null," ****** "):O().createElement(l,null,O().createElement(s,{id:"auth-basic-password",autoComplete:"new-password",name:"password",type:"password","aria-label":"auth-basic-password",onChange:this.onChange}))),h.valueSeq().map(((e,t)=>O().createElement(c,{error:e,key:t}))))}return"bearer"===m?O().createElement("div",null,O().createElement("h4",null,O().createElement("code",null,a),"  (http, Bearer)",O().createElement(p,{path:u})),d&&O().createElement("h6",null,"Authorized"),O().createElement(o,null,O().createElement(i,{source:e.get("description")})),O().createElement(o,null,O().createElement("label",{htmlFor:"auth-bearer-value"},"Value:"),d?O().createElement("code",null," ****** "):O().createElement(l,null,O().createElement(s,{id:"auth-bearer-value",type:"text","aria-label":"auth-bearer-value",onChange:this.onChange,autoFocus:!0}))),h.valueSeq().map(((e,t)=>O().createElement(c,{error:e,key:t})))):O().createElement("div",null,O().createElement("em",null,O().createElement("b",null,a)," HTTP authentication: unsupported scheme ",`'${m}'`))}}class OperationServers extends O().Component{setSelectedServer=e=>{const{path:t,method:r}=this.props;return this.forceUpdate(),this.props.setSelectedServer(e,`${t}:${r}`)};setServerVariableValue=e=>{const{path:t,method:r}=this.props;return this.forceUpdate(),this.props.setServerVariableValue({...e,namespace:`${t}:${r}`})};getSelectedServer=()=>{const{path:e,method:t}=this.props;return this.props.getSelectedServer(`${e}:${t}`)};getServerVariable=(e,t)=>{const{path:r,method:a}=this.props;return this.props.getServerVariable({namespace:`${r}:${a}`,server:e},t)};getEffectiveServerValue=e=>{const{path:t,method:r}=this.props;return this.props.getEffectiveServerValue({server:e,namespace:`${t}:${r}`})};render(){const{operationServers:e,pathServers:t,getComponent:r}=this.props;if(!e&&!t)return null;const a=r("Servers"),n=e||t,s=e?"operation":"path";return O().createElement("div",{className:"opblock-section operation-servers"},O().createElement("div",{className:"opblock-section-header"},O().createElement("div",{className:"tab-header"},O().createElement("h4",{className:"opblock-title"},"Servers"))),O().createElement("div",{className:"opblock-description-wrapper"},O().createElement("h4",{className:"message"},"These ",s,"-level options override the global server options."),O().createElement(a,{servers:n,currentServer:this.getSelectedServer(),setSelectedServer:this.setSelectedServer,setServerVariableValue:this.setServerVariableValue,getServerVariable:this.getServerVariable,getEffectiveServerValue:this.getEffectiveServerValue})))}}const qn={Callbacks:callbacks,HttpAuth,RequestBody:request_body,Servers:components_servers,ServersContainer,RequestBodyEditor,OperationServers,operationLink:In},Pn=new pn.Remarkable("commonmark");Pn.block.ruler.enable(["table"]),Pn.set({linkTarget:"_blank"});const Mn=OAS3ComponentWrapFactory((({source:e,className:t="",getConfigs:r=()=>({useUnsafeMarkdown:!1})})=>{if("string"!=typeof e)return null;if(e){const{useUnsafeMarkdown:a}=r(),n=sanitizer(Pn.render(e),{useUnsafeMarkdown:a});let s;return"string"==typeof n&&(s=n.trim()),O().createElement("div",{dangerouslySetInnerHTML:{__html:s},className:pt()(t,"renderedMarkdown")})}return null})),Tn=OAS3ComponentWrapFactory((({Ori:e,...t})=>{const{schema:r,getComponent:a,errSelectors:n,authorized:s,onAuthChange:o,name:l,authSelectors:c}=t,i=a("HttpAuth");return"http"===r.get("type")?O().createElement(i,{key:l,schema:r,name:l,errSelectors:n,authorized:s,getComponent:a,onChange:o,authSelectors:c}):O().createElement(e,t)})),Rn=OAS3ComponentWrapFactory(OnlineValidatorBadge);class ModelComponent extends x.Component{render(){let{getConfigs:e,schema:t,Ori:r}=this.props,a=["model-box"],n=null;return!0===t.get("deprecated")&&(a.push("deprecated"),n=O().createElement("span",{className:"model-deprecated-warning"},"Deprecated:")),O().createElement("div",{className:a.join(" ")},n,O().createElement(r,Qe()({},this.props,{getConfigs:e,depth:1,expandDepth:this.props.expandDepth||0})))}}const Jn=OAS3ComponentWrapFactory(ModelComponent),$n=OAS3ComponentWrapFactory((({Ori:e,...t})=>{const{schema:r,getComponent:a,errors:n,onChange:s,fn:o}=t,l=o.isFileUploadIntended(r),c=a("Input");return l?O().createElement(c,{type:"file",className:n.length?"invalid":"",title:n.length?n:"",onChange:e=>{s(e.target.files[0])},disabled:e.isDisabled}):O().createElement(e,t)})),Vn={Markdown:Mn,AuthItem:Tn,OpenAPIVersion:function OAS30ComponentWrapFactory(e){return(t,r)=>a=>"function"==typeof r.specSelectors?.isOAS30?r.specSelectors.isOAS30()?O().createElement(e,Qe()({},a,r,{Ori:t})):O().createElement(t,a):(console.warn("OAS30 wrapper: couldn't get spec"),null)}((e=>{const{Ori:t}=e;return O().createElement(t,{oasVersion:"3.0"})})),JsonSchema_string:$n,model:Jn,onlineValidatorBadge:Rn},Ln="oas3_set_servers",Dn="oas3_set_request_body_value",Un="oas3_set_request_body_retain_flag",Kn="oas3_set_request_body_inclusion",zn="oas3_set_active_examples_member",Bn="oas3_set_request_content_type",Fn="oas3_set_response_content_type",Wn="oas3_set_server_variable_value",Hn="oas3_set_request_body_validate_error",Xn="oas3_clear_request_body_validate_error",Gn="oas3_clear_request_body_value";function setSelectedServer(e,t){return{type:Ln,payload:{selectedServerUrl:e,namespace:t}}}function setRequestBodyValue({value:e,pathMethod:t}){return{type:Dn,payload:{value:e,pathMethod:t}}}const setRetainRequestBodyValueFlag=({value:e,pathMethod:t})=>({type:Un,payload:{value:e,pathMethod:t}});function setRequestBodyInclusion({value:e,pathMethod:t,name:r}){return{type:Kn,payload:{value:e,pathMethod:t,name:r}}}function setActiveExamplesMember({name:e,pathMethod:t,contextType:r,contextName:a}){return{type:zn,payload:{name:e,pathMethod:t,contextType:r,contextName:a}}}function setRequestContentType({value:e,pathMethod:t}){return{type:Bn,payload:{value:e,pathMethod:t}}}function setResponseContentType({value:e,path:t,method:r}){return{type:Fn,payload:{value:e,path:t,method:r}}}function setServerVariableValue({server:e,namespace:t,key:r,val:a}){return{type:Wn,payload:{server:e,namespace:t,key:r,val:a}}}const setRequestBodyValidateError=({path:e,method:t,validationErrors:r})=>({type:Hn,payload:{path:e,method:t,validationErrors:r}}),clearRequestBodyValidateError=({path:e,method:t})=>({type:Xn,payload:{path:e,method:t}}),initRequestBodyValidateError=({pathMethod:e})=>({type:Xn,payload:{path:e[0],method:e[1]}}),clearRequestBodyValue=({pathMethod:e})=>({type:Gn,payload:{pathMethod:e}}),Yn=require("lodash/escapeRegExp");var Qn=__webpack_require__.n(Yn);const oas3_selectors_onlyOAS3=e=>(t,...r)=>a=>{if(a.getSystem().specSelectors.isOAS3()){const n=e(t,...r);return"function"==typeof n?n(a):n}return null};const Zn=oas3_selectors_onlyOAS3(((e,t)=>{const r=t?[t,"selectedServer"]:["selectedServer"];return e.getIn(r)||""})),es=oas3_selectors_onlyOAS3(((e,t,r)=>e.getIn(["requestData",t,r,"bodyValue"])||null)),ts=oas3_selectors_onlyOAS3(((e,t,r)=>e.getIn(["requestData",t,r,"retainBodyValue"])||!1)),selectDefaultRequestBodyValue=(e,t,r)=>e=>{const{oas3Selectors:a,specSelectors:n,fn:s}=e.getSystem();if(n.isOAS3()){const e=a.requestContentType(t,r);if(e)return getDefaultRequestBodyValue(n.specResolvedSubtree(["paths",t,r,"requestBody"]),e,a.activeExamplesMember(t,r,"requestBody","requestBody"),s)}return null},rs=oas3_selectors_onlyOAS3(((e,t,r)=>e=>{const{oas3Selectors:a,specSelectors:n,fn:s}=e;let o=!1;const l=a.requestContentType(t,r);let c=a.requestBodyValue(t,r);const i=n.specResolvedSubtree(["paths",t,r,"requestBody"]);if(!i)return!1;if(k.Map.isMap(c)&&(c=stringify(c.mapEntries((e=>k.Map.isMap(e[1])?[e[0],e[1].get("value")]:e)).toJS())),k.List.isList(c)&&(c=stringify(c)),l){const e=getDefaultRequestBodyValue(i,l,a.activeExamplesMember(t,r,"requestBody","requestBody"),s);o=!!c&&c!==e}return o})),as=oas3_selectors_onlyOAS3(((e,t,r)=>e.getIn(["requestData",t,r,"bodyInclusion"])||(0,k.Map)())),ns=oas3_selectors_onlyOAS3(((e,t,r)=>e.getIn(["requestData",t,r,"errors"])||null)),ss=oas3_selectors_onlyOAS3(((e,t,r,a,n)=>e.getIn(["examples",t,r,a,n,"activeExample"])||null)),os=oas3_selectors_onlyOAS3(((e,t,r)=>e.getIn(["requestData",t,r,"requestContentType"])||null)),ls=oas3_selectors_onlyOAS3(((e,t,r)=>e.getIn(["requestData",t,r,"responseContentType"])||null)),cs=oas3_selectors_onlyOAS3(((e,t,r)=>{let a;if("string"!=typeof t){const{server:e,namespace:n}=t;a=n?[n,"serverVariableValues",e,r]:["serverVariableValues",e,r]}else{a=["serverVariableValues",t,r]}return e.getIn(a)||null})),is=oas3_selectors_onlyOAS3(((e,t)=>{let r;if("string"!=typeof t){const{server:e,namespace:a}=t;r=a?[a,"serverVariableValues",e]:["serverVariableValues",e]}else{r=["serverVariableValues",t]}return e.getIn(r)||(0,k.OrderedMap)()})),ps=oas3_selectors_onlyOAS3(((e,t)=>{var r,a;if("string"!=typeof t){const{server:n,namespace:s}=t;a=n,r=s?e.getIn([s,"serverVariableValues",a]):e.getIn(["serverVariableValues",a])}else a=t,r=e.getIn(["serverVariableValues",a]);r=r||(0,k.OrderedMap)();let n=a;return r.map(((e,t)=>{n=n.replace(new RegExp(`{${Qn()(t)}}`,"g"),e)})),n})),ms=function validateRequestBodyIsRequired(e){return(...t)=>r=>{const a=r.getSystem().specSelectors.specJson();let n=[...t][1]||[];return!a.getIn(["paths",...n,"requestBody","required"])||e(...t)}}(((e,t)=>((e,t)=>(t=t||[],!!e.getIn(["requestData",...t,"bodyValue"])))(e,t))),validateShallowRequired=(e,{oas3RequiredRequestBodyContentType:t,oas3RequestContentType:r,oas3RequestBodyValue:a})=>{let n=[];if(!k.Map.isMap(a))return n;let s=[];return Object.keys(t.requestContentType).forEach((e=>{if(e===r){t.requestContentType[e].forEach((e=>{s.indexOf(e)<0&&s.push(e)}))}})),s.forEach((e=>{a.getIn([e,"value"])||n.push(e)})),n},us=Vt()(["get","put","post","delete","options","head","patch","trace"]),ds={[Ln]:(e,{payload:{selectedServerUrl:t,namespace:r}})=>{const a=r?[r,"selectedServer"]:["selectedServer"];return e.setIn(a,t)},[Dn]:(e,{payload:{value:t,pathMethod:r}})=>{let[a,n]=r;if(!k.Map.isMap(t))return e.setIn(["requestData",a,n,"bodyValue"],t);let s=e.getIn(["requestData",a,n,"bodyValue"])||(0,k.Map)();k.Map.isMap(s)||(s=(0,k.Map)());let o=s;const[...l]=t.keys();return l.forEach((e=>{let r=t.getIn([e]);o.has(e)&&k.Map.isMap(r)||(o=o.setIn([e,"value"],r))})),e.setIn(["requestData",a,n,"bodyValue"],o)},[Un]:(e,{payload:{value:t,pathMethod:r}})=>{let[a,n]=r;return e.setIn(["requestData",a,n,"retainBodyValue"],t)},[Kn]:(e,{payload:{value:t,pathMethod:r,name:a}})=>{let[n,s]=r;return e.setIn(["requestData",n,s,"bodyInclusion",a],t)},[zn]:(e,{payload:{name:t,pathMethod:r,contextType:a,contextName:n}})=>{let[s,o]=r;return e.setIn(["examples",s,o,a,n,"activeExample"],t)},[Bn]:(e,{payload:{value:t,pathMethod:r}})=>{let[a,n]=r;return e.setIn(["requestData",a,n,"requestContentType"],t)},[Fn]:(e,{payload:{value:t,path:r,method:a}})=>e.setIn(["requestData",r,a,"responseContentType"],t),[Wn]:(e,{payload:{server:t,namespace:r,key:a,val:n}})=>{const s=r?[r,"serverVariableValues",t,a]:["serverVariableValues",t,a];return e.setIn(s,n)},[Hn]:(e,{payload:{path:t,method:r,validationErrors:a}})=>{let n=[];if(n.push("Required field is not provided"),a.missingBodyValue)return e.setIn(["requestData",t,r,"errors"],(0,k.fromJS)(n));if(a.missingRequiredKeys&&a.missingRequiredKeys.length>0){const{missingRequiredKeys:s}=a;return e.updateIn(["requestData",t,r,"bodyValue"],(0,k.fromJS)({}),(e=>s.reduce(((e,t)=>e.setIn([t,"errors"],(0,k.fromJS)(n))),e)))}return console.warn("unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR"),e},[Xn]:(e,{payload:{path:t,method:r}})=>{const a=e.getIn(["requestData",t,r,"bodyValue"]);if(!k.Map.isMap(a))return e.setIn(["requestData",t,r,"errors"],(0,k.fromJS)([]));const[...n]=a.keys();return n?e.updateIn(["requestData",t,r,"bodyValue"],(0,k.fromJS)({}),(e=>n.reduce(((e,t)=>e.setIn([t,"errors"],(0,k.fromJS)([]))),e))):e},[Gn]:(e,{payload:{pathMethod:t}})=>{let[r,a]=t;const n=e.getIn(["requestData",r,a,"bodyValue"]);return n?k.Map.isMap(n)?e.setIn(["requestData",r,a,"bodyValue"],(0,k.Map)()):e.setIn(["requestData",r,a,"bodyValue"],""):e}};function oas3({getSystem:e}){const t=(e=>(t,r=null)=>{const{getConfigs:a,fn:n}=e(),{fileUploadMediaTypes:s}=a();if("string"==typeof r&&s.some((e=>r.startsWith(e))))return!0;const o=k.Map.isMap(t);if(!o&&!wt()(t))return!1;const l=o?t.get("format"):t.format;return n.hasSchemaType(t,"string")&&["binary","byte"].includes(l)})(e);return{components:qn,wrapComponents:Vn,statePlugins:{spec:{wrapSelectors:_,selectors:w},auth:{wrapSelectors:v},oas3:{actions:{...b},reducers:ds,selectors:{...C}}},fn:{isFileUploadIntended:t,isFileUploadIntendedOAS30:t}}}const webhooks=({specSelectors:e,getComponent:t})=>{const r=e.selectWebhooksOperations();if(!r)return null;const a=Object.keys(r),n=t("OperationContainer",!0);return 0===a.length?null:O().createElement("div",{className:"webhooks"},O().createElement("h2",null,"Webhooks"),a.map((e=>O().createElement("div",{key:`${e}-webhook`},r[e].map((t=>O().createElement(n,{key:`${e}-${t.method}-webhook`,op:t.operation,tag:"webhooks",method:t.method,path:e,specPath:(0,k.List)(t.specPath),allowTryItOut:!1})))))))},components_license=({getComponent:e,specSelectors:t})=>{const r=t.selectLicenseNameField(),a=t.selectLicenseUrl(),n=e("Link");return O().createElement("div",{className:"info__license"},a?O().createElement("div",{className:"info__license__url"},O().createElement(n,{target:"_blank",href:sanitizeUrl(a)},r)):O().createElement("span",null,r))},components_contact=({getComponent:e,specSelectors:t})=>{const r=t.selectContactNameField(),a=t.selectContactUrl(),n=t.selectContactEmailField(),s=e("Link");return O().createElement("div",{className:"info__contact"},a&&O().createElement("div",null,O().createElement(s,{href:sanitizeUrl(a),target:"_blank"},r," - Website")),n&&O().createElement(s,{href:sanitizeUrl(`mailto:${n}`)},a?`Send email to ${r}`:`Contact ${r}`))},oas31_components_info=({getComponent:e,specSelectors:t})=>{const r=t.version(),a=t.url(),n=t.basePath(),s=t.host(),o=t.selectInfoSummaryField(),l=t.selectInfoDescriptionField(),c=t.selectInfoTitleField(),i=t.selectInfoTermsOfServiceUrl(),p=t.selectExternalDocsUrl(),m=t.selectExternalDocsDescriptionField(),u=t.contact(),d=t.license(),h=e("Markdown",!0),g=e("Link"),y=e("VersionStamp"),f=e("OpenAPIVersion"),S=e("InfoUrl"),E=e("InfoBasePath"),_=e("License",!0),v=e("Contact",!0),w=e("JsonSchemaDialect",!0);return O().createElement("div",{className:"info"},O().createElement("hgroup",{className:"main"},O().createElement("h1",{className:"title"},c,O().createElement("span",null,r&&O().createElement(y,{version:r}),O().createElement(f,{oasVersion:"3.1"}))),(s||n)&&O().createElement(E,{host:s,basePath:n}),a&&O().createElement(S,{getComponent:e,url:a})),o&&O().createElement("p",{className:"info__summary"},o),O().createElement("div",{className:"info__description description"},O().createElement(h,{source:l})),i&&O().createElement("div",{className:"info__tos"},O().createElement(g,{target:"_blank",href:sanitizeUrl(i)},"Terms of service")),u.size>0&&O().createElement(v,null),d.size>0&&O().createElement(_,null),p&&O().createElement(g,{className:"info__extdocs",target:"_blank",href:sanitizeUrl(p)},m||p),O().createElement(w,null))},json_schema_dialect=({getComponent:e,specSelectors:t})=>{const r=t.selectJsonSchemaDialectField(),a=t.selectJsonSchemaDialectDefault(),n=e("Link");return O().createElement(O().Fragment,null,r&&r===a&&O().createElement("p",{className:"info__jsonschemadialect"},"JSON Schema dialect:"," ",O().createElement(n,{target:"_blank",href:sanitizeUrl(r)},r)),r&&r!==a&&O().createElement("div",{className:"error-wrapper"},O().createElement("div",{className:"no-margin"},O().createElement("div",{className:"errors"},O().createElement("div",{className:"errors-wrapper"},O().createElement("h4",{className:"center"},"Warning"),O().createElement("p",{className:"message"},O().createElement("strong",null,"OpenAPI.jsonSchemaDialect")," field contains a value different from the default value of"," ",O().createElement(n,{target:"_blank",href:a},a),". Values different from the default one are currently not supported. Please either omit the field or provide it with the default value."))))))},version_pragma_filter=({bypass:e,isSwagger2:t,isOAS3:r,isOAS31:a,alsoShow:n,children:s})=>e?O().createElement("div",null,s):t&&(r||a)?O().createElement("div",{className:"version-pragma"},n,O().createElement("div",{className:"version-pragma__message version-pragma__message--ambiguous"},O().createElement("div",null,O().createElement("h3",null,"Unable to render this definition"),O().createElement("p",null,O().createElement("code",null,"swagger")," and ",O().createElement("code",null,"openapi")," fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields."),O().createElement("p",null,"Supported version fields are ",O().createElement("code",null,'swagger: "2.0"')," and those that match ",O().createElement("code",null,"openapi: 3.x.y")," (for example,"," ",O().createElement("code",null,"openapi: 3.1.0"),").")))):t||r||a?O().createElement("div",null,s):O().createElement("div",{className:"version-pragma"},n,O().createElement("div",{className:"version-pragma__message version-pragma__message--missing"},O().createElement("div",null,O().createElement("h3",null,"Unable to render this definition"),O().createElement("p",null,"The provided definition does not specify a valid version field."),O().createElement("p",null,"Please indicate a valid Swagger or OpenAPI version field. Supported version fields are ",O().createElement("code",null,'swagger: "2.0"')," and those that match ",O().createElement("code",null,"openapi: 3.x.y")," (for example,"," ",O().createElement("code",null,"openapi: 3.1.0"),").")))),getModelName=e=>"string"==typeof e&&e.includes("#/components/schemas/")?(e=>{const t=e.replace(/~1/g,"/").replace(/~0/g,"~");try{return decodeURIComponent(t)}catch{return t}})(e.replace(/^.*#\/components\/schemas\//,"")):null,hs=(0,x.forwardRef)((({schema:e,getComponent:t,onToggle:r=()=>{},specPath:a},n)=>{const s=t("JSONSchema202012"),o=getModelName(e.get("$$ref")),l=(0,x.useCallback)(((e,t)=>{r(o,t)}),[o,r]);return O().createElement(s,{name:o,schema:e.toJS(),ref:n,onExpand:l,identifier:a.toJS().join("_")})})),gs=hs,models=({specActions:e,specSelectors:t,layoutSelectors:r,layoutActions:a,getComponent:n,getConfigs:s,fn:o})=>{const l=t.selectSchemas(),c=Object.keys(l).length>0,i=["components","schemas"],{docExpansion:p,defaultModelsExpandDepth:m}=s(),u=m>0&&"none"!==p,d=r.isShown(i,u),h=n("Collapse"),g=n("JSONSchema202012"),y=n("ArrowUpIcon"),f=n("ArrowDownIcon"),{getTitle:S}=o.jsonSchema202012.useFn();(0,x.useEffect)((()=>{const a=Object.entries(l).some((([e])=>r.isShown([...i,e],!1))),n=d&&(m>1||a),s=null!=t.specResolvedSubtree(i);n&&!s&&e.requestResolvedSubtree(i)}),[d,m]);const E=(0,x.useCallback)((()=>{a.show(i,!d)}),[d]),_=(0,x.useCallback)((e=>{null!==e&&a.readyToScroll(i,e)}),[]),handleJSONSchema202012Ref=e=>t=>{null!==t&&a.readyToScroll([...i,e],t)},handleJSONSchema202012Expand=r=>(n,s)=>{const o=[...i,r];if(s){null!=t.specResolvedSubtree(o)||e.requestResolvedSubtree([...i,r]),a.show(o,!0)}else a.show(o,!1)};return!c||m<0?null:O().createElement("section",{className:pt()("models",{"is-open":d}),ref:_},O().createElement("h4",null,O().createElement("button",{"aria-expanded":d,className:"models-control",onClick:E},O().createElement("span",null,"Schemas"),d?O().createElement(y,null):O().createElement(f,null))),O().createElement(h,{isOpened:d},Object.entries(l).map((([e,t])=>{const r=S(t,{lookup:"basic"})||e;return O().createElement(g,{key:e,ref:handleJSONSchema202012Ref(e),schema:t,name:r,onExpand:handleJSONSchema202012Expand(e)})}))))},mutual_tls_auth=({schema:e,getComponent:t,name:r,authSelectors:a})=>{const n=t("JumpToPath",!0),s=a.selectAuthPath(r);return O().createElement("div",null,O().createElement("h4",null,r," (mutualTLS) ",O().createElement(n,{path:s})),O().createElement("p",null,"Mutual TLS is required by this API/Operation. Certificates are managed via your Operating System and/or your browser."),O().createElement("p",null,e.get("description")))};class auths_Auths extends O().Component{constructor(e,t){super(e,t),this.state={}}onAuthChange=e=>{let{name:t}=e;this.setState({[t]:e})};submitAuth=e=>{e.preventDefault();let{authActions:t}=this.props;t.authorizeWithPersistOption(this.state)};logoutClick=e=>{e.preventDefault();let{authActions:t,definitions:r}=this.props,a=r.map(((e,t)=>t)).toArray();this.setState(a.reduce(((e,t)=>(e[t]="",e)),{})),t.logoutWithPersistOption(a)};close=e=>{e.preventDefault();let{authActions:t}=this.props;t.showDefinitions(!1)};render(){let{definitions:e,getComponent:t,authSelectors:r,errSelectors:a}=this.props;const n=t("AuthItem"),s=t("oauth2",!0),o=t("Button"),l=r.authorized(),c=e.filter(((e,t)=>!!l.get(t))),i=e.filter((e=>"oauth2"!==e.get("type")&&"mutualTLS"!==e.get("type"))),p=e.filter((e=>"oauth2"===e.get("type"))),m=e.filter((e=>"mutualTLS"===e.get("type")));return O().createElement("div",{className:"auth-container"},i.size>0&&O().createElement("form",{onSubmit:this.submitAuth},i.map(((e,s)=>O().createElement(n,{key:s,schema:e,name:s,getComponent:t,onAuthChange:this.onAuthChange,authorized:l,errSelectors:a,authSelectors:r}))).toArray(),O().createElement("div",{className:"auth-btn-wrapper"},i.size===c.size?O().createElement(o,{className:"btn modal-btn auth",onClick:this.logoutClick,"aria-label":"Remove authorization"},"Logout"):O().createElement(o,{type:"submit",className:"btn modal-btn auth authorize","aria-label":"Apply credentials"},"Authorize"),O().createElement(o,{className:"btn modal-btn auth btn-done",onClick:this.close},"Close"))),p.size>0?O().createElement("div",null,O().createElement("div",{className:"scope-def"},O().createElement("p",null,"Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes."),O().createElement("p",null,"API requires the following scopes. Select which ones you want to grant to Swagger UI.")),e.filter((e=>"oauth2"===e.get("type"))).map(((e,t)=>O().createElement("div",{key:t},O().createElement(s,{authorized:l,schema:e,name:t})))).toArray()):null,m.size>0&&O().createElement("div",null,m.map(((e,s)=>O().createElement(n,{key:s,schema:e,name:s,getComponent:t,onAuthChange:this.onAuthChange,authorized:l,errSelectors:a,authSelectors:r}))).toArray()))}}const ys=auths_Auths,isOAS31=e=>{const t=e.get("openapi");return"string"==typeof t&&/^3\.1\.(?:[1-9]\d*|0)$/.test(t)},fn_createOnlyOAS31Selector=e=>(t,...r)=>a=>{if(a.getSystem().specSelectors.isOAS31()){const n=e(t,...r);return"function"==typeof n?n(a):n}return null},createOnlyOAS31SelectorWrapper=e=>(t,r)=>(a,...n)=>{if(r.getSystem().specSelectors.isOAS31()){const s=e(a,...n);return"function"==typeof s?s(t,r):s}return t(...n)},fn_createSystemSelector=e=>(t,...r)=>a=>{const n=e(t,a,...r);return"function"==typeof n?n(a):n},createOnlyOAS31ComponentWrapper=e=>(t,r)=>a=>r.specSelectors.isOAS31()?O().createElement(e,Qe()({},a,{originalComponent:t,getSystem:r.getSystem})):O().createElement(t,a),wrapOAS31Fn=(e,t)=>{const{fn:r,specSelectors:a}=t;return Object.fromEntries(Object.entries(e).map((([e,t])=>{const n=r[e];return[e,(...e)=>a.isOAS31()?t(...e):"function"==typeof n?n(...e):void 0]})))},fs=createOnlyOAS31ComponentWrapper((({getSystem:e})=>{const t=e().getComponent("OAS31License",!0);return O().createElement(t,null)})),Ss=createOnlyOAS31ComponentWrapper((({getSystem:e})=>{const t=e().getComponent("OAS31Contact",!0);return O().createElement(t,null)})),Es=createOnlyOAS31ComponentWrapper((({getSystem:e})=>{const t=e().getComponent("OAS31Info",!0);return O().createElement(t,null)})),getProperties=(e,{includeReadOnly:t,includeWriteOnly:r})=>{if(!e?.properties)return{};const a=Object.entries(e.properties).filter((([,e])=>(!(!0===e?.readOnly)||t)&&(!(!0===e?.writeOnly)||r)));return Object.fromEntries(a)},makeGetSchemaKeywords=e=>{if("function"!=typeof e)return null;const t=e();return()=>[...t,"discriminator","xml","externalDocs","example","$$ref"]},_s=createOnlyOAS31ComponentWrapper((({getSystem:e,...t})=>{const r=e(),{getComponent:a,fn:n,getConfigs:s}=r,o=s(),l=a("OAS31Model"),c=a("withJSONSchema202012SystemContext");return _s.ModelWithJSONSchemaContext??=c(l,{config:{default$schema:"https://spec.openapis.org/oas/3.1/dialect/base",defaultExpandedLevels:o.defaultModelExpandDepth,includeReadOnly:t.includeReadOnly,includeWriteOnly:t.includeWriteOnly},fn:{getProperties:n.jsonSchema202012.getProperties,isExpandable:n.jsonSchema202012.isExpandable,getSchemaKeywords:makeGetSchemaKeywords(n.jsonSchema202012.getSchemaKeywords)}}),O().createElement(_s.ModelWithJSONSchemaContext,t)})),vs=_s,ws=createOnlyOAS31ComponentWrapper((({getSystem:e})=>{const{getComponent:t,fn:r,getConfigs:a}=e(),n=a();if(ws.ModelsWithJSONSchemaContext)return O().createElement(ws.ModelsWithJSONSchemaContext,null);const s=t("OAS31Models",!0),o=t("withJSONSchema202012SystemContext");return ws.ModelsWithJSONSchemaContext??=o(s,{config:{default$schema:"https://spec.openapis.org/oas/3.1/dialect/base",defaultExpandedLevels:n.defaultModelsExpandDepth-1,includeReadOnly:!0,includeWriteOnly:!0},fn:{getProperties:r.jsonSchema202012.getProperties,isExpandable:r.jsonSchema202012.isExpandable,getSchemaKeywords:makeGetSchemaKeywords(r.jsonSchema202012.getSchemaKeywords)}}),O().createElement(ws.ModelsWithJSONSchemaContext,null)}));ws.ModelsWithJSONSchemaContext=null;const bs=ws,wrap_components_version_pragma_filter=(e,t)=>e=>{const r=t.specSelectors.isOAS31(),a=t.getComponent("OAS31VersionPragmaFilter");return O().createElement(a,Qe()({isOAS31:r},e))},Cs=createOnlyOAS31ComponentWrapper((({originalComponent:e,...t})=>{const{getComponent:r,schema:a,name:n}=t,s=r("MutualTLSAuth",!0);return"mutualTLS"===a.get("type")?O().createElement(s,{schema:a,name:n}):O().createElement(e,t)})),xs=Cs,Os=createOnlyOAS31ComponentWrapper((({getSystem:e,...t})=>{const r=e().getComponent("OAS31Auths",!0);return O().createElement(r,t)})),Ns=(0,k.Map)(),ks=(0,_e.createSelector)(((e,t)=>t.specSelectors.specJson()),isOAS31),selectors_webhooks=()=>e=>{const t=e.specSelectors.specJson().get("webhooks");return k.Map.isMap(t)?t:Ns},As=(0,_e.createSelector)([(e,t)=>t.specSelectors.webhooks(),(e,t)=>t.specSelectors.validOperationMethods(),(e,t)=>t.specSelectors.specResolvedSubtree(["webhooks"])],((e,t)=>e.reduce(((e,r,a)=>{if(!k.Map.isMap(r))return e;const n=r.entrySeq().filter((([e])=>t.includes(e))).map((([e,t])=>({operation:(0,k.Map)({operation:t}),method:e,path:a,specPath:["webhooks",a,e]})));return e.concat(n)}),(0,k.List)()).groupBy((e=>e.path)).map((e=>e.toArray())).toObject())),selectors_license=()=>e=>{const t=e.specSelectors.info().get("license");return k.Map.isMap(t)?t:Ns},selectLicenseNameField=()=>e=>e.specSelectors.license().get("name","License"),selectLicenseUrlField=()=>e=>e.specSelectors.license().get("url"),Is=(0,_e.createSelector)([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectLicenseUrlField()],((e,t,r)=>{if(r)return safeBuildUrl(r,e,{selectedServer:t})})),selectLicenseIdentifierField=()=>e=>e.specSelectors.license().get("identifier"),selectors_contact=()=>e=>{const t=e.specSelectors.info().get("contact");return k.Map.isMap(t)?t:Ns},selectContactNameField=()=>e=>e.specSelectors.contact().get("name","the developer"),selectContactEmailField=()=>e=>e.specSelectors.contact().get("email"),selectContactUrlField=()=>e=>e.specSelectors.contact().get("url"),js=(0,_e.createSelector)([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectContactUrlField()],((e,t,r)=>{if(r)return safeBuildUrl(r,e,{selectedServer:t})})),selectInfoTitleField=()=>e=>e.specSelectors.info().get("title"),selectInfoSummaryField=()=>e=>e.specSelectors.info().get("summary"),selectInfoDescriptionField=()=>e=>e.specSelectors.info().get("description"),selectInfoTermsOfServiceField=()=>e=>e.specSelectors.info().get("termsOfService"),qs=(0,_e.createSelector)([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectInfoTermsOfServiceField()],((e,t,r)=>{if(r)return safeBuildUrl(r,e,{selectedServer:t})})),selectExternalDocsDescriptionField=()=>e=>e.specSelectors.externalDocs().get("description"),selectExternalDocsUrlField=()=>e=>e.specSelectors.externalDocs().get("url"),Ps=(0,_e.createSelector)([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectExternalDocsUrlField()],((e,t,r)=>{if(r)return safeBuildUrl(r,e,{selectedServer:t})})),selectJsonSchemaDialectField=()=>e=>e.specSelectors.specJson().get("jsonSchemaDialect"),selectJsonSchemaDialectDefault=()=>"https://spec.openapis.org/oas/3.1/dialect/base",Ms=(0,_e.createSelector)(((e,t)=>t.specSelectors.definitions()),((e,t)=>t.specSelectors.specResolvedSubtree(["components","schemas"])),((e,t)=>k.Map.isMap(e)?k.Map.isMap(t)?Object.entries(e.toJS()).reduce(((e,[r,a])=>{const n=t.get(r);return e[r]=n?.toJS()||a,e}),{}):e.toJS():{})),wrap_selectors_isOAS3=(e,t)=>(r,...a)=>t.specSelectors.isOAS31()||e(...a),Ts=createOnlyOAS31SelectorWrapper((()=>(e,t)=>t.oas31Selectors.selectLicenseUrl())),Rs=createOnlyOAS31SelectorWrapper((()=>(e,t)=>{const r=t.specSelectors.securityDefinitions();let a=e();return r?(r.entrySeq().forEach((([e,t])=>{const r=t?.get("type");"mutualTLS"===r&&(a=a.push(new k.Map({[e]:t})))})),a):a})),Js=(0,_e.createSelector)([(e,t)=>t.specSelectors.url(),(e,t)=>t.oas3Selectors.selectedServer(),(e,t)=>t.specSelectors.selectLicenseUrlField(),(e,t)=>t.specSelectors.selectLicenseIdentifierField()],((e,t,r,a)=>r?safeBuildUrl(r,e,{selectedServer:t}):a?`https://spdx.org/licenses/${a}.html`:void 0)),keywords_Example=({schema:e,getSystem:t})=>{const{fn:r,getComponent:a}=t(),{hasKeyword:n}=r.jsonSchema202012.useFn(),s=a("JSONSchema202012JSONViewer");return n(e,"example")?O().createElement(s,{name:"Example",value:e.example,className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--example"}):null},keywords_Xml=({schema:e,getSystem:t})=>{const r=e?.xml||{},{fn:a,getComponent:n,getConfigs:s}=t(),{showExtensions:o}=s(),{useComponent:l,useIsExpanded:c,usePath:i,useLevel:p}=a.jsonSchema202012,{path:m}=i("xml"),{isExpanded:u,setExpanded:d,setCollapsed:h}=c("xml"),[g,y]=p(),f=o?getExtensions(r):[],S=!!(r.name||r.namespace||r.prefix||f.length>0),E=l("Accordion"),_=l("ExpandDeepButton"),v=n("OpenAPI31Extensions"),w=n("JSONSchema202012PathContext")(),b=n("JSONSchema202012LevelContext")(),C=(0,x.useCallback)((()=>{u?h():d()}),[u,d,h]),N=(0,x.useCallback)(((e,t)=>{t?d({deep:!0}):h({deep:!0})}),[d,h]);return 0===Object.keys(r).length?null:O().createElement(w.Provider,{value:m},O().createElement(b.Provider,{value:y},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--xml","data-json-schema-level":g},S?O().createElement(O().Fragment,null,O().createElement(E,{expanded:u,onChange:C},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"XML")),O().createElement(_,{expanded:u,onClick:N})):O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"XML"),!0===r.attribute&&O().createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted"},"attribute"),!0===r.wrapped&&O().createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted"},"wrapped"),O().createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),O().createElement("ul",{className:pt()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!u})},u&&O().createElement(O().Fragment,null,r.name&&O().createElement("li",{className:"json-schema-2020-12-property"},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"name"),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},r.name))),r.namespace&&O().createElement("li",{className:"json-schema-2020-12-property"},O().createElement("div",{className:"json-schema-2020-12-keyword"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"namespace"),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},r.namespace))),r.prefix&&O().createElement("li",{className:"json-schema-2020-12-property"},O().createElement("div",{className:"json-schema-2020-12-keyword"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"prefix"),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},r.prefix)))),f.length>0&&O().createElement(v,{openAPISpecObj:r,openAPIExtensions:f,getSystem:t})))))},Discriminator_DiscriminatorMapping=({discriminator:e})=>{const t=e?.mapping||{};return 0===Object.keys(t).length?null:Object.entries(t).map((([e,t])=>O().createElement("div",{key:`${e}-${t}`,className:"json-schema-2020-12-keyword"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},e),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},t))))},Discriminator_Discriminator=({schema:e,getSystem:t})=>{const r=e?.discriminator||{},{fn:a,getComponent:n,getConfigs:s}=t(),{showExtensions:o}=s(),{useComponent:l,useIsExpanded:c,usePath:i,useLevel:p}=a.jsonSchema202012,m="discriminator",{path:u}=i(m),{isExpanded:d,setExpanded:h,setCollapsed:g}=c(m),[y,f]=p(),S=o?getExtensions(r):[],E=!!(r.mapping||S.length>0),_=l("Accordion"),v=l("ExpandDeepButton"),w=n("OpenAPI31Extensions"),b=n("JSONSchema202012PathContext")(),C=n("JSONSchema202012LevelContext")(),N=(0,x.useCallback)((()=>{d?g():h()}),[d,h,g]),k=(0,x.useCallback)(((e,t)=>{t?h({deep:!0}):g({deep:!0})}),[h,g]);return 0===Object.keys(r).length?null:O().createElement(b.Provider,{value:u},O().createElement(C.Provider,{value:f},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--discriminator","data-json-schema-level":y},E?O().createElement(O().Fragment,null,O().createElement(_,{expanded:d,onChange:N},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"Discriminator")),O().createElement(v,{expanded:d,onClick:k})):O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"Discriminator"),r.propertyName&&O().createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted"},r.propertyName),O().createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),O().createElement("ul",{className:pt()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!d})},d&&O().createElement("li",{className:"json-schema-2020-12-property"},O().createElement(Discriminator_DiscriminatorMapping,{discriminator:r})),S.length>0&&O().createElement(w,{openAPISpecObj:r,openAPIExtensions:S,getSystem:t})))))},keywords_OpenAPIExtensions=({openAPISpecObj:e,getSystem:t,openAPIExtensions:r})=>{const{fn:a}=t(),{useComponent:n}=a.jsonSchema202012,s=n("JSONViewer");return r.map((t=>O().createElement(s,{key:t,name:t,value:e[t],className:"json-schema-2020-12-json-viewer-extension-keyword"})))},keywords_ExternalDocs=({schema:e,getSystem:t})=>{const r=e?.externalDocs||{},{fn:a,getComponent:n,getConfigs:s}=t(),{showExtensions:o}=s(),{useComponent:l,useIsExpanded:c,usePath:i,useLevel:p}=a.jsonSchema202012,m="externalDocs",{path:u}=i(m),{isExpanded:d,setExpanded:h,setCollapsed:g}=c(m),[y,f]=p(),S=o?getExtensions(r):[],E=!!(r.description||r.url||S.length>0),_=l("Accordion"),v=l("ExpandDeepButton"),w=n("JSONSchema202012KeywordDescription"),b=n("Link"),C=n("OpenAPI31Extensions"),N=n("JSONSchema202012PathContext")(),k=n("JSONSchema202012LevelContext")(),A=(0,x.useCallback)((()=>{d?g():h()}),[d,h,g]),I=(0,x.useCallback)(((e,t)=>{t?h({deep:!0}):g({deep:!0})}),[h,g]);return 0===Object.keys(r).length?null:O().createElement(N.Provider,{value:u},O().createElement(k.Provider,{value:f},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--externalDocs","data-json-schema-level":y},E?O().createElement(O().Fragment,null,O().createElement(_,{expanded:d,onChange:A},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"External documentation")),O().createElement(v,{expanded:d,onClick:I})):O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"External documentation"),O().createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),O().createElement("ul",{className:pt()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!d})},d&&O().createElement(O().Fragment,null,r.description&&O().createElement("li",{className:"json-schema-2020-12-property"},O().createElement(w,{schema:r,getSystem:t})),r.url&&O().createElement("li",{className:"json-schema-2020-12-property"},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"url"),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},O().createElement(b,{target:"_blank",href:sanitizeUrl(r.url)},r.url))))),S.length>0&&O().createElement(C,{openAPISpecObj:r,openAPIExtensions:S,getSystem:t})))))},keywords_Description=({schema:e,getSystem:t})=>{if(!e?.description)return null;const{getComponent:r}=t(),a=r("Markdown");return O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--description"},O().createElement("div",{className:"json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary"},O().createElement(a,{source:e.description})))},$s=createOnlyOAS31ComponentWrapper(keywords_Description),Vs=createOnlyOAS31ComponentWrapper((({schema:e,getSystem:t,originalComponent:r})=>{const{getComponent:a}=t(),n=a("JSONSchema202012KeywordDiscriminator"),s=a("JSONSchema202012KeywordXml"),o=a("JSONSchema202012KeywordExample"),l=a("JSONSchema202012KeywordExternalDocs");return O().createElement(O().Fragment,null,O().createElement(r,{schema:e}),O().createElement(n,{schema:e,getSystem:t}),O().createElement(s,{schema:e,getSystem:t}),O().createElement(l,{schema:e,getSystem:t}),O().createElement(o,{schema:e,getSystem:t}))})),Ls=Vs,keywords_Properties=({schema:e,getSystem:t})=>{const{fn:r,getComponent:a}=t(),{useComponent:n,usePath:s}=r.jsonSchema202012,{getDependentRequired:o,getProperties:l}=r.jsonSchema202012.useFn(),c=r.jsonSchema202012.useConfig(),i=Array.isArray(e?.required)?e.required:[],{path:p}=s("properties"),m=n("JSONSchema"),u=a("JSONSchema202012PathContext")(),d=l(e,c);return 0===Object.keys(d).length?null:O().createElement(u.Provider,{value:p},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--properties"},O().createElement("ul",null,Object.entries(d).map((([t,r])=>{const a=i.includes(t),n=o(t,e);return O().createElement("li",{key:t,className:pt()("json-schema-2020-12-property",{"json-schema-2020-12-property--required":a})},O().createElement(m,{name:t,schema:r,dependentRequired:n}))})))))},Ds=createOnlyOAS31ComponentWrapper(keywords_Properties);const Us=function oas31_after_load_afterLoad({fn:e,getSystem:t}){if(e.jsonSchema202012){const r=((e,t)=>{const{fn:r}=t();if("function"!=typeof e)return null;const{hasKeyword:a}=r.jsonSchema202012;return t=>e(t)||a(t,"example")||t?.xml||t?.discriminator||t?.externalDocs})(e.jsonSchema202012.isExpandable,t);Object.assign(this.fn.jsonSchema202012,{isExpandable:r,getProperties})}if("function"==typeof e.sampleFromSchema&&e.jsonSchema202012){const r=wrapOAS31Fn({sampleFromSchema:e.jsonSchema202012.sampleFromSchema,sampleFromSchemaGeneric:e.jsonSchema202012.sampleFromSchemaGeneric,createXMLExample:e.jsonSchema202012.createXMLExample,memoizedSampleFromSchema:e.jsonSchema202012.memoizedSampleFromSchema,memoizedCreateXMLExample:e.jsonSchema202012.memoizedCreateXMLExample,getJsonSampleSchema:e.jsonSchema202012.getJsonSampleSchema,getYamlSampleSchema:e.jsonSchema202012.getYamlSampleSchema,getXmlSampleSchema:e.jsonSchema202012.getXmlSampleSchema,getSampleSchema:e.jsonSchema202012.getSampleSchema,mergeJsonSchema:e.jsonSchema202012.mergeJsonSchema,getSchemaObjectTypeLabel:t=>e.jsonSchema202012.getType(immutableToJS(t)),getSchemaObjectType:t=>e.jsonSchema202012.foldType(immutableToJS(t)?.type)},t());Object.assign(this.fn,r)}const r=(e=>(t,r=null)=>{const{fn:a}=e();if(a.isFileUploadIntendedOAS30(t,r))return!0;const n=k.Map.isMap(t);if(!n&&!wt()(t))return!1;const s=n?t.get("contentMediaType"):t.contentMediaType,o=n?t.get("contentEncoding"):t.contentEncoding;return"string"==typeof s&&""!==s||"string"==typeof o&&""!==o})(t),{isFileUploadIntended:a}=wrapOAS31Fn({isFileUploadIntended:r},t());if(this.fn.isFileUploadIntended=a,this.fn.isFileUploadIntendedOAS31=r,e.jsonSchema202012){const{hasSchemaType:r}=wrapOAS31Fn({hasSchemaType:e.jsonSchema202012.hasSchemaType},t());this.fn.hasSchemaType=r}},oas31=({fn:e})=>{const t=e.createSystemSelector||fn_createSystemSelector,r=e.createOnlyOAS31Selector||fn_createOnlyOAS31Selector;return{afterLoad:Us,fn:{isOAS31,createSystemSelector:fn_createSystemSelector,createOnlyOAS31Selector:fn_createOnlyOAS31Selector},components:{Webhooks:webhooks,JsonSchemaDialect:json_schema_dialect,MutualTLSAuth:mutual_tls_auth,OAS31Info:oas31_components_info,OAS31License:components_license,OAS31Contact:components_contact,OAS31VersionPragmaFilter:version_pragma_filter,OAS31Model:gs,OAS31Models:models,OAS31Auths:ys,JSONSchema202012KeywordExample:keywords_Example,JSONSchema202012KeywordXml:keywords_Xml,JSONSchema202012KeywordDiscriminator:Discriminator_Discriminator,JSONSchema202012KeywordExternalDocs:keywords_ExternalDocs,OpenAPI31Extensions:keywords_OpenAPIExtensions},wrapComponents:{InfoContainer:Es,License:fs,Contact:Ss,VersionPragmaFilter:wrap_components_version_pragma_filter,Model:vs,Models:bs,AuthItem:xs,auths:Os,JSONSchema202012KeywordDescription:$s,JSONSchema202012KeywordExamples:Ls,JSONSchema202012KeywordProperties:Ds},statePlugins:{auth:{wrapSelectors:{definitionsToAuthorize:Rs}},spec:{selectors:{isOAS31:t(ks),license:selectors_license,selectLicenseNameField,selectLicenseUrlField,selectLicenseIdentifierField:r(selectLicenseIdentifierField),selectLicenseUrl:t(Is),contact:selectors_contact,selectContactNameField,selectContactEmailField,selectContactUrlField,selectContactUrl:t(js),selectInfoTitleField,selectInfoSummaryField:r(selectInfoSummaryField),selectInfoDescriptionField,selectInfoTermsOfServiceField,selectInfoTermsOfServiceUrl:t(qs),selectExternalDocsDescriptionField,selectExternalDocsUrlField,selectExternalDocsUrl:t(Ps),webhooks:r(selectors_webhooks),selectWebhooksOperations:r(t(As)),selectJsonSchemaDialectField,selectJsonSchemaDialectDefault,selectSchemas:t(Ms)},wrapSelectors:{isOAS3:wrap_selectors_isOAS3,selectLicenseUrl:Ts}},oas31:{selectors:{selectLicenseUrl:r(t(Js))}}}}},Ks=Oe().object,zs=Oe().bool,Bs=(Oe().oneOfType([Ks,zs]),(0,x.createContext)(null));Bs.displayName="JSONSchemaContext";const Fs=(0,x.createContext)(0);Fs.displayName="JSONSchemaLevelContext";const Ws=(0,x.createContext)(new Set),Hs=(0,x.createContext)([]);class JSONSchemaIsExpandedState{static Collapsed="collapsed";static Expanded="expanded";static DeeplyExpanded="deeply-expanded"}const useConfig=()=>{const{config:e}=(0,x.useContext)(Bs);return e},useComponent=e=>{const{components:t}=(0,x.useContext)(Bs);return t[e]||null},useFn=(e=void 0)=>{const{fn:t}=(0,x.useContext)(Bs);return void 0!==e?t[e]:t},useJSONSchemaContextState=()=>{const[,e]=(0,x.useState)(null),{state:t}=(0,x.useContext)(Bs);return{state:t,setState:r=>{r(t),e({})}}},useLevel=()=>{const e=(0,x.useContext)(Fs);return[e,e+1]},usePath=e=>{const t=(0,x.useContext)(Hs),{setState:r}=useJSONSchemaContextState(),a="string"==typeof e?[...t,e]:t;return{path:a,pathMutator:(e,t={deep:!1})=>{const n=a.toString(),updateFn=t=>{t.paths[n]=e,e===JSONSchemaIsExpandedState.Collapsed&&Object.keys(t.paths).forEach((e=>{e.startsWith(n)&&t.paths[e]===JSONSchemaIsExpandedState.DeeplyExpanded&&(t.paths[e]=JSONSchemaIsExpandedState.Expanded)}))},updateDeepFn=t=>{Object.keys(t.paths).forEach((r=>{r.startsWith(n)&&(t.paths[r]=e)}))};t.deep?r(updateDeepFn):r(updateFn)}}},useIsExpanded=e=>{const[t]=useLevel(),{defaultExpandedLevels:r}=useConfig(),{path:a,pathMutator:n}=usePath(e),{path:s}=usePath(),{state:o}=useJSONSchemaContextState(),l=o.paths[a.toString()],c=o.paths[s.toString()]??o.paths[s.slice(0,-1).toString()],i=l??(r-t>0?JSONSchemaIsExpandedState.Expanded:JSONSchemaIsExpandedState.Collapsed),p=i!==JSONSchemaIsExpandedState.Collapsed;(0,x.useEffect)((()=>{n(c===JSONSchemaIsExpandedState.DeeplyExpanded?JSONSchemaIsExpandedState.DeeplyExpanded:i)}),[c]);return{isExpanded:p,setExpanded:(0,x.useCallback)(((e={deep:!1})=>{n(e.deep?JSONSchemaIsExpandedState.DeeplyExpanded:JSONSchemaIsExpandedState.Expanded)}),[]),setCollapsed:(0,x.useCallback)(((e={deep:!1})=>{n(JSONSchemaIsExpandedState.Collapsed,e)}),[])}},useRenderedSchemas=(e=void 0)=>{if(void 0===e)return(0,x.useContext)(Ws);const t=(0,x.useContext)(Ws);return new Set([...t,e])},Xs=(0,x.forwardRef)((({schema:e,name:t="",dependentRequired:r=[],onExpand:a=()=>{},identifier:n=""},s)=>{const o=useFn(),l=n||e?.$id||t,{path:c}=usePath(l),{isExpanded:i,setExpanded:p,setCollapsed:m}=useIsExpanded(l),[u,d]=useLevel(),h=(()=>{const[e]=useLevel();return e>0})(),g=o.isExpandable(e)||r.length>0,y=(e=>useRenderedSchemas().has(e))(e),f=useRenderedSchemas(e),S=o.stringifyConstraints(e),E=useComponent("Accordion"),_=useComponent("Keyword$schema"),v=useComponent("Keyword$vocabulary"),w=useComponent("Keyword$id"),b=useComponent("Keyword$anchor"),C=useComponent("Keyword$dynamicAnchor"),N=useComponent("Keyword$ref"),k=useComponent("Keyword$dynamicRef"),A=useComponent("Keyword$defs"),I=useComponent("Keyword$comment"),j=useComponent("KeywordAllOf"),q=useComponent("KeywordAnyOf"),P=useComponent("KeywordOneOf"),M=useComponent("KeywordNot"),T=useComponent("KeywordIf"),R=useComponent("KeywordThen"),J=useComponent("KeywordElse"),$=useComponent("KeywordDependentSchemas"),V=useComponent("KeywordPrefixItems"),L=useComponent("KeywordItems"),D=useComponent("KeywordContains"),U=useComponent("KeywordProperties"),K=useComponent("KeywordPatternProperties"),z=useComponent("KeywordAdditionalProperties"),B=useComponent("KeywordPropertyNames"),F=useComponent("KeywordUnevaluatedItems"),W=useComponent("KeywordUnevaluatedProperties"),H=useComponent("KeywordType"),X=useComponent("KeywordEnum"),G=useComponent("KeywordConst"),Y=useComponent("KeywordConstraint"),Q=useComponent("KeywordDependentRequired"),Z=useComponent("KeywordContentSchema"),ee=useComponent("KeywordTitle"),te=useComponent("KeywordDescription"),re=useComponent("KeywordDefault"),ae=useComponent("KeywordDeprecated"),ne=useComponent("KeywordReadOnly"),se=useComponent("KeywordWriteOnly"),oe=useComponent("KeywordExamples"),le=useComponent("ExtensionKeywords"),ce=useComponent("ExpandDeepButton"),ie=(0,x.useCallback)(((e,t)=>{t?p():m(),a(e,t,!1)}),[a,p,m]),pe=(0,x.useCallback)(((e,t)=>{t?p({deep:!0}):m({deep:!0}),a(e,t,!0)}),[a,p,m]);return O().createElement(Hs.Provider,{value:c},O().createElement(Fs.Provider,{value:d},O().createElement(Ws.Provider,{value:f},O().createElement("article",{ref:s,"data-json-schema-level":u,className:pt()("json-schema-2020-12",{"json-schema-2020-12--embedded":h,"json-schema-2020-12--circular":y})},O().createElement("div",{className:"json-schema-2020-12-head"},g&&!y?O().createElement(O().Fragment,null,O().createElement(E,{expanded:i,onChange:ie},O().createElement(ee,{title:t,schema:e})),O().createElement(ce,{expanded:i,onClick:pe})):O().createElement(ee,{title:t,schema:e}),O().createElement(ae,{schema:e}),O().createElement(ne,{schema:e}),O().createElement(se,{schema:e}),O().createElement(H,{schema:e,isCircular:y}),S.length>0&&S.map((e=>O().createElement(Y,{key:`${e.scope}-${e.value}`,constraint:e})))),O().createElement("div",{className:pt()("json-schema-2020-12-body",{"json-schema-2020-12-body--collapsed":!i})},i&&O().createElement(O().Fragment,null,O().createElement(te,{schema:e}),!y&&g&&O().createElement(O().Fragment,null,O().createElement(U,{schema:e}),O().createElement(K,{schema:e}),O().createElement(z,{schema:e}),O().createElement(W,{schema:e}),O().createElement(B,{schema:e}),O().createElement(j,{schema:e}),O().createElement(q,{schema:e}),O().createElement(P,{schema:e}),O().createElement(M,{schema:e}),O().createElement(T,{schema:e}),O().createElement(R,{schema:e}),O().createElement(J,{schema:e}),O().createElement($,{schema:e}),O().createElement(V,{schema:e}),O().createElement(L,{schema:e}),O().createElement(F,{schema:e}),O().createElement(D,{schema:e}),O().createElement(Z,{schema:e})),O().createElement(X,{schema:e}),O().createElement(G,{schema:e}),O().createElement(Q,{schema:e,dependentRequired:r}),O().createElement(re,{schema:e}),O().createElement(oe,{schema:e}),O().createElement(_,{schema:e}),O().createElement(v,{schema:e}),O().createElement(w,{schema:e}),O().createElement(b,{schema:e}),O().createElement(C,{schema:e}),O().createElement(N,{schema:e}),!y&&g&&O().createElement(A,{schema:e}),O().createElement(k,{schema:e}),O().createElement(I,{schema:e}),O().createElement(le,{schema:e})))))))})),Gs=Xs,keywords_$schema=({schema:e})=>e?.$schema?O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$schema"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$schema"),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},e.$schema)):null,$vocabulary_$vocabulary=({schema:e})=>{const t="$vocabulary",{path:r}=usePath(t),{isExpanded:a,setExpanded:n,setCollapsed:s}=useIsExpanded(t),o=useComponent("Accordion"),l=(0,x.useCallback)((()=>{a?s():n()}),[a,n,s]);return e?.$vocabulary?"object"!=typeof e.$vocabulary?null:O().createElement(Hs.Provider,{value:r},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$vocabulary"},O().createElement(o,{expanded:a,onChange:l},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$vocabulary")),O().createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),O().createElement("ul",null,a&&Object.entries(e.$vocabulary).map((([e,t])=>O().createElement("li",{key:e,className:pt()("json-schema-2020-12-$vocabulary-uri",{"json-schema-2020-12-$vocabulary-uri--disabled":!t})},O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},e))))))):null},keywords_$id=({schema:e})=>e?.$id?O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$id"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$id"),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},e.$id)):null,keywords_$anchor=({schema:e})=>e?.$anchor?O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$anchor"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$anchor"),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},e.$anchor)):null,keywords_$dynamicAnchor=({schema:e})=>e?.$dynamicAnchor?O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicAnchor"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$dynamicAnchor"),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},e.$dynamicAnchor)):null,keywords_$ref=({schema:e})=>e?.$ref?O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$ref"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$ref"),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},e.$ref)):null,keywords_$dynamicRef=({schema:e})=>e?.$dynamicRef?O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicRef"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$dynamicRef"),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},e.$dynamicRef)):null,keywords_$defs=({schema:e})=>{const t=e?.$defs||{},r="$defs",{path:a}=usePath(r),{isExpanded:n,setExpanded:s,setCollapsed:o}=useIsExpanded(r),[l,c]=useLevel(),i=useComponent("Accordion"),p=useComponent("ExpandDeepButton"),m=useComponent("JSONSchema"),u=(0,x.useCallback)((()=>{n?o():s()}),[n,s,o]),d=(0,x.useCallback)(((e,t)=>{t?s({deep:!0}):o({deep:!0})}),[s,o]);return 0===Object.keys(t).length?null:O().createElement(Hs.Provider,{value:a},O().createElement(Fs.Provider,{value:c},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$defs","data-json-schema-level":l},O().createElement(i,{expanded:n,onChange:u},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$defs")),O().createElement(p,{expanded:n,onClick:d}),O().createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),O().createElement("ul",{className:pt()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!n})},n&&O().createElement(O().Fragment,null,Object.entries(t).map((([e,t])=>O().createElement("li",{key:e,className:"json-schema-2020-12-property"},O().createElement(m,{name:e,schema:t})))))))))},keywords_$comment=({schema:e})=>e?.$comment?O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$comment"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$comment"),O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},e.$comment)):null,keywords_AllOf=({schema:e})=>{const t=e?.allOf||[],r=useFn(),a="allOf",{path:n}=usePath(a),{isExpanded:s,setExpanded:o,setCollapsed:l}=useIsExpanded(a),[c,i]=useLevel(),p=useComponent("Accordion"),m=useComponent("ExpandDeepButton"),u=useComponent("JSONSchema"),d=useComponent("KeywordType"),h=(0,x.useCallback)((()=>{s?l():o()}),[s,o,l]),g=(0,x.useCallback)(((e,t)=>{t?o({deep:!0}):l({deep:!0})}),[o,l]);return Array.isArray(t)&&0!==t.length?O().createElement(Hs.Provider,{value:n},O().createElement(Fs.Provider,{value:i},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--allOf","data-json-schema-level":c},O().createElement(p,{expanded:s,onChange:h},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"All of")),O().createElement(m,{expanded:s,onClick:g}),O().createElement(d,{schema:{allOf:t}}),O().createElement("ul",{className:pt()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!s})},s&&O().createElement(O().Fragment,null,t.map(((e,t)=>O().createElement("li",{key:`#${t}`,className:"json-schema-2020-12-property"},O().createElement(u,{name:`#${t} ${r.getTitle(e)}`,schema:e}))))))))):null},keywords_AnyOf=({schema:e})=>{const t=e?.anyOf||[],r=useFn(),a="anyOf",{path:n}=usePath(a),{isExpanded:s,setExpanded:o,setCollapsed:l}=useIsExpanded(a),[c,i]=useLevel(),p=useComponent("Accordion"),m=useComponent("ExpandDeepButton"),u=useComponent("JSONSchema"),d=useComponent("KeywordType"),h=(0,x.useCallback)((()=>{s?l():o()}),[s,o,l]),g=(0,x.useCallback)(((e,t)=>{t?o({deep:!0}):l({deep:!0})}),[o,l]);return Array.isArray(t)&&0!==t.length?O().createElement(Hs.Provider,{value:n},O().createElement(Fs.Provider,{value:i},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--anyOf","data-json-schema-level":c},O().createElement(p,{expanded:s,onChange:h},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Any of")),O().createElement(m,{expanded:s,onClick:g}),O().createElement(d,{schema:{anyOf:t}}),O().createElement("ul",{className:pt()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!s})},s&&O().createElement(O().Fragment,null,t.map(((e,t)=>O().createElement("li",{key:`#${t}`,className:"json-schema-2020-12-property"},O().createElement(u,{name:`#${t} ${r.getTitle(e)}`,schema:e}))))))))):null},keywords_OneOf=({schema:e})=>{const t=e?.oneOf||[],r=useFn(),a="oneOf",{path:n}=usePath(a),{isExpanded:s,setExpanded:o,setCollapsed:l}=useIsExpanded(a),[c,i]=useLevel(),p=useComponent("Accordion"),m=useComponent("ExpandDeepButton"),u=useComponent("JSONSchema"),d=useComponent("KeywordType"),h=(0,x.useCallback)((()=>{s?l():o()}),[s,o,l]),g=(0,x.useCallback)(((e,t)=>{t?o({deep:!0}):l({deep:!0})}),[o,l]);return Array.isArray(t)&&0!==t.length?O().createElement(Hs.Provider,{value:n},O().createElement(Fs.Provider,{value:i},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--oneOf","data-json-schema-level":c},O().createElement(p,{expanded:s,onChange:h},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"One of")),O().createElement(m,{expanded:s,onClick:g}),O().createElement(d,{schema:{oneOf:t}}),O().createElement("ul",{className:pt()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!s})},s&&O().createElement(O().Fragment,null,t.map(((e,t)=>O().createElement("li",{key:`#${t}`,className:"json-schema-2020-12-property"},O().createElement(u,{name:`#${t} ${r.getTitle(e)}`,schema:e}))))))))):null},keywords_Not=({schema:e})=>{const t=useFn(),r=useComponent("JSONSchema");if(!t.hasKeyword(e,"not"))return null;const a=O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Not");return O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--not"},O().createElement(r,{name:a,schema:e.not,identifier:"not"}))},keywords_If=({schema:e})=>{const t=useFn(),r=useComponent("JSONSchema");if(!t.hasKeyword(e,"if"))return null;const a=O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"If");return O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--if"},O().createElement(r,{name:a,schema:e.if,identifier:"if"}))},keywords_Then=({schema:e})=>{const t=useFn(),r=useComponent("JSONSchema");if(!t.hasKeyword(e,"then"))return null;const a=O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Then");return O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--then"},O().createElement(r,{name:a,schema:e.then,identifier:"then"}))},keywords_Else=({schema:e})=>{const t=useFn(),r=useComponent("JSONSchema");if(!t.hasKeyword(e,"else"))return null;const a=O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Else");return O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--if"},O().createElement(r,{name:a,schema:e.else,identifier:"else"}))},keywords_DependentSchemas=({schema:e})=>{const t=e?.dependentSchemas||[],r="dependentSchemas",{path:a}=usePath(r),{isExpanded:n,setExpanded:s,setCollapsed:o}=useIsExpanded(r),[l,c]=useLevel(),i=useComponent("Accordion"),p=useComponent("ExpandDeepButton"),m=useComponent("JSONSchema"),u=(0,x.useCallback)((()=>{n?o():s()}),[n,s,o]),d=(0,x.useCallback)(((e,t)=>{t?s({deep:!0}):o({deep:!0})}),[s,o]);return"object"!=typeof t||0===Object.keys(t).length?null:O().createElement(Hs.Provider,{value:a},O().createElement(Fs.Provider,{value:c},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentSchemas","data-json-schema-level":l},O().createElement(i,{expanded:n,onChange:u},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Dependent schemas")),O().createElement(p,{expanded:n,onClick:d}),O().createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),O().createElement("ul",{className:pt()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!n})},n&&O().createElement(O().Fragment,null,Object.entries(t).map((([e,t])=>O().createElement("li",{key:e,className:"json-schema-2020-12-property"},O().createElement(m,{name:e,schema:t})))))))))},keywords_PrefixItems=({schema:e})=>{const t=e?.prefixItems||[],r=useFn(),a="prefixItems",{path:n}=usePath(a),{isExpanded:s,setExpanded:o,setCollapsed:l}=useIsExpanded(a),[c,i]=useLevel(),p=useComponent("Accordion"),m=useComponent("ExpandDeepButton"),u=useComponent("JSONSchema"),d=useComponent("KeywordType"),h=(0,x.useCallback)((()=>{s?l():o()}),[s,o,l]),g=(0,x.useCallback)(((e,t)=>{t?o({deep:!0}):l({deep:!0})}),[o,l]);return Array.isArray(t)&&0!==t.length?O().createElement(Hs.Provider,{value:n},O().createElement(Fs.Provider,{value:i},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--prefixItems","data-json-schema-level":c},O().createElement(p,{expanded:s,onChange:h},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Prefix items")),O().createElement(m,{expanded:s,onClick:g}),O().createElement(d,{schema:{prefixItems:t}}),O().createElement("ul",{className:pt()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!s})},s&&O().createElement(O().Fragment,null,t.map(((e,t)=>O().createElement("li",{key:`#${t}`,className:"json-schema-2020-12-property"},O().createElement(u,{name:`#${t} ${r.getTitle(e)}`,schema:e}))))))))):null},keywords_Items=({schema:e})=>{const t=useFn(),r=useComponent("JSONSchema");if(!t.hasKeyword(e,"items"))return null;const a=O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Items");return O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--items"},O().createElement(r,{name:a,schema:e.items,identifier:"items"}))},keywords_Contains=({schema:e})=>{const t=useFn(),r=useComponent("JSONSchema");if(!t.hasKeyword(e,"contains"))return null;const a=O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Contains");return O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--contains"},O().createElement(r,{name:a,schema:e.contains,identifier:"contains"}))},keywords_Properties_Properties=({schema:e})=>{const t=useFn(),r=e?.properties||{},a=Array.isArray(e?.required)?e.required:[],n=useComponent("JSONSchema"),{path:s}=usePath("properties");return 0===Object.keys(r).length?null:O().createElement(Hs.Provider,{value:s},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--properties"},O().createElement("ul",null,Object.entries(r).map((([r,s])=>{const o=a.includes(r),l=t.getDependentRequired(r,e);return O().createElement("li",{key:r,className:pt()("json-schema-2020-12-property",{"json-schema-2020-12-property--required":o})},O().createElement(n,{name:r,schema:s,dependentRequired:l}))})))))},PatternProperties_PatternProperties=({schema:e})=>{const t=e?.patternProperties||{},r=useComponent("JSONSchema"),{path:a}=usePath("patternProperties");return 0===Object.keys(t).length?null:O().createElement(Hs.Provider,{value:a},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--patternProperties"},O().createElement("ul",null,Object.entries(t).map((([e,t])=>O().createElement("li",{key:e,className:"json-schema-2020-12-property"},O().createElement(r,{name:e,schema:t})))))))},keywords_AdditionalProperties=({schema:e})=>{const t=useFn(),r=useComponent("JSONSchema");if(!t.hasKeyword(e,"additionalProperties"))return null;const a=O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Additional properties");return O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--additionalProperties"},!0===e.additionalProperties?O().createElement(O().Fragment,null,a,O().createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"allowed")):!1===e.additionalProperties?O().createElement(O().Fragment,null,a,O().createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"forbidden")):O().createElement(r,{name:a,schema:e.additionalProperties,identifier:"additionalProperties"}))},keywords_PropertyNames=({schema:e})=>{const t=useFn(),r=useComponent("JSONSchema"),a=O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Property names");return t.hasKeyword(e,"propertyNames")?O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--propertyNames"},O().createElement(r,{name:a,schema:e.propertyNames,identifier:"propertyNames"})):null},keywords_UnevaluatedItems=({schema:e})=>{const t=useFn(),r=useComponent("JSONSchema");if(!t.hasKeyword(e,"unevaluatedItems"))return null;const a=O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Unevaluated items");return O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedItems"},O().createElement(r,{name:a,schema:e.unevaluatedItems,identifier:"unevaluatedItems"}))},keywords_UnevaluatedProperties=({schema:e})=>{const t=useFn(),r=useComponent("JSONSchema");if(!t.hasKeyword(e,"unevaluatedProperties"))return null;const a=O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Unevaluated properties");return O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedProperties"},O().createElement(r,{name:a,schema:e.unevaluatedProperties,identifier:"unevaluatedProperties"}))},keywords_Type=({schema:e,isCircular:t=!1})=>{const r=useFn().getType(e),a=t?" [circular]":"";return O().createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},`${r}${a}`)},Enum_Enum=({schema:e})=>{const t=useComponent("JSONViewer");return Array.isArray(e?.enum)?O().createElement(t,{name:"Enum",value:e.enum,className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--enum"}):null},Const_Const=({schema:e})=>{const t=useFn(),r=useComponent("JSONViewer");return t.hasKeyword(e,"const")?O().createElement(r,{name:"Const",value:e.const,className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--const"}):null},fn_upperFirst=e=>"string"==typeof e?`${e.charAt(0).toUpperCase()}${e.slice(1)}`:e,makeGetTitle=e=>(t,{lookup:r="extended"}={})=>{const a=e();if(null!=t?.title)return a.upperFirst(String(t.title));if("extended"===r){if(null!=t?.$anchor)return a.upperFirst(String(t.$anchor));if(null!=t?.$id)return String(t.$id)}return""},makeGetType=e=>{const getType=(t,r=new WeakSet)=>{const a=e();if(null==t)return"any";if(a.isBooleanJSONSchema(t))return t?"any":"never";if("object"!=typeof t)return"any";if(r.has(t))return"any";r.add(t);const{type:n,prefixItems:s,items:o}=t,getArrayType=()=>{if(Array.isArray(s)){const e=s.map((e=>getType(e,r))),t=o?getType(o,r):"any";return`array<[${e.join(", ")}], ${t}>`}if(o){return`array<${getType(o,r)}>`}return"array"};if(t.not&&"any"===getType(t.not))return"never";const handleCombiningKeywords=(e,a)=>{if(Array.isArray(t[e])){return`(${t[e].map((e=>getType(e,r))).join(a)})`}return null},l=[Array.isArray(n)?n.map((e=>"array"===e?getArrayType():e)).join(" | "):"array"===n?getArrayType():["null","boolean","object","array","number","integer","string"].includes(n)?n:(()=>{if(Object.hasOwn(t,"prefixItems")||Object.hasOwn(t,"items")||Object.hasOwn(t,"contains"))return getArrayType();if(Object.hasOwn(t,"properties")||Object.hasOwn(t,"additionalProperties")||Object.hasOwn(t,"patternProperties"))return"object";if(["int32","int64"].includes(t.format))return"integer";if(["float","double"].includes(t.format))return"number";if(Object.hasOwn(t,"minimum")||Object.hasOwn(t,"maximum")||Object.hasOwn(t,"exclusiveMinimum")||Object.hasOwn(t,"exclusiveMaximum")||Object.hasOwn(t,"multipleOf"))return"number | integer";if(Object.hasOwn(t,"pattern")||Object.hasOwn(t,"format")||Object.hasOwn(t,"minLength")||Object.hasOwn(t,"maxLength")||Object.hasOwn(t,"contentEncoding")||Object.hasOwn(t,"contentMediaType"))return"string";if(void 0!==t.const){if(null===t.const)return"null";if("boolean"==typeof t.const)return"boolean";if("number"==typeof t.const)return Number.isInteger(t.const)?"integer":"number";if("string"==typeof t.const)return"string";if(Array.isArray(t.const))return"array";if("object"==typeof t.const)return"object"}return null})(),handleCombiningKeywords("oneOf"," | "),handleCombiningKeywords("anyOf"," | "),handleCombiningKeywords("allOf"," & ")].filter(Boolean).join(" | ");return r.delete(t),l||"any"};return getType},isBooleanJSONSchema=e=>"boolean"==typeof e,hasKeyword=(e,t)=>null!==e&&"object"==typeof e&&Object.hasOwn(e,t),fn_makeIsExpandable=e=>t=>{const r=e();return t?.$schema||t?.$vocabulary||t?.$id||t?.$anchor||t?.$dynamicAnchor||t?.$ref||t?.$dynamicRef||t?.$defs||t?.$comment||t?.allOf||t?.anyOf||t?.oneOf||r.hasKeyword(t,"not")||r.hasKeyword(t,"if")||r.hasKeyword(t,"then")||r.hasKeyword(t,"else")||t?.dependentSchemas||t?.prefixItems||r.hasKeyword(t,"items")||r.hasKeyword(t,"contains")||t?.properties||t?.patternProperties||r.hasKeyword(t,"additionalProperties")||r.hasKeyword(t,"propertyNames")||r.hasKeyword(t,"unevaluatedItems")||r.hasKeyword(t,"unevaluatedProperties")||t?.description||t?.enum||r.hasKeyword(t,"const")||r.hasKeyword(t,"contentSchema")||r.hasKeyword(t,"default")||t?.examples||r.getExtensionKeywords(t).length>0},fn_stringify=e=>null===e||["number","bigint","boolean"].includes(typeof e)?String(e):Array.isArray(e)?`[${e.map(fn_stringify).join(", ")}]`:JSON.stringify(e),stringifyConstraintRange=(e,t,r)=>{const a="number"==typeof t,n="number"==typeof r;return a&&n?t===r?`${t} ${e}`:`[${t}, ${r}] ${e}`:a?`≥ ${t} ${e}`:n?`≤ ${r} ${e}`:null},stringifyConstraints=e=>{const t=[],r=(e=>{if("number"!=typeof e?.multipleOf)return null;if(e.multipleOf<=0)return null;if(1===e.multipleOf)return null;const{multipleOf:t}=e;if(Number.isInteger(t))return`multiple of ${t}`;const r=10**t.toString().split(".")[1].length;return`multiple of ${t*r}/${r}`})(e);null!==r&&t.push({scope:"number",value:r});const a=(e=>{const t=e?.minimum,r=e?.maximum,a=e?.exclusiveMinimum,n=e?.exclusiveMaximum,s="number"==typeof t,o="number"==typeof r,l="number"==typeof a,c="number"==typeof n,i=l&&(!s||tn);if((s||l)&&(o||c))return`${i?"(":"["}${i?a:t}, ${p?n:r}${p?")":"]"}`;if(s||l)return`${i?">":"≥"} ${i?a:t}`;if(o||c)return`${p?"<":"≤"} ${p?n:r}`;return null})(e);null!==a&&t.push({scope:"number",value:a}),e?.format&&t.push({scope:"string",value:e.format});const n=stringifyConstraintRange("characters",e?.minLength,e?.maxLength);null!==n&&t.push({scope:"string",value:n}),e?.pattern&&t.push({scope:"string",value:`matches ${e?.pattern}`}),e?.contentMediaType&&t.push({scope:"string",value:`media type: ${e.contentMediaType}`}),e?.contentEncoding&&t.push({scope:"string",value:`encoding: ${e.contentEncoding}`});const s=stringifyConstraintRange(e?.uniqueItems?"unique items":"items",e?.minItems,e?.maxItems);null!==s&&t.push({scope:"array",value:s}),e?.uniqueItems&&!s&&t.push({scope:"array",value:"unique"});const o=stringifyConstraintRange("contained items",e?.minContains,e?.maxContains);null!==o&&t.push({scope:"array",value:o});const l=stringifyConstraintRange("properties",e?.minProperties,e?.maxProperties);return null!==l&&t.push({scope:"object",value:l}),t},getDependentRequired=(e,t)=>t?.dependentRequired?Array.from(Object.entries(t.dependentRequired).reduce(((t,[r,a])=>Array.isArray(a)&&a.includes(e)?(t.add(r),t):t),new Set)):[],isPlainObject=e=>"object"==typeof e&&null!==e&&!Array.isArray(e)&&(null===Object.getPrototypeOf(e)||Object.getPrototypeOf(e)===Object.prototype),getSchemaKeywords=()=>["$schema","$vocabulary","$id","$anchor","$dynamicAnchor","$dynamicRef","$ref","$defs","$comment","allOf","anyOf","oneOf","not","if","then","else","dependentSchemas","prefixItems","items","contains","properties","patternProperties","additionalProperties","propertyNames","unevaluatedItems","unevaluatedProperties","type","enum","const","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","maxItems","minItems","uniqueItems","maxContains","minContains","maxProperties","minProperties","required","dependentRequired","title","description","default","deprecated","readOnly","writeOnly","examples","format","contentEncoding","contentMediaType","contentSchema"],makeGetExtensionKeywords=e=>t=>{const r=e().getSchemaKeywords();return isPlainObject(t)?((e,t)=>{const r=new Set(t);return e.filter((e=>!r.has(e)))})(Object.keys(t),r):[]},fn_hasSchemaType=(e,t)=>{const r=k.Map.isMap(e);if(!r&&!isPlainObject(e))return!1;const hasType=e=>t===e||Array.isArray(t)&&t.includes(e),a=r?e.get("type"):e.type;return k.List.isList(a)||Array.isArray(a)?a.some((e=>hasType(e))):hasType(a)},Constraint=({constraint:e})=>isPlainObject(e)&&"string"==typeof e.scope&&"string"==typeof e.value?O().createElement("span",{className:`json-schema-2020-12__constraint json-schema-2020-12__constraint--${e.scope}`},e.value):null,Ys=O().memo(Constraint),DependentRequired_DependentRequired=({dependentRequired:e})=>Array.isArray(e)&&0!==e.length?O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentRequired"},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Required when defined"),O().createElement("ul",null,e.map((e=>O().createElement("li",{key:e},O().createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--warning"},e)))))):null,keywords_ContentSchema=({schema:e})=>{const t=useFn(),r=useComponent("JSONSchema");if(!t.hasKeyword(e,"contentSchema"))return null;const a=O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Content schema");return O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--contentSchema"},O().createElement(r,{name:a,schema:e.contentSchema,identifier:"contentSchema"}))},Title_Title=({title:e="",schema:t})=>{const r=useFn(),a=e||r.getTitle(t);return a?O().createElement("div",{className:"json-schema-2020-12__title"},a):null},keywords_Description_Description=({schema:e})=>e?.description?O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--description"},O().createElement("div",{className:"json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary"},e.description)):null,Default_Default=({schema:e})=>{const t=useFn(),r=useComponent("JSONViewer");return t.hasKeyword(e,"default")?O().createElement(r,{name:"Default",value:e.default,className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--default"}):null},keywords_Deprecated=({schema:e})=>!0!==e?.deprecated?null:O().createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--warning"},"deprecated"),keywords_ReadOnly=({schema:e})=>!0!==e?.readOnly?null:O().createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted"},"read-only"),keywords_WriteOnly=({schema:e})=>!0!==e?.writeOnly?null:O().createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted"},"write-only"),keywords_Examples_Examples=({schema:e})=>{const t=e?.examples||[],r=useComponent("JSONViewer");return Array.isArray(t)&&0!==t.length?O().createElement(r,{name:"Examples",value:e.examples,className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--examples"}):null},ExtensionKeywords_ExtensionKeywords=({schema:e})=>{const t=useFn(),r="ExtensionKeywords",{path:a}=usePath(r),{isExpanded:n,setExpanded:s,setCollapsed:o}=useIsExpanded(r),[l,c]=useLevel(),i=useComponent("Accordion"),p=useComponent("ExpandDeepButton"),m=useComponent("JSONViewer"),{showExtensionKeywords:u}=useConfig(),d=t.getExtensionKeywords(e),h=(0,x.useCallback)((()=>{n?o():s()}),[n,s,o]),g=(0,x.useCallback)(((e,t)=>{t?s({deep:!0}):o({deep:!0})}),[s,o]);return u&&0!==d.length?O().createElement(Hs.Provider,{value:a},O().createElement(Fs.Provider,{value:c},O().createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--extension-keywords","data-json-schema-level":l},O().createElement(i,{expanded:n,onChange:h},O().createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--extension"},"Extension Keywords")),O().createElement(p,{expanded:n,onClick:g}),O().createElement("ul",{className:pt()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!n})},n&&O().createElement(O().Fragment,null,d.map((t=>O().createElement(m,{key:t,name:t,value:e[t],className:"json-schema-2020-12-json-viewer-extension-keyword"})))))))):null},JSONViewer=({name:e,value:t,className:r})=>{const a=useFn(),{path:n}=usePath(e),{isExpanded:s,setExpanded:o,setCollapsed:l}=useIsExpanded(e),[c,i]=useLevel(),p=useComponent("Accordion"),m=useComponent("ExpandDeepButton"),u="string"==typeof t||"number"==typeof t||"bigint"==typeof t||"boolean"==typeof t||"symbol"==typeof t||null==t,d=(e=>isPlainObject(e)&&0===Object.keys(e).length)(t)||(e=>Array.isArray(e)&&0===e.length)(t),h=(0,x.useCallback)((()=>{s?l():o()}),[s,o,l]),g=(0,x.useCallback)(((e,t)=>{t?o({deep:!0}):l({deep:!0})}),[o,l]);return u?O().createElement("div",{className:pt()("json-schema-2020-12-json-viewer",r)},O().createElement("span",{className:"json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary"},e),O().createElement("span",{className:"json-schema-2020-12-json-viewer__value json-schema-2020-12-json-viewer__value--secondary"},a.stringify(t))):d?O().createElement("div",{className:pt()("json-schema-2020-12-json-viewer",r)},O().createElement("span",{className:"json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary"},e),O().createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},Array.isArray(t)?"empty array":"empty object")):O().createElement(Hs.Provider,{value:n},O().createElement(Fs.Provider,{value:i},O().createElement("div",{className:pt()("json-schema-2020-12-json-viewer",r),"data-json-schema-level":c},O().createElement(p,{expanded:s,onChange:h},O().createElement("span",{className:"json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary"},e)),O().createElement(m,{expanded:s,onClick:g}),O().createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},Array.isArray(t)?"array":"object"),O().createElement("ul",{className:pt()("json-schema-2020-12-json-viewer__children",{"json-schema-2020-12-json-viewer__children--collapsed":!s})},s&&O().createElement(O().Fragment,null,Array.isArray(t)?t.map(((e,t)=>O().createElement("li",{key:`#${t}`,className:"json-schema-2020-12-property"},O().createElement(JSONViewer,{name:`#${t}`,value:e,className:r})))):Object.entries(t).map((([e,t])=>O().createElement("li",{key:e,className:"json-schema-2020-12-property"},O().createElement(JSONViewer,{name:e,value:t,className:r})))))))))},Qs=JSONViewer,Accordion_Accordion=({expanded:e=!1,children:t,onChange:r})=>{const a=useComponent("ChevronRightIcon"),n=(0,x.useCallback)((t=>{r(t,!e)}),[e,r]);return O().createElement("button",{type:"button",className:"json-schema-2020-12-accordion",onClick:n},O().createElement("div",{className:"json-schema-2020-12-accordion__children"},t),O().createElement("span",{className:pt()("json-schema-2020-12-accordion__icon",{"json-schema-2020-12-accordion__icon--expanded":e,"json-schema-2020-12-accordion__icon--collapsed":!e})},O().createElement(a,null)))},ExpandDeepButton_ExpandDeepButton=({expanded:e,onClick:t})=>{const r=(0,x.useCallback)((r=>{t(r,!e)}),[e,t]);return O().createElement("button",{type:"button",className:"json-schema-2020-12-expand-deep-button",onClick:r},e?"Collapse all":"Expand all")},icons_ChevronRight=()=>O().createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},O().createElement("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"})),withJSONSchemaContext=(e,t={})=>{const r={components:{JSONSchema:Gs,Keyword$schema:keywords_$schema,Keyword$vocabulary:$vocabulary_$vocabulary,Keyword$id:keywords_$id,Keyword$anchor:keywords_$anchor,Keyword$dynamicAnchor:keywords_$dynamicAnchor,Keyword$ref:keywords_$ref,Keyword$dynamicRef:keywords_$dynamicRef,Keyword$defs:keywords_$defs,Keyword$comment:keywords_$comment,KeywordAllOf:keywords_AllOf,KeywordAnyOf:keywords_AnyOf,KeywordOneOf:keywords_OneOf,KeywordNot:keywords_Not,KeywordIf:keywords_If,KeywordThen:keywords_Then,KeywordElse:keywords_Else,KeywordDependentSchemas:keywords_DependentSchemas,KeywordPrefixItems:keywords_PrefixItems,KeywordItems:keywords_Items,KeywordContains:keywords_Contains,KeywordProperties:keywords_Properties_Properties,KeywordPatternProperties:PatternProperties_PatternProperties,KeywordAdditionalProperties:keywords_AdditionalProperties,KeywordPropertyNames:keywords_PropertyNames,KeywordUnevaluatedItems:keywords_UnevaluatedItems,KeywordUnevaluatedProperties:keywords_UnevaluatedProperties,KeywordType:keywords_Type,KeywordEnum:Enum_Enum,KeywordConst:Const_Const,KeywordConstraint:Ys,KeywordDependentRequired:DependentRequired_DependentRequired,KeywordContentSchema:keywords_ContentSchema,KeywordTitle:Title_Title,KeywordDescription:keywords_Description_Description,KeywordDefault:Default_Default,KeywordDeprecated:keywords_Deprecated,KeywordReadOnly:keywords_ReadOnly,KeywordWriteOnly:keywords_WriteOnly,KeywordExamples:keywords_Examples_Examples,ExtensionKeywords:ExtensionKeywords_ExtensionKeywords,JSONViewer:Qs,Accordion:Accordion_Accordion,ExpandDeepButton:ExpandDeepButton_ExpandDeepButton,ChevronRightIcon:icons_ChevronRight,...t.components},config:{default$schema:"https://json-schema.org/draft/2020-12/schema",defaultExpandedLevels:0,showExtensionKeywords:!0,...t.config},fn:{upperFirst:fn_upperFirst,getTitle:makeGetTitle(useFn),getType:makeGetType(useFn),isBooleanJSONSchema,hasKeyword,isExpandable:fn_makeIsExpandable(useFn),stringify:fn_stringify,stringifyConstraints,getDependentRequired,getSchemaKeywords,getExtensionKeywords:makeGetExtensionKeywords(useFn),...t.fn},state:{paths:{}}},HOC=t=>O().createElement(Bs.Provider,{value:r},O().createElement(e,t));return HOC.contexts={JSONSchemaContext:Bs},HOC.displayName=e.displayName,HOC},makeWithJSONSchemaSystemContext=({getSystem:e})=>(t,r={})=>{const{getComponent:a,getConfigs:n}=e(),s=n(),o=a("JSONSchema202012"),l=a("JSONSchema202012Keyword$schema"),c=a("JSONSchema202012Keyword$vocabulary"),i=a("JSONSchema202012Keyword$id"),p=a("JSONSchema202012Keyword$anchor"),m=a("JSONSchema202012Keyword$dynamicAnchor"),u=a("JSONSchema202012Keyword$ref"),d=a("JSONSchema202012Keyword$dynamicRef"),h=a("JSONSchema202012Keyword$defs"),g=a("JSONSchema202012Keyword$comment"),y=a("JSONSchema202012KeywordAllOf"),f=a("JSONSchema202012KeywordAnyOf"),S=a("JSONSchema202012KeywordOneOf"),E=a("JSONSchema202012KeywordNot"),_=a("JSONSchema202012KeywordIf"),v=a("JSONSchema202012KeywordThen"),w=a("JSONSchema202012KeywordElse"),b=a("JSONSchema202012KeywordDependentSchemas"),C=a("JSONSchema202012KeywordPrefixItems"),x=a("JSONSchema202012KeywordItems"),O=a("JSONSchema202012KeywordContains"),N=a("JSONSchema202012KeywordProperties"),k=a("JSONSchema202012KeywordPatternProperties"),A=a("JSONSchema202012KeywordAdditionalProperties"),I=a("JSONSchema202012KeywordPropertyNames"),j=a("JSONSchema202012KeywordUnevaluatedItems"),q=a("JSONSchema202012KeywordUnevaluatedProperties"),P=a("JSONSchema202012KeywordType"),M=a("JSONSchema202012KeywordEnum"),T=a("JSONSchema202012KeywordConst"),R=a("JSONSchema202012KeywordConstraint"),J=a("JSONSchema202012KeywordDependentRequired"),$=a("JSONSchema202012KeywordContentSchema"),V=a("JSONSchema202012KeywordTitle"),L=a("JSONSchema202012KeywordDescription"),D=a("JSONSchema202012KeywordDefault"),U=a("JSONSchema202012KeywordDeprecated"),K=a("JSONSchema202012KeywordReadOnly"),z=a("JSONSchema202012KeywordWriteOnly"),B=a("JSONSchema202012KeywordExamples"),F=a("JSONSchema202012ExtensionKeywords"),W=a("JSONSchema202012JSONViewer"),H=a("JSONSchema202012Accordion"),X=a("JSONSchema202012ExpandDeepButton"),G=a("JSONSchema202012ChevronRightIcon");return withJSONSchemaContext(t,{components:{JSONSchema:o,Keyword$schema:l,Keyword$vocabulary:c,Keyword$id:i,Keyword$anchor:p,Keyword$dynamicAnchor:m,Keyword$ref:u,Keyword$dynamicRef:d,Keyword$defs:h,Keyword$comment:g,KeywordAllOf:y,KeywordAnyOf:f,KeywordOneOf:S,KeywordNot:E,KeywordIf:_,KeywordThen:v,KeywordElse:w,KeywordDependentSchemas:b,KeywordPrefixItems:C,KeywordItems:x,KeywordContains:O,KeywordProperties:N,KeywordPatternProperties:k,KeywordAdditionalProperties:A,KeywordPropertyNames:I,KeywordUnevaluatedItems:j,KeywordUnevaluatedProperties:q,KeywordType:P,KeywordEnum:M,KeywordConst:T,KeywordConstraint:R,KeywordDependentRequired:J,KeywordContentSchema:$,KeywordTitle:V,KeywordDescription:L,KeywordDefault:D,KeywordDeprecated:U,KeywordReadOnly:K,KeywordWriteOnly:z,KeywordExamples:B,ExtensionKeywords:F,JSONViewer:W,Accordion:H,ExpandDeepButton:X,ChevronRightIcon:G,...r.components},config:{showExtensionKeywords:s.showExtensions,...r.config},fn:{...r.fn}})},json_schema_2020_12=({getSystem:e,fn:t})=>{const fnAccessor=()=>({upperFirst:t.upperFirst,...t.jsonSchema202012});return{components:{JSONSchema202012:Gs,JSONSchema202012Keyword$schema:keywords_$schema,JSONSchema202012Keyword$vocabulary:$vocabulary_$vocabulary,JSONSchema202012Keyword$id:keywords_$id,JSONSchema202012Keyword$anchor:keywords_$anchor,JSONSchema202012Keyword$dynamicAnchor:keywords_$dynamicAnchor,JSONSchema202012Keyword$ref:keywords_$ref,JSONSchema202012Keyword$dynamicRef:keywords_$dynamicRef,JSONSchema202012Keyword$defs:keywords_$defs,JSONSchema202012Keyword$comment:keywords_$comment,JSONSchema202012KeywordAllOf:keywords_AllOf,JSONSchema202012KeywordAnyOf:keywords_AnyOf,JSONSchema202012KeywordOneOf:keywords_OneOf,JSONSchema202012KeywordNot:keywords_Not,JSONSchema202012KeywordIf:keywords_If,JSONSchema202012KeywordThen:keywords_Then,JSONSchema202012KeywordElse:keywords_Else,JSONSchema202012KeywordDependentSchemas:keywords_DependentSchemas,JSONSchema202012KeywordPrefixItems:keywords_PrefixItems,JSONSchema202012KeywordItems:keywords_Items,JSONSchema202012KeywordContains:keywords_Contains,JSONSchema202012KeywordProperties:keywords_Properties_Properties,JSONSchema202012KeywordPatternProperties:PatternProperties_PatternProperties,JSONSchema202012KeywordAdditionalProperties:keywords_AdditionalProperties,JSONSchema202012KeywordPropertyNames:keywords_PropertyNames,JSONSchema202012KeywordUnevaluatedItems:keywords_UnevaluatedItems,JSONSchema202012KeywordUnevaluatedProperties:keywords_UnevaluatedProperties,JSONSchema202012KeywordType:keywords_Type,JSONSchema202012KeywordEnum:Enum_Enum,JSONSchema202012KeywordConst:Const_Const,JSONSchema202012KeywordConstraint:Ys,JSONSchema202012KeywordDependentRequired:DependentRequired_DependentRequired,JSONSchema202012KeywordContentSchema:keywords_ContentSchema,JSONSchema202012KeywordTitle:Title_Title,JSONSchema202012KeywordDescription:keywords_Description_Description,JSONSchema202012KeywordDefault:Default_Default,JSONSchema202012KeywordDeprecated:keywords_Deprecated,JSONSchema202012KeywordReadOnly:keywords_ReadOnly,JSONSchema202012KeywordWriteOnly:keywords_WriteOnly,JSONSchema202012KeywordExamples:keywords_Examples_Examples,JSONSchema202012ExtensionKeywords:ExtensionKeywords_ExtensionKeywords,JSONSchema202012JSONViewer:Qs,JSONSchema202012Accordion:Accordion_Accordion,JSONSchema202012ExpandDeepButton:ExpandDeepButton_ExpandDeepButton,JSONSchema202012ChevronRightIcon:icons_ChevronRight,withJSONSchema202012Context:withJSONSchemaContext,withJSONSchema202012SystemContext:makeWithJSONSchemaSystemContext(e()),JSONSchema202012PathContext:()=>Hs,JSONSchema202012LevelContext:()=>Fs},fn:{upperFirst:fn_upperFirst,jsonSchema202012:{getTitle:makeGetTitle(fnAccessor),getType:makeGetType(fnAccessor),isExpandable:fn_makeIsExpandable(fnAccessor),isBooleanJSONSchema,hasKeyword,useFn,useConfig,useComponent,useIsExpanded,usePath,useLevel,getSchemaKeywords,getExtensionKeywords:makeGetExtensionKeywords(fnAccessor),hasSchemaType:fn_hasSchemaType}}}},array=(e,{sample:t=[]}={})=>((e,t={})=>{const{minItems:r,maxItems:a,uniqueItems:n}=t,{contains:s,minContains:o,maxContains:l}=t;let c=[...e];if(null!=s&&"object"==typeof s){if(Number.isInteger(o)&&o>1){const e=c.at(0);for(let t=1;t0&&(c=e.slice(0,a)),Number.isInteger(r)&&r>0)for(let e=0;c.length{throw new Error("Not implemented")},bytes=e=>ae()(e),pick=e=>e.at(0),predicates_isBooleanJSONSchema=e=>"boolean"==typeof e,isJSONSchemaObject=e=>wt()(e),isJSONSchema=e=>predicates_isBooleanJSONSchema(e)||isJSONSchemaObject(e);const Zs=class Registry{data={};register(e,t){this.data[e]=t}unregister(e){void 0===e?this.data={}:delete this.data[e]}get(e){return this.data[e]}},int32=()=>0,int64=()=>0,generators_float=()=>.1,generators_double=()=>.1,email=()=>"user@example.com",idn_email=()=>"실례@example.com",hostname=()=>"example.com",idn_hostname=()=>"실례.com",ipv4=()=>"198.51.100.42",ipv6=()=>"2001:0db8:5b96:0000:0000:426f:8e17:642a",uri=()=>"https://example.com/",uri_reference=()=>"path/index.html",iri=()=>"https://xn--9n2bp8q.com/",iri_reference=()=>"path/실례.html",uuid=()=>"3fa85f64-5717-4562-b3fc-2c963f66afa6",uri_template=()=>"https://example.com/dictionary/%7Bterm:1%7D/%7Bterm%7D",json_pointer=()=>"/a/b/c",relative_json_pointer=()=>"1/0",date_time=()=>(new Date).toISOString(),date=()=>(new Date).toISOString().substring(0,10),time=()=>(new Date).toISOString().substring(11),duration=()=>"P3D",generators_password=()=>"********",regex=()=>"^[a-z]+$";const eo=new class FormatRegistry extends Zs{#e={int32,int64,float:generators_float,double:generators_double,email,"idn-email":idn_email,hostname,"idn-hostname":idn_hostname,ipv4,ipv6,uri,"uri-reference":uri_reference,iri,"iri-reference":iri_reference,uuid,"uri-template":uri_template,"json-pointer":json_pointer,"relative-json-pointer":relative_json_pointer,"date-time":date_time,date,time,duration,password:generators_password,regex};data={...this.#e};get defaults(){return{...this.#e}}},formatAPI=(e,t)=>"function"==typeof t?eo.register(e,t):null===t?eo.unregister(e):eo.get(e);formatAPI.getDefaults=()=>eo.defaults;const to=formatAPI;var ro=__webpack_require__(158).Buffer;const _7bit=e=>ro.from(e).toString("ascii");var ao=__webpack_require__(158).Buffer;const _8bit=e=>ao.from(e).toString("utf8");var no=__webpack_require__(158).Buffer;const binary=e=>no.from(e).toString("binary"),quoted_printable=e=>{let t="";for(let r=0;r=33&&a<=60||a>=62&&a<=126||9===a||32===a)t+=e.charAt(r);else if(13===a||10===a)t+="\r\n";else if(a>126){const a=unescape(encodeURIComponent(e.charAt(r)));for(let e=0;eso.from(e).toString("hex");var oo=__webpack_require__(158).Buffer;const base32=e=>{const t=oo.from(e).toString("utf8"),r="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";let a=0,n="",s=0,o=0;for(let e=0;e=5;)n+=r.charAt(s>>>o-5&31),o-=5;o>0&&(n+=r.charAt(s<<5-o&31),a=(8-8*t.length%5)%5);for(let e=0;elo.from(e).toString("base64");var co=__webpack_require__(158).Buffer;const base64url=e=>co.from(e).toString("base64url");const io=new class EncoderRegistry extends Zs{#e={"7bit":_7bit,"8bit":_8bit,binary,"quoted-printable":quoted_printable,base16,base32,base64,base64url};data={...this.#e};get defaults(){return{...this.#e}}},encoderAPI=(e,t)=>"function"==typeof t?io.register(e,t):null===t?io.unregister(e):io.get(e);encoderAPI.getDefaults=()=>io.defaults;const po=encoderAPI,mo={"text/plain":()=>"string","text/css":()=>".selector { border: 1px solid red }","text/csv":()=>"value1,value2,value3","text/html":()=>"

content

","text/calendar":()=>"BEGIN:VCALENDAR","text/javascript":()=>"console.dir('Hello world!');","text/xml":()=>'John Doe',"text/*":()=>"string"},uo={"image/*":()=>bytes(25).toString("binary")},ho={"audio/*":()=>bytes(25).toString("binary")},go={"video/*":()=>bytes(25).toString("binary")},yo={"application/json":()=>'{"key":"value"}',"application/ld+json":()=>'{"name": "John Doe"}',"application/x-httpd-php":()=>"Hello World!

'; ?>","application/rtf":()=>String.raw`{\rtf1\adeflang1025\ansi\ansicpg1252\uc1`,"application/x-sh":()=>'echo "Hello World!"',"application/xhtml+xml":()=>"

content

","application/*":()=>bytes(25).toString("binary")};const fo=new class MediaTypeRegistry extends Zs{#e={...mo,...uo,...ho,...go,...yo};data={...this.#e};get defaults(){return{...this.#e}}},mediaTypeAPI=(e,t)=>{if("function"==typeof t)return fo.register(e,t);if(null===t)return fo.unregister(e);const r=e.split(";").at(0),a=`${r.split("/").at(0)}/*`;return fo.get(e)||fo.get(r)||fo.get(a)};mediaTypeAPI.getDefaults=()=>fo.defaults;const So=mediaTypeAPI,applyStringConstraints=(e,t={})=>{const{maxLength:r,minLength:a}=t;let n=e;if(Number.isInteger(r)&&r>0&&(n=n.slice(0,r)),Number.isInteger(a)&&a>0){let e=0;for(;n.length{const{contentEncoding:r,contentMediaType:a,contentSchema:n}=e,{pattern:s,format:o}=e,l=po(r)||ma();let c;return c="string"==typeof s?applyStringConstraints((e=>{try{const t=/(?<=(?{const{format:t}=e,r=to(t);return"function"==typeof r?r(e):"string"})(e):isJSONSchema(n)&&"string"==typeof a&&void 0!==t?Array.isArray(t)||"object"==typeof t?JSON.stringify(t):applyStringConstraints(String(t),e):"string"==typeof a?(e=>{const{contentMediaType:t}=e,r=So(t);return"function"==typeof r?r(e):"string"})(e):applyStringConstraints("string",e),l(c)},applyNumberConstraints=(e,t={})=>{const{minimum:r,maximum:a,exclusiveMinimum:n,exclusiveMaximum:s}=t,{multipleOf:o}=t,l=Number.isInteger(e)?1:Number.EPSILON;let c="number"==typeof r?r:null,i="number"==typeof a?a:null,p=e;if("number"==typeof n&&(c=null!==c?Math.max(c,n+l):n+l),"number"==typeof s&&(i=null!==i?Math.min(i,s-l):s-l),p=c>i&&e||c||i||p,"number"==typeof o&&o>0){const e=p%o;p=0===e?p:p+o-e}return p},types_number=e=>{const{format:t}=e;let r;return r="string"==typeof t?(e=>{const{format:t}=e,r=to(t);return"function"==typeof r?r(e):0})(e):0,applyNumberConstraints(r,e)},types_integer=e=>{const{format:t}=e;let r;return r="string"==typeof t?(e=>{const{format:t}=e,r=to(t);if("function"==typeof r)return r(e);switch(t){case"int32":return int32();case"int64":return int64()}return 0})(e):0,applyNumberConstraints(r,e)},types_boolean=e=>"boolean"!=typeof e.default||e.default,Eo=new Proxy({array,object,string:types_string,number:types_number,integer:types_integer,boolean:types_boolean,null:()=>null},{get:(e,t)=>"string"==typeof t&&Object.hasOwn(e,t)?e[t]:()=>`Unknown Type: ${t}`}),_o=["array","object","number","integer","string","boolean","null"],hasExample=e=>{if(!isJSONSchemaObject(e))return!1;const{examples:t,example:r,default:a}=e;return!!(Array.isArray(t)&&t.length>=1)||(void 0!==a||void 0!==r)},extractExample=e=>{if(!isJSONSchemaObject(e))return null;const{examples:t,example:r,default:a}=e;return Array.isArray(t)&&t.length>=1?t.at(0):void 0!==a?a:void 0!==r?r:void 0},vo={array:["items","prefixItems","contains","maxContains","minContains","maxItems","minItems","uniqueItems","unevaluatedItems"],object:["properties","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","required","dependentSchemas","dependentRequired","unevaluatedProperties"],string:["pattern","format","minLength","maxLength","contentEncoding","contentMediaType","contentSchema"],integer:["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"]};vo.number=vo.integer;const wo="string",inferTypeFromValue=e=>void 0===e?null:null===e?"null":Array.isArray(e)?"array":Number.isInteger(e)?"integer":typeof e,foldType=e=>{if(Array.isArray(e)&&e.length>=1){if(e.includes("array"))return"array";if(e.includes("object"))return"object";{const t=e.filter((e=>"null"!==e)),r=pick(t.length>0?t:e);if(_o.includes(r))return r}}return _o.includes(e)?e:null},inferType=(e,t=new WeakSet)=>{if(!isJSONSchemaObject(e))return wo;if(t.has(e))return wo;t.add(e);let{type:r,const:a}=e;if(r=foldType(r),"string"!=typeof r){const t=Object.keys(vo);e:for(let a=0;a{if(Array.isArray(e[r])){const a=e[r].map((e=>inferType(e,t)));return foldType(a)}return null},a=combineTypes("allOf"),n=combineTypes("anyOf"),s=combineTypes("oneOf"),o=e.not?inferType(e.not,t):null;(a||n||s||o)&&(r=foldType([a,n,s,o].filter(Boolean)))}if("string"!=typeof r&&hasExample(e)){const t=extractExample(e),a=inferTypeFromValue(t);r="string"==typeof a?a:r}return t.delete(e),r||wo},type_getType=e=>inferType(e),typeCast=e=>predicates_isBooleanJSONSchema(e)?(e=>!1===e?{not:{}}:{})(e):isJSONSchemaObject(e)?e:{},merge=(e,t,r={})=>{if(predicates_isBooleanJSONSchema(e)&&!0===e)return!0;if(predicates_isBooleanJSONSchema(e)&&!1===e)return!1;if(predicates_isBooleanJSONSchema(t)&&!0===t)return!0;if(predicates_isBooleanJSONSchema(t)&&!1===t)return!1;if(!isJSONSchema(e))return t;if(!isJSONSchema(t))return e;const a={...t,...e};if(t.type&&e.type&&Array.isArray(t.type)&&"string"==typeof t.type){const r=normalizeArray(t.type).concat(e.type);a.type=Array.from(new Set(r))}if(Array.isArray(t.required)&&Array.isArray(e.required)&&(a.required=[...new Set([...e.required,...t.required])]),t.properties&&e.properties){const n=new Set([...Object.keys(t.properties),...Object.keys(e.properties)]);a.properties={};for(const s of n){const n=t.properties[s]||{},o=e.properties[s]||{};n.readOnly&&!r.includeReadOnly||n.writeOnly&&!r.includeWriteOnly?a.required=(a.required||[]).filter((e=>e!==s)):a.properties[s]=merge(o,n,r)}}return isJSONSchema(t.items)&&isJSONSchema(e.items)&&(a.items=merge(e.items,t.items,r)),isJSONSchema(t.contains)&&isJSONSchema(e.contains)&&(a.contains=merge(e.contains,t.contains,r)),isJSONSchema(t.contentSchema)&&isJSONSchema(e.contentSchema)&&(a.contentSchema=merge(e.contentSchema,t.contentSchema,r)),a},bo=merge,main_sampleFromSchemaGeneric=(e,t={},r=void 0,a=!1)=>{if(null==e&&void 0===r)return;"function"==typeof e?.toJS&&(e=e.toJS()),e=typeCast(e);let n=void 0!==r||hasExample(e);const s=!n&&Array.isArray(e.oneOf)&&e.oneOf.length>0,o=!n&&Array.isArray(e.anyOf)&&e.anyOf.length>0;if(!n&&(s||o)){const r=typeCast(pick(s?e.oneOf:e.anyOf));!(e=bo(e,r,t)).xml&&r.xml&&(e.xml=r.xml),hasExample(e)&&hasExample(r)&&(n=!0)}const l={};let{xml:c,properties:i,additionalProperties:p,items:m,contains:u}=e||{},d=type_getType(e),{includeReadOnly:h,includeWriteOnly:g}=t;c=c||{};let y,{name:f,prefix:S,namespace:E}=c,_={};if(Object.hasOwn(e,"type")||(e.type=d),a&&(f=f||"notagname",y=(S?`${S}:`:"")+f,E)){l[S?`xmlns:${S}`:"xmlns"]=E}a&&(_[y]=[]);const v=objectify(i);let w,b=0;const hasExceededMaxProperties=()=>Number.isInteger(e.maxProperties)&&e.maxProperties>0&&b>=e.maxProperties,canAddProperty=t=>!(Number.isInteger(e.maxProperties)&&e.maxProperties>0)||!hasExceededMaxProperties()&&(!(t=>!Array.isArray(e.required)||0===e.required.length||!e.required.includes(t))(t)||e.maxProperties-b-(()=>{if(!Array.isArray(e.required)||0===e.required.length)return 0;let t=0;return a?e.required.forEach((e=>t+=void 0===_[e]?0:1)):e.required.forEach((e=>{t+=void 0===_[y]?.find((t=>void 0!==t[e]))?0:1})),e.required.length-t})()>0);if(w=a?(r,n=void 0)=>{if(e&&v[r]){if(v[r].xml=v[r].xml||{},v[r].xml.attribute){const e=Array.isArray(v[r].enum)?pick(v[r].enum):void 0;if(hasExample(v[r]))l[v[r].xml.name||r]=extractExample(v[r]);else if(void 0!==e)l[v[r].xml.name||r]=e;else{const e=typeCast(v[r]),a=type_getType(e),s=v[r].xml.name||r;if("array"===a){const e=main_sampleFromSchemaGeneric(v[r],t,n,!1);l[s]=e.map((e=>wt()(e)?"UnknownTypeObject":Array.isArray(e)?"UnknownTypeArray":e)).join(" ")}else l[s]="object"===a?"UnknownTypeObject":Eo[a](e)}return}v[r].xml.name=v[r].xml.name||r}else v[r]||!1===p||(v[r]={xml:{name:r}});let s=main_sampleFromSchemaGeneric(v[r],t,n,a);canAddProperty(r)&&(b++,Array.isArray(s)?_[y]=_[y].concat(s):_[y].push(s))}:(r,n)=>{if(canAddProperty(r)){if(wt()(e.discriminator?.mapping)&&e.discriminator.propertyName===r&&"string"==typeof e.$$ref){for(const t in e.discriminator.mapping)if(-1!==e.$$ref.search(e.discriminator.mapping[t])){_[r]=t;break}}else _[r]=main_sampleFromSchemaGeneric(v[r],t,n,a);b++}},n){let n;if(n=void 0!==r?r:extractExample(e),!a){if("number"==typeof n&&"string"===d)return`${n}`;if("string"!=typeof n||"string"===d)return n;try{return JSON.parse(n)}catch{return n}}if("array"===d){if(!Array.isArray(n)){if("string"==typeof n)return n;n=[n]}let r=[];return isJSONSchemaObject(m)&&(m.xml=m.xml||c||{},m.xml.name=m.xml.name||c.name,r=n.map((e=>main_sampleFromSchemaGeneric(m,t,e,a)))),isJSONSchemaObject(u)&&(u.xml=u.xml||c||{},u.xml.name=u.xml.name||c.name,r=[main_sampleFromSchemaGeneric(u,t,void 0,a),...r]),r=Eo.array(e,{sample:r}),c.wrapped?(_[y]=r,kt()(l)||_[y].push({_attr:l})):_=r,_}if("object"===d){if("string"==typeof n)return n;for(const e in n)Object.hasOwn(n,e)&&(v[e]?.readOnly&&!h||v[e]?.writeOnly&&!g||(v[e]?.xml?.attribute?l[v[e].xml.name||e]=n[e]:w(e,n[e])));return kt()(l)||_[y].push({_attr:l}),_}return _[y]=kt()(l)?n:[{_attr:l},n],_}if("array"===d){let r=[];if(isJSONSchemaObject(u))if(a&&(u.xml=u.xml||e.xml||{},u.xml.name=u.xml.name||c.name),Array.isArray(u.anyOf)){const{anyOf:e,...n}=m;r.push(...u.anyOf.map((e=>main_sampleFromSchemaGeneric(bo(e,n,t),t,void 0,a))))}else if(Array.isArray(u.oneOf)){const{oneOf:e,...n}=m;r.push(...u.oneOf.map((e=>main_sampleFromSchemaGeneric(bo(e,n,t),t,void 0,a))))}else{if(!(!a||a&&c.wrapped))return main_sampleFromSchemaGeneric(u,t,void 0,a);r.push(main_sampleFromSchemaGeneric(u,t,void 0,a))}if(isJSONSchemaObject(m))if(a&&(m.xml=m.xml||e.xml||{},m.xml.name=m.xml.name||c.name),Array.isArray(m.anyOf)){const{anyOf:e,...n}=m;r.push(...m.anyOf.map((e=>main_sampleFromSchemaGeneric(bo(e,n,t),t,void 0,a))))}else if(Array.isArray(m.oneOf)){const{oneOf:e,...n}=m;r.push(...m.oneOf.map((e=>main_sampleFromSchemaGeneric(bo(e,n,t),t,void 0,a))))}else{if(!(!a||a&&c.wrapped))return main_sampleFromSchemaGeneric(m,t,void 0,a);r.push(main_sampleFromSchemaGeneric(m,t,void 0,a))}return r=Eo.array(e,{sample:r}),a&&c.wrapped?(_[y]=r,kt()(l)||_[y].push({_attr:l}),_):r}if("object"===d){for(let e in v)Object.hasOwn(v,e)&&(v[e]?.deprecated||v[e]?.readOnly&&!h||v[e]?.writeOnly&&!g||w(e));if(a&&l&&_[y].push({_attr:l}),hasExceededMaxProperties())return _;if(predicates_isBooleanJSONSchema(p)&&p)a?_[y].push({additionalProp:"Anything can be here"}):_.additionalProp1={},b++;else if(isJSONSchemaObject(p)){const r=p,n=main_sampleFromSchemaGeneric(r,t,void 0,a);if(a&&"string"==typeof r?.xml?.name&&"notagname"!==r?.xml?.name)_[y].push(n);else{const t=r?.["x-additionalPropertiesName"]||"additionalProp",s=Number.isInteger(e.minProperties)&&e.minProperties>0&&b{const a=main_sampleFromSchemaGeneric(e,t,r,!0);if(a)return"string"==typeof a?a:Ct()(a,{declaration:!0,indent:"\t"})},main_sampleFromSchema=(e,t,r)=>main_sampleFromSchemaGeneric(e,t,r,!1),main_resolver=(e,t,r)=>[e,JSON.stringify(t),JSON.stringify(r)],Co=utils_memoizeN(main_createXMLExample,main_resolver),xo=utils_memoizeN(main_sampleFromSchema,main_resolver);const Oo=new class OptionRegistry extends Zs{#e={};data={...this.#e};get defaults(){return{...this.#e}}},api_optionAPI=(e,t)=>(void 0!==t&&Oo.register(e,t),Oo.get(e)),No=[{when:/json/,shouldStringifyTypes:["string"]}],ko=["object"],fn_get_json_sample_schema=e=>(t,r,a,n)=>{const{fn:s}=e(),o=s.jsonSchema202012.memoizedSampleFromSchema(t,r,n),l=typeof o,c=No.reduce(((e,t)=>t.when.test(a)?[...e,...t.shouldStringifyTypes]:e),ko);return X()(c,(e=>e===l))?JSON.stringify(o,null,2):o},fn_get_yaml_sample_schema=e=>(t,r,a,n)=>{const{fn:s}=e(),o=s.jsonSchema202012.getJsonSampleSchema(t,r,a,n);let l;try{l=qe().dump(qe().load(o),{lineWidth:-1},{schema:je.JSON_SCHEMA}),"\n"===l[l.length-1]&&(l=l.slice(0,l.length-1))}catch(e){return console.error(e),"error: could not generate yaml example"}return l.replace(/\t/g," ")},fn_get_xml_sample_schema=e=>(t,r,a)=>{const{fn:n}=e();if(t&&!t.xml&&(t.xml={}),t&&!t.xml.name){if(!t.$$ref&&(t.type||t.items||t.properties||t.additionalProperties))return'\n\x3c!-- XML example cannot be generated; root element name is undefined --\x3e';if(t.$$ref){let e=t.$$ref.match(/\S*\/(\S+)$/);t.xml.name=e[1]}}return n.jsonSchema202012.memoizedCreateXMLExample(t,r,a)},fn_get_sample_schema=e=>(t,r="",a={},n=void 0)=>{const{fn:s}=e();return"function"==typeof t?.toJS&&(t=t.toJS()),"function"==typeof n?.toJS&&(n=n.toJS()),/xml/.test(r)?s.jsonSchema202012.getXmlSampleSchema(t,a,n):/(yaml|yml)/.test(r)?s.jsonSchema202012.getYamlSampleSchema(t,a,r,n):s.jsonSchema202012.getJsonSampleSchema(t,a,r,n)},json_schema_2020_12_samples=({getSystem:e})=>{const t=fn_get_json_sample_schema(e),r=fn_get_yaml_sample_schema(e),a=fn_get_xml_sample_schema(e),n=fn_get_sample_schema(e);return{fn:{jsonSchema202012:{sampleFromSchema:main_sampleFromSchema,sampleFromSchemaGeneric:main_sampleFromSchemaGeneric,sampleOptionAPI:api_optionAPI,sampleEncoderAPI:po,sampleFormatAPI:to,sampleMediaTypeAPI:So,createXMLExample:main_createXMLExample,memoizedSampleFromSchema:xo,memoizedCreateXMLExample:Co,getJsonSampleSchema:t,getYamlSampleSchema:r,getXmlSampleSchema:a,getSampleSchema:n,mergeJsonSchema:bo,foldType}}}};function PresetApis(){return[base,oas3,json_schema_2020_12,json_schema_2020_12_samples,oas31]}const inline_plugin=e=>()=>({fn:e.fn,components:e.components}),factorization_system=e=>{const t=j()({layout:{layout:e.layout,filter:e.filter},spec:{spec:"",url:e.url},requestSnippets:e.requestSnippets},e.initialState);if(e.initialState)for(const[r,a]of Object.entries(e.initialState))void 0===a&&delete t[r];return{system:{configs:e.configs},plugins:e.presets,state:t}},query=()=>e=>{const t=e.queryConfigEnabled?(()=>{const e=new URLSearchParams(K.location.search);return Object.fromEntries(e)})():{};return Object.entries(t).reduce(((e,[t,r])=>("config"===t?e.configUrl=r:"urls.primaryName"===t?e[t]=r:e=br()(e,t,r),e)),{})},sources_url=({url:e,system:t})=>async r=>{if(!e)return{};if("function"!=typeof t.configsActions?.getConfigByUrl)return{};const a=(()=>{const e={};return e.promise=new Promise(((t,r)=>{e.resolve=t,e.reject=r})),e})();return t.configsActions.getConfigByUrl({url:e,loadRemoteConfig:!0,requestInterceptor:r.requestInterceptor,responseInterceptor:r.responseInterceptor},(e=>{a.resolve(e)})),a.promise},runtime=()=>()=>{const e={};return globalThis.location&&(e.oauth2RedirectUrl=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname.substring(0,globalThis.location.pathname.lastIndexOf("/"))}/oauth2-redirect.html`),e},Ao=Object.freeze({dom_id:null,domNode:null,spec:{},url:"",urls:null,configUrl:null,layout:"BaseLayout",docExpansion:"list",maxDisplayedTags:-1,filter:!1,validatorUrl:"https://validator.swagger.io/validator",oauth2RedirectUrl:void 0,persistAuthorization:!1,configs:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,tryItOutEnabled:!1,requestInterceptor:e=>(e.curlOptions=[],e),responseInterceptor:e=>e,showMutatedRequest:!0,defaultModelRendering:"example",defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,showCommonExtensions:!1,withCredentials:!1,requestSnippetsEnabled:!1,requestSnippets:{generators:{curl_bash:{title:"cURL (bash)",syntax:"bash"},curl_powershell:{title:"cURL (PowerShell)",syntax:"powershell"},curl_cmd:{title:"cURL (CMD)",syntax:"bash"}},defaultExpanded:!0,languages:null},supportedSubmitMethods:["get","put","post","delete","options","head","patch","trace"],queryConfigEnabled:!1,presets:[PresetApis],plugins:[],initialState:{},fn:{},components:{},syntaxHighlight:{activated:!0,theme:"agate"},operationsSorter:null,tagsSorter:null,onComplete:null,modelPropertyMacro:null,parameterMacro:null,fileUploadMediaTypes:["application/octet-stream","image/","audio/","video/"],uncaughtExceptionHandler:null}),Io=require("lodash/has");var jo=__webpack_require__.n(Io);const qo=require("lodash/fp/set");var Po=__webpack_require__.n(qo);const type_casters_array=(e,t=[])=>Array.isArray(e)?e:t,type_casters_boolean=(e,t=!1)=>!0===e||"true"===e||1===e||"1"===e||!1!==e&&"false"!==e&&0!==e&&"0"!==e&&t,dom_node=e=>null===e||"null"===e?null:e,type_casters_filter=e=>{const t=String(e);return type_casters_boolean(e,t)},type_casters_function=(e,t)=>"function"==typeof e?e:t,nullable_array=e=>Array.isArray(e)?e:null,nullable_function=e=>"function"==typeof e?e:null,nullable_string=e=>null===e||"null"===e?null:String(e),type_casters_number=(e,t=-1)=>{const r=parseInt(e,10);return Number.isNaN(r)?t:r},type_casters_object=(e,t={})=>wt()(e)?e:t,sorter=e=>"function"==typeof e||"string"==typeof e?e:null,type_casters_string=e=>String(e),syntax_highlight=(e,t)=>wt()(e)?e:!1===e||"false"===e||0===e||"0"===e?{activated:!1}:t,undefined_string=e=>void 0===e||"undefined"===e?void 0:String(e),Mo={components:{typeCaster:type_casters_object},configs:{typeCaster:type_casters_object},configUrl:{typeCaster:nullable_string},deepLinking:{typeCaster:type_casters_boolean,defaultValue:Ao.deepLinking},defaultModelExpandDepth:{typeCaster:type_casters_number,defaultValue:Ao.defaultModelExpandDepth},defaultModelRendering:{typeCaster:type_casters_string},defaultModelsExpandDepth:{typeCaster:type_casters_number,defaultValue:Ao.defaultModelsExpandDepth},displayOperationId:{typeCaster:type_casters_boolean,defaultValue:Ao.displayOperationId},displayRequestDuration:{typeCaster:type_casters_boolean,defaultValue:Ao.displayRequestDuration},docExpansion:{typeCaster:type_casters_string},dom_id:{typeCaster:nullable_string},domNode:{typeCaster:dom_node},fileUploadMediaTypes:{typeCaster:type_casters_array,defaultValue:Ao.fileUploadMediaTypes},filter:{typeCaster:type_casters_filter},fn:{typeCaster:type_casters_object},initialState:{typeCaster:type_casters_object},layout:{typeCaster:type_casters_string},maxDisplayedTags:{typeCaster:type_casters_number,defaultValue:Ao.maxDisplayedTags},modelPropertyMacro:{typeCaster:nullable_function},oauth2RedirectUrl:{typeCaster:undefined_string},onComplete:{typeCaster:nullable_function},operationsSorter:{typeCaster:sorter},paramaterMacro:{typeCaster:nullable_function},persistAuthorization:{typeCaster:type_casters_boolean,defaultValue:Ao.persistAuthorization},plugins:{typeCaster:type_casters_array,defaultValue:Ao.plugins},presets:{typeCaster:type_casters_array,defaultValue:Ao.presets},requestInterceptor:{typeCaster:type_casters_function,defaultValue:Ao.requestInterceptor},requestSnippets:{typeCaster:type_casters_object,defaultValue:Ao.requestSnippets},requestSnippetsEnabled:{typeCaster:type_casters_boolean,defaultValue:Ao.requestSnippetsEnabled},responseInterceptor:{typeCaster:type_casters_function,defaultValue:Ao.responseInterceptor},showCommonExtensions:{typeCaster:type_casters_boolean,defaultValue:Ao.showCommonExtensions},showExtensions:{typeCaster:type_casters_boolean,defaultValue:Ao.showExtensions},showMutatedRequest:{typeCaster:type_casters_boolean,defaultValue:Ao.showMutatedRequest},spec:{typeCaster:type_casters_object,defaultValue:Ao.spec},supportedSubmitMethods:{typeCaster:type_casters_array,defaultValue:Ao.supportedSubmitMethods},syntaxHighlight:{typeCaster:syntax_highlight,defaultValue:Ao.syntaxHighlight},"syntaxHighlight.activated":{typeCaster:type_casters_boolean,defaultValue:Ao.syntaxHighlight.activated},"syntaxHighlight.theme":{typeCaster:type_casters_string},tagsSorter:{typeCaster:sorter},tryItOutEnabled:{typeCaster:type_casters_boolean,defaultValue:Ao.tryItOutEnabled},url:{typeCaster:type_casters_string},urls:{typeCaster:nullable_array},"urls.primaryName":{typeCaster:type_casters_string},validatorUrl:{typeCaster:nullable_string},withCredentials:{typeCaster:type_casters_boolean,defaultValue:Ao.withCredentials},uncaughtExceptionHandler:{typeCaster:nullable_function}},type_cast=e=>Object.entries(Mo).reduce(((e,[t,{typeCaster:r,defaultValue:a}])=>{if(jo()(e,t)){const n=r(Fe()(e,t),a);e=Po()(t,n,e)}return e}),{...e}),config_merge=(e,...t)=>{let r=Symbol.for("domNode"),a=Symbol.for("primaryName");const n=[];for(const e of t){const t={...e};Object.hasOwn(t,"domNode")&&(r=t.domNode,delete t.domNode),Object.hasOwn(t,"urls.primaryName")?(a=t["urls.primaryName"],delete t["urls.primaryName"]):Array.isArray(t.urls)&&Object.hasOwn(t.urls,"primaryName")&&(a=t.urls.primaryName,delete t.urls.primaryName),n.push(t)}const s=j()(e,...n);return r!==Symbol.for("domNode")&&(s.domNode=r),a!==Symbol.for("primaryName")&&Array.isArray(s.urls)&&(s.urls.primaryName=a),type_cast(s)};function SwaggerUI(e){const t=query()(e),r=runtime()(),a=SwaggerUI.config.merge({},SwaggerUI.config.defaults,r,e,t),n=factorization_system(a),s=inline_plugin(a),o=new Store(n);o.register([a.plugins,s]);const l=o.getSystem(),persistConfigs=e=>{o.setConfigs(e),l.configsActions.loaded()},updateSpec=e=>{!t.url&&"object"==typeof e.spec&&Object.keys(e.spec).length>0?(l.specActions.updateUrl(""),l.specActions.updateLoadingStatus("success"),l.specActions.updateSpec(JSON.stringify(e.spec))):"function"==typeof l.specActions.download&&e.url&&!e.urls&&(l.specActions.updateUrl(e.url),l.specActions.download(e.url))},render=e=>{if(e.domNode)l.render(e.domNode,"App");else if(e.dom_id){const t=document.querySelector(e.dom_id);l.render(t,"App")}else null===e.dom_id||null===e.domNode||console.error("Skipped rendering: no `dom_id` or `domNode` was specified")};return a.configUrl?((async()=>{const{configUrl:e}=a,r=await sources_url(http://github.com/%7Burl:e,system:l%7D)(a),n=SwaggerUI.config.merge({},a,r,t);persistConfigs(n),null!==r&&updateSpec(n),render(n)})(),l):(persistConfigs(a),updateSpec(a),render(a),l)}SwaggerUI.System=Store,SwaggerUI.config={defaults:Ao,merge:config_merge,typeCast:type_cast,typeCastMappings:Mo},SwaggerUI.presets={base,apis:PresetApis},SwaggerUI.plugins={Auth:auth,Configs:configsPlugin,DeepLining:deep_linking,Err:err,Filter:filter,Icons:icons,JSONSchema5:json_schema_5,JSONSchema5Samples:json_schema_5_samples,JSONSchema202012:json_schema_2020_12,JSONSchema202012Samples:json_schema_2020_12_samples,Layout:plugins_layout,Logs:logs,OpenAPI30:oas3,OpenAPI31:oas3,OnComplete:on_complete,RequestSnippets:plugins_request_snippets,Spec:plugins_spec,SwaggerClient:swagger_client,Util:util,View:view,ViewLegacy:view_legacy,DownloadUrl:downloadUrlPlugin,SyntaxHighlighting:syntax_highlighting,Versions:versions,SafeRender:safe_render};const To=SwaggerUI;return r=r.default})())); +//# sourceMappingURL=swagger-ui.js.map \ No newline at end of file diff --git a/dist/swagger-ui.js.map b/dist/swagger-ui.js.map new file mode 100644 index 00000000000..4df242578fb --- /dev/null +++ b/dist/swagger-ui.js.map @@ -0,0 +1 @@ +{"version":3,"file":"swagger-ui.js","mappings":"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","sources":["webpack://SwaggerUICore/webpack/universalModuleDefinition","webpack://SwaggerUICore/external commonjs \"buffer\"","webpack://SwaggerUICore/webpack/bootstrap","webpack://SwaggerUICore/webpack/runtime/compat get default export","webpack://SwaggerUICore/webpack/runtime/define property getters","webpack://SwaggerUICore/webpack/runtime/hasOwnProperty shorthand","webpack://SwaggerUICore/webpack/runtime/make namespace object","webpack://SwaggerUICore/external commonjs \"react\"","webpack://SwaggerUICore/external commonjs \"redux\"","webpack://SwaggerUICore/external commonjs \"immutable\"","webpack://SwaggerUICore/external commonjs \"deep-extend\"","webpack://SwaggerUICore/external commonjs \"redux-immutable\"","webpack://SwaggerUICore/external commonjs \"serialize-error\"","webpack://SwaggerUICore/external commonjs \"lodash/merge\"","webpack://SwaggerUICore/./src/core/plugins/err/actions.js","webpack://SwaggerUICore/./src/core/window.js","webpack://SwaggerUICore/external commonjs \"lodash/memoize\"","webpack://SwaggerUICore/external commonjs \"lodash/camelCase\"","webpack://SwaggerUICore/external commonjs \"lodash/upperFirst\"","webpack://SwaggerUICore/external commonjs \"lodash/find\"","webpack://SwaggerUICore/external commonjs \"lodash/some\"","webpack://SwaggerUICore/external commonjs \"lodash/eq\"","webpack://SwaggerUICore/external commonjs \"lodash/isFunction\"","webpack://SwaggerUICore/external commonjs \"css.escape\"","webpack://SwaggerUICore/external commonjs \"randombytes\"","webpack://SwaggerUICore/external commonjs \"sha.js\"","webpack://SwaggerUICore/./src/core/utils/get-parameter-schema.js","webpack://SwaggerUICore/./src/core/utils/index.js","webpack://SwaggerUICore/./src/core/system.js","webpack://SwaggerUICore/external commonjs \"url-parse\"","webpack://SwaggerUICore/./src/core/plugins/auth/actions.js","webpack://SwaggerUICore/./src/core/plugins/auth/reducers.js","webpack://SwaggerUICore/external commonjs \"reselect\"","webpack://SwaggerUICore/./src/core/plugins/auth/selectors.js","webpack://SwaggerUICore/./src/core/plugins/auth/spec-extensions/wrap-actions.js","webpack://SwaggerUICore/./src/core/plugins/auth/configs-extensions/wrap-actions.js","webpack://SwaggerUICore/./src/core/plugins/auth/wrap-actions.js","webpack://SwaggerUICore/external commonjs \"prop-types\"","webpack://SwaggerUICore/external commonjs \"lodash/omit\"","webpack://SwaggerUICore/./src/core/plugins/auth/components/lock-auth-icon.jsx","webpack://SwaggerUICore/./src/core/plugins/auth/components/unlock-auth-icon.jsx","webpack://SwaggerUICore/./src/core/plugins/auth/index.js","webpack://SwaggerUICore/external commonjs \"js-yaml\"","webpack://SwaggerUICore/./src/core/plugins/configs/fn.js","webpack://SwaggerUICore/./src/core/plugins/configs/actions.js","webpack://SwaggerUICore/./src/core/plugins/configs/selectors.js","webpack://SwaggerUICore/./src/core/plugins/configs/reducers.js","webpack://SwaggerUICore/./src/core/plugins/configs/index.js","webpack://SwaggerUICore/./src/core/plugins/deep-linking/helpers.js","webpack://SwaggerUICore/external commonjs \"zenscroll\"","webpack://SwaggerUICore/./src/core/plugins/deep-linking/layout.js","webpack://SwaggerUICore/external commonjs \"react-immutable-proptypes\"","webpack://SwaggerUICore/./src/core/plugins/deep-linking/operation-wrapper.jsx","webpack://SwaggerUICore/./src/core/plugins/deep-linking/operation-tag-wrapper.jsx","webpack://SwaggerUICore/./src/core/plugins/deep-linking/index.js","webpack://SwaggerUICore/external commonjs \"lodash/reduce\"","webpack://SwaggerUICore/./src/core/plugins/err/error-transformers/transformers/not-of-type.js","webpack://SwaggerUICore/external commonjs \"lodash/get\"","webpack://SwaggerUICore/./src/core/plugins/err/error-transformers/transformers/parameter-oneof.js","webpack://SwaggerUICore/./src/core/plugins/err/error-transformers/hook.js","webpack://SwaggerUICore/./src/core/plugins/err/reducers.js","webpack://SwaggerUICore/./src/core/plugins/err/selectors.js","webpack://SwaggerUICore/./src/core/plugins/err/index.js","webpack://SwaggerUICore/./src/core/plugins/filter/opsFilter.js","webpack://SwaggerUICore/./src/core/plugins/filter/index.js","webpack://SwaggerUICore/external commonjs \"@babel/runtime-corejs3/helpers/extends\"","webpack://SwaggerUICore/./src/core/plugins/icons/components/arrow-up.jsx","webpack://SwaggerUICore/./src/core/plugins/icons/components/arrow-down.jsx","webpack://SwaggerUICore/./src/core/plugins/icons/components/arrow.jsx","webpack://SwaggerUICore/./src/core/plugins/icons/components/close.jsx","webpack://SwaggerUICore/./src/core/plugins/icons/components/copy.jsx","webpack://SwaggerUICore/./src/core/plugins/icons/components/lock.jsx","webpack://SwaggerUICore/./src/core/plugins/icons/components/unlock.jsx","webpack://SwaggerUICore/./src/core/plugins/icons/index.js","webpack://SwaggerUICore/./src/core/plugins/layout/actions.js","webpack://SwaggerUICore/./src/core/plugins/layout/reducers.js","webpack://SwaggerUICore/./src/core/plugins/layout/selectors.js","webpack://SwaggerUICore/./src/core/plugins/layout/spec-extensions/wrap-selector.js","webpack://SwaggerUICore/./src/core/plugins/layout/index.js","webpack://SwaggerUICore/./src/core/plugins/logs/index.js","webpack://SwaggerUICore/./src/core/plugins/on-complete/index.js","webpack://SwaggerUICore/./src/core/plugins/request-snippets/fn.js","webpack://SwaggerUICore/./src/core/plugins/request-snippets/selectors.js","webpack://SwaggerUICore/external commonjs \"classnames\"","webpack://SwaggerUICore/external commonjs \"react-copy-to-clipboard\"","webpack://SwaggerUICore/./src/core/plugins/request-snippets/request-snippets.jsx","webpack://SwaggerUICore/./src/core/plugins/request-snippets/index.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/model-collapse.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/model-example.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/model-wrapper.jsx","webpack://SwaggerUICore/external commonjs \"react-immutable-pure-component\"","webpack://SwaggerUICore/./src/core/assets/rolling-load.svg","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/model.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/models.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/enum-model.jsx","webpack://SwaggerUICore/./src/core/utils/url.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/object-model.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/array-model.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/primitive-model.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/schemes.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/containers/schemes.jsx","webpack://SwaggerUICore/external commonjs \"react-debounce-input\"","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/json-schema-components.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/components/model-extensions.jsx","webpack://SwaggerUICore/external commonjs \"lodash/isPlainObject\"","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/fn.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-5/index.js","webpack://SwaggerUICore/external commonjs \"xml\"","webpack://SwaggerUICore/external commonjs \"randexp\"","webpack://SwaggerUICore/external commonjs \"lodash/isEmpty\"","webpack://SwaggerUICore/./src/core/utils/memoizeN.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-5-samples/fn/index.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-5-samples/fn/get-json-sample-schema.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-5-samples/fn/get-yaml-sample-schema.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-5-samples/fn/get-xml-sample-schema.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-5-samples/fn/get-sample-schema.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-5-samples/index.js","webpack://SwaggerUICore/external commonjs \"lodash/constant\"","webpack://SwaggerUICore/./src/core/plugins/spec/selectors.js","webpack://SwaggerUICore/external commonjs \"lodash/isString\"","webpack://SwaggerUICore/external commonjs \"lodash/debounce\"","webpack://SwaggerUICore/external commonjs \"lodash/set\"","webpack://SwaggerUICore/external commonjs \"lodash/fp/assocPath\"","webpack://SwaggerUICore/./src/core/plugins/spec/actions.js","webpack://SwaggerUICore/./src/core/plugins/spec/reducers.js","webpack://SwaggerUICore/./src/core/plugins/spec/wrap-actions.js","webpack://SwaggerUICore/./src/core/plugins/spec/index.js","webpack://SwaggerUICore/external commonjs \"swagger-client/es/resolver/strategies/generic\"","webpack://SwaggerUICore/external commonjs \"swagger-client/es/resolver/strategies/openapi-2\"","webpack://SwaggerUICore/external commonjs \"swagger-client/es/resolver/strategies/openapi-3-0\"","webpack://SwaggerUICore/external commonjs \"swagger-client/es/resolver/strategies/openapi-3-1-apidom\"","webpack://SwaggerUICore/external commonjs \"swagger-client/es/resolver\"","webpack://SwaggerUICore/external commonjs \"swagger-client/es/execute\"","webpack://SwaggerUICore/external commonjs \"swagger-client/es/http\"","webpack://SwaggerUICore/external commonjs \"swagger-client/es/subtree-resolver\"","webpack://SwaggerUICore/external commonjs \"swagger-client/es/helpers\"","webpack://SwaggerUICore/./src/core/plugins/swagger-client/configs-wrap-actions.js","webpack://SwaggerUICore/./src/core/plugins/swagger-client/index.js","webpack://SwaggerUICore/./src/core/plugins/util/index.js","webpack://SwaggerUICore/external commonjs \"react-dom\"","webpack://SwaggerUICore/external commonjs \"react-redux\"","webpack://SwaggerUICore/external commonjs \"lodash/identity\"","webpack://SwaggerUICore/./src/core/plugins/view/root-injects.jsx","webpack://SwaggerUICore/./src/core/plugins/view/fn.js","webpack://SwaggerUICore/./src/core/plugins/view/index.js","webpack://SwaggerUICore/./src/core/plugins/view-legacy/index.js","webpack://SwaggerUICore/./src/core/plugins/view-legacy/root-injects.jsx","webpack://SwaggerUICore/./src/core/plugins/download-url/index.js","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/light\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/languages/hljs/javascript\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/languages/hljs/json\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/languages/hljs/xml\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/languages/hljs/bash\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/languages/hljs/yaml\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/languages/hljs/http\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/languages/hljs/powershell\"","webpack://SwaggerUICore/./src/core/plugins/syntax-highlighting/after-load.js","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/styles/hljs/agate\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/styles/hljs/arta\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/styles/hljs/monokai\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/styles/hljs/nord\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/styles/hljs/obsidian\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/styles/hljs/tomorrow-night\"","webpack://SwaggerUICore/external commonjs \"react-syntax-highlighter/dist/esm/styles/hljs/idea\"","webpack://SwaggerUICore/./src/core/plugins/syntax-highlighting/root-injects.js","webpack://SwaggerUICore/./src/core/plugins/syntax-highlighting/components/SyntaxHighlighter.jsx","webpack://SwaggerUICore/external commonjs \"js-file-download\"","webpack://SwaggerUICore/./src/core/plugins/syntax-highlighting/components/HighlightCode.jsx","webpack://SwaggerUICore/./src/core/plugins/syntax-highlighting/components/PlainTextViewer.jsx","webpack://SwaggerUICore/./src/core/plugins/syntax-highlighting/wrap-components/SyntaxHighlighter.jsx","webpack://SwaggerUICore/./src/core/plugins/syntax-highlighting/index.js","webpack://SwaggerUICore/./src/core/plugins/versions/after-load.js","webpack://SwaggerUICore/./src/core/plugins/versions/index.js","webpack://SwaggerUICore/external commonjs \"lodash/zipObject\"","webpack://SwaggerUICore/./src/core/plugins/safe-render/fn.jsx","webpack://SwaggerUICore/./src/core/plugins/safe-render/components/fallback.jsx","webpack://SwaggerUICore/./src/core/plugins/safe-render/components/error-boundary.jsx","webpack://SwaggerUICore/./src/core/plugins/safe-render/index.js","webpack://SwaggerUICore/./src/core/components/app.jsx","webpack://SwaggerUICore/./src/core/components/auth/authorization-popup.jsx","webpack://SwaggerUICore/./src/core/components/auth/authorize-btn.jsx","webpack://SwaggerUICore/./src/core/containers/authorize-btn.jsx","webpack://SwaggerUICore/./src/core/components/auth/authorize-operation-btn.jsx","webpack://SwaggerUICore/./src/core/components/auth/auths.jsx","webpack://SwaggerUICore/./src/core/components/auth/auth-item.jsx","webpack://SwaggerUICore/./src/core/components/auth/error.jsx","webpack://SwaggerUICore/./src/core/components/auth/api-key-auth.jsx","webpack://SwaggerUICore/./src/core/components/auth/basic-auth.jsx","webpack://SwaggerUICore/./src/core/components/example.jsx","webpack://SwaggerUICore/./src/core/components/examples-select.jsx","webpack://SwaggerUICore/./src/core/components/examples-select-value-retainer.jsx","webpack://SwaggerUICore/./src/core/oauth2-authorize.js","webpack://SwaggerUICore/./src/core/components/auth/oauth2.jsx","webpack://SwaggerUICore/./src/core/components/clear.jsx","webpack://SwaggerUICore/./src/core/components/live-response.jsx","webpack://SwaggerUICore/./src/core/components/online-validator-badge.jsx","webpack://SwaggerUICore/./src/core/components/operations.jsx","webpack://SwaggerUICore/./src/core/components/operation-tag.jsx","webpack://SwaggerUICore/./src/core/components/operation.jsx","webpack://SwaggerUICore/./src/core/containers/OperationContainer.jsx","webpack://SwaggerUICore/external commonjs \"lodash/toString\"","webpack://SwaggerUICore/./src/core/components/operation-summary.jsx","webpack://SwaggerUICore/./src/core/components/operation-summary-method.jsx","webpack://SwaggerUICore/./src/core/components/operation-summary-path.jsx","webpack://SwaggerUICore/./src/core/components/operation-extensions.jsx","webpack://SwaggerUICore/./src/core/components/operation-extension-row.jsx","webpack://SwaggerUICore/./src/core/utils/create-html-ready-id.js","webpack://SwaggerUICore/./src/core/components/responses.jsx","webpack://SwaggerUICore/./src/core/utils/jsonParse.js","webpack://SwaggerUICore/./src/core/components/response.jsx","webpack://SwaggerUICore/./src/core/components/response-extension.jsx","webpack://SwaggerUICore/external commonjs \"xml-but-prettier\"","webpack://SwaggerUICore/external commonjs \"lodash/toLower\"","webpack://SwaggerUICore/./src/core/components/response-body.jsx","webpack://SwaggerUICore/./src/core/components/parameters/parameters.jsx","webpack://SwaggerUICore/./src/core/components/parameter-extension.jsx","webpack://SwaggerUICore/./src/core/components/parameter-include-empty.jsx","webpack://SwaggerUICore/./src/core/components/parameter-row.jsx","webpack://SwaggerUICore/./src/core/components/execute.jsx","webpack://SwaggerUICore/./src/core/components/headers.jsx","webpack://SwaggerUICore/./src/core/components/errors.jsx","webpack://SwaggerUICore/./src/core/components/content-type.jsx","webpack://SwaggerUICore/./src/core/components/layout-utils.jsx","webpack://SwaggerUICore/./src/core/components/overview.jsx","webpack://SwaggerUICore/./src/core/components/initialized-input.jsx","webpack://SwaggerUICore/./src/core/components/info.jsx","webpack://SwaggerUICore/./src/core/containers/info.jsx","webpack://SwaggerUICore/./src/core/components/contact.jsx","webpack://SwaggerUICore/./src/core/components/license.jsx","webpack://SwaggerUICore/./src/core/components/jump-to-path.jsx","webpack://SwaggerUICore/./src/core/components/copy-to-clipboard-btn.jsx","webpack://SwaggerUICore/./src/core/components/footer.jsx","webpack://SwaggerUICore/./src/core/containers/filter.jsx","webpack://SwaggerUICore/./src/core/components/param-body.jsx","webpack://SwaggerUICore/./src/core/components/curl.jsx","webpack://SwaggerUICore/./src/core/components/property.jsx","webpack://SwaggerUICore/./src/core/components/try-it-out-button.jsx","webpack://SwaggerUICore/./src/core/components/version-pragma-filter.jsx","webpack://SwaggerUICore/./src/core/components/version-stamp.jsx","webpack://SwaggerUICore/./src/core/components/openapi-version.jsx","webpack://SwaggerUICore/./src/core/components/deep-link.jsx","webpack://SwaggerUICore/./src/core/components/svg-assets.jsx","webpack://SwaggerUICore/external commonjs \"remarkable\"","webpack://SwaggerUICore/external commonjs \"remarkable/linkify\"","webpack://SwaggerUICore/external commonjs \"dompurify\"","webpack://SwaggerUICore/./src/core/components/providers/markdown.jsx","webpack://SwaggerUICore/./src/core/components/layouts/base.jsx","webpack://SwaggerUICore/./src/core/presets/base/plugins/core-components/index.js","webpack://SwaggerUICore/./src/core/presets/base/plugins/form-components/index.js","webpack://SwaggerUICore/./src/core/presets/base/index.js","webpack://SwaggerUICore/./src/core/plugins/oas3/spec-extensions/wrap-selectors.js","webpack://SwaggerUICore/./src/core/plugins/oas3/auth-extensions/wrap-selectors.js","webpack://SwaggerUICore/./src/core/plugins/oas3/helpers.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/spec-extensions/selectors.js","webpack://SwaggerUICore/./src/core/plugins/oas3/components/callbacks.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/components/request-body.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/components/operation-link.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/components/servers.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/components/servers-container.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/components/request-body-editor.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/components/auth/http-auth.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/components/operation-servers.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/components/index.js","webpack://SwaggerUICore/./src/core/plugins/oas3/wrap-components/markdown.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/wrap-components/auth/auth-item.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/wrap-components/online-validator-badge.js","webpack://SwaggerUICore/./src/core/plugins/oas3/wrap-components/model.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/wrap-components/json-schema-string.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/wrap-components/index.js","webpack://SwaggerUICore/./src/core/plugins/oas3/wrap-components/openapi-version.jsx","webpack://SwaggerUICore/./src/core/plugins/oas3/actions.js","webpack://SwaggerUICore/external commonjs \"lodash/escapeRegExp\"","webpack://SwaggerUICore/./src/core/plugins/oas3/selectors.js","webpack://SwaggerUICore/./src/core/plugins/oas3/reducers.js","webpack://SwaggerUICore/./src/core/plugins/oas3/index.js","webpack://SwaggerUICore/./src/core/plugins/oas3/fn.js","webpack://SwaggerUICore/./src/core/plugins/oas31/components/webhooks.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/components/license.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/components/contact.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/components/info.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/components/json-schema-dialect.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/components/version-pragma-filter.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/components/model/model.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/components/models/models.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/components/auth/mutual-tls-auth.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/components/auth/auths.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/fn.js","webpack://SwaggerUICore/./src/core/plugins/oas31/wrap-components/license.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/wrap-components/contact.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/wrap-components/info.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/fn.js","webpack://SwaggerUICore/./src/core/plugins/oas31/wrap-components/model.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/wrap-components/models.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/wrap-components/version-pragma-filter.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/wrap-components/auth/auth-item.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/wrap-components/auths.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/spec-extensions/selectors.js","webpack://SwaggerUICore/./src/core/plugins/oas31/spec-extensions/wrap-selectors.js","webpack://SwaggerUICore/./src/core/plugins/oas31/auth-extensions/wrap-selectors.js","webpack://SwaggerUICore/./src/core/plugins/oas31/selectors.js","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Example.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Xml.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Discriminator/DiscriminatorMapping.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Discriminator/Discriminator.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/OpenAPIExtensions.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/ExternalDocs.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Description.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Description.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Examples.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Properties.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Properties.jsx","webpack://SwaggerUICore/./src/core/plugins/oas31/after-load.js","webpack://SwaggerUICore/./src/core/plugins/oas31/oas3-extensions/fn.js","webpack://SwaggerUICore/./src/core/plugins/oas31/index.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/prop-types.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/context.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/enum.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/hooks.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/JSONSchema/JSONSchema.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/$schema.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/$vocabulary/$vocabulary.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/$id.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/$anchor.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/$dynamicAnchor.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/$ref.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/$dynamicRef.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/$defs.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/$comment.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/AllOf.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/AnyOf.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/OneOf.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Not.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/If.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Then.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Else.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/DependentSchemas.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/PrefixItems.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Items.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Contains.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Properties/Properties.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/PatternProperties/PatternProperties.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/AdditionalProperties.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/PropertyNames.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/UnevaluatedItems.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/UnevaluatedProperties.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Type.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Enum/Enum.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Const/Const.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/fn.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Constraint/Constraint.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/DependentRequired/DependentRequired.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/ContentSchema.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Title/Title.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Description/Description.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Default/Default.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Deprecated.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/ReadOnly.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/WriteOnly.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/Examples/Examples.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/keywords/ExtensionKeywords/ExtensionKeywords.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/JSONViewer/JSONViewer.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/Accordion/Accordion.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/ExpandDeepButton/ExpandDeepButton.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/components/icons/ChevronRight.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/hoc.jsx","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12/index.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/types/array.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/types/object.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/core/random.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/core/predicates.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/class/Registry.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/int32.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/int64.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/float.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/double.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/email.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-email.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/hostname.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-hostname.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv4.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv6.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/uri.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-reference.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/iri.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/iri-reference.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/uuid.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-template.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/json-pointer.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/relative-json-pointer.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/date-time.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/date.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/time.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/duration.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/password.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/regex.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/class/FormatRegistry.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/api/formatAPI.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/encoders/7bit.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/encoders/8bit.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/encoders/binary.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/encoders/quoted-printable.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/encoders/base16.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/encoders/base32.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/encoders/base64.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/encoders/base64url.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/class/EncoderRegistry.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/api/encoderAPI.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/text.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/image.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/audio.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/video.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/application.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/class/MediaTypeRegistry.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/api/mediaTypeAPI.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/types/string.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/types/number.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/types/integer.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/types/boolean.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/types/index.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/types/null.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/core/constants.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/core/example.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/core/type.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/core/utils.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/core/merge.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/main.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/class/OptionRegistry.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/api/optionAPI.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/get-json-sample-schema.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/get-yaml-sample-schema.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/get-xml-sample-schema.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/fn/get-sample-schema.js","webpack://SwaggerUICore/./src/core/plugins/json-schema-2020-12-samples/index.js","webpack://SwaggerUICore/./src/core/presets/apis/index.js","webpack://SwaggerUICore/./src/core/config/factorization/inline-plugin.js","webpack://SwaggerUICore/./src/core/config/factorization/system.js","webpack://SwaggerUICore/./src/core/config/sources/query.js","webpack://SwaggerUICore/./src/core/config/sources/url.js","webpack://SwaggerUICore/./src/core/config/sources/runtime.js","webpack://SwaggerUICore/./src/core/config/defaults.js","webpack://SwaggerUICore/external commonjs \"lodash/has\"","webpack://SwaggerUICore/external commonjs \"lodash/fp/set\"","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/array.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/boolean.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/dom-node.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/filter.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/function.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/nullable-array.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/nullable-function.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/nullable-string.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/number.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/object.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/sorter.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/string.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/syntax-highlight.js","webpack://SwaggerUICore/./src/core/config/type-cast/type-casters/undefined-string.js","webpack://SwaggerUICore/./src/core/config/type-cast/mappings.js","webpack://SwaggerUICore/./src/core/config/type-cast/index.js","webpack://SwaggerUICore/./src/core/config/merge.js","webpack://SwaggerUICore/./src/core/index.js","webpack://SwaggerUICore/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"SwaggerUICore\"] = factory();\n\telse\n\t\troot[\"SwaggerUICore\"] = factory();\n})(this, () => {\nreturn ","module.exports = require(\"buffer\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"redux\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"immutable\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"deep-extend\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"redux-immutable\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"serialize-error\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/merge\");","import { serializeError } from \"serialize-error\"\n\nexport const NEW_THROWN_ERR = \"err_new_thrown_err\"\nexport const NEW_THROWN_ERR_BATCH = \"err_new_thrown_err_batch\"\nexport const NEW_SPEC_ERR = \"err_new_spec_err\"\nexport const NEW_SPEC_ERR_BATCH = \"err_new_spec_err_batch\"\nexport const NEW_AUTH_ERR = \"err_new_auth_err\"\nexport const CLEAR = \"err_clear\"\nexport const CLEAR_BY = \"err_clear_by\"\n\nexport function newThrownErr(err) {\n return {\n type: NEW_THROWN_ERR,\n payload: serializeError(err)\n }\n}\n\nexport function newThrownErrBatch(errors) {\n return {\n type: NEW_THROWN_ERR_BATCH,\n payload: errors\n }\n}\n\nexport function newSpecErr(err) {\n return {\n type: NEW_SPEC_ERR,\n payload: err\n }\n}\n\nexport function newSpecErrBatch(errArray) {\n return {\n type: NEW_SPEC_ERR_BATCH,\n payload: errArray\n }\n}\n\nexport function newAuthErr(err) {\n return {\n type: NEW_AUTH_ERR,\n payload: err\n }\n}\n\nexport function clear(filter = {}) {\n // filter looks like: {type: 'spec'}, {source: 'parser'}\n return {\n type: CLEAR,\n payload: filter\n }\n}\n\nexport function clearBy(filter = () => true) {\n // filter is a function\n return {\n type: CLEAR_BY,\n payload: filter\n }\n}\n","function makeWindow() {\n var win = {\n location: {},\n history: {},\n open: () => {},\n close: () => {},\n File: function() {},\n FormData: function() {},\n }\n\n if(typeof window === \"undefined\") {\n return win\n }\n\n try {\n win = window\n var props = [\"File\", \"Blob\", \"FormData\"]\n for (var prop of props) {\n if (prop in window) {\n win[prop] = window[prop]\n }\n }\n } catch( e ) {\n console.error(e)\n }\n\n return win\n}\n\nexport default makeWindow()\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/memoize\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/camelCase\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/upperFirst\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/find\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/some\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/eq\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/isFunction\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"css.escape\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"randombytes\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"sha.js\");","/**\n * @prettier\n */\n\nimport Im from \"immutable\"\n\nconst swagger2SchemaKeys = Im.Set.of(\n \"type\",\n \"format\",\n \"items\",\n \"default\",\n \"maximum\",\n \"exclusiveMaximum\",\n \"minimum\",\n \"exclusiveMinimum\",\n \"maxLength\",\n \"minLength\",\n \"pattern\",\n \"maxItems\",\n \"minItems\",\n \"uniqueItems\",\n \"enum\",\n \"multipleOf\"\n)\n\n/**\n * @typedef {Object} ParameterSchemaDescriptor\n * @property {Immutable.Map} schema - the parameter schema\n * @property {string|null} parameterContentMediaType - the effective media type, for `content`-based OpenAPI 3.0 Parameters, or `null` otherwise\n */\n\n/**\n * Get the effective schema value for a parameter, or an empty Immutable.Map if\n * no suitable schema can be found.\n *\n * Supports OpenAPI 3.0 `Parameter.content` priority -- since a Parameter Object\n * cannot have both `schema` and `content`, this function ignores `schema` when\n * `content` is present.\n *\n * @param {Immutable.Map} parameter The parameter to identify a schema for\n * @param {object} config\n * @param {boolean} config.isOAS3 Whether the parameter is from an OpenAPI 2.0\n * or OpenAPI 3.0 definition\n * @return {ParameterSchemaDescriptor} Information about the parameter schema\n */\nexport default function getParameterSchema(parameter, { isOAS3 } = {}) {\n // Return empty Map if `parameter` isn't a Map\n if (!Im.Map.isMap(parameter)) {\n return {\n schema: Im.Map(),\n parameterContentMediaType: null,\n }\n }\n\n if (!isOAS3) {\n // Swagger 2.0\n if (parameter.get(\"in\") === \"body\") {\n return {\n schema: parameter.get(\"schema\", Im.Map()),\n parameterContentMediaType: null,\n }\n } else {\n return {\n schema: parameter.filter((v, k) => swagger2SchemaKeys.includes(k)),\n parameterContentMediaType: null,\n }\n }\n }\n\n // If we've reached here, the parameter is OpenAPI 3.0\n\n if (parameter.get(\"content\")) {\n const parameterContentMediaTypes = parameter\n .get(\"content\", Im.Map({}))\n .keySeq()\n\n const parameterContentMediaType = parameterContentMediaTypes.first()\n\n return {\n schema: parameter.getIn(\n [\"content\", parameterContentMediaType, \"schema\"],\n Im.Map()\n ),\n parameterContentMediaType,\n }\n }\n\n return {\n schema: parameter.get(\"schema\")\n ? parameter.get(\"schema\", Im.Map())\n : Im.Map(),\n parameterContentMediaType: null,\n }\n}\n","/*\n ATTENTION! This file (but not the functions within) is deprecated.\n\n You should probably add a new file to `./helpers/` instead of adding a new\n function here.\n\n One-function-per-file is a better pattern than what we have here.\n\n If you're refactoring something in here, feel free to break it out to a file\n in `./helpers` if you have the time.\n*/\nimport Im, { fromJS, Map, Set } from \"immutable\"\nimport camelCase from \"lodash/camelCase\"\nimport upperFirst from \"lodash/upperFirst\"\nimport _memoize from \"lodash/memoize\"\nimport find from \"lodash/find\"\nimport some from \"lodash/some\"\nimport eq from \"lodash/eq\"\nimport isFunction from \"lodash/isFunction\"\nimport cssEscape from \"css.escape\"\nimport randomBytes from \"randombytes\"\nimport shaJs from \"sha.js\"\nimport win from \"core/window\"\nimport getParameterSchema from \"core/utils/get-parameter-schema\"\n\n\nconst DEFAULT_RESPONSE_KEY = \"default\"\n\nexport const isImmutable = (maybe) => Im.Iterable.isIterable(maybe)\n\nexport const immutableToJS = (value) => isImmutable(value) ? value.toJS() : value\n\nexport function objectify (thing) {\n if(!isObject(thing))\n return {}\n\n return immutableToJS(thing)\n}\n\nexport function arrayify (thing) {\n if(!thing)\n return []\n\n if(thing.toArray)\n return thing.toArray()\n\n return normalizeArray(thing)\n}\n\nexport function fromJSOrdered(js) {\n if (isImmutable(js)) {\n return js // Can't do much here\n }\n if (js instanceof win.File) {\n return js\n }\n if (!isObject(js)) {\n return js\n }\n if (Array.isArray(js)) {\n return Im.Seq(js).map(fromJSOrdered).toList()\n }\n if (isFunction(js.entries)) {\n // handle multipart/form-data\n const objWithHashedKeys = createObjWithHashedKeys(js)\n return Im.OrderedMap(objWithHashedKeys).map(fromJSOrdered)\n }\n return Im.OrderedMap(js).map(fromJSOrdered)\n}\n\n/**\n * Convert a FormData object into plain object\n * Append a hashIdx and counter to the key name, if multiple exists\n * if single, key name = \n * if multiple, key name = \n * @example single entry for vegetable\n * fdObj.entries.vegtables: \"carrot\"\n * // returns newObj.vegetables : \"carrot\"\n * @example multiple entries for fruits[]\n * fdObj.entries.fruits[]: \"apple\"\n * // returns newObj.fruits[]_**[]1 : \"apple\"\n * fdObj.entries.fruits[]: \"banana\"\n * // returns newObj.fruits[]_**[]2 : \"banana\"\n * fdObj.entries.fruits[]: \"grape\"\n * // returns newObj.fruits[]_**[]3 : \"grape\"\n * @param {FormData} fdObj - a FormData object\n * @return {Object} - a plain object\n */\nexport function createObjWithHashedKeys (fdObj) {\n if (!isFunction(fdObj.entries)) {\n return fdObj // not a FormData object with iterable\n }\n const newObj = {}\n const hashIdx = \"_**[]\" // our internal identifier\n const trackKeys = {}\n for (let pair of fdObj.entries()) {\n if (!newObj[pair[0]] && !(trackKeys[pair[0]] && trackKeys[pair[0]].containsMultiple)) {\n newObj[pair[0]] = pair[1] // first key name: no hash required\n } else {\n if (!trackKeys[pair[0]]) {\n // initiate tracking key for multiple\n trackKeys[pair[0]] = {\n containsMultiple: true,\n length: 1\n }\n // \"reassign\" first pair to matching hashed format for multiple\n let hashedKeyFirst = `${pair[0]}${hashIdx}${trackKeys[pair[0]].length}`\n newObj[hashedKeyFirst] = newObj[pair[0]]\n // remove non-hashed key of multiple\n delete newObj[pair[0]] // first\n }\n trackKeys[pair[0]].length += 1\n let hashedKeyCurrent = `${pair[0]}${hashIdx}${trackKeys[pair[0]].length}`\n newObj[hashedKeyCurrent] = pair[1]\n }\n }\n return newObj\n}\n\nexport function bindToState(obj, state) {\n var newObj = {}\n Object.keys(obj)\n .filter(key => typeof obj[key] === \"function\")\n .forEach(key => newObj[key] = obj[key].bind(null, state))\n return newObj\n}\n\nexport function normalizeArray(arr) {\n if(Array.isArray(arr))\n return arr\n return [arr]\n}\n\nexport function isFn(fn) {\n return typeof fn === \"function\"\n}\n\nexport function isObject(obj) {\n return !!obj && typeof obj === \"object\"\n}\n\nexport function isFunc(thing) {\n return typeof(thing) === \"function\"\n}\n\nexport function isArray(thing) {\n return Array.isArray(thing)\n}\n\n// I've changed memoize libs more than once, so I'm using this a way to make that simpler\nexport const memoize = _memoize\n\nexport function objMap(obj, fn) {\n return Object.keys(obj).reduce((newObj, key) => {\n newObj[key] = fn(obj[key], key)\n return newObj\n }, {})\n}\n\nexport function objReduce(obj, fn) {\n return Object.keys(obj).reduce((newObj, key) => {\n let res = fn(obj[key], key)\n if(res && typeof res === \"object\")\n Object.assign(newObj, res)\n return newObj\n }, {})\n}\n\n// Redux middleware that exposes the system to async actions (like redux-thunk, but with out system instead of (dispatch, getState)\nexport function systemThunkMiddleware(getSystem) {\n return ({ dispatch, getState }) => { // eslint-disable-line no-unused-vars\n return next => action => {\n if (typeof action === \"function\") {\n return action(getSystem())\n }\n\n return next(action)\n }\n }\n}\n\nexport function defaultStatusCode ( responses ) {\n let codes = responses.keySeq()\n return codes.contains(DEFAULT_RESPONSE_KEY) ? DEFAULT_RESPONSE_KEY : codes.filter( key => (key+\"\")[0] === \"2\").sort().first()\n}\n\n\n/**\n * Returns an Immutable List, safely\n * @param {Immutable.Iterable} iterable the iterable to get the key from\n * @param {String|[String]} key either an array of keys, or a single key\n * @returns {Immutable.List} either iterable.get(keys) or an empty Immutable.List\n */\nexport function getList(iterable, keys) {\n if(!Im.Iterable.isIterable(iterable)) {\n return Im.List()\n }\n let val = iterable.getIn(Array.isArray(keys) ? keys : [keys])\n return Im.List.isList(val) ? val : Im.List()\n}\n\n/**\n * Take an immutable map, and convert to a list.\n * Where the keys are merged with the value objects\n * @param {Immutable.Map} map, the map to convert\n * @param {String} key the key to use, when merging the `key`\n * @returns {Immutable.List}\n */\nexport function mapToList(map, keyNames=\"key\", collectedKeys=Im.Map()) {\n if(!Im.Map.isMap(map) || !map.size) {\n return Im.List()\n }\n\n if(!Array.isArray(keyNames)) {\n keyNames = [ keyNames ]\n }\n\n if(keyNames.length < 1) {\n return map.merge(collectedKeys)\n }\n\n // I need to avoid `flatMap` from merging in the Maps, as well as the lists\n let list = Im.List()\n let keyName = keyNames[0]\n for(let entry of map.entries()) {\n let [key, val] = entry\n let nextList = mapToList(val, keyNames.slice(1), collectedKeys.set(keyName, key))\n if(Im.List.isList(nextList)) {\n list = list.concat(nextList)\n } else {\n list = list.push(nextList)\n }\n }\n\n return list\n}\n\nexport function extractFileNameFromContentDispositionHeader(value){\n let patterns = [\n /filename\\*=[^']+'\\w*'\"([^\"]+)\";?/i,\n /filename\\*=[^']+'\\w*'([^;]+);?/i,\n /filename=\"([^;]*);?\"/i,\n /filename=([^;]*);?/i\n ]\n\n let responseFilename\n patterns.some(regex => {\n responseFilename = regex.exec(value)\n return responseFilename !== null\n })\n\n if (responseFilename !== null && responseFilename.length > 1) {\n try {\n return decodeURIComponent(responseFilename[1])\n } catch(e) {\n console.error(e)\n }\n }\n\n return null\n}\n\n// PascalCase, aka UpperCamelCase\nexport function pascalCase(str) {\n return upperFirst(camelCase(str))\n}\n\n// Remove the ext of a filename, and pascalCase it\nexport function pascalCaseFilename(filename) {\n return pascalCase(filename.replace(/\\.[^./]*$/, \"\"))\n}\n\n// Check if ...\n// - new props\n// - If immutable, use .is()\n// - if in explicit objectList, then compare using _.eq\n// - else use ===\nexport const propChecker = (props, nextProps, objectList=[], ignoreList=[]) => {\n\n if(Object.keys(props).length !== Object.keys(nextProps).length) {\n return true\n }\n\n return (\n some(props, (a, name) => {\n if(ignoreList.includes(name)) {\n return false\n }\n let b = nextProps[name]\n\n if(Im.Iterable.isIterable(a)) {\n return !Im.is(a,b)\n }\n\n // Not going to compare objects\n if(typeof a === \"object\" && typeof b === \"object\") {\n return false\n }\n\n return a !== b\n })\n || objectList.some( objectPropName => !eq(props[objectPropName], nextProps[objectPropName])))\n}\n\nexport const validateMaximum = ( val, max ) => {\n if (val > max) {\n return `Value must be less than or equal to ${max}`\n }\n}\n\nexport const validateMinimum = ( val, min ) => {\n if (val < min) {\n return `Value must be greater than or equal to ${min}`\n }\n}\n\nexport const validateNumber = ( val ) => {\n if (!/^-?\\d+(\\.?\\d+)?$/.test(val)) {\n return \"Value must be a number\"\n }\n}\n\nexport const validateInteger = ( val ) => {\n if (!/^-?\\d+$/.test(val)) {\n return \"Value must be an integer\"\n }\n}\n\nexport const validateFile = ( val ) => {\n if ( val && !(val instanceof win.File) ) {\n return \"Value must be a file\"\n }\n}\n\nexport const validateBoolean = ( val ) => {\n if ( !(val === \"true\" || val === \"false\" || val === true || val === false) ) {\n return \"Value must be a boolean\"\n }\n}\n\nexport const validateString = ( val ) => {\n if ( val && typeof val !== \"string\" ) {\n return \"Value must be a string\"\n }\n}\n\nexport const validateDateTime = (val) => {\n if (isNaN(Date.parse(val))) {\n return \"Value must be a DateTime\"\n }\n}\n\nexport const validateGuid = (val) => {\n val = val.toString().toLowerCase()\n if (!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(val)) {\n return \"Value must be a Guid\"\n }\n}\n\nexport const validateMaxLength = (val, max) => {\n if (val.length > max) {\n return `Value must be no longer than ${max} character${max !== 1 ? \"s\" : \"\"}`\n }\n}\n\nexport const validateUniqueItems = (val, uniqueItems) => {\n if (!val) {\n return\n }\n if (uniqueItems === \"true\" || uniqueItems === true) {\n const list = fromJS(val)\n const set = list.toSet()\n const hasDuplicates = val.length > set.size\n if(hasDuplicates) {\n let errorsPerIndex = Set()\n list.forEach((item, i) => {\n if(list.filter(v => isFunc(v.equals) ? v.equals(item) : v === item).size > 1) {\n errorsPerIndex = errorsPerIndex.add(i)\n }\n })\n if(errorsPerIndex.size !== 0) {\n return errorsPerIndex.map(i => ({index: i, error: \"No duplicates allowed.\"})).toArray()\n }\n }\n }\n}\n\nexport const validateMinItems = (val, min) => {\n if (!val && min >= 1 || val && val.length < min) {\n return `Array must contain at least ${min} item${min === 1 ? \"\" : \"s\"}`\n }\n}\n\nexport const validateMaxItems = (val, max) => {\n if (val && val.length > max) {\n return `Array must not contain more then ${max} item${max === 1 ? \"\" : \"s\"}`\n }\n}\n\nexport const validateMinLength = (val, min) => {\n if (val.length < min) {\n return `Value must be at least ${min} character${min !== 1 ? \"s\" : \"\"}`\n }\n}\n\nexport const validatePattern = (val, rxPattern) => {\n var patt = new RegExp(rxPattern)\n if (!patt.test(val)) {\n return \"Value must follow pattern \" + rxPattern\n }\n}\n\nfunction validateValueBySchema(value, schema, requiredByParam, bypassRequiredCheck, parameterContentMediaType) {\n if(!schema) return []\n let errors = []\n let nullable = schema.get(\"nullable\")\n let requiredBySchema = schema.get(\"required\")\n let maximum = schema.get(\"maximum\")\n let minimum = schema.get(\"minimum\")\n let type = schema.get(\"type\")\n let format = schema.get(\"format\")\n let maxLength = schema.get(\"maxLength\")\n let minLength = schema.get(\"minLength\")\n let uniqueItems = schema.get(\"uniqueItems\")\n let maxItems = schema.get(\"maxItems\")\n let minItems = schema.get(\"minItems\")\n let pattern = schema.get(\"pattern\")\n\n const schemaRequiresValue = requiredByParam || requiredBySchema === true\n const hasValue = value !== undefined && value !== null\n const isValidEmpty = !schemaRequiresValue && !hasValue\n\n const needsExplicitConstraintValidation = hasValue && type === \"array\"\n\n const requiresFurtherValidation =\n schemaRequiresValue\n || needsExplicitConstraintValidation\n || !isValidEmpty\n\n const isValidNullable = nullable && value === null\n\n // required value is not provided and there's no type defined in the schema\n const requiredNotProvided =\n schemaRequiresValue\n && !hasValue\n && !isValidNullable\n && !bypassRequiredCheck\n && !type\n\n if (requiredNotProvided) {\n errors.push(\"Required field is not provided\")\n return errors\n }\n\n // will not be included in the request or [schema / value] does not [allow / require] further analysis.\n const noFurtherValidationNeeded =\n isValidNullable\n || !type\n || !requiresFurtherValidation\n\n if (noFurtherValidationNeeded) {\n return []\n }\n\n // Further this point the parameter is considered worth to validate\n let stringCheck = type === \"string\" && value\n let arrayCheck = type === \"array\" && Array.isArray(value) && value.length\n let arrayListCheck = type === \"array\" && Im.List.isList(value) && value.count()\n let arrayStringCheck = type === \"array\" && typeof value === \"string\" && value\n let fileCheck = type === \"file\" && value instanceof win.File\n let booleanCheck = type === \"boolean\" && (value || value === false)\n let numberCheck = type === \"number\" && (value || value === 0)\n let integerCheck = type === \"integer\" && (value || value === 0)\n let objectCheck = type === \"object\" && typeof value === \"object\" && value !== null\n let objectStringCheck = type === \"object\" && typeof value === \"string\" && value\n\n const allChecks = [\n stringCheck, arrayCheck, arrayListCheck, arrayStringCheck, fileCheck,\n booleanCheck, numberCheck, integerCheck, objectCheck, objectStringCheck,\n ]\n\n const passedAnyCheck = allChecks.some(v => !!v)\n\n if (schemaRequiresValue && !passedAnyCheck && !bypassRequiredCheck) {\n errors.push(\"Required field is not provided\")\n return errors\n }\n if (\n type === \"object\" &&\n (parameterContentMediaType === null ||\n parameterContentMediaType === \"application/json\")\n ) {\n let objectVal = value\n if(typeof value === \"string\") {\n try {\n objectVal = JSON.parse(value)\n } catch (e) {\n errors.push(\"Parameter string value must be valid JSON\")\n return errors\n }\n }\n if(schema && schema.has(\"required\") && isFunc(requiredBySchema.isList) && requiredBySchema.isList()) {\n requiredBySchema.forEach(key => {\n if(objectVal[key] === undefined) {\n errors.push({ propKey: key, error: \"Required property not found\" })\n }\n })\n }\n if(schema && schema.has(\"properties\")) {\n schema.get(\"properties\").forEach((val, key) => {\n const errs = validateValueBySchema(objectVal[key], val, false, bypassRequiredCheck, parameterContentMediaType)\n errors.push(...errs\n .map((error) => ({ propKey: key, error })))\n })\n }\n }\n\n if (pattern) {\n let err = validatePattern(value, pattern)\n if (err) errors.push(err)\n }\n\n if (minItems) {\n if (type === \"array\") {\n let err = validateMinItems(value, minItems)\n if (err) errors.push(err)\n }\n }\n\n if (maxItems) {\n if (type === \"array\") {\n let err = validateMaxItems(value, maxItems)\n if (err) errors.push({ needRemove: true, error: err })\n }\n }\n\n if (uniqueItems) {\n if (type === \"array\") {\n let errorPerItem = validateUniqueItems(value, uniqueItems)\n if (errorPerItem) errors.push(...errorPerItem)\n }\n }\n\n if (maxLength || maxLength === 0) {\n let err = validateMaxLength(value, maxLength)\n if (err) errors.push(err)\n }\n\n if (minLength) {\n let err = validateMinLength(value, minLength)\n if (err) errors.push(err)\n }\n\n if (maximum || maximum === 0) {\n let err = validateMaximum(value, maximum)\n if (err) errors.push(err)\n }\n\n if (minimum || minimum === 0) {\n let err = validateMinimum(value, minimum)\n if (err) errors.push(err)\n }\n\n if (type === \"string\") {\n let err\n if (format === \"date-time\") {\n err = validateDateTime(value)\n } else if (format === \"uuid\") {\n err = validateGuid(value)\n } else {\n err = validateString(value)\n }\n if (!err) return errors\n errors.push(err)\n } else if (type === \"boolean\") {\n let err = validateBoolean(value)\n if (!err) return errors\n errors.push(err)\n } else if (type === \"number\") {\n let err = validateNumber(value)\n if (!err) return errors\n errors.push(err)\n } else if (type === \"integer\") {\n let err = validateInteger(value)\n if (!err) return errors\n errors.push(err)\n } else if (type === \"array\") {\n if (!(arrayCheck || arrayListCheck)) {\n return errors\n }\n if(value) {\n value.forEach((item, i) => {\n const errs = validateValueBySchema(item, schema.get(\"items\"), false, bypassRequiredCheck, parameterContentMediaType)\n errors.push(...errs\n .map((err) => ({ index: i, error: err })))\n })\n }\n } else if (type === \"file\") {\n let err = validateFile(value)\n if (!err) return errors\n errors.push(err)\n }\n\n return errors\n}\n\n// validation of parameters before execute\nexport const validateParam = (param, value, { isOAS3 = false, bypassRequiredCheck = false } = {}) => {\n\n let paramRequired = param.get(\"required\")\n\n let {\n schema: paramDetails,\n parameterContentMediaType\n } = getParameterSchema(param, { isOAS3 })\n\n return validateValueBySchema(value, paramDetails, paramRequired, bypassRequiredCheck, parameterContentMediaType)\n}\n\nexport const parseSearch = () => {\n const searchParams = new URLSearchParams(win.location.search)\n return Object.fromEntries(searchParams)\n}\n\nexport const serializeSearch = (searchMap) => {\n const searchParams = new URLSearchParams(Object.entries(searchMap))\n return String(searchParams)\n}\n\nexport const btoa = (str) => {\n let buffer\n\n if (str instanceof Buffer) {\n buffer = str\n } else {\n buffer = Buffer.from(str.toString(), \"utf-8\")\n }\n\n return buffer.toString(\"base64\")\n}\n\nexport const sorters = {\n operationsSorter: {\n alpha: (a, b) => a.get(\"path\").localeCompare(b.get(\"path\")),\n method: (a, b) => a.get(\"method\").localeCompare(b.get(\"method\"))\n },\n tagsSorter: {\n alpha: (a, b) => a.localeCompare(b)\n }\n}\n\nexport const buildFormData = (data) => {\n let formArr = []\n\n for (let name in data) {\n let val = data[name]\n if (val !== undefined && val !== \"\") {\n formArr.push([name, \"=\", encodeURIComponent(val).replace(/%20/g,\"+\")].join(\"\"))\n }\n }\n return formArr.join(\"&\")\n}\n\n// Is this really required as a helper? Perhaps. TODO: expose the system of presets.apis in docs, so we know what is supported\nexport const shallowEqualKeys = (a,b, keys) => {\n return !!find(keys, (key) => {\n return eq(a[key], b[key])\n })\n}\n\nexport function requiresValidationURL(uri) {\n if (!uri || uri.indexOf(\"localhost\") >= 0 || uri.indexOf(\"127.0.0.1\") >= 0 || uri === \"none\") {\n return false\n }\n return true\n}\n\n\nexport function getAcceptControllingResponse(responses) {\n if(!Im.OrderedMap.isOrderedMap(responses)) {\n // wrong type!\n return null\n }\n\n if(!responses.size) {\n // responses is empty\n return null\n }\n\n const suitable2xxResponse = responses.find((res, k) => {\n return k.startsWith(\"2\") && Object.keys(res.get(\"content\") || {}).length > 0\n })\n\n // try to find a suitable `default` responses\n const defaultResponse = responses.get(\"default\") || Im.OrderedMap()\n const defaultResponseMediaTypes = (defaultResponse.get(\"content\") || Im.OrderedMap()).keySeq().toJS()\n const suitableDefaultResponse = defaultResponseMediaTypes.length ? defaultResponse : null\n\n return suitable2xxResponse || suitableDefaultResponse\n}\n\n// suitable for use in URL fragments\nexport const createDeepLinkPath = (str) => typeof str == \"string\" || str instanceof String ? str.trim().replace(/\\s/g, \"%20\") : \"\"\n// suitable for use in CSS classes and ids\nexport const escapeDeepLinkPath = (str) => cssEscape( createDeepLinkPath(str).replace(/%20/g, \"_\") )\n\nexport const getExtensions = (defObj) => {\n const extensionRegExp = /^x-/\n if(Map.isMap(defObj)) {\n return defObj.filter((v, k) => extensionRegExp.test(k))\n }\n return Object.keys(defObj).filter((key) => extensionRegExp.test(key))\n}\nexport const getCommonExtensions = (defObj) => defObj.filter((v, k) => /^pattern|maxLength|minLength|maximum|minimum/.test(k))\n\n// Deeply strips a specific key from an object.\n//\n// `predicate` can be used to discriminate the stripping further,\n// by preserving the key's place in the object based on its value.\nexport function deeplyStripKey(input, keyToStrip, predicate = () => true) {\n if(typeof input !== \"object\" || Array.isArray(input) || input === null || !keyToStrip) {\n return input\n }\n\n const obj = Object.assign({}, input)\n\n Object.keys(obj).forEach(k => {\n if(k === keyToStrip && predicate(obj[k], k)) {\n delete obj[k]\n return\n }\n obj[k] = deeplyStripKey(obj[k], keyToStrip, predicate)\n })\n\n return obj\n}\n\nexport function stringify(thing) {\n if (typeof thing === \"string\") {\n return thing\n }\n\n if (thing && thing.toJS) {\n thing = thing.toJS()\n }\n\n if (typeof thing === \"object\" && thing !== null) {\n try {\n return JSON.stringify(thing, null, 2)\n }\n catch (e) {\n return String(thing)\n }\n }\n\n if(thing === null || thing === undefined) {\n return \"\"\n }\n\n return thing.toString()\n}\n\nexport function numberToString(thing) {\n if(typeof thing === \"number\") {\n return thing.toString()\n }\n\n return thing\n}\n\nexport function paramToIdentifier(param, { returnAll = false, allowHashes = true } = {}) {\n if(!Im.Map.isMap(param)) {\n throw new Error(\"paramToIdentifier: received a non-Im.Map parameter as input\")\n }\n const paramName = param.get(\"name\")\n const paramIn = param.get(\"in\")\n\n let generatedIdentifiers = []\n\n // Generate identifiers in order of most to least specificity\n\n if (param && param.hashCode && paramIn && paramName && allowHashes) {\n generatedIdentifiers.push(`${paramIn}.${paramName}.hash-${param.hashCode()}`)\n }\n\n if(paramIn && paramName) {\n generatedIdentifiers.push(`${paramIn}.${paramName}`)\n }\n\n generatedIdentifiers.push(paramName)\n\n // Return the most preferred identifier, or all if requested\n\n return returnAll ? generatedIdentifiers : (generatedIdentifiers[0] || \"\")\n}\n\nexport function paramToValue(param, paramValues) {\n const allIdentifiers = paramToIdentifier(param, { returnAll: true })\n\n // Map identifiers to values in the provided value hash, filter undefined values,\n // and return the first value found\n const values = allIdentifiers\n .map(id => {\n return paramValues[id]\n })\n .filter(value => value !== undefined)\n\n return values[0]\n}\n\n// adapted from https://auth0.com/docs/flows/guides/auth-code-pkce/includes/create-code-verifier\nexport function generateCodeVerifier() {\n return b64toB64UrlEncoded(\n randomBytes(32).toString(\"base64\")\n )\n}\n\nexport function createCodeChallenge(codeVerifier) {\n return b64toB64UrlEncoded(\n shaJs(\"sha256\")\n .update(codeVerifier)\n .digest(\"base64\")\n )\n}\n\nfunction b64toB64UrlEncoded(str) {\n return str\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=/g, \"\")\n}\n\nexport const isEmptyValue = (value) => {\n if (!value) {\n return true\n }\n\n if (isImmutable(value) && value.isEmpty()) {\n return true\n }\n\n return false\n}\n","import React from \"react\"\nimport { createStore, applyMiddleware, bindActionCreators, compose } from \"redux\"\nimport Im, { fromJS, Map } from \"immutable\"\nimport deepExtend from \"deep-extend\"\nimport { combineReducers } from \"redux-immutable\"\nimport { serializeError } from \"serialize-error\"\nimport merge from \"lodash/merge\"\nimport { NEW_THROWN_ERR } from \"core/plugins/err/actions\"\nimport win from \"core/window\"\n\nimport { systemThunkMiddleware, isFn, objMap, objReduce, isObject, isArray, isFunc } from \"core/utils\"\n\nconst idFn = a => a\n\n// Apply middleware that gets sandwitched between `dispatch` and the reducer function(s)\nfunction createStoreWithMiddleware(rootReducer, initialState, getSystem) {\n\n let middlwares = [\n // createLogger( {\n // stateTransformer: state => state && state.toJS()\n // } ),\n systemThunkMiddleware( getSystem )\n ]\n\n const composeEnhancers = win.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose\n\n return createStore(rootReducer, initialState, composeEnhancers(\n applyMiddleware( ...middlwares )\n ))\n}\n\nexport default class Store {\n\n constructor(opts={}) {\n deepExtend(this, {\n state: {},\n plugins: [],\n system: {\n configs: {},\n fn: {},\n components: {},\n rootInjects: {},\n statePlugins: {}\n },\n boundSystem: {},\n toolbox: {}\n }, opts)\n\n this.getSystem = this._getSystem.bind(this)\n\n // Bare system (nothing in it, besides the state)\n this.store = configureStore(idFn, fromJS(this.state), this.getSystem )\n\n // will be the system + Im, we can add more tools when we need to\n this.buildSystem(false)\n\n // Bootstrap plugins\n this.register(this.plugins)\n }\n\n getStore() {\n return this.store\n }\n\n register(plugins, rebuild=true) {\n var pluginSystem = combinePlugins(plugins, this.getSystem())\n systemExtend(this.system, pluginSystem)\n if(rebuild) {\n this.buildSystem()\n }\n\n const needAnotherRebuild = callAfterLoad.call(this.system, plugins, this.getSystem())\n\n if(needAnotherRebuild) {\n this.buildSystem()\n }\n }\n\n buildSystem(buildReducer=true) {\n let dispatch = this.getStore().dispatch\n let getState = this.getStore().getState\n\n this.boundSystem = Object.assign({},\n this.getRootInjects(),\n this.getWrappedAndBoundActions(dispatch),\n this.getWrappedAndBoundSelectors(getState, this.getSystem),\n this.getStateThunks(getState),\n this.getFn(),\n this.getConfigs()\n )\n\n if(buildReducer)\n this.rebuildReducer()\n }\n\n _getSystem() {\n return this.boundSystem\n }\n\n getRootInjects() {\n return Object.assign({\n getSystem: this.getSystem,\n getStore: this.getStore.bind(this),\n getComponents: this.getComponents.bind(this),\n getState: this.getStore().getState,\n getConfigs: this._getConfigs.bind(this),\n Im,\n React\n }, this.system.rootInjects || {})\n }\n\n _getConfigs(){\n return this.system.configs\n }\n\n getConfigs() {\n return {\n configs: this.system.configs\n }\n }\n\n setConfigs(configs) {\n this.system.configs = configs\n }\n\n rebuildReducer() {\n this.store.replaceReducer(buildReducer(this.system.statePlugins, this.getSystem))\n }\n\n /**\n * Generic getter from system.statePlugins\n *\n */\n getType(name) {\n let upName = name[0].toUpperCase() + name.slice(1)\n return objReduce(this.system.statePlugins, (val, namespace) => {\n let thing = val[name]\n if(thing)\n return {[namespace+upName]: thing}\n })\n }\n\n getSelectors() {\n return this.getType(\"selectors\")\n }\n\n getActions() {\n let actionHolders = this.getType(\"actions\")\n\n return objMap(actionHolders, (actions) => {\n return objReduce(actions, (action, actionName) => {\n if(isFn(action))\n return {[actionName]: action}\n })\n })\n }\n\n getWrappedAndBoundActions(dispatch) {\n let actionGroups = this.getBoundActions(dispatch)\n return objMap(actionGroups, (actions, actionGroupName) => {\n let wrappers = this.system.statePlugins[actionGroupName.slice(0,-7)].wrapActions\n if(wrappers) {\n return objMap(actions, (action, actionName) => {\n let wrap = wrappers[actionName]\n if(!wrap) {\n return action\n }\n\n if(!Array.isArray(wrap)) {\n wrap = [wrap]\n }\n return wrap.reduce((acc, fn) => {\n let newAction = (...args) => {\n return fn(acc, this.getSystem())(...args)\n }\n if(!isFn(newAction)) {\n throw new TypeError(\"wrapActions needs to return a function that returns a new function (ie the wrapped action)\")\n }\n return wrapWithTryCatch(newAction, this.getSystem)\n }, action || Function.prototype)\n })\n }\n return actions\n })\n }\n\n getWrappedAndBoundSelectors(getState, getSystem) {\n let selectorGroups = this.getBoundSelectors(getState, getSystem)\n return objMap(selectorGroups, (selectors, selectorGroupName) => {\n let stateName = [selectorGroupName.slice(0, -9)] // selectors = 9 chars\n let wrappers = this.system.statePlugins[stateName].wrapSelectors\n if(wrappers) {\n return objMap(selectors, (selector, selectorName) => {\n let wrap = wrappers[selectorName]\n if(!wrap) {\n return selector\n }\n\n if(!Array.isArray(wrap)) {\n wrap = [wrap]\n }\n return wrap.reduce((acc, fn) => {\n let wrappedSelector = (...args) => {\n return fn(acc, this.getSystem())(getState().getIn(stateName), ...args)\n }\n if(!isFn(wrappedSelector)) {\n throw new TypeError(\"wrapSelector needs to return a function that returns a new function (ie the wrapped action)\")\n }\n return wrappedSelector\n }, selector || Function.prototype)\n })\n }\n return selectors\n })\n }\n\n getStates(state) {\n return Object.keys(this.system.statePlugins).reduce((obj, key) => {\n obj[key] = state.get(key)\n return obj\n }, {})\n }\n\n getStateThunks(getState) {\n return Object.keys(this.system.statePlugins).reduce((obj, key) => {\n obj[key] = ()=> getState().get(key)\n return obj\n }, {})\n }\n\n getFn() {\n return {\n fn: this.system.fn\n }\n }\n\n getComponents(component) {\n const res = this.system.components[component]\n\n if(Array.isArray(res)) {\n return res.reduce((ori, wrapper) => {\n return wrapper(ori, this.getSystem())\n })\n }\n if(typeof component !== \"undefined\") {\n return this.system.components[component]\n }\n\n return this.system.components\n }\n\n getBoundSelectors(getState, getSystem) {\n return objMap(this.getSelectors(), (obj, key) => {\n let stateName = [key.slice(0, -9)] // selectors = 9 chars\n const getNestedState = ()=> getState().getIn(stateName)\n\n return objMap(obj, (fn) => {\n return (...args) => {\n let res = wrapWithTryCatch(fn, this.getSystem).apply(null, [getNestedState(), ...args])\n\n // If a selector returns a function, give it the system - for advanced usage\n if(typeof(res) === \"function\")\n res = wrapWithTryCatch(res, this.getSystem)(getSystem())\n\n return res\n }\n })\n })\n }\n\n getBoundActions(dispatch) {\n\n dispatch = dispatch || this.getStore().dispatch\n\n const actions = this.getActions()\n\n const process = creator =>{\n if( typeof( creator ) !== \"function\" ) {\n return objMap(creator, prop => process(prop))\n }\n\n return ( ...args )=>{\n var action = null\n try{\n action = creator( ...args )\n }\n catch( e ){\n action = {type: NEW_THROWN_ERR, error: true, payload: serializeError(e) }\n }\n finally{\n return action // eslint-disable-line no-unsafe-finally\n }\n }\n\n }\n return objMap(actions, actionCreator => bindActionCreators( process( actionCreator ), dispatch ) )\n }\n\n getMapStateToProps() {\n return () => {\n return Object.assign({}, this.getSystem())\n }\n }\n\n getMapDispatchToProps(extras) {\n return (dispatch) => {\n return deepExtend({}, this.getWrappedAndBoundActions(dispatch), this.getFn(), extras)\n }\n }\n\n}\n\nfunction combinePlugins(plugins, toolbox) {\n if(isObject(plugins) && !isArray(plugins)) {\n return merge({}, plugins)\n }\n\n if(isFunc(plugins)) {\n return combinePlugins(plugins(toolbox), toolbox)\n }\n\n if(isArray(plugins)) {\n return plugins\n .map(plugin => combinePlugins(plugin, toolbox))\n .reduce(systemExtend, { components: toolbox.getComponents() })\n }\n\n return {}\n}\n\nfunction callAfterLoad(plugins, system, { hasLoaded } = {}) {\n let calledSomething = hasLoaded\n if(isObject(plugins) && !isArray(plugins)) {\n if(typeof plugins.afterLoad === \"function\") {\n calledSomething = true\n wrapWithTryCatch(plugins.afterLoad, system.getSystem).call(this, system)\n }\n }\n\n if(isFunc(plugins))\n return callAfterLoad.call(this, plugins(system), system, { hasLoaded: calledSomething })\n\n if(isArray(plugins)) {\n return plugins.map(plugin => callAfterLoad.call(this, plugin, system, { hasLoaded: calledSomething }))\n }\n\n return calledSomething\n}\n\n// Wraps deepExtend, to account for certain fields, being wrappers.\n// Ie: we need to convert some fields into arrays, and append to them.\n// Rather than overwrite\nfunction systemExtend(dest={}, src={}) {\n\n if(!isObject(dest)) {\n return {}\n }\n if(!isObject(src)) {\n return dest\n }\n\n // Wrap components\n // Parses existing components in the system, and prepares them for wrapping via getComponents\n if(src.wrapComponents) {\n objMap(src.wrapComponents, (wrapperFn, key) => {\n const ori = dest.components && dest.components[key]\n if(ori && Array.isArray(ori)) {\n dest.components[key] = ori.concat([wrapperFn])\n delete src.wrapComponents[key]\n } else if(ori) {\n dest.components[key] = [ori, wrapperFn]\n delete src.wrapComponents[key]\n }\n })\n\n if(!Object.keys(src.wrapComponents).length) {\n // only delete wrapComponents if we've matched all of our wrappers to components\n // this handles cases where the component to wrap may be out of our scope,\n // but a higher recursive `combinePlugins` call will be able to handle it.\n delete src.wrapComponents\n }\n }\n\n\n // Account for wrapActions, make it an array and append to it\n // Modifies `src`\n // 80% of this code is just safe traversal. We need to address that ( ie: use a lib )\n const { statePlugins } = dest\n if(isObject(statePlugins)) {\n for(let namespace in statePlugins) {\n const namespaceObj = statePlugins[namespace]\n if(!isObject(namespaceObj)) {\n continue\n }\n\n const { wrapActions, wrapSelectors } = namespaceObj\n\n // process action wrapping\n if (isObject(wrapActions)) {\n for(let actionName in wrapActions) {\n let action = wrapActions[actionName]\n\n // This should only happen if dest is the first plugin, since invocations after that will ensure its an array\n if(!Array.isArray(action)) {\n action = [action]\n wrapActions[actionName] = action // Put the value inside an array\n }\n\n if(src && src.statePlugins && src.statePlugins[namespace] && src.statePlugins[namespace].wrapActions && src.statePlugins[namespace].wrapActions[actionName]) {\n src.statePlugins[namespace].wrapActions[actionName] = wrapActions[actionName].concat(src.statePlugins[namespace].wrapActions[actionName])\n }\n\n }\n }\n\n // process selector wrapping\n if (isObject(wrapSelectors)) {\n for(let selectorName in wrapSelectors) {\n let selector = wrapSelectors[selectorName]\n\n // This should only happen if dest is the first plugin, since invocations after that will ensure its an array\n if(!Array.isArray(selector)) {\n selector = [selector]\n wrapSelectors[selectorName] = selector // Put the value inside an array\n }\n\n if(src && src.statePlugins && src.statePlugins[namespace] && src.statePlugins[namespace].wrapSelectors && src.statePlugins[namespace].wrapSelectors[selectorName]) {\n src.statePlugins[namespace].wrapSelectors[selectorName] = wrapSelectors[selectorName].concat(src.statePlugins[namespace].wrapSelectors[selectorName])\n }\n\n }\n }\n }\n }\n\n return deepExtend(dest, src)\n}\n\nfunction buildReducer(states, getSystem) {\n let reducerObj = objMap(states, (val) => {\n return val.reducers\n })\n return allReducers(reducerObj, getSystem)\n}\n\nfunction allReducers(reducerSystem, getSystem) {\n let reducers = Object.keys(reducerSystem).reduce((obj, key) => {\n obj[key] = makeReducer(reducerSystem[key], getSystem)\n return obj\n },{})\n\n if(!Object.keys(reducers).length) {\n return idFn\n }\n\n return combineReducers(reducers)\n}\n\nfunction makeReducer(reducerObj, getSystem) {\n return (state = new Map(), action) => {\n if(!reducerObj)\n return state\n\n let redFn = (reducerObj[action.type])\n if(redFn) {\n const res = wrapWithTryCatch(redFn, getSystem)(state, action)\n // If the try/catch wrapper kicks in, we'll get null back...\n // in that case, we want to avoid making any changes to state\n return res === null ? state : res\n }\n return state\n }\n}\n\nfunction wrapWithTryCatch(fn, getSystem, {\n logErrors = true\n} = {}) {\n if(typeof fn !== \"function\") {\n return fn\n }\n\n return function(...args) {\n try {\n return fn.call(this, ...args)\n } catch(error) {\n if(logErrors) {\n const { uncaughtExceptionHandler} = getSystem().getConfigs()\n if (typeof uncaughtExceptionHandler === \"function\") {\n uncaughtExceptionHandler(error)\n } else {\n console.error(error)\n }\n }\n return null\n }\n }\n}\n\nfunction configureStore(rootReducer, initialState, getSystem) {\n const store = createStoreWithMiddleware(rootReducer, initialState, getSystem)\n\n // if (module.hot) {\n // // Enable Webpack hot module replacement for reducers\n // module.hot.accept(\"reducers/index\", () => {\n // const nextRootReducer = require(\"reducers/index\")\n // store.replaceReducer(nextRootReducer)\n // })\n // }\n\n return store\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"url-parse\");","import parseUrl from \"url-parse\"\nimport win from \"core/window\"\nimport { btoa, buildFormData } from \"core/utils\"\n\nexport const SHOW_AUTH_POPUP = \"show_popup\"\nexport const AUTHORIZE = \"authorize\"\nexport const LOGOUT = \"logout\"\nexport const AUTHORIZE_OAUTH2 = \"authorize_oauth2\"\nexport const CONFIGURE_AUTH = \"configure_auth\"\nexport const RESTORE_AUTHORIZATION = \"restore_authorization\"\n\nconst scopeSeparator = \" \"\n\nexport function showDefinitions(payload) {\n return {\n type: SHOW_AUTH_POPUP,\n payload: payload\n }\n}\n\nexport function authorize(payload) {\n return {\n type: AUTHORIZE,\n payload: payload\n }\n}\n\nexport const authorizeWithPersistOption = (payload) => ( { authActions } ) => {\n authActions.authorize(payload)\n authActions.persistAuthorizationIfNeeded()\n}\n\nexport function logout(payload) {\n return {\n type: LOGOUT,\n payload: payload\n }\n}\n\nexport const logoutWithPersistOption = (payload) => ( { authActions } ) => {\n authActions.logout(payload)\n authActions.persistAuthorizationIfNeeded()\n}\n\nexport const preAuthorizeImplicit = (payload) => ( { authActions, errActions } ) => {\n let { auth , token, isValid } = payload\n let { schema, name } = auth\n let flow = schema.get(\"flow\")\n\n // remove oauth2 property from window after redirect from authentication\n delete win.swaggerUIRedirectOauth2\n\n if ( flow !== \"accessCode\" && !isValid ) {\n errActions.newAuthErr( {\n authId: name,\n source: \"auth\",\n level: \"warning\",\n message: \"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server\"\n })\n }\n\n if ( token.error ) {\n errActions.newAuthErr({\n authId: name,\n source: \"auth\",\n level: \"error\",\n message: JSON.stringify(token)\n })\n return\n }\n\n authActions.authorizeOauth2WithPersistOption({ auth, token })\n}\n\n\nexport function authorizeOauth2(payload) {\n return {\n type: AUTHORIZE_OAUTH2,\n payload: payload\n }\n}\n\n\nexport const authorizeOauth2WithPersistOption = (payload) => ( { authActions } ) => {\n authActions.authorizeOauth2(payload)\n authActions.persistAuthorizationIfNeeded()\n}\n\nexport const authorizePassword = ( auth ) => ( { authActions } ) => {\n let { schema, name, username, password, passwordType, clientId, clientSecret } = auth\n let form = {\n grant_type: \"password\",\n scope: auth.scopes.join(scopeSeparator),\n username,\n password\n }\n let query = {}\n let headers = {}\n\n switch (passwordType) {\n case \"request-body\":\n setClientIdAndSecret(form, clientId, clientSecret)\n break\n\n case \"basic\":\n headers.Authorization = \"Basic \" + btoa(clientId + \":\" + clientSecret)\n break\n default:\n console.warn(`Warning: invalid passwordType ${passwordType} was passed, not including client id and secret`)\n }\n\n return authActions.authorizeRequest({ body: buildFormData(form), url: schema.get(\"tokenUrl\"), name, headers, query, auth})\n}\n\nfunction setClientIdAndSecret(target, clientId, clientSecret) {\n if ( clientId ) {\n Object.assign(target, {client_id: clientId})\n }\n\n if ( clientSecret ) {\n Object.assign(target, {client_secret: clientSecret})\n }\n}\n\nexport const authorizeApplication = ( auth ) => ( { authActions } ) => {\n let { schema, scopes, name, clientId, clientSecret } = auth\n let headers = {\n Authorization: \"Basic \" + btoa(clientId + \":\" + clientSecret)\n }\n let form = {\n grant_type: \"client_credentials\",\n scope: scopes.join(scopeSeparator)\n }\n\n return authActions.authorizeRequest({body: buildFormData(form), name, url: schema.get(\"tokenUrl\"), auth, headers })\n}\n\nexport const authorizeAccessCodeWithFormParams = ( { auth, redirectUrl } ) => ( { authActions } ) => {\n let { schema, name, clientId, clientSecret, codeVerifier } = auth\n let form = {\n grant_type: \"authorization_code\",\n code: auth.code,\n client_id: clientId,\n client_secret: clientSecret,\n redirect_uri: redirectUrl,\n code_verifier: codeVerifier\n }\n\n return authActions.authorizeRequest({body: buildFormData(form), name, url: schema.get(\"tokenUrl\"), auth})\n}\n\nexport const authorizeAccessCodeWithBasicAuthentication = ( { auth, redirectUrl } ) => ( { authActions } ) => {\n let { schema, name, clientId, clientSecret, codeVerifier } = auth\n let headers = {\n Authorization: \"Basic \" + btoa(clientId + \":\" + clientSecret)\n }\n let form = {\n grant_type: \"authorization_code\",\n code: auth.code,\n client_id: clientId,\n redirect_uri: redirectUrl,\n code_verifier: codeVerifier\n }\n\n return authActions.authorizeRequest({body: buildFormData(form), name, url: schema.get(\"tokenUrl\"), auth, headers})\n}\n\nexport const authorizeRequest = ( data ) => ( { fn, getConfigs, authActions, errActions, oas3Selectors, specSelectors, authSelectors } ) => {\n let { body, query={}, headers={}, name, url, auth } = data\n\n let { additionalQueryStringParams } = authSelectors.getConfigs() || {}\n\n let parsedUrl\n\n if (specSelectors.isOAS3()) {\n let finalServerUrl = oas3Selectors.serverEffectiveValue(oas3Selectors.selectedServer())\n parsedUrl = parseUrl(url, finalServerUrl, true)\n } else {\n parsedUrl = parseUrl(url, specSelectors.url(), true)\n }\n\n if(typeof additionalQueryStringParams === \"object\") {\n parsedUrl.query = Object.assign({}, parsedUrl.query, additionalQueryStringParams)\n }\n\n const fetchUrl = parsedUrl.toString()\n\n let _headers = Object.assign({\n \"Accept\":\"application/json, text/plain, */*\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n }, headers)\n\n fn.fetch({\n url: fetchUrl,\n method: \"post\",\n headers: _headers,\n query: query,\n body: body,\n requestInterceptor: getConfigs().requestInterceptor,\n responseInterceptor: getConfigs().responseInterceptor\n })\n .then(function (response) {\n let token = JSON.parse(response.data)\n let error = token && ( token.error || \"\" )\n let parseError = token && ( token.parseError || \"\" )\n\n if ( !response.ok ) {\n errActions.newAuthErr( {\n authId: name,\n level: \"error\",\n source: \"auth\",\n message: response.statusText\n } )\n return\n }\n\n if ( error || parseError ) {\n errActions.newAuthErr({\n authId: name,\n level: \"error\",\n source: \"auth\",\n message: JSON.stringify(token)\n })\n return\n }\n\n authActions.authorizeOauth2WithPersistOption({ auth, token})\n })\n .catch(e => {\n let err = new Error(e)\n let message = err.message\n // swagger-js wraps the response (if available) into the e.response property;\n // investigate to check whether there are more details on why the authorization\n // request failed (according to RFC 6479).\n // See also https://github.com/swagger-api/swagger-ui/issues/4048\n if (e.response && e.response.data) {\n const errData = e.response.data\n try {\n const jsonResponse = typeof errData === \"string\" ? JSON.parse(errData) : errData\n if (jsonResponse.error)\n message += `, error: ${jsonResponse.error}`\n if (jsonResponse.error_description)\n message += `, description: ${jsonResponse.error_description}`\n } catch (jsonError) {\n // Ignore\n }\n }\n errActions.newAuthErr( {\n authId: name,\n level: \"error\",\n source: \"auth\",\n message: message\n } )\n })\n}\n\nexport function configureAuth(payload) {\n return {\n type: CONFIGURE_AUTH,\n payload: payload\n }\n}\n\nexport function restoreAuthorization(payload) {\n return {\n type: RESTORE_AUTHORIZATION,\n payload: payload\n }\n}\n\nexport const persistAuthorizationIfNeeded = () => ( { authSelectors, getConfigs } ) => {\n const configs = getConfigs()\n\n if (!configs.persistAuthorization) return\n\n // persist authorization to local storage\n const authorized = authSelectors.authorized().toJS()\n localStorage.setItem(\"authorized\", JSON.stringify(authorized))\n}\n\nexport const authPopup = (url, swaggerUIRedirectOauth2) => ( ) => {\n win.swaggerUIRedirectOauth2 = swaggerUIRedirectOauth2\n\n win.open(url)\n}\n","import { fromJS, Map } from \"immutable\"\nimport { btoa, isFunc } from \"core/utils\"\n\nimport {\n SHOW_AUTH_POPUP,\n AUTHORIZE,\n AUTHORIZE_OAUTH2,\n LOGOUT,\n CONFIGURE_AUTH,\n RESTORE_AUTHORIZATION\n} from \"./actions\"\n\nexport default {\n [SHOW_AUTH_POPUP]: (state, { payload } ) =>{\n return state.set( \"showDefinitions\", payload )\n },\n\n [AUTHORIZE]: (state, { payload } ) =>{\n let securities = fromJS(payload)\n let map = state.get(\"authorized\") || Map()\n\n // refactor withMutations\n securities.entrySeq().forEach( ([ key, security ]) => {\n if (!isFunc(security.getIn)) {\n return state.set(\"authorized\", map)\n }\n let type = security.getIn([\"schema\", \"type\"])\n\n if ( type === \"apiKey\" || type === \"http\" ) {\n map = map.set(key, security)\n } else if ( type === \"basic\" ) {\n let username = security.getIn([\"value\", \"username\"])\n let password = security.getIn([\"value\", \"password\"])\n\n map = map.setIn([key, \"value\"], {\n username: username,\n header: \"Basic \" + btoa(username + \":\" + password)\n })\n\n map = map.setIn([key, \"schema\"], security.get(\"schema\"))\n }\n })\n\n return state.set( \"authorized\", map )\n },\n\n [AUTHORIZE_OAUTH2]: (state, { payload } ) =>{\n let { auth, token } = payload\n let parsedAuth\n\n auth.token = Object.assign({}, token)\n parsedAuth = fromJS(auth)\n\n let map = state.get(\"authorized\") || Map()\n map = map.set(parsedAuth.get(\"name\"), parsedAuth)\n \n return state.set( \"authorized\", map )\n },\n\n [LOGOUT]: (state, { payload } ) =>{\n let result = state.get(\"authorized\").withMutations((authorized) => {\n payload.forEach((auth) => {\n authorized.delete(auth)\n })\n })\n\n return state.set(\"authorized\", result)\n },\n\n [CONFIGURE_AUTH]: (state, { payload } ) =>{\n return state.set(\"configs\", payload)\n },\n\n [RESTORE_AUTHORIZATION]: (state, { payload } ) =>{ \n return state.set(\"authorized\", fromJS(payload.authorized))\n },\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"reselect\");","import { createSelector } from \"reselect\"\nimport { List, Map } from \"immutable\"\n\nconst state = state => state\n\nexport const shownDefinitions = createSelector(\n state,\n auth => auth.get( \"showDefinitions\" )\n)\n\nexport const definitionsToAuthorize = createSelector(\n state,\n () => ( { specSelectors } ) => {\n let definitions = specSelectors.securityDefinitions() || Map({})\n let list = List()\n\n //todo refactor\n definitions.entrySeq().forEach( ([ key, val ]) => {\n let map = Map()\n\n map = map.set(key, val)\n list = list.push(map)\n })\n\n return list\n }\n)\n\nexport const selectAuthPath =\n (state, name) =>\n ({ specSelectors }) =>\n List(\n specSelectors.isOAS3()\n ? [\"components\", \"securitySchemes\", name]\n : [\"securityDefinitions\", name]\n )\n \nexport const getDefinitionsByNames = ( state, securities ) => ( { specSelectors } ) => {\n console.warn(\"WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.\")\n let securityDefinitions = specSelectors.securityDefinitions()\n let result = List()\n\n securities.valueSeq().forEach( (names) => {\n let map = Map()\n names.entrySeq().forEach( ([name, scopes]) => {\n let definition = securityDefinitions.get(name)\n let allowedScopes\n\n if ( definition.get(\"type\") === \"oauth2\" && scopes.size ) {\n allowedScopes = definition.get(\"scopes\")\n\n allowedScopes.keySeq().forEach( (key) => {\n if ( !scopes.contains(key) ) {\n allowedScopes = allowedScopes.delete(key)\n }\n })\n\n definition = definition.set(\"allowedScopes\", allowedScopes)\n }\n\n map = map.set(name, definition)\n })\n\n result = result.push(map)\n })\n\n return result\n}\n\nexport const definitionsForRequirements = (state, securities = List()) => ({ authSelectors }) => {\n const allDefinitions = authSelectors.definitionsToAuthorize() || List()\n let result = List()\n allDefinitions.forEach( (definition) => {\n let security = securities.find(sec => sec.get(definition.keySeq().first()))\n if ( security ) {\n definition.forEach( (props, name) => {\n if ( props.get(\"type\") === \"oauth2\" ) {\n const securityScopes = security.get(name)\n let definitionScopes = props.get(\"scopes\")\n if( List.isList(securityScopes) && Map.isMap(definitionScopes) ) {\n definitionScopes.keySeq().forEach( (key) => {\n if ( !securityScopes.contains(key) ) {\n definitionScopes = definitionScopes.delete(key)\n }\n })\n definition = definition.set(name, props.set(\"scopes\", definitionScopes))\n }\n }\n })\n result = result.push(definition)\n }\n })\n return result\n}\n\nexport const authorized = createSelector(\n state,\n auth => auth.get(\"authorized\") || Map()\n)\n\n\nexport const isAuthorized = ( state, securities ) => ( { authSelectors } ) => {\n let authorized = authSelectors.authorized()\n\n if(!List.isList(securities)) {\n return null\n }\n\n return !!securities.toJS().filter( ( security ) => {\n let isAuthorized = true\n\n return Object.keys(security).map((key) => {\n return !isAuthorized || !!authorized.get(key)\n }).indexOf(false) === -1\n }).length\n}\n\nexport const getConfigs = createSelector(\n state,\n auth => auth.get( \"configs\" )\n)\n","// Add security to the final `execute` call ( via `extras` )\nexport const execute = ( oriAction, { authSelectors, specSelectors }) => ({ path, method, operation, extras }) => {\n let securities = {\n authorized: authSelectors.authorized() && authSelectors.authorized().toJS(),\n definitions: specSelectors.securityDefinitions() && specSelectors.securityDefinitions().toJS(),\n specSecurity: specSelectors.security() && specSelectors.security().toJS()\n }\n\n return oriAction({ path, method, operation, securities, ...extras })\n}\n","/**\n * @prettier\n */\nexport const loaded = (oriAction, system) => (payload) => {\n const { getConfigs, authActions } = system\n const configs = getConfigs()\n\n oriAction(payload)\n\n // check if we should restore authorization data from localStorage\n if (configs.persistAuthorization) {\n const authorized = localStorage.getItem(\"authorized\")\n if (authorized) {\n authActions.restoreAuthorization({\n authorized: JSON.parse(authorized),\n })\n }\n }\n}\n","/**\n * @prettier\n */\n\n/**\n * `authorize` and `logout` wrapped actions provide capacity\n * to persist cookie based apiKey in document.cookie.\n *\n * `persistAuthorization` SwaggerUI options needs to set to `true`\n * for document.cookie persistence to work.\n */\nexport const authorize = (oriAction, system) => (payload) => {\n oriAction(payload)\n\n const configs = system.getConfigs()\n\n if (!configs.persistAuthorization) return\n\n // create cookie\n try {\n const [{ schema, value }] = Object.values(payload)\n const isApiKeyAuth = schema.get(\"type\") === \"apiKey\"\n const isInCookie = schema.get(\"in\") === \"cookie\"\n const isApiKeyInCookie = isApiKeyAuth && isInCookie\n\n if (isApiKeyInCookie) {\n document.cookie = `${schema.get(\"name\")}=${value}; SameSite=None; Secure`\n }\n } catch (error) {\n console.error(\n \"Error persisting cookie based apiKey in document.cookie.\",\n error\n )\n }\n}\n\nexport const logout = (oriAction, system) => (payload) => {\n const configs = system.getConfigs()\n const authorized = system.authSelectors.authorized()\n\n // deleting cookie\n try {\n if (configs.persistAuthorization && Array.isArray(payload)) {\n payload.forEach((authorizedName) => {\n const auth = authorized.get(authorizedName, {})\n const isApiKeyAuth = auth.getIn([\"schema\", \"type\"]) === \"apiKey\"\n const isInCookie = auth.getIn([\"schema\", \"in\"]) === \"cookie\"\n const isApiKeyInCookie = isApiKeyAuth && isInCookie\n\n if (isApiKeyInCookie) {\n const cookieName = auth.getIn([\"schema\", \"name\"])\n document.cookie = `${cookieName}=; Max-Age=-99999999`\n }\n })\n }\n } catch (error) {\n console.error(\n \"Error deleting cookie based apiKey from document.cookie.\",\n error\n )\n }\n\n oriAction(payload)\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"prop-types\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/omit\");","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport omit from \"lodash/omit\"\n\nclass LockAuthIcon extends React.Component {\n mapStateToProps(state, props) {\n const ownProps = omit(props, Object.keys(props.getSystem()))\n return { state, ownProps }\n }\n\n render() {\n const { getComponent, ownProps } = this.props\n const LockIcon = getComponent(\"LockIcon\")\n\n return \n }\n}\n\nLockAuthIcon.propTypes = {\n getComponent: PropTypes.func.isRequired,\n ownProps: PropTypes.shape({}).isRequired,\n}\n\nexport default LockAuthIcon\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport omit from \"lodash/omit\"\n\nclass UnlockAuthIcon extends React.Component {\n mapStateToProps(state, props) {\n const ownProps = omit(props, Object.keys(props.getSystem()))\n return { state, ownProps }\n }\n\n render() {\n const { getComponent, ownProps } = this.props\n const UnlockIcon = getComponent(\"UnlockIcon\")\n\n return \n }\n}\n\nUnlockAuthIcon.propTypes = {\n getComponent: PropTypes.func.isRequired,\n ownProps: PropTypes.shape({}).isRequired,\n}\n\nexport default UnlockAuthIcon\n","import reducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport { execute as wrappedExecuteAction } from \"./spec-extensions/wrap-actions\"\nimport { loaded as wrappedLoadedAction } from \"./configs-extensions/wrap-actions\"\nimport { authorize as wrappedAuthorizeAction, logout as wrappedLogoutAction } from \"./wrap-actions\"\n\nimport LockAuthIcon from \"./components/lock-auth-icon\"\nimport UnlockAuthIcon from \"./components/unlock-auth-icon\"\n\nexport default function() {\n return {\n afterLoad(system) {\n this.rootInjects = this.rootInjects || {}\n this.rootInjects.initOAuth = system.authActions.configureAuth\n this.rootInjects.preauthorizeApiKey = preauthorizeApiKey.bind(null, system)\n this.rootInjects.preauthorizeBasic = preauthorizeBasic.bind(null, system)\n },\n components: {\n LockAuthIcon: LockAuthIcon,\n UnlockAuthIcon: UnlockAuthIcon,\n LockAuthOperationIcon: LockAuthIcon,\n UnlockAuthOperationIcon: UnlockAuthIcon,\n },\n statePlugins: {\n auth: {\n reducers,\n actions,\n selectors,\n wrapActions: {\n authorize: wrappedAuthorizeAction,\n logout: wrappedLogoutAction,\n }\n },\n configs: {\n wrapActions: {\n loaded: wrappedLoadedAction,\n },\n },\n spec: {\n wrapActions: {\n execute: wrappedExecuteAction,\n },\n },\n }\n }\n}\n\nexport function preauthorizeBasic(system, key, username, password) {\n const {\n authActions: { authorize },\n specSelectors: { specJson, isOAS3 }\n } = system\n\n const definitionBase = isOAS3() ? [\"components\", \"securitySchemes\"] : [\"securityDefinitions\"]\n\n const schema = specJson().getIn([...definitionBase, key])\n\n if(!schema) {\n return null\n }\n\n return authorize({\n [key]: {\n value: {\n username,\n password,\n },\n schema: schema.toJS()\n }\n })\n}\n\nexport function preauthorizeApiKey(system, key, value) {\n const {\n authActions: { authorize },\n specSelectors: { specJson, isOAS3 }\n } = system\n\n const definitionBase = isOAS3() ? [\"components\", \"securitySchemes\"] : [\"securityDefinitions\"]\n\n const schema = specJson().getIn([...definitionBase, key])\n\n if(!schema) {\n return null\n }\n\n return authorize({\n [key]: {\n value,\n schema: schema.toJS()\n }\n })\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"js-yaml\");","import YAML from \"js-yaml\"\n\nexport const parseConfig = (yaml, system) => {\n try {\n return YAML.load(yaml)\n } catch(e) {\n if (system) {\n system.errActions.newThrownErr( new Error(e) )\n }\n return {}\n }\n}\n","/**\n * @prettier\n */\nimport { parseConfig } from \"./fn\"\n\nexport const UPDATE_CONFIGS = \"configs_update\"\nexport const TOGGLE_CONFIGS = \"configs_toggle\"\n\n// Update the configs, with a merge ( not deep )\nexport function update(configName, configValue) {\n return {\n type: UPDATE_CONFIGS,\n payload: {\n [configName]: configValue,\n },\n }\n}\n\n// Toggle's the config, by name\nexport function toggle(configName) {\n return {\n type: TOGGLE_CONFIGS,\n payload: configName,\n }\n}\n\n// Hook\nexport const loaded = () => () => {\n // noop\n}\n\nexport const downloadConfig = (req) => (system) => {\n const {\n fn: { fetch },\n } = system\n\n return fetch(req)\n}\n\nexport const getConfigByUrl = (req, cb) => (system) => {\n const { specActions, configsActions } = system\n\n if (req) {\n return configsActions.downloadConfig(req).then(next, next)\n }\n\n function next(res) {\n if (res instanceof Error || res.status >= 400) {\n specActions.updateLoadingStatus(\"failedConfig\")\n specActions.updateLoadingStatus(\"failedConfig\")\n specActions.updateUrl(\"\")\n console.error(res.statusText + \" \" + req.url)\n cb(null)\n } else {\n cb(parseConfig(res.text, system))\n }\n }\n}\n","// Just get the config value ( it can possibly be an immutable object)\nexport const get = (state, path) => {\n return state.getIn(Array.isArray(path) ? path : [path])\n}\n","import { fromJS } from \"immutable\"\n\nimport {\n\tUPDATE_CONFIGS,\n\tTOGGLE_CONFIGS,\n} from \"./actions\"\n\nexport default {\n\n [UPDATE_CONFIGS]: (state, action) => {\n return state.merge(fromJS(action.payload))\n },\n\n [TOGGLE_CONFIGS]: (state, action) => {\n const configName = action.payload\n const oriVal = state.get(configName)\n return state.set(configName, !oriVal)\n },\n\n}\n","import * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport reducers from \"./reducers\"\n\nexport default function configsPlugin() {\n\n return {\n statePlugins: {\n configs: {\n reducers,\n actions,\n selectors,\n }\n }\n }\n}\n","export const setHash = (value) => {\n if(value) {\n return history.pushState(null, null, `#${value}`)\n } else {\n return window.location.hash = \"\"\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"zenscroll\");","import { setHash } from \"./helpers\"\nimport zenscroll from \"zenscroll\"\nimport { createDeepLinkPath } from \"core/utils\"\nimport Im, { fromJS } from \"immutable\"\n\nconst SCROLL_TO = \"layout_scroll_to\"\nconst CLEAR_SCROLL_TO = \"layout_clear_scroll\"\n\nexport const show = (ori, { getConfigs, layoutSelectors }) => (...args) => {\n ori(...args)\n\n if(!getConfigs().deepLinking) {\n return\n }\n\n try {\n let [tokenArray, shown] = args\n //Coerce in to array\n tokenArray = Array.isArray(tokenArray) ? tokenArray : [tokenArray]\n // Convert into something we can put in the URL hash\n // Or return empty, if we cannot\n const urlHashArray = layoutSelectors.urlHashArrayFromIsShownKey(tokenArray) // Will convert\n\n // No hash friendly list?\n if(!urlHashArray.length)\n return\n\n const [type, assetName] = urlHashArray\n\n if (!shown) {\n return setHash(\"/\")\n }\n\n if (urlHashArray.length === 2) {\n setHash(createDeepLinkPath(`/${encodeURIComponent(type)}/${encodeURIComponent(assetName)}`))\n } else if (urlHashArray.length === 1) {\n setHash(createDeepLinkPath(`/${encodeURIComponent(type)}`))\n }\n\n } catch (e) {\n // This functionality is not mission critical, so if something goes wrong\n // we'll just move on\n console.error(e) // eslint-disable-line no-console\n }\n}\n\nexport const scrollTo = (path) => {\n return {\n type: SCROLL_TO,\n payload: Array.isArray(path) ? path : [path]\n }\n}\n\nexport const parseDeepLinkHash = (rawHash) => ({ layoutActions, layoutSelectors, getConfigs }) => {\n\n if(!getConfigs().deepLinking) {\n return\n }\n\n if(rawHash) {\n let hash = rawHash.slice(1) // # is first character\n\n\n if(hash[0] === \"!\") {\n // Parse UI 2.x shebangs\n hash = hash.slice(1)\n }\n\n if(hash[0] === \"/\") {\n // \"/pet/addPet\" => \"pet/addPet\"\n // makes the split result cleaner\n // also handles forgotten leading slash\n hash = hash.slice(1)\n }\n\n const hashArray = hash.split(\"/\").map(val => (val || \"\"))\n\n const isShownKey = layoutSelectors.isShownKeyFromUrlHashArray(hashArray)\n\n const [type, tagId = \"\", maybeOperationId = \"\"] = isShownKey\n\n if(type === \"operations\") {\n // we're going to show an operation, so we need to expand the tag as well\n const tagIsShownKey = layoutSelectors.isShownKeyFromUrlHashArray([tagId])\n\n // If an `_` is present, trigger the legacy escaping behavior to be safe\n // TODO: remove this in v4.0, it is deprecated\n if(tagId.indexOf(\"_\") > -1) {\n console.warn(\"Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead.\")\n layoutActions.show(tagIsShownKey.map(val => val.replace(/_/g, \" \")), true)\n }\n\n layoutActions.show(tagIsShownKey, true)\n }\n\n // If an `_` is present, trigger the legacy escaping behavior to be safe\n // TODO: remove this in v4.0, it is deprecated\n if (tagId.indexOf(\"_\") > -1 || maybeOperationId.indexOf(\"_\") > -1) {\n console.warn(\"Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead.\")\n layoutActions.show(isShownKey.map(val => val.replace(/_/g, \" \")), true)\n }\n\n layoutActions.show(isShownKey, true)\n\n // Scroll to the newly expanded entity\n layoutActions.scrollTo(isShownKey)\n }\n}\n\nexport const readyToScroll = (isShownKey, ref) => (system) => {\n const scrollToKey = system.layoutSelectors.getScrollToKey()\n\n if(Im.is(scrollToKey, fromJS(isShownKey))) {\n system.layoutActions.scrollToElement(ref)\n system.layoutActions.clearScrollTo()\n }\n}\n\n// Scroll to \"ref\" (dom node) with the scrollbar on \"container\" or the nearest parent\nexport const scrollToElement = (ref, container) => (system) => {\n try {\n container = container || system.fn.getScrollParent(ref)\n let myScroller = zenscroll.createScroller(container)\n myScroller.to(ref)\n } catch(e) {\n console.error(e) // eslint-disable-line no-console\n }\n}\n\nexport const clearScrollTo = () => {\n return {\n type: CLEAR_SCROLL_TO,\n }\n}\n\n// From: https://stackoverflow.com/a/42543908/3933724\n// Modified to return html instead of body element as last resort\nfunction getScrollParent(element, includeHidden) {\n const LAST_RESORT = document.documentElement\n let style = getComputedStyle(element)\n const excludeStaticParent = style.position === \"absolute\"\n const overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/\n\n if (style.position === \"fixed\")\n return LAST_RESORT\n for (let parent = element; (parent = parent.parentElement);) {\n style = getComputedStyle(parent)\n if (excludeStaticParent && style.position === \"static\") {\n continue\n }\n if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX))\n return parent\n }\n\n return LAST_RESORT\n}\n\nexport default {\n fn: {\n getScrollParent,\n },\n statePlugins: {\n layout: {\n actions: {\n scrollToElement,\n scrollTo,\n clearScrollTo,\n readyToScroll,\n parseDeepLinkHash\n },\n selectors: {\n getScrollToKey(state) {\n return state.get(\"scrollToKey\")\n },\n isShownKeyFromUrlHashArray(state, urlHashArray) {\n const [tag, operationId] = urlHashArray\n // We only put operations in the URL\n if(operationId) {\n return [\"operations\", tag, operationId]\n } else if (tag) {\n return [\"operations-tag\", tag]\n }\n return []\n },\n urlHashArrayFromIsShownKey(state, isShownKey) {\n let [type, tag, operationId] = isShownKey\n // We only put operations in the URL\n if(type == \"operations\") {\n return [tag, operationId]\n } else if (type == \"operations-tag\") {\n return [tag]\n }\n return []\n },\n },\n reducers: {\n [SCROLL_TO](state, action) {\n return state.set(\"scrollToKey\", Im.fromJS(action.payload))\n },\n [CLEAR_SCROLL_TO](state) {\n return state.delete(\"scrollToKey\")\n }\n },\n wrapActions: {\n show\n }\n }\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-immutable-proptypes\");","import React from \"react\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst Wrapper = (Ori, system) => class OperationWrapper extends React.Component {\n\n static propTypes = {\n operation: ImPropTypes.map.isRequired,\n }\n\n onLoad = (ref) => {\n const { operation } = this.props\n const { tag, operationId } = operation.toObject()\n let { isShownKey } = operation.toObject()\n isShownKey = isShownKey || [\"operations\", tag, operationId]\n system.layoutActions.readyToScroll(isShownKey, ref)\n }\n\n render() {\n return (\n \n \n \n )\n }\n}\n\nexport default Wrapper\n","import React from \"react\"\nimport { PropTypes } from \"prop-types\"\n\nconst Wrapper = (Ori, system) => class OperationTagWrapper extends React.Component {\n\n static propTypes = {\n tag: PropTypes.object.isRequired,\n }\n\n onLoad = (ref) => {\n const { tag } = this.props\n const isShownKey = [\"operations-tag\", tag]\n system.layoutActions.readyToScroll(isShownKey, ref)\n }\n\n render() {\n return (\n \n \n \n )\n }\n}\n\nexport default Wrapper\n","import layout from \"./layout\"\nimport OperationWrapper from \"./operation-wrapper\"\nimport OperationTagWrapper from \"./operation-tag-wrapper\"\n\nexport default function() {\n return [layout, {\n statePlugins: {\n configs: {\n wrapActions: {\n loaded: (ori, system) => (...args) => {\n ori(...args)\n // location.hash was an UTF-16 String, here is required UTF-8\n const hash = decodeURIComponent(window.location.hash)\n system.layoutActions.parseDeepLinkHash(hash)\n }\n }\n }\n },\n wrapComponents: {\n operation: OperationWrapper,\n OperationTag: OperationTagWrapper,\n },\n }]\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/reduce\");","export function transform(errors) {\n // JSONSchema refers to the current object being validated\n // as 'instance'. This isn't helpful to users, so we remove it.\n return errors\n .map(err => {\n let seekStr = \"is not of a type(s)\"\n let i = err.get(\"message\").indexOf(seekStr)\n if(i > -1) {\n let types = err.get(\"message\").slice(i + seekStr.length).split(\",\")\n return err.set(\"message\", err.get(\"message\").slice(0, i) + makeNewMessage(types))\n } else {\n return err\n }\n })\n}\n\nfunction makeNewMessage(types) {\n return types.reduce((p, c, i, arr) => {\n if(i === arr.length - 1 && arr.length > 1) {\n return p + \"or \" + c\n } else if(arr[i+1] && arr.length > 2) {\n return p + c + \", \"\n } else if(arr[i+1]) {\n return p + c + \" \"\n } else {\n return p + c\n }\n }, \"should be a\")\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/get\");","import get from \"lodash/get\"\nimport { fromJS } from \"immutable\"\n\nexport function transform(errors, { jsSpec }) {\n // LOOK HERE THIS TRANSFORMER IS CURRENTLY DISABLED 😃\n // TODO: finish implementing, fix flattening problem\n /* eslint-disable no-unreachable */\n return errors\n\n\n // JSONSchema gives us very little to go on\n let searchStr = \"is not exactly one from <#/definitions/parameter>,<#/definitions/jsonReference>\"\n return errors\n .map(err => {\n let message = err.get(\"message\")\n let isParameterOneOfError = message.indexOf(searchStr) > -1\n if(isParameterOneOfError) {\n // try to find what's wrong\n return createTailoredParameterError(err, jsSpec)\n } else {\n return err\n }\n })\n .flatten(true) // shallow Immutable flatten\n}\n\nconst VALID_IN_VALUES = [\"path\", \"query\", \"header\", \"body\", \"formData\"]\nconst VALID_COLLECTIONFORMAT_VALUES = [\"csv\", \"ssv\", \"tsv\", \"pipes\", \"multi\"]\n\nfunction createTailoredParameterError(err, jsSpec) {\n let newErrs = []\n let parameter = get(jsSpec, err.get(\"path\"))\n\n // find addressable cases\n if(parameter.in && VALID_IN_VALUES.indexOf(parameter.in) === -1) {\n let message = `Wrong value for the \"in\" keyword. Expected one of: ${VALID_IN_VALUES.join(\", \")}.`\n newErrs.push({\n message,\n path: err.get(\"path\") + \".in\",\n type: \"spec\",\n source: \"structural\",\n level: \"error\"\n })\n }\n\n if(parameter.collectionFormat && VALID_COLLECTIONFORMAT_VALUES.indexOf(parameter.collectionFormat) === -1) {\n let message = `Wrong value for the \"collectionFormat\" keyword. Expected one of: ${VALID_COLLECTIONFORMAT_VALUES.join(\", \")}.`\n newErrs.push({\n message,\n path: err.get(\"path\") + \".collectionFormat\",\n type: \"spec\",\n source: \"structural\",\n level: \"error\"\n })\n }\n\n return newErrs.length ? fromJS(newErrs) : err // fall back to making no changes\n\n}\n","import reduce from \"lodash/reduce\"\nimport * as NotOfType from \"./transformers/not-of-type\"\nimport * as ParameterOneOf from \"./transformers/parameter-oneof\"\n\nconst errorTransformers = [\n NotOfType,\n ParameterOneOf\n]\n\nexport default function transformErrors (errors) {\n // Dev note: unimplemented artifact where\n // jsSpec: system.specSelectors.specJS()\n // regardless, to be compliant with redux@4, instead of calling the store method here,\n // jsSpec should be pass down as an argument,\n let inputs = {\n jsSpec: {}\n }\n\n let transformedErrors = reduce(errorTransformers, (result, transformer) => {\n try {\n let newlyTransformedErrors = transformer.transform(result, inputs)\n return newlyTransformedErrors.filter(err => !!err) // filter removed errors\n } catch(e) {\n console.error(\"Transformer error:\", e)\n return result\n }\n }, errors)\n\n return transformedErrors\n .filter(err => !!err) // filter removed errors\n .map(err => {\n if(!err.get(\"line\") && err.get(\"path\")) {\n // TODO: re-resolve line number if we've transformed it away\n }\n return err\n })\n\n}\n","import {\n NEW_THROWN_ERR,\n NEW_THROWN_ERR_BATCH,\n NEW_SPEC_ERR,\n NEW_SPEC_ERR_BATCH,\n NEW_AUTH_ERR,\n CLEAR,\n CLEAR_BY,\n} from \"./actions\"\n\nimport { fromJS, List } from \"immutable\"\n\nimport transformErrors from \"./error-transformers/hook\"\n\nlet DEFAULT_ERROR_STRUCTURE = {\n // defaults\n line: 0,\n level: \"error\",\n message: \"Unknown error\"\n}\n\nexport default function() {\n return {\n [NEW_THROWN_ERR]: (state, { payload }) => {\n let error = Object.assign(DEFAULT_ERROR_STRUCTURE, payload, {type: \"thrown\"})\n return state\n .update(\"errors\", errors => (errors || List()).push( fromJS( error )) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_THROWN_ERR_BATCH]: (state, { payload }) => {\n payload = payload.map(err => {\n return fromJS(Object.assign(DEFAULT_ERROR_STRUCTURE, err, { type: \"thrown\" }))\n })\n return state\n .update(\"errors\", errors => (errors || List()).concat( fromJS( payload )) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_SPEC_ERR]: (state, { payload }) => {\n let error = fromJS(payload)\n error = error.set(\"type\", \"spec\")\n return state\n .update(\"errors\", errors => (errors || List()).push( fromJS(error)).sortBy(err => err.get(\"line\")) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_SPEC_ERR_BATCH]: (state, { payload }) => {\n payload = payload.map(err => {\n return fromJS(Object.assign(DEFAULT_ERROR_STRUCTURE, err, { type: \"spec\" }))\n })\n return state\n .update(\"errors\", errors => (errors || List()).concat(fromJS(payload)))\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_AUTH_ERR]: (state, { payload }) => {\n let error = fromJS(Object.assign({}, payload))\n\n error = error.set(\"type\", \"auth\")\n return state\n .update(\"errors\", errors => (errors || List()).push( fromJS(error)) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [CLEAR]: (state, { payload }) => {\n if(!payload || !state.get(\"errors\")) {\n return state\n }\n\n let newErrors = state.get(\"errors\")\n .filter(err => {\n return err.keySeq().every(k => {\n const errValue = err.get(k)\n const filterValue = payload[k]\n\n if(!filterValue) return true\n\n return errValue !== filterValue\n })\n })\n return state.merge({\n errors: newErrors\n })\n },\n\n [CLEAR_BY]: (state, { payload }) => {\n if(!payload || typeof payload !== \"function\") {\n return state\n }\n let newErrors = state.get(\"errors\")\n .filter(err => {\n return payload(err)\n })\n return state.merge({\n errors: newErrors\n })\n }\n }\n}\n","import { List } from \"immutable\"\nimport { createSelector } from \"reselect\"\n\nconst state = state => state\n\nexport const allErrors = createSelector(\n state,\n err => err.get(\"errors\", List())\n)\n\nexport const lastError = createSelector(\n allErrors,\n all => all.last()\n)\n\n","import makeReducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\n\nexport default function(system) {\n return {\n statePlugins: {\n err: {\n reducers: makeReducers(system),\n actions,\n selectors\n }\n }\n }\n}\n","export default function(taggedOps, phrase) {\n return taggedOps.filter((tagObj, tag) => tag.indexOf(phrase) !== -1)\n}\n","import opsFilter from \"./opsFilter\"\n\nexport default function() {\n return {\n fn: {\n opsFilter\n }\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime-corejs3/helpers/extends\");","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst ArrowUp = ({ className = null, width = 20, height = 20, ...rest }) => (\n \n \n \n)\n\nArrowUp.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nexport default ArrowUp\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst ArrowDown = ({ className = null, width = 20, height = 20, ...rest }) => (\n \n \n \n)\n\nArrowDown.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nexport default ArrowDown\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Arrow = ({ className = null, width = 20, height = 20, ...rest }) => (\n \n \n \n)\n\nArrow.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nexport default Arrow\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Close = ({ className = null, width = 20, height = 20, ...rest }) => (\n \n \n \n)\n\nClose.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nexport default Close\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Copy = ({ className = null, width = 15, height = 16, ...rest }) => (\n \n \n \n \n \n)\n\nCopy.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nexport default Copy\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Lock = ({ className = null, width = 20, height = 20, ...rest }) => (\n \n \n \n)\n\nLock.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nexport default Lock\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Unlock = ({ className = null, width = 20, height = 20, ...rest }) => (\n \n \n \n)\n\nUnlock.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nexport default Unlock\n","/**\n * @prettier\n */\nimport ArrowUpIcon from \"./components/arrow-up\"\nimport ArrowDownIcon from \"./components/arrow-down\"\nimport ArrowIcon from \"./components/arrow\"\nimport CloseIcon from \"./components/close\"\nimport CopyIcon from \"./components/copy\"\nimport LockIcon from \"./components/lock\"\nimport UnlockIcon from \"./components/unlock\"\n\nconst IconsPlugin = () => ({\n components: {\n ArrowUpIcon,\n ArrowDownIcon,\n ArrowIcon,\n CloseIcon,\n CopyIcon,\n LockIcon,\n UnlockIcon,\n },\n})\n\nexport default IconsPlugin\n","import { normalizeArray } from \"core/utils\"\n\nexport const UPDATE_LAYOUT = \"layout_update_layout\"\nexport const UPDATE_FILTER = \"layout_update_filter\"\nexport const UPDATE_MODE = \"layout_update_mode\"\nexport const SHOW = \"layout_show\"\n\n// export const ONLY_SHOW = \"layout_only_show\"\n\nexport function updateLayout(layout) {\n return {\n type: UPDATE_LAYOUT,\n payload: layout\n }\n}\n\nexport function updateFilter(filter) {\n return {\n type: UPDATE_FILTER,\n payload: filter\n }\n}\n\nexport function show(thing, shown=true) {\n thing = normalizeArray(thing)\n return {\n type: SHOW,\n payload: {thing, shown}\n }\n}\n\n// Simple string key-store, used for\nexport function changeMode(thing, mode=\"\") {\n thing = normalizeArray(thing)\n return {\n type: UPDATE_MODE,\n payload: {thing, mode}\n }\n}\n","import { fromJS } from \"immutable\"\nimport {\n UPDATE_LAYOUT,\n UPDATE_FILTER,\n UPDATE_MODE,\n SHOW\n} from \"./actions\"\n\nexport default {\n\n [UPDATE_LAYOUT]: (state, action) => state.set(\"layout\", action.payload),\n\n [UPDATE_FILTER]: (state, action) => state.set(\"filter\", action.payload),\n\n [SHOW]: (state, action) => {\n const isShown = action.payload.shown\n // This is one way to serialize an array, another (preferred) is to convert to json-pointer\n // TODO: use json-pointer serilization instead of fromJS(...), for performance\n const thingToShow = fromJS(action.payload.thing)\n // This is a map of paths to bools\n // eg: [one, two] => true\n // eg: [one] => false\n return state.update(\"shown\", fromJS({}), a => a.set(thingToShow, isShown))\n },\n\n [UPDATE_MODE]: (state, action) => {\n let thing = action.payload.thing\n let mode = action.payload.mode\n return state.setIn([\"modes\"].concat(thing), (mode || \"\") + \"\")\n }\n\n}\n","import { createSelector } from \"reselect\"\nimport { normalizeArray } from \"core/utils\"\nimport { fromJS } from \"immutable\"\n\nconst state = state => state\n\nexport const current = state => state.get(\"layout\")\n\nexport const currentFilter = state => state.get(\"filter\")\n\nexport const isShown = (state, thing, def) => {\n thing = normalizeArray(thing)\n return state.get(\"shown\", fromJS({})).get(fromJS(thing), def)\n}\n\nexport const whatMode = (state, thing, def=\"\") => {\n thing = normalizeArray(thing)\n return state.getIn([\"modes\", ...thing], def)\n}\n\nexport const showSummary = createSelector(\n state,\n state => !isShown(state, \"editor\")\n)\n","\nexport const taggedOperations = (oriSelector, system) => (state, ...args) => {\n let taggedOps = oriSelector(state, ...args)\n\n const { fn, layoutSelectors, getConfigs } = system.getSystem()\n const configs = getConfigs()\n const { maxDisplayedTags } = configs\n\n // Filter, if requested\n let filter = layoutSelectors.currentFilter()\n if (filter) {\n if (filter !== true) {\n taggedOps = fn.opsFilter(taggedOps, filter)\n }\n }\n // Limit to [max] items, if specified\n if (maxDisplayedTags >= 0) {\n taggedOps = taggedOps.slice(0, maxDisplayedTags)\n }\n\n return taggedOps\n}\n","import reducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport * as wrapSelectors from \"./spec-extensions/wrap-selector\"\n\nexport default function() {\n return {\n statePlugins: {\n layout: {\n reducers,\n actions,\n selectors\n },\n spec: {\n wrapSelectors\n }\n }\n }\n}\n","export default function ({configs}) {\n\n const levels = {\n \"debug\": 0,\n \"info\": 1,\n \"log\": 2,\n \"warn\": 3,\n \"error\": 4\n }\n\n const getLevel = (level) => levels[level] || -1\n\n let { logLevel } = configs\n let logLevelInt = getLevel(logLevel)\n\n function log(level, ...args) {\n if(getLevel(level) >= logLevelInt)\n // eslint-disable-next-line no-console\n console[level](...args)\n }\n\n log.warn = log.bind(null, \"warn\")\n log.error = log.bind(null, \"error\")\n log.info = log.bind(null, \"info\")\n log.debug = log.bind(null, \"debug\")\n\n return { rootInjects: { log } }\n}\n","let engaged = false\n\nexport default function() {\n\n return {\n statePlugins: {\n spec: {\n wrapActions: {\n updateSpec: (ori) => (...args) => {\n engaged = true\n return ori(...args)\n },\n updateJsonSpec: (ori, system) => (...args) => {\n const cb = system.getConfigs().onComplete\n if(engaged && typeof cb === \"function\") {\n // call `onComplete` on next tick, which allows React to\n // reconcile the DOM before we notify the user\n setTimeout(cb, 0)\n engaged = false\n }\n\n return ori(...args)\n }\n }\n }\n }\n }\n}\n","import { List, Map } from \"immutable\"\nimport win from \"../../window\"\n\n\n/**\n * if duplicate key name existed from FormData entries,\n * we mutated the key name by appending a hashIdx\n * @param {String} k - possibly mutated key name\n * @return {String} - src key name\n */\nconst extractKey = (k) => {\n const hashIdx = \"_**[]\"\n if (k.indexOf(hashIdx) < 0) {\n return k\n }\n return k.split(hashIdx)[0].trim()\n}\n\nconst escapeShell = (str) => {\n if (str === \"-d \") {\n return str\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return (\"'\" + str\n .replace(/'/g, \"'\\\\''\") + \"'\")\n else\n return str\n}\n\nconst escapeCMD = (str) => {\n str = str\n .replace(/\\^/g, \"^^\")\n .replace(/\\\\\"/g, \"\\\\\\\\\\\"\")\n .replace(/\"/g, \"\\\"\\\"\")\n .replace(/\\n/g, \"^\\n\")\n if (str === \"-d \") {\n return str\n .replace(/-d /g, \"-d ^\\n\")\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return \"\\\"\" + str + \"\\\"\"\n else\n return str\n}\n\nconst escapePowershell = (str) => {\n if (str === \"-d \") {\n return str\n }\n if (/\\n/.test(str)) {\n const escaped = str.replace(/`/g, \"``\").replace(/\\$/g, \"`$\")\n return `@\"\\n${escaped}\\n\"@`\n }\n if (!/^[_\\/-]/.test(str)) { // eslint-disable-line no-useless-escape\n const escaped = str.replace(/'/g, \"''\")\n return `'${escaped}'`\n }\n return str\n}\n\nfunction getStringBodyOfMap(request) {\n let curlifyToJoin = []\n for (let [k, v] of request.get(\"body\").entrySeq()) {\n let extractedKey = extractKey(k)\n if (v instanceof win.File) {\n curlifyToJoin.push(` \"${extractedKey}\": {\\n \"name\": \"${v.name}\"${v.type ? `,\\n \"type\": \"${v.type}\"` : \"\"}\\n }`)\n } else {\n curlifyToJoin.push(` \"${extractedKey}\": ${JSON.stringify(v, null, 2).replace(/(\\r\\n|\\r|\\n)/g, \"\\n \")}`)\n }\n }\n return `{\\n${curlifyToJoin.join(\",\\n\")}\\n}`\n}\n\nconst curlify = (request, escape, newLine, ext = \"\") => {\n let isMultipartFormDataRequest = false\n let curlified = \"\"\n const addWords = (...args) => curlified += \" \" + args.map(escape).join(\" \")\n const addWordsWithoutLeadingSpace = (...args) => curlified += args.map(escape).join(\" \")\n const addNewLine = () => curlified += ` ${newLine}`\n const addIndent = (level = 1) => curlified += \" \".repeat(level)\n let headers = request.get(\"headers\")\n curlified += \"curl\" + ext\n\n const curlOptions = request.get(\"curlOptions\")\n if (List.isList(curlOptions) && !curlOptions.isEmpty()) {\n addWords(...request.get(\"curlOptions\"))\n }\n\n addWords(\"-X\", request.get(\"method\"))\n\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(`${request.get(\"url\")}`)\n\n if (headers && headers.size) {\n for (let p of request.get(\"headers\").entries()) {\n addNewLine()\n addIndent()\n let [h, v] = p\n addWordsWithoutLeadingSpace(\"-H\", `${h}: ${v}`)\n isMultipartFormDataRequest = isMultipartFormDataRequest || /^content-type$/i.test(h) && /^multipart\\/form-data$/i.test(v)\n }\n }\n\n const body = request.get(\"body\")\n if (body) {\n if (isMultipartFormDataRequest && [\"POST\", \"PUT\", \"PATCH\"].includes(request.get(\"method\"))) {\n for (let [k, v] of body.entrySeq()) {\n let extractedKey = extractKey(k)\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-F\")\n\n /**\n * SwaggerClient produces specialized sub-class of File class, that only\n * accepts string data and retain this data in `data`\n * public property throughout the lifecycle of its instances.\n *\n * This sub-class is exclusively used only when Encoding Object\n * is defined within the Media Type Object (OpenAPI 3.x.y).\n */\n if (v instanceof win.File && typeof v.valueOf() === \"string\") {\n addWords(`${extractedKey}=${v.data}${v.type ? `;type=${v.type}` : \"\"}`)\n } else if (v instanceof win.File) {\n addWords(`${extractedKey}=@${v.name}${v.type ? `;type=${v.type}` : \"\"}`)\n } else {\n addWords(`${extractedKey}=${v}`)\n }\n }\n } else if(body instanceof win.File) {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(`--data-binary '@${body.name}'`)\n } else {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-d \")\n let reqBody = body\n if (!Map.isMap(reqBody)) {\n if (typeof reqBody !== \"string\") {\n reqBody = JSON.stringify(reqBody)\n }\n addWordsWithoutLeadingSpace(reqBody)\n } else {\n addWordsWithoutLeadingSpace(getStringBodyOfMap(request))\n }\n }\n } else if (!body && request.get(\"method\") === \"POST\") {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-d ''\")\n }\n\n return curlified\n}\n\nexport const requestSnippetGenerator_curl_powershell = (request) => {\n return curlify(request, escapePowershell, \"`\\n\", \".exe\")\n}\n\nexport const requestSnippetGenerator_curl_bash = (request) => {\n return curlify(request, escapeShell, \"\\\\\\n\")\n}\n\nexport const requestSnippetGenerator_curl_cmd = (request) => {\n return curlify(request, escapeCMD, \"^\\n\")\n}\n","import { createSelector } from \"reselect\"\nimport { Map } from \"immutable\"\n\nconst state = state => state || Map()\n\nexport const getGenerators = createSelector(\n state,\n state => {\n const languageKeys = state\n .get(\"languages\")\n const generators = state\n .get(\"generators\", Map())\n if(!languageKeys || languageKeys.isEmpty()) {\n return generators\n }\n return generators\n .filter((v, key) => languageKeys.includes(key))\n }\n)\n\nexport const getSnippetGenerators = (state) => ({ fn }) => {\n const getGenFn = (key) => fn[`requestSnippetGenerator_${key}`]\n return getGenerators(state)\n .map((gen, key) => {\n const genFn = getGenFn(key)\n if(typeof genFn !== \"function\") {\n return null\n }\n\n return gen.set(\"fn\", genFn)\n })\n .filter(v => v)\n}\n\nexport const getActiveLanguage = createSelector(\n state,\n state => state\n .get(\"activeLanguage\")\n)\n\nexport const getDefaultExpanded = createSelector(\n state,\n state => state\n .get(\"defaultExpanded\")\n)\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"classnames\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-copy-to-clipboard\");","import React, { useRef, useEffect, useState } from \"react\"\nimport classNames from \"classnames\"\nimport PropTypes from \"prop-types\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\n\nconst style = {\n cursor: \"pointer\",\n lineHeight: 1,\n display: \"inline-flex\",\n backgroundColor: \"rgb(250, 250, 250)\",\n paddingBottom: \"0\",\n paddingTop: \"0\",\n border: \"1px solid rgb(51, 51, 51)\",\n borderRadius: \"4px 4px 0 0\",\n boxShadow: \"none\",\n borderBottom: \"none\"\n}\n\nconst activeStyle = {\n cursor: \"pointer\",\n lineHeight: 1,\n display: \"inline-flex\",\n backgroundColor: \"rgb(51, 51, 51)\",\n boxShadow: \"none\",\n border: \"1px solid rgb(51, 51, 51)\",\n paddingBottom: \"0\",\n paddingTop: \"0\",\n borderRadius: \"4px 4px 0 0\",\n marginTop: \"-5px\",\n marginRight: \"-5px\",\n marginLeft: \"-5px\",\n zIndex: \"9999\",\n borderBottom: \"none\"\n}\n\nconst RequestSnippets = ({ request, requestSnippetsSelectors, getComponent }) => {\n const rootRef = useRef(null)\n\n const ArrowIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n const SyntaxHighlighter = getComponent(\"SyntaxHighlighter\", true)\n\n const [activeLanguage, setActiveLanguage] = useState(requestSnippetsSelectors.getSnippetGenerators()?.keySeq().first())\n const [isExpanded, setIsExpanded] = useState(requestSnippetsSelectors?.getDefaultExpanded())\n\n const snippetGenerators = requestSnippetsSelectors.getSnippetGenerators()\n const activeGenerator = snippetGenerators.get(activeLanguage)\n const snippet = activeGenerator.get(\"fn\")(request)\n\n const handleGenChange = (key) => {\n const needsChange = activeLanguage !== key\n if (needsChange) {\n setActiveLanguage(key)\n }\n }\n\n const handleSetIsExpanded = () => {\n setIsExpanded(!isExpanded)\n }\n\n const handleGetBtnStyle = (key) => {\n if (key === activeLanguage) {\n return activeStyle\n }\n return style\n }\n\n const handlePreventYScrollingBeyondElement = (e) => {\n const { target, deltaY } = e\n const { scrollHeight: contentHeight, offsetHeight: visibleHeight, scrollTop } = target\n const scrollOffset = visibleHeight + scrollTop\n const isElementScrollable = contentHeight > visibleHeight\n const isScrollingPastTop = scrollTop === 0 && deltaY < 0\n const isScrollingPastBottom = scrollOffset >= contentHeight && deltaY > 0\n\n if (isElementScrollable && (isScrollingPastTop || isScrollingPastBottom)) {\n e.preventDefault()\n }\n }\n\n useEffect(() => {\n const doIt = () => {\n\n }\n doIt()\n }, [])\n\n useEffect(() => {\n const childNodes = Array\n .from(rootRef.current.childNodes)\n .filter(node => !!node.nodeType && node.classList?.contains(\"curl-command\"))\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.addEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement, { passive: false }))\n\n return () => {\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.removeEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement))\n }\n }, [request])\n\n return (\n
\n
\n handleSetIsExpanded()}\n style={{ cursor: \"pointer\" }}\n >Snippets\n handleSetIsExpanded()}\n style={{ border: \"none\", background: \"none\" }}\n title={isExpanded ? \"Collapse operation\" : \"Expand operation\"}\n >\n {isExpanded ? : }\n \n
\n {\n isExpanded &&
\n
\n {\n snippetGenerators.entrySeq().map(([key, gen]) => {\n return (\n handleGenChange(key)}\n >\n

{gen.get(\"title\")}

\n
\n )\n })\n }\n
\n
\n \n
\n
\n (\n {children}\n )}\n >\n {snippet}\n \n
\n
\n }\n
\n )\n}\n\nRequestSnippets.propTypes = {\n request: PropTypes.object.isRequired,\n requestSnippetsSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n requestSnippetsActions: PropTypes.object,\n}\n\nexport default RequestSnippets\n","import { requestSnippetGenerator_curl_bash, requestSnippetGenerator_curl_cmd, requestSnippetGenerator_curl_powershell } from \"./fn\"\nimport * as selectors from \"./selectors\"\nimport RequestSnippets from \"./request-snippets\"\n\nexport default () => {\n return {\n components: {\n RequestSnippets\n },\n fn: {\n requestSnippetGenerator_curl_bash,\n requestSnippetGenerator_curl_cmd,\n requestSnippetGenerator_curl_powershell,\n },\n statePlugins: {\n requestSnippets: {\n selectors\n }\n }\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport Im from \"immutable\"\n\nexport default class ModelCollapse extends Component {\n static propTypes = {\n collapsedContent: PropTypes.any,\n expanded: PropTypes.bool,\n children: PropTypes.any,\n title: PropTypes.element,\n modelName: PropTypes.string,\n classes: PropTypes.string,\n onToggle: PropTypes.func,\n hideSelfOnExpand: PropTypes.bool,\n layoutActions: PropTypes.object,\n layoutSelectors: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n }\n\n static defaultProps = {\n collapsedContent: \"{...}\",\n expanded: false,\n title: null,\n onToggle: () => {},\n hideSelfOnExpand: false,\n specPath: Im.List([]),\n }\n\n constructor(props, context) {\n super(props, context)\n\n let { expanded, collapsedContent } = this.props\n\n this.state = {\n expanded : expanded,\n collapsedContent: collapsedContent || ModelCollapse.defaultProps.collapsedContent\n }\n }\n\n componentDidMount() {\n const { hideSelfOnExpand, expanded, modelName } = this.props\n if(hideSelfOnExpand && expanded) {\n // We just mounted pre-expanded, and we won't be going back..\n // So let's give our parent an `onToggle` call..\n // Since otherwise it will never be called.\n this.props.onToggle(modelName, expanded)\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps){\n if(this.props.expanded !== nextProps.expanded){\n this.setState({expanded: nextProps.expanded})\n }\n }\n\n toggleCollapsed=()=>{\n if(this.props.onToggle){\n this.props.onToggle(this.props.modelName,!this.state.expanded)\n }\n\n this.setState({\n expanded: !this.state.expanded\n })\n }\n\n onLoad = (ref) => {\n if (ref && this.props.layoutSelectors) {\n const scrollToKey = this.props.layoutSelectors.getScrollToKey()\n\n if( Im.is(scrollToKey, this.props.specPath) ) this.toggleCollapsed()\n this.props.layoutActions.readyToScroll(this.props.specPath, ref.parentElement)\n }\n }\n\n render () {\n const { title, classes } = this.props\n\n if(this.state.expanded ) {\n if(this.props.hideSelfOnExpand) {\n return \n {this.props.children}\n \n }\n }\n\n return (\n \n \n\n { this.state.expanded && this.props.children }\n \n )\n }\n}\n","/**\n * @prettier\n */\nimport React, { useMemo, useState, useEffect, useCallback, useRef } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport cx from \"classnames\"\nimport randomBytes from \"randombytes\"\n\nconst usePrevious = (value) => {\n const ref = useRef()\n useEffect(() => {\n ref.current = value\n })\n return ref.current\n}\n\nconst useTabs = ({ initialTab, isExecute, schema, example }) => {\n const tabs = useMemo(() => ({ example: \"example\", model: \"model\" }), [])\n const allowedTabs = useMemo(() => Object.keys(tabs), [tabs])\n const tab =\n !allowedTabs.includes(initialTab) || !schema || isExecute\n ? tabs.example\n : initialTab\n const prevIsExecute = usePrevious(isExecute)\n const [activeTab, setActiveTab] = useState(tab)\n const handleTabChange = useCallback((e) => {\n setActiveTab(e.target.dataset.name)\n }, [])\n\n useEffect(() => {\n if (prevIsExecute && !isExecute && example) {\n setActiveTab(tabs.example)\n }\n }, [prevIsExecute, isExecute, example])\n\n return { activeTab, onTabChange: handleTabChange, tabs }\n}\n\nconst ModelExample = ({\n schema,\n example,\n isExecute = false,\n specPath,\n includeWriteOnly = false,\n includeReadOnly = false,\n getComponent,\n getConfigs,\n specSelectors,\n}) => {\n const { defaultModelRendering, defaultModelExpandDepth } = getConfigs()\n const ModelWrapper = getComponent(\"ModelWrapper\")\n const HighlightCode = getComponent(\"HighlightCode\", true)\n const exampleTabId = randomBytes(5).toString(\"base64\")\n const examplePanelId = randomBytes(5).toString(\"base64\")\n const modelTabId = randomBytes(5).toString(\"base64\")\n const modelPanelId = randomBytes(5).toString(\"base64\")\n const isOAS3 = specSelectors.isOAS3()\n const { activeTab, tabs, onTabChange } = useTabs({\n initialTab: defaultModelRendering,\n isExecute,\n schema,\n example,\n })\n\n return (\n
\n
    \n \n \n {isExecute ? \"Edit Value\" : \"Example Value\"}\n \n \n {schema && (\n \n \n {isOAS3 ? \"Schema\" : \"Model\"}\n \n \n )}\n
\n {activeTab === tabs.example && (\n \n {example ? (\n example\n ) : (\n (no example available\n )}\n
\n )}\n\n {activeTab === tabs.model && (\n \n \n
\n )}\n
\n )\n}\n\nModelExample.propTypes = {\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.shape({ isOAS3: PropTypes.func.isRequired })\n .isRequired,\n schema: PropTypes.object.isRequired,\n example: PropTypes.any.isRequired,\n isExecute: PropTypes.bool,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n}\n\nexport default ModelExample\n","import React, { Component, } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class ModelWrapper extends Component {\n\n static propTypes = {\n schema: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n fullPath: PropTypes.array.isRequired,\n specPath: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n expandDepth: PropTypes.number,\n layoutActions: PropTypes.object,\n layoutSelectors: PropTypes.object.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n onToggle = (name,isShown) => {\n // If this prop is present, we'll have deepLinking for it\n if(this.props.layoutActions) {\n this.props.layoutActions.show(this.props.fullPath, isShown)\n }\n }\n\n render(){\n let { getComponent, getConfigs } = this.props\n const Model = getComponent(\"Model\")\n\n let expanded\n if(this.props.layoutSelectors) {\n // If this is prop is present, we'll have deepLinking for it\n expanded = this.props.layoutSelectors.isShown(this.props.fullPath)\n }\n\n return
\n \n
\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-immutable-pure-component\");","var _circle;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgRollingLoad = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg/",\n width: 200,\n height: 200,\n className: \"rolling-load_svg__lds-rolling\",\n preserveAspectRatio: \"xMidYMid\",\n style: {\n backgroundImage: \"none\",\n backgroundPosition: \"initial initial\",\n backgroundRepeat: \"initial initial\"\n },\n viewBox: \"0 0 100 100\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 50,\n cy: 50,\n r: 35,\n fill: \"none\",\n stroke: \"#555\",\n strokeDasharray: \"164.93361431346415 56.97787143782138\",\n strokeWidth: 10\n}, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n begin: \"0s\",\n calcMode: \"linear\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n type: \"rotate\",\n values: \"0 50 50;360 50 50\"\n}))));\nexport default SvgRollingLoad;","import React from \"react\"\nimport ImmutablePureComponent from \"react-immutable-pure-component\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport PropTypes from \"prop-types\"\nimport { Map } from \"immutable\"\n\nimport RollingLoadSVG from \"core/assets/rolling-load.svg\"\n\nconst decodeRefName = uri => {\n const unescaped = uri.replace(/~1/g, \"/\").replace(/~0/g, \"~\")\n\n try {\n return decodeURIComponent(unescaped)\n } catch {\n return unescaped\n }\n}\n\nexport default class Model extends ImmutablePureComponent {\n static propTypes = {\n schema: ImPropTypes.map.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n isRef: PropTypes.bool,\n required: PropTypes.bool,\n expandDepth: PropTypes.number,\n depth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n getModelName =( ref )=> {\n if ( ref.indexOf(\"#/definitions/\") !== -1 ) {\n return decodeRefName(ref.replace(/^.*#\\/definitions\\//, \"\"))\n }\n if ( ref.indexOf(\"#/components/schemas/\") !== -1 ) {\n return decodeRefName(ref.replace(/^.*#\\/components\\/schemas\\//, \"\"))\n }\n }\n\n getRefSchema =( model )=> {\n let { specSelectors } = this.props\n\n return specSelectors.findDefinition(model)\n }\n\n render () {\n let { getComponent, getConfigs, specSelectors, schema, required, name, isRef, specPath, displayName,\n includeReadOnly, includeWriteOnly} = this.props\n const ObjectModel = getComponent(\"ObjectModel\")\n const ArrayModel = getComponent(\"ArrayModel\")\n const PrimitiveModel = getComponent(\"PrimitiveModel\")\n let type = \"object\"\n let $$ref = schema && schema.get(\"$$ref\")\n let $ref = schema && schema.get(\"$ref\")\n\n // If we weren't passed a `name` but have a resolved ref, grab the name from the ref\n if (!name && $$ref) {\n name = this.getModelName($$ref)\n }\n\n /*\n * If we have an unresolved ref, get the schema and name from the ref.\n * If the ref is external, we can't resolve it, so we just display the ref location.\n * This is for situations where:\n * - the ref was not resolved by Swagger Client because we reached the traversal depth limit\n * - we had a circular ref inside the allOf keyword\n */\n if ($ref) {\n const refName = this.getModelName($ref)\n const refSchema = this.getRefSchema(refName)\n if (Map.isMap(refSchema)) {\n schema = refSchema.mergeDeep(schema)\n if (!$$ref) {\n schema = schema.set(\"$$ref\", $ref)\n $$ref = $ref\n }\n } else if (Map.isMap(schema) && schema.size === 1) {\n schema = null\n name = $ref\n }\n }\n\n if(!schema) {\n return \n { displayName || name }\n {!$ref && }\n \n }\n\n const deprecated = specSelectors.isOAS3() && schema.get(\"deprecated\")\n isRef = isRef !== undefined ? isRef : !!$$ref\n type = schema && schema.get(\"type\") || type\n\n switch(type) {\n case \"object\":\n return \n case \"array\":\n return \n case \"string\":\n case \"number\":\n case \"integer\":\n case \"boolean\":\n default:\n return \n }\n }\n}\n","import React, { Component } from \"react\"\nimport Im, { Map } from \"immutable\"\nimport PropTypes from \"prop-types\"\n\n/* eslint-disable react/jsx-no-bind */\n\nexport default class Models extends Component {\n static propTypes = {\n getComponent: PropTypes.func,\n specSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object,\n layoutActions: PropTypes.object,\n getConfigs: PropTypes.func.isRequired\n }\n\n getSchemaBasePath = () => {\n const isOAS3 = this.props.specSelectors.isOAS3()\n return isOAS3 ? [\"components\", \"schemas\"] : [\"definitions\"]\n }\n\n getCollapsedContent = () => {\n return \" \"\n }\n\n handleToggle = (name, isExpanded) => {\n const { layoutActions } = this.props\n layoutActions.show([...this.getSchemaBasePath(), name], isExpanded)\n if(isExpanded) {\n this.props.specActions.requestResolvedSubtree([...this.getSchemaBasePath(), name])\n }\n }\n\n onLoadModels = (ref) => {\n if (ref) {\n this.props.layoutActions.readyToScroll(this.getSchemaBasePath(), ref)\n }\n }\n\n onLoadModel = (ref) => {\n if (ref) {\n const name = ref.getAttribute(\"data-name\")\n this.props.layoutActions.readyToScroll([...this.getSchemaBasePath(), name], ref)\n }\n }\n\n render(){\n let { specSelectors, getComponent, layoutSelectors, layoutActions, getConfigs } = this.props\n let definitions = specSelectors.definitions()\n let { docExpansion, defaultModelsExpandDepth } = getConfigs()\n if (!definitions.size || defaultModelsExpandDepth < 0) return null\n\n const specPathBase = this.getSchemaBasePath()\n let showModels = layoutSelectors.isShown(specPathBase, defaultModelsExpandDepth > 0 && docExpansion !== \"none\")\n const isOAS3 = specSelectors.isOAS3()\n\n const ModelWrapper = getComponent(\"ModelWrapper\")\n const Collapse = getComponent(\"Collapse\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n return
\n

\n layoutActions.show(specPathBase, !showModels)}\n >\n {isOAS3 ? \"Schemas\" : \"Models\"}\n {showModels ? : }\n \n

\n \n {\n definitions.entrySeq().map(([name])=>{\n\n const fullPath = [...specPathBase, name]\n const specPath = Im.List(fullPath)\n\n const schemaValue = specSelectors.specResolvedSubtree(fullPath)\n const rawSchemaValue = specSelectors.specJson().getIn(fullPath)\n\n const schema = Map.isMap(schemaValue) ? schemaValue : Im.Map()\n const rawSchema = Map.isMap(rawSchemaValue) ? rawSchemaValue : Im.Map()\n\n const displayName = schema.get(\"title\") || rawSchema.get(\"title\") || name\n const isShown = layoutSelectors.isShown(fullPath, false)\n\n if( isShown && (schema.size === 0 && rawSchema.size > 0) ) {\n // Firing an action in a container render is not great,\n // but it works for now.\n this.props.specActions.requestResolvedSubtree(fullPath)\n }\n\n const content = \n\n const title = \n \n {displayName}\n \n \n\n return
\n \n 0 && isShown }\n >{content}\n
\n }).toArray()\n }\n
\n
\n }\n}\n","import React from \"react\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst EnumModel = ({ value, getComponent }) => {\n let ModelCollapse = getComponent(\"ModelCollapse\")\n let collapsedContent = Array [ { value.count() } ]\n return \n Enum:
\n \n [ { value.map(String).join(\", \") } ]\n \n
\n}\nEnumModel.propTypes = {\n value: ImPropTypes.iterable,\n getComponent: ImPropTypes.func\n}\n\nexport default EnumModel\n","export function isAbsoluteUrl(url) {\n return url.match(/^(?:[a-z]+:)?\\/\\//i) // Matches http://, HTTP://, https://, ftp://, //example.com,\n}\n\nexport function addProtocol(url) {\n if (!url.match(/^\\/\\//i)) return url // Checks if protocol is missing e.g. //example.com\n\n return `${window.location.protocol}${url}`\n}\n\nexport function buildBaseUrl(selectedServer, specUrl) {\n if (!selectedServer) return specUrl\n if (isAbsoluteUrl(selectedServer)) return addProtocol(selectedServer)\n\n return new URL(selectedServer, specUrl).href\n}\n\nexport function buildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n if (!url) return undefined\n if (isAbsoluteUrl(url)) return url\n\n const baseUrl = buildBaseUrl(selectedServer, specUrl)\n if (!isAbsoluteUrl(baseUrl)) {\n return new URL(url, window.location.href).href\n }\n return new URL(url, baseUrl).href\n}\n\n/**\n * Safe version of buildUrl function. `selectedServer` can contain server variables\n * which can fail the URL resolution.\n */\nexport function safeBuildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n try {\n return buildUrl(url, specUrl, { selectedServer })\n } catch {\n return undefined\n }\n}\n\nexport function sanitizeUrl(url) {\n if (typeof url !== \"string\" || url.trim() === \"\") {\n return \"\"\n }\n\n const urlTrimmed = url.trim()\n const blankURL = \"about:blank\"\n\n try {\n const base = `https://base${String(Math.random()).slice(2)}`\n const urlObject = new URL(urlTrimmed, base)\n const scheme = urlObject.protocol.slice(0, -1)\n\n // check for invalid schemes\n if ([\"javascript\", \"data\", \"vbscript\"].includes(scheme.toLowerCase())) {\n return blankURL\n }\n\n // return sanitized URI reference\n if (urlObject.origin === base) {\n return urlTrimmed.startsWith(\"/\")\n ? `${urlObject.pathname}${urlObject.search}${urlObject.hash}`\n : urlTrimmed.startsWith(\".\")\n ? `.${urlObject.pathname}${urlObject.search}${urlObject.hash}`\n : `${urlObject.pathname.substring(1)}${urlObject.search}${urlObject.hash}`\n }\n\n return String(urlObject)\n } catch {\n return blankURL\n }\n}\n\n","/**\n * @prettier\n */\nimport React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { sanitizeUrl } from \"core/utils/url\"\nimport classNames from \"classnames\"\nimport { getExtensions } from \"../../../utils\"\n\nconst braceOpen = \"{\"\nconst braceClose = \"}\"\nconst propClass = \"property\"\n\nexport default class ObjectModel extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n expanded: PropTypes.bool,\n onToggle: PropTypes.func,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n isRef: PropTypes.bool,\n expandDepth: PropTypes.number,\n depth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render() {\n let {\n schema,\n name,\n displayName,\n isRef,\n getComponent,\n getConfigs,\n depth,\n onToggle,\n expanded,\n specPath,\n ...otherProps\n } = this.props\n let { specSelectors, expandDepth, includeReadOnly, includeWriteOnly } =\n otherProps\n const { isOAS3 } = specSelectors\n const isEmbedded = depth > 2 || (depth === 2 && specPath.last() !== \"items\")\n\n if (!schema) {\n return null\n }\n\n const { showExtensions } = getConfigs()\n const extensions = showExtensions ? getExtensions(schema) : List()\n\n let description = schema.get(\"description\")\n let properties = schema.get(\"properties\")\n let additionalProperties = schema.get(\"additionalProperties\")\n let title = schema.get(\"title\") || displayName || name\n let requiredProperties = schema.get(\"required\")\n let infoProperties = schema.filter(\n (v, key) =>\n [\"maxProperties\", \"minProperties\", \"nullable\", \"example\"].indexOf(\n key\n ) !== -1\n )\n let deprecated = schema.get(\"deprecated\")\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n const Model = getComponent(\"Model\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Property = getComponent(\"Property\")\n const Link = getComponent(\"Link\")\n const ModelExtensions = getComponent(\"ModelExtensions\")\n\n const JumpToPathSection = () => {\n return (\n \n \n \n )\n }\n const collapsedContent = (\n \n {braceOpen}...{braceClose}\n {isRef ? : \"\"}\n \n )\n\n const allOf = specSelectors.isOAS3() ? schema.get(\"allOf\") : null\n const anyOf = specSelectors.isOAS3() ? schema.get(\"anyOf\") : null\n const oneOf = specSelectors.isOAS3() ? schema.get(\"oneOf\") : null\n const not = specSelectors.isOAS3() ? schema.get(\"not\") : null\n\n const titleEl = title && (\n \n {isRef && schema.get(\"$$ref\") && (\n \n {schema.get(\"$$ref\")}\n \n )}\n {title}\n \n )\n\n return (\n \n \n {braceOpen}\n {!isRef ? null : }\n \n {\n \n \n {!description ? null : (\n \n \n \n \n )}\n {externalDocsUrl && (\n \n \n \n \n )}\n {!deprecated ? null : (\n \n \n \n \n )}\n {!(properties && properties.size)\n ? null\n : properties\n .entrySeq()\n .filter(([, value]) => {\n return (\n (!value.get(\"readOnly\") || includeReadOnly) &&\n (!value.get(\"writeOnly\") || includeWriteOnly)\n )\n })\n .map(([key, value]) => {\n let isDeprecated = isOAS3() && value.get(\"deprecated\")\n let isRequired =\n List.isList(requiredProperties) &&\n requiredProperties.contains(key)\n\n let classNames = [\"property-row\"]\n\n if (isDeprecated) {\n classNames.push(\"deprecated\")\n }\n\n if (isRequired) {\n classNames.push(\"required\")\n }\n\n return (\n \n \n \n \n )\n })\n .toArray()}\n {extensions.size === 0 ? null : (\n <>\n \n \n \n \n \n )}\n {!additionalProperties ||\n !additionalProperties.size ? null : (\n \n \n \n \n )}\n {!allOf ? null : (\n \n \n \n \n )}\n {!anyOf ? null : (\n \n \n \n \n )}\n {!oneOf ? null : (\n \n \n \n \n )}\n {!not ? null : (\n \n \n \n \n )}\n \n
description:\n \n
externalDocs:\n \n {externalDocsDescription || externalDocsUrl}\n \n
deprecated:true
\n {key}\n {isRequired && *}\n \n \n
 
{\"< * >:\"}\n \n
{\"allOf ->\"}\n {allOf.map((schema, k) => {\n return (\n
\n \n
\n )\n })}\n
{\"anyOf ->\"}\n {anyOf.map((schema, k) => {\n return (\n
\n \n
\n )\n })}\n
{\"oneOf ->\"}\n {oneOf.map((schema, k) => {\n return (\n
\n \n
\n )\n })}\n
{\"not ->\"}\n
\n \n
\n
\n }\n
\n {braceClose}\n \n {infoProperties.size\n ? infoProperties\n .entrySeq()\n .map(([key, v]) => (\n \n ))\n : null}\n
\n )\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { sanitizeUrl } from \"core/utils/url\"\n\nconst propClass = \"property\"\n\nexport default class ArrayModel extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n required: PropTypes.bool,\n expandDepth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n depth: PropTypes.number,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { getComponent, getConfigs, schema, depth, expandDepth, name, displayName, specPath } = this.props\n let description = schema.get(\"description\")\n let items = schema.get(\"items\")\n let title = schema.get(\"title\") || displayName || name\n let properties = schema.filter( ( v, key) => [\"type\", \"items\", \"description\", \"$$ref\", \"externalDocs\"].indexOf(key) === -1 )\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n\n const Markdown = getComponent(\"Markdown\", true)\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Model = getComponent(\"Model\")\n const Property = getComponent(\"Property\")\n const Link = getComponent(\"Link\")\n\n const titleEl = title &&\n \n { title }\n \n\n /*\n Note: we set `name={null}` in below because we don't want\n the name of the current Model passed (and displayed) as the name of the array element Model\n */\n\n return \n \n [\n {\n properties.size ? properties.entrySeq().map( ( [ key, v ] ) => ) : null\n }\n {\n !description ? (properties.size ?
: null) :\n \n }\n { externalDocsUrl &&\n
\n {externalDocsDescription || externalDocsUrl}\n
\n }\n \n \n \n ]\n
\n
\n }\n}\n","/**\n * @prettier\n */\nimport React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getExtensions } from \"core/utils\"\nimport { sanitizeUrl } from \"core/utils/url\"\n\nconst propClass = \"property primitive\"\n\nexport default class Primitive extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n depth: PropTypes.number,\n expandDepth: PropTypes.number,\n }\n\n render() {\n let {\n schema,\n getComponent,\n getConfigs,\n name,\n displayName,\n depth,\n expandDepth,\n } = this.props\n\n const { showExtensions } = getConfigs()\n\n if (!schema || !schema.get) {\n // don't render if schema isn't correctly formed\n return
\n }\n\n let type = schema.get(\"type\")\n let format = schema.get(\"format\")\n let xml = schema.get(\"xml\")\n let enumArray = schema.get(\"enum\")\n let title = schema.get(\"title\") || displayName || name\n let description = schema.get(\"description\")\n const extensions = getExtensions(schema)\n\n let properties = schema\n .filter(\n (_, key) =>\n [\n \"enum\",\n \"type\",\n \"format\",\n \"description\",\n \"$$ref\",\n \"externalDocs\",\n ].indexOf(key) === -1\n )\n .filterNot((_, key) => extensions.has(key))\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n const Markdown = getComponent(\"Markdown\", true)\n const EnumModel = getComponent(\"EnumModel\")\n const Property = getComponent(\"Property\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Link = getComponent(\"Link\")\n const ModelExtensions = getComponent(\"ModelExtensions\")\n\n const titleEl = title && (\n \n {title}\n \n )\n\n return (\n \n \n \n {name && depth > 1 && {title}}\n {type}\n {format && (${format})}\n {properties.size\n ? properties\n .entrySeq()\n .map(([key, v]) => (\n \n ))\n : null}\n {showExtensions && extensions.size > 0 ? (\n \n ) : null}\n {!description ? null : }\n {externalDocsUrl && (\n
\n \n {externalDocsDescription || externalDocsUrl}\n \n
\n )}\n {xml && xml.size ? (\n \n
\n xml:\n {xml\n .entrySeq()\n .map(([key, v]) => (\n \n
\n    {key}: {String(v)}\n
\n ))\n .toArray()}\n
\n ) : null}\n {enumArray && (\n \n )}\n
\n \n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Schemes extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n schemes: PropTypes.object.isRequired,\n currentScheme: PropTypes.string.isRequired,\n path: PropTypes.string,\n method: PropTypes.string,\n }\n\n UNSAFE_componentWillMount() {\n let { schemes } = this.props\n\n //fire 'change' event to set default 'value' of select\n this.setScheme(schemes.first())\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if ( !this.props.currentScheme || !nextProps.schemes.includes(this.props.currentScheme) ) {\n // if we don't have a selected currentScheme or if our selected scheme is no longer an option,\n // then fire 'change' event and select the first scheme in the list of options\n this.setScheme(nextProps.schemes.first())\n }\n }\n\n onChange =( e ) => {\n this.setScheme( e.target.value )\n }\n\n setScheme = ( value ) => {\n let { path, method, specActions } = this.props\n\n specActions.setScheme( value, path, method )\n }\n\n render() {\n let { schemes, currentScheme } = this.props\n\n return (\n \n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class SchemesContainer extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render () {\n const {specActions, specSelectors, getComponent} = this.props\n\n const currentScheme = specSelectors.operationScheme()\n const schemes = specSelectors.schemes()\n\n const Schemes = getComponent(\"schemes\")\n\n const schemesArePresent = schemes && schemes.size\n\n return schemesArePresent ? (\n \n ) : null\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-debounce-input\");","import React, { PureComponent, Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List, fromJS } from \"immutable\"\nimport cx from \"classnames\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport DebounceInput from \"react-debounce-input\"\nimport { stringify, isImmutable } from \"core/utils\"\n\nconst noop = ()=> {}\nconst JsonSchemaPropShape = {\n getComponent: PropTypes.func.isRequired,\n value: PropTypes.any,\n onChange: PropTypes.func,\n keyName: PropTypes.any,\n fn: PropTypes.object.isRequired,\n schema: PropTypes.object,\n errors: ImPropTypes.list,\n required: PropTypes.bool,\n dispatchInitialValue: PropTypes.bool,\n description: PropTypes.any,\n disabled: PropTypes.bool,\n}\n\nconst JsonSchemaDefaultProps = {\n value: \"\",\n onChange: noop,\n schema: {},\n keyName: \"\",\n required: false,\n errors: List()\n}\n\nexport class JsonSchemaForm extends Component {\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n componentDidMount() {\n const { dispatchInitialValue, value, onChange } = this.props\n if(dispatchInitialValue) {\n onChange(value)\n } else if(dispatchInitialValue === false) {\n onChange(\"\")\n }\n }\n\n render() {\n let { schema, errors, value, onChange, getComponent, fn, disabled } = this.props\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n const objectType = fn.getSchemaObjectType(schema)\n const isFileUploadIntended = fn.isFileUploadIntended(schema)\n\n let getComponentSilently = (name) => getComponent(name, false, { failSilently: true })\n let Comp = type ? format ?\n getComponentSilently(`JsonSchema_${type}_${format}`) :\n getComponentSilently(`JsonSchema_${type}`) :\n getComponent(\"JsonSchema_string\")\n\n if (!isFileUploadIntended && List.isList(type) && (objectType === \"array\" || objectType === \"object\")) {\n Comp = getComponent(\"JsonSchema_object\")\n }\n\n if (!Comp) {\n Comp = getComponent(\"JsonSchema_string\")\n }\n\n return \n }\n}\n\nexport class JsonSchema_string extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n onChange = (e) => {\n const value = this.props.schema && this.props.schema.get(\"type\") === \"file\" ? e.target.files[0] : e.target.value\n this.props.onChange(value, this.props.keyName)\n }\n onEnumChange = (val) => this.props.onChange(val)\n render() {\n let { getComponent, value, schema, errors, required, description, disabled } = this.props\n const enumValue = schema && schema.get ? schema.get(\"enum\") : null\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n const schemaIn = schema && schema.get ? schema.get(\"in\") : null\n if (!value) {\n value = \"\" // value should not be null; this fixes a Debounce error\n } else if (isImmutable(value) || typeof value === \"object\") {\n value = stringify(value)\n }\n\n errors = errors.toJS ? errors.toJS() : []\n\n if ( enumValue ) {\n const Select = getComponent(\"Select\")\n return (\n )\n }\n else {\n return (\n \n )\n }\n }\n}\n\nexport class JsonSchema_array extends PureComponent {\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n constructor(props, context) {\n super(props, context)\n this.state = { value: valueOrEmptyList(props.value), schema: props.schema}\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const value = valueOrEmptyList(props.value)\n if(value !== this.state.value)\n this.setState({ value })\n\n if(props.schema !== this.state.schema)\n this.setState({ schema: props.schema })\n }\n\n onChange = () => {\n this.props.onChange(this.state.value)\n }\n\n onItemChange = (itemVal, i) => {\n this.setState(({ value }) => ({\n value: value.set(i, itemVal)\n }), this.onChange)\n }\n\n removeItem = (i) => {\n this.setState(({ value }) => ({\n value: value.delete(i)\n }), this.onChange)\n }\n\n addItem = () => {\n const { fn } = this.props\n let newValue = valueOrEmptyList(this.state.value)\n this.setState(() => ({\n value: newValue.push(fn.getSampleSchema(this.state.schema.get(\"items\"), false, {\n includeWriteOnly: true\n }))\n }), this.onChange)\n }\n\n onEnumChange = (value) => {\n this.setState(() => ({\n value: value\n }), this.onChange)\n }\n\n render() {\n let { getComponent, required, schema, errors, fn, disabled } = this.props\n\n errors = errors.toJS ? errors.toJS() : Array.isArray(errors) ? errors : []\n const arrayErrors = errors.filter(e => typeof e === \"string\")\n const needsRemoveError = errors.filter(e => e.needRemove !== undefined)\n .map(e => e.error)\n const value = this.state.value // expect Im List\n const shouldRenderValue =\n !!(value && value.count && value.count() > 0)\n const schemaItemsEnum = schema.getIn([\"items\", \"enum\"])\n const schemaItems = schema.get(\"items\")\n const schemaItemsType = fn.getSchemaObjectType(schemaItems)\n const schemaItemsTypeLabel = fn.getSchemaObjectTypeLabel(schemaItems)\n const schemaItemsFormat = schema.getIn([\"items\", \"format\"])\n const schemaItemsSchema = schema.get(\"items\")\n let ArrayItemsComponent\n let isArrayItemText = false\n let isArrayItemFile = (schemaItemsType === \"file\" || (schemaItemsType === \"string\" && schemaItemsFormat === \"binary\"))\n if (schemaItemsType && schemaItemsFormat) {\n ArrayItemsComponent = getComponent(`JsonSchema_${schemaItemsType}_${schemaItemsFormat}`)\n } else if (schemaItemsType === \"boolean\" || schemaItemsType === \"array\" || schemaItemsType === \"object\") {\n ArrayItemsComponent = getComponent(`JsonSchema_${schemaItemsType}`)\n }\n\n if (List.isList(schemaItems?.get(\"type\")) && (schemaItemsType === \"array\" || schemaItemsType === \"object\")) {\n ArrayItemsComponent = getComponent(`JsonSchema_object`)\n }\n\n // if ArrayItemsComponent not assigned or does not exist,\n // use default schemaItemsType === \"string\" & JsonSchemaArrayItemText component\n if (!ArrayItemsComponent && !isArrayItemFile) {\n isArrayItemText = true\n }\n\n if ( schemaItemsEnum ) {\n const Select = getComponent(\"Select\")\n return ()\n }\n}\n\nexport class JsonSchema_boolean extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n onEnumChange = (val) => this.props.onChange(val)\n render() {\n let { getComponent, value, errors, schema, required, disabled } = this.props\n errors = errors.toJS ? errors.toJS() : []\n let enumValue = schema && schema.get ? schema.get(\"enum\") : null\n let allowEmptyValue = !enumValue || !required\n let booleanValue = !enumValue && [\"true\", \"false\"]\n const Select = getComponent(\"Select\")\n\n return (\n \n }\n \n {\n errors.valueSeq().map( (error, key) => {\n return \n } )\n }\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class BasicAuth extends React.Component {\n static propTypes = {\n authorized: ImPropTypes.map,\n schema: ImPropTypes.map,\n getComponent: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n errSelectors: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired\n }\n\n constructor(props, context) {\n super(props, context)\n let { schema, name } = this.props\n\n let value = this.getValue()\n let username = value.username\n\n this.state = {\n name: name,\n schema: schema,\n value: !username ? {} : {\n username: username\n }\n }\n }\n\n getValue () {\n let { authorized, name } = this.props\n\n return authorized && authorized.getIn([name, \"value\"]) || {}\n }\n\n onChange =(e) => {\n let { onChange } = this.props\n let { value, name } = e.target\n\n let newValue = this.state.value\n newValue[name] = value\n\n this.setState({ value: newValue })\n\n onChange(this.state)\n }\n\n render() {\n let { schema, getComponent, name, errSelectors, authSelectors } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const AuthError = getComponent(\"authError\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n const path = authSelectors.selectAuthPath(name)\n let username = this.getValue().username\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n return (\n
\n

Basic authorization

\n { username &&
Authorized
}\n \n \n \n \n \n {\n username ? { username } \n : \n \n \n }\n \n \n \n {\n username ? ****** \n : \n \n \n }\n \n {\n errors.valueSeq().map( (error, key) => {\n return \n } )\n }\n
\n )\n }\n\n}\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { stringify } from \"core/utils\"\nimport { Map } from \"immutable\"\n\nexport default function Example(props) {\n const { example, showValue, getComponent } = props\n\n const Markdown = getComponent(\"Markdown\", true)\n const HighlightCode = getComponent(\"HighlightCode\", true)\n\n if (!example || !Map.isMap(example)) return null\n\n return (\n
\n {example.get(\"description\") ? (\n
\n
Example Description
\n

\n \n

\n
\n ) : null}\n {showValue && example.has(\"value\") ? (\n
\n
Example Value
\n {stringify(example.get(\"value\"))}\n
\n ) : null}\n
\n )\n}\n\nExample.propTypes = {\n example: ImPropTypes.map.isRequired,\n showValue: PropTypes.bool,\n getComponent: PropTypes.func.isRequired,\n}\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport { Map } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class ExamplesSelect extends React.PureComponent {\n static propTypes = {\n examples: ImPropTypes.map.isRequired,\n onSelect: PropTypes.func,\n currentExampleKey: PropTypes.string,\n isModifiedValueAvailable: PropTypes.bool,\n isValueModified: PropTypes.bool,\n showLabels: PropTypes.bool,\n }\n\n static defaultProps = {\n examples: Map({}),\n onSelect: (...args) =>\n // eslint-disable-next-line no-console\n console.log(\n // FIXME: remove before merging to master...\n `DEBUG: ExamplesSelect was not given an onSelect callback`,\n ...args\n ),\n currentExampleKey: null,\n showLabels: true,\n }\n\n _onSelect = (key, { isSyntheticChange = false } = {}) => {\n if (typeof this.props.onSelect === \"function\") {\n this.props.onSelect(key, {\n isSyntheticChange,\n })\n }\n }\n\n _onDomSelect = (e) => {\n if (typeof this.props.onSelect === \"function\") {\n const element = e.target.selectedOptions[0]\n const key = element.getAttribute(\"value\")\n\n this._onSelect(key, {\n isSyntheticChange: false,\n })\n }\n }\n\n getCurrentExample = () => {\n const { examples, currentExampleKey } = this.props\n\n const currentExamplePerProps = examples.get(currentExampleKey)\n\n const firstExamplesKey = examples.keySeq().first()\n const firstExample = examples.get(firstExamplesKey)\n\n return currentExamplePerProps || firstExample || Map({})\n }\n\n componentDidMount() {\n // this is the not-so-great part of ExamplesSelect... here we're\n // artificially kicking off an onSelect event in order to set a default\n // value in state. the consumer has the option to avoid this by checking\n // `isSyntheticEvent`, but we should really be doing this in a selector.\n // TODO: clean this up\n // FIXME: should this only trigger if `currentExamplesKey` is nullish?\n const { onSelect, examples } = this.props\n\n if (typeof onSelect === \"function\") {\n const firstExample = examples.first()\n const firstExampleKey = examples.keyOf(firstExample)\n\n this._onSelect(firstExampleKey, {\n isSyntheticChange: true,\n })\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { currentExampleKey, examples } = nextProps\n if (examples !== this.props.examples && !examples.has(currentExampleKey)) {\n // examples have changed from under us, and the currentExampleKey is no longer\n // valid.\n const firstExample = examples.first()\n const firstExampleKey = examples.keyOf(firstExample)\n\n this._onSelect(firstExampleKey, {\n isSyntheticChange: true,\n })\n }\n }\n\n render() {\n const {\n examples,\n currentExampleKey,\n isValueModified,\n isModifiedValueAvailable,\n showLabels,\n } = this.props\n\n return (\n
\n {showLabels ? (\n Examples: \n ) : null}\n \n {isModifiedValueAvailable ? (\n \n ) : null}\n {examples\n .map((example, exampleName) => {\n return (\n \n {(Map.isMap(example) && example.get(\"summary\")) ||\n exampleName}\n \n )\n })\n .valueSeq()}\n \n
\n )\n }\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport { Map, List } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nimport { stringify } from \"core/utils\"\n\n// This stateful component lets us avoid writing competing values (user\n// modifications vs example values) into global state, and the mess that comes\n// with that: tracking which of the two values are currently used for\n// Try-It-Out, which example a modified value came from, etc...\n//\n// The solution here is to retain the last user-modified value in\n// ExamplesSelectValueRetainer's component state, so that our global state can stay\n// clean, always simply being the source of truth for what value should be both\n// displayed to the user and used as a value during request execution.\n//\n// This approach/tradeoff was chosen in order to encapsulate the particular\n// logic of Examples within the Examples component tree, and to avoid\n// regressions within our current implementation elsewhere (non-Examples\n// definitions, OpenAPI 2.0, etc). A future refactor to global state might make\n// this component unnecessary.\n//\n// TL;DR: this is not our usual approach, but the choice was made consciously.\n\n// Note that `currentNamespace` isn't currently used anywhere!\n\nconst stringifyUnlessList = (input) =>\n List.isList(input) ? input : stringify(input)\n\nexport default class ExamplesSelectValueRetainer extends React.PureComponent {\n static propTypes = {\n examples: ImPropTypes.map,\n onSelect: PropTypes.func,\n updateValue: PropTypes.func, // mechanism to update upstream value\n userHasEditedBody: PropTypes.bool,\n getComponent: PropTypes.func.isRequired,\n currentUserInputValue: PropTypes.any,\n currentKey: PropTypes.string,\n currentNamespace: PropTypes.string,\n setRetainRequestBodyValueFlag: PropTypes.func.isRequired,\n // (also proxies props for Examples)\n }\n\n static defaultProps = {\n userHasEditedBody: false,\n examples: Map({}),\n currentNamespace: \"__DEFAULT__NAMESPACE__\",\n setRetainRequestBodyValueFlag: () => {\n // NOOP\n },\n onSelect: (...args) =>\n // eslint-disable-next-line no-console\n console.log(\n \"ExamplesSelectValueRetainer: no `onSelect` function was provided\",\n ...args\n ),\n updateValue: (...args) =>\n // eslint-disable-next-line no-console\n console.log(\n \"ExamplesSelectValueRetainer: no `updateValue` function was provided\",\n ...args\n ),\n }\n\n constructor(props) {\n super(props)\n\n const valueFromExample = this._getCurrentExampleValue()\n\n this.state = {\n // user edited: last value that came from the world around us, and didn't\n // match the current example's value\n // internal: last value that came from user selecting an Example\n [props.currentNamespace]: Map({\n lastUserEditedValue: this.props.currentUserInputValue,\n lastDownstreamValue: valueFromExample,\n isModifiedValueSelected:\n // valueFromExample !== undefined &&\n this.props.userHasEditedBody ||\n this.props.currentUserInputValue !== valueFromExample,\n }),\n }\n }\n\n componentWillUnmount() {\n this.props.setRetainRequestBodyValueFlag(false)\n }\n\n _getStateForCurrentNamespace = () => {\n const { currentNamespace } = this.props\n\n return (this.state[currentNamespace] || Map()).toObject()\n }\n\n _setStateForCurrentNamespace = (obj) => {\n const { currentNamespace } = this.props\n\n return this._setStateForNamespace(currentNamespace, obj)\n }\n\n _setStateForNamespace = (namespace, obj) => {\n const oldStateForNamespace = this.state[namespace] || Map()\n const newStateForNamespace = oldStateForNamespace.mergeDeep(obj)\n return this.setState({\n [namespace]: newStateForNamespace,\n })\n }\n\n _isCurrentUserInputSameAsExampleValue = () => {\n const { currentUserInputValue } = this.props\n\n const valueFromExample = this._getCurrentExampleValue()\n\n return valueFromExample === currentUserInputValue\n }\n\n _getValueForExample = (exampleKey, props) => {\n // props are accepted so that this can be used in UNSAFE_componentWillReceiveProps,\n // which has access to `nextProps`\n const { examples } = props || this.props\n return stringifyUnlessList(\n (examples || Map({})).getIn([exampleKey, \"value\"])\n )\n }\n\n _getCurrentExampleValue = (props) => {\n // props are accepted so that this can be used in UNSAFE_componentWillReceiveProps,\n // which has access to `nextProps`\n const { currentKey } = props || this.props\n return this._getValueForExample(currentKey, props || this.props)\n }\n\n _onExamplesSelect = (key, { isSyntheticChange } = {}, ...otherArgs) => {\n const { onSelect, updateValue, currentUserInputValue, userHasEditedBody } =\n this.props\n const { lastUserEditedValue } = this._getStateForCurrentNamespace()\n\n const valueFromExample = this._getValueForExample(key)\n\n if (key === \"__MODIFIED__VALUE__\") {\n updateValue(stringifyUnlessList(lastUserEditedValue))\n return this._setStateForCurrentNamespace({\n isModifiedValueSelected: true,\n })\n }\n\n if (typeof onSelect === \"function\") {\n onSelect(key, { isSyntheticChange }, ...otherArgs)\n }\n\n this._setStateForCurrentNamespace({\n lastDownstreamValue: valueFromExample,\n isModifiedValueSelected:\n (isSyntheticChange && userHasEditedBody) ||\n (!!currentUserInputValue && currentUserInputValue !== valueFromExample),\n })\n\n // we never want to send up value updates from synthetic changes\n if (isSyntheticChange) return\n\n if (typeof updateValue === \"function\") {\n updateValue(stringifyUnlessList(valueFromExample))\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n // update `lastUserEditedValue` as new currentUserInput values come in\n\n const {\n currentUserInputValue: newValue,\n examples,\n onSelect,\n userHasEditedBody,\n } = nextProps\n\n const { lastUserEditedValue, lastDownstreamValue } =\n this._getStateForCurrentNamespace()\n\n const valueFromCurrentExample = this._getValueForExample(\n nextProps.currentKey,\n nextProps\n )\n\n const examplesMatchingNewValue = examples.filter(\n (example) =>\n Map.isMap(example) &&\n (example.get(\"value\") === newValue ||\n // sometimes data is stored as a string (e.g. in Request Bodies), so\n // let's check against a stringified version of our example too\n stringify(example.get(\"value\")) === newValue)\n )\n\n if (examplesMatchingNewValue.size) {\n let key\n if (examplesMatchingNewValue.has(nextProps.currentKey)) {\n key = nextProps.currentKey\n } else {\n key = examplesMatchingNewValue.keySeq().first()\n }\n onSelect(key, {\n isSyntheticChange: true,\n })\n } else if (\n newValue !== this.props.currentUserInputValue && // value has changed\n newValue !== lastUserEditedValue && // value isn't already tracked\n newValue !== lastDownstreamValue // value isn't what we've seen on the other side\n ) {\n this.props.setRetainRequestBodyValueFlag(true)\n this._setStateForNamespace(nextProps.currentNamespace, {\n lastUserEditedValue: nextProps.currentUserInputValue,\n isModifiedValueSelected:\n userHasEditedBody || newValue !== valueFromCurrentExample,\n })\n }\n }\n\n render() {\n const {\n currentUserInputValue,\n examples,\n currentKey,\n getComponent,\n userHasEditedBody,\n } = this.props\n const {\n lastDownstreamValue,\n lastUserEditedValue,\n isModifiedValueSelected,\n } = this._getStateForCurrentNamespace()\n\n const ExamplesSelect = getComponent(\"ExamplesSelect\")\n\n return (\n \n )\n }\n}\n","import parseUrl from \"url-parse\"\nimport Im from \"immutable\"\nimport { btoa, generateCodeVerifier, createCodeChallenge } from \"core/utils\"\nimport { sanitizeUrl } from \"core/utils/url\"\n\nexport default function authorize ( { auth, authActions, errActions, configs, authConfigs={}, currentServer } ) {\n let { schema, scopes, name, clientId } = auth\n let flow = schema.get(\"flow\")\n let query = []\n\n switch (flow) {\n case \"password\":\n authActions.authorizePassword(auth)\n return\n\n case \"application\":\n authActions.authorizeApplication(auth)\n return\n\n case \"accessCode\":\n query.push(\"response_type=code\")\n break\n\n case \"implicit\":\n query.push(\"response_type=token\")\n break\n\n case \"clientCredentials\":\n case \"client_credentials\":\n // OAS3\n authActions.authorizeApplication(auth)\n return\n\n case \"authorizationCode\":\n case \"authorization_code\":\n // OAS3\n query.push(\"response_type=code\")\n break\n }\n\n if (typeof clientId === \"string\") {\n query.push(\"client_id=\" + encodeURIComponent(clientId))\n }\n\n let redirectUrl = configs.oauth2RedirectUrl\n\n // todo move to parser\n if (typeof redirectUrl === \"undefined\") {\n errActions.newAuthErr( {\n authId: name,\n source: \"validation\",\n level: \"error\",\n message: \"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed.\"\n })\n return\n }\n query.push(\"redirect_uri=\" + encodeURIComponent(redirectUrl))\n\n let scopesArray = []\n if (Array.isArray(scopes)) {\n scopesArray = scopes\n } else if (Im.List.isList(scopes)) {\n scopesArray = scopes.toArray()\n }\n\n if (scopesArray.length > 0) {\n let scopeSeparator = authConfigs.scopeSeparator || \" \"\n\n query.push(\"scope=\" + encodeURIComponent(scopesArray.join(scopeSeparator)))\n }\n\n let state = btoa(new Date())\n\n query.push(\"state=\" + encodeURIComponent(state))\n\n if (typeof authConfigs.realm !== \"undefined\") {\n query.push(\"realm=\" + encodeURIComponent(authConfigs.realm))\n }\n\n if ((flow === \"authorizationCode\" || flow === \"authorization_code\" || flow === \"accessCode\") && authConfigs.usePkceWithAuthorizationCodeGrant) {\n const codeVerifier = generateCodeVerifier()\n const codeChallenge = createCodeChallenge(codeVerifier)\n\n query.push(\"code_challenge=\" + codeChallenge)\n query.push(\"code_challenge_method=S256\")\n\n // storing the Code Verifier so it can be sent to the token endpoint\n // when exchanging the Authorization Code for an Access Token\n auth.codeVerifier = codeVerifier\n }\n\n let { additionalQueryStringParams } = authConfigs\n\n for (let key in additionalQueryStringParams) {\n if (typeof additionalQueryStringParams[key] !== \"undefined\") {\n query.push([key, additionalQueryStringParams[key]].map(encodeURIComponent).join(\"=\"))\n }\n }\n\n const authorizationUrl = schema.get(\"authorizationUrl\")\n let sanitizedAuthorizationUrl\n if (currentServer) {\n // OpenAPI 3\n sanitizedAuthorizationUrl = parseUrl(\n sanitizeUrl(authorizationUrl),\n currentServer,\n true\n ).toString()\n } else {\n sanitizedAuthorizationUrl = sanitizeUrl(authorizationUrl)\n }\n let url = [sanitizedAuthorizationUrl, query.join(\"&\")].join(\n typeof authorizationUrl === \"string\" && !authorizationUrl.includes(\"?\")\n ? \"?\"\n : \"&\"\n )\n\n // pass action authorizeOauth2 and authentication data through window\n // to authorize with oauth2\n\n let callback\n if (flow === \"implicit\") {\n callback = authActions.preAuthorizeImplicit\n } else if (authConfigs.useBasicAuthenticationWithAccessCodeGrant) {\n callback = authActions.authorizeAccessCodeWithBasicAuthentication\n } else {\n callback = authActions.authorizeAccessCodeWithFormParams\n }\n\n authActions.authPopup(url, {\n auth: auth,\n state: state,\n redirectUrl: redirectUrl,\n callback: callback,\n errCb: errActions.newAuthErr\n })\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport oauth2Authorize from \"core/oauth2-authorize\"\n\nexport default class Oauth2 extends React.Component {\n static propTypes = {\n name: PropTypes.string,\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n schema: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n errSelectors: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n errActions: PropTypes.object.isRequired,\n getConfigs: PropTypes.any\n }\n\n constructor(props, context) {\n super(props, context)\n let { name, schema, authorized, authSelectors } = this.props\n let auth = authorized && authorized.get(name)\n let authConfigs = authSelectors.getConfigs() || {}\n let username = auth && auth.get(\"username\") || \"\"\n let clientId = auth && auth.get(\"clientId\") || authConfigs.clientId || \"\"\n let clientSecret = auth && auth.get(\"clientSecret\") || authConfigs.clientSecret || \"\"\n let passwordType = auth && auth.get(\"passwordType\") || \"basic\"\n let scopes = auth && auth.get(\"scopes\") || authConfigs.scopes || []\n if (typeof scopes === \"string\") {\n scopes = scopes.split(authConfigs.scopeSeparator || \" \")\n }\n\n this.state = {\n appName: authConfigs.appName,\n name: name,\n schema: schema,\n scopes: scopes,\n clientId: clientId,\n clientSecret: clientSecret,\n username: username,\n password: \"\",\n passwordType: passwordType\n }\n }\n\n close = (e) => {\n e.preventDefault()\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n authorize =() => {\n let { authActions, errActions, getConfigs, authSelectors, oas3Selectors } = this.props\n let configs = getConfigs()\n let authConfigs = authSelectors.getConfigs()\n\n errActions.clear({authId: name,type: \"auth\", source: \"auth\"})\n oauth2Authorize({\n auth: this.state,\n currentServer: oas3Selectors.serverEffectiveValue(oas3Selectors.selectedServer()),\n authActions,\n errActions,\n configs,\n authConfigs\n })\n }\n\n onScopeChange =(e) => {\n let { target } = e\n let { checked } = target\n let scope = target.dataset.value\n\n if ( checked && this.state.scopes.indexOf(scope) === -1 ) {\n let newScopes = this.state.scopes.concat([scope])\n this.setState({ scopes: newScopes })\n } else if ( !checked && this.state.scopes.indexOf(scope) > -1) {\n this.setState({ scopes: this.state.scopes.filter((val) => val !== scope) })\n }\n }\n\n onInputChange =(e) => {\n let { target : { dataset : { name }, value } } = e\n let state = {\n [name]: value\n }\n\n this.setState(state)\n }\n\n selectScopes =(e) => {\n if (e.target.dataset.all) {\n this.setState({\n scopes: Array.from((this.props.schema.get(\"allowedScopes\") || this.props.schema.get(\"scopes\")).keys())\n })\n } else {\n this.setState({ scopes: [] })\n }\n }\n\n logout =(e) => {\n e.preventDefault()\n let { authActions, errActions, name } = this.props\n\n errActions.clear({authId: name, type: \"auth\", source: \"auth\"})\n authActions.logoutWithPersistOption([ name ])\n }\n\n render() {\n let {\n schema, getComponent, authSelectors, errSelectors, name, specSelectors\n } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const Button = getComponent(\"Button\")\n const AuthError = getComponent(\"authError\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n const InitializedInput = getComponent(\"InitializedInput\")\n\n const { isOAS3 } = specSelectors\n\n let oidcUrl = isOAS3() ? schema.get(\"openIdConnectUrl\") : null\n\n // Auth type consts\n const AUTH_FLOW_IMPLICIT = \"implicit\"\n const AUTH_FLOW_PASSWORD = \"password\"\n const AUTH_FLOW_ACCESS_CODE = isOAS3() ? (oidcUrl ? \"authorization_code\" : \"authorizationCode\") : \"accessCode\"\n const AUTH_FLOW_APPLICATION = isOAS3() ? (oidcUrl ? \"client_credentials\" : \"clientCredentials\") : \"application\"\n\n const path = authSelectors.selectAuthPath(name)\n\n let authConfigs = authSelectors.getConfigs() || {}\n let isPkceCodeGrant = !!authConfigs.usePkceWithAuthorizationCodeGrant\n\n let flow = schema.get(\"flow\")\n let flowToDisplay = flow === AUTH_FLOW_ACCESS_CODE && isPkceCodeGrant ? flow + \" with PKCE\" : flow\n let scopes = schema.get(\"allowedScopes\") || schema.get(\"scopes\")\n let authorizedAuth = authSelectors.authorized().get(name)\n let isAuthorized = !!authorizedAuth\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n let isValid = !errors.filter( err => err.get(\"source\") === \"validation\").size\n let description = schema.get(\"description\")\n\n return (\n
\n

{name} (OAuth2, { flowToDisplay })

\n { !this.state.appName ? null :
Application: { this.state.appName }
}\n { description && }\n\n { isAuthorized &&
Authorized
}\n\n { oidcUrl &&

OpenID Connect URL: { oidcUrl }

}\n { ( flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE ) &&

Authorization URL: { schema.get(\"authorizationUrl\") }

}\n { ( flow === AUTH_FLOW_PASSWORD || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_APPLICATION ) &&

Token URL: { schema.get(\"tokenUrl\") }

}\n

Flow: { flowToDisplay }

\n\n {\n flow !== AUTH_FLOW_PASSWORD ? null\n : \n \n \n {\n isAuthorized ? { this.state.username } \n : \n \n \n }\n \n {\n\n }\n \n \n {\n isAuthorized ? ****** \n : \n \n \n }\n \n \n \n {\n isAuthorized ? { this.state.passwordType } \n : \n \n \n }\n \n \n }\n {\n ( flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD ) &&\n ( !isAuthorized || isAuthorized && this.state.clientId) && \n \n {\n isAuthorized ? ****** \n : \n \n \n }\n \n }\n\n {\n ( (flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD) && \n \n {\n isAuthorized ? ****** \n : \n \n \n }\n\n \n )}\n\n {\n !isAuthorized && scopes && scopes.size ?
\n

\n Scopes:\n select all\n select none\n

\n { scopes.map((description, name) => {\n return (\n \n
\n \n \n
\n
\n )\n }).toArray()\n }\n
: null\n }\n\n {\n errors.valueSeq().map( (error, key) => {\n return \n } )\n }\n
\n { isValid &&\n ( isAuthorized ? \n : \n )\n }\n \n
\n\n
\n )\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Clear extends Component {\n\n onClick =() => {\n let { specActions, path, method } = this.props\n specActions.clearResponse( path, method )\n specActions.clearRequest( path, method )\n }\n\n render(){\n return (\n \n )\n }\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst Headers = ( { headers } )=>{\n return (\n
\n
Response headers
\n
{headers}
\n
)\n}\nHeaders.propTypes = {\n headers: PropTypes.array.isRequired\n}\n\nconst Duration = ( { duration } ) => {\n return (\n
\n
Request duration
\n
{duration} ms
\n
\n )\n}\nDuration.propTypes = {\n duration: PropTypes.number.isRequired\n}\n\n\nexport default class LiveResponse extends React.Component {\n static propTypes = {\n response: ImPropTypes.map,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n displayRequestDuration: PropTypes.bool.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired\n }\n\n shouldComponentUpdate(nextProps) {\n // BUG: props.response is always coming back as a new Immutable instance\n // same issue as responses.jsx (tryItOutResponse)\n return this.props.response !== nextProps.response\n || this.props.path !== nextProps.path\n || this.props.method !== nextProps.method\n || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n }\n\n render() {\n const { response, getComponent, getConfigs, displayRequestDuration, specSelectors, path, method } = this.props\n const { showMutatedRequest, requestSnippetsEnabled } = getConfigs()\n\n const curlRequest = showMutatedRequest ? specSelectors.mutatedRequestFor(path, method) : specSelectors.requestFor(path, method)\n const status = response.get(\"status\")\n const url = curlRequest.get(\"url\")\n const headers = response.get(\"headers\").toJS()\n const notDocumented = response.get(\"notDocumented\")\n const isError = response.get(\"error\")\n const body = response.get(\"text\")\n const duration = response.get(\"duration\")\n const headersKeys = Object.keys(headers)\n const contentType = headers[\"content-type\"] || headers[\"Content-Type\"]\n\n const ResponseBody = getComponent(\"responseBody\")\n const returnObject = headersKeys.map(key => {\n var joinedHeaders = Array.isArray(headers[key]) ? headers[key].join() : headers[key]\n return {key}: {joinedHeaders} \n })\n const hasHeaders = returnObject.length !== 0\n const Markdown = getComponent(\"Markdown\", true)\n const RequestSnippets = getComponent(\"RequestSnippets\", true)\n const Curl = getComponent(\"curl\", true)\n\n return (\n
\n { curlRequest && requestSnippetsEnabled \n ? \n : \n }\n { url &&
\n
\n

Request URL

\n
{url}
\n
\n
\n }\n

Server response

\n \n \n \n \n \n \n \n \n \n \n \n \n \n
CodeDetails
\n { status }\n {\n notDocumented ?
\n Undocumented \n
\n : null\n }\n
\n {\n isError ? \n : null\n }\n {\n body ? \n : null\n }\n {\n hasHeaders ? : null\n }\n {\n displayRequestDuration && duration ? : null\n }\n
\n
\n )\n }\n}\n","import React from \"react\"\nimport URL from \"url-parse\"\n\nimport PropTypes from \"prop-types\"\nimport { requiresValidationURL } from \"core/utils\"\nimport { sanitizeUrl } from \"core/utils/url\"\nimport win from \"core/window\"\n\nexport default class OnlineValidatorBadge extends React.Component {\n static propTypes = {\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired\n }\n\n constructor(props, context) {\n super(props, context)\n let { getConfigs } = props\n let { validatorUrl } = getConfigs()\n this.state = {\n url: this.getDefinitionUrl(),\n validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator/" : validatorUrl\n }\n }\n\n getDefinitionUrl = () => {\n // TODO: test this behavior by stubbing `window.location` in an Enzyme/JSDom env\n let { specSelectors } = this.props\n\n const urlObject = new URL(specSelectors.url(), win.location)\n return urlObject.toString()\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n let { getConfigs } = nextProps\n let { validatorUrl } = getConfigs()\n\n this.setState({\n url: this.getDefinitionUrl(),\n validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator/" : validatorUrl\n })\n }\n\n render() {\n let { getConfigs } = this.props\n let { spec } = getConfigs()\n\n let sanitizedValidatorUrl = sanitizeUrl(this.state.validatorUrl)\n\n if ( typeof spec === \"object\" && Object.keys(spec).length) return null\n\n if (!this.state.url || !requiresValidationURL(this.state.validatorUrl)\n || !requiresValidationURL(this.state.url)) {\n return null\n }\n\n return (\n \n \n \n )\n }\n}\n\n\nclass ValidatorImage extends React.Component {\n static propTypes = {\n src: PropTypes.string,\n alt: PropTypes.string\n }\n\n constructor(props) {\n super(props)\n this.state = {\n loaded: false,\n error: false\n }\n }\n\n componentDidMount() {\n const img = new Image()\n img.onload = () => {\n this.setState({\n loaded: true\n })\n }\n img.onerror = () => {\n this.setState({\n error: true\n })\n }\n img.src = this.props.src\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.src !== this.props.src) {\n const img = new Image()\n img.onload = () => {\n this.setState({\n loaded: true\n })\n }\n img.onerror = () => {\n this.setState({\n error: true\n })\n }\n img.src = nextProps.src\n }\n }\n\n render() {\n if (this.state.error) {\n return {\"Error\"}\n } else if (!this.state.loaded) {\n return null\n }\n return {this.props.alt}\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nexport default class Operations extends React.Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n oas3Selectors: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired,\n fn: PropTypes.func.isRequired\n }\n\n render() {\n let {\n specSelectors,\n } = this.props\n\n const taggedOps = specSelectors.taggedOperations()\n\n if(taggedOps.size === 0) {\n return

No operations defined in spec!

\n }\n\n return (\n
\n { taggedOps.map(this.renderOperationTag).toArray() }\n { taggedOps.size < 1 ?

No operations defined in spec!

: null }\n
\n )\n }\n\n renderOperationTag = (tagObj, tag) => {\n const {\n specSelectors,\n getComponent,\n oas3Selectors,\n layoutSelectors,\n layoutActions,\n getConfigs,\n } = this.props\n const validOperationMethods = specSelectors.validOperationMethods()\n const OperationContainer = getComponent(\"OperationContainer\", true)\n const OperationTag = getComponent(\"OperationTag\")\n const operations = tagObj.get(\"operations\")\n return (\n \n
\n {\n operations.map(op => {\n const path = op.get(\"path\")\n const method = op.get(\"method\")\n const specPath = Im.List([\"paths\", path, method])\n\n if (validOperationMethods.indexOf(method) === -1) {\n return null\n }\n\n return (\n \n )\n }).toArray()\n }\n
\n \n )\n }\n\n}\n\nOperations.propTypes = {\n layoutActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport Im from \"immutable\"\nimport { createDeepLinkPath, escapeDeepLinkPath, isFunc } from \"core/utils\"\nimport { safeBuildUrl, sanitizeUrl } from \"core/utils/url\"\n\n/* eslint-disable react/jsx-no-bind */\n\nexport default class OperationTag extends React.Component {\n\n static defaultProps = {\n tagObj: Im.fromJS({}),\n tag: \"\",\n }\n\n static propTypes = {\n tagObj: ImPropTypes.map.isRequired,\n tag: PropTypes.string.isRequired,\n\n oas3Selectors: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n\n getConfigs: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n\n specUrl: PropTypes.string.isRequired,\n\n children: PropTypes.element,\n }\n\n render() {\n const {\n tagObj,\n tag,\n children,\n oas3Selectors,\n layoutSelectors,\n layoutActions,\n getConfigs,\n getComponent,\n specUrl,\n } = this.props\n\n let {\n docExpansion,\n deepLinking,\n } = getConfigs()\n\n const Collapse = getComponent(\"Collapse\")\n const Markdown = getComponent(\"Markdown\", true)\n const DeepLink = getComponent(\"DeepLink\")\n const Link = getComponent(\"Link\")\n const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n let tagDescription = tagObj.getIn([\"tagDetails\", \"description\"], null)\n let tagExternalDocsDescription = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"description\"])\n let rawTagExternalDocsUrl = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"url\"])\n let tagExternalDocsUrl\n if (isFunc(oas3Selectors) && isFunc(oas3Selectors.selectedServer)) {\n tagExternalDocsUrl = safeBuildUrl(rawTagExternalDocsUrl, specUrl, { selectedServer: oas3Selectors.selectedServer() })\n } else {\n tagExternalDocsUrl = rawTagExternalDocsUrl\n }\n\n let isShownKey = [\"operations-tag\", tag]\n let showTag = layoutSelectors.isShown(isShownKey, docExpansion === \"full\" || docExpansion === \"list\")\n\n return (\n
\n\n layoutActions.show(isShownKey, !showTag)}\n className={!tagDescription ? \"opblock-tag no-desc\" : \"opblock-tag\"}\n id={isShownKey.map(v => escapeDeepLinkPath(v)).join(\"-\")}\n data-tag={tag}\n data-is-open={showTag}\n >\n \n {!tagDescription ? :\n \n \n \n }\n\n {!tagExternalDocsUrl ? null :\n
\n \n e.stopPropagation()}\n target=\"_blank\"\n >{tagExternalDocsDescription || tagExternalDocsUrl}\n \n
\n }\n\n\n layoutActions.show(isShownKey, !showTag)}>\n\n {showTag ? : }\n \n \n\n \n {children}\n \n
\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getExtensions, escapeDeepLinkPath, getList } from \"core/utils\"\nimport { safeBuildUrl, sanitizeUrl } from \"core/utils/url\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nimport RollingLoadSVG from \"core/assets/rolling-load.svg\"\n\nexport default class Operation extends PureComponent {\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operation: PropTypes.instanceOf(Iterable).isRequired,\n summary: PropTypes.string,\n response: PropTypes.instanceOf(Iterable),\n request: PropTypes.instanceOf(Iterable),\n\n toggleShown: PropTypes.func.isRequired,\n onTryoutClick: PropTypes.func.isRequired,\n onResetClick: PropTypes.func.isRequired,\n onCancelClick: PropTypes.func.isRequired,\n onExecute: PropTypes.func.isRequired,\n\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n authSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired\n }\n\n static defaultProps = {\n operation: null,\n response: null,\n request: null,\n specPath: List(),\n summary: \"\"\n }\n\n render() {\n let {\n specPath,\n response,\n request,\n toggleShown,\n onTryoutClick,\n onResetClick,\n onCancelClick,\n onExecute,\n fn,\n getComponent,\n getConfigs,\n specActions,\n specSelectors,\n authActions,\n authSelectors,\n oas3Actions,\n oas3Selectors\n } = this.props\n let operationProps = this.props.operation\n\n let {\n deprecated,\n isShown,\n path,\n method,\n op,\n tag,\n operationId,\n allowTryItOut,\n displayRequestDuration,\n tryItOutEnabled,\n executeInProgress\n } = operationProps.toJS()\n\n let {\n description,\n externalDocs,\n schemes\n } = op\n\n const externalDocsUrl = externalDocs ? safeBuildUrl(externalDocs.url, specSelectors.url(), { selectedServer: oas3Selectors.selectedServer() }) : \"\"\n let operation = operationProps.getIn([\"op\"])\n let responses = operation.get(\"responses\")\n let parameters = getList(operation, [\"parameters\"])\n let operationScheme = specSelectors.operationScheme(path, method)\n let isShownKey = [\"operations\", tag, operationId]\n let extensions = getExtensions(operation)\n\n const Responses = getComponent(\"responses\")\n const Parameters = getComponent( \"parameters\" )\n const Execute = getComponent( \"execute\" )\n const Clear = getComponent( \"clear\" )\n const Collapse = getComponent( \"Collapse\" )\n const Markdown = getComponent(\"Markdown\", true)\n const Schemes = getComponent( \"schemes\" )\n const OperationServers = getComponent( \"OperationServers\" )\n const OperationExt = getComponent( \"OperationExt\" )\n const OperationSummary = getComponent( \"OperationSummary\" )\n const Link = getComponent( \"Link\" )\n\n const { showExtensions } = getConfigs()\n\n // Merge in Live Response\n if(responses && response && response.size > 0) {\n let notDocumented = !responses.get(String(response.get(\"status\"))) && !responses.get(\"default\")\n response = response.set(\"notDocumented\", notDocumented)\n }\n\n let onChangeKey = [ path, method ] // Used to add values to _this_ operation ( indexed by path and method )\n\n const validationErrors = specSelectors.validationErrors([path, method])\n\n return (\n
\n \n \n
\n { (operation && operation.size) || operation === null ? null :\n \n }\n { deprecated &&

Warning: Deprecated

}\n { description &&\n
\n
\n \n
\n
\n }\n {\n externalDocsUrl ?\n
\n

Find more details

\n
\n {externalDocs.description &&\n \n \n \n }\n {externalDocsUrl}\n
\n
: null\n }\n\n { !operation || !operation.size ? null :\n \n }\n\n { !tryItOutEnabled ? null :\n \n }\n\n {!tryItOutEnabled || !allowTryItOut ? null : schemes && schemes.size ?
\n \n
: null\n }\n\n { !tryItOutEnabled || !allowTryItOut || validationErrors.length <= 0 ? null :
\n Please correct the following validation errors and try again.\n
    \n { validationErrors.map((error, index) =>
  • { error }
  • ) }\n
\n
\n }\n\n
\n { !tryItOutEnabled || !allowTryItOut ? null :\n\n \n }\n\n { (!tryItOutEnabled || !response || !allowTryItOut) ? null :\n \n }\n
\n\n {executeInProgress ?
: null}\n\n { !responses ? null :\n \n }\n\n { !showExtensions || !extensions.size ? null :\n \n }\n
\n
\n
\n )\n }\n\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { opId } from \"swagger-client/es/helpers\"\nimport { Iterable, fromJS, Map } from \"immutable\"\n\nexport default class OperationContainer extends PureComponent {\n constructor(props, context) {\n super(props, context)\n\n const { tryItOutEnabled } = props.getConfigs()\n\n this.state = {\n tryItOutEnabled,\n executeInProgress: false\n }\n }\n\n static propTypes = {\n op: PropTypes.instanceOf(Iterable).isRequired,\n tag: PropTypes.string.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n operationId: PropTypes.string.isRequired,\n showSummary: PropTypes.bool.isRequired,\n isShown: PropTypes.bool.isRequired,\n jumpToKey: PropTypes.string.isRequired,\n allowTryItOut: PropTypes.bool,\n displayOperationId: PropTypes.bool,\n isAuthorized: PropTypes.bool,\n displayRequestDuration: PropTypes.bool,\n response: PropTypes.instanceOf(Iterable),\n request: PropTypes.instanceOf(Iterable),\n security: PropTypes.instanceOf(Iterable),\n isDeepLinkingEnabled: PropTypes.bool.isRequired,\n specPath: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n oas3Actions: PropTypes.object,\n oas3Selectors: PropTypes.object,\n authSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired\n }\n\n static defaultProps = {\n showSummary: true,\n response: null,\n allowTryItOut: true,\n displayOperationId: false,\n displayRequestDuration: false\n }\n\n mapStateToProps(nextState, props) {\n const { op, layoutSelectors, getConfigs } = props\n const { docExpansion, deepLinking, displayOperationId, displayRequestDuration, supportedSubmitMethods } = getConfigs()\n const showSummary = layoutSelectors.showSummary()\n const operationId = op.getIn([\"operation\", \"__originalOperationId\"]) || op.getIn([\"operation\", \"operationId\"]) || opId(op.get(\"operation\"), props.path, props.method) || op.get(\"id\")\n const isShownKey = [\"operations\", props.tag, operationId]\n const allowTryItOut = supportedSubmitMethods.indexOf(props.method) >= 0 && (typeof props.allowTryItOut === \"undefined\" ?\n props.specSelectors.allowTryItOutFor(props.path, props.method) : props.allowTryItOut)\n const security = op.getIn([\"operation\", \"security\"]) || props.specSelectors.security()\n\n return {\n operationId,\n isDeepLinkingEnabled: deepLinking,\n showSummary,\n displayOperationId,\n displayRequestDuration,\n allowTryItOut,\n security,\n isAuthorized: props.authSelectors.isAuthorized(security),\n isShown: layoutSelectors.isShown(isShownKey, docExpansion === \"full\" ),\n jumpToKey: `paths.${props.path}.${props.method}`,\n response: props.specSelectors.responseFor(props.path, props.method),\n request: props.specSelectors.requestFor(props.path, props.method)\n }\n }\n\n componentDidMount() {\n const { isShown } = this.props\n const resolvedSubtree = this.getResolvedSubtree()\n\n if(isShown && resolvedSubtree === undefined) {\n this.requestResolvedSubtree()\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { response, isShown } = nextProps\n const resolvedSubtree = this.getResolvedSubtree()\n\n if(response !== this.props.response) {\n this.setState({ executeInProgress: false })\n }\n\n if(isShown && resolvedSubtree === undefined) {\n this.requestResolvedSubtree()\n }\n }\n\n toggleShown =() => {\n let { layoutActions, tag, operationId, isShown } = this.props\n const resolvedSubtree = this.getResolvedSubtree()\n if(!isShown && resolvedSubtree === undefined) {\n // transitioning from collapsed to expanded\n this.requestResolvedSubtree()\n }\n layoutActions.show([\"operations\", tag, operationId], !isShown)\n }\n\n onCancelClick=() => {\n this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n }\n\n onTryoutClick =() => {\n this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n }\n\n onResetClick = (pathMethod) => {\n const defaultRequestBodyValue = this.props.oas3Selectors.selectDefaultRequestBodyValue(...pathMethod)\n this.props.oas3Actions.setRequestBodyValue({ value: defaultRequestBodyValue, pathMethod })\n }\n\n onExecute = () => {\n this.setState({ executeInProgress: true })\n }\n\n getResolvedSubtree = () => {\n const {\n specSelectors,\n path,\n method,\n specPath\n } = this.props\n\n if(specPath) {\n return specSelectors.specResolvedSubtree(specPath.toJS())\n }\n\n return specSelectors.specResolvedSubtree([\"paths\", path, method])\n }\n\n requestResolvedSubtree = () => {\n const {\n specActions,\n path,\n method,\n specPath\n } = this.props\n\n\n if(specPath) {\n return specActions.requestResolvedSubtree(specPath.toJS())\n }\n\n return specActions.requestResolvedSubtree([\"paths\", path, method])\n }\n\n render() {\n let {\n op: unresolvedOp,\n tag,\n path,\n method,\n security,\n isAuthorized,\n operationId,\n showSummary,\n isShown,\n jumpToKey,\n allowTryItOut,\n response,\n request,\n displayOperationId,\n displayRequestDuration,\n isDeepLinkingEnabled,\n specPath,\n specSelectors,\n specActions,\n getComponent,\n getConfigs,\n layoutSelectors,\n layoutActions,\n authActions,\n authSelectors,\n oas3Actions,\n oas3Selectors,\n fn\n } = this.props\n\n const Operation = getComponent( \"operation\" )\n\n const resolvedSubtree = this.getResolvedSubtree() || Map()\n\n const operationProps = fromJS({\n op: resolvedSubtree,\n tag,\n path,\n summary: unresolvedOp.getIn([\"operation\", \"summary\"]) || \"\",\n deprecated: resolvedSubtree.get(\"deprecated\") || unresolvedOp.getIn([\"operation\", \"deprecated\"]) || false,\n method,\n security,\n isAuthorized,\n operationId,\n originalOperationId: resolvedSubtree.getIn([\"operation\", \"__originalOperationId\"]),\n showSummary,\n isShown,\n jumpToKey,\n allowTryItOut,\n request,\n displayOperationId,\n displayRequestDuration,\n isDeepLinkingEnabled,\n executeInProgress: this.state.executeInProgress,\n tryItOutEnabled: this.state.tryItOutEnabled\n })\n\n return (\n \n )\n }\n\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/toString\");","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport toString from \"lodash/toString\"\n\n\nexport default class OperationSummary extends PureComponent {\n\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n isShown: PropTypes.bool.isRequired,\n toggleShown: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n authSelectors: PropTypes.object,\n }\n\n static defaultProps = {\n operationProps: null,\n specPath: List(),\n summary: \"\"\n }\n\n render() {\n\n let {\n isShown,\n toggleShown,\n getComponent,\n authActions,\n authSelectors,\n operationProps,\n specPath,\n } = this.props\n\n let {\n summary,\n isAuthorized,\n method,\n op,\n showSummary,\n path,\n operationId,\n originalOperationId,\n displayOperationId,\n } = operationProps.toJS()\n\n let {\n summary: resolvedSummary,\n } = op\n\n let security = operationProps.get(\"security\")\n\n const AuthorizeOperationBtn = getComponent(\"authorizeOperationBtn\", true)\n const OperationSummaryMethod = getComponent(\"OperationSummaryMethod\")\n const OperationSummaryPath = getComponent(\"OperationSummaryPath\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const CopyToClipboardBtn = getComponent(\"CopyToClipboardBtn\", true)\n const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n const hasSecurity = security && !!security.count()\n const securityIsOptional = hasSecurity && security.size === 1 && security.first().isEmpty()\n const allowAnonymous = !hasSecurity || securityIsOptional\n return (\n
\n \n \n
\n \n\n {!showSummary ? null :\n
\n {toString(resolvedSummary || summary)}\n
\n }\n
\n\n {displayOperationId && (originalOperationId || operationId) ? {originalOperationId || operationId} : null}\n \n \n {\n allowAnonymous ? null :\n {\n const applicableDefinitions = authSelectors.definitionsForRequirements(security)\n authActions.showDefinitions(applicableDefinitions)\n }}\n />\n }\n {/* TODO: use wrapComponents here, swagger-ui doesn't care about jumpToPath */}\n \n {isShown ? : }\n \n
\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\n\nexport default class OperationSummaryMethod extends PureComponent {\n\n static propTypes = {\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n method: PropTypes.string.isRequired,\n }\n\n static defaultProps = {\n operationProps: null,\n }\n render() {\n\n let {\n method,\n } = this.props\n\n return (\n {method.toUpperCase()}\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\nimport { createDeepLinkPath } from \"core/utils\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class OperationSummaryPath extends PureComponent{\n\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render(){\n let {\n getComponent,\n operationProps,\n } = this.props\n\n\n let {\n deprecated,\n isShown,\n path,\n tag,\n operationId,\n isDeepLinkingEnabled,\n } = operationProps.toJS()\n\n /**\n * Add word-break elements between each segment, before the slash\n * to allow browsers an opportunity to break long paths into sensible segments.\n */\n const pathParts = path.split(/(?=\\/)/g)\n for (let i = 1; i < pathParts.length; i += 2) {\n pathParts.splice(i, 0, )\n }\n\n const DeepLink = getComponent( \"DeepLink\" )\n\n return(\n \n \n \n\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExt = ({ extensions, getComponent }) => {\n let OperationExtRow = getComponent(\"OperationExtRow\")\n return (\n
\n
\n

Extensions

\n
\n
\n\n \n \n \n \n \n \n \n \n {\n extensions.entrySeq().map(([k, v]) => )\n }\n \n
FieldValue
\n
\n
\n )\n}\nOperationExt.propTypes = {\n extensions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n}\n\nexport default OperationExt\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExtRow = ({ xKey, xVal }) => {\n const xNormalizedValue = !xVal ? null : xVal.toJS ? xVal.toJS() : xVal\n\n return (\n { xKey }\n { JSON.stringify(xNormalizedValue) }\n )\n}\nOperationExtRow.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default OperationExtRow\n","/**\n * Replace invalid characters from a string to create an html-ready ID\n *\n * @param {string} id A string that may contain invalid characters for the HTML ID attribute\n * @param {string} [replacement=_] The string to replace invalid characters with; \"_\" by default\n * @return {string} Information about the parameter schema\n */\nexport default function createHtmlReadyId(id, replacement = \"_\") {\n return id.replace(/[^\\w-]/g, replacement)\n}\n","import React from \"react\"\nimport { fromJS, Iterable } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { defaultStatusCode, getAcceptControllingResponse } from \"core/utils\"\nimport createHtmlReadyId from \"core/utils/create-html-ready-id\"\n\nexport default class Responses extends React.Component {\n static propTypes = {\n tryItOutResponse: PropTypes.instanceOf(Iterable),\n responses: PropTypes.instanceOf(Iterable).isRequired,\n produces: PropTypes.instanceOf(Iterable),\n producesValue: PropTypes.any,\n displayRequestDuration: PropTypes.bool.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n fn: PropTypes.object.isRequired\n }\n\n static defaultProps = {\n tryItOutResponse: null,\n produces: fromJS([\"application/json\"]),\n displayRequestDuration: false\n }\n\n // These performance-enhancing checks were disabled as part of Multiple Examples\n // because they were causing data-consistency issues\n //\n // shouldComponentUpdate(nextProps) {\n // // BUG: props.tryItOutResponse is always coming back as a new Immutable instance\n // let render = this.props.tryItOutResponse !== nextProps.tryItOutResponse\n // || this.props.responses !== nextProps.responses\n // || this.props.produces !== nextProps.produces\n // || this.props.producesValue !== nextProps.producesValue\n // || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n // || this.props.path !== nextProps.path\n // || this.props.method !== nextProps.method\n // return render\n // }\n\n\tonChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n onResponseContentTypeChange = ({ controlsAcceptHeader, value }) => {\n const { oas3Actions, path, method } = this.props\n if(controlsAcceptHeader) {\n oas3Actions.setResponseContentType({\n value,\n path,\n method\n })\n }\n }\n\n render() {\n let {\n responses,\n tryItOutResponse,\n getComponent,\n getConfigs,\n specSelectors,\n fn,\n producesValue,\n displayRequestDuration,\n specPath,\n path,\n method,\n oas3Selectors,\n oas3Actions,\n } = this.props\n let defaultCode = defaultStatusCode( responses )\n\n const ContentType = getComponent( \"contentType\" )\n const LiveResponse = getComponent( \"liveResponse\" )\n const Response = getComponent( \"response\" )\n\n let produces = this.props.produces && this.props.produces.size ? this.props.produces : Responses.defaultProps.produces\n\n const isSpecOAS3 = specSelectors.isOAS3()\n\n const acceptControllingResponse = isSpecOAS3 ?\n getAcceptControllingResponse(responses) : null\n\n const regionId = createHtmlReadyId(`${method}${path}_responses`)\n const controlId = `${regionId}_select`\n\n return (\n
\n
\n

Responses

\n { specSelectors.isOAS3() ? null : }\n
\n
\n {\n !tryItOutResponse ? null\n :
\n \n

Responses

\n
\n\n }\n\n \n \n \n \n \n { specSelectors.isOAS3() ? : null }\n \n \n \n {\n responses.entrySeq().map( ([code, response]) => {\n\n let className = tryItOutResponse && tryItOutResponse.get(\"status\") == code ? \"response_current\" : \"\"\n return (\n \n )\n }).toArray()\n }\n \n
CodeDescriptionLinks
\n
\n
\n )\n }\n}\n","export function canJsonParse(str) {\n try {\n let testValueForJson = JSON.parse(str)\n return testValueForJson ? true : false\n } catch (e) {\n // exception: string is not valid json\n return null\n }\n}\n\nexport function getKnownSyntaxHighlighterLanguage(val) {\n // to start, only check for json. can expand as needed in future\n const isValidJson = canJsonParse(val)\n return isValidJson ? \"json\" : null\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport cx from \"classnames\"\nimport { fromJS, Seq, Iterable, List, Map } from \"immutable\"\nimport { getExtensions, fromJSOrdered, stringify } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\n\n\nconst getExampleComponent = ( sampleResponse, HighlightCode ) => {\n if (sampleResponse == null) return null\n\n const testValueForJson = getKnownSyntaxHighlighterLanguage(sampleResponse)\n const language = testValueForJson ? \"json\" : null\n\n return (\n
\n {stringify(sampleResponse)}\n
\n )\n}\n\nexport default class Response extends React.Component {\n constructor(props, context) {\n super(props, context)\n\n this.state = {\n responseContentType: \"\",\n }\n }\n\n static propTypes = {\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n code: PropTypes.string.isRequired,\n response: PropTypes.instanceOf(Iterable),\n className: PropTypes.string,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n fn: PropTypes.object.isRequired,\n contentType: PropTypes.string,\n activeExamplesKey: PropTypes.string,\n controlsAcceptHeader: PropTypes.bool,\n onContentTypeChange: PropTypes.func\n }\n\n static defaultProps = {\n response: fromJS({}),\n onContentTypeChange: () => {}\n }\n\n _onContentTypeChange = (value) => {\n const { onContentTypeChange, controlsAcceptHeader } = this.props\n this.setState({ responseContentType: value })\n onContentTypeChange({\n value: value,\n controlsAcceptHeader\n })\n }\n\n getTargetExamplesKey = () => {\n const { response, contentType, activeExamplesKey } = this.props\n\n const activeContentType = this.state.responseContentType || contentType\n const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n const firstExamplesKey = examplesForMediaType.keySeq().first()\n return activeExamplesKey || firstExamplesKey\n }\n\n render() {\n let {\n path,\n method,\n code,\n response,\n className,\n specPath,\n fn,\n getComponent,\n getConfigs,\n specSelectors,\n contentType,\n controlsAcceptHeader,\n oas3Actions,\n } = this.props\n\n let { inferSchema, getSampleSchema } = fn\n let isOAS3 = specSelectors.isOAS3()\n const { showExtensions } = getConfigs()\n\n let extensions = showExtensions ? getExtensions(response) : null\n let headers = response.get(\"headers\")\n let links = response.get(\"links\")\n const ResponseExtension = getComponent(\"ResponseExtension\")\n const Headers = getComponent(\"headers\")\n const HighlightCode = getComponent(\"HighlightCode\", true)\n const ModelExample = getComponent(\"modelExample\")\n const Markdown = getComponent(\"Markdown\", true)\n const OperationLink = getComponent(\"operationLink\")\n const ContentType = getComponent(\"contentType\")\n const ExamplesSelect = getComponent(\"ExamplesSelect\")\n const Example = getComponent(\"Example\")\n\n\n var schema, specPathWithPossibleSchema\n\n const activeContentType = this.state.responseContentType || contentType\n const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n // Goal: find a schema value for `schema`\n if(isOAS3) {\n const oas3SchemaForContentType = activeMediaType.get(\"schema\")\n\n schema = oas3SchemaForContentType ? inferSchema(oas3SchemaForContentType.toJS()) : null\n specPathWithPossibleSchema = oas3SchemaForContentType ? List([\"content\", this.state.responseContentType, \"schema\"]) : specPath\n } else {\n schema = response.get(\"schema\")\n specPathWithPossibleSchema = response.has(\"schema\") ? specPath.push(\"schema\") : specPath\n }\n\n let mediaTypeExample\n let shouldOverrideSchemaExample = false\n let sampleSchema\n let sampleGenConfig = {\n includeReadOnly: true\n }\n\n // Goal: find an example value for `sampleResponse`\n if(isOAS3) {\n sampleSchema = activeMediaType.get(\"schema\")?.toJS()\n if(Map.isMap(examplesForMediaType) && !examplesForMediaType.isEmpty()) {\n const targetExamplesKey = this.getTargetExamplesKey()\n const targetExample = examplesForMediaType\n .get(targetExamplesKey, Map({}))\n const getMediaTypeExample = (targetExample) =>\n Map.isMap(targetExample) \n ? targetExample.get(\"value\") \n : undefined\n mediaTypeExample = getMediaTypeExample(targetExample)\n if(mediaTypeExample === undefined) {\n mediaTypeExample = getMediaTypeExample(examplesForMediaType.values().next().value)\n }\n shouldOverrideSchemaExample = true\n } else if(activeMediaType.get(\"example\") !== undefined) {\n // use the example key's value\n mediaTypeExample = activeMediaType.get(\"example\")\n shouldOverrideSchemaExample = true\n }\n } else {\n sampleSchema = schema\n sampleGenConfig = {...sampleGenConfig, includeWriteOnly: true}\n const oldOASMediaTypeExample = response.getIn([\"examples\", activeContentType])\n if(oldOASMediaTypeExample) {\n mediaTypeExample = oldOASMediaTypeExample\n shouldOverrideSchemaExample = true\n }\n }\n\n const sampleResponse = getSampleSchema(\n sampleSchema,\n activeContentType,\n sampleGenConfig,\n shouldOverrideSchemaExample ? mediaTypeExample : undefined\n )\n\n const example = getExampleComponent( sampleResponse, HighlightCode )\n\n return (\n \n \n { code }\n \n \n\n
\n \n
\n\n { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => )}\n\n {isOAS3 && response.get(\"content\") ? (\n
\n \n \n Media type\n \n \n {controlsAcceptHeader ? (\n \n Controls Accept header.\n \n ) : null}\n
\n {Map.isMap(examplesForMediaType) && !examplesForMediaType.isEmpty() ? (\n
\n \n Examples\n \n \n oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: [path, method],\n contextType: \"responses\",\n contextName: code\n })\n }\n showLabels={false}\n />\n
\n ) : null}\n \n ) : null}\n\n { example || schema ? (\n \n ) : null }\n\n { isOAS3 && examplesForMediaType ? (\n \n ) : null}\n\n { headers ? (\n \n ) : null}\n\n \n {isOAS3 ? \n { links ?\n links.toSeq().entrySeq().map(([key, link]) => {\n return \n })\n : No links}\n : null}\n \n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ResponseExtension = ({ xKey, xVal }) => {\n return
{ xKey }: { String(xVal) }
\n}\nResponseExtension.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default ResponseExtension\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"xml-but-prettier\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/toLower\");","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport formatXml from \"xml-but-prettier\"\nimport toLower from \"lodash/toLower\"\nimport { extractFileNameFromContentDispositionHeader } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\nimport win from \"core/window\"\n\nexport default class ResponseBody extends React.PureComponent {\n state = {\n parsedContent: null\n }\n\n static propTypes = {\n content: PropTypes.any.isRequired,\n contentType: PropTypes.string,\n getComponent: PropTypes.func.isRequired,\n headers: PropTypes.object,\n url: PropTypes.string\n }\n\n updateParsedContent = (prevContent) => {\n const { content } = this.props\n\n if(prevContent === content) {\n return\n }\n\n if(content && content instanceof Blob) {\n var reader = new FileReader()\n reader.onload = () => {\n this.setState({\n parsedContent: reader.result\n })\n }\n reader.readAsText(content)\n } else {\n this.setState({\n parsedContent: content.toString()\n })\n }\n }\n\n componentDidMount() {\n this.updateParsedContent(null)\n }\n\n componentDidUpdate(prevProps) {\n this.updateParsedContent(prevProps.content)\n }\n\n render() {\n let { content, contentType, url, headers={}, getComponent } = this.props\n const { parsedContent } = this.state\n const HighlightCode = getComponent(\"HighlightCode\", true)\n const downloadName = \"response_\" + new Date().getTime()\n let body, bodyEl\n url = url || \"\"\n\n if (\n (/^application\\/octet-stream/i.test(contentType) ||\n (headers[\"Content-Disposition\"] && /attachment/i.test(headers[\"Content-Disposition\"])) ||\n (headers[\"content-disposition\"] && /attachment/i.test(headers[\"content-disposition\"])) ||\n (headers[\"Content-Description\"] && /File Transfer/i.test(headers[\"Content-Description\"])) ||\n (headers[\"content-description\"] && /File Transfer/i.test(headers[\"content-description\"]))) &&\n (content.size > 0 || content.length > 0)\n ) {\n // Download\n\n if (\"Blob\" in window) {\n let type = contentType || \"text/html\"\n let blob = (content instanceof Blob) ? content : new Blob([content], {type: type})\n let href = window.URL.createObjectURL(blob)\n let fileName = url.substr(url.lastIndexOf(\"/\") + 1)\n let download = [type, fileName, href].join(\":\")\n\n // Use filename from response header,\n // First check if filename is quoted (e.g. contains space), if no, fallback to not quoted check\n let disposition = headers[\"content-disposition\"] || headers[\"Content-Disposition\"]\n if (typeof disposition !== \"undefined\") {\n let responseFilename = extractFileNameFromContentDispositionHeader(disposition)\n if (responseFilename !== null) {\n download = responseFilename\n }\n }\n\n if(win.navigator && win.navigator.msSaveOrOpenBlob) {\n bodyEl = \n } else {\n bodyEl = \n }\n } else {\n bodyEl =
Download headers detected but your browser does not support downloading binary via XHR (Blob).
\n }\n\n // Anything else (CORS)\n } else if (/json/i.test(contentType)) {\n // JSON\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(content)\n if (testValueForJson) {\n language = \"json\"\n }\n try {\n body = JSON.stringify(JSON.parse(content), null, \" \")\n } catch (error) {\n body = \"can't parse JSON. Raw result:\\n\\n\" + content\n }\n\n bodyEl = {body}\n\n // XML\n } else if (/xml/i.test(contentType)) {\n body = formatXml(content, {\n textNodesOnSameLine: true,\n indentor: \" \"\n })\n bodyEl = {body}\n\n // HTML or Plain Text\n } else if (toLower(contentType) === \"text/html\" || /text\\/plain/.test(contentType)) {\n bodyEl = {content}\n\n // CSV\n } else if (toLower(contentType) === \"text/csv\" || /text\\/csv/.test(contentType)) {\n bodyEl = {content}\n\n // Image\n } else if (/^image\\//i.test(contentType)) {\n if(contentType.includes(\"svg\")) {\n bodyEl =
{ content }
\n } else {\n bodyEl = \n }\n\n // Audio\n } else if (/^audio\\//i.test(contentType)) {\n bodyEl =
\n } else if (typeof content === \"string\") {\n bodyEl = {content}\n } else if ( content.size > 0 ) {\n // We don't know the contentType, but there was some content returned\n if(parsedContent) {\n // We were able to squeeze something out of content\n // in `updateParsedContent`, so let's display it\n bodyEl =
\n

\n Unrecognized response type; displaying content as text.\n

\n {parsedContent}\n
\n\n } else {\n // Give up\n bodyEl =

\n Unrecognized response type; unable to display.\n

\n }\n } else {\n // We don't know the contentType and there was no content returned\n bodyEl = null\n }\n\n return ( !bodyEl ? null :
\n
Response body
\n { bodyEl }\n
\n )\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Map, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport createHtmlReadyId from \"core/utils/create-html-ready-id\"\n\nexport default class Parameters extends Component {\n\n constructor(props) {\n super(props)\n this.state = {\n callbackVisible: false,\n parametersVisible: true,\n }\n }\n\n static propTypes = {\n parameters: ImPropTypes.list.isRequired,\n operation: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired,\n tryItOutEnabled: PropTypes.bool,\n allowTryItOut: PropTypes.bool,\n onTryoutClick: PropTypes.func,\n onResetClick: PropTypes.func,\n onCancelClick: PropTypes.func,\n onChangeKey: PropTypes.array,\n pathMethod: PropTypes.array.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n }\n\n\n static defaultProps = {\n onTryoutClick: Function.prototype,\n onCancelClick: Function.prototype,\n tryItOutEnabled: false,\n allowTryItOut: true,\n onChangeKey: [],\n specPath: [],\n }\n\n onChange = (param, value, isXml) => {\n let {\n specActions: { changeParamByIdentity },\n onChangeKey,\n } = this.props\n\n changeParamByIdentity(onChangeKey, param, value, isXml)\n }\n\n onChangeConsumesWrapper = (val) => {\n let {\n specActions: { changeConsumesValue },\n onChangeKey,\n } = this.props\n\n changeConsumesValue(onChangeKey, val)\n }\n\n toggleTab = (tab) => {\n if (tab === \"parameters\") {\n return this.setState({\n parametersVisible: true,\n callbackVisible: false,\n })\n } else if (tab === \"callbacks\") {\n return this.setState({\n callbackVisible: true,\n parametersVisible: false,\n })\n }\n }\n \n onChangeMediaType = ({ value, pathMethod }) => {\n let { specActions, oas3Selectors, oas3Actions } = this.props\n const userHasEditedBody = oas3Selectors.hasUserEditedBody(...pathMethod)\n const shouldRetainRequestBodyValue = oas3Selectors.shouldRetainRequestBodyValue(...pathMethod)\n oas3Actions.setRequestContentType({ value, pathMethod })\n oas3Actions.initRequestBodyValidateError({ pathMethod })\n if (!userHasEditedBody) {\n if(!shouldRetainRequestBodyValue) {\n oas3Actions.setRequestBodyValue({ value: undefined, pathMethod })\n }\n specActions.clearResponse(...pathMethod)\n specActions.clearRequest(...pathMethod)\n specActions.clearValidateParams(pathMethod)\n }\n }\n\n render() {\n\n let {\n onTryoutClick,\n onResetClick,\n parameters,\n allowTryItOut,\n tryItOutEnabled,\n specPath,\n fn,\n getComponent,\n getConfigs,\n specSelectors,\n specActions,\n pathMethod,\n oas3Actions,\n oas3Selectors,\n operation,\n } = this.props\n\n const ParameterRow = getComponent(\"parameterRow\")\n const TryItOutButton = getComponent(\"TryItOutButton\")\n const ContentType = getComponent(\"contentType\")\n const Callbacks = getComponent(\"Callbacks\", true)\n const RequestBody = getComponent(\"RequestBody\", true)\n\n const isExecute = tryItOutEnabled && allowTryItOut\n const isOAS3 = specSelectors.isOAS3()\n\n const regionId = createHtmlReadyId(`${pathMethod[1]}${pathMethod[0]}_requests`)\n const controlId = `${regionId}_select`\n\n const requestBody = operation.get(\"requestBody\")\n\n const groupedParametersArr = Object.values(parameters\n .reduce((acc, x) => {\n if (Map.isMap(x)) {\n const key = x.get(\"in\")\n acc[key] ??= []\n acc[key].push(x)\n }\n return acc\n }, {}))\n .reduce((acc, x) => acc.concat(x), [])\n\n const retainRequestBodyValueFlagForOperation = (f) => oas3Actions.setRetainRequestBodyValueFlag({ value: f, pathMethod })\n return (\n
\n
\n {isOAS3 ? (\n
\n
this.toggleTab(\"parameters\")}\n className={`tab-item ${this.state.parametersVisible && \"active\"}`}>\n

Parameters

\n
\n {operation.get(\"callbacks\") ?\n (\n
this.toggleTab(\"callbacks\")}\n className={`tab-item ${this.state.callbackVisible && \"active\"}`}>\n

Callbacks

\n
\n ) : null\n }\n
\n ) : (\n
\n

Parameters

\n
\n )}\n {allowTryItOut ? (\n onResetClick(pathMethod)}/>\n ) : null}\n
\n {this.state.parametersVisible ?
\n {!groupedParametersArr.length ?

No parameters

:\n
\n \n \n \n \n \n \n \n \n {\n groupedParametersArr.map((parameter, i) => (\n \n ))\n }\n \n
NameDescription
\n
\n }\n
: null}\n\n {this.state.callbackVisible ?
\n \n
: null}\n {\n isOAS3 && requestBody && this.state.parametersVisible &&\n
\n
\n

Request\n body

\n \n
\n
\n {\n this.props.oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: this.props.pathMethod,\n contextType: \"requestBody\",\n contextName: \"requestBody\", // RBs are currently not stored per-mediaType\n })\n }\n }\n onChange={(value, path) => {\n if (path) {\n const lastValue = oas3Selectors.requestBodyValue(...pathMethod)\n const usableValue = Map.isMap(lastValue) ? lastValue : Map()\n return oas3Actions.setRequestBodyValue({\n pathMethod,\n value: usableValue.setIn(path, value),\n })\n }\n oas3Actions.setRequestBodyValue({ value, pathMethod })\n }}\n onChangeIncludeEmpty={(name, value) => {\n oas3Actions.setRequestBodyInclusion({\n pathMethod,\n value,\n name,\n })\n }}\n contentType={oas3Selectors.requestContentType(...pathMethod)} />\n
\n
\n }\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ParameterExt = ({ xKey, xVal }) => {\n return
{ xKey }: { String(xVal) }
\n}\nParameterExt.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default ParameterExt\n","import React, { Component } from \"react\"\nimport cx from \"classnames\"\nimport PropTypes from \"prop-types\"\n\n\nconst noop = () => { }\n\nconst ParameterIncludeEmptyPropTypes = {\n isIncluded: PropTypes.bool.isRequired,\n isDisabled: PropTypes.bool.isRequired,\n isIncludedOptions: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n}\n\nconst ParameterIncludeEmptyDefaultProps = {\n onChange: noop,\n isIncludedOptions: {},\n}\nexport default class ParameterIncludeEmpty extends Component {\n static propTypes = ParameterIncludeEmptyPropTypes\n static defaultProps = ParameterIncludeEmptyDefaultProps\n\n componentDidMount() {\n const { isIncludedOptions, onChange } = this.props\n const { shouldDispatchInit, defaultValue } = isIncludedOptions\n if (shouldDispatchInit) {\n onChange(defaultValue)\n }\n }\n\n onCheckboxChange = e => {\n const { onChange } = this.props\n onChange(e.target.checked)\n }\n\n render() {\n let { isIncluded, isDisabled } = this.props\n\n return (\n
\n \n
\n )\n }\n}\n","import React, { Component } from \"react\"\nimport { Map, List, fromJS } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport win from \"core/window\"\nimport { getExtensions, getCommonExtensions, numberToString, stringify, isEmptyValue } from \"core/utils\"\nimport getParameterSchema from \"core/utils/get-parameter-schema.js\"\n\nexport default class ParameterRow extends Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n param: PropTypes.object.isRequired,\n rawParam: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired,\n isExecute: PropTypes.bool,\n onChangeConsumes: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n pathMethod: PropTypes.array.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.setDefaultValue()\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n let { specSelectors, pathMethod, rawParam } = props\n let isOAS3 = specSelectors.isOAS3()\n\n let parameterWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || new Map()\n // fallback, if the meta lookup fails\n parameterWithMeta = parameterWithMeta.isEmpty() ? rawParam : parameterWithMeta\n\n let enumValue\n\n if(isOAS3) {\n let { schema } = getParameterSchema(parameterWithMeta, { isOAS3 })\n enumValue = schema ? schema.get(\"enum\") : undefined\n } else {\n enumValue = parameterWithMeta ? parameterWithMeta.get(\"enum\") : undefined\n }\n let paramValue = parameterWithMeta ? parameterWithMeta.get(\"value\") : undefined\n\n let value\n\n if ( paramValue !== undefined ) {\n value = paramValue\n } else if ( rawParam.get(\"required\") && enumValue && enumValue.size ) {\n value = enumValue.first()\n }\n\n if ( value !== undefined && value !== paramValue ) {\n this.onChangeWrapper(numberToString(value))\n }\n // todo: could check if schema here; if not, do not call. impact?\n this.setDefaultValue()\n }\n\n onChangeWrapper = (value, isXml = false) => {\n let { onChange, rawParam } = this.props\n let valueForUpstream\n\n // Coerce empty strings and empty Immutable objects to null\n if(value === \"\" || (value && value.size === 0)) {\n valueForUpstream = null\n } else {\n valueForUpstream = value\n }\n\n return onChange(rawParam, valueForUpstream, isXml)\n }\n\n _onExampleSelect = (key, /* { isSyntheticChange } = {} */) => {\n this.props.oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: this.props.pathMethod,\n contextType: \"parameters\",\n contextName: this.getParamKey()\n })\n }\n\n onChangeIncludeEmpty = (newValue) => {\n let { specActions, param, pathMethod } = this.props\n const paramName = param.get(\"name\")\n const paramIn = param.get(\"in\")\n return specActions.updateEmptyParamInclusion(pathMethod, paramName, paramIn, newValue)\n }\n\n setDefaultValue = () => {\n let { specSelectors, pathMethod, rawParam, oas3Selectors, fn } = this.props\n\n const paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n let { schema } = getParameterSchema(paramWithMeta, { isOAS3: specSelectors.isOAS3() })\n const parameterMediaType = paramWithMeta\n .get(\"content\", Map())\n .keySeq()\n .first()\n\n // getSampleSchema could return null\n const generatedSampleValue = schema ? fn.getSampleSchema(schema.toJS(), parameterMediaType, {\n\n includeWriteOnly: true\n }) : null\n\n if (!paramWithMeta || paramWithMeta.get(\"value\") !== undefined) {\n return\n }\n\n if( paramWithMeta.get(\"in\") !== \"body\" ) {\n let initialValue\n\n //// Find an initial value\n\n if (specSelectors.isSwagger2()) {\n initialValue =\n paramWithMeta.get(\"x-example\") !== undefined\n ? paramWithMeta.get(\"x-example\")\n : paramWithMeta.getIn([\"schema\", \"example\"]) !== undefined\n ? paramWithMeta.getIn([\"schema\", \"example\"])\n : (schema && schema.getIn([\"default\"]))\n } else if (specSelectors.isOAS3()) {\n schema = this.composeJsonSchema(schema)\n\n const currentExampleKey = oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())\n initialValue =\n paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"]) !== undefined\n ? paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"])\n : paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"]) !== undefined\n ? paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"])\n : paramWithMeta.get(\"example\") !== undefined\n ? paramWithMeta.get(\"example\")\n : (schema && schema.get(\"example\")) !== undefined\n ? (schema && schema.get(\"example\"))\n : (schema && schema.get(\"default\")) !== undefined\n ? (schema && schema.get(\"default\"))\n : paramWithMeta.get(\"default\") // ensures support for `parameterMacro`\n }\n\n //// Process the initial value\n\n if(initialValue !== undefined && !List.isList(initialValue)) {\n // Stringify if it isn't a List\n initialValue = stringify(initialValue)\n }\n\n //// Dispatch the initial value\n\n const schemaObjectType = fn.getSchemaObjectType(schema)\n const schemaItemsType = fn.getSchemaObjectType(schema?.get(\"items\"))\n\n if(initialValue !== undefined) {\n this.onChangeWrapper(initialValue)\n } else if(\n schemaObjectType === \"object\"\n && generatedSampleValue\n && !paramWithMeta.get(\"examples\")\n ) {\n // Object parameters get special treatment.. if the user doesn't set any\n // default or example values, we'll provide initial values generated from\n // the schema.\n // However, if `examples` exist for the parameter, we won't do anything,\n // so that the appropriate `examples` logic can take over.\n this.onChangeWrapper(\n List.isList(generatedSampleValue) ? (\n generatedSampleValue\n ) : (\n stringify(generatedSampleValue)\n )\n )\n }\n else if (\n schemaObjectType === \"array\"\n && schemaItemsType === \"object\"\n && generatedSampleValue\n && !paramWithMeta.get(\"examples\")\n ) {\n this.onChangeWrapper(\n List.isList(generatedSampleValue) ? (\n generatedSampleValue\n ) : (\n List(JSON.parse(generatedSampleValue))\n )\n )\n }\n }\n }\n\n getParamKey() {\n const { param } = this.props\n\n if(!param) return null\n\n return `${param.get(\"name\")}-${param.get(\"in\")}`\n }\n\n composeJsonSchema(schema) {\n const { fn } = this.props\n const oneOf = schema.get(\"oneOf\")?.get(0)?.toJS()\n const anyOf = schema.get(\"anyOf\")?.get(0)?.toJS()\n return fromJS(fn.mergeJsonSchema(schema.toJS(), oneOf ?? anyOf ?? {}))\n }\n\n render() {\n let {param, rawParam, getComponent, getConfigs, isExecute, fn, onChangeConsumes, specSelectors, pathMethod, specPath, oas3Selectors} = this.props\n\n let isOAS3 = specSelectors.isOAS3()\n\n const { showExtensions, showCommonExtensions } = getConfigs()\n\n if(!param) {\n param = rawParam\n }\n\n if(!rawParam) return null\n\n // const onChangeWrapper = (value) => onChange(param, value)\n const JsonSchemaForm = getComponent(\"JsonSchemaForm\")\n const ParamBody = getComponent(\"ParamBody\")\n let inType = param.get(\"in\")\n let bodyParam = inType !== \"body\" ? null\n : \n\n const ModelExample = getComponent(\"modelExample\")\n const Markdown = getComponent(\"Markdown\", true)\n const ParameterExt = getComponent(\"ParameterExt\")\n const ParameterIncludeEmpty = getComponent(\"ParameterIncludeEmpty\")\n const ExamplesSelectValueRetainer = getComponent(\"ExamplesSelectValueRetainer\")\n const Example = getComponent(\"Example\")\n\n let { schema } = getParameterSchema(param, { isOAS3 })\n let paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n\n if (isOAS3) {\n schema = this.composeJsonSchema(schema)\n }\n\n let format = schema ? schema.get(\"format\") : null\n let isFormData = inType === \"formData\"\n let isFormDataSupported = \"FormData\" in win\n let required = param.get(\"required\")\n\n const schemaObjectType = fn.getSchemaObjectType(schema)\n const schemaItemsType = fn.getSchemaObjectType(schema?.get(\"items\"))\n const schemaObjectTypeLabel = fn.getSchemaObjectTypeLabel(schema)\n const isObject = !bodyParam && schemaObjectType === \"object\"\n const isArrayOfObjects = !bodyParam && schemaItemsType === \"object\"\n\n let value = paramWithMeta ? paramWithMeta.get(\"value\") : \"\"\n let commonExt = showCommonExtensions ? getCommonExtensions(schema) : null\n let extensions = showExtensions ? getExtensions(param) : null\n\n let paramItems // undefined\n let paramEnum // undefined\n let paramDefaultValue // undefined\n let paramExample // undefined\n let isDisplayParamEnum = false\n\n if ( param !== undefined && schema ) {\n paramItems = schema.get(\"items\")\n }\n\n if (paramItems !== undefined) {\n paramEnum = paramItems.get(\"enum\")\n paramDefaultValue = paramItems.get(\"default\")\n } else if (schema) {\n paramEnum = schema.get(\"enum\")\n }\n\n if ( paramEnum && paramEnum.size && paramEnum.size > 0) {\n isDisplayParamEnum = true\n }\n\n // Default and Example Value for readonly doc\n if ( param !== undefined ) {\n if (schema) {\n paramDefaultValue = schema.get(\"default\")\n }\n if (paramDefaultValue === undefined) {\n paramDefaultValue = param.get(\"default\")\n }\n paramExample = param.get(\"example\")\n if (paramExample === undefined) {\n paramExample = param.get(\"x-example\")\n }\n }\n\n const jsonSchemaForm = bodyParam ? null\n : \n\n return (\n \n \n
\n { param.get(\"name\") }\n { !required ? null :  * }\n
\n
\n { schemaObjectTypeLabel }\n { format && (${format})}\n
\n
\n { isOAS3 && param.get(\"deprecated\") ? \"deprecated\": null }\n
\n
({ param.get(\"in\") })
\n \n\n \n { param.get(\"description\") ? : null }\n\n { (bodyParam || !isExecute) && isDisplayParamEnum ?\n Available values : \" + paramEnum.map(function(item) {\n return item\n }).toArray().map(String).join(\", \")}/>\n : null\n }\n\n { (bodyParam || !isExecute) && paramDefaultValue !== undefined ?\n Default value : \" + paramDefaultValue}/>\n : null\n }\n\n { (bodyParam || !isExecute) && paramExample !== undefined ?\n Example : \" + paramExample}/>\n : null\n }\n\n {(isFormData && !isFormDataSupported) &&
Error: your browser does not support FormData
}\n\n {\n isOAS3 && param.get(\"examples\") ? (\n
\n \n
\n ) : null\n }\n\n { (isObject || isArrayOfObjects) ? (\n \n ) : jsonSchemaForm\n }\n\n {\n bodyParam && schema ? \n : null\n }\n\n {\n !bodyParam && isExecute && param.get(\"allowEmptyValue\") ?\n \n : null\n }\n\n {\n isOAS3 && param.get(\"examples\") ? (\n \n ) : null\n }\n\n { !showCommonExtensions || !commonExt.size ? null : commonExt.entrySeq().map(([key, v]) => )}\n { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => )}\n\n \n\n \n )\n\n }\n\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Execute extends Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n operation: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n onExecute: PropTypes.func,\n disabled: PropTypes.bool\n }\n\n handleValidateParameters = () => {\n let { specSelectors, specActions, path, method } = this.props\n specActions.validateParams([path, method])\n return specSelectors.validateBeforeExecute([path, method])\n }\n\n handleValidateRequestBody = () => {\n let { path, method, specSelectors, oas3Selectors, oas3Actions } = this.props\n let validationErrors = {\n missingBodyValue: false,\n missingRequiredKeys: []\n }\n // context: reset errors, then (re)validate\n oas3Actions.clearRequestBodyValidateError({ path, method })\n let oas3RequiredRequestBodyContentType = specSelectors.getOAS3RequiredRequestBodyContentType([path, method])\n let oas3RequestBodyValue = oas3Selectors.requestBodyValue(path, method)\n let oas3ValidateBeforeExecuteSuccess = oas3Selectors.validateBeforeExecute([path, method])\n let oas3RequestContentType = oas3Selectors.requestContentType(path, method)\n\n if (!oas3ValidateBeforeExecuteSuccess) {\n validationErrors.missingBodyValue = true\n oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n return false\n }\n if (!oas3RequiredRequestBodyContentType) {\n return true\n }\n let missingRequiredKeys = oas3Selectors.validateShallowRequired({\n oas3RequiredRequestBodyContentType,\n oas3RequestContentType,\n oas3RequestBodyValue\n })\n if (!missingRequiredKeys || missingRequiredKeys.length < 1) {\n return true\n }\n missingRequiredKeys.forEach((missingKey) => {\n validationErrors.missingRequiredKeys.push(missingKey)\n })\n oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n return false\n }\n\n handleValidationResultPass = () => {\n let { specActions, operation, path, method } = this.props\n if (this.props.onExecute) {\n // loading spinner\n this.props.onExecute()\n }\n specActions.execute({ operation, path, method })\n }\n\n handleValidationResultFail = () => {\n let { specActions, path, method } = this.props\n // deferred by 40ms, to give element class change time to settle.\n specActions.clearValidateParams([path, method])\n setTimeout(() => {\n specActions.validateParams([path, method])\n }, 40)\n }\n\n handleValidationResult = (isPass) => {\n if (isPass) {\n this.handleValidationResultPass()\n } else {\n this.handleValidationResultFail()\n }\n }\n\n onClick = () => {\n let paramsResult = this.handleValidateParameters()\n let requestBodyResult = this.handleValidateRequestBody()\n let isPass = paramsResult && requestBodyResult\n this.handleValidationResult(isPass)\n }\n\n onChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n render(){\n const { disabled } = this.props\n return (\n \n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nconst propClass = \"header-example\"\n\nexport default class Headers extends React.Component {\n static propTypes = {\n headers: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render() {\n let { headers, getComponent } = this.props\n\n const Property = getComponent(\"Property\")\n const Markdown = getComponent(\"Markdown\", true)\n\n if ( !headers || !headers.size )\n return null\n\n return (\n
\n

Headers:

\n \n \n \n \n \n \n \n \n \n {\n headers.entrySeq().map( ([ key, header ]) => {\n if(!Im.Map.isMap(header)) {\n return null\n }\n\n const description = header.get(\"description\")\n const type = header.getIn([\"schema\"]) ? header.getIn([\"schema\", \"type\"]) : header.getIn([\"type\"])\n const schemaExample = header.getIn([\"schema\", \"example\"])\n\n return (\n \n \n \n )\n }).toArray()\n }\n \n
NameDescriptionType
{ key }{\n !description ? null : \n }{ type } { schemaExample ? : null }
\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\n\nexport default class Errors extends React.Component {\n\n static propTypes = {\n editorActions: PropTypes.object,\n errSelectors: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render() {\n let { editorActions, errSelectors, layoutSelectors, layoutActions, getComponent } = this.props\n\n const Collapse = getComponent(\"Collapse\")\n\n if(editorActions && editorActions.jumpToLine) {\n var jumpToLine = editorActions.jumpToLine\n }\n\n let errors = errSelectors.allErrors()\n\n // all thrown errors, plus error-level everything else\n let allErrorsToDisplay = errors.filter(err => err.get(\"type\") === \"thrown\" ? true :err.get(\"level\") === \"error\")\n\n if(!allErrorsToDisplay || allErrorsToDisplay.count() < 1) {\n return null\n }\n\n let isVisible = layoutSelectors.isShown([\"errorPane\"], true)\n let toggleVisibility = () => layoutActions.show([\"errorPane\"], !isVisible)\n\n let sortedJSErrors = allErrorsToDisplay.sortBy(err => err.get(\"line\"))\n\n return (\n
\n        
\n

Errors

\n \n
\n \n
\n { sortedJSErrors.map((err, i) => {\n let type = err.get(\"type\")\n if(type === \"thrown\" || type === \"auth\") {\n return \n }\n if(type === \"spec\") {\n return \n }\n }) }\n
\n
\n
\n )\n }\n}\n\nconst ThrownErrorItem = ( { error, jumpToLine } ) => {\n if(!error) {\n return null\n }\n let errorLine = error.get(\"line\")\n\n return (\n
\n { !error ? null :\n
\n

{ (error.get(\"source\") && error.get(\"level\")) ?\n toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") : \"\" }\n { error.get(\"path\") ? at {error.get(\"path\")}: null }

\n \n { error.get(\"message\") }\n \n
\n { errorLine && jumpToLine ? Jump to line { errorLine } : null }\n
\n
\n }\n
\n )\n }\n\nconst SpecErrorItem = ( { error, jumpToLine = null } ) => {\n let locationMessage = null\n\n if(error.get(\"path\")) {\n if(List.isList(error.get(\"path\"))) {\n locationMessage = at { error.get(\"path\").join(\".\") }\n } else {\n locationMessage = at { error.get(\"path\") }\n }\n } else if(error.get(\"line\") && !jumpToLine) {\n locationMessage = on line { error.get(\"line\") }\n }\n\n return (\n
\n { !error ? null :\n
\n

{ toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") } { locationMessage }

\n { error.get(\"message\") }\n
\n { jumpToLine ? (\n Jump to line { error.get(\"line\") }\n ) : null }\n
\n
\n }\n
\n )\n }\n\nfunction toTitleCase(str) {\n return (str || \"\")\n .split(\" \")\n .map(substr => substr[0].toUpperCase() + substr.slice(1))\n .join(\" \")\n}\n\nThrownErrorItem.propTypes = {\n error: PropTypes.object.isRequired,\n jumpToLine: PropTypes.func\n}\n\nSpecErrorItem.propTypes = {\n error: PropTypes.object.isRequired,\n jumpToLine: PropTypes.func\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { fromJS } from \"immutable\"\n\nconst noop = ()=>{}\n\nexport default class ContentType extends React.Component {\n\n static propTypes = {\n ariaControls: PropTypes.string,\n contentTypes: PropTypes.oneOfType([ImPropTypes.list, ImPropTypes.set, ImPropTypes.seq]),\n controlId: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n className: PropTypes.string,\n ariaLabel: PropTypes.string\n }\n\n static defaultProps = {\n onChange: noop,\n value: null,\n contentTypes: fromJS([\"application/json\"]),\n }\n\n componentDidMount() {\n // Needed to populate the form, initially\n if(this.props.contentTypes) {\n this.props.onChange(this.props.contentTypes.first())\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if(!nextProps.contentTypes || !nextProps.contentTypes.size) {\n return\n }\n\n if(!nextProps.contentTypes.includes(nextProps.value)) {\n nextProps.onChange(nextProps.contentTypes.first())\n }\n }\n\n onChangeWrapper = e => this.props.onChange(e.target.value)\n\n render() {\n let { ariaControls, ariaLabel, className, contentTypes, controlId, value } = this.props\n\n if ( !contentTypes || !contentTypes.size )\n return null\n\n return (\n
\n \n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nfunction xclass(...args) {\n return args.filter(a => !!a).join(\" \").trim()\n}\n\nexport class Container extends React.Component {\n render() {\n let { fullscreen, full, ...rest } = this.props\n // Normal element\n\n if(fullscreen)\n return
\n\n let containerClass = \"swagger-container\" + (full ? \"-full\" : \"\")\n return (\n
\n )\n }\n}\n\nContainer.propTypes = {\n fullscreen: PropTypes.bool,\n full: PropTypes.bool,\n className: PropTypes.string\n}\n\nconst DEVICES = {\n \"mobile\": \"\",\n \"tablet\": \"-tablet\",\n \"desktop\": \"-desktop\",\n \"large\": \"-hd\"\n}\n\nexport class Col extends React.Component {\n\n render() {\n const {\n hide,\n keepContents,\n /* we don't want these in the `rest` object that passes to the final component,\n since React now complains. So we extract them */\n /* eslint-disable no-unused-vars */\n mobile,\n tablet,\n desktop,\n large,\n /* eslint-enable no-unused-vars */\n ...rest\n } = this.props\n\n if(hide && !keepContents)\n return \n\n let classesAr = []\n\n for (let device in DEVICES) {\n if (!Object.prototype.hasOwnProperty.call(DEVICES, device)) {\n continue\n }\n let deviceClass = DEVICES[device]\n if(device in this.props) {\n let val = this.props[device]\n\n if(val < 1) {\n classesAr.push(\"none\" + deviceClass)\n continue\n }\n\n classesAr.push(\"block\" + deviceClass)\n classesAr.push(\"col-\" + val + deviceClass)\n }\n }\n\n if (hide) {\n classesAr.push(\"hidden\")\n }\n\n let classes = xclass(rest.className, ...classesAr)\n\n return (\n
\n )\n }\n\n}\n\nCol.propTypes = {\n hide: PropTypes.bool,\n keepContents: PropTypes.bool,\n mobile: PropTypes.number,\n tablet: PropTypes.number,\n desktop: PropTypes.number,\n large: PropTypes.number,\n className: PropTypes.string\n}\n\nexport class Row extends React.Component {\n\n render() {\n return
\n }\n\n}\n\nRow.propTypes = {\n className: PropTypes.string\n}\n\nexport class Button extends React.Component {\n\n static propTypes = {\n className: PropTypes.string\n }\n\n static defaultProps = {\n className: \"\"\n }\n\n render() {\n return