@asyncapi/react-component 1.0.0-next.5 → 1.0.0-next.50

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 (286) hide show
  1. package/README.md +75 -4
  2. package/browser/index.js +32 -14
  3. package/browser/index.js.LICENSE.txt +88 -0
  4. package/browser/standalone/index.js +32 -0
  5. package/browser/standalone/index.js.LICENSE.txt +112 -0
  6. package/browser/standalone/without-parser.js +14 -0
  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 +12 -4
  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 +17 -0
  19. package/lib/cjs/components/JSONSnippet.js.map +1 -0
  20. package/lib/cjs/components/Markdown.js +4 -4
  21. package/lib/cjs/components/Markdown.js.map +1 -1
  22. package/lib/cjs/components/Schema.js +75 -58
  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 +2 -1
  27. package/lib/cjs/components/Tags.js.map +1 -1
  28. package/lib/cjs/components/index.js +6 -2
  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 +5 -48
  36. package/lib/cjs/constants.js.map +1 -1
  37. package/lib/cjs/containers/AsyncApi/AsyncApi.js +8 -2
  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 +26 -14
  50. package/lib/cjs/containers/Messages/MessageExample.js.map +1 -1
  51. package/lib/cjs/containers/Messages/Messages.js +11 -7
  52. package/lib/cjs/containers/Messages/Messages.js.map +1 -1
  53. package/lib/cjs/containers/Operations/Operation.js +73 -37
  54. package/lib/cjs/containers/Operations/Operation.js.map +1 -1
  55. package/lib/cjs/containers/Operations/Operations.js +16 -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 +28 -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 +7 -4
  66. package/lib/cjs/containers/Servers/Servers.js.map +1 -1
  67. package/lib/cjs/containers/Sidebar/Sidebar.js +213 -140
  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/common.js +17 -0
  76. package/lib/cjs/helpers/common.js.map +1 -0
  77. package/lib/cjs/helpers/index.js +7 -4
  78. package/lib/cjs/helpers/index.js.map +1 -1
  79. package/lib/cjs/helpers/marked.js +34 -0
  80. package/lib/cjs/helpers/marked.js.map +1 -0
  81. package/lib/cjs/helpers/message.js +39 -9
  82. package/lib/cjs/helpers/message.js.map +1 -1
  83. package/lib/cjs/helpers/parser.js +14 -15
  84. package/lib/cjs/helpers/parser.js.map +1 -1
  85. package/lib/cjs/helpers/schema.js +157 -135
  86. package/lib/cjs/helpers/schema.js.map +1 -1
  87. package/lib/cjs/helpers/server.js +49 -0
  88. package/lib/cjs/helpers/server.js.map +1 -1
  89. package/lib/cjs/helpers/specification.js +36 -21
  90. package/lib/cjs/helpers/specification.js.map +1 -1
  91. package/lib/cjs/index.js +3 -1
  92. package/lib/cjs/index.js.map +1 -1
  93. package/lib/cjs/types.js +4 -51
  94. package/lib/cjs/types.js.map +1 -1
  95. package/lib/cjs/without-parser.js +3 -0
  96. package/lib/cjs/without-parser.js.map +1 -1
  97. package/lib/esm/components/Bindings.js +10 -3
  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 +10 -0
  105. package/lib/esm/components/JSONSnippet.js.map +1 -0
  106. package/lib/esm/components/Markdown.js +2 -3
  107. package/lib/esm/components/Markdown.js.map +1 -1
  108. package/lib/esm/components/Schema.js +69 -57
  109. package/lib/esm/components/Schema.js.map +1 -1
  110. package/lib/esm/components/Tag.js +1 -1
  111. package/lib/esm/components/Tag.js.map +1 -1
  112. package/lib/esm/components/Tags.js.map +1 -1
  113. package/lib/esm/components/index.js +1 -1
  114. package/lib/esm/components/index.js.map +1 -1
  115. package/lib/esm/config/config.js.map +1 -1
  116. package/lib/esm/config/default.js +9 -1
  117. package/lib/esm/config/default.js.map +1 -1
  118. package/lib/esm/config/index.js.map +1 -1
  119. package/lib/esm/constants.js +3 -47
  120. package/lib/esm/constants.js.map +1 -1
  121. package/lib/esm/containers/AsyncApi/AsyncApi.js +2 -0
  122. package/lib/esm/containers/AsyncApi/AsyncApi.js.map +1 -1
  123. package/lib/esm/containers/AsyncApi/Layout.js +28 -20
  124. package/lib/esm/containers/AsyncApi/Layout.js.map +1 -1
  125. package/lib/esm/containers/AsyncApi/Standalone.js +3 -1
  126. package/lib/esm/containers/AsyncApi/Standalone.js.map +1 -1
  127. package/lib/esm/containers/Error/Error.js +2 -2
  128. package/lib/esm/containers/Error/Error.js.map +1 -1
  129. package/lib/esm/containers/Info/Info.js +8 -8
  130. package/lib/esm/containers/Info/Info.js.map +1 -1
  131. package/lib/esm/containers/Messages/Message.js +21 -9
  132. package/lib/esm/containers/Messages/Message.js.map +1 -1
  133. package/lib/esm/containers/Messages/MessageExample.js +19 -13
  134. package/lib/esm/containers/Messages/MessageExample.js.map +1 -1
  135. package/lib/esm/containers/Messages/Messages.js +10 -7
  136. package/lib/esm/containers/Messages/Messages.js.map +1 -1
  137. package/lib/esm/containers/Operations/Operation.js +72 -38
  138. package/lib/esm/containers/Operations/Operation.js.map +1 -1
  139. package/lib/esm/containers/Operations/Operations.js +15 -13
  140. package/lib/esm/containers/Operations/Operations.js.map +1 -1
  141. package/lib/esm/containers/Schemas/Schema.js +14 -0
  142. package/lib/esm/containers/Schemas/Schema.js.map +1 -0
  143. package/lib/esm/containers/Schemas/Schemas.js +21 -0
  144. package/lib/esm/containers/Schemas/Schemas.js.map +1 -0
  145. package/lib/esm/containers/Servers/Security.js +143 -0
  146. package/lib/esm/containers/Servers/Security.js.map +1 -0
  147. package/lib/esm/containers/Servers/Server.js +15 -9
  148. package/lib/esm/containers/Servers/Server.js.map +1 -1
  149. package/lib/esm/containers/Servers/Servers.js +5 -3
  150. package/lib/esm/containers/Servers/Servers.js.map +1 -1
  151. package/lib/esm/containers/Sidebar/Sidebar.js +203 -135
  152. package/lib/esm/containers/Sidebar/Sidebar.js.map +1 -1
  153. package/lib/esm/contexts/index.js +1 -0
  154. package/lib/esm/contexts/index.js.map +1 -1
  155. package/lib/esm/contexts/useConfig.js +6 -0
  156. package/lib/esm/contexts/useConfig.js.map +1 -0
  157. package/lib/esm/contexts/useSpec.js +2 -2
  158. package/lib/esm/contexts/useSpec.js.map +1 -1
  159. package/lib/esm/helpers/common.js +14 -0
  160. package/lib/esm/helpers/common.js.map +1 -0
  161. package/lib/esm/helpers/index.js +2 -3
  162. package/lib/esm/helpers/index.js.map +1 -1
  163. package/lib/esm/helpers/marked.js +27 -0
  164. package/lib/esm/helpers/marked.js.map +1 -0
  165. package/lib/esm/helpers/message.js +38 -8
  166. package/lib/esm/helpers/message.js.map +1 -1
  167. package/lib/esm/helpers/parser.js +15 -13
  168. package/lib/esm/helpers/parser.js.map +1 -1
  169. package/lib/esm/helpers/schema.js +152 -127
  170. package/lib/esm/helpers/schema.js.map +1 -1
  171. package/lib/esm/helpers/server.js +49 -0
  172. package/lib/esm/helpers/server.js.map +1 -1
  173. package/lib/esm/helpers/specification.js +36 -18
  174. package/lib/esm/helpers/specification.js.map +1 -1
  175. package/lib/esm/index.js +2 -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 +2 -0
  180. package/lib/esm/without-parser.js.map +1 -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/JSONSnippet.d.ts +7 -0
  186. package/lib/types/components/JSONSnippet.d.ts.map +1 -0
  187. package/lib/types/components/Markdown.d.ts.map +1 -1
  188. package/lib/types/components/Schema.d.ts +5 -4
  189. package/lib/types/components/Schema.d.ts.map +1 -1
  190. package/lib/types/components/Tag.d.ts +2 -2
  191. package/lib/types/components/Tag.d.ts.map +1 -1
  192. package/lib/types/components/Tags.d.ts +2 -2
  193. package/lib/types/components/Tags.d.ts.map +1 -1
  194. package/lib/types/components/index.d.ts +1 -1
  195. package/lib/types/components/index.d.ts.map +1 -1
  196. package/lib/types/config/config.d.ts +8 -0
  197. package/lib/types/config/config.d.ts.map +1 -1
  198. package/lib/types/config/default.d.ts.map +1 -1
  199. package/lib/types/constants.d.ts +3 -26
  200. package/lib/types/constants.d.ts.map +1 -1
  201. package/lib/types/containers/AsyncApi/AsyncApi.d.ts +2 -2
  202. package/lib/types/containers/AsyncApi/AsyncApi.d.ts.map +1 -1
  203. package/lib/types/containers/AsyncApi/Layout.d.ts +2 -2
  204. package/lib/types/containers/AsyncApi/Layout.d.ts.map +1 -1
  205. package/lib/types/containers/AsyncApi/Standalone.d.ts +2 -2
  206. package/lib/types/containers/AsyncApi/Standalone.d.ts.map +1 -1
  207. package/lib/types/containers/Info/Info.d.ts.map +1 -1
  208. package/lib/types/containers/Messages/Message.d.ts +3 -2
  209. package/lib/types/containers/Messages/Message.d.ts.map +1 -1
  210. package/lib/types/containers/Messages/MessageExample.d.ts +5 -4
  211. package/lib/types/containers/Messages/MessageExample.d.ts.map +1 -1
  212. package/lib/types/containers/Messages/Messages.d.ts.map +1 -1
  213. package/lib/types/containers/Operations/Operation.d.ts +4 -3
  214. package/lib/types/containers/Operations/Operation.d.ts.map +1 -1
  215. package/lib/types/containers/Operations/Operations.d.ts.map +1 -1
  216. package/lib/types/containers/Schemas/Schema.d.ts +9 -0
  217. package/lib/types/containers/Schemas/Schema.d.ts.map +1 -0
  218. package/lib/types/containers/Schemas/Schemas.d.ts +3 -0
  219. package/lib/types/containers/Schemas/Schemas.d.ts.map +1 -0
  220. package/lib/types/containers/Servers/Security.d.ts +10 -0
  221. package/lib/types/containers/Servers/Security.d.ts.map +1 -0
  222. package/lib/types/containers/Servers/Server.d.ts +2 -2
  223. package/lib/types/containers/Servers/Server.d.ts.map +1 -1
  224. package/lib/types/containers/Servers/Servers.d.ts.map +1 -1
  225. package/lib/types/containers/Sidebar/Sidebar.d.ts +1 -9
  226. package/lib/types/containers/Sidebar/Sidebar.d.ts.map +1 -1
  227. package/lib/types/contexts/index.d.ts +1 -0
  228. package/lib/types/contexts/index.d.ts.map +1 -1
  229. package/lib/types/contexts/useConfig.d.ts +5 -0
  230. package/lib/types/contexts/useConfig.d.ts.map +1 -0
  231. package/lib/types/contexts/useSpec.d.ts +3 -5
  232. package/lib/types/contexts/useSpec.d.ts.map +1 -1
  233. package/lib/types/helpers/common.d.ts +5 -0
  234. package/lib/types/helpers/common.d.ts.map +1 -0
  235. package/lib/types/helpers/index.d.ts +2 -3
  236. package/lib/types/helpers/index.d.ts.map +1 -1
  237. package/lib/types/helpers/marked.d.ts +4 -0
  238. package/lib/types/helpers/marked.d.ts.map +1 -0
  239. package/lib/types/helpers/message.d.ts +4 -3
  240. package/lib/types/helpers/message.d.ts.map +1 -1
  241. package/lib/types/helpers/parser.d.ts.map +1 -1
  242. package/lib/types/helpers/schema.d.ts +16 -12
  243. package/lib/types/helpers/schema.d.ts.map +1 -1
  244. package/lib/types/helpers/server.d.ts +6 -1
  245. package/lib/types/helpers/server.d.ts.map +1 -1
  246. package/lib/types/helpers/specification.d.ts +7 -4
  247. package/lib/types/helpers/specification.d.ts.map +1 -1
  248. package/lib/types/index.d.ts +2 -1
  249. package/lib/types/index.d.ts.map +1 -1
  250. package/lib/types/types.d.ts +12 -305
  251. package/lib/types/types.d.ts.map +1 -1
  252. package/lib/types/without-parser.d.ts +2 -0
  253. package/lib/types/without-parser.d.ts.map +1 -1
  254. package/package.json +43 -19
  255. package/styles/default.css +907 -642
  256. package/styles/default.min.css +4 -2
  257. package/lib/cjs/components/Code.js +0 -15
  258. package/lib/cjs/components/Code.js.map +0 -1
  259. package/lib/cjs/containers/Servers/ServerSecurity.js +0 -101
  260. package/lib/cjs/containers/Servers/ServerSecurity.js.map +0 -1
  261. package/lib/cjs/helpers/bemClasses.js +0 -49
  262. package/lib/cjs/helpers/bemClasses.js.map +0 -1
  263. package/lib/cjs/helpers/formatJsonHighlight.js +0 -61
  264. package/lib/cjs/helpers/formatJsonHighlight.js.map +0 -1
  265. package/lib/cjs/helpers/toKebabCase.js +0 -15
  266. package/lib/cjs/helpers/toKebabCase.js.map +0 -1
  267. package/lib/esm/components/Code.js +0 -9
  268. package/lib/esm/components/Code.js.map +0 -1
  269. package/lib/esm/containers/Servers/ServerSecurity.js +0 -95
  270. package/lib/esm/containers/Servers/ServerSecurity.js.map +0 -1
  271. package/lib/esm/helpers/bemClasses.js +0 -46
  272. package/lib/esm/helpers/bemClasses.js.map +0 -1
  273. package/lib/esm/helpers/formatJsonHighlight.js +0 -57
  274. package/lib/esm/helpers/formatJsonHighlight.js.map +0 -1
  275. package/lib/esm/helpers/toKebabCase.js +0 -11
  276. package/lib/esm/helpers/toKebabCase.js.map +0 -1
  277. package/lib/types/components/Code.d.ts +0 -7
  278. package/lib/types/components/Code.d.ts.map +0 -1
  279. package/lib/types/containers/Servers/ServerSecurity.d.ts +0 -8
  280. package/lib/types/containers/Servers/ServerSecurity.d.ts.map +0 -1
  281. package/lib/types/helpers/bemClasses.d.ts +0 -14
  282. package/lib/types/helpers/bemClasses.d.ts.map +0 -1
  283. package/lib/types/helpers/formatJsonHighlight.d.ts +0 -2
  284. package/lib/types/helpers/formatJsonHighlight.d.ts.map +0 -1
  285. package/lib/types/helpers/toKebabCase.d.ts +0 -2
  286. package/lib/types/helpers/toKebabCase.d.ts.map +0 -1
