@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
@@ -7,27 +7,34 @@ 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)()
15
+ .operations()
16
+ .all();
17
+ var config = (0, contexts_1.useConfig)();
18
+ if (!Object.keys(operations).length) {
15
19
  return null;
16
20
  }
17
21
  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 })));
22
+ operations.forEach(function (operation) {
23
+ var _a;
24
+ var channel = operation.channels().all()[0];
25
+ var channelAddress = (_a = channel === null || channel === void 0 ? void 0 : channel.address()) !== null && _a !== void 0 ? _a : '';
26
+ if (operation.isSend()) {
27
+ operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "pub-".concat(operation.id()), id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(types_1.PayloadType.PUBLISH, "-").concat(operation.id()), config) },
28
+ react_1.default.createElement(Operation_1.Operation, { type: types_1.PayloadType.PUBLISH, operation: operation, channelName: channelAddress, channel: channel })));
23
29
  }
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 })));
30
+ if (operation.isReceive()) {
31
+ operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "sub-".concat(operation.id()), id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(types_1.PayloadType.SUBSCRIBE, "-").concat(operation.id()), config) },
32
+ react_1.default.createElement(Operation_1.Operation, { type: types_1.PayloadType.SUBSCRIBE, operation: operation, channelName: channelAddress, channel: channel })));
27
33
  }
28
34
  });
29
- return (react_1.default.createElement("section", { id: "operations", className: "mt-16" },
35
+ return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('operations', config)), className: "mt-16" },
30
36
  react_1.default.createElement("h2", { className: "2xl:w-7/12 text-3xl font-light mb-4 px-8" }, constants_1.OPERATIONS_TEXT),
31
37
  react_1.default.createElement("ul", null, operationsList)));
32
38
  };
