@asyncapi/react-component 1.0.0-next.8 → 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 (265) hide show
  1. package/README.md +121 -36
  2. package/browser/index.js +32 -14
  3. package/browser/index.js.LICENSE.txt +88 -0
  4. package/browser/standalone/index.js +32 -43
  5. package/browser/standalone/index.js.LICENSE.txt +112 -0
  6. package/browser/standalone/without-parser.js +14 -41
  7. package/browser/standalone/without-parser.js.LICENSE.txt +110 -0
  8. package/browser/without-parser.js +14 -12
  9. package/browser/without-parser.js.LICENSE.txt +86 -0
  10. package/lib/cjs/components/Bindings.js +14 -5
  11. package/lib/cjs/components/Bindings.js.map +1 -1
  12. package/lib/cjs/components/CollapseButton.js +11 -7
  13. package/lib/cjs/components/CollapseButton.js.map +1 -1
  14. package/lib/cjs/components/Extensions.js +4 -3
  15. package/lib/cjs/components/Extensions.js.map +1 -1
  16. package/lib/cjs/components/Href.js +2 -1
  17. package/lib/cjs/components/Href.js.map +1 -1
  18. package/lib/cjs/components/JSONSnippet.js +2 -1
  19. package/lib/cjs/components/JSONSnippet.js.map +1 -1
  20. package/lib/cjs/components/Markdown.js +3 -2
  21. package/lib/cjs/components/Markdown.js.map +1 -1
  22. package/lib/cjs/components/Schema.js +77 -60
  23. package/lib/cjs/components/Schema.js.map +1 -1
  24. package/lib/cjs/components/Tag.js +3 -2
  25. package/lib/cjs/components/Tag.js.map +1 -1
  26. package/lib/cjs/components/Tags.js +3 -2
  27. package/lib/cjs/components/Tags.js.map +1 -1
  28. package/lib/cjs/components/index.js +5 -1
  29. package/lib/cjs/components/index.js.map +1 -1
  30. package/lib/cjs/config/config.js.map +1 -1
  31. package/lib/cjs/config/default.js +9 -1
  32. package/lib/cjs/config/default.js.map +1 -1
  33. package/lib/cjs/config/index.js +5 -1
  34. package/lib/cjs/config/index.js.map +1 -1
  35. package/lib/cjs/constants.js +12 -48
  36. package/lib/cjs/constants.js.map +1 -1
  37. package/lib/cjs/containers/AsyncApi/AsyncApi.js +28 -12
  38. package/lib/cjs/containers/AsyncApi/AsyncApi.js.map +1 -1
  39. package/lib/cjs/containers/AsyncApi/Layout.js +33 -21
  40. package/lib/cjs/containers/AsyncApi/Layout.js.map +1 -1
  41. package/lib/cjs/containers/AsyncApi/Standalone.js +8 -2
  42. package/lib/cjs/containers/AsyncApi/Standalone.js.map +1 -1
  43. package/lib/cjs/containers/Error/Error.js +4 -3
  44. package/lib/cjs/containers/Error/Error.js.map +1 -1
  45. package/lib/cjs/containers/Info/Info.js +11 -10
  46. package/lib/cjs/containers/Info/Info.js.map +1 -1
  47. package/lib/cjs/containers/Messages/Message.js +23 -10
  48. package/lib/cjs/containers/Messages/Message.js.map +1 -1
  49. package/lib/cjs/containers/Messages/MessageExample.js +25 -13
  50. package/lib/cjs/containers/Messages/MessageExample.js.map +1 -1
  51. package/lib/cjs/containers/Messages/Messages.js +14 -9
  52. package/lib/cjs/containers/Messages/Messages.js.map +1 -1
  53. package/lib/cjs/containers/Operations/Operation.js +88 -38
  54. package/lib/cjs/containers/Operations/Operation.js.map +1 -1
  55. package/lib/cjs/containers/Operations/Operations.js +20 -13
  56. package/lib/cjs/containers/Operations/Operations.js.map +1 -1
  57. package/lib/cjs/containers/Schemas/Schema.js +21 -0
  58. package/lib/cjs/containers/Schemas/Schema.js.map +1 -0
  59. package/lib/cjs/containers/Schemas/Schemas.js +29 -0
  60. package/lib/cjs/containers/Schemas/Schemas.js.map +1 -0
  61. package/lib/cjs/containers/Servers/Security.js +150 -0
  62. package/lib/cjs/containers/Servers/Security.js.map +1 -0
  63. package/lib/cjs/containers/Servers/Server.js +15 -8
  64. package/lib/cjs/containers/Servers/Server.js.map +1 -1
  65. package/lib/cjs/containers/Servers/Servers.js +12 -7
  66. package/lib/cjs/containers/Servers/Servers.js.map +1 -1
  67. package/lib/cjs/containers/Sidebar/Sidebar.js +201 -141
  68. package/lib/cjs/containers/Sidebar/Sidebar.js.map +1 -1
  69. package/lib/cjs/contexts/index.js +6 -1
  70. package/lib/cjs/contexts/index.js.map +1 -1
  71. package/lib/cjs/contexts/useConfig.js +10 -0
  72. package/lib/cjs/contexts/useConfig.js.map +1 -0
  73. package/lib/cjs/contexts/useSpec.js +7 -3
  74. package/lib/cjs/contexts/useSpec.js.map +1 -1
  75. package/lib/cjs/helpers/bindingsHelpers.js +24 -0
  76. package/lib/cjs/helpers/bindingsHelpers.js.map +1 -0
  77. package/lib/cjs/helpers/common.js +17 -0
  78. package/lib/cjs/helpers/common.js.map +1 -0
  79. package/lib/cjs/helpers/index.js +6 -3
  80. package/lib/cjs/helpers/index.js.map +1 -1
  81. package/lib/cjs/helpers/marked.js +2 -2
  82. package/lib/cjs/helpers/marked.js.map +1 -1
  83. package/lib/cjs/helpers/message.js +39 -9
  84. package/lib/cjs/helpers/message.js.map +1 -1
  85. package/lib/cjs/helpers/parser.js +16 -15
  86. package/lib/cjs/helpers/parser.js.map +1 -1
  87. package/lib/cjs/helpers/schema.js +186 -149
  88. package/lib/cjs/helpers/schema.js.map +1 -1
  89. package/lib/cjs/helpers/server.js +49 -0
  90. package/lib/cjs/helpers/server.js.map +1 -1
  91. package/lib/cjs/helpers/specification.js +36 -21
  92. package/lib/cjs/helpers/specification.js.map +1 -1
  93. package/lib/cjs/index.js.map +1 -1
  94. package/lib/cjs/types.js +4 -51
  95. package/lib/cjs/types.js.map +1 -1
  96. package/lib/cjs/without-parser.js.map +1 -1
  97. package/lib/esm/components/Bindings.js +12 -4
  98. package/lib/esm/components/Bindings.js.map +1 -1
  99. package/lib/esm/components/CollapseButton.js +9 -6
  100. package/lib/esm/components/CollapseButton.js.map +1 -1
  101. package/lib/esm/components/Extensions.js +2 -2
  102. package/lib/esm/components/Extensions.js.map +1 -1
  103. package/lib/esm/components/Href.js.map +1 -1
  104. package/lib/esm/components/JSONSnippet.js.map +1 -1
  105. package/lib/esm/components/Markdown.js +1 -1
  106. package/lib/esm/components/Markdown.js.map +1 -1
  107. package/lib/esm/components/Schema.js +71 -59
  108. package/lib/esm/components/Schema.js.map +1 -1
  109. package/lib/esm/components/Tag.js +1 -1
  110. package/lib/esm/components/Tag.js.map +1 -1
  111. package/lib/esm/components/Tags.js +1 -1
  112. package/lib/esm/components/Tags.js.map +1 -1
  113. package/lib/esm/components/index.js.map +1 -1
  114. package/lib/esm/config/config.js.map +1 -1
  115. package/lib/esm/config/default.js +9 -1
  116. package/lib/esm/config/default.js.map +1 -1
  117. package/lib/esm/config/index.js.map +1 -1
  118. package/lib/esm/constants.js +10 -47
  119. package/lib/esm/constants.js.map +1 -1
  120. package/lib/esm/containers/AsyncApi/AsyncApi.js +22 -10
  121. package/lib/esm/containers/AsyncApi/AsyncApi.js.map +1 -1
  122. package/lib/esm/containers/AsyncApi/Layout.js +28 -20
  123. package/lib/esm/containers/AsyncApi/Layout.js.map +1 -1
  124. package/lib/esm/containers/AsyncApi/Standalone.js +3 -1
  125. package/lib/esm/containers/AsyncApi/Standalone.js.map +1 -1
  126. package/lib/esm/containers/Error/Error.js +2 -2
  127. package/lib/esm/containers/Error/Error.js.map +1 -1
  128. package/lib/esm/containers/Info/Info.js +8 -8
  129. package/lib/esm/containers/Info/Info.js.map +1 -1
  130. package/lib/esm/containers/Messages/Message.js +21 -9
  131. package/lib/esm/containers/Messages/Message.js.map +1 -1
  132. package/lib/esm/containers/Messages/MessageExample.js +17 -11
  133. package/lib/esm/containers/Messages/MessageExample.js.map +1 -1
  134. package/lib/esm/containers/Messages/Messages.js +13 -9
  135. package/lib/esm/containers/Messages/Messages.js.map +1 -1
  136. package/lib/esm/containers/Operations/Operation.js +87 -39
  137. package/lib/esm/containers/Operations/Operation.js.map +1 -1
  138. package/lib/esm/containers/Operations/Operations.js +19 -13
  139. package/lib/esm/containers/Operations/Operations.js.map +1 -1
  140. package/lib/esm/containers/Schemas/Schema.js +14 -0
  141. package/lib/esm/containers/Schemas/Schema.js.map +1 -0
  142. package/lib/esm/containers/Schemas/Schemas.js +22 -0
  143. package/lib/esm/containers/Schemas/Schemas.js.map +1 -0
  144. package/lib/esm/containers/Servers/Security.js +143 -0
  145. package/lib/esm/containers/Servers/Security.js.map +1 -0
  146. package/lib/esm/containers/Servers/Server.js +15 -9
  147. package/lib/esm/containers/Servers/Server.js.map +1 -1
  148. package/lib/esm/containers/Servers/Servers.js +11 -7
  149. package/lib/esm/containers/Servers/Servers.js.map +1 -1
  150. package/lib/esm/containers/Sidebar/Sidebar.js +191 -136
  151. package/lib/esm/containers/Sidebar/Sidebar.js.map +1 -1
  152. package/lib/esm/contexts/index.js +1 -0
  153. package/lib/esm/contexts/index.js.map +1 -1
  154. package/lib/esm/contexts/useConfig.js +6 -0
  155. package/lib/esm/contexts/useConfig.js.map +1 -0
  156. package/lib/esm/contexts/useSpec.js +2 -2
  157. package/lib/esm/contexts/useSpec.js.map +1 -1
  158. package/lib/esm/helpers/bindingsHelpers.js +21 -0
  159. package/lib/esm/helpers/bindingsHelpers.js.map +1 -0
  160. package/lib/esm/helpers/common.js +14 -0
  161. package/lib/esm/helpers/common.js.map +1 -0
  162. package/lib/esm/helpers/index.js +1 -2
  163. package/lib/esm/helpers/index.js.map +1 -1
  164. package/lib/esm/helpers/marked.js +1 -1
  165. package/lib/esm/helpers/marked.js.map +1 -1
  166. package/lib/esm/helpers/message.js +38 -8
  167. package/lib/esm/helpers/message.js.map +1 -1
  168. package/lib/esm/helpers/parser.js +17 -13
  169. package/lib/esm/helpers/parser.js.map +1 -1
  170. package/lib/esm/helpers/schema.js +182 -142
  171. package/lib/esm/helpers/schema.js.map +1 -1
  172. package/lib/esm/helpers/server.js +49 -0
  173. package/lib/esm/helpers/server.js.map +1 -1
  174. package/lib/esm/helpers/specification.js +36 -18
  175. package/lib/esm/helpers/specification.js.map +1 -1
  176. package/lib/esm/index.js.map +1 -1
  177. package/lib/esm/types.js +2 -46
  178. package/lib/esm/types.js.map +1 -1
  179. package/lib/esm/without-parser.js.map +1 -1
  180. package/lib/types/components/Bindings.d.ts +2 -1
  181. package/lib/types/components/Bindings.d.ts.map +1 -1
  182. package/lib/types/components/CollapseButton.d.ts +1 -0
  183. package/lib/types/components/CollapseButton.d.ts.map +1 -1
  184. package/lib/types/components/Extensions.d.ts.map +1 -1
  185. package/lib/types/components/Schema.d.ts +5 -4
  186. package/lib/types/components/Schema.d.ts.map +1 -1
  187. package/lib/types/components/Tag.d.ts +2 -2
  188. package/lib/types/components/Tag.d.ts.map +1 -1
  189. package/lib/types/components/Tags.d.ts +2 -2
  190. package/lib/types/components/Tags.d.ts.map +1 -1
  191. package/lib/types/config/config.d.ts +8 -0
  192. package/lib/types/config/config.d.ts.map +1 -1
  193. package/lib/types/config/default.d.ts.map +1 -1
  194. package/lib/types/constants.d.ts +10 -26
  195. package/lib/types/constants.d.ts.map +1 -1
  196. package/lib/types/containers/AsyncApi/AsyncApi.d.ts +2 -2
  197. package/lib/types/containers/AsyncApi/AsyncApi.d.ts.map +1 -1
  198. package/lib/types/containers/AsyncApi/Layout.d.ts +2 -2
  199. package/lib/types/containers/AsyncApi/Layout.d.ts.map +1 -1
  200. package/lib/types/containers/AsyncApi/Standalone.d.ts +2 -2
  201. package/lib/types/containers/AsyncApi/Standalone.d.ts.map +1 -1
  202. package/lib/types/containers/Info/Info.d.ts.map +1 -1
  203. package/lib/types/containers/Messages/Message.d.ts +3 -2
  204. package/lib/types/containers/Messages/Message.d.ts.map +1 -1
  205. package/lib/types/containers/Messages/MessageExample.d.ts +5 -4
  206. package/lib/types/containers/Messages/MessageExample.d.ts.map +1 -1
  207. package/lib/types/containers/Messages/Messages.d.ts.map +1 -1
  208. package/lib/types/containers/Operations/Operation.d.ts +4 -3
  209. package/lib/types/containers/Operations/Operation.d.ts.map +1 -1
  210. package/lib/types/containers/Operations/Operations.d.ts.map +1 -1
  211. package/lib/types/containers/Schemas/Schema.d.ts +9 -0
  212. package/lib/types/containers/Schemas/Schema.d.ts.map +1 -0
  213. package/lib/types/containers/Schemas/Schemas.d.ts +3 -0
  214. package/lib/types/containers/Schemas/Schemas.d.ts.map +1 -0
  215. package/lib/types/containers/Servers/Security.d.ts +10 -0
  216. package/lib/types/containers/Servers/Security.d.ts.map +1 -0
  217. package/lib/types/containers/Servers/Server.d.ts +2 -2
  218. package/lib/types/containers/Servers/Server.d.ts.map +1 -1
  219. package/lib/types/containers/Servers/Servers.d.ts.map +1 -1
  220. package/lib/types/containers/Sidebar/Sidebar.d.ts +1 -9
  221. package/lib/types/containers/Sidebar/Sidebar.d.ts.map +1 -1
  222. package/lib/types/contexts/index.d.ts +1 -0
  223. package/lib/types/contexts/index.d.ts.map +1 -1
  224. package/lib/types/contexts/useConfig.d.ts +5 -0
  225. package/lib/types/contexts/useConfig.d.ts.map +1 -0
  226. package/lib/types/contexts/useSpec.d.ts +3 -5
  227. package/lib/types/contexts/useSpec.d.ts.map +1 -1
  228. package/lib/types/helpers/bindingsHelpers.d.ts +8 -0
  229. package/lib/types/helpers/bindingsHelpers.d.ts.map +1 -0
  230. package/lib/types/helpers/common.d.ts +5 -0
  231. package/lib/types/helpers/common.d.ts.map +1 -0
  232. package/lib/types/helpers/index.d.ts +1 -2
  233. package/lib/types/helpers/index.d.ts.map +1 -1
  234. package/lib/types/helpers/message.d.ts +4 -3
  235. package/lib/types/helpers/message.d.ts.map +1 -1
  236. package/lib/types/helpers/parser.d.ts.map +1 -1
  237. package/lib/types/helpers/schema.d.ts +16 -12
  238. package/lib/types/helpers/schema.d.ts.map +1 -1
  239. package/lib/types/helpers/server.d.ts +6 -1
  240. package/lib/types/helpers/server.d.ts.map +1 -1
  241. package/lib/types/helpers/specification.d.ts +7 -4
  242. package/lib/types/helpers/specification.d.ts.map +1 -1
  243. package/lib/types/types.d.ts +12 -305
  244. package/lib/types/types.d.ts.map +1 -1
  245. package/package.json +30 -17
  246. package/styles/default.css +752 -658
  247. package/styles/default.min.css +3 -3
  248. package/lib/cjs/containers/Servers/ServerSecurity.js +0 -101
  249. package/lib/cjs/containers/Servers/ServerSecurity.js.map +0 -1
  250. package/lib/cjs/helpers/bemClasses.js +0 -49
  251. package/lib/cjs/helpers/bemClasses.js.map +0 -1
  252. package/lib/cjs/helpers/toKebabCase.js +0 -15
  253. package/lib/cjs/helpers/toKebabCase.js.map +0 -1
  254. package/lib/esm/containers/Servers/ServerSecurity.js +0 -95
  255. package/lib/esm/containers/Servers/ServerSecurity.js.map +0 -1
  256. package/lib/esm/helpers/bemClasses.js +0 -46
  257. package/lib/esm/helpers/bemClasses.js.map +0 -1
  258. package/lib/esm/helpers/toKebabCase.js +0 -11
  259. package/lib/esm/helpers/toKebabCase.js.map +0 -1
  260. package/lib/types/containers/Servers/ServerSecurity.d.ts +0 -8
  261. package/lib/types/containers/Servers/ServerSecurity.d.ts.map +0 -1
  262. package/lib/types/helpers/bemClasses.d.ts +0 -14
  263. package/lib/types/helpers/bemClasses.d.ts.map +0 -1
  264. package/lib/types/helpers/toKebabCase.d.ts +0 -2
  265. package/lib/types/helpers/toKebabCase.d.ts.map +0 -1