@@ -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":";;;;;;AAAA,gDAA0B;AAG1B,mDAAkD;AAClD,+CAO0B;AAE1B,6CAGyB;AAQZ,QAAA,OAAO,GAAmC,UAAC,EAIvD;QAHC,OAAO,aAAA,EACP,KAAK,WAAA,EACL,oBAAoB,EAApB,YAAY,mBAAG,KAAK,KAAA;IAEpB,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAClC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAClC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAClC,IAAM,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAE9C,IAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5C,IAAM,YAAY,GAAG,WAAW,IAAI,YAAY,CAAC;IAEjD,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;QACzB,uCAAK,SAAS,EAAC,yBAAyB;YACtC,uCAAK,SAAS,EAAC,mDAAmD;gBAChE;oBACG,KAAK,KAAK,SAAS,IAAI,CACtB,wCAAM,SAAS,EAAC,8BAA8B;;wBAAG,KAAK,CAAQ,CAC/D;oBACA,KAAK,IAAI,wCAAM,SAAS,EAAC,oBAAoB,IAAE,KAAK,CAAQ;oBAC7D,wCAAM,SAAS,EAAC,kDAAkD,IAC/D,OAAO,CAAC,GAAG,EAAE,CACT,CACH;gBAEL,OAAO,IAAI,qCAAG,SAAS,EAAC,uBAAuB,IAAE,OAAO,CAAK;gBAE7D,YAAY,IAAI,CACf,sCAAI,SAAS,EAAC,8CAA8C;oBACzD,WAAW,IAAI,CACd,sCAAI,SAAS,EAAC,cAAc;wBAC1B,8BAAC,iBAAI,IACH,SAAS,EAAC,4JAA4J,EACtK,IAAI,EAAK,8BAAkB,SAAI,WAAa;4BAE5C,4CAAO,WAAW,CAAQ,CACrB,CACJ,CACN;oBACA,YAAY,IAAI,CACf,sCAAI,SAAS,EAAC,cAAc;wBAC1B,8BAAC,iBAAI,IACH,SAAS,EAAC,4JAA4J,EACtK,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE;4BAExB,4CAAO,sCAA0B,CAAQ,CACpC,CACJ,CACN,CACE,CACN;gBAEA,aAAa,IAAI,CAChB,uCAAK,SAAS,EAAC,2CAA2C;oBACxD,uCAAK,SAAS,EAAC,uBAAuB;;wBAEpC,wCAAM,SAAS,EAAC,uDAAuD,IACpE,aAAa,CAAC,QAAQ,EAAE,CACpB,CACH;oBAEL,aAAa,CAAC,cAAc,EAAE,IAAI,CACjC,uCAAK,SAAS,EAAC,MAAM;wBACnB,8BAAC,qBAAQ,QAAE,aAAa,CAAC,WAAW,EAAE,CAAY,CAC9C,CACP,CACG,CACP;gBAEA,OAAO,CAAC,cAAc,EAAE,IAAI,CAC3B,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,qBAAQ,QAAE,OAAO,CAAC,WAAW,EAAE,CAAY,CACxC,CACP;gBAEA,OAAO,IAAI,CACV,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,mBAAM,IAAC,UAAU,EAAC,SAAS,EAAC,MAAM,EAAE,OAAO,GAAI,CAC5C,CACP;gBACA,OAAO,IAAI,CACV,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,mBAAM,IAAC,UAAU,EAAC,SAAS,EAAC,MAAM,EAAE,OAAO,GAAI,CAC5C,CACP;gBAEA,OAAO,CAAC,WAAW,EAAE,IAAI,CACxB,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,qBAAQ,IAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAI,CACtC,CACP;gBAED,8BAAC,uBAAU,IAAC,IAAI,EAAE,OAAO,GAAI;gBAE5B,OAAO,CAAC,OAAO,EAAE,IAAI,CACpB,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,iBAAI,IAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAI,CAC1B,CACP,CACG,CACF;QAEL,YAAY,IAAI,CACf,uCAAK,SAAS,EAAC,wBAAwB;YACrC,8BAAC,+BAAc,IAAC,OAAO,EAAE,OAAO,GAAI,CAChC,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC"}
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.PreCode, { code: message_1.MessageHelpers.sanitizeExample(example) })))); }))) : (react_1.default.createElement("div", { className: "mt-4" },
53
- react_1.default.createElement(components_1.PreCode, { code: 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."))))));
63
+ react_1.default.createElement(components_1.JSONSnippet, { snippet: message_1.MessageHelpers.sanitizeExample(example.example) })))); }))) : (react_1.default.createElement("div", { className: "mt-4" },
64
+ react_1.default.createElement(components_1.JSONSnippet, { snippet: message_1.MessageHelpers.generateExample(schema.json()) }),
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,+CAA2D;AAC3D,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,oBAAO,IAAC,IAAI,EAAE,wBAAc,CAAC,eAAe,CAAC,OAAO,CAAC,GAAI,CACtD,CACH,CACN,EAT+B,CAS/B,CAAC,CACC,CACN,CAAC,CAAC,CAAC,CACF,uCAAK,SAAS,EAAC,MAAM;YACnB,8BAAC,oBAAO,IAAC,IAAI,EAAE,wBAAc,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAI;YAChE,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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAmD;AAGnD,+CAA+D;AAC/D,iDAAuD;AAEvD,2CAA2C;AAMpC,IAAM,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;AA3BW,QAAA,cAAc,kBA2BzB;AAQK,IAAM,OAAO,GAA0C,UAAC,EAI9D;QAHC,YAAgB,EAAhB,IAAI,mBAAG,SAAS,KAAA,EAChB,MAAM,YAAA,EACN,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA;IAEb,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IACrB,IAAA,KAA0B,IAAA,gBAAQ,EACtC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,CACpE,EAFM,QAAQ,QAAA,EAAE,WAAW,QAE3B,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,WAAW,CACT,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,CACpE,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpB,OAAO,CACL,uCAAK,SAAS,EAAC,MAAM;QACnB;YACE,8BAAC,2BAAc,IACb,OAAO,EAAE,cAAM,OAAA,WAAW,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,EAAL,CAAK,CAAC,EAA1B,CAA0B,EACzC,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE;oBACZ,SAAS,EAAE,4BAA4B;iBACxC;gBAED,wCAAM,SAAS,EAAC,mGAAmG,IAChH,IAAI,CACA,CACQ,CACb;QACN,uCAAK,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAC1C,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,IAC5C,OAAO,CAAC,IAAI;gBACX,CAAC,CAAC,WAAI,GAAG,GAAG,CAAC,wBAAc,OAAO,CAAC,IAAI,CAAE;gBACzC,CAAC,CAAC,WAAI,GAAG,GAAG,CAAC,aAAU,CACtB;YACJ,OAAO,CAAC,OAAO,IAAI,CAClB,qCAAG,SAAS,EAAC,iCAAiC,IAC3C,OAAO,CAAC,OAAO,CACd,CACL;YACD,uCAAK,SAAS,EAAC,MAAM;gBACnB,8BAAC,wBAAW,IACV,OAAO,EAAE,wBAAc,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,GACxD,CACE,CACH,CACN,EAlB+B,CAkB/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;AAnEW,QAAA,OAAO,WAmElB","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,22 @@ 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() && asyncapi.components().messages();
16
+ if (!messages || Object.keys(messages).length === 0) {
14
17
  return null;
15
18
  }
16
- return (react_1.default.createElement("section", { id: "messages", className: "mt-16" },
19
+ return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('messages', config)), className: "mt-16" },
17
20
  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) {
21
+ react_1.default.createElement("ul", null, Object.entries(messages).map(function (_a, idx) {
19
22
  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 })));
23
+ return (react_1.default.createElement("li", { className: "mb-4", key: messageName, id: helpers_1.CommonHelpers.getIdentifier("message-".concat(messageName), config) },
24
+ react_1.default.createElement(Message_1.Message, { messageName: messageName, message: message, index: idx + 1, key: messageName })));
22
25
  }))));
