@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.
Files changed (468) hide show
  1. package/.agignore +1 -0
  2. package/.browserslistrc +29 -0
  3. package/.dockerignore +8 -0
  4. package/.editorconfig +10 -0
  5. package/.eslintrc.js +78 -0
  6. package/.lintstagedrc +4 -0
  7. package/.nvmrc +1 -0
  8. package/.prettierrc.yaml +5 -0
  9. package/.releaserc +26 -0
  10. package/AUTHORIZATION_CONFIG.md +350 -0
  11. package/Dockerfile +39 -0
  12. package/LICENSE +202 -0
  13. package/NOTICE +2 -0
  14. package/README.md +117 -0
  15. package/babel.config.js +140 -0
  16. package/composer.json +40 -0
  17. package/dist/favicon-16x16.png +0 -0
  18. package/dist/favicon-32x32.png +0 -0
  19. package/dist/index.css +16 -0
  20. package/dist/index.html +19 -0
  21. package/dist/log.bundle-sizes.swagger-ui.txt +114 -0
  22. package/dist/log.es-bundle-core-sizes.swagger-ui.txt +14 -0
  23. package/dist/log.es-bundle-sizes.swagger-ui.txt +114 -0
  24. package/dist/oauth2-redirect.html +6 -0
  25. package/dist/oauth2-redirect.js +1 -0
  26. package/dist/swagger-initializer.js +20 -0
  27. package/dist/swagger-ui-bundle.js +2 -0
  28. package/dist/swagger-ui-bundle.js.LICENSE.txt +106 -0
  29. package/dist/swagger-ui-bundle.js.map +1 -0
  30. package/dist/swagger-ui-es-bundle-core.js +3 -0
  31. package/dist/swagger-ui-es-bundle-core.js.LICENSE.txt +35 -0
  32. package/dist/swagger-ui-es-bundle-core.js.map +1 -0
  33. package/dist/swagger-ui-es-bundle.js +2 -0
  34. package/dist/swagger-ui-es-bundle.js.LICENSE.txt +106 -0
  35. package/dist/swagger-ui-es-bundle.js.map +1 -0
  36. package/dist/swagger-ui-standalone-preset.js +2 -0
  37. package/dist/swagger-ui-standalone-preset.js.LICENSE.txt +22 -0
  38. package/dist/swagger-ui-standalone-preset.js.map +1 -0
  39. package/dist/swagger-ui.css +3 -0
  40. package/dist/swagger-ui.css.map +1 -0
  41. package/dist/swagger-ui.js +2 -0
  42. package/dist/swagger-ui.js.map +1 -0
  43. package/docker/configurator/helpers.js +13 -0
  44. package/docker/configurator/index.js +52 -0
  45. package/docker/configurator/oauth.js +55 -0
  46. package/docker/configurator/translator.js +111 -0
  47. package/docker/configurator/variables.js +125 -0
  48. package/docker/cors.conf +14 -0
  49. package/docker/default.conf.template +43 -0
  50. package/docker/docker-entrypoint.d/40-swagger-ui.sh +52 -0
  51. package/docker/embedding.conf +5 -0
  52. package/package.json +224 -0
  53. package/snapcraft.yaml +28 -0
  54. package/src/core/assets/rolling-load.svg +1 -0
  55. package/src/core/components/app.jsx +30 -0
  56. package/src/core/components/auth/api-key-auth.jsx +93 -0
  57. package/src/core/components/auth/auth-item.jsx +60 -0
  58. package/src/core/components/auth/authorization-popup.jsx +59 -0
  59. package/src/core/components/auth/authorize-btn.jsx +30 -0
  60. package/src/core/components/auth/authorize-operation-btn.jsx +35 -0
  61. package/src/core/components/auth/auths.jsx +124 -0
  62. package/src/core/components/auth/basic-auth.jsx +110 -0
  63. package/src/core/components/auth/error.jsx +24 -0
  64. package/src/core/components/auth/oauth2.jsx +283 -0
  65. package/src/core/components/clear.jsx +25 -0
  66. package/src/core/components/contact.jsx +44 -0
  67. package/src/core/components/content-type.jsx +64 -0
  68. package/src/core/components/copy-to-clipboard-btn.jsx +29 -0
  69. package/src/core/components/curl.jsx +38 -0
  70. package/src/core/components/debug.jsx +50 -0
  71. package/src/core/components/deep-link.jsx +20 -0
  72. package/src/core/components/errors.jsx +132 -0
  73. package/src/core/components/example.jsx +43 -0
  74. package/src/core/components/examples-select-value-retainer.jsx +254 -0
  75. package/src/core/components/examples-select.jsx +139 -0
  76. package/src/core/components/execute.jsx +103 -0
  77. package/src/core/components/footer.jsx +9 -0
  78. package/src/core/components/headers.jsx +58 -0
  79. package/src/core/components/info.jsx +169 -0
  80. package/src/core/components/initialized-input.jsx +36 -0
  81. package/src/core/components/jump-to-path.jsx +9 -0
  82. package/src/core/components/layout-utils.jsx +265 -0
  83. package/src/core/components/layouts/base.jsx +156 -0
  84. package/src/core/components/layouts/xpane.jsx +73 -0
  85. package/src/core/components/license.jsx +40 -0
  86. package/src/core/components/live-response.jsx +133 -0
  87. package/src/core/components/online-validator-badge.jsx +120 -0
  88. package/src/core/components/openapi-version.jsx +15 -0
  89. package/src/core/components/operation-extension-row.jsx +17 -0
  90. package/src/core/components/operation-extensions.jsx +35 -0
  91. package/src/core/components/operation-summary-method.jsx +25 -0
  92. package/src/core/components/operation-summary-path.jsx +54 -0
  93. package/src/core/components/operation-summary.jsx +102 -0
  94. package/src/core/components/operation-tag.jsx +121 -0
  95. package/src/core/components/operation.jsx +259 -0
  96. package/src/core/components/operations.jsx +100 -0
  97. package/src/core/components/overview.jsx +119 -0
  98. package/src/core/components/param-body.jsx +156 -0
  99. package/src/core/components/parameter-extension.jsx +12 -0
  100. package/src/core/components/parameter-include-empty.jsx +59 -0
  101. package/src/core/components/parameter-row.jsx +438 -0
  102. package/src/core/components/parameters/index.js +1 -0
  103. package/src/core/components/parameters/parameters.jsx +287 -0
  104. package/src/core/components/property.jsx +17 -0
  105. package/src/core/components/providers/README.md +6 -0
  106. package/src/core/components/providers/markdown.jsx +72 -0
  107. package/src/core/components/response-body.jsx +170 -0
  108. package/src/core/components/response-extension.jsx +12 -0
  109. package/src/core/components/response.jsx +276 -0
  110. package/src/core/components/responses.jsx +170 -0
  111. package/src/core/components/svg-assets.jsx +48 -0
  112. package/src/core/components/system-wrapper.jsx +0 -0
  113. package/src/core/components/try-it-out-button.jsx +41 -0
  114. package/src/core/components/version-pragma-filter.jsx +54 -0
  115. package/src/core/components/version-stamp.jsx +12 -0
  116. package/src/core/containers/OperationContainer.jsx +267 -0
  117. package/src/core/containers/authorize-btn.jsx +31 -0
  118. package/src/core/containers/filter.jsx +44 -0
  119. package/src/core/containers/info.jsx +35 -0
  120. package/src/core/index.js +174 -0
  121. package/src/core/oauth2-authorize.js +137 -0
  122. package/src/core/plugins/auth/actions.js +286 -0
  123. package/src/core/plugins/auth/components/lock-auth-icon.jsx +27 -0
  124. package/src/core/plugins/auth/components/unlock-auth-icon.jsx +27 -0
  125. package/src/core/plugins/auth/configs-extensions/wrap-actions.js +19 -0
  126. package/src/core/plugins/auth/index.js +94 -0
  127. package/src/core/plugins/auth/reducers.js +77 -0
  128. package/src/core/plugins/auth/selectors.js +121 -0
  129. package/src/core/plugins/auth/spec-extensions/wrap-actions.js +10 -0
  130. package/src/core/plugins/auth/wrap-actions.js +66 -0
  131. package/src/core/plugins/configs/actions.js +58 -0
  132. package/src/core/plugins/configs/fn.js +12 -0
  133. package/src/core/plugins/configs/index.js +16 -0
  134. package/src/core/plugins/configs/reducers.js +20 -0
  135. package/src/core/plugins/configs/selectors.js +4 -0
  136. package/src/core/plugins/deep-linking/README.md +1 -0
  137. package/src/core/plugins/deep-linking/helpers.js +7 -0
  138. package/src/core/plugins/deep-linking/index.js +24 -0
  139. package/src/core/plugins/deep-linking/layout.js +209 -0
  140. package/src/core/plugins/deep-linking/operation-tag-wrapper.jsx +25 -0
  141. package/src/core/plugins/deep-linking/operation-wrapper.jsx +27 -0
  142. package/src/core/plugins/download-url/index.js +126 -0
  143. package/src/core/plugins/err/actions.js +60 -0
  144. package/src/core/plugins/err/error-transformers/README.md +31 -0
  145. package/src/core/plugins/err/error-transformers/hook.js +38 -0
  146. package/src/core/plugins/err/error-transformers/transformers/not-of-type.js +29 -0
  147. package/src/core/plugins/err/error-transformers/transformers/parameter-oneof.js +59 -0
  148. package/src/core/plugins/err/index.js +15 -0
  149. package/src/core/plugins/err/reducers.js +100 -0
  150. package/src/core/plugins/err/selectors.js +15 -0
  151. package/src/core/plugins/filter/index.js +9 -0
  152. package/src/core/plugins/filter/opsFilter.js +3 -0
  153. package/src/core/plugins/icons/components/arrow-down.jsx +28 -0
  154. package/src/core/plugins/icons/components/arrow-up.jsx +28 -0
  155. package/src/core/plugins/icons/components/arrow.jsx +28 -0
  156. package/src/core/plugins/icons/components/close.jsx +28 -0
  157. package/src/core/plugins/icons/components/copy.jsx +34 -0
  158. package/src/core/plugins/icons/components/lock.jsx +28 -0
  159. package/src/core/plugins/icons/components/unlock.jsx +28 -0
  160. package/src/core/plugins/icons/index.js +24 -0
  161. package/src/core/plugins/json-schema-2020-12/components/Accordion/Accordion.jsx +45 -0
  162. package/src/core/plugins/json-schema-2020-12/components/Accordion/_accordion.scss +33 -0
  163. package/src/core/plugins/json-schema-2020-12/components/ExpandDeepButton/ExpandDeepButton.jsx +31 -0
  164. package/src/core/plugins/json-schema-2020-12/components/ExpandDeepButton/_expand-deep-button.scss +10 -0
  165. package/src/core/plugins/json-schema-2020-12/components/JSONSchema/JSONSchema.jsx +227 -0
  166. package/src/core/plugins/json-schema-2020-12/components/JSONSchema/_json-schema.scss +34 -0
  167. package/src/core/plugins/json-schema-2020-12/components/JSONViewer/JSONViewer.jsx +153 -0
  168. package/src/core/plugins/json-schema-2020-12/components/JSONViewer/_json-viewer.scss +11 -0
  169. package/src/core/plugins/json-schema-2020-12/components/_all.scss +4 -0
  170. package/src/core/plugins/json-schema-2020-12/components/_mixins.scss +82 -0
  171. package/src/core/plugins/json-schema-2020-12/components/icons/ChevronRight.jsx +17 -0
  172. package/src/core/plugins/json-schema-2020-12/components/keywords/$anchor.jsx +27 -0
  173. package/src/core/plugins/json-schema-2020-12/components/keywords/$comment.jsx +27 -0
  174. package/src/core/plugins/json-schema-2020-12/components/keywords/$defs.jsx +93 -0
  175. package/src/core/plugins/json-schema-2020-12/components/keywords/$dynamicAnchor.jsx +27 -0
  176. package/src/core/plugins/json-schema-2020-12/components/keywords/$dynamicRef.jsx +27 -0
  177. package/src/core/plugins/json-schema-2020-12/components/keywords/$id.jsx +27 -0
  178. package/src/core/plugins/json-schema-2020-12/components/keywords/$ref.jsx +27 -0
  179. package/src/core/plugins/json-schema-2020-12/components/keywords/$schema.jsx +27 -0
  180. package/src/core/plugins/json-schema-2020-12/components/keywords/$vocabulary/$vocabulary.jsx +66 -0
  181. package/src/core/plugins/json-schema-2020-12/components/keywords/$vocabulary/_$vocabulary.scss +17 -0
  182. package/src/core/plugins/json-schema-2020-12/components/keywords/AdditionalProperties.jsx +55 -0
  183. package/src/core/plugins/json-schema-2020-12/components/keywords/AllOf.jsx +105 -0
  184. package/src/core/plugins/json-schema-2020-12/components/keywords/AnyOf.jsx +105 -0
  185. package/src/core/plugins/json-schema-2020-12/components/keywords/Const/Const.jsx +28 -0
  186. package/src/core/plugins/json-schema-2020-12/components/keywords/Const/_const.scss +11 -0
  187. package/src/core/plugins/json-schema-2020-12/components/keywords/Constraint/Constraint.jsx +38 -0
  188. package/src/core/plugins/json-schema-2020-12/components/keywords/Constraint/_constraint.scss +16 -0
  189. package/src/core/plugins/json-schema-2020-12/components/keywords/Contains.jsx +35 -0
  190. package/src/core/plugins/json-schema-2020-12/components/keywords/ContentSchema.jsx +39 -0
  191. package/src/core/plugins/json-schema-2020-12/components/keywords/Default/Default.jsx +28 -0
  192. package/src/core/plugins/json-schema-2020-12/components/keywords/Default/_default.scss +11 -0
  193. package/src/core/plugins/json-schema-2020-12/components/keywords/DependentRequired/DependentRequired.jsx +37 -0
  194. package/src/core/plugins/json-schema-2020-12/components/keywords/DependentRequired/_dependent-required.scss +12 -0
  195. package/src/core/plugins/json-schema-2020-12/components/keywords/DependentSchemas.jsx +97 -0
  196. package/src/core/plugins/json-schema-2020-12/components/keywords/Deprecated.jsx +22 -0
  197. package/src/core/plugins/json-schema-2020-12/components/keywords/Description/Description.jsx +24 -0
  198. package/src/core/plugins/json-schema-2020-12/components/keywords/Description/_description.scss +9 -0
  199. package/src/core/plugins/json-schema-2020-12/components/keywords/Else.jsx +35 -0
  200. package/src/core/plugins/json-schema-2020-12/components/keywords/Enum/Enum.jsx +27 -0
  201. package/src/core/plugins/json-schema-2020-12/components/keywords/Enum/_enum.scss +11 -0
  202. package/src/core/plugins/json-schema-2020-12/components/keywords/Examples/Examples.jsx +30 -0
  203. package/src/core/plugins/json-schema-2020-12/components/keywords/Examples/_examples.scss +11 -0
  204. package/src/core/plugins/json-schema-2020-12/components/keywords/ExtensionKeywords/ExtensionKeywords.jsx +103 -0
  205. package/src/core/plugins/json-schema-2020-12/components/keywords/ExtensionKeywords/_extension-keywords.scss +11 -0
  206. package/src/core/plugins/json-schema-2020-12/components/keywords/If.jsx +35 -0
  207. package/src/core/plugins/json-schema-2020-12/components/keywords/Items.jsx +35 -0
  208. package/src/core/plugins/json-schema-2020-12/components/keywords/Not.jsx +35 -0
  209. package/src/core/plugins/json-schema-2020-12/components/keywords/OneOf.jsx +105 -0
  210. package/src/core/plugins/json-schema-2020-12/components/keywords/PatternProperties/PatternProperties.jsx +41 -0
  211. package/src/core/plugins/json-schema-2020-12/components/keywords/PatternProperties/_pattern-properties.scss +21 -0
  212. package/src/core/plugins/json-schema-2020-12/components/keywords/PrefixItems.jsx +105 -0
  213. package/src/core/plugins/json-schema-2020-12/components/keywords/Properties/Properties.jsx +61 -0
  214. package/src/core/plugins/json-schema-2020-12/components/keywords/Properties/_properties.scss +24 -0
  215. package/src/core/plugins/json-schema-2020-12/components/keywords/PropertyNames.jsx +38 -0
  216. package/src/core/plugins/json-schema-2020-12/components/keywords/ReadOnly.jsx +22 -0
  217. package/src/core/plugins/json-schema-2020-12/components/keywords/Then.jsx +35 -0
  218. package/src/core/plugins/json-schema-2020-12/components/keywords/Title/Title.jsx +24 -0
  219. package/src/core/plugins/json-schema-2020-12/components/keywords/Title/_title.scss +26 -0
  220. package/src/core/plugins/json-schema-2020-12/components/keywords/Type.jsx +27 -0
  221. package/src/core/plugins/json-schema-2020-12/components/keywords/UnevaluatedItems.jsx +39 -0
  222. package/src/core/plugins/json-schema-2020-12/components/keywords/UnevaluatedProperties.jsx +39 -0
  223. package/src/core/plugins/json-schema-2020-12/components/keywords/WriteOnly.jsx +22 -0
  224. package/src/core/plugins/json-schema-2020-12/components/keywords/_all.scss +43 -0
  225. package/src/core/plugins/json-schema-2020-12/context.js +14 -0
  226. package/src/core/plugins/json-schema-2020-12/enum.js +10 -0
  227. package/src/core/plugins/json-schema-2020-12/fn.js +527 -0
  228. package/src/core/plugins/json-schema-2020-12/hoc.jsx +296 -0
  229. package/src/core/plugins/json-schema-2020-12/hooks.js +144 -0
  230. package/src/core/plugins/json-schema-2020-12/index.js +153 -0
  231. package/src/core/plugins/json-schema-2020-12/prop-types.js +10 -0
  232. package/src/core/plugins/json-schema-2020-12-samples/fn/api/encoderAPI.js +20 -0
  233. package/src/core/plugins/json-schema-2020-12-samples/fn/api/formatAPI.js +20 -0
  234. package/src/core/plugins/json-schema-2020-12-samples/fn/api/mediaTypeAPI.js +27 -0
  235. package/src/core/plugins/json-schema-2020-12-samples/fn/api/optionAPI.js +17 -0
  236. package/src/core/plugins/json-schema-2020-12-samples/fn/class/EncoderRegistry.js +33 -0
  237. package/src/core/plugins/json-schema-2020-12-samples/fn/class/FormatRegistry.js +65 -0
  238. package/src/core/plugins/json-schema-2020-12-samples/fn/class/MediaTypeRegistry.js +27 -0
  239. package/src/core/plugins/json-schema-2020-12-samples/fn/class/OptionRegistry.js +16 -0
  240. package/src/core/plugins/json-schema-2020-12-samples/fn/class/Registry.js +24 -0
  241. package/src/core/plugins/json-schema-2020-12-samples/fn/core/constants.js +6 -0
  242. package/src/core/plugins/json-schema-2020-12-samples/fn/core/example.js +57 -0
  243. package/src/core/plugins/json-schema-2020-12-samples/fn/core/merge.js +83 -0
  244. package/src/core/plugins/json-schema-2020-12-samples/fn/core/predicates.js +16 -0
  245. package/src/core/plugins/json-schema-2020-12-samples/fn/core/random.js +46 -0
  246. package/src/core/plugins/json-schema-2020-12-samples/fn/core/type.js +156 -0
  247. package/src/core/plugins/json-schema-2020-12-samples/fn/core/utils.js +23 -0
  248. package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/7bit.js +6 -0
  249. package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/8bit.js +6 -0
  250. package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base16.js +6 -0
  251. package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base32.js +34 -0
  252. package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base64.js +6 -0
  253. package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base64url.js +6 -0
  254. package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/binary.js +6 -0
  255. package/src/core/plugins/json-schema-2020-12-samples/fn/encoders/quoted-printable.js +38 -0
  256. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/date-time.js +6 -0
  257. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/date.js +6 -0
  258. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/double.js +6 -0
  259. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/duration.js +6 -0
  260. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/email.js +6 -0
  261. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/float.js +6 -0
  262. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/hostname.js +6 -0
  263. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-email.js +6 -0
  264. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-hostname.js +6 -0
  265. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/int32.js +6 -0
  266. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/int64.js +6 -0
  267. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv4.js +6 -0
  268. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv6.js +6 -0
  269. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/iri-reference.js +6 -0
  270. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/iri.js +6 -0
  271. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/json-pointer.js +6 -0
  272. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/application.js +17 -0
  273. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/audio.js +10 -0
  274. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/image.js +10 -0
  275. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/text.js +17 -0
  276. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/video.js +10 -0
  277. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/password.js +6 -0
  278. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/regex.js +6 -0
  279. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/relative-json-pointer.js +6 -0
  280. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/time.js +6 -0
  281. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-reference.js +6 -0
  282. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-template.js +7 -0
  283. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri.js +6 -0
  284. package/src/core/plugins/json-schema-2020-12-samples/fn/generators/uuid.js +6 -0
  285. package/src/core/plugins/json-schema-2020-12-samples/fn/get-json-sample-schema.js +36 -0
  286. package/src/core/plugins/json-schema-2020-12-samples/fn/get-sample-schema.js +39 -0
  287. package/src/core/plugins/json-schema-2020-12-samples/fn/get-xml-sample-schema.js +35 -0
  288. package/src/core/plugins/json-schema-2020-12-samples/fn/get-yaml-sample-schema.js +34 -0
  289. package/src/core/plugins/json-schema-2020-12-samples/fn/index.js +16 -0
  290. package/src/core/plugins/json-schema-2020-12-samples/fn/main.js +562 -0
  291. package/src/core/plugins/json-schema-2020-12-samples/fn/types/array.js +52 -0
  292. package/src/core/plugins/json-schema-2020-12-samples/fn/types/boolean.js +9 -0
  293. package/src/core/plugins/json-schema-2020-12-samples/fn/types/index.js +30 -0
  294. package/src/core/plugins/json-schema-2020-12-samples/fn/types/integer.js +43 -0
  295. package/src/core/plugins/json-schema-2020-12-samples/fn/types/null.js +9 -0
  296. package/src/core/plugins/json-schema-2020-12-samples/fn/types/number.js +65 -0
  297. package/src/core/plugins/json-schema-2020-12-samples/fn/types/object.js +9 -0
  298. package/src/core/plugins/json-schema-2020-12-samples/fn/types/string.js +80 -0
  299. package/src/core/plugins/json-schema-2020-12-samples/index.js +51 -0
  300. package/src/core/plugins/json-schema-5/components/array-model.jsx +80 -0
  301. package/src/core/plugins/json-schema-5/components/enum-model.jsx +19 -0
  302. package/src/core/plugins/json-schema-5/components/json-schema-components.jsx +441 -0
  303. package/src/core/plugins/json-schema-5/components/model-collapse.jsx +99 -0
  304. package/src/core/plugins/json-schema-5/components/model-example.jsx +160 -0
  305. package/src/core/plugins/json-schema-5/components/model-extensions.jsx +28 -0
  306. package/src/core/plugins/json-schema-5/components/model-wrapper.jsx +44 -0
  307. package/src/core/plugins/json-schema-5/components/model.jsx +136 -0
  308. package/src/core/plugins/json-schema-5/components/models.jsx +139 -0
  309. package/src/core/plugins/json-schema-5/components/object-model.jsx +340 -0
  310. package/src/core/plugins/json-schema-5/components/primitive-model.jsx +137 -0
  311. package/src/core/plugins/json-schema-5/components/schemes.jsx +53 -0
  312. package/src/core/plugins/json-schema-5/containers/schemes.jsx +30 -0
  313. package/src/core/plugins/json-schema-5/fn.js +51 -0
  314. package/src/core/plugins/json-schema-5/index.js +41 -0
  315. package/src/core/plugins/json-schema-5-samples/fn/get-json-sample-schema.js +32 -0
  316. package/src/core/plugins/json-schema-5-samples/fn/get-sample-schema.js +30 -0
  317. package/src/core/plugins/json-schema-5-samples/fn/get-xml-sample-schema.js +31 -0
  318. package/src/core/plugins/json-schema-5-samples/fn/get-yaml-sample-schema.js +34 -0
  319. package/src/core/plugins/json-schema-5-samples/fn/index.js +653 -0
  320. package/src/core/plugins/json-schema-5-samples/index.js +56 -0
  321. package/src/core/plugins/layout/actions.js +39 -0
  322. package/src/core/plugins/layout/index.js +19 -0
  323. package/src/core/plugins/layout/reducers.js +32 -0
  324. package/src/core/plugins/layout/selectors.js +24 -0
  325. package/src/core/plugins/layout/spec-extensions/wrap-selector.js +22 -0
  326. package/src/core/plugins/logs/index.js +28 -0
  327. package/src/core/plugins/oas3/actions.js +99 -0
  328. package/src/core/plugins/oas3/auth-extensions/wrap-selectors.js +92 -0
  329. package/src/core/plugins/oas3/components/auth/http-auth.jsx +157 -0
  330. package/src/core/plugins/oas3/components/callbacks.jsx +51 -0
  331. package/src/core/plugins/oas3/components/index.js +19 -0
  332. package/src/core/plugins/oas3/components/operation-link.jsx +43 -0
  333. package/src/core/plugins/oas3/components/operation-servers.jsx +102 -0
  334. package/src/core/plugins/oas3/components/request-body-editor.jsx +103 -0
  335. package/src/core/plugins/oas3/components/request-body.jsx +338 -0
  336. package/src/core/plugins/oas3/components/servers-container.jsx +33 -0
  337. package/src/core/plugins/oas3/components/servers.jsx +153 -0
  338. package/src/core/plugins/oas3/fn.js +35 -0
  339. package/src/core/plugins/oas3/helpers.jsx +48 -0
  340. package/src/core/plugins/oas3/index.js +39 -0
  341. package/src/core/plugins/oas3/reducers.js +111 -0
  342. package/src/core/plugins/oas3/selectors.js +308 -0
  343. package/src/core/plugins/oas3/spec-extensions/selectors.js +100 -0
  344. package/src/core/plugins/oas3/spec-extensions/wrap-selectors.js +71 -0
  345. package/src/core/plugins/oas3/wrap-components/auth/auth-item.jsx +25 -0
  346. package/src/core/plugins/oas3/wrap-components/index.js +15 -0
  347. package/src/core/plugins/oas3/wrap-components/json-schema-string.jsx +27 -0
  348. package/src/core/plugins/oas3/wrap-components/markdown.jsx +45 -0
  349. package/src/core/plugins/oas3/wrap-components/model.jsx +40 -0
  350. package/src/core/plugins/oas3/wrap-components/online-validator-badge.js +5 -0
  351. package/src/core/plugins/oas3/wrap-components/openapi-version.jsx +7 -0
  352. package/src/core/plugins/oas31/after-load.js +72 -0
  353. package/src/core/plugins/oas31/auth-extensions/wrap-selectors.js +28 -0
  354. package/src/core/plugins/oas31/components/_all.scss +2 -0
  355. package/src/core/plugins/oas31/components/auth/auths.jsx +186 -0
  356. package/src/core/plugins/oas31/components/auth/mutual-tls-auth.jsx +32 -0
  357. package/src/core/plugins/oas31/components/contact.jsx +43 -0
  358. package/src/core/plugins/oas31/components/info.jsx +99 -0
  359. package/src/core/plugins/oas31/components/json-schema-dialect.jsx +60 -0
  360. package/src/core/plugins/oas31/components/license.jsx +38 -0
  361. package/src/core/plugins/oas31/components/model/_model.scss +23 -0
  362. package/src/core/plugins/oas31/components/model/model.jsx +54 -0
  363. package/src/core/plugins/oas31/components/models/_models.scss +11 -0
  364. package/src/core/plugins/oas31/components/models/models.jsx +141 -0
  365. package/src/core/plugins/oas31/components/version-pragma-filter.jsx +73 -0
  366. package/src/core/plugins/oas31/components/webhooks.jsx +49 -0
  367. package/src/core/plugins/oas31/fn.js +124 -0
  368. package/src/core/plugins/oas31/index.js +166 -0
  369. package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Description.jsx +27 -0
  370. package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Discriminator/Discriminator.jsx +118 -0
  371. package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Discriminator/DiscriminatorMapping.jsx +32 -0
  372. package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Example.jsx +28 -0
  373. package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/ExternalDocs.jsx +143 -0
  374. package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/OpenAPIExtensions.jsx +33 -0
  375. package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Properties.jsx +60 -0
  376. package/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Xml.jsx +162 -0
  377. package/src/core/plugins/oas31/json-schema-2020-12-extensions/fn.js +57 -0
  378. package/src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Description.jsx +9 -0
  379. package/src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Examples.jsx +31 -0
  380. package/src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Properties.jsx +9 -0
  381. package/src/core/plugins/oas31/oas3-extensions/fn.js +46 -0
  382. package/src/core/plugins/oas31/selectors.js +26 -0
  383. package/src/core/plugins/oas31/spec-extensions/selectors.js +198 -0
  384. package/src/core/plugins/oas31/spec-extensions/wrap-selectors.js +18 -0
  385. package/src/core/plugins/oas31/wrap-components/auth/auth-item.jsx +22 -0
  386. package/src/core/plugins/oas31/wrap-components/auths.jsx +17 -0
  387. package/src/core/plugins/oas31/wrap-components/contact.jsx +15 -0
  388. package/src/core/plugins/oas31/wrap-components/info.jsx +15 -0
  389. package/src/core/plugins/oas31/wrap-components/license.jsx +15 -0
  390. package/src/core/plugins/oas31/wrap-components/model.jsx +44 -0
  391. package/src/core/plugins/oas31/wrap-components/models.jsx +47 -0
  392. package/src/core/plugins/oas31/wrap-components/version-pragma-filter.jsx +16 -0
  393. package/src/core/plugins/on-complete/index.js +28 -0
  394. package/src/core/plugins/request-snippets/fn.js +169 -0
  395. package/src/core/plugins/request-snippets/index.js +21 -0
  396. package/src/core/plugins/request-snippets/request-snippets.jsx +163 -0
  397. package/src/core/plugins/request-snippets/selectors.js +45 -0
  398. package/src/core/plugins/safe-render/components/error-boundary.jsx +52 -0
  399. package/src/core/plugins/safe-render/components/fallback.jsx +13 -0
  400. package/src/core/plugins/safe-render/fn.jsx +32 -0
  401. package/src/core/plugins/safe-render/index.js +42 -0
  402. package/src/core/plugins/spec/actions.js +531 -0
  403. package/src/core/plugins/spec/index.js +20 -0
  404. package/src/core/plugins/spec/reducers.js +176 -0
  405. package/src/core/plugins/spec/selectors.js +575 -0
  406. package/src/core/plugins/spec/wrap-actions.js +39 -0
  407. package/src/core/plugins/swagger-client/configs-wrap-actions.js +6 -0
  408. package/src/core/plugins/swagger-client/index.js +54 -0
  409. package/src/core/plugins/syntax-highlighting/after-load.js +25 -0
  410. package/src/core/plugins/syntax-highlighting/components/HighlightCode.jsx +107 -0
  411. package/src/core/plugins/syntax-highlighting/components/PlainTextViewer.jsx +17 -0
  412. package/src/core/plugins/syntax-highlighting/components/SyntaxHighlighter.jsx +42 -0
  413. package/src/core/plugins/syntax-highlighting/index.js +34 -0
  414. package/src/core/plugins/syntax-highlighting/root-injects.js +22 -0
  415. package/src/core/plugins/syntax-highlighting/wrap-components/SyntaxHighlighter.jsx +31 -0
  416. package/src/core/plugins/util/index.js +11 -0
  417. package/src/core/plugins/versions/after-load.js +19 -0
  418. package/src/core/plugins/versions/index.js +10 -0
  419. package/src/core/plugins/view/fn.js +1 -0
  420. package/src/core/plugins/view/index.js +34 -0
  421. package/src/core/plugins/view/root-injects.jsx +118 -0
  422. package/src/core/plugins/view-legacy/index.js +25 -0
  423. package/src/core/plugins/view-legacy/root-injects.jsx +12 -0
  424. package/src/core/presets/apis/index.js +18 -0
  425. package/src/core/presets/base/index.js +55 -0
  426. package/src/core/presets/base/plugins/core-components/index.js +130 -0
  427. package/src/core/presets/base/plugins/form-components/index.js +10 -0
  428. package/src/core/system.js +511 -0
  429. package/src/core/utils/create-html-ready-id.js +10 -0
  430. package/src/core/utils/get-parameter-schema.js +94 -0
  431. package/src/core/utils/index.js +847 -0
  432. package/src/core/utils/jsonParse.js +15 -0
  433. package/src/core/utils/memoizeN.js +48 -0
  434. package/src/core/utils/url.js +79 -0
  435. package/src/core/window.js +30 -0
  436. package/src/index.js +3 -0
  437. package/src/standalone/plugins/stadalone-layout/components/StandaloneLayout.jsx +40 -0
  438. package/src/standalone/plugins/stadalone-layout/index.js +12 -0
  439. package/src/standalone/plugins/top-bar/assets/lightbulb-off.svg +1 -0
  440. package/src/standalone/plugins/top-bar/assets/lightbulb.svg +1 -0
  441. package/src/standalone/plugins/top-bar/assets/logo_small.svg +60 -0
  442. package/src/standalone/plugins/top-bar/components/DarkModeToggle.jsx +47 -0
  443. package/src/standalone/plugins/top-bar/components/Logo.jsx +9 -0
  444. package/src/standalone/plugins/top-bar/components/TopBar.jsx +183 -0
  445. package/src/standalone/plugins/top-bar/index.js +12 -0
  446. package/src/standalone/presets/standalone/index.js +19 -0
  447. package/src/style/_authorize.scss +96 -0
  448. package/src/style/_buttons.scss +199 -0
  449. package/src/style/_dark-mode.scss +664 -0
  450. package/src/style/_errors.scss +72 -0
  451. package/src/style/_form.scss +214 -0
  452. package/src/style/_information.scss +99 -0
  453. package/src/style/_layout.scss +941 -0
  454. package/src/style/_markdown.scss +34 -0
  455. package/src/style/_mixins.scss +159 -0
  456. package/src/style/_modal.scss +95 -0
  457. package/src/style/_models.scss +330 -0
  458. package/src/style/_servers.scss +66 -0
  459. package/src/style/_split-pane-mode.scss +3 -0
  460. package/src/style/_table.scss +191 -0
  461. package/src/style/_topbar.scss +126 -0
  462. package/src/style/_type.scss +21 -0
  463. package/src/style/_variables.scss +230 -0
  464. package/src/style/main.scss +28 -0
  465. package/stylelint.config.js +11 -0
  466. package/swagger-ui-dist-package/absolute-path.js +14 -0
  467. package/swagger-ui-dist-package/index.js +17 -0
  468. package/swagger-ui-dist-package/package.json +20 -0
package/.agignore ADDED
@@ -0,0 +1 @@
1
+ dist/
@@ -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
@@ -0,0 +1,8 @@
1
+ /.git
2
+ /.github
3
+ /dev-helpers
4
+ /docs
5
+ /src
6
+ /swagger-ui-dist-package
7
+ /test
8
+ /node_modules
package/.editorconfig ADDED
@@ -0,0 +1,10 @@
1
+ root = true
2
+
3
+ [*]
4
+ end_of_line = lf
5
+ indent_style = space
6
+ indent_size = 2
7
+ trim_trailing_whitespace = true
8
+ insert_final_newline = true
9
+ [*.md]
10
+ trim_trailing_whitespace = false
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
@@ -0,0 +1,4 @@
1
+ {
2
+ "*.{js,jsx}": ["eslint --max-warnings 0"],
3
+ "*.scss": ["stylelint '**/*.scss'"]
4
+ }
package/.nvmrc ADDED
@@ -0,0 +1 @@
1
+ 22.11.0
@@ -0,0 +1,5 @@
1
+ semi: false
2
+ trailingComma: es5
3
+ endOfLine: lf
4
+ requirePragma: true
5
+ insertPragma: true
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