@@ -8,14 +8,14 @@ var react_1 = __importDefault(require("react"));
8
8
  var components_1 = require("../../components");
9
9
  var contexts_1 = require("../../contexts");
10
10
  var constants_1 = require("../../constants");
11
- exports.Info = function () {
12
- var asyncapi = contexts_1.useSpec();
11
+ var Info = function () {
12
+ var asyncapi = (0, contexts_1.useSpec)();
13
13
  var info = asyncapi.info();
14
14
  if (!info) {
15
15
  return null;
16
16
  }
17
- var specId = asyncapi.id();
18
- var externalDocs = asyncapi.externalDocs();
17
+ var specId = asyncapi.info().id();
18
+ var externalDocs = asyncapi.info().externalDocs();
19
19
  var license = info.license();
20
20
  var termsOfService = info.termsOfService();
21
21
  var defaultContentType = asyncapi.defaultContentType();
@@ -28,23 +28,23 @@ exports.Info = function () {
28
28
  "\u00A0",
29
29
  info.version()),
30
30
  showInfoList && (react_1.default.createElement("ul", { className: "flex flex-wrap mt-2 leading-normal" },
31
- license && (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2" }, license.url() ? (react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: license.url() },
31
+ license && (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2" }, license.url() ? (react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: license.url() || '' },
32
32
  react_1.default.createElement("span", null, license.name()))) : (react_1.default.createElement("span", { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1" }, license.name())))),
33
33
  termsOfService && (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2" },
34
34
  react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: termsOfService },
35
35
  react_1.default.createElement("span", null, constants_1.TERMS_OF_SERVICE_TEXT)))),
36
36
  defaultContentType && (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2" },
37
- react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: constants_1.CONTENT_TYPES_SITE + "/" + defaultContentType },
37
+ react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: "".concat(constants_1.CONTENT_TYPES_SITE, "/").concat(defaultContentType) },
38
38
  react_1.default.createElement("span", null, defaultContentType)))),