39
+ exports.Operations = Operations;
33
40
  //# 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;SACzB,UAAU,EAAE;SACZ,GAAG,EAAE,CAAC;IACT,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,UAAU,CAAC,OAAO,CAAC,UAAA,SAAS;;QAC1B,IAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,mCAAI,EAAE,CAAC;QAChD,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE;YACtB,cAAc,CAAC,IAAI,CACjB,sCACE,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,cAAO,SAAS,CAAC,EAAE,EAAE,CAAE,EAC5B,EAAE,EAAE,uBAAa,CAAC,aAAa,CAC7B,oBAAa,mBAAW,CAAC,OAAO,cAAI,SAAS,CAAC,EAAE,EAAE,CAAE,EACpD,MAAM,CACP;gBAED,8BAAC,qBAAS,IACR,IAAI,EAAE,mBAAW,CAAC,OAAO,EACzB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,cAAc,EAC3B,OAAO,EAAE,OAAO,GAChB,CACC,CACN,CAAC;SACH;QACD,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzB,cAAc,CAAC,IAAI,CACjB,sCACE,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,cAAO,SAAS,CAAC,EAAE,EAAE,CAAE,EAC5B,EAAE,EAAE,uBAAa,CAAC,aAAa,CAC7B,oBAAa,mBAAW,CAAC,SAAS,cAAI,SAAS,CAAC,EAAE,EAAE,CAAE,EACtD,MAAM,CACP;gBAED,8BAAC,qBAAS,IACR,IAAI,EAAE,mBAAW,CAAC,SAAS,EAC3B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,cAAc,EAC3B,OAAO,EAAE,OAAO,GAChB,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;AAjEW,QAAA,UAAU,cAiErB","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()\n .operations()\n .all();\n const config = useConfig();\n\n if (!Object.keys(operations).length) {\n return null;\n }\n\n const operationsList: React.ReactNodeArray = [];\n operations.forEach(operation => {\n const channel = operation.channels().all()[0];\n const channelAddress = channel?.address() ?? '';\n if (operation.isSend()) {\n operationsList.push(\n <li\n className=\"mb-12\"\n key={`pub-${operation.id()}`}\n id={CommonHelpers.getIdentifier(\n `operation-${PayloadType.PUBLISH}-${operation.id()}`,\n config,\n )}\n >\n <Operation\n type={PayloadType.PUBLISH}\n operation={operation}\n channelName={channelAddress}\n channel={channel}\n />\n </li>,\n );\n }\n if (operation.isReceive()) {\n operationsList.push(\n <li\n className=\"mb-12\"\n key={`sub-${operation.id()}`}\n id={CommonHelpers.getIdentifier(\n `operation-${PayloadType.SUBSCRIBE}-${operation.id()}`,\n config,\n )}\n >\n <Operation\n type={PayloadType.SUBSCRIBE}\n operation={operation}\n channelName={channelAddress}\n channel={channel}\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,29 @@
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() &&
16
+ asyncapi
17
+ .components()
18
+ .schemas()
19
+ .all();
20
+ if (!schemas || schemas.length === 0) {
21
+ return null;
22
+ }
23
+ return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('schemas', config)), className: "mt-16" },
24
+ react_1.default.createElement("h2", { className: "2xl:w-7/12 text-3xl font-light mb-4 px-8" }, constants_1.SCHEMAS_TEXT),
25
+ react_1.default.createElement("ul", null, schemas.map(function (schema) { return (react_1.default.createElement("li", { className: "mb-4", key: schema.id(), id: helpers_1.CommonHelpers.getIdentifier("schema-".concat(schema.id()), config) },
26
+ react_1.default.createElement(Schema_1.Schema, { schemaName: schema.id(), schema: schema }))); }))));
27
+ };
28
+ exports.Schemas = Schemas;
29
+ //# 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;QAChC,QAAQ;aACL,UAAU,EAAE;aACZ,OAAO,EAAE;aACT,GAAG,EAAE,CAAC;IAEX,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,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,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,CACrB,sCACE,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,EAChB,EAAE,EAAE,uBAAa,CAAC,aAAa,CAAC,iBAAU,MAAM,CAAC,EAAE,EAAE,CAAE,EAAE,MAAM,CAAC;YAEhE,8BAAC,eAAM,IAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAI,CAChD,CACN,EARsB,CAQtB,CAAC,CACC,CACG,CACX,CAAC;AACJ,CAAC,CAAC;AAnCW,QAAA,OAAO,WAmClB","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() &&\n asyncapi\n .components()\n .schemas()\n .all();\n\n if (!schemas || 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 {schemas.map(schema => (\n <li\n className=\"mb-4\"\n key={schema.id()}\n id={CommonHelpers.getIdentifier(`schema-${schema.id()}`, config)}\n >\n <Schema schemaName={schema.id()} schema={schema} />\n </li>\n ))}\n </ul>\n </section>\n );\n};\n"]}
@@ -0,0 +1,150 @@
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.Security = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var components_1 = require("../../components");
9
+ var contexts_1 = require("../../contexts");
10
+ var helpers_1 = require("../../helpers");
11
+ var Security = function (_a) {
12
+ var _b = _a.security, security = _b === void 0 ? [] : _b, _c = _a.protocol, protocol = _c === void 0 ? '' : _c, _d = _a.header, header = _d === void 0 ? 'Security' : _d;
13
+ var asyncapi = (0, contexts_1.useSpec)();
14
+ var securitySchemes = !asyncapi.components().isEmpty() && asyncapi.components().securitySchemes();
15
+ var renderedSecurities;
16
+ if (!security ||
17
+ !security.length ||
18
+ !securitySchemes ||
19
+ !Object.keys(securitySchemes).length) {
20
+ if (protocol === 'kafka' || protocol === 'kafka-secure') {
21
+ renderedSecurities = (react_1.default.createElement(SecurityItem, { protocol: protocol, securitySchema: null }));
22
+ }
23
+ }
24
+ else {
25
+ var securities = Object.values(security)
26
+ .map(function (requirement) {
27
+ var requirements = requirement.all();
28
+ var key = Object.keys(requirements)[0];
29
+ var def = securitySchemes[String(key)];
30
+ var requiredScopes = requirements[String(key)];
31
+ if (!def) {
32
+ return null;
33
+ }
34
+ return (react_1.default.createElement(SecurityItem, { protocol: protocol, securitySchema: def, requiredScopes: requiredScopes, key: def.type() }));
35
+ })
36
+ .filter(Boolean);
37
+ renderedSecurities = (react_1.default.createElement("ul", null, securities.map(function (s, idx) { return (react_1.default.createElement("li", { className: "mt-2", key: idx }, s)); })));
38
+ }
39
+ if (!renderedSecurities) {
40
+ return null;
41
+ }
42
+ return (react_1.default.createElement("div", { className: "text-sm mt-4" },
43
+ react_1.default.createElement("h5", { className: "text-gray-800" },
44
+ header,
45
+ ":"),
46
+ renderedSecurities));
47
+ };
48
+ exports.Security = Security;
49
+ function collectSecuritySchemas(securitySchema, requiredScopes) {
50
+ if (requiredScopes === void 0) { requiredScopes = []; }
51
+ var schemas = [];
52
+ if (securitySchema) {
53
+ if (securitySchema.name()) {
54
+ schemas.push(react_1.default.createElement("span", null,
55
+ "Name: ",
56
+ securitySchema.name()));
57
+ }
58
+ if (securitySchema.in()) {
59
+ schemas.push(react_1.default.createElement("span", null,
60
+ "In: ",
61
+ securitySchema.in()));
62
+ }
63
+ if (securitySchema.scheme()) {
64
+ schemas.push(react_1.default.createElement("span", null,
65
+ "Scheme: ",
66
+ securitySchema.scheme()));
67
+ }
68
+ if (securitySchema.bearerFormat()) {
69
+ schemas.push(react_1.default.createElement("span", null,
70
+ "Bearer format: ",
71
+ securitySchema.bearerFormat()));
72
+ }
73
+ if (securitySchema.openIdConnectUrl()) {
74
+ schemas.push(react_1.default.createElement(components_1.Href, { href: securitySchema.openIdConnectUrl(), className: "underline" }, "Connect URL"));
75
+ }
76
+ if (requiredScopes.length) {
77
+ schemas.push(react_1.default.createElement("span", null,
78
+ "Required scopes: ",
79
+ requiredScopes.join(', ')));
80
+ }
81
+ }
82
+ return schemas;
83
+ }
84
+ var SecurityItem = function (_a) {
85
+ var securitySchema = _a.securitySchema, protocol = _a.protocol, requiredScopes = _a.requiredScopes;
86
+ var schemas = collectSecuritySchemas(securitySchema, requiredScopes);
87
+ var renderedKafkaSecurity;
88
+ if (['kafka', 'kafka-secure'].includes(protocol)) {
89
+ var _b = helpers_1.ServerHelpers.getKafkaSecurity(protocol, securitySchema), securityProtocol = _b.securityProtocol, saslMechanism = _b.saslMechanism;
90
+ renderedKafkaSecurity = (react_1.default.createElement("div", { className: "px-4 py-2 ml-2 mb-2 border border-gray-400 bg-gray-100 rounded" },
91
+ securityProtocol && (react_1.default.createElement("div", { className: "mt-1" },
92
+ react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "security.protocol:"),
93
+ react_1.default.createElement("span", { className: "inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1" }, securityProtocol))),
94
+ saslMechanism && (react_1.default.createElement("div", { className: "mt-1" },
95
+ react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "sasl.mechanism:"),
96
+ react_1.default.createElement("span", { className: "inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1" }, saslMechanism)))));
97
+ }
98
+ var flows = securitySchema === null || securitySchema === void 0 ? void 0 : securitySchema.flows();
99
+ var unwrappedFlows = {};
100
+ if (flows === null || flows === void 0 ? void 0 : flows.hasImplicit()) {
101
+ unwrappedFlows.implicit = flows.implicit();
102
+ }
103
+ if (flows === null || flows === void 0 ? void 0 : flows.hasAuthorizationCode()) {
104
+ unwrappedFlows.authorizationCode = flows.authorizationCode();
105
+ }
106
+ if (flows === null || flows === void 0 ? void 0 : flows.hasClientCredentials()) {
107
+ unwrappedFlows.clientCredentials = flows.clientCredentials();
108
+ }
109
+ if (flows === null || flows === void 0 ? void 0 : flows.hasPassword()) {
110
+ unwrappedFlows.password = flows.implicit();
111
+ }
112
+ var renderedFlows = Object.entries(unwrappedFlows).map(function (_a) {
113
+ var flowName = _a[0], flow = _a[1];
114
+ var authorizationUrl = flow.authorizationUrl();
115
+ var tokenUrl = flow.tokenUrl();
116
+ var refreshUrl = flow.refreshUrl();
117
+ var scopes = flow.scopes();
118
+ return (react_1.default.createElement("div", { className: "px-4 py-2 ml-2 mb-2 border border-gray-400 bg-gray-100 rounded", key: flowName },
119
+ react_1.default.createElement("div", null,
120
+ react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "Flow:"),
121
+ react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, helpers_1.ServerHelpers.flowName(flowName))),
122
+ authorizationUrl && (react_1.default.createElement("div", { className: "mt-1" },
123
+ react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "Auth URL:"),
124
+ react_1.default.createElement(components_1.Href, { href: authorizationUrl, className: "underline" }, authorizationUrl))),
125
+ tokenUrl && (react_1.default.createElement("div", { className: "mt-1" },
126
+ react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "Token URL:"),
127
+ react_1.default.createElement(components_1.Href, { href: tokenUrl, className: "underline" }, tokenUrl))),
128
+ refreshUrl && (react_1.default.createElement("div", { className: "mt-1" },
129
+ react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "Refresh URL:"),
130
+ react_1.default.createElement(components_1.Href, { href: refreshUrl, className: "underline" }, refreshUrl))),
131
+ scopes && (react_1.default.createElement("div", { className: "mt-1" },
132
+ react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "Scopes:"),
133
+ react_1.default.createElement("ul", { className: "inline-block" }, scopes &&
134
+ Object.entries(scopes).map(function (_a) {
135
+ var scopeName = _a[0], scopeDesc = _a[1];
136
+ return (react_1.default.createElement("li", { className: "inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1", title: scopeDesc, key: scopeName }, scopeName));
137
+ }))))));
138
+ });
139
+ return (react_1.default.createElement("div", null,
140
+ securitySchema && schemas && (react_1.default.createElement("div", null,
141
+ react_1.default.createElement("span", null,
142
+ helpers_1.ServerHelpers.securityType(securitySchema.type()),
143
+ schemas.length > 0 && (react_1.default.createElement("ul", { className: "inline-block ml-2" }, schemas.map(function (schema, idx) { return (react_1.default.createElement("li", { className: "inline-block font-bold no-underline bg-blue-400 text-white text-xs uppercase rounded px-2 py-0 ml-1", key: idx }, schema)); })))))),
144
+ securitySchema && securitySchema.hasDescription() && (react_1.default.createElement("div", null,
145
+ react_1.default.createElement(components_1.Markdown, null, securitySchema.description()))),
146
+ renderedFlows && renderedFlows.length > 0 && (react_1.default.createElement("ul", { className: "my-2" },
147
+ react_1.default.createElement("li", null, renderedFlows))),
148
+ renderedKafkaSecurity && react_1.default.createElement("div", null, renderedKafkaSecurity)));
149
+ };
150
+ //# sourceMappingURL=Security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Security.js","sourceRoot":"","sources":["../../../../src/containers/Servers/Security.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n OAuthFlowInterface,\n SecurityRequirementsInterface,\n SecuritySchemeInterface,\n} from '@asyncapi/parser';\n\nimport { Href, Markdown } from '../../components';\nimport { useSpec } from '../../contexts';\nimport { ServerHelpers } from '../../helpers';\n\ninterface Props {\n security: SecurityRequirementsInterface[];\n protocol?: string;\n header?: string;\n}\n\nexport const Security: React.FunctionComponent<Props> = ({\n security = [],\n protocol = '',\n header = 'Security',\n}) => {\n const asyncapi = useSpec();\n const securitySchemes =\n !asyncapi.components().isEmpty() && asyncapi.components().securitySchemes();\n\n let renderedSecurities;\n if (\n !security ||\n !security.length ||\n !securitySchemes ||\n !Object.keys(securitySchemes).length\n ) {\n if (protocol === 'kafka' || protocol === 'kafka-secure') {\n renderedSecurities = (\n <SecurityItem protocol={protocol} securitySchema={null} />\n );\n }\n } else {\n const securities: React.ReactNodeArray = Object.values(security)\n .map(requirement => {\n const requirements = requirement.all();\n const key = Object.keys(requirements)[0];\n const def = securitySchemes[String(key)];\n const requiredScopes: string[] = requirements[String(key)];\n\n if (!def) {\n return null;\n }\n return (\n <SecurityItem\n protocol={protocol}\n securitySchema={def}\n requiredScopes={requiredScopes}\n key={def.type()}\n />\n );\n })\n .filter(Boolean);\n\n renderedSecurities = (\n <ul>\n {securities.map((s, idx) => (\n <li className=\"mt-2\" key={idx}>\n {s}\n </li>\n ))}\n </ul>\n );\n }\n\n if (!renderedSecurities) {\n return null;\n }\n\n return (\n <div className=\"text-sm mt-4\">\n <h5 className=\"text-gray-800\">{header}:</h5>\n {renderedSecurities}\n </div>\n );\n};\n\nfunction collectSecuritySchemas(\n securitySchema: SecuritySchemeInterface | null,\n requiredScopes: string[] = [],\n): React.ReactNodeArray {\n const schemas: React.ReactNodeArray = [];\n if (securitySchema) {\n if (securitySchema.name()) {\n schemas.push(<span>Name: {securitySchema.name()}</span>);\n }\n if (securitySchema.in()) {\n schemas.push(<span>In: {securitySchema.in()}</span>);\n }\n if (securitySchema.scheme()) {\n schemas.push(<span>Scheme: {securitySchema.scheme()}</span>);\n }\n if (securitySchema.bearerFormat()) {\n schemas.push(<span>Bearer format: {securitySchema.bearerFormat()}</span>);\n }\n if (securitySchema.openIdConnectUrl()) {\n schemas.push(\n <Href\n href={securitySchema.openIdConnectUrl() as string}\n className=\"underline\"\n >\n Connect URL\n </Href>,\n );\n }\n if (requiredScopes.length) {\n schemas.push(<span>Required scopes: {requiredScopes.join(', ')}</span>);\n }\n }\n return schemas;\n}\n\ninterface SecurityItemProps {\n securitySchema: SecuritySchemeInterface | null;\n protocol: string;\n requiredScopes?: string[];\n}\n\nconst SecurityItem: React.FunctionComponent<SecurityItemProps> = ({\n securitySchema,\n protocol,\n requiredScopes,\n}) => {\n const schemas: React.ReactNodeArray = collectSecuritySchemas(\n securitySchema,\n requiredScopes,\n );\n\n let renderedKafkaSecurity;\n if (['kafka', 'kafka-secure'].includes(protocol)) {\n const { securityProtocol, saslMechanism } = ServerHelpers.getKafkaSecurity(\n protocol,\n securitySchema,\n );\n\n renderedKafkaSecurity = (\n <div className=\"px-4 py-2 ml-2 mb-2 border border-gray-400 bg-gray-100 rounded\">\n {securityProtocol && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n security.protocol:\n </span>\n <span className=\"inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1\">\n {securityProtocol}\n </span>\n </div>\n )}\n {saslMechanism && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n sasl.mechanism:\n </span>\n <span className=\"inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1\">\n {saslMechanism}\n </span>\n </div>\n )}\n </div>\n );\n }\n\n const flows = securitySchema?.flows();\n const unwrappedFlows: Record<string, OAuthFlowInterface> = {};\n if (flows?.hasImplicit()) {\n unwrappedFlows.implicit = flows.implicit() as OAuthFlowInterface;\n }\n if (flows?.hasAuthorizationCode()) {\n unwrappedFlows.authorizationCode = flows.authorizationCode() as OAuthFlowInterface;\n }\n if (flows?.hasClientCredentials()) {\n unwrappedFlows.clientCredentials = flows.clientCredentials() as OAuthFlowInterface;\n }\n if (flows?.hasPassword()) {\n unwrappedFlows.password = flows.implicit() as OAuthFlowInterface;\n }\n const renderedFlows = Object.entries(unwrappedFlows).map(\n ([flowName, flow]) => {\n const authorizationUrl = flow.authorizationUrl();\n const tokenUrl = flow.tokenUrl();\n const refreshUrl = flow.refreshUrl();\n const scopes = flow.scopes();\n\n return (\n <div\n className=\"px-4 py-2 ml-2 mb-2 border border-gray-400 bg-gray-100 rounded\"\n key={flowName}\n >\n <div>\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n Flow:\n </span>\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n {ServerHelpers.flowName(flowName)}\n </span>\n </div>\n\n {authorizationUrl && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n Auth URL:\n </span>\n <Href href={authorizationUrl} className=\"underline\">\n {authorizationUrl}\n </Href>\n </div>\n )}\n {tokenUrl && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n Token URL:\n </span>\n <Href href={tokenUrl} className=\"underline\">\n {tokenUrl}\n </Href>\n </div>\n )}\n {refreshUrl && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n Refresh URL:\n </span>\n <Href href={refreshUrl} className=\"underline\">\n {refreshUrl}\n </Href>\n </div>\n )}\n {scopes && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n Scopes:\n </span>\n <ul className=\"inline-block\">\n {scopes &&\n Object.entries(scopes).map(([scopeName, scopeDesc]) => (\n <li\n className=\"inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1\"\n title={scopeDesc}\n key={scopeName}\n >\n {scopeName}\n </li>\n ))}\n </ul>\n </div>\n )}\n </div>\n );\n },\n );\n\n return (\n <div>\n {securitySchema && schemas && (\n <div>\n <span>\n {ServerHelpers.securityType(securitySchema.type())}\n {schemas.length > 0 && (\n <ul className=\"inline-block ml-2\">\n {schemas.map((schema, idx) => (\n <li\n className=\"inline-block font-bold no-underline bg-blue-400 text-white text-xs uppercase rounded px-2 py-0 ml-1\"\n key={idx}\n >\n {schema}\n </li>\n ))}\n </ul>\n )}\n </span>\n </div>\n )}\n\n {securitySchema && securitySchema.hasDescription() && (\n <div>\n <Markdown>{securitySchema.description()}</Markdown>\n </div>\n )}\n\n {renderedFlows && renderedFlows.length > 0 && (\n <ul className=\"my-2\">\n <li>{renderedFlows}</li>\n </ul>\n )}\n\n {renderedKafkaSecurity && <div>{renderedKafkaSecurity}</div>}\n </div>\n );\n};\n"]}
@@ -5,33 +5,40 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Server = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
- var ServerSecurity_1 = require("./ServerSecurity");
8
+ var Security_1 = require("./Security");
9
9
  var components_1 = require("../../components");