23
26
  };
27
+ exports.Messages = Messages;
24
28
  //# 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,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;IAEvE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACnD,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,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAC,EAAsB,EAAE,GAAG;gBAA1B,WAAW,QAAA,EAAE,OAAO,QAAA;YAAW,OAAA,CAC7D,sCACE,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,uBAAa,CAAC,aAAa,CAAC,kBAAW,WAAW,CAAE,EAAE,MAAM,CAAC;gBAEjE,8BAAC,iBAAO,IACN,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,GAAG,GAAG,CAAC,EACd,GAAG,EAAE,WAAW,GAChB,CACC,CACN;QAb8D,CAa9D,CAAC,CACC,CACG,CACX,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,QAAQ,YAoCnB","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() && asyncapi.components().messages();\n\n if (!messages || Object.keys(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 {Object.entries(messages).map(([messageName, message], idx) => (\n <li\n className=\"mb-4\"\n key={messageName}\n id={CommonHelpers.getIdentifier(`message-${messageName}`, config)}\n >\n <Message\n messageName={messageName}\n message={message}\n index={idx + 1}\n key={messageName}\n />\n </li>\n ))}\n </ul>\n </section>\n );\n};\n"]}
@@ -1,55 +1,60 @@
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();
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, 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)))); })))) : 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"),
@@ -58,6 +63,37 @@ exports.Operation = function (_a) {
58
63
  react_1.default.createElement(Message_1.Message, { message: msg, index: idx, showExamples: true }))); })))) : (react_1.default.createElement("div", { className: "mt-2" },
59
64
  react_1.default.createElement("p", { className: "px-8" }, "Accepts the following message:"),
60
65
  react_1.default.createElement("div", { className: "mt-2" },
61
- react_1.default.createElement(Message_1.Message, { message: operation.message(0), showExamples: true })))))));
66
+ react_1.default.createElement(Message_1.Message, { message: operation.messages()[0], showExamples: true })))))));
67
+ };
68
+ exports.Operation = Operation;
69
+ var OperationInfo = function (_a) {
70
+ var _b = _a.type, type = _b === void 0 ? types_1.PayloadType.PUBLISH : _b, operation = _a.operation, channelName = _a.channelName, channel = _a.channel;
71
+ var config = (0, contexts_1.useConfig)();
72
+ var operationSummary = operation.summary();
73
+ var externalDocs = operation.externalDocs();
74
+ var operationId = operation.id();
75
+ return (react_1.default.createElement(react_1.default.Fragment, null,
76
+ react_1.default.createElement("div", { className: "mb-4" },
77
+ react_1.default.createElement("h3", null,
78
+ react_1.default.createElement("span", { className: "font-mono border uppercase p-1 rounded mr-2 ".concat(type === types_1.PayloadType.PUBLISH
79
+ ? 'border-blue-600 text-blue-500'
80
+ : 'border-green-600 text-green-600'), title: type }, type === types_1.PayloadType.PUBLISH
81
+ ? config.publishLabel || constants_1.PUBLISH_LABEL_DEFAULT_TEXT
82
+ : config.subscribeLabel || constants_1.SUBSCRIBE_LABEL_DEFAULT_TEXT),
83
+ ' ',
84
+ react_1.default.createElement("span", { className: "font-mono text-base" }, channelName))),
85
+ channel.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
86
+ react_1.default.createElement(components_1.Markdown, null, channel.description()))),
87
+ operationSummary && (react_1.default.createElement("p", { className: "text-gray-600 text-sm mt-2" }, operationSummary)),
88
+ operation.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
89
+ react_1.default.createElement(components_1.Markdown, null, operation.description()))),
90
+ 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" },
91
+ 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() },
92
+ react_1.default.createElement("span", null, constants_1.EXTERAL_DOCUMENTATION_TEXT)))))),
93
+ operationId && (react_1.default.createElement("div", { className: "border bg-gray-100 rounded px-4 py-2 mt-2" },
94
+ react_1.default.createElement("div", { className: "text-sm text-gray-700" },
95
+ "Operation ID",
96
+ react_1.default.createElement("span", { className: "border text-orange-600 rounded text-xs ml-2 py-0 px-2" }, operationId))))));
62
97
  };