39
39
  externalDocs && (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2" },
40
40
  react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: externalDocs.url() },
41
41
  react_1.default.createElement("span", null, constants_1.EXTERAL_DOCUMENTATION_TEXT)))),
42
42
  contact && (react_1.default.createElement(react_1.default.Fragment, null,
43
43
  contact.url() && (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2" },
44
- react_1.default.createElement(components_1.Href, { className: "border border-solid border-purple-300 hover:bg-purple-300 hover:text-purple-600 text-purple-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: contact.url() },
44
+ react_1.default.createElement(components_1.Href, { className: "border border-solid border-purple-300 hover:bg-purple-300 hover:text-purple-600 text-purple-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: contact.url() || '' },
45
45
  react_1.default.createElement("span", null, contact.name() || constants_1.URL_SUPPORT_TEXT)))),
46
46
  contact.email() && (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2" },
47
- react_1.default.createElement(components_1.Href, { className: "border border-solid border-purple-300 hover:bg-purple-300 hover:text-purple-600 text-purple-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: "mailto:" + contact.email() },
47
+ react_1.default.createElement(components_1.Href, { className: "border border-solid border-purple-300 hover:bg-purple-300 hover:text-purple-600 text-purple-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: "mailto:".concat(contact.email()) },
48
48
  react_1.default.createElement("span", null, contact.email())))))),
49
49
  specId && (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2" },
50
50
  react_1.default.createElement("span", { className: "border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs uppercase rounded px-3 py-1" },
@@ -52,8 +52,9 @@ exports.Info = function () {
52
52
  specId))))),
53
53
  info.hasDescription() && (react_1.default.createElement("div", { className: "mt-4" },
54
54
  react_1.default.createElement(components_1.Markdown, null, info.description()))),
55
- asyncapi.hasTags() && (react_1.default.createElement("div", { className: "mt-4" },
56
- react_1.default.createElement(components_1.Tags, { tags: asyncapi.tags() })))),
55
+ asyncapi.info().tags().length > 0 && (react_1.default.createElement("div", { className: "mt-4" },
56
+ react_1.default.createElement(components_1.Tags, { tags: asyncapi.info().tags() })))),
57
57
  react_1.default.createElement("div", { className: "panel-item--right" })));
58
58
  };
59
+ exports.Info = Info;
59
60
  //# sourceMappingURL=Info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Info.js","sourceRoot":"","sources":["../../../../src/containers/Info/Info.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Info.js","sourceRoot":"","sources":["../../../../src/containers/Info/Info.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Href, Markdown, Tags } from '../../components';\nimport { useSpec } from '../../contexts';\nimport {\n TERMS_OF_SERVICE_TEXT,\n CONTENT_TYPES_SITE,\n URL_SUPPORT_TEXT,\n EXTERAL_DOCUMENTATION_TEXT,\n} from '../../constants';\n\nexport const Info: React.FunctionComponent = () => {\n const asyncapi = useSpec();\n\n const info = asyncapi.info();\n if (!info) {\n return null;\n }\n\n const specId = asyncapi.info().id();\n const externalDocs = asyncapi.info().externalDocs();\n const license = info.license();\n const termsOfService = info.termsOfService();\n const defaultContentType = asyncapi.defaultContentType();\n const contact = info.contact();\n\n const showInfoList =\n license || termsOfService || defaultContentType || contact || externalDocs;\n\n return (\n <div className=\"panel-item\">\n <div className=\"panel-item--center px-8 text-left\" id=\"introduction\">\n <div className=\"text-4xl\">\n {info.title()}&nbsp;{info.version()}\n </div>\n\n {showInfoList && (\n <ul className=\"flex flex-wrap mt-2 leading-normal\">\n {license && (\n <li className=\"inline-block mt-2 mr-2\">\n {license.url() ? (\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={license.url() || ''}\n >\n <span>{license.name()}</span>\n </Href>\n ) : (\n <span className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\">\n {license.name()}\n </span>\n )}\n </li>\n )}\n {termsOfService && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={termsOfService}\n >\n <span>{TERMS_OF_SERVICE_TEXT}</span>\n </Href>\n </li>\n )}\n {defaultContentType && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={`${CONTENT_TYPES_SITE}/${defaultContentType}`}\n >\n <span>{defaultContentType}</span>\n </Href>\n </li>\n )}\n {externalDocs && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={externalDocs.url()}\n >\n <span>{EXTERAL_DOCUMENTATION_TEXT}</span>\n </Href>\n </li>\n )}\n {contact && (\n <>\n {contact.url() && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-purple-300 hover:bg-purple-300 hover:text-purple-600 text-purple-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={contact.url() || ''}\n >\n <span>{contact.name() || URL_SUPPORT_TEXT}</span>\n </Href>\n </li>\n )}\n {contact.email() && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-purple-300 hover:bg-purple-300 hover:text-purple-600 text-purple-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={`mailto:${contact.email()}`}\n >\n <span>{contact.email()}</span>\n </Href>\n </li>\n )}\n </>\n )}\n {specId && (\n <li className=\"inline-block mt-2 mr-2\">\n <span className=\"border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\">\n ID: {specId}\n </span>\n </li>\n )}\n </ul>\n )}\n\n {info.hasDescription() && (\n <div className=\"mt-4\">\n <Markdown>{info.description()}</Markdown>\n </div>\n )}\n\n {asyncapi.info().tags().length > 0 && (\n <div className=\"mt-4\">\n <Tags tags={asyncapi.info().tags()} />\n </div>\n )}\n </div>\n\n <div className=\"panel-item--right\" />\n </div>\n );\n};\n"]}
