@upendra19/swagger-ui-custom 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agignore +1 -0
- package/.browserslistrc +29 -0
- package/.dockerignore +8 -0
- package/.editorconfig +10 -0
- package/.eslintrc.js +78 -0
- package/.lintstagedrc +4 -0
- package/.nvmrc +1 -0
- package/.prettierrc.yaml +5 -0
- package/.releaserc +26 -0
- package/AUTHORIZATION_CONFIG.md +350 -0
- package/Dockerfile +39 -0
- package/LICENSE +202 -0
- package/NOTICE +2 -0
- package/README.md +117 -0
- package/babel.config.js +140 -0
- package/composer.json +40 -0
- package/dist/favicon-16x16.png +0 -0
- package/dist/favicon-32x32.png +0 -0
- package/dist/index.css +16 -0
- package/dist/index.html +19 -0
- package/dist/log.bundle-sizes.swagger-ui.txt +114 -0
- package/dist/log.es-bundle-core-sizes.swagger-ui.txt +14 -0
- package/dist/log.es-bundle-sizes.swagger-ui.txt +114 -0
- package/dist/oauth2-redirect.html +6 -0
- package/dist/oauth2-redirect.js +1 -0
- package/dist/swagger-initializer.js +20 -0
- package/dist/swagger-ui-bundle.js +2 -0
- package/dist/swagger-ui-bundle.js.LICENSE.txt +106 -0
- package/dist/swagger-ui-bundle.js.map +1 -0
- package/dist/swagger-ui-es-bundle-core.js +3 -0
- package/dist/swagger-ui-es-bundle-core.js.LICENSE.txt +35 -0
- package/dist/swagger-ui-es-bundle-core.js.map +1 -0
- package/dist/swagger-ui-es-bundle.js +2 -0
- package/dist/swagger-ui-es-bundle.js.LICENSE.txt +106 -0
- package/dist/swagger-ui-es-bundle.js.map +1 -0
- package/dist/swagger-ui-standalone-preset.js +2 -0
- package/dist/swagger-ui-standalone-preset.js.LICENSE.txt +22 -0
- package/dist/swagger-ui-standalone-preset.js.map +1 -0
- package/dist/swagger-ui.css +3 -0
- package/dist/swagger-ui.css.map +1 -0
- package/dist/swagger-ui.js +2 -0
- package/dist/swagger-ui.js.map +1 -0
- package/docker/configurator/helpers.js +13 -0
- package/docker/configurator/index.js +52 -0
- package/docker/configurator/oauth.js +55 -0
- package/docker/configurator/translator.js +111 -0
- package/docker/configurator/variables.js +125 -0
- package/docker/cors.conf +14 -0
- package/docker/default.conf.template +43 -0
- package/docker/docker-entrypoint.d/40-swagger-ui.sh +52 -0
- package/docker/embedding.conf +5 -0
- package/package.json +224 -0
- package/snapcraft.yaml +28 -0
- package/src/core/assets/rolling-load.svg +1 -0
- package/src/core/components/app.jsx +30 -0
- package/src/core/components/auth/api-key-auth.jsx +93 -0
- package/src/core/components/auth/auth-item.jsx +60 -0
- package/src/core/components/auth/authorization-popup.jsx +59 -0
- package/src/core/components/auth/authorize-btn.jsx +30 -0
- package/src/core/components/auth/authorize-operation-btn.jsx +35 -0
- package/src/core/components/auth/auths.jsx +124 -0
- package/src/core/components/auth/basic-auth.jsx +110 -0
- package/src/core/components/auth/error.jsx +24 -0
- package/src/core/components/auth/oauth2.jsx +283 -0
- package/src/core/components/clear.jsx +25 -0
- package/src/core/components/contact.jsx +44 -0
- package/src/core/components/content-type.jsx +64 -0
- package/src/core/components/copy-to-clipboard-btn.jsx +29 -0
- package/src/core/components/curl.jsx +38 -0
- package/src/core/components/debug.jsx +50 -0
- package/src/core/components/deep-link.jsx +20 -0
- package/src/core/components/errors.jsx +132 -0
- package/src/core/components/example.jsx +43 -0
- package/src/core/components/examples-select-value-retainer.jsx +254 -0
- package/src/core/components/examples-select.jsx +139 -0
- package/src/core/components/execute.jsx +103 -0
- package/src/core/components/footer.jsx +9 -0
- package/src/core/components/headers.jsx +58 -0
- package/src/core/components/info.jsx +169 -0
- package/src/core/components/initialized-input.jsx +36 -0
- package/src/core/components/jump-to-path.jsx +9 -0
- package/src/core/components/layout-utils.jsx +265 -0
- package/src/core/components/layouts/base.jsx +156 -0
- package/src/core/components/layouts/xpane.jsx +73 -0
- package/src/core/components/license.jsx +40 -0
- package/src/core/components/live-response.jsx +133 -0
- package/src/core/components/online-validator-badge.jsx +120 -0
- package/src/core/components/openapi-version.jsx +15 -0
- package/src/core/components/operation-extension-row.jsx +17 -0
- package/src/core/components/operation-extensions.jsx +35 -0
- package/src/core/components/operation-summary-method.jsx +25 -0
- package/src/core/components/operation-summary-path.jsx +54 -0
- package/src/core/components/operation-summary.jsx +102 -0
- package/src/core/components/operation-tag.jsx +121 -0
- package/src/core/components/operation.jsx +259 -0
- package/src/core/components/operations.jsx +100 -0
- package/src/core/components/overview.jsx +119 -0
- package/src/core/components/param-body.jsx +156 -0
- package/src/core/components/parameter-extension.jsx +12 -0
- package/src/core/components/parameter-include-empty.jsx +59 -0
- package/src/core/components/parameter-row.jsx +438 -0
- package/src/core/components/parameters/index.js +1 -0
- package/src/core/components/parameters/parameters.jsx +287 -0
- package/src/core/components/property.jsx +17 -0
- package/src/core/components/providers/README.md +6 -0
- package/src/core/components/providers/markdown.jsx +72 -0
- package/src/core/components/response-body.jsx +170 -0
- package/src/core/components/response-extension.jsx +12 -0
- package/src/core/components/response.jsx +276 -0
- package/src/core/components/responses.jsx +170 -0
- package/src/core/components/svg-assets.jsx +48 -0
- package/src/core/components/system-wrapper.jsx +0 -0
- package/src/core/components/try-it-out-button.jsx +41 -0
- package/src/core/components/version-pragma-filter.jsx +54 -0
- package/src/core/components/version-stamp.jsx +12 -0
- package/src/core/containers/OperationContainer.jsx +267 -0
- package/src/core/containers/authorize-btn.jsx +31 -0
- package/src/core/containers/filter.jsx +44 -0
- package/src/core/containers/info.jsx +35 -0
- package/src/core/index.js +174 -0
- package/src/core/oauth2-authorize.js +137 -0
- package/src/core/plugins/auth/actions.js +286 -0
- package/src/core/plugins/auth/components/lock-auth-icon.jsx +27 -0
- package/src/core/plugins/auth/components/unlock-auth-icon.jsx +27 -0
- package/src/core/plugins/auth/configs-extensions/wrap-actions.js +19 -0
- package/src/core/plugins/auth/index.js +94 -0
- package/src/core/plugins/auth/reducers.js +77 -0
- package/src/core/plugins/auth/selectors.js +121 -0
- package/src/core/plugins/auth/spec-extensions/wrap-actions.js +10 -0
- package/src/core/plugins/auth/wrap-actions.js +66 -0
- package/src/core/plugins/configs/actions.js +58 -0
- package/src/core/plugins/configs/fn.js +12 -0
- package/src/core/plugins/configs/index.js +16 -0
- package/src/core/plugins/configs/reducers.js +20 -0
- package/src/core/plugins/configs/selectors.js +4 -0
- package/src/core/plugins/deep-linking/README.md +1 -0
- package/src/core/plugins/deep-linking/helpers.js +7 -0
- package/src/core/plugins/deep-linking/index.js +24 -0
- package/src/core/plugins/deep-linking/layout.js +209 -0
- package/src/core/plugins/deep-linking/operation-tag-wrapper.jsx +25 -0
- package/src/core/plugins/deep-linking/operation-wrapper.jsx +27 -0
- package/src/core/plugins/download-url/index.js +126 -0
- package/src/core/plugins/err/actions.js +60 -0
- package/src/core/plugins/err/error-transformers/README.md +31 -0
- package/src/core/plugins/err/error-transformers/hook.js +38 -0
- package/src/core/plugins/err/error-transformers/transformers/not-of-type.js +29 -0
- package/src/core/plugins/err/error-transformers/transformers/parameter-oneof.js +59 -0
- package/src/core/plugins/err/index.js +15 -0
- package/src/core/plugins/err/reducers.js +100 -0
- package/src/core/plugins/err/selectors.js +15 -0
- package/src/core/plugins/filter/index.js +9 -0
- package/src/core/plugins/filter/opsFilter.js +3 -0
- package/src/core/plugins/icons/components/arrow-down.jsx +28 -0
- package/src/core/plugins/icons/components/arrow-up.jsx +28 -0
- package/src/core/plugins/icons/components/arrow.jsx +28 -0
- package/src/core/plugins/icons/components/close.jsx +28 -0
- package/src/core/plugins/icons/components/copy.jsx +34 -0
- package/src/core/plugins/icons/components/lock.jsx +28 -0
- package/src/core/plugins/icons/components/unlock.jsx +28 -0
- package/src/core/plugins/icons/index.js +24 -0
- package/src/core/plugins/json-schema-2020-12/components/Accordion/Accordion.jsx +45 -0
- package/src/core/plugins/json-schema-2020-12/components/Accordion/_accordion.scss +33 -0
- package/src/core/plugins/json-schema-2020-12/components/ExpandDeepButton/ExpandDeepButton.jsx +31 -0
- package/src/core/plugins/json-schema-2020-12/components/ExpandDeepButton/_expand-deep-button.scss +10 -0
- package/src/core/plugins/json-schema-2020-12/components/JSONSchema/JSONSchema.jsx +227 -0
- package/src/core/plugins/json-schema-2020-12/components/JSONSchema/_json-schema.scss +34 -0
- package/src/core/plugins/json-schema-2020-12/components/JSONViewer/JSONViewer.jsx +153 -0
- package/src/core/plugins/json-schema-2020-12/components/JSONViewer/_json-viewer.scss +11 -0
- package/src/core/plugins/json-schema-2020-12/components/_all.scss +4 -0
- package/src/core/plugins/json-schema-2020-12/components/_mixins.scss +82 -0
- package/src/core/plugins/json-schema-2020-12/components/icons/ChevronRight.jsx +17 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/$anchor.jsx +27 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/$comment.jsx +27 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/$defs.jsx +93 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/$dynamicAnchor.jsx +27 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/$dynamicRef.jsx +27 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/$id.jsx +27 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/$ref.jsx +27 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/$schema.jsx +27 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/$vocabulary/$vocabulary.jsx +66 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/$vocabulary/_$vocabulary.scss +17 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/AdditionalProperties.jsx +55 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/AllOf.jsx +105 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/AnyOf.jsx +105 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Const/Const.jsx +28 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Const/_const.scss +11 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Constraint/Constraint.jsx +38 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Constraint/_constraint.scss +16 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Contains.jsx +35 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/ContentSchema.jsx +39 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Default/Default.jsx +28 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Default/_default.scss +11 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/DependentRequired/DependentRequired.jsx +37 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/DependentRequired/_dependent-required.scss +12 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/DependentSchemas.jsx +97 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Deprecated.jsx +22 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Description/Description.jsx +24 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Description/_description.scss +9 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Else.jsx +35 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Enum/Enum.jsx +27 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Enum/_enum.scss +11 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Examples/Examples.jsx +30 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Examples/_examples.scss +11 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/ExtensionKeywords/ExtensionKeywords.jsx +103 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/ExtensionKeywords/_extension-keywords.scss +11 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/If.jsx +35 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Items.jsx +35 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Not.jsx +35 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/OneOf.jsx +105 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/PatternProperties/PatternProperties.jsx +41 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/PatternProperties/_pattern-properties.scss +21 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/PrefixItems.jsx +105 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Properties/Properties.jsx +61 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Properties/_properties.scss +24 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/PropertyNames.jsx +38 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/ReadOnly.jsx +22 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Then.jsx +35 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Title/Title.jsx +24 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Title/_title.scss +26 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/Type.jsx +27 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/UnevaluatedItems.jsx +39 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/UnevaluatedProperties.jsx +39 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/WriteOnly.jsx +22 -0
- package/src/core/plugins/json-schema-2020-12/components/keywords/_all.scss +43 -0
- package/src/core/plugins/json-schema-2020-12/context.js +14 -0
- package/src/core/plugins/json-schema-2020-12/enum.js +10 -0
- package/src/core/plugins/json-schema-2020-12/fn.js +527 -0
- package/src/core/plugins/json-schema-2020-12/hoc.jsx +296 -0
- package/src/core/plugins/json-schema-2020-12/hooks.js +144 -0
- package/src/core/plugins/json-schema-2020-12/index.js +153 -0
- package/src/core/plugins/json-schema-2020-12/prop-types.js +10 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/api/encoderAPI.js +20 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/api/formatAPI.js +20 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/api/mediaTypeAPI.js +27 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/api/optionAPI.js +17 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/class/EncoderRegistry.js +33 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/class/FormatRegistry.js +65 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/class/MediaTypeRegistry.js +27 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/class/OptionRegistry.js +16 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/class/Registry.js +24 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/core/constants.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/core/example.js +57 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/core/merge.js +83 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/core/predicates.js +16 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/core/random.js +46 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/core/type.js +156 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/core/utils.js +23 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/7bit.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/8bit.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base16.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base32.js +34 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base64.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base64url.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/binary.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/quoted-printable.js +38 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/date-time.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/date.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/double.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/duration.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/email.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/float.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/hostname.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-email.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-hostname.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/int32.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/int64.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv4.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv6.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/iri-reference.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/iri.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/json-pointer.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/application.js +17 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/audio.js +10 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/image.js +10 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/text.js +17 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/video.js +10 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/password.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/regex.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/relative-json-pointer.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/time.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-reference.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-template.js +7 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/generators/uuid.js +6 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/get-json-sample-schema.js +36 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/get-sample-schema.js +39 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/get-xml-sample-schema.js +35 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/get-yaml-sample-schema.js +34 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/index.js +16 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/main.js +562 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/types/array.js +52 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/types/boolean.js +9 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/types/index.js +30 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/types/integer.js +43 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/types/null.js +9 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/types/number.js +65 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/types/object.js +9 -0
- package/src/core/plugins/json-schema-2020-12-samples/fn/types/string.js +80 -0
- package/src/core/plugins/json-schema-2020-12-samples/index.js +51 -0
- package/src/core/plugins/json-schema-5/components/array-model.jsx +80 -0
- package/src/core/plugins/json-schema-5/components/enum-model.jsx +19 -0
- package/src/core/plugins/json-schema-5/components/json-schema-components.jsx +441 -0
- package/src/core/plugins/json-schema-5/components/model-collapse.jsx +99 -0
- package/src/core/plugins/json-schema-5/components/model-example.jsx +160 -0
- package/src/core/plugins/json-schema-5/components/model-extensions.jsx +28 -0
- package/src/core/plugins/json-schema-5/components/model-wrapper.jsx +44 -0
- package/src/core/plugins/json-schema-5/components/model.jsx +136 -0
- package/src/core/plugins/json-schema-5/components/models.jsx +139 -0
- package/src/core/plugins/json-schema-5/components/object-model.jsx +340 -0
- package/src/core/plugins/json-schema-5/components/primitive-model.jsx +137 -0
- package/src/core/plugins/json-schema-5/components/schemes.jsx +53 -0
- package/src/core/plugins/json-schema-5/containers/schemes.jsx +30 -0
- package/src/core/plugins/json-schema-5/fn.js +51 -0
- package/src/core/plugins/json-schema-5/index.js +41 -0
- package/src/core/plugins/json-schema-5-samples/fn/get-json-sample-schema.js +32 -0
- package/src/core/plugins/json-schema-5-samples/fn/get-sample-schema.js +30 -0
- package/src/core/plugins/json-schema-5-samples/fn/get-xml-sample-schema.js +31 -0
- package/src/core/plugins/json-schema-5-samples/fn/get-yaml-sample-schema.js +34 -0
- package/src/core/plugins/json-schema-5-samples/fn/index.js +653 -0
- package/src/core/plugins/json-schema-5-samples/index.js +56 -0
- package/src/core/plugins/layout/actions.js +39 -0
- package/src/core/plugins/layout/index.js +19 -0
- package/src/core/plugins/layout/reducers.js +32 -0
- package/src/core/plugins/layout/selectors.js +24 -0
- package/src/core/plugins/layout/spec-extensions/wrap-selector.js +22 -0
- package/src/core/plugins/logs/index.js +28 -0
- package/src/core/plugins/oas3/actions.js +99 -0
- package/src/core/plugins/oas3/auth-extensions/wrap-selectors.js +92 -0
- package/src/core/plugins/oas3/components/auth/http-auth.jsx +157 -0
- package/src/core/plugins/oas3/components/callbacks.jsx +51 -0
- package/src/core/plugins/oas3/components/index.js +19 -0
- package/src/core/plugins/oas3/components/operation-link.jsx +43 -0
- package/src/core/plugins/oas3/components/operation-servers.jsx +102 -0
- package/src/core/plugins/oas3/components/request-body-editor.jsx +103 -0
- package/src/core/plugins/oas3/components/request-body.jsx +338 -0
- package/src/core/plugins/oas3/components/servers-container.jsx +33 -0
- package/src/core/plugins/oas3/components/servers.jsx +153 -0
- package/src/core/plugins/oas3/fn.js +35 -0
- package/src/core/plugins/oas3/helpers.jsx +48 -0
- package/src/core/plugins/oas3/index.js +39 -0
- package/src/core/plugins/oas3/reducers.js +111 -0
- package/src/core/plugins/oas3/selectors.js +308 -0
- package/src/core/plugins/oas3/spec-extensions/selectors.js +100 -0
- package/src/core/plugins/oas3/spec-extensions/wrap-selectors.js +71 -0
- package/src/core/plugins/oas3/wrap-components/auth/auth-item.jsx +25 -0
- package/src/core/plugins/oas3/wrap-components/index.js +15 -0
- package/src/core/plugins/oas3/wrap-components/json-schema-string.jsx +27 -0
- package/src/core/plugins/oas3/wrap-components/markdown.jsx +45 -0
- package/src/core/plugins/oas3/wrap-components/model.jsx +40 -0
- package/src/core/plugins/oas3/wrap-components/online-validator-badge.js +5 -0
- package/src/core/plugins/oas3/wrap-components/openapi-version.jsx +7 -0
- package/src/core/plugins/oas31/after-load.js +72 -0
- package/src/core/plugins/oas31/auth-extensions/wrap-selectors.js +28 -0
- package/src/core/plugins/oas31/components/_all.scss +2 -0
- package/src/core/plugins/oas31/components/auth/auths.jsx +186 -0
- package/src/core/plugins/oas31/components/auth/mutual-tls-auth.jsx +32 -0
- package/src/core/plugins/oas31/components/contact.jsx +43 -0
- package/src/core/plugins/oas31/components/info.jsx +99 -0
- package/src/core/plugins/oas31/components/json-schema-dialect.jsx +60 -0
- package/src/core/plugins/oas31/components/license.jsx +38 -0
- package/src/core/plugins/oas31/components/model/_model.scss +23 -0
- package/src/core/plugins/oas31/components/model/model.jsx +54 -0
- package/src/core/plugins/oas31/components/models/_models.scss +11 -0
- package/src/core/plugins/oas31/components/models/models.jsx +141 -0
- package/src/core/plugins/oas31/components/version-pragma-filter.jsx +73 -0
- package/src/core/plugins/oas31/components/webhooks.jsx +49 -0
- package/src/core/plugins/oas31/fn.js +124 -0
- package/src/core/plugins/oas31/index.js +166 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Description.jsx +27 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Discriminator/Discriminator.jsx +118 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Discriminator/DiscriminatorMapping.jsx +32 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Example.jsx +28 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/ExternalDocs.jsx +143 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/OpenAPIExtensions.jsx +33 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Properties.jsx +60 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Xml.jsx +162 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/fn.js +57 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Description.jsx +9 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Examples.jsx +31 -0
- package/src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Properties.jsx +9 -0
- package/src/core/plugins/oas31/oas3-extensions/fn.js +46 -0
- package/src/core/plugins/oas31/selectors.js +26 -0
- package/src/core/plugins/oas31/spec-extensions/selectors.js +198 -0
- package/src/core/plugins/oas31/spec-extensions/wrap-selectors.js +18 -0
- package/src/core/plugins/oas31/wrap-components/auth/auth-item.jsx +22 -0
- package/src/core/plugins/oas31/wrap-components/auths.jsx +17 -0
- package/src/core/plugins/oas31/wrap-components/contact.jsx +15 -0
- package/src/core/plugins/oas31/wrap-components/info.jsx +15 -0
- package/src/core/plugins/oas31/wrap-components/license.jsx +15 -0
- package/src/core/plugins/oas31/wrap-components/model.jsx +44 -0
- package/src/core/plugins/oas31/wrap-components/models.jsx +47 -0
- package/src/core/plugins/oas31/wrap-components/version-pragma-filter.jsx +16 -0
- package/src/core/plugins/on-complete/index.js +28 -0
- package/src/core/plugins/request-snippets/fn.js +169 -0
- package/src/core/plugins/request-snippets/index.js +21 -0
- package/src/core/plugins/request-snippets/request-snippets.jsx +163 -0
- package/src/core/plugins/request-snippets/selectors.js +45 -0
- package/src/core/plugins/safe-render/components/error-boundary.jsx +52 -0
- package/src/core/plugins/safe-render/components/fallback.jsx +13 -0
- package/src/core/plugins/safe-render/fn.jsx +32 -0
- package/src/core/plugins/safe-render/index.js +42 -0
- package/src/core/plugins/spec/actions.js +531 -0
- package/src/core/plugins/spec/index.js +20 -0
- package/src/core/plugins/spec/reducers.js +176 -0
- package/src/core/plugins/spec/selectors.js +575 -0
- package/src/core/plugins/spec/wrap-actions.js +39 -0
- package/src/core/plugins/swagger-client/configs-wrap-actions.js +6 -0
- package/src/core/plugins/swagger-client/index.js +54 -0
- package/src/core/plugins/syntax-highlighting/after-load.js +25 -0
- package/src/core/plugins/syntax-highlighting/components/HighlightCode.jsx +107 -0
- package/src/core/plugins/syntax-highlighting/components/PlainTextViewer.jsx +17 -0
- package/src/core/plugins/syntax-highlighting/components/SyntaxHighlighter.jsx +42 -0
- package/src/core/plugins/syntax-highlighting/index.js +34 -0
- package/src/core/plugins/syntax-highlighting/root-injects.js +22 -0
- package/src/core/plugins/syntax-highlighting/wrap-components/SyntaxHighlighter.jsx +31 -0
- package/src/core/plugins/util/index.js +11 -0
- package/src/core/plugins/versions/after-load.js +19 -0
- package/src/core/plugins/versions/index.js +10 -0
- package/src/core/plugins/view/fn.js +1 -0
- package/src/core/plugins/view/index.js +34 -0
- package/src/core/plugins/view/root-injects.jsx +118 -0
- package/src/core/plugins/view-legacy/index.js +25 -0
- package/src/core/plugins/view-legacy/root-injects.jsx +12 -0
- package/src/core/presets/apis/index.js +18 -0
- package/src/core/presets/base/index.js +55 -0
- package/src/core/presets/base/plugins/core-components/index.js +130 -0
- package/src/core/presets/base/plugins/form-components/index.js +10 -0
- package/src/core/system.js +511 -0
- package/src/core/utils/create-html-ready-id.js +10 -0
- package/src/core/utils/get-parameter-schema.js +94 -0
- package/src/core/utils/index.js +847 -0
- package/src/core/utils/jsonParse.js +15 -0
- package/src/core/utils/memoizeN.js +48 -0
- package/src/core/utils/url.js +79 -0
- package/src/core/window.js +30 -0
- package/src/index.js +3 -0
- package/src/standalone/plugins/stadalone-layout/components/StandaloneLayout.jsx +40 -0
- package/src/standalone/plugins/stadalone-layout/index.js +12 -0
- package/src/standalone/plugins/top-bar/assets/lightbulb-off.svg +1 -0
- package/src/standalone/plugins/top-bar/assets/lightbulb.svg +1 -0
- package/src/standalone/plugins/top-bar/assets/logo_small.svg +60 -0
- package/src/standalone/plugins/top-bar/components/DarkModeToggle.jsx +47 -0
- package/src/standalone/plugins/top-bar/components/Logo.jsx +9 -0
- package/src/standalone/plugins/top-bar/components/TopBar.jsx +183 -0
- package/src/standalone/plugins/top-bar/index.js +12 -0
- package/src/standalone/presets/standalone/index.js +19 -0
- package/src/style/_authorize.scss +96 -0
- package/src/style/_buttons.scss +199 -0
- package/src/style/_dark-mode.scss +664 -0
- package/src/style/_errors.scss +72 -0
- package/src/style/_form.scss +214 -0
- package/src/style/_information.scss +99 -0
- package/src/style/_layout.scss +941 -0
- package/src/style/_markdown.scss +34 -0
- package/src/style/_mixins.scss +159 -0
- package/src/style/_modal.scss +95 -0
- package/src/style/_models.scss +330 -0
- package/src/style/_servers.scss +66 -0
- package/src/style/_split-pane-mode.scss +3 -0
- package/src/style/_table.scss +191 -0
- package/src/style/_topbar.scss +126 -0
- package/src/style/_type.scss +21 -0
- package/src/style/_variables.scss +230 -0
- package/src/style/main.scss +28 -0
- package/stylelint.config.js +11 -0
- package/swagger-ui-dist-package/absolute-path.js +14 -0
- package/swagger-ui-dist-package/index.js +17 -0
- package/swagger-ui-dist-package/package.json +20 -0
package/.agignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
dist/
|
package/.browserslistrc
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
[node-production]
|
|
2
|
+
maintained node versions
|
|
3
|
+
|
|
4
|
+
[node-development]
|
|
5
|
+
node 22
|
|
6
|
+
|
|
7
|
+
[browser-production]
|
|
8
|
+
> 1%
|
|
9
|
+
last 2 versions
|
|
10
|
+
Firefox ESR
|
|
11
|
+
not dead
|
|
12
|
+
|
|
13
|
+
[browser-development]
|
|
14
|
+
last 1 chrome version
|
|
15
|
+
last 1 firefox version
|
|
16
|
+
last 1 safari version
|
|
17
|
+
|
|
18
|
+
[isomorphic-production]
|
|
19
|
+
> 1%
|
|
20
|
+
last 2 versions
|
|
21
|
+
Firefox ESR
|
|
22
|
+
not dead
|
|
23
|
+
maintained node versions
|
|
24
|
+
|
|
25
|
+
[isomorphic-development]
|
|
26
|
+
last 1 chrome version
|
|
27
|
+
last 1 firefox version
|
|
28
|
+
last 1 safari version
|
|
29
|
+
node 22
|
package/.dockerignore
ADDED
package/.editorconfig
ADDED
package/.eslintrc.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*/
|
|
4
|
+
const path = require("node:path")
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
parser: "@babel/eslint-parser",
|
|
8
|
+
env: {
|
|
9
|
+
browser: true,
|
|
10
|
+
node: true,
|
|
11
|
+
es6: true,
|
|
12
|
+
jest: true,
|
|
13
|
+
"jest/globals": true,
|
|
14
|
+
},
|
|
15
|
+
parserOptions: {
|
|
16
|
+
ecmaFeatures: { jsx: true },
|
|
17
|
+
babelOptions: { configFile: path.join(__dirname, "babel.config.js") },
|
|
18
|
+
},
|
|
19
|
+
extends: [
|
|
20
|
+
"eslint:recommended",
|
|
21
|
+
"plugin:react/recommended",
|
|
22
|
+
"plugin:prettier/recommended",
|
|
23
|
+
],
|
|
24
|
+
plugins: ["react", "import", "jest", "prettier"],
|
|
25
|
+
settings: {
|
|
26
|
+
react: {
|
|
27
|
+
pragma: "React",
|
|
28
|
+
version: "15.0",
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
rules: {
|
|
32
|
+
semi: [2, "never"],
|
|
33
|
+
strict: 0,
|
|
34
|
+
quotes: [
|
|
35
|
+
2,
|
|
36
|
+
"double",
|
|
37
|
+
{
|
|
38
|
+
avoidEscape: true,
|
|
39
|
+
allowTemplateLiterals: true,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
"no-unused-vars": 2,
|
|
43
|
+
"no-multi-spaces": 1,
|
|
44
|
+
camelcase: [
|
|
45
|
+
"error",
|
|
46
|
+
{
|
|
47
|
+
allow: [
|
|
48
|
+
"^UNSAFE_",
|
|
49
|
+
"^requestSnippetGenerator_",
|
|
50
|
+
"^JsonSchema_",
|
|
51
|
+
"^curl_",
|
|
52
|
+
"^dom_",
|
|
53
|
+
"^api_",
|
|
54
|
+
"^client_",
|
|
55
|
+
"^grant_",
|
|
56
|
+
"^code_",
|
|
57
|
+
"^redirect_",
|
|
58
|
+
"^spec",
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
"no-use-before-define": [2, "nofunc"],
|
|
63
|
+
"no-underscore-dangle": 0,
|
|
64
|
+
"no-unused-expressions": 1,
|
|
65
|
+
"comma-dangle": 0,
|
|
66
|
+
"no-console": [
|
|
67
|
+
2,
|
|
68
|
+
{
|
|
69
|
+
allow: ["warn", "error"],
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
"react/jsx-no-bind": 1,
|
|
73
|
+
"react/jsx-no-target-blank": 2,
|
|
74
|
+
"react/display-name": 0,
|
|
75
|
+
"import/no-extraneous-dependencies": 2,
|
|
76
|
+
"react/jsx-filename-extension": 2,
|
|
77
|
+
},
|
|
78
|
+
}
|
package/.lintstagedrc
ADDED
package/.nvmrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
22.11.0
|
package/.prettierrc.yaml
ADDED
package/.releaserc
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"branches": [
|
|
3
|
+
{"name": "master"}
|
|
4
|
+
],
|
|
5
|
+
"tagFormat": "v${version}",
|
|
6
|
+
"plugins": [
|
|
7
|
+
"@semantic-release/commit-analyzer",
|
|
8
|
+
[
|
|
9
|
+
"@semantic-release/exec",
|
|
10
|
+
{
|
|
11
|
+
"verifyReleaseCmd": "echo \"NEXT_RELEASE_VERSION=${nextRelease.version}\" >> $GITHUB_ENV"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"@semantic-release/release-notes-generator",
|
|
15
|
+
"@semantic-release/npm",
|
|
16
|
+
"@semantic-release/github",
|
|
17
|
+
["@semantic-release/git", {
|
|
18
|
+
"assets": [
|
|
19
|
+
"dist/*.{js,html,css}",
|
|
20
|
+
"package.json",
|
|
21
|
+
"package-lock.json"
|
|
22
|
+
],
|
|
23
|
+
"message": "chore(release): cut the ${nextRelease.version} release\n\n${nextRelease.notes}"
|
|
24
|
+
}]
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
# Configuration Guide for Swagger UI Customization
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
Swagger UI now supports configuration-based customization for common UI features. You can control these features via configuration props instead of modifying component code.
|
|
5
|
+
|
|
6
|
+
## Available Configurations
|
|
7
|
+
|
|
8
|
+
### 1. Authorization UI Control (`showAuthorization`)
|
|
9
|
+
### 2. Try It Out Button Control (`showTryItOut`)
|
|
10
|
+
### 3. Info Section Links Control (`showInfoLinks`)
|
|
11
|
+
### 4. Operations Accordion Control (`operationsCollapsible`)
|
|
12
|
+
### 5. Operation Utilities Control (`showOperationUtilities`)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 2. Try It Out Button Control
|
|
17
|
+
|
|
18
|
+
### Configuration: `showTryItOut`
|
|
19
|
+
|
|
20
|
+
Control whether the "Try it out" button is displayed on API operations.
|
|
21
|
+
|
|
22
|
+
#### Default Behavior
|
|
23
|
+
By default, `showTryItOut` is set to `true`, which means the "Try it out" button will be displayed.
|
|
24
|
+
|
|
25
|
+
#### Hiding the Try It Out Button
|
|
26
|
+
|
|
27
|
+
To hide the "Try it out" button:
|
|
28
|
+
|
|
29
|
+
```javascript
|
|
30
|
+
const ui = SwaggerUIBundle({
|
|
31
|
+
url: "https://petstore.swagger.io/v2/swagger.json",
|
|
32
|
+
dom_id: "#swagger-ui",
|
|
33
|
+
// ... other config options
|
|
34
|
+
|
|
35
|
+
// Hide "Try it out" button
|
|
36
|
+
showTryItOut: false
|
|
37
|
+
})
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
#### Showing the Try It Out Button (Default)
|
|
41
|
+
|
|
42
|
+
To show the "Try it out" button:
|
|
43
|
+
|
|
44
|
+
```javascript
|
|
45
|
+
const ui = SwaggerUIBundle({
|
|
46
|
+
url: "https://petstore.swagger.io/v2/swagger.json",
|
|
47
|
+
dom_id: "#swagger-ui",
|
|
48
|
+
// ... other config options
|
|
49
|
+
|
|
50
|
+
// Show "Try it out" button (or just omit this line)
|
|
51
|
+
showTryItOut: true
|
|
52
|
+
})
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### What Changes
|
|
56
|
+
|
|
57
|
+
When `showTryItOut` is set to `false`:
|
|
58
|
+
- ✅ The "Try it out" button is hidden
|
|
59
|
+
- ✅ Users cannot interact with the API through the UI
|
|
60
|
+
- ✅ Perfect for read-only API documentation
|
|
61
|
+
|
|
62
|
+
When `showTryItOut` is set to `true` (default):
|
|
63
|
+
- ✅ The "Try it out" button is visible
|
|
64
|
+
- ✅ Users can test API endpoints directly
|
|
65
|
+
- ✅ Interactive API exploration enabled
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 3. Info Section Links Control
|
|
70
|
+
|
|
71
|
+
### Configuration: `showInfoLinks`
|
|
72
|
+
|
|
73
|
+
Control whether links in the info section are displayed (spec URL, contact, license, terms of service, external docs).
|
|
74
|
+
|
|
75
|
+
#### Default Behavior
|
|
76
|
+
By default, `showInfoLinks` is set to `true`, which means all info section links will be displayed.
|
|
77
|
+
|
|
78
|
+
#### Hiding Info Section Links
|
|
79
|
+
|
|
80
|
+
To hide all links in the info section:
|
|
81
|
+
|
|
82
|
+
```javascript
|
|
83
|
+
const ui = SwaggerUIBundle({
|
|
84
|
+
url: "https://petstore.swagger.io/v2/swagger.json",
|
|
85
|
+
dom_id: "#swagger-ui",
|
|
86
|
+
// ... other config options
|
|
87
|
+
|
|
88
|
+
// Hide info section links
|
|
89
|
+
showInfoLinks: false
|
|
90
|
+
})
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
#### Showing Info Section Links (Default)
|
|
94
|
+
|
|
95
|
+
To show all links in the info section:
|
|
96
|
+
|
|
97
|
+
```javascript
|
|
98
|
+
const ui = SwaggerUIBundle({
|
|
99
|
+
url: "https://petstore.swagger.io/v2/swagger.json",
|
|
100
|
+
dom_id: "#swagger-ui",
|
|
101
|
+
// ... other config options
|
|
102
|
+
|
|
103
|
+
// Show info section links (or just omit this line)
|
|
104
|
+
showInfoLinks: true
|
|
105
|
+
})
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### What Changes
|
|
109
|
+
|
|
110
|
+
When `showInfoLinks` is set to `false`:
|
|
111
|
+
- ✅ Spec URL link is hidden
|
|
112
|
+
- ✅ Contact information links are hidden
|
|
113
|
+
- ✅ License links are hidden
|
|
114
|
+
- ✅ Terms of service link is hidden
|
|
115
|
+
- ✅ External documentation link is hidden
|
|
116
|
+
- ✅ Cleaner, more focused documentation view
|
|
117
|
+
|
|
118
|
+
When `showInfoLinks` is set to `true` (default):
|
|
119
|
+
- ✅ All info section links are visible
|
|
120
|
+
- ✅ Users can access contact information
|
|
121
|
+
- ✅ Users can view license details
|
|
122
|
+
- ✅ Full API metadata is available
|
|
123
|
+
|
|
124
|
+
### Use Cases
|
|
125
|
+
|
|
126
|
+
**Hide links when:**
|
|
127
|
+
- You want a cleaner, minimal documentation view
|
|
128
|
+
- You're embedding Swagger UI and don't want external links
|
|
129
|
+
- You're creating internal documentation without public contact info
|
|
130
|
+
- You want to control where users navigate
|
|
131
|
+
|
|
132
|
+
**Show links when:**
|
|
133
|
+
- You want users to access full API metadata
|
|
134
|
+
- You want to provide contact and license information
|
|
135
|
+
- You're creating public API documentation
|
|
136
|
+
- Standard Swagger UI behavior is desired
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 4. Operations Accordion Control
|
|
141
|
+
|
|
142
|
+
### Configuration: `operationsCollapsible`
|
|
143
|
+
|
|
144
|
+
Control whether API operations can be collapsed/expanded (accordion behavior).
|
|
145
|
+
|
|
146
|
+
#### Default Behavior
|
|
147
|
+
By default, `operationsCollapsible` is set to `true`, which means operations can be collapsed and expanded (standard accordion behavior).
|
|
148
|
+
|
|
149
|
+
#### Keeping Operations Always Expanded
|
|
150
|
+
|
|
151
|
+
To keep all operations always expanded and disable the accordion functionality:
|
|
152
|
+
|
|
153
|
+
```javascript
|
|
154
|
+
const ui = SwaggerUIBundle({
|
|
155
|
+
url: "https://petstore.swagger.io/v2/swagger.json",
|
|
156
|
+
dom_id: "#swagger-ui",
|
|
157
|
+
// ... other config options
|
|
158
|
+
|
|
159
|
+
// Keep operations always expanded
|
|
160
|
+
operationsCollapsible: false
|
|
161
|
+
})
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
#### Enabling Accordion Behavior (Default)
|
|
165
|
+
|
|
166
|
+
To allow users to collapse/expand operations:
|
|
167
|
+
|
|
168
|
+
```javascript
|
|
169
|
+
const ui = SwaggerUIBundle({
|
|
170
|
+
url: "https://petstore.swagger.io/v2/swagger.json",
|
|
171
|
+
dom_id: "#swagger-ui",
|
|
172
|
+
// ... other config options
|
|
173
|
+
|
|
174
|
+
// Enable accordion (or just omit this line)
|
|
175
|
+
operationsCollapsible: true
|
|
176
|
+
})
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### What Changes
|
|
180
|
+
|
|
181
|
+
When `operationsCollapsible` is set to `false`:
|
|
182
|
+
- ✅ All operations are always shown expanded
|
|
183
|
+
- ✅ Arrow buttons (up/down) are hidden
|
|
184
|
+
- ✅ Clicking on operation headers does nothing
|
|
185
|
+
- ✅ Users can see all operation details immediately
|
|
186
|
+
|
|
187
|
+
When `operationsCollapsible` is set to `true` (default):
|
|
188
|
+
- ✅ Operations can be collapsed/expanded
|
|
189
|
+
- ✅ Arrow buttons are visible
|
|
190
|
+
- ✅ Clicking toggles the operation details
|
|
191
|
+
- ✅ Standard accordion behavior
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## 1. Authorization UI Control
|
|
196
|
+
|
|
197
|
+
### Configuration: `showAuthorization`
|
|
198
|
+
|
|
199
|
+
Control whether authorization UI elements (Authorize button and lock icons) are displayed.
|
|
200
|
+
|
|
201
|
+
## Configuration
|
|
202
|
+
|
|
203
|
+
### Default Behavior
|
|
204
|
+
By default, `showAuthorization` is set to `true`, which means the authorization UI will be displayed (backward compatible).
|
|
205
|
+
|
|
206
|
+
### Hiding Authorization UI
|
|
207
|
+
|
|
208
|
+
To hide the Authorize button and lock icons, set `showAuthorization: false` in your Swagger UI configuration:
|
|
209
|
+
|
|
210
|
+
```javascript
|
|
211
|
+
const ui = SwaggerUIBundle({
|
|
212
|
+
url: "https://petstore.swagger.io/v2/swagger.json",
|
|
213
|
+
dom_id: "#swagger-ui",
|
|
214
|
+
presets: [
|
|
215
|
+
SwaggerUIBundle.presets.apis,
|
|
216
|
+
SwaggerUIStandalonePreset
|
|
217
|
+
],
|
|
218
|
+
plugins: [
|
|
219
|
+
SwaggerUIBundle.plugins.DownloadUrl
|
|
220
|
+
],
|
|
221
|
+
layout: "StandaloneLayout",
|
|
222
|
+
|
|
223
|
+
// Add this line to hide authorization UI
|
|
224
|
+
showAuthorization: false
|
|
225
|
+
})
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Showing Authorization UI
|
|
229
|
+
|
|
230
|
+
To show the Authorize button and lock icons (default behavior):
|
|
231
|
+
|
|
232
|
+
```javascript
|
|
233
|
+
const ui = SwaggerUIBundle({
|
|
234
|
+
url: "https://petstore.swagger.io/v2/swagger.json",
|
|
235
|
+
dom_id: "#swagger-ui",
|
|
236
|
+
// ... other config options
|
|
237
|
+
|
|
238
|
+
// Explicitly enable authorization UI (or just omit this line)
|
|
239
|
+
showAuthorization: true
|
|
240
|
+
})
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## What Gets Hidden/Shown
|
|
244
|
+
|
|
245
|
+
When `showAuthorization` is set to `false`:
|
|
246
|
+
- ✅ The main "Authorize" button in the top-right area is hidden
|
|
247
|
+
- ✅ The lock icons next to each API operation are hidden
|
|
248
|
+
- ✅ Users cannot access the authorization popup
|
|
249
|
+
|
|
250
|
+
When `showAuthorization` is set to `true` (default):
|
|
251
|
+
- ✅ The main "Authorize" button is visible
|
|
252
|
+
- ✅ The lock icons appear next to operations that require authentication
|
|
253
|
+
- ✅ Users can click to configure authorization
|
|
254
|
+
|
|
255
|
+
## Example: Testing Locally
|
|
256
|
+
|
|
257
|
+
To test this in your dev environment, edit `dev-helpers/dev-helper-initializer.js`:
|
|
258
|
+
|
|
259
|
+
```javascript
|
|
260
|
+
window.onload = function() {
|
|
261
|
+
window["SwaggerUIBundle"] = window["swagger-ui-bundle"]
|
|
262
|
+
window["SwaggerUIStandalonePreset"] = window["swagger-ui-standalone-preset"]
|
|
263
|
+
|
|
264
|
+
const ui = SwaggerUIBundle({
|
|
265
|
+
url: "https://petstore.swagger.io/v2/swagger.json",
|
|
266
|
+
dom_id: "#swagger-ui",
|
|
267
|
+
presets: [
|
|
268
|
+
SwaggerUIBundle.presets.apis,
|
|
269
|
+
SwaggerUIStandalonePreset
|
|
270
|
+
],
|
|
271
|
+
plugins: [
|
|
272
|
+
SwaggerUIBundle.plugins.DownloadUrl
|
|
273
|
+
],
|
|
274
|
+
layout: "StandaloneLayout",
|
|
275
|
+
|
|
276
|
+
// Hide authorization UI
|
|
277
|
+
showAuthorization: false
|
|
278
|
+
})
|
|
279
|
+
|
|
280
|
+
window.ui = ui
|
|
281
|
+
}
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## Combined Example
|
|
287
|
+
|
|
288
|
+
You can use all configurations together for a streamlined, read-only API documentation view:
|
|
289
|
+
|
|
290
|
+
```javascript
|
|
291
|
+
const ui = SwaggerUIBundle({
|
|
292
|
+
url: "https://petstore.swagger.io/v2/swagger.json",
|
|
293
|
+
dom_id: "#swagger-ui",
|
|
294
|
+
presets: [
|
|
295
|
+
SwaggerUIBundle.presets.apis,
|
|
296
|
+
SwaggerUIStandalonePreset
|
|
297
|
+
],
|
|
298
|
+
plugins: [
|
|
299
|
+
SwaggerUIBundle.plugins.DownloadUrl
|
|
300
|
+
],
|
|
301
|
+
layout: "StandaloneLayout",
|
|
302
|
+
|
|
303
|
+
// Hide authorization UI
|
|
304
|
+
showAuthorization: false,
|
|
305
|
+
|
|
306
|
+
// Hide "Try it out" button
|
|
307
|
+
showTryItOut: false,
|
|
308
|
+
|
|
309
|
+
// Keep all operations expanded
|
|
310
|
+
operationsCollapsible: false,
|
|
311
|
+
|
|
312
|
+
// Hide utility buttons
|
|
313
|
+
showOperationUtilities: false
|
|
314
|
+
})
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
This creates a clean, read-only documentation view where:
|
|
318
|
+
- ✅ No authorization UI clutter
|
|
319
|
+
- ✅ No "Try it out" button (read-only mode)
|
|
320
|
+
- ✅ All API operations are immediately visible
|
|
321
|
+
- ✅ No utility buttons (copy, jump-to)
|
|
322
|
+
- ✅ Users can quickly scan all endpoints
|
|
323
|
+
- ✅ Perfect for public API documentation
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## Files Modified
|
|
328
|
+
|
|
329
|
+
The following files were modified to support these features:
|
|
330
|
+
|
|
331
|
+
### Authorization Control (`showAuthorization`):
|
|
332
|
+
1. **`src/core/config/defaults.js`** - Added `showAuthorization: true` default config
|
|
333
|
+
2. **`src/core/config/type-cast/mappings.js`** - Added type-cast mapping for the config
|
|
334
|
+
3. **`src/core/components/layouts/base.jsx`** - Made main Authorize button conditional
|
|
335
|
+
4. **`src/core/components/operation-summary.jsx`** - Made operation lock icons conditional
|
|
336
|
+
|
|
337
|
+
### Operations Accordion Control (`operationsCollapsible`):
|
|
338
|
+
1. **`src/core/config/defaults.js`** - Added `operationsCollapsible: true` default config
|
|
339
|
+
2. **`src/core/config/type-cast/mappings.js`** - Added type-cast mapping for the config
|
|
340
|
+
3. **`src/core/containers/OperationContainer.jsx`** - Made operations always expanded when disabled
|
|
341
|
+
4. **`src/core/components/operation-summary.jsx`** - Hid arrow buttons when not collapsible
|
|
342
|
+
|
|
343
|
+
## Benefits
|
|
344
|
+
|
|
345
|
+
✅ **Configurable** - Easy to toggle on/off via configuration
|
|
346
|
+
✅ **Backward Compatible** - Defaults maintain existing behavior
|
|
347
|
+
✅ **Future-Proof** - Just change the config value to restore features
|
|
348
|
+
✅ **Clean Architecture** - No need to modify component code to hide/show features
|
|
349
|
+
✅ **Flexible** - Use individually or combine for custom experiences
|
|
350
|
+
|
package/Dockerfile
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Looking for information on environment variables?
|
|
2
|
+
# We don't declare them here — take a look at our docs.
|
|
3
|
+
# https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md
|
|
4
|
+
|
|
5
|
+
FROM nginx:1.29.3-alpine
|
|
6
|
+
|
|
7
|
+
LABEL maintainer="vladimir.gorej@gmail.com" \
|
|
8
|
+
org.opencontainers.image.authors="vladimir.gorej@gmail.com" \
|
|
9
|
+
org.opencontainers.image.url="docker.swagger.io/swaggerapi/swagger-ui" \
|
|
10
|
+
org.opencontainers.image.source="https://github.com/swagger-api/swagger-ui" \
|
|
11
|
+
org.opencontainers.image.description="SwaggerUI Docker image" \
|
|
12
|
+
org.opencontainers.image.licenses="Apache-2.0"
|
|
13
|
+
|
|
14
|
+
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"
|
|
15
|
+
|
|
16
|
+
LABEL maintainer="char0n"
|
|
17
|
+
|
|
18
|
+
ENV API_KEY="**None**" \
|
|
19
|
+
SWAGGER_JSON="/app/swagger.json" \
|
|
20
|
+
PORT="8080" \
|
|
21
|
+
PORT_IPV6="" \
|
|
22
|
+
BASE_URL="/" \
|
|
23
|
+
SWAGGER_JSON_URL="" \
|
|
24
|
+
CORS="true" \
|
|
25
|
+
EMBEDDING="false"
|
|
26
|
+
|
|
27
|
+
COPY --chmod=0644 ./docker/default.conf.template ./docker/cors.conf ./docker/embedding.conf /etc/nginx/templates/
|
|
28
|
+
|
|
29
|
+
COPY --chmod=0644 ./dist/* /usr/share/nginx/html/
|
|
30
|
+
COPY --chmod=0755 ./docker/docker-entrypoint.d/ /docker-entrypoint.d/
|
|
31
|
+
COPY --chmod=0644 ./docker/configurator /usr/share/nginx/configurator
|
|
32
|
+
|
|
33
|
+
# Simulates running NGINX as a non root; in future we want to use nginxinc/nginx-unprivileged.
|
|
34
|
+
# In future we will have separate unpriviledged images tagged as v5.1.2-unprivileged.
|
|
35
|
+
RUN chmod 777 /etc/nginx/conf.d/ /usr/share/nginx/html/ /var/cache/nginx/ /var/run/ && \
|
|
36
|
+
chmod 666 /etc/nginx/conf.d/default.conf /usr/share/nginx/html/swagger-initializer.js && \
|
|
37
|
+
chmod 755 /etc/nginx/templates /usr/share/nginx/configurator
|
|
38
|
+
|
|
39
|
+
EXPOSE 8080
|