98
+ exports.OperationInfo = OperationInfo;
63
99
  //# 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';\n\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 = typeof channel.servers === 'function' && channel.servers();\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,\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}</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.messages().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 message={operation.messages()[0]} showExamples={true} />\n </div>\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport const OperationInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.PUBLISH,\n operation,\n channelName,\n channel,\n}) => {\n const config = useConfig();\n const operationSummary = operation.summary();\n const externalDocs = operation.externalDocs();\n const operationId = operation.id();\n\n return (\n <>\n <div className=\"mb-4\">\n <h3>\n <span\n className={`font-mono border uppercase p-1 rounded mr-2 ${\n type === PayloadType.PUBLISH\n ? 'border-blue-600 text-blue-500'\n : 'border-green-600 text-green-600'\n }`}\n title={type}\n >\n {type === PayloadType.PUBLISH\n ? config.publishLabel || PUBLISH_LABEL_DEFAULT_TEXT\n : config.subscribeLabel || SUBSCRIBE_LABEL_DEFAULT_TEXT}\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"]}
@@ -7,27 +7,30 @@ exports.Operations = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var Operation_1 = require("./Operation");
9
9
  var contexts_1 = require("../../contexts");
10
- var types_1 = require("../../types");
10
+ var helpers_1 = require("../../helpers");
11
11
  var constants_1 = require("../../constants");