@@ -7,12 +7,16 @@ exports.Message = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var MessageExample_1 = require("./MessageExample");
9
9
  var components_1 = require("../../components");
10
+ var contexts_1 = require("../../contexts");
11
+ var helpers_1 = require("../../helpers");
10
12
  var constants_1 = require("../../constants");
11
- exports.Message = function (_a) {
12
- var message = _a.message, index = _a.index, _b = _a.showExamples, showExamples = _b === void 0 ? false : _b;
13
+ var Message = function (_a) {
14
+ var message = _a.message, messageName = _a.messageName, index = _a.index, _b = _a.showExamples, showExamples = _b === void 0 ? false : _b;
15
+ var config = (0, contexts_1.useConfig)();
13
16
  if (!message) {
14
17
  return null;
15
18
  }
19
+ var messageId = typeof message.id === 'function' && message.id();
16
20
  var title = message.title();
17
21
  var summary = message.summary();
18
22
  var payload = message.payload();
@@ -23,21 +27,25 @@ exports.Message = function (_a) {
23
27
  var showInfoList = contentType || externalDocs;
24
28
  return (react_1.default.createElement("div", { className: "panel-item" },
25
29
  react_1.default.createElement("div", { className: "panel-item--center px-8" },
26
- react_1.default.createElement("div", { className: "shadow rounded bg-gray-200 p-4 border bg-gray-100" },
30
+ react_1.default.createElement("div", { className: "shadow rounded bg-gray-200 p-4 border" },
27
31
  react_1.default.createElement("div", null,
28
32
  index !== undefined && (react_1.default.createElement("span", { className: "text-gray-700 font-bold mr-2" },
29
33
  "#",
30
34
  index)),
31
35
  title && react_1.default.createElement("span", { className: "text-gray-700 mr-2" }, title),
32
- react_1.default.createElement("span", { className: "border text-orange-600 rounded text-xs py-0 px-2" }, message.uid())),
36
+ react_1.default.createElement("span", { className: "border text-orange-600 rounded text-xs py-0 px-2" }, message.id())),
33
37
  summary && react_1.default.createElement("p", { className: "text-gray-600 text-sm" }, summary),
34
38
  showInfoList && (react_1.default.createElement("ul", { className: "leading-normal mt-2 mb-4 space-x-2 space-y-2" },
35
39
  contentType && (react_1.default.createElement("li", { className: "inline-block" },
36
- react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: constants_1.CONTENT_TYPES_SITE + "/" + contentType },
40
+ react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: "".concat(constants_1.CONTENT_TYPES_SITE, "/").concat(contentType) },
37
41
  react_1.default.createElement("span", null, contentType)))),
38
42
  externalDocs && (react_1.default.createElement("li", { className: "inline-block" },
39
43
  react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: externalDocs.url() },
40
44
  react_1.default.createElement("span", null, constants_1.EXTERAL_DOCUMENTATION_TEXT)))))),
45
+ messageId && (react_1.default.createElement("div", { className: "border bg-gray-100 rounded px-4 py-2 mt-2" },
46
+ react_1.default.createElement("div", { className: "text-sm text-gray-700" },
47
+ "Message ID",
48
+ react_1.default.createElement("span", { className: "border text-orange-600 rounded text-xs ml-2 py-0 px-2" }, messageId)))),
41
49
  correlationId && (react_1.default.createElement("div", { className: "border bg-gray-100 rounded px-4 py-2 mt-2" },
42
50
  react_1.default.createElement("div", { className: "text-sm text-gray-700" },
43
51
  "Correlation ID",
@@ -46,16 +54,21 @@ exports.Message = function (_a) {
46
54
  react_1.default.createElement(components_1.Markdown, null, correlationId.description()))))),
47
55
  message.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
48
56
  react_1.default.createElement(components_1.Markdown, null, message.description()))),
