@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
@@ -0,0 +1,296 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import React from "react"
5
+
6
+ import JSONSchema from "./components/JSONSchema/JSONSchema"
7
+ import Keyword$schema from "./components/keywords/$schema"
8
+ import Keyword$vocabulary from "./components/keywords/$vocabulary/$vocabulary"
9
+ import Keyword$id from "./components/keywords/$id"
10
+ import Keyword$anchor from "./components/keywords/$anchor"
11
+ import Keyword$dynamicAnchor from "./components/keywords/$dynamicAnchor"
12
+ import Keyword$ref from "./components/keywords/$ref"
13
+ import Keyword$dynamicRef from "./components/keywords/$dynamicRef"
14
+ import Keyword$defs from "./components/keywords/$defs"
15
+ import Keyword$comment from "./components/keywords/$comment"
16
+ import KeywordAllOf from "./components/keywords/AllOf"
17
+ import KeywordAnyOf from "./components/keywords/AnyOf"
18
+ import KeywordOneOf from "./components/keywords/OneOf"
19
+ import KeywordNot from "./components/keywords/Not"
20
+ import KeywordIf from "./components/keywords/If"
21
+ import KeywordThen from "./components/keywords/Then"
22
+ import KeywordElse from "./components/keywords/Else"
23
+ import KeywordDependentSchemas from "./components/keywords/DependentSchemas"
24
+ import KeywordPrefixItems from "./components/keywords/PrefixItems"
25
+ import KeywordItems from "./components/keywords/Items"
26
+ import KeywordContains from "./components/keywords/Contains"
27
+ import KeywordProperties from "./components/keywords/Properties/Properties"
28
+ import KeywordPatternProperties from "./components/keywords/PatternProperties/PatternProperties"
29
+ import KeywordAdditionalProperties from "./components/keywords/AdditionalProperties"
30
+ import KeywordPropertyNames from "./components/keywords/PropertyNames"
31
+ import KeywordUnevaluatedItems from "./components/keywords/UnevaluatedItems"
32
+ import KeywordUnevaluatedProperties from "./components/keywords/UnevaluatedProperties"
33
+ import KeywordType from "./components/keywords/Type"
34
+ import KeywordEnum from "./components/keywords/Enum/Enum"
35
+ import KeywordConst from "./components/keywords/Const/Const"
36
+ import KeywordConstraint from "./components/keywords/Constraint/Constraint"
37
+ import KeywordDependentRequired from "./components/keywords/DependentRequired/DependentRequired"
38
+ import KeywordContentSchema from "./components/keywords/ContentSchema"
39
+ import KeywordTitle from "./components/keywords/Title/Title"
40
+ import KeywordDescription from "./components/keywords/Description/Description"
41
+ import KeywordDefault from "./components/keywords/Default/Default"
42
+ import KeywordDeprecated from "./components/keywords/Deprecated"
43
+ import KeywordReadOnly from "./components/keywords/ReadOnly"
44
+ import KeywordWriteOnly from "./components/keywords/WriteOnly"
45
+ import KeywordExamples from "./components/keywords/Examples/Examples"
46
+ import ExtensionKeywords from "./components/keywords/ExtensionKeywords/ExtensionKeywords"
47
+ import JSONViewer from "./components/JSONViewer/JSONViewer"
48
+ import Accordion from "./components/Accordion/Accordion"
49
+ import ExpandDeepButton from "./components/ExpandDeepButton/ExpandDeepButton"
50
+ import ChevronRightIcon from "./components/icons/ChevronRight"
51
+ import { JSONSchemaContext } from "./context"
52
+ import { useFn } from "./hooks"
53
+ import {
54
+ makeGetTitle,
55
+ isBooleanJSONSchema,
56
+ upperFirst,
57
+ makeGetType,
58
+ hasKeyword,
59
+ makeIsExpandable,
60
+ stringify,
61
+ stringifyConstraints,
62
+ getDependentRequired,
63
+ getSchemaKeywords,
64
+ makeGetExtensionKeywords,
65
+ } from "./fn"
66
+
67
+ export const withJSONSchemaContext = (Component, overrides = {}) => {
68
+ const value = {
69
+ components: {
70
+ JSONSchema,
71
+ Keyword$schema,
72
+ Keyword$vocabulary,
73
+ Keyword$id,
74
+ Keyword$anchor,
75
+ Keyword$dynamicAnchor,
76
+ Keyword$ref,
77
+ Keyword$dynamicRef,
78
+ Keyword$defs,
79
+ Keyword$comment,
80
+ KeywordAllOf,
81
+ KeywordAnyOf,
82
+ KeywordOneOf,
83
+ KeywordNot,
84
+ KeywordIf,
85
+ KeywordThen,
86
+ KeywordElse,
87
+ KeywordDependentSchemas,
88
+ KeywordPrefixItems,
89
+ KeywordItems,
90
+ KeywordContains,
91
+ KeywordProperties,
92
+ KeywordPatternProperties,
93
+ KeywordAdditionalProperties,
94
+ KeywordPropertyNames,
95
+ KeywordUnevaluatedItems,
96
+ KeywordUnevaluatedProperties,
97
+ KeywordType,
98
+ KeywordEnum,
99
+ KeywordConst,
100
+ KeywordConstraint,
101
+ KeywordDependentRequired,
102
+ KeywordContentSchema,
103
+ KeywordTitle,
104
+ KeywordDescription,
105
+ KeywordDefault,
106
+ KeywordDeprecated,
107
+ KeywordReadOnly,
108
+ KeywordWriteOnly,
109
+ KeywordExamples,
110
+ ExtensionKeywords,
111
+ JSONViewer,
112
+ Accordion,
113
+ ExpandDeepButton,
114
+ ChevronRightIcon,
115
+ ...overrides.components,
116
+ },
117
+ config: {
118
+ default$schema: "https://json-schema.org/draft/2020-12/schema",
119
+ /**
120
+ * Defines an upper exclusive boundary of the level range for automatic expansion.
121
+ *
122
+ * 0 -> do nothing
123
+ * 1 -> [0]...(1)
124
+ * 2 -> [0]...(2)
125
+ * 3 -> [0]...(3)
126
+ */
127
+ defaultExpandedLevels: 0, // 2 = 0...2
128
+ showExtensionKeywords: true,
129
+ ...overrides.config,
130
+ },
131
+ fn: {
132
+ upperFirst,
133
+ getTitle: makeGetTitle(useFn),
134
+ getType: makeGetType(useFn),
135
+ isBooleanJSONSchema,
136
+ hasKeyword,
137
+ isExpandable: makeIsExpandable(useFn),
138
+ stringify,
139
+ stringifyConstraints,
140
+ getDependentRequired,
141
+ getSchemaKeywords,
142
+ getExtensionKeywords: makeGetExtensionKeywords(useFn),
143
+ ...overrides.fn,
144
+ },
145
+ state: { paths: {} },
146
+ }
147
+
148
+ const HOC = (props) => (
149
+ <JSONSchemaContext.Provider value={value}>
150
+ <Component {...props} />
151
+ </JSONSchemaContext.Provider>
152
+ )
153
+ HOC.contexts = {
154
+ JSONSchemaContext,
155
+ }
156
+ HOC.displayName = Component.displayName
157
+
158
+ return HOC
159
+ }
160
+
161
+ export const makeWithJSONSchemaSystemContext =
162
+ ({ getSystem }) =>
163
+ (Component, overrides = {}) => {
164
+ const { getComponent, getConfigs } = getSystem()
165
+ const configs = getConfigs()
166
+
167
+ const JSONSchema = getComponent("JSONSchema202012")
168
+ const Keyword$schema = getComponent("JSONSchema202012Keyword$schema")
169
+ const Keyword$vocabulary = getComponent(
170
+ "JSONSchema202012Keyword$vocabulary"
171
+ )
172
+ const Keyword$id = getComponent("JSONSchema202012Keyword$id")
173
+ const Keyword$anchor = getComponent("JSONSchema202012Keyword$anchor")
174
+ const Keyword$dynamicAnchor = getComponent(
175
+ "JSONSchema202012Keyword$dynamicAnchor"
176
+ )
177
+ const Keyword$ref = getComponent("JSONSchema202012Keyword$ref")
178
+ const Keyword$dynamicRef = getComponent(
179
+ "JSONSchema202012Keyword$dynamicRef"
180
+ )
181
+ const Keyword$defs = getComponent("JSONSchema202012Keyword$defs")
182
+ const Keyword$comment = getComponent("JSONSchema202012Keyword$comment")
183
+ const KeywordAllOf = getComponent("JSONSchema202012KeywordAllOf")
184
+ const KeywordAnyOf = getComponent("JSONSchema202012KeywordAnyOf")
185
+ const KeywordOneOf = getComponent("JSONSchema202012KeywordOneOf")
186
+ const KeywordNot = getComponent("JSONSchema202012KeywordNot")
187
+ const KeywordIf = getComponent("JSONSchema202012KeywordIf")
188
+ const KeywordThen = getComponent("JSONSchema202012KeywordThen")
189
+ const KeywordElse = getComponent("JSONSchema202012KeywordElse")
190
+ const KeywordDependentSchemas = getComponent(
191
+ "JSONSchema202012KeywordDependentSchemas"
192
+ )
193
+ const KeywordPrefixItems = getComponent(
194
+ "JSONSchema202012KeywordPrefixItems"
195
+ )
196
+ const KeywordItems = getComponent("JSONSchema202012KeywordItems")
197
+ const KeywordContains = getComponent("JSONSchema202012KeywordContains")
198
+ const KeywordProperties = getComponent("JSONSchema202012KeywordProperties")
199
+ const KeywordPatternProperties = getComponent(
200
+ "JSONSchema202012KeywordPatternProperties"
201
+ )
202
+ const KeywordAdditionalProperties = getComponent(
203
+ "JSONSchema202012KeywordAdditionalProperties"
204
+ )
205
+ const KeywordPropertyNames = getComponent(
206
+ "JSONSchema202012KeywordPropertyNames"
207
+ )
208
+ const KeywordUnevaluatedItems = getComponent(
209
+ "JSONSchema202012KeywordUnevaluatedItems"
210
+ )
211
+ const KeywordUnevaluatedProperties = getComponent(
212
+ "JSONSchema202012KeywordUnevaluatedProperties"
213
+ )
214
+ const KeywordType = getComponent("JSONSchema202012KeywordType")
215
+ const KeywordEnum = getComponent("JSONSchema202012KeywordEnum")
216
+ const KeywordConst = getComponent("JSONSchema202012KeywordConst")
217
+ const KeywordConstraint = getComponent("JSONSchema202012KeywordConstraint")
218
+ const KeywordDependentRequired = getComponent(
219
+ "JSONSchema202012KeywordDependentRequired"
220
+ )
221
+ const KeywordContentSchema = getComponent(
222
+ "JSONSchema202012KeywordContentSchema"
223
+ )
224
+ const KeywordTitle = getComponent("JSONSchema202012KeywordTitle")
225
+ const KeywordDescription = getComponent(
226
+ "JSONSchema202012KeywordDescription"
227
+ )
228
+ const KeywordDefault = getComponent("JSONSchema202012KeywordDefault")
229
+ const KeywordDeprecated = getComponent("JSONSchema202012KeywordDeprecated")
230
+ const KeywordReadOnly = getComponent("JSONSchema202012KeywordReadOnly")
231
+ const KeywordWriteOnly = getComponent("JSONSchema202012KeywordWriteOnly")
232
+ const KeywordExamples = getComponent("JSONSchema202012KeywordExamples")
233
+ const ExtensionKeywords = getComponent("JSONSchema202012ExtensionKeywords")
234
+ const JSONViewer = getComponent("JSONSchema202012JSONViewer")
235
+ const Accordion = getComponent("JSONSchema202012Accordion")
236
+ const ExpandDeepButton = getComponent("JSONSchema202012ExpandDeepButton")
237
+ const ChevronRightIcon = getComponent("JSONSchema202012ChevronRightIcon")
238
+
239
+ return withJSONSchemaContext(Component, {
240
+ components: {
241
+ JSONSchema,
242
+ Keyword$schema,
243
+ Keyword$vocabulary,
244
+ Keyword$id,
245
+ Keyword$anchor,
246
+ Keyword$dynamicAnchor,
247
+ Keyword$ref,
248
+ Keyword$dynamicRef,
249
+ Keyword$defs,
250
+ Keyword$comment,
251
+ KeywordAllOf,
252
+ KeywordAnyOf,
253
+ KeywordOneOf,
254
+ KeywordNot,
255
+ KeywordIf,
256
+ KeywordThen,
257
+ KeywordElse,
258
+ KeywordDependentSchemas,
259
+ KeywordPrefixItems,
260
+ KeywordItems,
261
+ KeywordContains,
262
+ KeywordProperties,
263
+ KeywordPatternProperties,
264
+ KeywordAdditionalProperties,
265
+ KeywordPropertyNames,
266
+ KeywordUnevaluatedItems,
267
+ KeywordUnevaluatedProperties,
268
+ KeywordType,
269
+ KeywordEnum,
270
+ KeywordConst,
271
+ KeywordConstraint,
272
+ KeywordDependentRequired,
273
+ KeywordContentSchema,
274
+ KeywordTitle,
275
+ KeywordDescription,
276
+ KeywordDefault,
277
+ KeywordDeprecated,
278
+ KeywordReadOnly,
279
+ KeywordWriteOnly,
280
+ KeywordExamples,
281
+ ExtensionKeywords,
282
+ JSONViewer,
283
+ Accordion,
284
+ ExpandDeepButton,
285
+ ChevronRightIcon,
286
+ ...overrides.components,
287
+ },
288
+ config: {
289
+ showExtensionKeywords: configs.showExtensions,
290
+ ...overrides.config,
291
+ },
292
+ fn: {
293
+ ...overrides.fn,
294
+ },
295
+ })
296
+ }
@@ -0,0 +1,144 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import { useCallback, useContext, useEffect, useState } from "react"
5
+
6
+ import {
7
+ JSONSchemaContext,
8
+ JSONSchemaLevelContext,
9
+ JSONSchemaCyclesContext,
10
+ JSONSchemaPathContext,
11
+ } from "./context"
12
+ import { JSONSchemaIsExpandedState } from "./enum"
13
+
14
+ export const useConfig = () => {
15
+ const { config } = useContext(JSONSchemaContext)
16
+ return config
17
+ }
18
+
19
+ export const useComponent = (componentName) => {
20
+ const { components } = useContext(JSONSchemaContext)
21
+ return components[componentName] || null
22
+ }
23
+
24
+ export const useFn = (fnName = undefined) => {
25
+ const { fn } = useContext(JSONSchemaContext)
26
+
27
+ return typeof fnName !== "undefined" ? fn[fnName] : fn
28
+ }
29
+
30
+ export const useJSONSchemaContextState = () => {
31
+ const [, setFakeState] = useState(null)
32
+ const { state } = useContext(JSONSchemaContext)
33
+ const setState = (updateFn) => {
34
+ updateFn(state)
35
+ setFakeState({})
36
+ }
37
+
38
+ return { state, setState }
39
+ }
40
+
41
+ export const useLevel = () => {
42
+ const level = useContext(JSONSchemaLevelContext)
43
+
44
+ return [level, level + 1]
45
+ }
46
+
47
+ export const useIsEmbedded = () => {
48
+ const [level] = useLevel()
49
+
50
+ return level > 0
51
+ }
52
+
53
+ export const usePath = (pathToken) => {
54
+ const path = useContext(JSONSchemaPathContext)
55
+ const { setState } = useJSONSchemaContextState()
56
+ const currentPath =
57
+ typeof pathToken === "string" ? [...path, pathToken] : path
58
+
59
+ const pathMutator = (value, options = { deep: false }) => {
60
+ const startPath = currentPath.toString()
61
+ const updateFn = (state) => {
62
+ state.paths[startPath] = value
63
+
64
+ if (value === JSONSchemaIsExpandedState.Collapsed) {
65
+ Object.keys(state.paths).forEach((key) => {
66
+ if (
67
+ key.startsWith(startPath) &&
68
+ state.paths[key] === JSONSchemaIsExpandedState.DeeplyExpanded
69
+ ) {
70
+ state.paths[key] = JSONSchemaIsExpandedState.Expanded
71
+ }
72
+ })
73
+ }
74
+ }
75
+ const updateDeepFn = (state) => {
76
+ Object.keys(state.paths).forEach((key) => {
77
+ if (key.startsWith(startPath)) {
78
+ state.paths[key] = value
79
+ }
80
+ })
81
+ }
82
+
83
+ if (options.deep) {
84
+ setState(updateDeepFn)
85
+ } else {
86
+ setState(updateFn)
87
+ }
88
+ }
89
+
90
+ return { path: currentPath, pathMutator }
91
+ }
92
+
93
+ export const useIsExpanded = (name) => {
94
+ const [level] = useLevel()
95
+ const { defaultExpandedLevels } = useConfig()
96
+ const { path, pathMutator } = usePath(name)
97
+ const { path: parentPath } = usePath()
98
+ const { state } = useJSONSchemaContextState()
99
+ const currentState = state.paths[path.toString()]
100
+ const parentState =
101
+ state.paths[parentPath.toString()] ??
102
+ state.paths[parentPath.slice(0, -1).toString()]
103
+ const isExpandedState =
104
+ currentState ??
105
+ (defaultExpandedLevels - level > 0
106
+ ? JSONSchemaIsExpandedState.Expanded
107
+ : JSONSchemaIsExpandedState.Collapsed)
108
+ const isExpanded = isExpandedState !== JSONSchemaIsExpandedState.Collapsed
109
+
110
+ useEffect(() => {
111
+ pathMutator(
112
+ parentState === JSONSchemaIsExpandedState.DeeplyExpanded
113
+ ? JSONSchemaIsExpandedState.DeeplyExpanded
114
+ : isExpandedState
115
+ )
116
+ }, [parentState])
117
+
118
+ const setExpanded = useCallback((options = { deep: false }) => {
119
+ pathMutator(
120
+ options.deep
121
+ ? JSONSchemaIsExpandedState.DeeplyExpanded
122
+ : JSONSchemaIsExpandedState.Expanded
123
+ )
124
+ }, [])
125
+
126
+ const setCollapsed = useCallback((options = { deep: false }) => {
127
+ pathMutator(JSONSchemaIsExpandedState.Collapsed, options)
128
+ }, [])
129
+
130
+ return { isExpanded, setExpanded, setCollapsed }
131
+ }
132
+
133
+ export const useRenderedSchemas = (schema = undefined) => {
134
+ if (typeof schema === "undefined") {
135
+ return useContext(JSONSchemaCyclesContext)
136
+ }
137
+
138
+ const renderedSchemas = useContext(JSONSchemaCyclesContext)
139
+ return new Set([...renderedSchemas, schema])
140
+ }
141
+ export const useIsCircular = (schema) => {
142
+ const renderedSchemas = useRenderedSchemas()
143
+ return renderedSchemas.has(schema)
144
+ }
@@ -0,0 +1,153 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import JSONSchema from "./components/JSONSchema/JSONSchema"
5
+ import Keyword$schema from "./components/keywords/$schema"
6
+ import Keyword$vocabulary from "./components/keywords/$vocabulary/$vocabulary"
7
+ import Keyword$id from "./components/keywords/$id"
8
+ import Keyword$anchor from "./components/keywords/$anchor"
9
+ import Keyword$dynamicAnchor from "./components/keywords/$dynamicAnchor"
10
+ import Keyword$ref from "./components/keywords/$ref"
11
+ import Keyword$dynamicRef from "./components/keywords/$dynamicRef"
12
+ import Keyword$defs from "./components/keywords/$defs"
13
+ import Keyword$comment from "./components/keywords/$comment"
14
+ import KeywordAllOf from "./components/keywords/AllOf"
15
+ import KeywordAnyOf from "./components/keywords/AnyOf"
16
+ import KeywordOneOf from "./components/keywords/OneOf"
17
+ import KeywordNot from "./components/keywords/Not"
18
+ import KeywordIf from "./components/keywords/If"
19
+ import KeywordThen from "./components/keywords/Then"
20
+ import KeywordElse from "./components/keywords/Else"
21
+ import KeywordDependentSchemas from "./components/keywords/DependentSchemas"
22
+ import KeywordPrefixItems from "./components/keywords/PrefixItems"
23
+ import KeywordItems from "./components/keywords/Items"
24
+ import KeywordContains from "./components/keywords/Contains"
25
+ import KeywordProperties from "./components/keywords/Properties/Properties"
26
+ import KeywordPatternProperties from "./components/keywords/PatternProperties/PatternProperties"
27
+ import KeywordAdditionalProperties from "./components/keywords/AdditionalProperties"
28
+ import KeywordPropertyNames from "./components/keywords/PropertyNames"
29
+ import KeywordUnevaluatedItems from "./components/keywords/UnevaluatedItems"
30
+ import KeywordUnevaluatedProperties from "./components/keywords/UnevaluatedProperties"
31
+ import KeywordType from "./components/keywords/Type"
32
+ import KeywordEnum from "./components/keywords/Enum/Enum"
33
+ import KeywordConst from "./components/keywords/Const/Const"
34
+ import KeywordConstraint from "./components/keywords/Constraint/Constraint"
35
+ import KeywordDependentRequired from "./components/keywords/DependentRequired/DependentRequired"
36
+ import KeywordContentSchema from "./components/keywords/ContentSchema"
37
+ import KeywordTitle from "./components/keywords/Title/Title"
38
+ import KeywordDescription from "./components/keywords/Description/Description"
39
+ import KeywordDefault from "./components/keywords/Default/Default"
40
+ import KeywordDeprecated from "./components/keywords/Deprecated"
41
+ import KeywordReadOnly from "./components/keywords/ReadOnly"
42
+ import KeywordWriteOnly from "./components/keywords/WriteOnly"
43
+ import KeywordExamples from "./components/keywords/Examples/Examples"
44
+ import ExtensionKeywords from "./components/keywords/ExtensionKeywords/ExtensionKeywords"
45
+ import JSONViewer from "./components/JSONViewer/JSONViewer"
46
+ import Accordion from "./components/Accordion/Accordion"
47
+ import ExpandDeepButton from "./components/ExpandDeepButton/ExpandDeepButton"
48
+ import ChevronRightIcon from "./components/icons/ChevronRight"
49
+ import {
50
+ upperFirst,
51
+ hasKeyword,
52
+ makeGetTitle,
53
+ makeGetType,
54
+ makeIsExpandable,
55
+ isBooleanJSONSchema,
56
+ getSchemaKeywords,
57
+ makeGetExtensionKeywords,
58
+ hasSchemaType,
59
+ } from "./fn"
60
+ import { JSONSchemaPathContext, JSONSchemaLevelContext } from "./context"
61
+ import {
62
+ useFn,
63
+ useConfig,
64
+ useComponent,
65
+ useIsExpanded,
66
+ usePath,
67
+ useLevel,
68
+ } from "./hooks"
69
+ import { withJSONSchemaContext, makeWithJSONSchemaSystemContext } from "./hoc"
70
+
71
+ const JSONSchema202012Plugin = ({ getSystem, fn }) => {
72
+ const fnAccessor = () => ({
73
+ upperFirst: fn.upperFirst,
74
+ ...fn.jsonSchema202012,
75
+ })
76
+
77
+ return {
78
+ components: {
79
+ JSONSchema202012: JSONSchema,
80
+ JSONSchema202012Keyword$schema: Keyword$schema,
81
+ JSONSchema202012Keyword$vocabulary: Keyword$vocabulary,
82
+ JSONSchema202012Keyword$id: Keyword$id,
83
+ JSONSchema202012Keyword$anchor: Keyword$anchor,
84
+ JSONSchema202012Keyword$dynamicAnchor: Keyword$dynamicAnchor,
85
+ JSONSchema202012Keyword$ref: Keyword$ref,
86
+ JSONSchema202012Keyword$dynamicRef: Keyword$dynamicRef,
87
+ JSONSchema202012Keyword$defs: Keyword$defs,
88
+ JSONSchema202012Keyword$comment: Keyword$comment,
89
+ JSONSchema202012KeywordAllOf: KeywordAllOf,
90
+ JSONSchema202012KeywordAnyOf: KeywordAnyOf,
91
+ JSONSchema202012KeywordOneOf: KeywordOneOf,
92
+ JSONSchema202012KeywordNot: KeywordNot,
93
+ JSONSchema202012KeywordIf: KeywordIf,
94
+ JSONSchema202012KeywordThen: KeywordThen,
95
+ JSONSchema202012KeywordElse: KeywordElse,
96
+ JSONSchema202012KeywordDependentSchemas: KeywordDependentSchemas,
97
+ JSONSchema202012KeywordPrefixItems: KeywordPrefixItems,
98
+ JSONSchema202012KeywordItems: KeywordItems,
99
+ JSONSchema202012KeywordContains: KeywordContains,
100
+ JSONSchema202012KeywordProperties: KeywordProperties,
101
+ JSONSchema202012KeywordPatternProperties: KeywordPatternProperties,
102
+ JSONSchema202012KeywordAdditionalProperties: KeywordAdditionalProperties,
103
+ JSONSchema202012KeywordPropertyNames: KeywordPropertyNames,
104
+ JSONSchema202012KeywordUnevaluatedItems: KeywordUnevaluatedItems,
105
+ JSONSchema202012KeywordUnevaluatedProperties:
106
+ KeywordUnevaluatedProperties,
107
+ JSONSchema202012KeywordType: KeywordType,
108
+ JSONSchema202012KeywordEnum: KeywordEnum,
109
+ JSONSchema202012KeywordConst: KeywordConst,
110
+ JSONSchema202012KeywordConstraint: KeywordConstraint,
111
+ JSONSchema202012KeywordDependentRequired: KeywordDependentRequired,
112
+ JSONSchema202012KeywordContentSchema: KeywordContentSchema,
113
+ JSONSchema202012KeywordTitle: KeywordTitle,
114
+ JSONSchema202012KeywordDescription: KeywordDescription,
115
+ JSONSchema202012KeywordDefault: KeywordDefault,
116
+ JSONSchema202012KeywordDeprecated: KeywordDeprecated,
117
+ JSONSchema202012KeywordReadOnly: KeywordReadOnly,
118
+ JSONSchema202012KeywordWriteOnly: KeywordWriteOnly,
119
+ JSONSchema202012KeywordExamples: KeywordExamples,
120
+ JSONSchema202012ExtensionKeywords: ExtensionKeywords,
121
+ JSONSchema202012JSONViewer: JSONViewer,
122
+ JSONSchema202012Accordion: Accordion,
123
+ JSONSchema202012ExpandDeepButton: ExpandDeepButton,
124
+ JSONSchema202012ChevronRightIcon: ChevronRightIcon,
125
+ withJSONSchema202012Context: withJSONSchemaContext,
126
+ withJSONSchema202012SystemContext:
127
+ makeWithJSONSchemaSystemContext(getSystem()),
128
+ JSONSchema202012PathContext: () => JSONSchemaPathContext,
129
+ JSONSchema202012LevelContext: () => JSONSchemaLevelContext,
130
+ },
131
+ fn: {
132
+ upperFirst,
133
+ jsonSchema202012: {
134
+ getTitle: makeGetTitle(fnAccessor),
135
+ getType: makeGetType(fnAccessor),
136
+ isExpandable: makeIsExpandable(fnAccessor),
137
+ isBooleanJSONSchema,
138
+ hasKeyword,
139
+ useFn,
140
+ useConfig,
141
+ useComponent,
142
+ useIsExpanded,
143
+ usePath,
144
+ useLevel,
145
+ getSchemaKeywords,
146
+ getExtensionKeywords: makeGetExtensionKeywords(fnAccessor),
147
+ hasSchemaType,
148
+ },
149
+ },
150
+ }
151
+ }
152
+
153
+ export default JSONSchema202012Plugin
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import PropTypes from "prop-types"
5
+
6
+ export const objectSchema = PropTypes.object
7
+
8
+ export const booleanSchema = PropTypes.bool
9
+
10
+ export const schema = PropTypes.oneOfType([objectSchema, booleanSchema])
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+
5
+ import EncoderRegistry from "../class/EncoderRegistry"
6
+
7
+ const registry = new EncoderRegistry()
8
+
9
+ const encoderAPI = (encodingName, encoder) => {
10
+ if (typeof encoder === "function") {
11
+ return registry.register(encodingName, encoder)
12
+ } else if (encoder === null) {
13
+ return registry.unregister(encodingName)
14
+ }
15
+
16
+ return registry.get(encodingName)
17
+ }
18
+ encoderAPI.getDefaults = () => registry.defaults
19
+
20
+ export default encoderAPI
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+
5
+ import FormatRegistry from "../class/FormatRegistry"
6
+
7
+ const registry = new FormatRegistry()
8
+
9
+ const formatAPI = (format, generator) => {
10
+ if (typeof generator === "function") {
11
+ return registry.register(format, generator)
12
+ } else if (generator === null) {
13
+ return registry.unregister(format)
14
+ }
15
+
16
+ return registry.get(format)
17
+ }
18
+ formatAPI.getDefaults = () => registry.defaults
19
+
20
+ export default formatAPI
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+
5
+ import MediaTypeRegistry from "../class/MediaTypeRegistry"
6
+
7
+ const registry = new MediaTypeRegistry()
8
+
9
+ const mediaTypeAPI = (mediaType, generator) => {
10
+ if (typeof generator === "function") {
11
+ return registry.register(mediaType, generator)
12
+ } else if (generator === null) {
13
+ return registry.unregister(mediaType)
14
+ }
15
+
16
+ const mediaTypeNoParams = mediaType.split(";").at(0)
17
+ const topLevelMediaType = `${mediaTypeNoParams.split("/").at(0)}/*`
18
+
19
+ return (
20
+ registry.get(mediaType) ||
21
+ registry.get(mediaTypeNoParams) ||
22
+ registry.get(topLevelMediaType)
23
+ )
24
+ }
25
+ mediaTypeAPI.getDefaults = () => registry.defaults
26
+
27
+ export default mediaTypeAPI
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+
5
+ import OptionRegistry from "../class/OptionRegistry"
6
+
7
+ const registry = new OptionRegistry()
8
+
9
+ const optionAPI = (optionName, optionValue) => {
10
+ if (typeof optionValue !== "undefined") {
11
+ registry.register(optionName, optionValue)
12
+ }
13
+
14
+ return registry.get(optionName)
15
+ }
16
+
17
+ export default optionAPI