@asyncapi/react-component 1.0.0-next.53 → 1.0.0-next.54

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.
@@ -51,23 +51,19 @@ var Sidebar = function () {
51
51
  .extensions()
52
52
  .get('x-logo')) === null || _a === void 0 ? void 0 : _a.value();
53
53
  var components = asyncapi.components();
54
- var messages = components && components.messages();
55
- var schemas = components && components.schemas();
56
- var hasOperations = asyncapi.channels().length > 0 &&
57
- Object.values(asyncapi.channels()).some(function (channel) { return channel.operations().length > 0; });
58
- var messagesList = messages && Object.keys(messages).length > 0 && (react_1.default.createElement("li", { className: "mb-3 mt-9" },
54
+ var messages = components === null || components === void 0 ? void 0 : components.messages().all();
55
+ var schemas = components === null || components === void 0 ? void 0 : components.schemas().all();
56
+ var hasOperations = asyncapi.operations().length > 0;
57
+ var messagesList = (messages === null || messages === void 0 ? void 0 : messages.length) > 0 && (react_1.default.createElement("li", { className: "mb-3 mt-9" },
59
58
  react_1.default.createElement("a", { className: "text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900", href: "#messages", onClick: function () { return setShowSidebar(false); } }, "Messages"),
60
- react_1.default.createElement("ul", { className: "text-sm mt-2" }, Object.entries(messages).map(function (_a) {
61
- var messageName = _a[0], message = _a[1];
62
- return (react_1.default.createElement("li", { key: messageName },
63
- react_1.default.createElement("a", { className: "flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900", href: "#message-".concat(messageName), onClick: function () { return setShowSidebar(false); } },
64
- react_1.default.createElement("div", { className: "break-all inline-block" }, message.id()))));
65
- }))));
66
- var schemasList = schemas && Object.keys(schemas).length > 0 && (react_1.default.createElement("li", { className: "mb-3 mt-9" },
59
+ react_1.default.createElement("ul", { className: "text-sm mt-2" }, messages.map(function (message) { return (react_1.default.createElement("li", { key: message.name() },
60
+ react_1.default.createElement("a", { className: "flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900", href: "#message-".concat(message.name()), onClick: function () { return setShowSidebar(false); } },
61
+ react_1.default.createElement("div", { className: "break-all inline-block" }, message.id())))); }))));
62
+ var schemasList = (schemas === null || schemas === void 0 ? void 0 : schemas.length) > 0 && (react_1.default.createElement("li", { className: "mb-3 mt-9" },
67
63
  react_1.default.createElement("a", { className: "text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900", href: "#schemas", onClick: function () { return setShowSidebar(false); } }, "Schemas"),
68
- react_1.default.createElement("ul", { className: "text-sm mt-2" }, Object.keys(schemas).map(function (schemaName) { return (react_1.default.createElement("li", { key: schemaName },
69
- react_1.default.createElement("a", { className: "flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900", href: "#schema-".concat(schemaName), onClick: function () { return setShowSidebar(false); } },
70
- react_1.default.createElement("div", { className: "break-all inline-block" }, schemaName)))); }))));
64
+ react_1.default.createElement("ul", { className: "text-sm mt-2" }, schemas.map(function (schema) { return (react_1.default.createElement("li", { key: schema.id() },
65
+ react_1.default.createElement("a", { className: "flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900", href: "#schema-".concat(schema.id()), onClick: function () { return setShowSidebar(false); } },
66
+ react_1.default.createElement("div", { className: "break-all inline-block" }, schema.id())))); }))));
71
67
  return (react_1.default.createElement(SidebarContext.Provider, { value: { setShowSidebar: setShowSidebar } },
72
68
  react_1.default.createElement("div", { className: "burger-menu rounded-full h-16 w-16 bg-white fixed bottom-16 right-8 flex items-center justify-center z-30 cursor-pointer shadow-md bg-teal-500", onClick: function () { return setShowSidebar(function (prev) { return !prev; }); }, "data-lol": showSidebar },
73
69
  react_1.default.createElement("svg", { viewBox: "0 0 100 70", width: "40", height: "30", className: "fill-current text-gray-200" },
@@ -125,10 +121,10 @@ function filterObjectsByTags(tags, objects) {
125
121
  var ServersList = function () {
126
122
  var sidebarConfig = (0, contexts_1.useConfig)().sidebar;
127
123
  var asyncapi = (0, contexts_1.useSpec)();
128
- var servers = asyncapi.servers();
124
+ var servers = asyncapi.servers().all();
129
125
  var showServers = (sidebarConfig === null || sidebarConfig === void 0 ? void 0 : sidebarConfig.showServers) || 'byDefault';
130
126
  if (showServers === 'byDefault') {
131
- return (react_1.default.createElement("ul", { className: "text-sm mt-2" }, Object.keys(servers).map(function (serverName) { return (react_1.default.createElement(ServerItem, { serverName: serverName, key: serverName })); })));
127
+ return (react_1.default.createElement("ul", { className: "text-sm mt-2" }, servers.map(function (server) { return (react_1.default.createElement(ServerItem, { serverName: server.id(), key: server.id() })); })));
132
128
  }
133
129
  var specTagNames;
134
130
  if (showServers === 'bySpecTags') {
@@ -136,22 +132,16 @@ var ServersList = function () {
136
132
  }
137
133
  else {
138
134
  var serverTagNamesSet_1 = new Set();
139
- Object.values(servers).forEach(function (server) {
140
- if (typeof server.tags !== 'function') {
141
- return;
142
- }
135
+ servers.forEach(function (server) {
143
136
  server.tags().forEach(function (t) { return serverTagNamesSet_1.add(t.name()); });
144
137
  });
145
138
  specTagNames = Array.from(serverTagNamesSet_1);
146
139
  }
147
- var serializedServers = Object.entries(servers).map(function (_a) {
148
- var serverName = _a[0], server = _a[1];
149
- return ({
150
- name: serverName,
151
- object: server,
152
- data: {},
153
- });
154
- });
140
+ var serializedServers = servers.map(function (server) { return ({
141
+ name: server.id(),
142
+ object: server,
143
+ data: {},
144
+ }); });
155
145
  var _a = filterObjectsByTags(specTagNames, serializedServers), tagged = _a.tagged, untagged = _a.untagged;
156
146
  return (react_1.default.createElement("ul", { className: "text-sm mt-2" },
157
147
  Array.from(tagged.entries()).map(function (_a) {
@@ -171,20 +161,20 @@ var ServersList = function () {
171
161
  var OperationsList = function () {
172
162
  var sidebarConfig = (0, contexts_1.useConfig)().sidebar;
173
163
  var asyncapi = (0, contexts_1.useSpec)();
174
- var operations = asyncapi.operations();
164
+ var operations = asyncapi.operations().all();
175
165
  var showOperations = (sidebarConfig === null || sidebarConfig === void 0 ? void 0 : sidebarConfig.showOperations) || 'byDefault';
176
166
  var processedOperations = [];
177
- Object.entries(operations).forEach(function (_a) {
178
- var operationId = _a[0], operation = _a[1];
167
+ operations.forEach(function (operation) {
168
+ var _a;
169
+ var operationChannel = operation.channels();
170
+ var operationChannels = operationChannel.all();
171
+ var channelAddress = (_a = operationChannels[0]) === null || _a === void 0 ? void 0 : _a.address();
179
172
  if (operation.isSend()) {
180
173
  processedOperations.push({
181
- name: "publish-".concat(operationId),
174
+ name: "publish-".concat(operation.id()),
182
175
  object: operation,
183
176
  data: {
184
- channelName: operation
185
- .channels()
186
- .all()[0]
187
- .address() || '',
177
+ channelName: channelAddress || '',
188
178
  kind: 'publish',
189
179
  summary: operation.summary() || '',
190
180
  },
@@ -192,13 +182,10 @@ var OperationsList = function () {
192
182
  }
193
183
  if (operation.isReceive()) {
194
184
  processedOperations.push({
195
- name: "subscribe-".concat(operationId),
185
+ name: "subscribe-".concat(operation.id()),
196
186
  object: operation,
197
187
  data: {
198
- channelName: operation
199
- .channels()
200
- .all()[0]
201
- .address() || '',
188
+ channelName: channelAddress || '',
202
189
  kind: 'subscribe',
203
190
  summary: operation.summary() || '',
204
191
  },
@@ -217,7 +204,7 @@ var OperationsList = function () {
217
204
  }
218
205
  else {
219
206
  var operationTagNamesSet_1 = new Set();
220
- Object.values(operations).forEach(function (operation) {
207
+ operations.forEach(function (operation) {
221
208
  operation.tags().forEach(function (t) { return operationTagNamesSet_1.add(t.name()); });
222
209
  });
223
210
  operationTagNames = Array.from(operationTagNamesSet_1);
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/containers/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useContext } from 'react';\n\nimport { CollapseButton } from '../../components';\nimport { useConfig, useSpec } from '../../contexts';\nimport {\n PUBLISH_LABEL_DEFAULT_TEXT,\n SUBSCRIBE_LABEL_DEFAULT_TEXT,\n} from '../../constants';\n\nconst SidebarContext = React.createContext<{\n setShowSidebar: React.Dispatch<React.SetStateAction<boolean>>;\n}>({\n setShowSidebar: (value: boolean | ((prevValue: boolean) => boolean)) => value,\n});\n\nexport const Sidebar: React.FunctionComponent = () => {\n const [showSidebar, setShowSidebar] = useState(false);\n const asyncapi = useSpec();\n\n const info = asyncapi.info();\n const logo = info\n .extensions()\n .get('x-logo')\n ?.value();\n const components = asyncapi.components();\n const messages = components && components.messages();\n const schemas = components && components.schemas();\n const hasOperations =\n asyncapi.channels().length > 0 &&\n Object.values(asyncapi.channels()).some(\n channel => channel.operations().length > 0,\n );\n\n const messagesList = messages && Object.keys(messages).length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#messages\"\n onClick={() => setShowSidebar(false)}\n >\n Messages\n </a>\n <ul className=\"text-sm mt-2\">\n {Object.entries(messages).map(([messageName, message]) => (\n <li key={messageName}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#message-${messageName}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{message.id()}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n const schemasList = schemas && Object.keys(schemas).length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#schemas\"\n onClick={() => setShowSidebar(false)}\n >\n Schemas\n </a>\n <ul className=\"text-sm mt-2\">\n {Object.keys(schemas).map(schemaName => (\n <li key={schemaName}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#schema-${schemaName}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{schemaName}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n return (\n <SidebarContext.Provider value={{ setShowSidebar }}>\n <div\n className=\"burger-menu rounded-full h-16 w-16 bg-white fixed bottom-16 right-8 flex items-center justify-center z-30 cursor-pointer shadow-md bg-teal-500\"\n onClick={() => setShowSidebar(prev => !prev)}\n data-lol={showSidebar}\n >\n <svg\n viewBox=\"0 0 100 70\"\n width=\"40\"\n height=\"30\"\n className=\"fill-current text-gray-200\"\n >\n <rect width=\"100\" height=\"10\" />\n <rect y=\"30\" width=\"100\" height=\"10\" />\n <rect y=\"60\" width=\"100\" height=\"10\" />\n </svg>\n </div>\n <div\n className={`${\n showSidebar ? 'block fixed w-full' : 'hidden'\n } sidebar relative w-64 max-h-screen h-full bg-gray-200 shadow z-20`}\n // className={`${\n // showSidebar ? 'block fixed w-full' : 'hidden'\n // } sidebar bg-gray-200 font-sans font-light px-4 py-8 z-20 shadow overflow-auto`}\n >\n <div\n className={`${\n showSidebar ? 'w-full' : ''\n } block fixed max-h-screen h-full font-sans px-4 pt-8 pb-16 overflow-y-auto bg-gray-200`}\n >\n <div className=\"sidebar--content\">\n <div>\n {logo ? (\n <img\n src={logo}\n alt={`${info.title()} logo, ${info.version()} version`}\n />\n ) : (\n <h1 className=\"text-2xl font-light\">\n {info.title()} {info.version()}\n </h1>\n )}\n </div>\n\n <ul className=\"text-sm mt-10 relative\">\n <li className=\"mb-3\">\n <a\n className=\"text-gray-700 no-underline hover:text-gray-900\"\n href=\"#introduction\"\n onClick={() => setShowSidebar(false)}\n >\n Introduction\n </a>\n </li>\n {asyncapi.servers().length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#servers\"\n onClick={() => setShowSidebar(false)}\n >\n Servers\n </a>\n <ServersList />\n </li>\n )}\n {hasOperations && (\n <>\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#operations\"\n onClick={() => setShowSidebar(false)}\n >\n Operations\n </a>\n <OperationsList />\n </li>\n {messagesList}\n {schemasList}\n </>\n )}\n </ul>\n </div>\n </div>\n </div>\n </SidebarContext.Provider>\n );\n};\n\ninterface TagObject<T = any> {\n name: string;\n object: { tags?: () => Array<{ name: () => string }> };\n data: T;\n}\n\nfunction filterObjectsByTags<T = any>(\n tags: string[],\n objects: Array<TagObject<T>>,\n): { tagged: Map<string, TagObject[]>; untagged: TagObject[] } {\n const taggedObjects = new Set<TagObject>();\n const tagged = new Map<string, TagObject[]>();\n\n tags.forEach(tag => {\n const taggedForTag: TagObject[] = [];\n objects.forEach(obj => {\n const object = obj.object;\n if (typeof object.tags !== 'function') {\n return;\n }\n\n const objectTags = (object.tags() || []).map(t => t.name());\n const hasTag = objectTags.includes(tag);\n if (hasTag) {\n taggedForTag.push(obj);\n taggedObjects.add(obj);\n }\n });\n tagged.set(tag, taggedForTag);\n });\n\n const untagged: TagObject[] = [];\n objects.forEach(obj => {\n if (!taggedObjects.has(obj)) {\n untagged.push(obj);\n }\n });\n\n return { tagged, untagged };\n}\n\nconst ServersList: React.FunctionComponent = () => {\n const sidebarConfig = useConfig().sidebar;\n const asyncapi = useSpec();\n const servers = asyncapi.servers();\n const showServers = sidebarConfig?.showServers || 'byDefault';\n\n if (showServers === 'byDefault') {\n return (\n <ul className=\"text-sm mt-2\">\n {Object.keys(servers).map(serverName => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ul>\n );\n }\n\n let specTagNames: string[];\n if (showServers === 'bySpecTags') {\n specTagNames = (asyncapi.info().tags() || []).map(tag => tag.name());\n } else {\n const serverTagNamesSet = new Set<string>();\n Object.values(servers).forEach(server => {\n if (typeof server.tags !== 'function') {\n return;\n }\n server.tags().forEach(t => serverTagNamesSet.add(t.name()));\n });\n specTagNames = Array.from(serverTagNamesSet);\n }\n\n const serializedServers: TagObject[] = Object.entries(servers).map(\n ([serverName, server]) => ({\n name: serverName,\n object: server,\n data: {},\n }),\n );\n const { tagged, untagged } = filterObjectsByTags(\n specTagNames,\n serializedServers,\n );\n return (\n <ul className=\"text-sm mt-2\">\n {Array.from(tagged.entries()).map(([tag, taggedServers]) => (\n <li key={tag}>\n <ItemsByTagItem tagName={tag}>\n {taggedServers.map(({ name: serverName }) => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ItemsByTagItem>\n </li>\n ))}\n {untagged.length > 0 ? (\n <li>\n <ItemsByTagItem tagName=\"Untagged\">\n {untagged.map(({ name: serverName }) => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ItemsByTagItem>\n </li>\n ) : null}\n </ul>\n );\n};\n\nconst OperationsList: React.FunctionComponent = () => {\n const sidebarConfig = useConfig().sidebar;\n const asyncapi = useSpec();\n const operations = asyncapi.operations();\n const showOperations = sidebarConfig?.showOperations || 'byDefault';\n\n const processedOperations: Array<TagObject<{\n channelName: string;\n summary: string;\n kind: 'publish' | 'subscribe';\n }>> = [];\n Object.entries(operations).forEach(([operationId, operation]) => {\n if (operation.isSend()) {\n processedOperations.push({\n name: `publish-${operationId}`,\n object: operation,\n data: {\n channelName:\n operation\n .channels()\n .all()[0]\n .address() || '',\n kind: 'publish',\n summary: operation.summary() || '',\n },\n });\n }\n if (operation.isReceive()) {\n processedOperations.push({\n name: `subscribe-${operationId}`,\n object: operation,\n data: {\n channelName:\n operation\n .channels()\n .all()[0]\n .address() || '',\n kind: 'subscribe',\n summary: operation.summary() || '',\n },\n });\n }\n });\n\n if (showOperations === 'byDefault') {\n return (\n <ul className=\"text-sm mt-2\">\n {processedOperations.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ul>\n );\n }\n\n let operationTagNames: string[];\n if (showOperations === 'bySpecTags') {\n operationTagNames = (asyncapi.info().tags() || []).map(tag => tag.name());\n } else {\n const operationTagNamesSet = new Set<string>();\n Object.values(operations).forEach(operation => {\n operation.tags().forEach(t => operationTagNamesSet.add(t.name()));\n });\n operationTagNames = Array.from(operationTagNamesSet);\n }\n\n const { tagged, untagged } = filterObjectsByTags(\n operationTagNames,\n processedOperations,\n );\n return (\n <ul className=\"text-sm mt-2\">\n {Array.from(tagged.entries()).map(([tag, taggedOperations]) => (\n <li key={tag}>\n <ItemsByTagItem tagName={tag}>\n {taggedOperations.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ItemsByTagItem>\n </li>\n ))}\n {untagged.length > 0 ? (\n <li>\n <ItemsByTagItem tagName=\"Untagged\">\n {untagged.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ItemsByTagItem>\n </li>\n ) : null}\n </ul>\n );\n};\n\ninterface OperationItemProps {\n channelName: string;\n summary: string;\n kind: 'publish' | 'subscribe';\n}\n\nconst OperationItem: React.FunctionComponent<OperationItemProps> = ({\n channelName,\n summary,\n kind,\n}) => {\n const config = useConfig();\n const { setShowSidebar } = useContext(SidebarContext);\n\n const isPublish = kind === 'publish';\n let label: string = '';\n if (isPublish) {\n label = config.publishLabel || PUBLISH_LABEL_DEFAULT_TEXT;\n } else {\n label = config.subscribeLabel || SUBSCRIBE_LABEL_DEFAULT_TEXT;\n }\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#operation-${kind}-${channelName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span\n className={`${\n isPublish ? 'bg-blue-600' : 'bg-green-600'\n } font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs`}\n title={isPublish ? 'Publish' : 'Subscribe'}\n >\n {label}\n </span>\n <span className=\"break-all inline-block\">{summary || channelName}</span>\n </a>\n </li>\n );\n};\n\ninterface ServerItemProps {\n serverName: string;\n}\n\nconst ServerItem: React.FunctionComponent<ServerItemProps> = ({\n serverName,\n}) => {\n const { setShowSidebar } = useContext(SidebarContext);\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#server-${serverName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span className=\"break-all inline-block\">{serverName}</span>\n </a>\n </li>\n );\n};\n\ninterface ItemsByTagItemProps {\n tagName: string;\n}\n\nconst ItemsByTagItem: React.FunctionComponent<ItemsByTagItemProps> = ({\n tagName,\n children,\n}) => {\n const [expand, setExpand] = useState(false);\n\n return (\n <div>\n <CollapseButton\n onClick={() => setExpand(prev => !prev)}\n chevronProps={{\n className: expand ? '-rotate-180' : '-rotate-90',\n }}\n >\n <span className=\"text-sm inline-block mt-1 font-extralight\">\n {tagName}\n </span>\n </CollapseButton>\n <ul className={`${expand ? 'block' : 'hidden'} text-sm mt-2 font-light`}>\n {children}\n </ul>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/containers/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useContext } from 'react';\n\nimport { CollapseButton } from '../../components';\nimport { useConfig, useSpec } from '../../contexts';\nimport {\n PUBLISH_LABEL_DEFAULT_TEXT,\n SUBSCRIBE_LABEL_DEFAULT_TEXT,\n} from '../../constants';\n\nconst SidebarContext = React.createContext<{\n setShowSidebar: React.Dispatch<React.SetStateAction<boolean>>;\n}>({\n setShowSidebar: (value: boolean | ((prevValue: boolean) => boolean)) => value,\n});\n\nexport const Sidebar: React.FunctionComponent = () => {\n const [showSidebar, setShowSidebar] = useState(false);\n const asyncapi = useSpec();\n\n const info = asyncapi.info();\n const logo = info\n .extensions()\n .get('x-logo')\n ?.value();\n const components = asyncapi.components();\n const messages = components?.messages().all();\n const schemas = components?.schemas().all();\n const hasOperations = asyncapi.operations().length > 0;\n\n const messagesList = messages?.length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#messages\"\n onClick={() => setShowSidebar(false)}\n >\n Messages\n </a>\n <ul className=\"text-sm mt-2\">\n {messages.map(message => (\n <li key={message.name()}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#message-${message.name()}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{message.id()}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n const schemasList = schemas?.length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#schemas\"\n onClick={() => setShowSidebar(false)}\n >\n Schemas\n </a>\n <ul className=\"text-sm mt-2\">\n {schemas.map(schema => (\n <li key={schema.id()}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#schema-${schema.id()}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{schema.id()}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n return (\n <SidebarContext.Provider value={{ setShowSidebar }}>\n <div\n className=\"burger-menu rounded-full h-16 w-16 bg-white fixed bottom-16 right-8 flex items-center justify-center z-30 cursor-pointer shadow-md bg-teal-500\"\n onClick={() => setShowSidebar(prev => !prev)}\n data-lol={showSidebar}\n >\n <svg\n viewBox=\"0 0 100 70\"\n width=\"40\"\n height=\"30\"\n className=\"fill-current text-gray-200\"\n >\n <rect width=\"100\" height=\"10\" />\n <rect y=\"30\" width=\"100\" height=\"10\" />\n <rect y=\"60\" width=\"100\" height=\"10\" />\n </svg>\n </div>\n <div\n className={`${\n showSidebar ? 'block fixed w-full' : 'hidden'\n } sidebar relative w-64 max-h-screen h-full bg-gray-200 shadow z-20`}\n // className={`${\n // showSidebar ? 'block fixed w-full' : 'hidden'\n // } sidebar bg-gray-200 font-sans font-light px-4 py-8 z-20 shadow overflow-auto`}\n >\n <div\n className={`${\n showSidebar ? 'w-full' : ''\n } block fixed max-h-screen h-full font-sans px-4 pt-8 pb-16 overflow-y-auto bg-gray-200`}\n >\n <div className=\"sidebar--content\">\n <div>\n {logo ? (\n <img\n src={logo}\n alt={`${info.title()} logo, ${info.version()} version`}\n />\n ) : (\n <h1 className=\"text-2xl font-light\">\n {info.title()} {info.version()}\n </h1>\n )}\n </div>\n\n <ul className=\"text-sm mt-10 relative\">\n <li className=\"mb-3\">\n <a\n className=\"text-gray-700 no-underline hover:text-gray-900\"\n href=\"#introduction\"\n onClick={() => setShowSidebar(false)}\n >\n Introduction\n </a>\n </li>\n {asyncapi.servers().length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#servers\"\n onClick={() => setShowSidebar(false)}\n >\n Servers\n </a>\n <ServersList />\n </li>\n )}\n {hasOperations && (\n <>\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#operations\"\n onClick={() => setShowSidebar(false)}\n >\n Operations\n </a>\n <OperationsList />\n </li>\n {messagesList}\n {schemasList}\n </>\n )}\n </ul>\n </div>\n </div>\n </div>\n </SidebarContext.Provider>\n );\n};\n\ninterface TagObject<T = any> {\n name: string;\n object: { tags?: () => Array<{ name: () => string }> };\n data: T;\n}\n\nfunction filterObjectsByTags<T = any>(\n tags: string[],\n objects: Array<TagObject<T>>,\n): { tagged: Map<string, TagObject[]>; untagged: TagObject[] } {\n const taggedObjects = new Set<TagObject>();\n const tagged = new Map<string, TagObject[]>();\n\n tags.forEach(tag => {\n const taggedForTag: TagObject[] = [];\n objects.forEach(obj => {\n const object = obj.object;\n if (typeof object.tags !== 'function') {\n return;\n }\n\n const objectTags = (object.tags() || []).map(t => t.name());\n const hasTag = objectTags.includes(tag);\n if (hasTag) {\n taggedForTag.push(obj);\n taggedObjects.add(obj);\n }\n });\n tagged.set(tag, taggedForTag);\n });\n\n const untagged: TagObject[] = [];\n objects.forEach(obj => {\n if (!taggedObjects.has(obj)) {\n untagged.push(obj);\n }\n });\n\n return { tagged, untagged };\n}\n\nconst ServersList: React.FunctionComponent = () => {\n const sidebarConfig = useConfig().sidebar;\n const asyncapi = useSpec();\n const servers = asyncapi.servers().all();\n const showServers = sidebarConfig?.showServers || 'byDefault';\n\n if (showServers === 'byDefault') {\n return (\n <ul className=\"text-sm mt-2\">\n {servers.map(server => (\n <ServerItem serverName={server.id()} key={server.id()} />\n ))}\n </ul>\n );\n }\n\n let specTagNames: string[];\n if (showServers === 'bySpecTags') {\n specTagNames = (asyncapi.info().tags() || []).map(tag => tag.name());\n } else {\n const serverTagNamesSet = new Set<string>();\n servers.forEach(server => {\n server.tags().forEach(t => serverTagNamesSet.add(t.name()));\n });\n specTagNames = Array.from(serverTagNamesSet);\n }\n\n const serializedServers: TagObject[] = servers.map(server => ({\n name: server.id(),\n object: server,\n data: {},\n }));\n const { tagged, untagged } = filterObjectsByTags(\n specTagNames,\n serializedServers,\n );\n return (\n <ul className=\"text-sm mt-2\">\n {Array.from(tagged.entries()).map(([tag, taggedServers]) => (\n <li key={tag}>\n <ItemsByTagItem tagName={tag}>\n {taggedServers.map(({ name: serverName }) => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ItemsByTagItem>\n </li>\n ))}\n {untagged.length > 0 ? (\n <li>\n <ItemsByTagItem tagName=\"Untagged\">\n {untagged.map(({ name: serverName }) => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ItemsByTagItem>\n </li>\n ) : null}\n </ul>\n );\n};\n\nconst OperationsList: React.FunctionComponent = () => {\n const sidebarConfig = useConfig().sidebar;\n const asyncapi = useSpec();\n const operations = asyncapi.operations().all();\n const showOperations = sidebarConfig?.showOperations || 'byDefault';\n\n const processedOperations: Array<TagObject<{\n channelName: string;\n summary: string;\n kind: 'publish' | 'subscribe';\n }>> = [];\n operations.forEach(operation => {\n const operationChannel = operation.channels();\n const operationChannels = operationChannel.all();\n const channelAddress = operationChannels[0]?.address();\n if (operation.isSend()) {\n processedOperations.push({\n name: `publish-${operation.id()}`,\n object: operation,\n data: {\n channelName: channelAddress || '',\n kind: 'publish',\n summary: operation.summary() || '',\n },\n });\n }\n if (operation.isReceive()) {\n processedOperations.push({\n name: `subscribe-${operation.id()}`,\n object: operation,\n data: {\n channelName: channelAddress || '',\n kind: 'subscribe',\n summary: operation.summary() || '',\n },\n });\n }\n });\n\n if (showOperations === 'byDefault') {\n return (\n <ul className=\"text-sm mt-2\">\n {processedOperations.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ul>\n );\n }\n\n let operationTagNames: string[];\n if (showOperations === 'bySpecTags') {\n operationTagNames = (asyncapi.info().tags() || []).map(tag => tag.name());\n } else {\n const operationTagNamesSet = new Set<string>();\n operations.forEach(operation => {\n operation.tags().forEach(t => operationTagNamesSet.add(t.name()));\n });\n operationTagNames = Array.from(operationTagNamesSet);\n }\n\n const { tagged, untagged } = filterObjectsByTags(\n operationTagNames,\n processedOperations,\n );\n return (\n <ul className=\"text-sm mt-2\">\n {Array.from(tagged.entries()).map(([tag, taggedOperations]) => (\n <li key={tag}>\n <ItemsByTagItem tagName={tag}>\n {taggedOperations.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ItemsByTagItem>\n </li>\n ))}\n {untagged.length > 0 ? (\n <li>\n <ItemsByTagItem tagName=\"Untagged\">\n {untagged.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ItemsByTagItem>\n </li>\n ) : null}\n </ul>\n );\n};\n\ninterface OperationItemProps {\n channelName: string;\n summary: string;\n kind: 'publish' | 'subscribe';\n}\n\nconst OperationItem: React.FunctionComponent<OperationItemProps> = ({\n channelName,\n summary,\n kind,\n}) => {\n const config = useConfig();\n const { setShowSidebar } = useContext(SidebarContext);\n\n const isPublish = kind === 'publish';\n let label: string = '';\n if (isPublish) {\n label = config.publishLabel || PUBLISH_LABEL_DEFAULT_TEXT;\n } else {\n label = config.subscribeLabel || SUBSCRIBE_LABEL_DEFAULT_TEXT;\n }\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#operation-${kind}-${channelName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span\n className={`${\n isPublish ? 'bg-blue-600' : 'bg-green-600'\n } font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs`}\n title={isPublish ? 'Publish' : 'Subscribe'}\n >\n {label}\n </span>\n <span className=\"break-all inline-block\">{summary || channelName}</span>\n </a>\n </li>\n );\n};\n\ninterface ServerItemProps {\n serverName: string;\n}\n\nconst ServerItem: React.FunctionComponent<ServerItemProps> = ({\n serverName,\n}) => {\n const { setShowSidebar } = useContext(SidebarContext);\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#server-${serverName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span className=\"break-all inline-block\">{serverName}</span>\n </a>\n </li>\n );\n};\n\ninterface ItemsByTagItemProps {\n tagName: string;\n}\n\nconst ItemsByTagItem: React.FunctionComponent<ItemsByTagItemProps> = ({\n tagName,\n children,\n}) => {\n const [expand, setExpand] = useState(false);\n\n return (\n <div>\n <CollapseButton\n onClick={() => setExpand(prev => !prev)}\n chevronProps={{\n className: expand ? '-rotate-180' : '-rotate-90',\n }}\n >\n <span className=\"text-sm inline-block mt-1 font-extralight\">\n {tagName}\n </span>\n </CollapseButton>\n <ul className={`${expand ? 'block' : 'hidden'} text-sm mt-2 font-light`}>\n {children}\n </ul>\n </div>\n );\n};\n"]}
@@ -25,23 +25,19 @@ export var Sidebar = function () {
25
25
  .extensions()
26
26
  .get('x-logo')) === null || _a === void 0 ? void 0 : _a.value();
27
27
  var components = asyncapi.components();
28
- var messages = components && components.messages();
29
- var schemas = components && components.schemas();
30
- var hasOperations = asyncapi.channels().length > 0 &&
31
- Object.values(asyncapi.channels()).some(function (channel) { return channel.operations().length > 0; });
32
- var messagesList = messages && Object.keys(messages).length > 0 && (React.createElement("li", { className: "mb-3 mt-9" },
28
+ var messages = components === null || components === void 0 ? void 0 : components.messages().all();
29
+ var schemas = components === null || components === void 0 ? void 0 : components.schemas().all();
30
+ var hasOperations = asyncapi.operations().length > 0;
31
+ var messagesList = (messages === null || messages === void 0 ? void 0 : messages.length) > 0 && (React.createElement("li", { className: "mb-3 mt-9" },
33
32
  React.createElement("a", { className: "text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900", href: "#messages", onClick: function () { return setShowSidebar(false); } }, "Messages"),
34
- React.createElement("ul", { className: "text-sm mt-2" }, Object.entries(messages).map(function (_a) {
35
- var messageName = _a[0], message = _a[1];
36
- return (React.createElement("li", { key: messageName },
37
- React.createElement("a", { className: "flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900", href: "#message-".concat(messageName), onClick: function () { return setShowSidebar(false); } },
38
- React.createElement("div", { className: "break-all inline-block" }, message.id()))));
39
- }))));
40
- var schemasList = schemas && Object.keys(schemas).length > 0 && (React.createElement("li", { className: "mb-3 mt-9" },
33
+ React.createElement("ul", { className: "text-sm mt-2" }, messages.map(function (message) { return (React.createElement("li", { key: message.name() },
34
+ React.createElement("a", { className: "flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900", href: "#message-".concat(message.name()), onClick: function () { return setShowSidebar(false); } },
35
+ React.createElement("div", { className: "break-all inline-block" }, message.id())))); }))));
36
+ var schemasList = (schemas === null || schemas === void 0 ? void 0 : schemas.length) > 0 && (React.createElement("li", { className: "mb-3 mt-9" },
41
37
  React.createElement("a", { className: "text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900", href: "#schemas", onClick: function () { return setShowSidebar(false); } }, "Schemas"),
42
- React.createElement("ul", { className: "text-sm mt-2" }, Object.keys(schemas).map(function (schemaName) { return (React.createElement("li", { key: schemaName },
43
- React.createElement("a", { className: "flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900", href: "#schema-".concat(schemaName), onClick: function () { return setShowSidebar(false); } },
44
- React.createElement("div", { className: "break-all inline-block" }, schemaName)))); }))));
38
+ React.createElement("ul", { className: "text-sm mt-2" }, schemas.map(function (schema) { return (React.createElement("li", { key: schema.id() },
39
+ React.createElement("a", { className: "flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900", href: "#schema-".concat(schema.id()), onClick: function () { return setShowSidebar(false); } },
40
+ React.createElement("div", { className: "break-all inline-block" }, schema.id())))); }))));
45
41
  return (React.createElement(SidebarContext.Provider, { value: { setShowSidebar: setShowSidebar } },
46
42
  React.createElement("div", { className: "burger-menu rounded-full h-16 w-16 bg-white fixed bottom-16 right-8 flex items-center justify-center z-30 cursor-pointer shadow-md bg-teal-500", onClick: function () { return setShowSidebar(function (prev) { return !prev; }); }, "data-lol": showSidebar },
47
43
  React.createElement("svg", { viewBox: "0 0 100 70", width: "40", height: "30", className: "fill-current text-gray-200" },
@@ -98,10 +94,10 @@ function filterObjectsByTags(tags, objects) {
98
94
  var ServersList = function () {
99
95
  var sidebarConfig = useConfig().sidebar;
100
96
  var asyncapi = useSpec();
101
- var servers = asyncapi.servers();
97
+ var servers = asyncapi.servers().all();
102
98
  var showServers = (sidebarConfig === null || sidebarConfig === void 0 ? void 0 : sidebarConfig.showServers) || 'byDefault';
103
99
  if (showServers === 'byDefault') {
104
- return (React.createElement("ul", { className: "text-sm mt-2" }, Object.keys(servers).map(function (serverName) { return (React.createElement(ServerItem, { serverName: serverName, key: serverName })); })));
100
+ return (React.createElement("ul", { className: "text-sm mt-2" }, servers.map(function (server) { return (React.createElement(ServerItem, { serverName: server.id(), key: server.id() })); })));
105
101
  }
106
102
  var specTagNames;
107
103
  if (showServers === 'bySpecTags') {
@@ -109,22 +105,16 @@ var ServersList = function () {
109
105
  }
110
106
  else {
111
107
  var serverTagNamesSet_1 = new Set();
112
- Object.values(servers).forEach(function (server) {
113
- if (typeof server.tags !== 'function') {
114
- return;
115
- }
108
+ servers.forEach(function (server) {
116
109
  server.tags().forEach(function (t) { return serverTagNamesSet_1.add(t.name()); });
117
110
  });
118
111
  specTagNames = Array.from(serverTagNamesSet_1);
119
112
  }
120
- var serializedServers = Object.entries(servers).map(function (_a) {
121
- var serverName = _a[0], server = _a[1];
122
- return ({
123
- name: serverName,
124
- object: server,
125
- data: {},
126
- });
127
- });
113
+ var serializedServers = servers.map(function (server) { return ({
114
+ name: server.id(),
115
+ object: server,
116
+ data: {},
117
+ }); });
128
118
  var _a = filterObjectsByTags(specTagNames, serializedServers), tagged = _a.tagged, untagged = _a.untagged;
129
119
  return (React.createElement("ul", { className: "text-sm mt-2" },
130
120
  Array.from(tagged.entries()).map(function (_a) {
@@ -144,20 +134,20 @@ var ServersList = function () {
144
134
  var OperationsList = function () {
145
135
  var sidebarConfig = useConfig().sidebar;
146
136
  var asyncapi = useSpec();
147
- var operations = asyncapi.operations();
137
+ var operations = asyncapi.operations().all();
148
138
  var showOperations = (sidebarConfig === null || sidebarConfig === void 0 ? void 0 : sidebarConfig.showOperations) || 'byDefault';
149
139
  var processedOperations = [];
150
- Object.entries(operations).forEach(function (_a) {
151
- var operationId = _a[0], operation = _a[1];
140
+ operations.forEach(function (operation) {
141
+ var _a;
142
+ var operationChannel = operation.channels();
143
+ var operationChannels = operationChannel.all();
144
+ var channelAddress = (_a = operationChannels[0]) === null || _a === void 0 ? void 0 : _a.address();
152
145
  if (operation.isSend()) {
153
146
  processedOperations.push({
154
- name: "publish-".concat(operationId),
147
+ name: "publish-".concat(operation.id()),
155
148
  object: operation,
156
149
  data: {
157
- channelName: operation
158
- .channels()
159
- .all()[0]
160
- .address() || '',
150
+ channelName: channelAddress || '',
161
151
  kind: 'publish',
162
152
  summary: operation.summary() || '',
163
153
  },
@@ -165,13 +155,10 @@ var OperationsList = function () {
165
155
  }
166
156
  if (operation.isReceive()) {
167
157
  processedOperations.push({
168
- name: "subscribe-".concat(operationId),
158
+ name: "subscribe-".concat(operation.id()),
169
159
  object: operation,
170
160
  data: {
171
- channelName: operation
172
- .channels()
173
- .all()[0]
174
- .address() || '',
161
+ channelName: channelAddress || '',
175
162
  kind: 'subscribe',
176
163
  summary: operation.summary() || '',
177
164
  },
@@ -190,7 +177,7 @@ var OperationsList = function () {
190
177
  }
191
178
  else {
192
179
  var operationTagNamesSet_1 = new Set();
193
- Object.values(operations).forEach(function (operation) {
180
+ operations.forEach(function (operation) {
194
181
  operation.tags().forEach(function (t) { return operationTagNamesSet_1.add(t.name()); });
195
182
  });
196
183
  operationTagNames = Array.from(operationTagNamesSet_1);
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/containers/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useContext } from 'react';\n\nimport { CollapseButton } from '../../components';\nimport { useConfig, useSpec } from '../../contexts';\nimport {\n PUBLISH_LABEL_DEFAULT_TEXT,\n SUBSCRIBE_LABEL_DEFAULT_TEXT,\n} from '../../constants';\n\nconst SidebarContext = React.createContext<{\n setShowSidebar: React.Dispatch<React.SetStateAction<boolean>>;\n}>({\n setShowSidebar: (value: boolean | ((prevValue: boolean) => boolean)) => value,\n});\n\nexport const Sidebar: React.FunctionComponent = () => {\n const [showSidebar, setShowSidebar] = useState(false);\n const asyncapi = useSpec();\n\n const info = asyncapi.info();\n const logo = info\n .extensions()\n .get('x-logo')\n ?.value();\n const components = asyncapi.components();\n const messages = components && components.messages();\n const schemas = components && components.schemas();\n const hasOperations =\n asyncapi.channels().length > 0 &&\n Object.values(asyncapi.channels()).some(\n channel => channel.operations().length > 0,\n );\n\n const messagesList = messages && Object.keys(messages).length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#messages\"\n onClick={() => setShowSidebar(false)}\n >\n Messages\n </a>\n <ul className=\"text-sm mt-2\">\n {Object.entries(messages).map(([messageName, message]) => (\n <li key={messageName}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#message-${messageName}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{message.id()}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n const schemasList = schemas && Object.keys(schemas).length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#schemas\"\n onClick={() => setShowSidebar(false)}\n >\n Schemas\n </a>\n <ul className=\"text-sm mt-2\">\n {Object.keys(schemas).map(schemaName => (\n <li key={schemaName}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#schema-${schemaName}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{schemaName}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n return (\n <SidebarContext.Provider value={{ setShowSidebar }}>\n <div\n className=\"burger-menu rounded-full h-16 w-16 bg-white fixed bottom-16 right-8 flex items-center justify-center z-30 cursor-pointer shadow-md bg-teal-500\"\n onClick={() => setShowSidebar(prev => !prev)}\n data-lol={showSidebar}\n >\n <svg\n viewBox=\"0 0 100 70\"\n width=\"40\"\n height=\"30\"\n className=\"fill-current text-gray-200\"\n >\n <rect width=\"100\" height=\"10\" />\n <rect y=\"30\" width=\"100\" height=\"10\" />\n <rect y=\"60\" width=\"100\" height=\"10\" />\n </svg>\n </div>\n <div\n className={`${\n showSidebar ? 'block fixed w-full' : 'hidden'\n } sidebar relative w-64 max-h-screen h-full bg-gray-200 shadow z-20`}\n // className={`${\n // showSidebar ? 'block fixed w-full' : 'hidden'\n // } sidebar bg-gray-200 font-sans font-light px-4 py-8 z-20 shadow overflow-auto`}\n >\n <div\n className={`${\n showSidebar ? 'w-full' : ''\n } block fixed max-h-screen h-full font-sans px-4 pt-8 pb-16 overflow-y-auto bg-gray-200`}\n >\n <div className=\"sidebar--content\">\n <div>\n {logo ? (\n <img\n src={logo}\n alt={`${info.title()} logo, ${info.version()} version`}\n />\n ) : (\n <h1 className=\"text-2xl font-light\">\n {info.title()} {info.version()}\n </h1>\n )}\n </div>\n\n <ul className=\"text-sm mt-10 relative\">\n <li className=\"mb-3\">\n <a\n className=\"text-gray-700 no-underline hover:text-gray-900\"\n href=\"#introduction\"\n onClick={() => setShowSidebar(false)}\n >\n Introduction\n </a>\n </li>\n {asyncapi.servers().length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#servers\"\n onClick={() => setShowSidebar(false)}\n >\n Servers\n </a>\n <ServersList />\n </li>\n )}\n {hasOperations && (\n <>\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#operations\"\n onClick={() => setShowSidebar(false)}\n >\n Operations\n </a>\n <OperationsList />\n </li>\n {messagesList}\n {schemasList}\n </>\n )}\n </ul>\n </div>\n </div>\n </div>\n </SidebarContext.Provider>\n );\n};\n\ninterface TagObject<T = any> {\n name: string;\n object: { tags?: () => Array<{ name: () => string }> };\n data: T;\n}\n\nfunction filterObjectsByTags<T = any>(\n tags: string[],\n objects: Array<TagObject<T>>,\n): { tagged: Map<string, TagObject[]>; untagged: TagObject[] } {\n const taggedObjects = new Set<TagObject>();\n const tagged = new Map<string, TagObject[]>();\n\n tags.forEach(tag => {\n const taggedForTag: TagObject[] = [];\n objects.forEach(obj => {\n const object = obj.object;\n if (typeof object.tags !== 'function') {\n return;\n }\n\n const objectTags = (object.tags() || []).map(t => t.name());\n const hasTag = objectTags.includes(tag);\n if (hasTag) {\n taggedForTag.push(obj);\n taggedObjects.add(obj);\n }\n });\n tagged.set(tag, taggedForTag);\n });\n\n const untagged: TagObject[] = [];\n objects.forEach(obj => {\n if (!taggedObjects.has(obj)) {\n untagged.push(obj);\n }\n });\n\n return { tagged, untagged };\n}\n\nconst ServersList: React.FunctionComponent = () => {\n const sidebarConfig = useConfig().sidebar;\n const asyncapi = useSpec();\n const servers = asyncapi.servers();\n const showServers = sidebarConfig?.showServers || 'byDefault';\n\n if (showServers === 'byDefault') {\n return (\n <ul className=\"text-sm mt-2\">\n {Object.keys(servers).map(serverName => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ul>\n );\n }\n\n let specTagNames: string[];\n if (showServers === 'bySpecTags') {\n specTagNames = (asyncapi.info().tags() || []).map(tag => tag.name());\n } else {\n const serverTagNamesSet = new Set<string>();\n Object.values(servers).forEach(server => {\n if (typeof server.tags !== 'function') {\n return;\n }\n server.tags().forEach(t => serverTagNamesSet.add(t.name()));\n });\n specTagNames = Array.from(serverTagNamesSet);\n }\n\n const serializedServers: TagObject[] = Object.entries(servers).map(\n ([serverName, server]) => ({\n name: serverName,\n object: server,\n data: {},\n }),\n );\n const { tagged, untagged } = filterObjectsByTags(\n specTagNames,\n serializedServers,\n );\n return (\n <ul className=\"text-sm mt-2\">\n {Array.from(tagged.entries()).map(([tag, taggedServers]) => (\n <li key={tag}>\n <ItemsByTagItem tagName={tag}>\n {taggedServers.map(({ name: serverName }) => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ItemsByTagItem>\n </li>\n ))}\n {untagged.length > 0 ? (\n <li>\n <ItemsByTagItem tagName=\"Untagged\">\n {untagged.map(({ name: serverName }) => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ItemsByTagItem>\n </li>\n ) : null}\n </ul>\n );\n};\n\nconst OperationsList: React.FunctionComponent = () => {\n const sidebarConfig = useConfig().sidebar;\n const asyncapi = useSpec();\n const operations = asyncapi.operations();\n const showOperations = sidebarConfig?.showOperations || 'byDefault';\n\n const processedOperations: Array<TagObject<{\n channelName: string;\n summary: string;\n kind: 'publish' | 'subscribe';\n }>> = [];\n Object.entries(operations).forEach(([operationId, operation]) => {\n if (operation.isSend()) {\n processedOperations.push({\n name: `publish-${operationId}`,\n object: operation,\n data: {\n channelName:\n operation\n .channels()\n .all()[0]\n .address() || '',\n kind: 'publish',\n summary: operation.summary() || '',\n },\n });\n }\n if (operation.isReceive()) {\n processedOperations.push({\n name: `subscribe-${operationId}`,\n object: operation,\n data: {\n channelName:\n operation\n .channels()\n .all()[0]\n .address() || '',\n kind: 'subscribe',\n summary: operation.summary() || '',\n },\n });\n }\n });\n\n if (showOperations === 'byDefault') {\n return (\n <ul className=\"text-sm mt-2\">\n {processedOperations.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ul>\n );\n }\n\n let operationTagNames: string[];\n if (showOperations === 'bySpecTags') {\n operationTagNames = (asyncapi.info().tags() || []).map(tag => tag.name());\n } else {\n const operationTagNamesSet = new Set<string>();\n Object.values(operations).forEach(operation => {\n operation.tags().forEach(t => operationTagNamesSet.add(t.name()));\n });\n operationTagNames = Array.from(operationTagNamesSet);\n }\n\n const { tagged, untagged } = filterObjectsByTags(\n operationTagNames,\n processedOperations,\n );\n return (\n <ul className=\"text-sm mt-2\">\n {Array.from(tagged.entries()).map(([tag, taggedOperations]) => (\n <li key={tag}>\n <ItemsByTagItem tagName={tag}>\n {taggedOperations.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ItemsByTagItem>\n </li>\n ))}\n {untagged.length > 0 ? (\n <li>\n <ItemsByTagItem tagName=\"Untagged\">\n {untagged.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ItemsByTagItem>\n </li>\n ) : null}\n </ul>\n );\n};\n\ninterface OperationItemProps {\n channelName: string;\n summary: string;\n kind: 'publish' | 'subscribe';\n}\n\nconst OperationItem: React.FunctionComponent<OperationItemProps> = ({\n channelName,\n summary,\n kind,\n}) => {\n const config = useConfig();\n const { setShowSidebar } = useContext(SidebarContext);\n\n const isPublish = kind === 'publish';\n let label: string = '';\n if (isPublish) {\n label = config.publishLabel || PUBLISH_LABEL_DEFAULT_TEXT;\n } else {\n label = config.subscribeLabel || SUBSCRIBE_LABEL_DEFAULT_TEXT;\n }\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#operation-${kind}-${channelName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span\n className={`${\n isPublish ? 'bg-blue-600' : 'bg-green-600'\n } font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs`}\n title={isPublish ? 'Publish' : 'Subscribe'}\n >\n {label}\n </span>\n <span className=\"break-all inline-block\">{summary || channelName}</span>\n </a>\n </li>\n );\n};\n\ninterface ServerItemProps {\n serverName: string;\n}\n\nconst ServerItem: React.FunctionComponent<ServerItemProps> = ({\n serverName,\n}) => {\n const { setShowSidebar } = useContext(SidebarContext);\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#server-${serverName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span className=\"break-all inline-block\">{serverName}</span>\n </a>\n </li>\n );\n};\n\ninterface ItemsByTagItemProps {\n tagName: string;\n}\n\nconst ItemsByTagItem: React.FunctionComponent<ItemsByTagItemProps> = ({\n tagName,\n children,\n}) => {\n const [expand, setExpand] = useState(false);\n\n return (\n <div>\n <CollapseButton\n onClick={() => setExpand(prev => !prev)}\n chevronProps={{\n className: expand ? '-rotate-180' : '-rotate-90',\n }}\n >\n <span className=\"text-sm inline-block mt-1 font-extralight\">\n {tagName}\n </span>\n </CollapseButton>\n <ul className={`${expand ? 'block' : 'hidden'} text-sm mt-2 font-light`}>\n {children}\n </ul>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/containers/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useContext } from 'react';\n\nimport { CollapseButton } from '../../components';\nimport { useConfig, useSpec } from '../../contexts';\nimport {\n PUBLISH_LABEL_DEFAULT_TEXT,\n SUBSCRIBE_LABEL_DEFAULT_TEXT,\n} from '../../constants';\n\nconst SidebarContext = React.createContext<{\n setShowSidebar: React.Dispatch<React.SetStateAction<boolean>>;\n}>({\n setShowSidebar: (value: boolean | ((prevValue: boolean) => boolean)) => value,\n});\n\nexport const Sidebar: React.FunctionComponent = () => {\n const [showSidebar, setShowSidebar] = useState(false);\n const asyncapi = useSpec();\n\n const info = asyncapi.info();\n const logo = info\n .extensions()\n .get('x-logo')\n ?.value();\n const components = asyncapi.components();\n const messages = components?.messages().all();\n const schemas = components?.schemas().all();\n const hasOperations = asyncapi.operations().length > 0;\n\n const messagesList = messages?.length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#messages\"\n onClick={() => setShowSidebar(false)}\n >\n Messages\n </a>\n <ul className=\"text-sm mt-2\">\n {messages.map(message => (\n <li key={message.name()}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#message-${message.name()}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{message.id()}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n const schemasList = schemas?.length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#schemas\"\n onClick={() => setShowSidebar(false)}\n >\n Schemas\n </a>\n <ul className=\"text-sm mt-2\">\n {schemas.map(schema => (\n <li key={schema.id()}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#schema-${schema.id()}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{schema.id()}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n return (\n <SidebarContext.Provider value={{ setShowSidebar }}>\n <div\n className=\"burger-menu rounded-full h-16 w-16 bg-white fixed bottom-16 right-8 flex items-center justify-center z-30 cursor-pointer shadow-md bg-teal-500\"\n onClick={() => setShowSidebar(prev => !prev)}\n data-lol={showSidebar}\n >\n <svg\n viewBox=\"0 0 100 70\"\n width=\"40\"\n height=\"30\"\n className=\"fill-current text-gray-200\"\n >\n <rect width=\"100\" height=\"10\" />\n <rect y=\"30\" width=\"100\" height=\"10\" />\n <rect y=\"60\" width=\"100\" height=\"10\" />\n </svg>\n </div>\n <div\n className={`${\n showSidebar ? 'block fixed w-full' : 'hidden'\n } sidebar relative w-64 max-h-screen h-full bg-gray-200 shadow z-20`}\n // className={`${\n // showSidebar ? 'block fixed w-full' : 'hidden'\n // } sidebar bg-gray-200 font-sans font-light px-4 py-8 z-20 shadow overflow-auto`}\n >\n <div\n className={`${\n showSidebar ? 'w-full' : ''\n } block fixed max-h-screen h-full font-sans px-4 pt-8 pb-16 overflow-y-auto bg-gray-200`}\n >\n <div className=\"sidebar--content\">\n <div>\n {logo ? (\n <img\n src={logo}\n alt={`${info.title()} logo, ${info.version()} version`}\n />\n ) : (\n <h1 className=\"text-2xl font-light\">\n {info.title()} {info.version()}\n </h1>\n )}\n </div>\n\n <ul className=\"text-sm mt-10 relative\">\n <li className=\"mb-3\">\n <a\n className=\"text-gray-700 no-underline hover:text-gray-900\"\n href=\"#introduction\"\n onClick={() => setShowSidebar(false)}\n >\n Introduction\n </a>\n </li>\n {asyncapi.servers().length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#servers\"\n onClick={() => setShowSidebar(false)}\n >\n Servers\n </a>\n <ServersList />\n </li>\n )}\n {hasOperations && (\n <>\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#operations\"\n onClick={() => setShowSidebar(false)}\n >\n Operations\n </a>\n <OperationsList />\n </li>\n {messagesList}\n {schemasList}\n </>\n )}\n </ul>\n </div>\n </div>\n </div>\n </SidebarContext.Provider>\n );\n};\n\ninterface TagObject<T = any> {\n name: string;\n object: { tags?: () => Array<{ name: () => string }> };\n data: T;\n}\n\nfunction filterObjectsByTags<T = any>(\n tags: string[],\n objects: Array<TagObject<T>>,\n): { tagged: Map<string, TagObject[]>; untagged: TagObject[] } {\n const taggedObjects = new Set<TagObject>();\n const tagged = new Map<string, TagObject[]>();\n\n tags.forEach(tag => {\n const taggedForTag: TagObject[] = [];\n objects.forEach(obj => {\n const object = obj.object;\n if (typeof object.tags !== 'function') {\n return;\n }\n\n const objectTags = (object.tags() || []).map(t => t.name());\n const hasTag = objectTags.includes(tag);\n if (hasTag) {\n taggedForTag.push(obj);\n taggedObjects.add(obj);\n }\n });\n tagged.set(tag, taggedForTag);\n });\n\n const untagged: TagObject[] = [];\n objects.forEach(obj => {\n if (!taggedObjects.has(obj)) {\n untagged.push(obj);\n }\n });\n\n return { tagged, untagged };\n}\n\nconst ServersList: React.FunctionComponent = () => {\n const sidebarConfig = useConfig().sidebar;\n const asyncapi = useSpec();\n const servers = asyncapi.servers().all();\n const showServers = sidebarConfig?.showServers || 'byDefault';\n\n if (showServers === 'byDefault') {\n return (\n <ul className=\"text-sm mt-2\">\n {servers.map(server => (\n <ServerItem serverName={server.id()} key={server.id()} />\n ))}\n </ul>\n );\n }\n\n let specTagNames: string[];\n if (showServers === 'bySpecTags') {\n specTagNames = (asyncapi.info().tags() || []).map(tag => tag.name());\n } else {\n const serverTagNamesSet = new Set<string>();\n servers.forEach(server => {\n server.tags().forEach(t => serverTagNamesSet.add(t.name()));\n });\n specTagNames = Array.from(serverTagNamesSet);\n }\n\n const serializedServers: TagObject[] = servers.map(server => ({\n name: server.id(),\n object: server,\n data: {},\n }));\n const { tagged, untagged } = filterObjectsByTags(\n specTagNames,\n serializedServers,\n );\n return (\n <ul className=\"text-sm mt-2\">\n {Array.from(tagged.entries()).map(([tag, taggedServers]) => (\n <li key={tag}>\n <ItemsByTagItem tagName={tag}>\n {taggedServers.map(({ name: serverName }) => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ItemsByTagItem>\n </li>\n ))}\n {untagged.length > 0 ? (\n <li>\n <ItemsByTagItem tagName=\"Untagged\">\n {untagged.map(({ name: serverName }) => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ItemsByTagItem>\n </li>\n ) : null}\n </ul>\n );\n};\n\nconst OperationsList: React.FunctionComponent = () => {\n const sidebarConfig = useConfig().sidebar;\n const asyncapi = useSpec();\n const operations = asyncapi.operations().all();\n const showOperations = sidebarConfig?.showOperations || 'byDefault';\n\n const processedOperations: Array<TagObject<{\n channelName: string;\n summary: string;\n kind: 'publish' | 'subscribe';\n }>> = [];\n operations.forEach(operation => {\n const operationChannel = operation.channels();\n const operationChannels = operationChannel.all();\n const channelAddress = operationChannels[0]?.address();\n if (operation.isSend()) {\n processedOperations.push({\n name: `publish-${operation.id()}`,\n object: operation,\n data: {\n channelName: channelAddress || '',\n kind: 'publish',\n summary: operation.summary() || '',\n },\n });\n }\n if (operation.isReceive()) {\n processedOperations.push({\n name: `subscribe-${operation.id()}`,\n object: operation,\n data: {\n channelName: channelAddress || '',\n kind: 'subscribe',\n summary: operation.summary() || '',\n },\n });\n }\n });\n\n if (showOperations === 'byDefault') {\n return (\n <ul className=\"text-sm mt-2\">\n {processedOperations.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ul>\n );\n }\n\n let operationTagNames: string[];\n if (showOperations === 'bySpecTags') {\n operationTagNames = (asyncapi.info().tags() || []).map(tag => tag.name());\n } else {\n const operationTagNamesSet = new Set<string>();\n operations.forEach(operation => {\n operation.tags().forEach(t => operationTagNamesSet.add(t.name()));\n });\n operationTagNames = Array.from(operationTagNamesSet);\n }\n\n const { tagged, untagged } = filterObjectsByTags(\n operationTagNames,\n processedOperations,\n );\n return (\n <ul className=\"text-sm mt-2\">\n {Array.from(tagged.entries()).map(([tag, taggedOperations]) => (\n <li key={tag}>\n <ItemsByTagItem tagName={tag}>\n {taggedOperations.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ItemsByTagItem>\n </li>\n ))}\n {untagged.length > 0 ? (\n <li>\n <ItemsByTagItem tagName=\"Untagged\">\n {untagged.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ItemsByTagItem>\n </li>\n ) : null}\n </ul>\n );\n};\n\ninterface OperationItemProps {\n channelName: string;\n summary: string;\n kind: 'publish' | 'subscribe';\n}\n\nconst OperationItem: React.FunctionComponent<OperationItemProps> = ({\n channelName,\n summary,\n kind,\n}) => {\n const config = useConfig();\n const { setShowSidebar } = useContext(SidebarContext);\n\n const isPublish = kind === 'publish';\n let label: string = '';\n if (isPublish) {\n label = config.publishLabel || PUBLISH_LABEL_DEFAULT_TEXT;\n } else {\n label = config.subscribeLabel || SUBSCRIBE_LABEL_DEFAULT_TEXT;\n }\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#operation-${kind}-${channelName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span\n className={`${\n isPublish ? 'bg-blue-600' : 'bg-green-600'\n } font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs`}\n title={isPublish ? 'Publish' : 'Subscribe'}\n >\n {label}\n </span>\n <span className=\"break-all inline-block\">{summary || channelName}</span>\n </a>\n </li>\n );\n};\n\ninterface ServerItemProps {\n serverName: string;\n}\n\nconst ServerItem: React.FunctionComponent<ServerItemProps> = ({\n serverName,\n}) => {\n const { setShowSidebar } = useContext(SidebarContext);\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#server-${serverName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span className=\"break-all inline-block\">{serverName}</span>\n </a>\n </li>\n );\n};\n\ninterface ItemsByTagItemProps {\n tagName: string;\n}\n\nconst ItemsByTagItem: React.FunctionComponent<ItemsByTagItemProps> = ({\n tagName,\n children,\n}) => {\n const [expand, setExpand] = useState(false);\n\n return (\n <div>\n <CollapseButton\n onClick={() => setExpand(prev => !prev)}\n chevronProps={{\n className: expand ? '-rotate-180' : '-rotate-90',\n }}\n >\n <span className=\"text-sm inline-block mt-1 font-extralight\">\n {tagName}\n </span>\n </CollapseButton>\n <ul className={`${expand ? 'block' : 'hidden'} text-sm mt-2 font-light`}>\n {children}\n </ul>\n </div>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../src/containers/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAepD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,iBA6J3B,CAAC"}
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../src/containers/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAepD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,iBAyJ3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asyncapi/react-component",
3
- "version": "1.0.0-next.53",
3
+ "version": "1.0.0-next.54",
4
4
  "private": false,
5
5
  "description": "A React component for AsyncAPI specification.",
6
6
  "repository": {