49
- payload && (react_1.default.createElement("div", { className: "mt-2" },
57
+ payload && (react_1.default.createElement("div", { className: "mt-2", id: messageName
58
+ ? helpers_1.CommonHelpers.getIdentifier("message-".concat(messageName, "-payload"), config)
59
+ : undefined },
50
60
  react_1.default.createElement(components_1.Schema, { schemaName: "Payload", schema: payload }))),
51
- headers && (react_1.default.createElement("div", { className: "mt-2" },
61
+ headers && (react_1.default.createElement("div", { className: "mt-2", id: messageName
62
+ ? helpers_1.CommonHelpers.getIdentifier("message-".concat(messageName, "-headers"), config)
63
+ : undefined },
52
64
  react_1.default.createElement(components_1.Schema, { schemaName: "Headers", schema: headers }))),
53
- message.hasBindings() && (react_1.default.createElement("div", { className: "mt-2" },
54
- react_1.default.createElement(components_1.Bindings, { bindings: message.bindings() }))),
65
+ message.bindings().length > 0 && (react_1.default.createElement("div", { className: "mt-2" },
66
+ react_1.default.createElement(components_1.Bindings, { name: "Message specific information", bindings: message.bindings() }))),
55
67
  react_1.default.createElement(components_1.Extensions, { item: message }),
56
- message.hasTags() && (react_1.default.createElement("div", { className: "mt-2" },
68
+ message.tags().length > 0 && (react_1.default.createElement("div", { className: "mt-2" },
57
69
  react_1.default.createElement(components_1.Tags, { tags: message.tags() }))))),
58
70
  showExamples && (react_1.default.createElement("div", { className: "panel-item--right px-8" },
59
71
  react_1.default.createElement(MessageExample_1.MessageExample, { message: message })))));
60
72
  };
73
+ exports.Message = Message;
61
74
  //# sourceMappingURL=Message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../../src/containers/Messages/Message.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../../src/containers/Messages/Message.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { MessageInterface } from '@asyncapi/parser';\n\nimport { MessageExample } from './MessageExample';\nimport {\n Href,\n Markdown,\n Schema,\n Bindings,\n Tags,\n Extensions,\n} from '../../components';\n\nimport { useConfig } from '../../contexts';\nimport { CommonHelpers } from '../../helpers';\nimport {\n CONTENT_TYPES_SITE,\n EXTERAL_DOCUMENTATION_TEXT,\n} from '../../constants';\n\ninterface Props {\n message: MessageInterface;\n messageName?: string;\n index?: number | string;\n showExamples?: boolean;\n}\n\nexport const Message: React.FunctionComponent<Props> = ({\n message,\n messageName,\n index,\n showExamples = false,\n}) => {\n const config = useConfig();\n\n if (!message) {\n return null;\n }\n\n // check typeof as fallback for older version than `2.4.0`\n const messageId = typeof message.id === 'function' && message.id();\n const title = message.title();\n const summary = message.summary();\n const payload = message.payload();\n const headers = message.headers();\n const correlationId = message.correlationId();\n\n const contentType = message.contentType();\n const externalDocs = message.externalDocs();\n const showInfoList = contentType || externalDocs;\n\n return (\n <div className=\"panel-item\">\n <div className=\"panel-item--center px-8\">\n <div className=\"shadow rounded bg-gray-200 p-4 border\">\n <div>\n {index !== undefined && (\n <span className=\"text-gray-700 font-bold mr-2\">#{index}</span>\n )}\n {title && <span className=\"text-gray-700 mr-2\">{title}</span>}\n <span className=\"border text-orange-600 rounded text-xs py-0 px-2\">\n {message.id()}\n </span>\n </div>\n\n {summary && <p className=\"text-gray-600 text-sm\">{summary}</p>}\n\n {showInfoList && (\n <ul className=\"leading-normal mt-2 mb-4 space-x-2 space-y-2\">\n {contentType && (\n <li className=\"inline-block\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={`${CONTENT_TYPES_SITE}/${contentType}`}\n >\n <span>{contentType}</span>\n </Href>\n </li>\n )}\n {externalDocs && (\n <li className=\"inline-block\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={externalDocs.url()}\n >\n <span>{EXTERAL_DOCUMENTATION_TEXT}</span>\n </Href>\n </li>\n )}\n </ul>\n )}\n\n {messageId && (\n <div className=\"border bg-gray-100 rounded px-4 py-2 mt-2\">\n <div className=\"text-sm text-gray-700\">\n Message ID\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {messageId}\n </span>\n </div>\n </div>\n )}\n\n {correlationId && (\n <div className=\"border bg-gray-100 rounded px-4 py-2 mt-2\">\n <div className=\"text-sm text-gray-700\">\n Correlation ID\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {correlationId.location()}\n </span>\n </div>\n\n {correlationId.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{correlationId.description()}</Markdown>\n </div>\n )}\n </div>\n )}\n\n {message.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{message.description()}</Markdown>\n </div>\n )}\n\n {payload && (\n <div\n className=\"mt-2\"\n id={\n messageName\n ? CommonHelpers.getIdentifier(\n `message-${messageName}-payload`,\n config,\n )\n : undefined\n }\n >\n <Schema schemaName=\"Payload\" schema={payload} />\n </div>\n )}\n {headers && (\n <div\n className=\"mt-2\"\n id={\n messageName\n ? CommonHelpers.getIdentifier(\n `message-${messageName}-headers`,\n config,\n )\n : undefined\n }\n >\n <Schema schemaName=\"Headers\" schema={headers} />\n </div>\n )}\n\n {message.bindings().length > 0 && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Message specific information\"\n bindings={message.bindings()}\n />\n </div>\n )}\n\n <Extensions item={message} />\n\n {message.tags().length > 0 && (\n <div className=\"mt-2\">\n <Tags tags={message.tags()} />\n </div>\n )}\n </div>\n </div>\n\n {showExamples && (\n <div className=\"panel-item--right px-8\">\n <MessageExample message={message} />\n </div>\n )}\n </div>\n );\n};\n"]}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -23,7 +27,8 @@ exports.Example = exports.MessageExample = void 0;
23
27
  var react_1 = __importStar(require("react"));
24
28
  var components_1 = require("../../components");
25
29
  var message_1 = require("../../helpers/message");
26
- exports.MessageExample = function (_a) {
30
+ var contexts_1 = require("../../contexts");
31
+ var MessageExample = function (_a) {
27
32
  var message = _a.message;
28
33
  if (!message) {
29
34
  return null;
@@ -35,22 +40,29 @@ exports.MessageExample = function (_a) {
35
40
  payload && (react_1.default.createElement(exports.Example, { type: "Payload", schema: payload, examples: message_1.MessageHelpers.getPayloadExamples(message) })),
36
41
  headers && (react_1.default.createElement(exports.Example, { type: "Headers", schema: headers, examples: message_1.MessageHelpers.getHeadersExamples(message) }))));
37
42
  };
38
- exports.Example = function (_a) {
43
+ exports.MessageExample = MessageExample;
44
+ var Example = function (_a) {
39
45
  var _b = _a.type, type = _b === void 0 ? 'Payload' : _b, schema = _a.schema, _c = _a.examples, examples = _c === void 0 ? [] : _c;
40
- var _d = react_1.useState(false), expand = _d[0], setExpand = _d[1];
46
+ var config = (0, contexts_1.useConfig)();
47
+ var _d = (0, react_1.useState)((config && config.expand && config.expand.messageExamples) || false), expanded = _d[0], setExpanded = _d[1];
48
+ (0, react_1.useEffect)(function () {
49
+ setExpanded((config && config.expand && config.expand.messageExamples) || false);
50
+ }, [config.expand]);
41
51
  return (react_1.default.createElement("div", { className: "mt-4" },
42
52
  react_1.default.createElement("div", null,
43
- react_1.default.createElement(components_1.CollapseButton, { onClick: function () { return setExpand(function (prev) { return !prev; }); }, chevronProps: {
44
- className: "fill-current text-gray-200 " + (expand ? '-rotate-180' : '-rotate-90'),
53
+ react_1.default.createElement(components_1.CollapseButton, { onClick: function () { return setExpanded(function (prev) { return !prev; }); }, expanded: expanded, chevronProps: {
54
+ className: 'fill-current text-gray-200',
45
55
  } },
46
- react_1.default.createElement("span", { className: "px-2 py-1 mr-2 text-gray-200 text-sm border rounded focus:outline-none" }, type))),
47
- react_1.default.createElement("div", { className: expand ? 'block' : 'hidden' }, examples && examples.length > 0 ? (react_1.default.createElement("ul", null, examples.map(function (example, idx) { return (react_1.default.createElement("li", { className: "mt-4", key: idx },
48
- react_1.default.createElement("h5", { className: "text-xs font-bold text-gray-700" },
49
- "Example #",
50
- idx + 1),
56
+ react_1.default.createElement("span", { className: "inline-block w-20 py-0.5 mr-1 text-gray-200 text-sm border text-center rounded focus:outline-none" }, type))),
57
+ react_1.default.createElement("div", { className: expanded ? 'block' : 'hidden' }, examples && examples.length > 0 ? (react_1.default.createElement("ul", null, examples.map(function (example, idx) { return (react_1.default.createElement("li", { className: "mt-4", key: idx },
58
+ react_1.default.createElement("h5", { className: "text-xs font-bold text-gray-500" }, example.name
59
+ ? "#".concat(idx + 1, " Example - ").concat(example.name)
60
+ : "#".concat(idx + 1, " Example")),
61
+ example.summary && (react_1.default.createElement("p", { className: "text-xs font-bold text-gray-500" }, example.summary)),
51
62
  react_1.default.createElement("div", { className: "mt-1" },
52
- react_1.default.createElement(components_1.JSONSnippet, { snippet: message_1.MessageHelpers.sanitizeExample(example) })))); }))) : (react_1.default.createElement("div", { className: "mt-4" },
63
+ react_1.default.createElement(components_1.JSONSnippet, { snippet: message_1.MessageHelpers.sanitizeExample(example.example) })))); }))) : (react_1.default.createElement("div", { className: "mt-4" },
53
64
  react_1.default.createElement(components_1.JSONSnippet, { snippet: message_1.MessageHelpers.generateExample(schema.json()) }),
54
- react_1.default.createElement("h6", { className: "text-xs font-bold text-gray-700 italic mt-2" }, "This example has been generated automatically."))))));
65
+ react_1.default.createElement("h6", { className: "text-xs font-bold text-gray-600 italic mt-2" }, "This example has been generated automatically."))))));
55
66
  };
67
+ exports.Example = Example;
56
68
  //# sourceMappingURL=MessageExample.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageExample.js","sourceRoot":"","sources":["../../../../src/containers/Messages/MessageExample.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwC;AAGxC,+CAA+D;AAC/D,iDAAuD;AAM1C,QAAA,cAAc,GAAmC,UAAC,EAAW;QAAT,OAAO,aAAA;IACtE,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAClC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAElC,OAAO,CACL,uCAAK,SAAS,EAAC,yEAAyE;QACtF,sCAAI,SAAS,EAAC,oBAAoB,eAAc;QAC/C,OAAO,IAAI,CACV,8BAAC,eAAO,IACN,IAAI,EAAC,SAAS,EACd,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,wBAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,GACpD,CACH;QACA,OAAO,IAAI,CACV,8BAAC,eAAO,IACN,IAAI,EAAC,SAAS,EACd,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,wBAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,GACpD,CACH,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAQW,QAAA,OAAO,GAA0C,UAAC,EAI9D;QAHC,YAAgB,EAAhB,IAAI,mBAAG,SAAS,KAAA,EAChB,MAAM,YAAA,EACN,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA;IAEP,IAAA,KAAsB,gBAAQ,CAAC,KAAK,CAAC,EAApC,MAAM,QAAA,EAAE,SAAS,QAAmB,CAAC;IAE5C,OAAO,CACL,uCAAK,SAAS,EAAC,MAAM;QACnB;YACE,8BAAC,2BAAc,IACb,OAAO,EAAE,cAAM,OAAA,SAAS,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,EAAL,CAAK,CAAC,EAAxB,CAAwB,EACvC,YAAY,EAAE;oBACZ,SAAS,EAAE,iCACT,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CACrC;iBACH;gBAED,wCAAM,SAAS,EAAC,wEAAwE,IACrF,IAAI,CACA,CACQ,CACb;QACN,uCAAK,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IACxC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACjC,0CACG,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,GAAG,IAAK,OAAA,CAC9B,sCAAI,SAAS,EAAC,MAAM,EAAC,GAAG,EAAE,GAAG;YAC3B,sCAAI,SAAS,EAAC,iCAAiC;;gBACnC,GAAG,GAAG,CAAC,CACd;YACL,uCAAK,SAAS,EAAC,MAAM;gBACnB,8BAAC,wBAAW,IACV,OAAO,EAAE,wBAAc,CAAC,eAAe,CAAC,OAAO,CAAC,GAChD,CACE,CACH,CACN,EAX+B,CAW/B,CAAC,CACC,CACN,CAAC,CAAC,CAAC,CACF,uCAAK,SAAS,EAAC,MAAM;YACnB,8BAAC,wBAAW,IACV,OAAO,EAAE,wBAAc,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GACtD;YACF,sCAAI,SAAS,EAAC,6CAA6C,qDAEtD,CACD,CACP,CACG,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"MessageExample.js","sourceRoot":"","sources":["../../../../src/containers/Messages/MessageExample.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { MessageInterface, SchemaInterface } from '@asyncapi/parser';\n\nimport { CollapseButton, JSONSnippet } from '../../components';\nimport { MessageHelpers } from '../../helpers/message';\nimport { MessageExample as MessageExampleType } from '../../types';\nimport { useConfig } from '../../contexts';\n\ninterface Props {\n message: MessageInterface;\n}\n\nexport const MessageExample: React.FunctionComponent<Props> = ({ message }) => {\n if (!message) {\n return null;\n }\n\n const payload = message.payload();\n const headers = message.headers();\n\n return (\n <div className=\"bg-gray-800 px-8 py-4 mt-4 -mx-8 2xl:mx-0 2xl:px-4 2xl:rounded examples\">\n <h4 className=\"text-white text-lg\">Examples</h4>\n {payload && (\n <Example\n type=\"Payload\"\n schema={payload}\n examples={MessageHelpers.getPayloadExamples(message)}\n />\n )}\n {headers && (\n <Example\n type=\"Headers\"\n schema={headers}\n examples={MessageHelpers.getHeadersExamples(message)}\n />\n )}\n </div>\n );\n};\n\ninterface ExampleProps {\n type: 'Payload' | 'Headers';\n schema: SchemaInterface;\n examples?: MessageExampleType[];\n}\n\nexport const Example: React.FunctionComponent<ExampleProps> = ({\n type = 'Payload',\n schema,\n examples = [],\n}) => {\n const config = useConfig();\n const [expanded, setExpanded] = useState(\n (config && config.expand && config.expand.messageExamples) || false,\n );\n\n useEffect(() => {\n setExpanded(\n (config && config.expand && config.expand.messageExamples) || false,\n );\n }, [config.expand]);\n\n return (\n <div className=\"mt-4\">\n <div>\n <CollapseButton\n onClick={() => setExpanded(prev => !prev)}\n expanded={expanded}\n chevronProps={{\n className: 'fill-current text-gray-200',\n }}\n >\n <span className=\"inline-block w-20 py-0.5 mr-1 text-gray-200 text-sm border text-center rounded focus:outline-none\">\n {type}\n </span>\n </CollapseButton>\n </div>\n <div className={expanded ? 'block' : 'hidden'}>\n {examples && examples.length > 0 ? (\n <ul>\n {examples.map((example, idx) => (\n <li className=\"mt-4\" key={idx}>\n <h5 className=\"text-xs font-bold text-gray-500\">\n {example.name\n ? `#${idx + 1} Example - ${example.name}`\n : `#${idx + 1} Example`}\n </h5>\n {example.summary && (\n <p className=\"text-xs font-bold text-gray-500\">\n {example.summary}\n </p>\n )}\n <div className=\"mt-1\">\n <JSONSnippet\n snippet={MessageHelpers.sanitizeExample(example.example)}\n />\n </div>\n </li>\n ))}\n </ul>\n ) : (\n <div className=\"mt-4\">\n <JSONSnippet\n snippet={MessageHelpers.generateExample(schema.json())}\n />\n <h6 className=\"text-xs font-bold text-gray-600 italic mt-2\">\n This example has been generated automatically.\n </h6>\n </div>\n )}\n </div>\n </div>\n );\n};\n"]}
@@ -7,18 +7,23 @@ exports.Messages = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var Message_1 = require("./Message");
9
9
  var contexts_1 = require("../../contexts");
10
+ var helpers_1 = require("../../helpers");
10
11
  var constants_1 = require("../../constants");
11
- exports.Messages = function () {
12
- var messages = contexts_1.useSpec().allMessages();
13
- if (!messages.size) {
12
+ var Messages = function () {
13
+ var asyncapi = (0, contexts_1.useSpec)();
14
+ var config = (0, contexts_1.useConfig)();
15
+ var messages = !asyncapi.components().isEmpty() &&
16
+ asyncapi
17
+ .components()
18
+ .messages()
19
+ .all();
20
+ if (!messages || messages.length === 0) {
14
21
  return null;
15
22
  }
16
- return (react_1.default.createElement("section", { id: "messages", className: "mt-16" },
23
+ return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('messages', config)), className: "mt-16" },
17
24
  react_1.default.createElement("h2", { className: "2xl:w-7/12 text-3xl font-light mb-4 px-8" }, constants_1.MESSAGES_TEXT),
18
- react_1.default.createElement("ul", null, Array.from(messages).map(function (_a, idx) {
19
- var messageName = _a[0], message = _a[1];
20
- return (react_1.default.createElement("li", { className: "mb-4", key: messageName, id: "message-" + message.uid() },
21
- react_1.default.createElement(Message_1.Message, { message: message, index: idx + 1, key: messageName })));
22
- }))));
25
+ react_1.default.createElement("ul", null, messages.map(function (message, idx) { return (react_1.default.createElement("li", { className: "mb-4", key: message.id(), id: helpers_1.CommonHelpers.getIdentifier("message-".concat(message.id()), config) },
26
+ react_1.default.createElement(Message_1.Message, { messageName: message.id(), message: message, index: idx + 1, key: message.id() }))); }))));
23
27
  };