12
- exports.Operations = function () {
13
- var channels = contexts_1.useSpec().channels();
14
- if (!Object.keys(channels).length) {
12
+ var types_1 = require("../../types");
13
+ var Operations = function () {
14
+ var operations = (0, contexts_1.useSpec)().operations();
15
+ var config = (0, contexts_1.useConfig)();
16
+ if (!Object.keys(operations).length) {
15
17
  return null;
16
18
  }
17
19
  var operationsList = [];
18
- Object.entries(channels).forEach(function (_a) {
19
- var channelName = _a[0], channel = _a[1];
20
- if (channel.hasPublish()) {
21
- operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "pub-" + channelName },
22
- react_1.default.createElement(Operation_1.Operation, { type: types_1.PayloadType.PUBLISH, operation: channel.publish(), channelName: channelName, channel: channel })));
20
+ Object.entries(operations).forEach(function (_a) {
21
+ var operationName = _a[0], operation = _a[1];
22
+ if (operation.isSend()) {
23
+ operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "pub-".concat(operationName), id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(types_1.PayloadType.PUBLISH, "-").concat(operationName), config) },
24
+ react_1.default.createElement(Operation_1.Operation, { type: types_1.PayloadType.PUBLISH, operation: operation, channelName: operationName, channel: operation.channels()[0] })));
23
25
  }
24
- if (channel.hasSubscribe()) {
25
- operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "sub-" + channelName },
26
- react_1.default.createElement(Operation_1.Operation, { type: types_1.PayloadType.SUBSCRIBE, operation: channel.subscribe(), channelName: channelName, channel: channel })));
26
+ if (operation.isReceive()) {
27
+ operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "sub-".concat(operationName), id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(types_1.PayloadType.SUBSCRIBE, "-").concat(operationName), config) },
28
+ react_1.default.createElement(Operation_1.Operation, { type: types_1.PayloadType.SUBSCRIBE, operation: operation, channelName: operationName, channel: operation.channels()[0] })));
27
29
  }