10
+ var contexts_1 = require("../../contexts");
10
11
  var helpers_1 = require("../../helpers");
11
- exports.Server = function (_a) {
12
+ var Server = function (_a) {
12
13
  var serverName = _a.serverName, server = _a.server;
14
+ var config = (0, contexts_1.useConfig)();
13
15
  if (!server) {
14
16
  return null;
15
17
  }
16
18
  var urlVariables = helpers_1.SchemaHelpers.serverVariablesToSchema(server.variables());
17
19
  var protocolVersion = server.protocolVersion();
18
- var serverRequirements = server.security();
20
+ var security = server.security();
19
21
  return (react_1.default.createElement("div", { className: "panel-item" },
20
22
  react_1.default.createElement("div", { className: "panel-item--center px-8" },
21
23
  react_1.default.createElement("div", { className: "shadow rounded bg-gray-200 p-4 border bg-gray-100" },
22
24
  react_1.default.createElement("div", null,
23
25
  react_1.default.createElement("span", { className: "font-mono text-base" }, server.url()),
24
26
  react_1.default.createElement("span", { className: "bg-teal-500 font-bold no-underline text-white uppercase rounded mx-2 px-2 py-1 text-sm" }, protocolVersion
25
- ? server.protocol() + " " + protocolVersion
27
+ ? "".concat(server.protocol(), " ").concat(protocolVersion)
26
28
  : server.protocol()),
27
29
  react_1.default.createElement("span", { className: "bg-blue-500 font-bold no-underline text-white uppercase rounded px-2 py-1 text-sm" }, serverName)),
28
30
  server.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
29
31
  react_1.default.createElement(components_1.Markdown, null, server.description()))),
30
- urlVariables && (react_1.default.createElement("div", { className: "mt-2" },
32
+ urlVariables && (react_1.default.createElement("div", { className: "mt-2", id: "".concat(helpers_1.CommonHelpers.getIdentifier("server-".concat(serverName, "-url-variables"), config)) },
31
33
  react_1.default.createElement(components_1.Schema, { schemaName: "URL Variables", schema: urlVariables, expanded: true }))),
32
- serverRequirements && (react_1.default.createElement(ServerSecurity_1.ServerSecurity, { serverRequirements: serverRequirements })),
33
- server.hasBindings() && (react_1.default.createElement("div", { className: "mt-2" },
34
- react_1.default.createElement(components_1.Bindings, { bindings: server.bindings() }))))),
34
+ react_1.default.createElement("div", { id: "".concat(helpers_1.CommonHelpers.getIdentifier("server-".concat(serverName, "-security"), config)) },
35
+ react_1.default.createElement(Security_1.Security, { protocol: server.protocol(), security: security })),
36
+ server.bindings() && (react_1.default.createElement("div", { className: "mt-2" },
37
+ react_1.default.createElement(components_1.Bindings, { name: "Server specific information", bindings: server.bindings() }))),
38
+ react_1.default.createElement(components_1.Extensions, { name: "Server Extensions", item: server }),
39
+ server.tags().length > 0 && (react_1.default.createElement("div", { className: "mt-2" },
40
+ react_1.default.createElement(components_1.Tags, { tags: server.tags() }))))),
35
41
  react_1.default.createElement("div", { className: "panel-item--right" })));