28
+ exports.Messages = Messages;
24
29
  //# sourceMappingURL=Messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../../../src/containers/Messages/Messages.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,qCAAoC;AAEpC,2CAAyC;AACzC,6CAAgD;AAEnC,QAAA,QAAQ,GAA4B;IAC/C,IAAM,QAAQ,GAAG,kBAAO,EAAE,CAAC,WAAW,EAAE,CAAC;IAEzC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,2CAAS,EAAE,EAAC,UAAU,EAAC,SAAS,EAAC,OAAO;QACtC,sCAAI,SAAS,EAAC,0CAA0C,IACrD,yBAAa,CACX;QACL,0CACG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAC,EAAsB,EAAE,GAAG;gBAA1B,WAAW,QAAA,EAAE,OAAO,QAAA;YAAW,OAAA,CACzD,sCACE,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,aAAW,OAAO,CAAC,GAAG,EAAI;gBAE9B,8BAAC,iBAAO,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,GAAI,CAC5D,CACN;QAR0D,CAQ1D,CAAC,CACC,CACG,CACX,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../../../src/containers/Messages/Messages.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,qCAAoC;AAEpC,2CAAoD;AACpD,yCAA8C;AAC9C,6CAAgD;AAEzC,IAAM,QAAQ,GAA4B;IAC/C,IAAM,QAAQ,GAAG,IAAA,kBAAO,GAAE,CAAC;IAC3B,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAC3B,IAAM,QAAQ,GACZ,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;QAChC,QAAQ;aACL,UAAU,EAAE;aACZ,QAAQ,EAAE;aACV,GAAG,EAAE,CAAC;IAEX,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,2CACE,EAAE,EAAE,UAAG,uBAAa,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAE,EACxD,SAAS,EAAC,OAAO;QAEjB,sCAAI,SAAS,EAAC,0CAA0C,IACrD,yBAAa,CACX;QACL,0CACG,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,GAAG,IAAK,OAAA,CAC9B,sCACE,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,EACjB,EAAE,EAAE,uBAAa,CAAC,aAAa,CAAC,kBAAW,OAAO,CAAC,EAAE,EAAE,CAAE,EAAE,MAAM,CAAC;YAElE,8BAAC,iBAAO,IACN,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,GAAG,GAAG,CAAC,EACd,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,GACjB,CACC,CACN,EAb+B,CAa/B,CAAC,CACC,CACG,CACX,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,QAAQ,YAwCnB","sourcesContent":["import React from 'react';\n\nimport { Message } from './Message';\n\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers } from '../../helpers';\nimport { MESSAGES_TEXT } from '../../constants';\n\nexport const Messages: React.FunctionComponent = () => {\n const asyncapi = useSpec();\n const config = useConfig();\n const messages =\n !asyncapi.components().isEmpty() &&\n asyncapi\n .components()\n .messages()\n .all();\n\n if (!messages || messages.length === 0) {\n return null;\n }\n\n return (\n <section\n id={`${CommonHelpers.getIdentifier('messages', config)}`}\n className=\"mt-16\"\n >\n <h2 className=\"2xl:w-7/12 text-3xl font-light mb-4 px-8\">\n {MESSAGES_TEXT}\n </h2>\n <ul>\n {messages.map((message, idx) => (\n <li\n className=\"mb-4\"\n key={message.id()}\n id={CommonHelpers.getIdentifier(`message-${message.id()}`, config)}\n >\n <Message\n messageName={message.id()}\n message={message}\n index={idx + 1}\n key={message.id()}\n />\n </li>\n ))}\n </ul>\n </section>\n );\n};\n"]}