28
30
  });
29
- return (react_1.default.createElement("section", { id: "operations", className: "mt-16" },
31
+ return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('operations', config)), className: "mt-16" },
30
32
  react_1.default.createElement("h2", { className: "2xl:w-7/12 text-3xl font-light mb-4 px-8" }, constants_1.OPERATIONS_TEXT),
31
33
  react_1.default.createElement("ul", null, operationsList)));
32
34
  };
35
+ exports.Operations = Operations;
33
36
  //# sourceMappingURL=Operations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operations.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,yCAAwC;AAExC,2CAAyC;AACzC,qCAA0C;AAC1C,6CAAkD;AAErC,QAAA,UAAU,GAA4B;IACjD,IAAM,QAAQ,GAAG,kBAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;IAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;QACjC,OAAO,IAAI,CAAC;KACb;IAED,IAAM,cAAc,GAAyB,EAAE,CAAC;IAChD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAC,EAAsB;YAArB,WAAW,QAAA,EAAE,OAAO,QAAA;QACrD,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE;YACxB,cAAc,CAAC,IAAI,CACjB,sCAAI,SAAS,EAAC,OAAO,EAAC,GAAG,EAAE,SAAO,WAAa;gBAC7C,8BAAC,qBAAS,IACR,IAAI,EAAE,mBAAW,CAAC,OAAO,EACzB,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,EAC5B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,GAChB,CACC,CACN,CAAC;SACH;QACD,IAAI,OAAO,CAAC,YAAY,EAAE,EAAE;YAC1B,cAAc,CAAC,IAAI,CACjB,sCAAI,SAAS,EAAC,OAAO,EAAC,GAAG,EAAE,SAAO,WAAa;gBAC7C,8BAAC,qBAAS,IACR,IAAI,EAAE,mBAAW,CAAC,SAAS,EAC3B,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,GAChB,CACC,CACN,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,2CAAS,EAAE,EAAC,YAAY,EAAC,SAAS,EAAC,OAAO;QACxC,sCAAI,SAAS,EAAC,0CAA0C,IACrD,2BAAe,CACb;QACL,0CAAK,cAAc,CAAM,CACjB,CACX,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operations.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,yCAAwC;AACxC,2CAAoD;AACpD,yCAA8C;AAC9C,6CAAkD;AAClD,qCAA0C;AAEnC,IAAM,UAAU,GAA4B;IACjD,IAAM,UAAU,GAAG,IAAA,kBAAO,GAAE,CAAC,UAAU,EAAE,CAAC;IAC1C,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;QACnC,OAAO,IAAI,CAAC;KACb;IAED,IAAM,cAAc,GAAyB,EAAE,CAAC;IAChD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAC,EAA0B;YAAzB,aAAa,QAAA,EAAE,SAAS,QAAA;QAC3D,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE;YACtB,cAAc,CAAC,IAAI,CACjB,sCACE,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,cAAO,aAAa,CAAE,EAC3B,EAAE,EAAE,uBAAa,CAAC,aAAa,CAC7B,oBAAa,mBAAW,CAAC,OAAO,cAAI,aAAa,CAAE,EACnD,MAAM,CACP;gBAED,8BAAC,qBAAS,IACR,IAAI,EAAE,mBAAW,CAAC,OAAO,EACzB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,aAAa,EAC1B,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAChC,CACC,CACN,CAAC;SACH;QACD,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzB,cAAc,CAAC,IAAI,CACjB,sCACE,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,cAAO,aAAa,CAAE,EAC3B,EAAE,EAAE,uBAAa,CAAC,aAAa,CAC7B,oBAAa,mBAAW,CAAC,SAAS,cAAI,aAAa,CAAE,EACrD,MAAM,CACP;gBAED,8BAAC,qBAAS,IACR,IAAI,EAAE,mBAAW,CAAC,SAAS,EAC3B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,aAAa,EAC1B,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAChC,CACC,CACN,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,2CACE,EAAE,EAAE,UAAG,uBAAa,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,CAAE,EAC1D,SAAS,EAAC,OAAO;QAEjB,sCAAI,SAAS,EAAC,0CAA0C,IACrD,2BAAe,CACb;QACL,0CAAK,cAAc,CAAM,CACjB,CACX,CAAC;AACJ,CAAC,CAAC;AA7DW,QAAA,UAAU,cA6DrB","sourcesContent":["import React from 'react';\n\nimport { Operation } from './Operation';\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers } from '../../helpers';\nimport { OPERATIONS_TEXT } from '../../constants';\nimport { PayloadType } from '../../types';\n\nexport const Operations: React.FunctionComponent = () => {\n const operations = useSpec().operations();\n const config = useConfig();\n\n if (!Object.keys(operations).length) {\n return null;\n }\n\n const operationsList: React.ReactNodeArray = [];\n Object.entries(operations).forEach(([operationName, operation]) => {\n if (operation.isSend()) {\n operationsList.push(\n <li\n className=\"mb-12\"\n key={`pub-${operationName}`}\n id={CommonHelpers.getIdentifier(\n `operation-${PayloadType.PUBLISH}-${operationName}`,\n config,\n )}\n >\n <Operation\n type={PayloadType.PUBLISH}\n operation={operation}\n channelName={operationName}\n channel={operation.channels()[0]}\n />\n </li>,\n );\n }\n if (operation.isReceive()) {\n operationsList.push(\n <li\n className=\"mb-12\"\n key={`sub-${operationName}`}\n id={CommonHelpers.getIdentifier(\n `operation-${PayloadType.SUBSCRIBE}-${operationName}`,\n config,\n )}\n >\n <Operation\n type={PayloadType.SUBSCRIBE}\n operation={operation}\n channelName={operationName}\n channel={operation.channels()[0]}\n />\n </li>,\n );\n }\n });\n\n return (\n <section\n id={`${CommonHelpers.getIdentifier('operations', config)}`}\n className=\"mt-16\"\n >\n <h2 className=\"2xl:w-7/12 text-3xl font-light mb-4 px-8\">\n {OPERATIONS_TEXT}\n </h2>\n <ul>{operationsList}</ul>\n </section>\n );\n};\n"]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Schema = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var components_1 = require("../../components");