36
42
  };
43
+ exports.Server = Server;
37
44
  //# sourceMappingURL=Server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/containers/Servers/Server.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAG1B,mDAAkD;AAClD,+CAA8D;AAE9D,yCAA8C;AAOjC,QAAA,MAAM,GAAmC,UAAC,EAGtD;QAFC,UAAU,gBAAA,EACV,MAAM,YAAA;IAEN,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,IAAM,YAAY,GAAG,uBAAa,CAAC,uBAAuB,CACxD,MAAM,CAAC,SAAS,EAAE,CACnB,CAAC;IACF,IAAM,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IACjD,IAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAE7C,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;QACzB,uCAAK,SAAS,EAAC,yBAAyB;YACtC,uCAAK,SAAS,EAAC,mDAAmD;gBAChE;oBACE,wCAAM,SAAS,EAAC,qBAAqB,IAAE,MAAM,CAAC,GAAG,EAAE,CAAQ;oBAC3D,wCAAM,SAAS,EAAC,wFAAwF,IACrG,eAAe;wBACd,CAAC,CAAI,MAAM,CAAC,QAAQ,EAAE,SAAI,eAAiB;wBAC3C,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAChB;oBACP,wCAAM,SAAS,EAAC,mFAAmF,IAChG,UAAU,CACN,CACH;gBAEL,MAAM,CAAC,cAAc,EAAE,IAAI,CAC1B,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,qBAAQ,QAAE,MAAM,CAAC,WAAW,EAAE,CAAY,CACvC,CACP;gBAEA,YAAY,IAAI,CACf,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,mBAAM,IACL,UAAU,EAAC,eAAe,EAC1B,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,IAAI,GACd,CACE,CACP;gBAEA,kBAAkB,IAAI,CACrB,8BAAC,+BAAc,IAAC,kBAAkB,EAAE,kBAAkB,GAAI,CAC3D;gBAEA,MAAM,CAAC,WAAW,EAAE,IAAI,CACvB,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,qBAAQ,IAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAI,CACrC,CACP,CACG,CACF;QAEN,uCAAK,SAAS,EAAC,mBAAmB,GAAG,CACjC,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/containers/Servers/Server.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAG1B,uCAAsC;AACtC,+CAAgF;AAEhF,2CAA2C;AAC3C,yCAA6D;AAOtD,IAAM,MAAM,GAAmC,UAAC,EAGtD;QAFC,UAAU,gBAAA,EACV,MAAM,YAAA;IAEN,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,IAAM,YAAY,GAAG,uBAAa,CAAC,uBAAuB,CACxD,MAAM,CAAC,SAAS,EAAE,CACnB,CAAC;IACF,IAAM,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IACjD,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAEnC,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;QACzB,uCAAK,SAAS,EAAC,yBAAyB;YACtC,uCAAK,SAAS,EAAC,mDAAmD;gBAChE;oBACE,wCAAM,SAAS,EAAC,qBAAqB,IAAE,MAAM,CAAC,GAAG,EAAE,CAAQ;oBAC3D,wCAAM,SAAS,EAAC,wFAAwF,IACrG,eAAe;wBACd,CAAC,CAAC,UAAG,MAAM,CAAC,QAAQ,EAAE,cAAI,eAAe,CAAE;wBAC3C,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAChB;oBACP,wCAAM,SAAS,EAAC,mFAAmF,IAChG,UAAU,CACN,CACH;gBAEL,MAAM,CAAC,cAAc,EAAE,IAAI,CAC1B,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,qBAAQ,QAAE,MAAM,CAAC,WAAW,EAAE,CAAY,CACvC,CACP;gBAEA,YAAY,IAAI,CACf,uCACE,SAAS,EAAC,MAAM,EAChB,EAAE,EAAE,UAAG,uBAAa,CAAC,aAAa,CAChC,iBAAU,UAAU,mBAAgB,EACpC,MAAM,CACP,CAAE;oBAEH,8BAAC,mBAAM,IACL,UAAU,EAAC,eAAe,EAC1B,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,IAAI,GACd,CACE,CACP;gBAGC,uCACE,EAAE,EAAE,UAAG,uBAAa,CAAC,aAAa,CAChC,iBAAU,UAAU,cAAW,EAC/B,MAAM,CACP,CAAE;oBAEH,8BAAC,mBAAQ,IAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACzD;gBAGP,MAAM,CAAC,QAAQ,EAAE,IAAI,CACpB,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,qBAAQ,IACP,IAAI,EAAC,6BAA6B,EAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAC3B,CACE,CACP;gBAED,8BAAC,uBAAU,IAAC,IAAI,EAAC,mBAAmB,EAAC,IAAI,EAAE,MAAM,GAAI;gBAEpD,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,iBAAI,IAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAI,CACzB,CACP,CACG,CACF;QAEN,uCAAK,SAAS,EAAC,mBAAmB,GAAG,CACjC,CACP,CAAC;AACJ,CAAC,CAAC;AAvFW,QAAA,MAAM,UAuFjB","sourcesContent":["import React from 'react';\nimport { ServerInterface } from '@asyncapi/parser';\n\nimport { Security } from './Security';\nimport { Markdown, Schema, Bindings, Tags, Extensions } from '../../components';\n\nimport { useConfig } from '../../contexts';\nimport { CommonHelpers, SchemaHelpers } from '../../helpers';\n\ninterface Props {\n serverName: string;\n server: ServerInterface;\n}\n\nexport const Server: React.FunctionComponent<Props> = ({\n serverName,\n server,\n}) => {\n const config = useConfig();\n\n if (!server) {\n return null;\n }\n\n const urlVariables = SchemaHelpers.serverVariablesToSchema(\n server.variables(),\n );\n const protocolVersion = server.protocolVersion();\n const security = server.security();\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 bg-gray-100\">\n <div>\n <span className=\"font-mono text-base\">{server.url()}</span>\n <span className=\"bg-teal-500 font-bold no-underline text-white uppercase rounded mx-2 px-2 py-1 text-sm\">\n {protocolVersion\n ? `${server.protocol()} ${protocolVersion}`\n : server.protocol()}\n </span>\n <span className=\"bg-blue-500 font-bold no-underline text-white uppercase rounded px-2 py-1 text-sm\">\n {serverName}\n </span>\n </div>\n\n {server.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{server.description()}</Markdown>\n </div>\n )}\n\n {urlVariables && (\n <div\n className=\"mt-2\"\n id={`${CommonHelpers.getIdentifier(\n `server-${serverName}-url-variables`,\n config,\n )}`}\n >\n <Schema\n schemaName=\"URL Variables\"\n schema={urlVariables}\n expanded={true}\n />\n </div>\n )}\n\n {\n <div\n id={`${CommonHelpers.getIdentifier(\n `server-${serverName}-security`,\n config,\n )}`}\n >\n <Security protocol={server.protocol()} security={security} />\n </div>\n }\n\n {server.bindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Server specific information\"\n bindings={server.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Server Extensions\" item={server} />\n\n {server.tags().length > 0 && (\n <div className=\"mt-2\">\n <Tags tags={server.tags()} />\n </div>\n )}\n </div>\n </div>\n\n <div className=\"panel-item--right\" />\n </div>\n );\n};\n"]}