@@ -1,63 +1,113 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Operation = void 0;
17
+ exports.OperationInfo = exports.Operation = void 0;
7
18
  var react_1 = __importDefault(require("react"));
8
19
  var Message_1 = require("../Messages/Message");
20
+ var Security_1 = require("../Servers/Security");
9
21
  var components_1 = require("../../components");
22
+ var contexts_1 = require("../../contexts");
10
23
  var helpers_1 = require("../../helpers");
11
24
  var constants_1 = require("../../constants");
12
25
  var types_1 = require("../../types");
13
- exports.Operation = function (_a) {
14
- var _b = _a.type, type = _b === void 0 ? types_1.PayloadType.PUBLISH : _b, operation = _a.operation, channelName = _a.channelName, channel = _a.channel;
15
- if (!operation) {
26
+ var Operation = function (props) {
27
+ var config = (0, contexts_1.useConfig)();
28
+ var _a = props.type, type = _a === void 0 ? types_1.PayloadType.PUBLISH : _a, operation = props.operation, channelName = props.channelName, channel = props.channel;
29
+ if (!operation || !channel) {
16
30
  return null;
17
31
  }
18
- var operationId = operation.id();
19
- var externalDocs = operation.externalDocs();
20
- var parameters = helpers_1.SchemaHelpers.parametersToSchema(channel.parameters());
21
- var operationSummary = operation.summary();
22
- return (react_1.default.createElement("div", { id: "operation-" + type + "-" + channelName },
32
+ var servers = typeof channel.servers === 'function' && channel.servers().all();
33
+ var security = typeof operation.security === 'function' && operation.security();
34
+ var parameters = channel.parameters() !== undefined
35
+ ? helpers_1.SchemaHelpers.parametersToSchema(channel.parameters())
36
+ : undefined;
37
+ return (react_1.default.createElement("div", null,
23
38
  react_1.default.createElement("div", { className: "panel-item--center px-8" },
24
- react_1.default.createElement("div", { className: "mb-4" },
25
- react_1.default.createElement("h3", null,
26
- react_1.default.createElement("span", { className: "font-mono border uppercase p-1 rounded mr-2 " + (type === types_1.PayloadType.PUBLISH
27
- ? 'border-blue-600 text-blue-500'
28
- : 'border-green-600 text-green-600'), title: type }, type === types_1.PayloadType.PUBLISH ? 'PUB' : 'SUB'),
29
- ' ',
30
- react_1.default.createElement("span", { className: "font-mono text-base" }, channelName))),
31
- channel.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
32
- react_1.default.createElement(components_1.Markdown, null, channel.description()))),
33
- operationSummary && (react_1.default.createElement("p", { className: "text-gray-600 text-sm mt-2" }, operationSummary)),
34
- operation.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
35
- react_1.default.createElement(components_1.Markdown, null, operation.description()))),
36
- externalDocs && (react_1.default.createElement("ul", { className: "leading-normal mt-2 mb-4 space-x-2 space-y-2" }, externalDocs && (react_1.default.createElement("li", { className: "inline-block" },
37
- react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: externalDocs.url() },
38
- react_1.default.createElement("span", null, constants_1.EXTERAL_DOCUMENTATION_TEXT)))))),
39
- operationId && (react_1.default.createElement("div", { className: "border bg-gray-100 rounded px-4 py-2 mt-2" },
40
- react_1.default.createElement("div", { className: "text-sm text-gray-700" },
41
- "Operation ID",
42
- react_1.default.createElement("span", { className: "border text-orange-600 rounded text-xs ml-2 py-0 px-2" }, operationId)))),
43
- parameters && (react_1.default.createElement("div", { className: "mt-2" },
39
+ react_1.default.createElement(exports.OperationInfo, __assign({}, props)),
40
+ servers && servers.length > 0 ? (react_1.default.createElement("div", { className: "mt-2 text-sm" },
41
+ react_1.default.createElement("p", null, "Available only on servers:"),
42
+ react_1.default.createElement("ul", { className: "flex flex-wrap leading-normal" }, servers.map(function (server) { return (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2", key: server.id() },
43
+ react_1.default.createElement("a", { href: "#".concat(helpers_1.CommonHelpers.getIdentifier('server-' + server.id(), config)), className: "border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer" },
44
+ react_1.default.createElement("span", { className: "underline" }, server.id())))); })))) : null,
45
+ parameters && (react_1.default.createElement("div", { className: "mt-2", id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(type, "-").concat(channelName, "-parameters"), config) },
44
46
  react_1.default.createElement(components_1.Schema, { schemaName: "Parameters", schema: parameters, expanded: true }))),
45
- operation.hasBindings() && (react_1.default.createElement("div", { className: "mt-2" },
46
- react_1.default.createElement(components_1.Bindings, { name: "Operation Bindings", bindings: operation.bindings() }))),
47
- channel.hasBindings() && (react_1.default.createElement("div", { className: "mt-2" },
48
- react_1.default.createElement(components_1.Bindings, { name: "Channel Bindings", bindings: channel.bindings() }))),
49
- react_1.default.createElement(components_1.Extensions, { item: operation }),
50
- operation.hasTags() && (react_1.default.createElement("div", { className: "mt-2" },
47
+ security && (react_1.default.createElement("div", { className: "mt-2", id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(type, "-").concat(channelName, "-security"), config) },
48
+ react_1.default.createElement(Security_1.Security, { security: security, header: "Additional security requirements" }))),
49
+ channel.bindings() && (react_1.default.createElement("div", { className: "mt-2" },
50
+ react_1.default.createElement(components_1.Bindings, { name: "Channel specific information", bindings: channel.bindings() }))),
51
+ react_1.default.createElement(components_1.Extensions, { name: "Channel Extensions", item: channel }),
52
+ operation.bindings() && (react_1.default.createElement("div", { className: "mt-2" },
53
+ react_1.default.createElement(components_1.Bindings, { name: "Operation specific information", bindings: operation.bindings() }))),
54
+ react_1.default.createElement(components_1.Extensions, { name: "Operation Extensions", item: operation }),
55
+ operation.tags() && (react_1.default.createElement("div", { className: "mt-2" },
51
56
  react_1.default.createElement(components_1.Tags, { tags: operation.tags() })))),
52
- react_1.default.createElement("div", { className: "w-full mt-4" }, operation.hasMultipleMessages() ? (react_1.default.createElement("div", { className: "mt-2" },
57
+ react_1.default.createElement("div", { className: "w-full mt-4", id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(type, "-").concat(channelName, "-message"), config) }, operation.messages().length > 1 ? (react_1.default.createElement("div", { className: "mt-2" },
53
58
  react_1.default.createElement("p", { className: "px-8" },
54
59
  "Accepts ",
55
60
  react_1.default.createElement("strong", null, "one of"),
56
61
  " the following messages:"),
57
- react_1.default.createElement("ul", null, operation.messages().map(function (msg, idx) { return (react_1.default.createElement("li", { className: "mt-4", key: idx },
62
+ react_1.default.createElement("ul", null, operation
63
+ .messages()
64
+ .all()
65
+ .map(function (msg, idx) { return (react_1.default.createElement("li", { className: "mt-4", key: idx },
58
66
  react_1.default.createElement(Message_1.Message, { message: msg, index: idx, showExamples: true }))); })))) : (react_1.default.createElement("div", { className: "mt-2" },
59
67
  react_1.default.createElement("p", { className: "px-8" }, "Accepts the following message:"),
60
68
  react_1.default.createElement("div", { className: "mt-2" },
61
- react_1.default.createElement(Message_1.Message, { message: operation.message(0), showExamples: true })))))));
69
+ react_1.default.createElement(Message_1.Message, { message: operation.messages().all()[0], showExamples: true })))))));
70
+ };
71
+ exports.Operation = Operation;
72
+ function getTypeInformation(_a) {
73
+ var _b, _c;
74
+ var _d = _a.type, type = _d === void 0 ? types_1.PayloadType.PUBLISH : _d, config = _a.config;
75
+ if (type === types_1.PayloadType.SUBSCRIBE) {
76
+ return {
77
+ borderColor: 'border-green-600 text-green-600',
78
+ typeLabel: (_b = config.subscribeLabel) !== null && _b !== void 0 ? _b : constants_1.SUBSCRIBE_LABEL_DEFAULT_TEXT,
79
+ };
80
+ }
81
+ return {
82
+ borderColor: 'border-blue-600 text-blue-500',
83
+ typeLabel: (_c = config.publishLabel) !== null && _c !== void 0 ? _c : constants_1.PUBLISH_LABEL_DEFAULT_TEXT,
84
+ };
85
+ }
86
+ var OperationInfo = function (props) {
87
+ var _a = props.type, type = _a === void 0 ? types_1.PayloadType.PUBLISH : _a, operation = props.operation, channelName = props.channelName, channel = props.channel;
88
+ var config = (0, contexts_1.useConfig)();
89
+ var operationSummary = operation.summary();
90
+ var externalDocs = operation.externalDocs();
91
+ var operationId = operation.id();
92
+ var _b = getTypeInformation({ type: type, config: config }), borderColor = _b.borderColor, typeLabel = _b.typeLabel;
93
+ return (react_1.default.createElement(react_1.default.Fragment, null,
94
+ react_1.default.createElement("div", { className: "mb-4" },
95
+ react_1.default.createElement("h3", null,
96
+ react_1.default.createElement("span", { className: "font-mono border uppercase p-1 rounded mr-2 ".concat(borderColor), title: type }, typeLabel),
97
+ ' ',
98
+ react_1.default.createElement("span", { className: "font-mono text-base" }, channelName))),
99
+ channel.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
100
+ react_1.default.createElement(components_1.Markdown, null, channel.description()))),
101
+ operationSummary && (react_1.default.createElement("p", { className: "text-gray-600 text-sm mt-2" }, operationSummary)),
102
+ operation.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
103
+ react_1.default.createElement(components_1.Markdown, null, operation.description()))),
104
+ externalDocs && (react_1.default.createElement("ul", { className: "leading-normal mt-2 mb-4 space-x-2 space-y-2" }, externalDocs && (react_1.default.createElement("li", { className: "inline-block" },
105
+ react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: externalDocs.url() },
106
+ react_1.default.createElement("span", null, constants_1.EXTERAL_DOCUMENTATION_TEXT)))))),
107
+ operationId && (react_1.default.createElement("div", { className: "border bg-gray-100 rounded px-4 py-2 mt-2" },
108
+ react_1.default.createElement("div", { className: "text-sm text-gray-700" },
109
+ "Operation ID",
110
+ react_1.default.createElement("span", { className: "border text-orange-600 rounded text-xs ml-2 py-0 px-2" }, operationId))))));
62
111
  };