9
+ var Schema = function (_a) {
10
+ var schemaName = _a.schemaName, schema = _a.schema;
11
+ if (!schema) {
12
+ return null;
13
+ }
14
+ return (react_1.default.createElement("div", null,
15
+ react_1.default.createElement("div", { className: "panel-item--center px-8" },
16
+ react_1.default.createElement("div", { className: "shadow rounded px-4 py-2 border bg-gray-200" },
17
+ react_1.default.createElement(components_1.Schema, { schemaName: schemaName, schema: schema }))),
18
+ react_1.default.createElement("div", { className: "w-full mt-4" })));
19
+ };
20
+ exports.Schema = Schema;
21
+ //# sourceMappingURL=Schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../../src/containers/Schemas/Schema.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAG1B,+CAA6D;AAOtD,IAAM,MAAM,GAAmC,UAAC,EAGtD;QAFC,UAAU,gBAAA,EACV,MAAM,YAAA;IAEN,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL;QACE,uCAAK,SAAS,EAAC,yBAAyB;YACtC,uCAAK,SAAS,EAAC,6CAA6C;gBAC1D,8BAAC,mBAAe,IAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAI,CACvD,CACF;QAEN,uCAAK,SAAS,EAAC,aAAa,GAAG,CAC3B,CACP,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,MAAM,UAmBjB","sourcesContent":["import React from 'react';\nimport { SchemaInterface } from '@asyncapi/parser';\n\nimport { Schema as SchemaComponent } from '../../components';\n\ninterface Props {\n schemaName: string;\n schema: SchemaInterface;\n}\n\nexport const Schema: React.FunctionComponent<Props> = ({\n schemaName,\n schema,\n}) => {\n if (!schema) {\n return null;\n }\n\n return (\n <div>\n <div className=\"panel-item--center px-8\">\n <div className=\"shadow rounded px-4 py-2 border bg-gray-200\">\n <SchemaComponent schemaName={schemaName} schema={schema} />\n </div>\n </div>\n\n <div className=\"w-full mt-4\" />\n </div>\n );\n};\n"]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Schemas = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var Schema_1 = require("./Schema");
9
+ var contexts_1 = require("../../contexts");
10
+ var helpers_1 = require("../../helpers");
11
+ var constants_1 = require("../../constants");
12
+ var Schemas = function () {
13
+ var asyncapi = (0, contexts_1.useSpec)();
14
+ var config = (0, contexts_1.useConfig)();
15
+ var schemas = !asyncapi.components().isEmpty() && asyncapi.components().schemas();
16
+ if (!schemas || Object.keys(schemas).length === 0) {
17
+ return null;
18
+ }
19
+ return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('schemas', config)), className: "mt-16" },
20
+ react_1.default.createElement("h2", { className: "2xl:w-7/12 text-3xl font-light mb-4 px-8" }, constants_1.SCHEMAS_TEXT),
21
+ react_1.default.createElement("ul", null, Object.entries(schemas).map(function (_a) {
22
+ var schemaName = _a[0], schema = _a[1];
23
+ return (react_1.default.createElement("li", { className: "mb-4", key: schemaName, id: helpers_1.CommonHelpers.getIdentifier("schema-".concat(schemaName), config) },
24
+ react_1.default.createElement(Schema_1.Schema, { schemaName: schemaName, schema: schema })));
25
+ }))));
26
+ };
27
+ exports.Schemas = Schemas;
28
+ //# sourceMappingURL=Schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schemas.js","sourceRoot":"","sources":["../../../../src/containers/Schemas/Schemas.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,mCAAkC;AAElC,2CAAoD;AACpD,yCAA8C;AAC9C,6CAA+C;AAExC,IAAM,OAAO,GAA4B;IAC9C,IAAM,QAAQ,GAAG,IAAA,kBAAO,GAAE,CAAC;IAC3B,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAC3B,IAAM,OAAO,GACX,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;IAEtE,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACjD,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,2CACE,EAAE,EAAE,UAAG,uBAAa,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAE,EACvD,SAAS,EAAC,OAAO;QAEjB,sCAAI,SAAS,EAAC,0CAA0C,IACrD,wBAAY,CACV;QACL,0CACG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAC,EAAoB;gBAAnB,UAAU,QAAA,EAAE,MAAM,QAAA;YAAM,OAAA,CACrD,sCACE,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,uBAAa,CAAC,aAAa,CAAC,iBAAU,UAAU,CAAE,EAAE,MAAM,CAAC;gBAE/D,8BAAC,eAAM,IAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAI,CAC/C,CACN;QARsD,CAQtD,CAAC,CACC,CACG,CACX,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,OAAO,WA+BlB","sourcesContent":["import React from 'react';\n\nimport { Schema } from './Schema';\n\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers } from '../../helpers';\nimport { SCHEMAS_TEXT } from '../../constants';\n\nexport const Schemas: React.FunctionComponent = () => {\n const asyncapi = useSpec();\n const config = useConfig();\n const schemas =\n !asyncapi.components().isEmpty() && asyncapi.components().schemas();\n\n if (!schemas || Object.keys(schemas).length === 0) {\n return null;\n }\n\n return (\n <section\n id={`${CommonHelpers.getIdentifier('schemas', config)}`}\n className=\"mt-16\"\n >\n <h2 className=\"2xl:w-7/12 text-3xl font-light mb-4 px-8\">\n {SCHEMAS_TEXT}\n </h2>\n <ul>\n {Object.entries(schemas).map(([schemaName, schema]) => (\n <li\n className=\"mb-4\"\n key={schemaName}\n id={CommonHelpers.getIdentifier(`schema-${schemaName}`, config)}\n >\n <Schema schemaName={schemaName} schema={schema} />\n </li>\n ))}\n </ul>\n </section>\n );\n};\n"]}