@@ -7,18 +7,23 @@ exports.Servers = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var Server_1 = require("./Server");
9
9
  var contexts_1 = require("../../contexts");
10
+ var helpers_1 = require("../../helpers");
10
11
  var constants_1 = require("../../constants");
11
- exports.Servers = function () {
12
- var servers = contexts_1.useSpec().servers();
13
- if (!Object.keys(servers).length) {
12
+ var Servers = function () {
13
+ var servers = (0, contexts_1.useSpec)()
14
+ .servers()
15
+ .all();
16
+ var config = (0, contexts_1.useConfig)();
17
+ if (!servers.length) {
14
18
  return null;
15
19
  }
16
- return (react_1.default.createElement("section", { id: "servers", className: "mt-16" },
20
+ return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('servers', config)), className: "mt-16" },
17
21
  react_1.default.createElement("h2", { className: "2xl:w-7/12 text-3xl font-light mb-4 px-8" }, constants_1.SERVERS_TEXT),
18
- react_1.default.createElement("ul", null, Object.entries(servers).map(function (_a) {
19
- var serverName = _a[0], server = _a[1];
20
- return (react_1.default.createElement("li", { className: "mb-4", key: serverName },
22
+ react_1.default.createElement("ul", null, servers.map(function (server) {
23
+ var serverName = server.id();
24
+ return (react_1.default.createElement("li", { className: "mb-4", key: serverName, id: "".concat(helpers_1.CommonHelpers.getIdentifier("server-".concat(serverName), config)) },
21
25
  react_1.default.createElement(Server_1.Server, { serverName: serverName, server: server, key: serverName })));
22
26
  }))));
23
27
  };
28
+ exports.Servers = Servers;
24
29
  //# sourceMappingURL=Servers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Servers.js","sourceRoot":"","sources":["../../../../src/containers/Servers/Servers.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,mCAAkC;AAElC,2CAAyC;AACzC,6CAA+C;AAElC,QAAA,OAAO,GAA4B;IAC9C,IAAM,OAAO,GAAG,kBAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IAEpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;QAChC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,2CAAS,EAAE,EAAC,SAAS,EAAC,SAAS,EAAC,OAAO;QACrC,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,sCAAI,SAAS,EAAC,MAAM,EAAC,GAAG,EAAE,UAAU;gBAClC,8BAAC,eAAM,IAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAI,CAChE,CACN;QAJsD,CAItD,CAAC,CACC,CACG,CACX,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Servers.js","sourceRoot":"","sources":["../../../../src/containers/Servers/Servers.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,mCAAkC;AAElC,2CAAoD;AACpD,yCAA8C;AAC9C,6CAA+C;AAExC,IAAM,OAAO,GAA4B;IAC9C,IAAM,OAAO,GAAG,IAAA,kBAAO,GAAE;SACtB,OAAO,EAAE;SACT,GAAG,EAAE,CAAC;IACT,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAE3B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,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,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM;YACjB,IAAM,UAAU,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC;YAC/B,OAAO,CACL,sCACE,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAG,uBAAa,CAAC,aAAa,CAChC,iBAAU,UAAU,CAAE,EACtB,MAAM,CACP,CAAE;gBAEH,8BAAC,eAAM,IACL,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,UAAU,GACf,CACC,CACN,CAAC;QACJ,CAAC,CAAC,CACC,CACG,CACX,CAAC;AACJ,CAAC,CAAC;AAzCW,QAAA,OAAO,WAyClB","sourcesContent":["import React from 'react';\n\nimport { Server } from './Server';\n\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers } from '../../helpers';\nimport { SERVERS_TEXT } from '../../constants';\n\nexport const Servers: React.FunctionComponent = () => {\n const servers = useSpec()\n .servers()\n .all();\n const config = useConfig();\n\n if (!servers.length) {\n return null;\n }\n\n return (\n <section\n id={`${CommonHelpers.getIdentifier('servers', config)}`}\n className=\"mt-16\"\n >\n <h2 className=\"2xl:w-7/12 text-3xl font-light mb-4 px-8\">\n {SERVERS_TEXT}\n </h2>\n <ul>\n {servers.map(server => {\n const serverName = server.id();\n return (\n <li\n className=\"mb-4\"\n key={serverName}\n id={`${CommonHelpers.getIdentifier(\n `server-${serverName}`,\n config,\n )}`}\n >\n <Server\n serverName={serverName}\n server={server}\n key={serverName}\n />\n </li>\n );\n })}\n </ul>\n </section>\n );\n};\n"]}