112
+ exports.OperationInfo = OperationInfo;
63
113
  //# sourceMappingURL=Operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { ChannelInterface, OperationInterface } from '@asyncapi/parser';\n\nimport { Message } from '../Messages/Message';\nimport { Security } from '../Servers/Security';\nimport {\n Href,\n Markdown,\n Schema,\n Bindings,\n Tags,\n Extensions,\n} from '../../components';\n\nimport { useConfig } from '../../contexts';\nimport { CommonHelpers, SchemaHelpers } from '../../helpers';\nimport {\n EXTERAL_DOCUMENTATION_TEXT,\n PUBLISH_LABEL_DEFAULT_TEXT,\n SUBSCRIBE_LABEL_DEFAULT_TEXT,\n} from '../../constants';\nimport { PayloadType } from '../../types';\nimport { ConfigInterface } from '../../config/config';\ninterface Props {\n type: PayloadType;\n operation: OperationInterface;\n channelName: string;\n channel: ChannelInterface;\n}\n\nexport const Operation: React.FunctionComponent<Props> = props => {\n const config = useConfig();\n const { type = PayloadType.PUBLISH, operation, channelName, channel } = props;\n\n if (!operation || !channel) {\n return null;\n }\n\n // check typeof as fallback for older version than `2.2.0`\n const servers =\n typeof channel.servers === 'function' && channel.servers().all();\n // check typeof as fallback for older version than `2.4.0`\n const security =\n typeof operation.security === 'function' && operation.security();\n const parameters =\n channel.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\n\n return (\n <div>\n <div className=\"panel-item--center px-8\">\n <OperationInfo {...props} />\n\n {servers && servers.length > 0 ? (\n <div className=\"mt-2 text-sm\">\n <p>Available only on servers:</p>\n <ul className=\"flex flex-wrap leading-normal\">\n {servers.map(server => (\n <li className=\"inline-block mt-2 mr-2\" key={server.id()}>\n <a\n href={`#${CommonHelpers.getIdentifier(\n 'server-' + server.id(),\n config,\n )}`}\n className=\"border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer\"\n >\n <span className=\"underline\">{server.id()}</span>\n </a>\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema\n schemaName=\"Parameters\"\n schema={parameters}\n expanded={true}\n />\n </div>\n )}\n\n {security && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-security`,\n config,\n )}\n >\n <Security\n security={security}\n header=\"Additional security requirements\"\n />\n </div>\n )}\n\n {channel.bindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Channel specific information\"\n bindings={channel.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Channel Extensions\" item={channel} />\n\n {operation.bindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Operation specific information\"\n bindings={operation.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Operation Extensions\" item={operation} />\n\n {operation.tags() && (\n <div className=\"mt-2\">\n <Tags tags={operation.tags()} />\n </div>\n )}\n </div>\n\n <div\n className=\"w-full mt-4\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-message`,\n config,\n )}\n >\n {operation.messages().length > 1 ? (\n <div className=\"mt-2\">\n <p className=\"px-8\">\n Accepts <strong>one of</strong> the following messages:\n </p>\n <ul>\n {operation\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={idx}>\n <Message message={msg} index={idx} showExamples={true} />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <p className=\"px-8\">Accepts the following message:</p>\n <div className=\"mt-2\">\n <Message\n message={operation.messages().all()[0]}\n showExamples={true}\n />\n </div>\n </div>\n )}\n </div>\n </div>\n );\n};\n\nfunction getTypeInformation({\n type = PayloadType.PUBLISH,\n config,\n}: {\n type: PayloadType;\n config: ConfigInterface;\n}): { borderColor: string; typeLabel: string } {\n if (type === PayloadType.SUBSCRIBE) {\n return {\n borderColor: 'border-green-600 text-green-600',\n typeLabel: config.subscribeLabel ?? SUBSCRIBE_LABEL_DEFAULT_TEXT,\n };\n }\n // type === PayloadType.PUBLISH\n return {\n borderColor: 'border-blue-600 text-blue-500',\n typeLabel: config.publishLabel ?? PUBLISH_LABEL_DEFAULT_TEXT,\n };\n}\n\nexport const OperationInfo: React.FunctionComponent<Props> = props => {\n const { type = PayloadType.PUBLISH, operation, channelName, channel } = props;\n const config = useConfig();\n const operationSummary = operation.summary();\n const externalDocs = operation.externalDocs();\n const operationId = operation.id();\n const { borderColor, typeLabel } = getTypeInformation({ type, config });\n\n return (\n <>\n <div className=\"mb-4\">\n <h3>\n <span\n className={`font-mono border uppercase p-1 rounded mr-2 ${borderColor}`}\n title={type}\n >\n {typeLabel}\n </span>{' '}\n <span className=\"font-mono text-base\">{channelName}</span>\n </h3>\n </div>\n\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\n )}\n {operationSummary && (\n <p className=\"text-gray-600 text-sm mt-2\">{operationSummary}</p>\n )}\n {operation.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{operation.description()}</Markdown>\n </div>\n )}\n\n {externalDocs && (\n <ul className=\"leading-normal mt-2 mb-4 space-x-2 space-y-2\">\n {externalDocs && (\n <li className=\"inline-block\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={externalDocs.url()}\n >\n <span>{EXTERAL_DOCUMENTATION_TEXT}</span>\n </Href>\n </li>\n )}\n </ul>\n )}\n\n {operationId && (\n <div className=\"border bg-gray-100 rounded px-4 py-2 mt-2\">\n <div className=\"text-sm text-gray-700\">\n Operation ID\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {operationId}\n </span>\n </div>\n </div>\n )}\n </>\n );\n};\n"]}