@asyncapi/react-component 2.3.0 → 2.3.2
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.
- package/browser/index.js +1 -1
- package/browser/standalone/index.js +1 -1
- package/browser/standalone/without-parser.js +1 -1
- package/browser/without-parser.js +1 -1
- package/lib/cjs/components/Bindings.js +1 -1
- package/lib/cjs/components/Bindings.js.map +1 -1
- package/lib/cjs/components/Schema.js +6 -6
- package/lib/cjs/components/Schema.js.map +1 -1
- package/lib/cjs/containers/Info/Info.js +2 -2
- package/lib/cjs/containers/Info/Info.js.map +1 -1
- package/lib/cjs/containers/Messages/Message.js +1 -1
- package/lib/cjs/containers/Messages/Message.js.map +1 -1
- package/lib/cjs/containers/Operations/Operation.js +1 -1
- package/lib/cjs/containers/Operations/Operation.js.map +1 -1
- package/lib/cjs/containers/Servers/Security.js +10 -10
- package/lib/cjs/containers/Servers/Security.js.map +1 -1
- package/lib/cjs/containers/Servers/Server.js +2 -2
- package/lib/cjs/containers/Servers/Server.js.map +1 -1
- package/lib/cjs/containers/Sidebar/Sidebar.js +1 -1
- package/lib/cjs/containers/Sidebar/Sidebar.js.map +1 -1
- package/lib/esm/components/Bindings.js +1 -1
- package/lib/esm/components/Bindings.js.map +1 -1
- package/lib/esm/components/Schema.js +6 -6
- package/lib/esm/components/Schema.js.map +1 -1
- package/lib/esm/containers/Info/Info.js +2 -2
- package/lib/esm/containers/Info/Info.js.map +1 -1
- package/lib/esm/containers/Messages/Message.js +1 -1
- package/lib/esm/containers/Messages/Message.js.map +1 -1
- package/lib/esm/containers/Operations/Operation.js +1 -1
- package/lib/esm/containers/Operations/Operation.js.map +1 -1
- package/lib/esm/containers/Servers/Security.js +10 -10
- package/lib/esm/containers/Servers/Security.js.map +1 -1
- package/lib/esm/containers/Servers/Server.js +2 -2
- package/lib/esm/containers/Servers/Server.js.map +1 -1
- package/lib/esm/containers/Sidebar/Sidebar.js +1 -1
- package/lib/esm/containers/Sidebar/Sidebar.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +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 { 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 let renderedSecurities;\n if (!security?.length) {\n if (protocol === 'kafka' || protocol === 'kafka-secure') {\n renderedSecurities = (\n <SecurityItem protocol={protocol} securitySchema={null} />\n );\n }\n } else {\n const securities: React.ReactNode[] = Object.values(security)\n .map((requirements) => requirements.all())\n .flat()\n .map((requirement) => {\n const def = requirement.scheme();\n const requiredScopes = requirement.scopes();\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.ReactNode[] {\n const schemas: React.ReactNode[] = [];\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 href={securitySchema.openIdConnectUrl()!} className=\"underline\">\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.ReactNode[] = 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()!;\n }\n if (flows?.hasAuthorizationCode()) {\n unwrappedFlows.authorizationCode = flows.authorizationCode()!;\n }\n if (flows?.hasClientCredentials()) {\n unwrappedFlows.clientCredentials = flows.clientCredentials()!;\n }\n if (flows?.hasPassword()) {\n unwrappedFlows.password = flows.password()!;\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?.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"]}
|
|
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 { 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 let renderedSecurities;\n if (!security?.length) {\n if (protocol === 'kafka' || protocol === 'kafka-secure') {\n renderedSecurities = (\n <SecurityItem protocol={protocol} securitySchema={null} />\n );\n }\n } else {\n const securities: React.ReactNode[] = Object.values(security)\n .map((requirements) => requirements.all())\n .flat()\n .map((requirement) => {\n const def = requirement.scheme();\n const requiredScopes = requirement.scopes();\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.ReactNode[] {\n const schemas: React.ReactNode[] = [];\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 href={securitySchema.openIdConnectUrl()!} className=\"underline\">\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.ReactNode[] = 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 <strong className=\"text-xs text-gray-600 mt-1 mr-1 uppercase\">\n security.protocol:\n </strong>\n <strong className=\"inline-block no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1\">\n {securityProtocol}\n </strong>\n </div>\n )}\n {saslMechanism && (\n <div className=\"mt-1\">\n <strong className=\"text-xs text-gray-600 mt-1 mr-1 uppercase\">\n sasl.mechanism:\n </strong>\n <strong className=\"inline-block no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1\">\n {saslMechanism}\n </strong>\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()!;\n }\n if (flows?.hasAuthorizationCode()) {\n unwrappedFlows.authorizationCode = flows.authorizationCode()!;\n }\n if (flows?.hasClientCredentials()) {\n unwrappedFlows.clientCredentials = flows.clientCredentials()!;\n }\n if (flows?.hasPassword()) {\n unwrappedFlows.password = flows.password()!;\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 <strong className=\"text-xs text-gray-600 mt-1 mr-1 uppercase\">\n Flow:\n </strong>\n <strong className=\"text-xs text-gray-600 mt-1 mr-1 uppercase\">\n {ServerHelpers.flowName(flowName)}\n </strong>\n </div>\n\n {authorizationUrl && (\n <div className=\"mt-1\">\n <strong className=\"text-xs text-gray-600 mt-1 mr-1 uppercase\">\n Auth URL:\n </strong>\n <Href href={authorizationUrl} className=\"underline\">\n {authorizationUrl}\n </Href>\n </div>\n )}\n {tokenUrl && (\n <div className=\"mt-1\">\n <strong className=\"text-xs text-gray-600 mt-1 mr-1 uppercase\">\n Token URL:\n </strong>\n <Href href={tokenUrl} className=\"underline\">\n {tokenUrl}\n </Href>\n </div>\n )}\n {refreshUrl && (\n <div className=\"mt-1\">\n <strong className=\"text-xs text-gray-600 mt-1 mr-1 uppercase\">\n Refresh URL:\n </strong>\n <Href href={refreshUrl} className=\"underline\">\n {refreshUrl}\n </Href>\n </div>\n )}\n {scopes && (\n <div className=\"mt-1\">\n <strong className=\"text-xs text-gray-600 mt-1 mr-1 uppercase\">\n Scopes:\n </strong>\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?.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"]}
|
|
@@ -23,10 +23,10 @@ var Server = function (_a) {
|
|
|
23
23
|
react_1.default.createElement("div", { className: "shadow rounded bg-gray-200 p-4 border bg-gray-100" },
|
|
24
24
|
react_1.default.createElement("div", null,
|
|
25
25
|
react_1.default.createElement("span", { className: "font-mono text-base" }, server.url()),
|
|
26
|
-
react_1.default.createElement("
|
|
26
|
+
react_1.default.createElement("strong", { className: "bg-teal-500 no-underline text-white uppercase rounded mx-2 px-2 py-1 text-sm" }, protocolVersion
|
|
27
27
|
? "".concat(server.protocol(), " ").concat(protocolVersion)
|
|
28
28
|
: server.protocol()),
|
|
29
|
-
react_1.default.createElement("
|
|
29
|
+
react_1.default.createElement("strong", { className: "bg-blue-500 no-underline text-white uppercase rounded px-2 py-1 text-sm" }, serverName)),
|
|
30
30
|
server.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
|
|
31
31
|
react_1.default.createElement(components_1.Markdown, null, server.description()))),
|
|
32
32
|
urlVariables && (react_1.default.createElement("div", { className: "mt-2", id: "".concat(helpers_1.CommonHelpers.getIdentifier("server-".concat(serverName, "-url-variables"), config)) },
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,0CAAQ,SAAS,EAAC,8EAA8E,IAC7F,eAAe;wBACd,CAAC,CAAC,UAAG,MAAM,CAAC,QAAQ,EAAE,cAAI,eAAe,CAAE;wBAC3C,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CACd;oBACT,0CAAQ,SAAS,EAAC,yEAAyE,IACxF,UAAU,CACJ,CACL;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,SACR,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 <strong className=\"bg-teal-500 no-underline text-white uppercase rounded mx-2 px-2 py-1 text-sm\">\n {protocolVersion\n ? `${server.protocol()} ${protocolVersion}`\n : server.protocol()}\n </strong>\n <strong className=\"bg-blue-500 no-underline text-white uppercase rounded px-2 py-1 text-sm\">\n {serverName}\n </strong>\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\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"]}
|
|
@@ -235,7 +235,7 @@ var OperationItem = function (_a) {
|
|
|
235
235
|
var bgColors = ['bg-red-600', 'bg-orange-600', 'bg-green-600'];
|
|
236
236
|
return (react_1.default.createElement("li", { key: "menu-operation-list-".concat(operationHrefId) },
|
|
237
237
|
react_1.default.createElement("a", { className: "flex no-underline text-gray-700 mb-2 hover:text-gray-900", href: "#".concat(operationHrefId), onClick: function () { return setShowSidebar(false); } },
|
|
238
|
-
react_1.default.createElement("
|
|
238
|
+
react_1.default.createElement("strong", { className: "h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs ".concat(bgColors.includes(backgroundColor) && backgroundColor), title: typeLabel }, typeLabel),
|
|
239
239
|
react_1.default.createElement("span", { className: "break-all inline-block" }, label))));
|
|
240
240
|
};
|
|
241
241
|
var ServerItem = function (_a) {
|
|
@@ -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';\nimport { CollapseButton } from '../../components';\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers } from '../../helpers';\nimport { PayloadType } from '../../types';\nimport { TagObject, filterObjectsByTags } from '../../helpers/sidebar';\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 const config = useConfig();\n\n const info = asyncapi.info();\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const logo = info.extensions().get('x-logo')?.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 showMessages = config.show?.messages;\n const showSchemas = config.show?.schemas;\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, index) => (\n <li key={`menu-message-list-${message.name() ?? index}`}>\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, index) => (\n <li key={`menu-message-list-${schema.id() ?? index}`}>\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 const operationList = 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 {showMessages && messagesList}\n {showSchemas && schemasList}\n </>\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 >\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 // eslint-disable-next-line @next/next/no-img-element\n <img\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\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 {operationList}\n </ul>\n </div>\n </div>\n </div>\n </SidebarContext.Provider>\n );\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().all() ?? []).map((tag) =>\n tag.name(),\n );\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 tags: server.tags(),\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\ninterface OperationItemProps {\n label: string;\n type: PayloadType;\n operationHrefId: string;\n}\nconst OperationsList: React.FunctionComponent = () => {\n const config = useConfig();\n const sidebarConfig = config.sidebar;\n const asyncapi = useSpec();\n const operations = asyncapi.operations().all();\n const showOperations = sidebarConfig?.showOperations ?? 'byDefault';\n\n const processedOperations: TagObject<OperationItemProps>[] = operations.map(\n (operation) => {\n const operationChannel = operation.channels();\n const operationHrefId = CommonHelpers.getOperationIdentifier({\n operation,\n config,\n });\n const type = CommonHelpers.getOperationType(operation);\n\n const specV = asyncapi.version();\n const version = specV.localeCompare('2.6.0', undefined, {\n numeric: true,\n });\n let label = '';\n if (version === 0 || sidebarConfig?.useChannelAddressAsIdentifier) {\n // old version uses different labels for the operations\n const operationChannels = operationChannel.all();\n const channelAddress = operationChannels[0]?.address() ?? '';\n const operationSummary = operation.summary();\n label = operationSummary ?? channelAddress;\n } else {\n label = operation.id() ?? '';\n }\n return {\n name: `${type}-${operation.id()}`,\n tags: operation.tags(),\n data: {\n label,\n type,\n operationHrefId,\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().all() ?? []).map((tag) =>\n tag.name(),\n );\n } else {\n const operationTagNamesSet = new Set<string>();\n operations.forEach((operation) => {\n operation\n .tags()\n .all()\n .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\nconst OperationItem: React.FunctionComponent<OperationItemProps> = ({\n type,\n operationHrefId,\n label,\n}) => {\n const config = useConfig();\n const { setShowSidebar } = useContext(SidebarContext);\n const specV = useSpec().version();\n const version = specV.localeCompare('2.6.0', undefined, { numeric: true });\n const isAsyncAPIv2 = version === 0;\n const { typeLabel, backgroundColor } =\n CommonHelpers.getOperationDesignInformation({\n type,\n config,\n isAsyncAPIv2,\n });\n const bgColors = ['bg-red-600', 'bg-orange-600', 'bg-green-600'];\n return (\n <li key={`menu-operation-list-${operationHrefId}`}>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#${operationHrefId}`}\n onClick={() => setShowSidebar(false)}\n >\n <span\n className={`font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs ${bgColors.includes(backgroundColor) && backgroundColor}`}\n title={typeLabel}\n >\n {typeLabel}\n </span>\n <span className=\"break-all inline-block\">{label}</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 children: React.ReactNode;\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAoD;AACpD,+CAAkD;AAClD,2CAAoD;AACpD,yCAA8C;AAE9C,iDAAuE;AAEvE,IAAM,cAAc,GAAG,eAAK,CAAC,aAAa,CAEvC;IACD,cAAc,EAAE,UAAC,KAAkD,IAAK,OAAA,KAAK,EAAL,CAAK;CAC9E,CAAC,CAAC;AAEI,IAAM,OAAO,GAA4B;;IACxC,IAAA,KAAgC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAA9C,WAAW,QAAA,EAAE,cAAc,QAAmB,CAAC;IACtD,IAAM,QAAQ,GAAG,IAAA,kBAAO,GAAE,CAAC;IAC3B,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAE3B,IAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAM,IAAI,GAAG,MAAA,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,KAAK,EAAE,CAAC;IACtD,IAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IACzC,IAAM,QAAQ,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,GAAG,GAAG,EAAE,CAAC;IAC9C,IAAM,OAAO,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,GAAG,GAAG,EAAE,CAAC;IAC5C,IAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAEvD,IAAM,YAAY,GAAG,MAAA,MAAM,CAAC,IAAI,0CAAE,QAAQ,CAAC;IAC3C,IAAM,WAAW,GAAG,MAAA,MAAM,CAAC,IAAI,0CAAE,OAAO,CAAC;IAEzC,IAAM,YAAY,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,IAAG,CAAC,IAAI,CAC3C,sCAAI,SAAS,EAAC,WAAW;QACvB,qCACE,SAAS,EAAC,0EAA0E,EACpF,IAAI,EAAC,WAAW,EAChB,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,KAAK,CAAC,EAArB,CAAqB,eAGlC;QACJ,sCAAI,SAAS,EAAC,cAAc,IACzB,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,KAAK;;YAAK,OAAA,CAChC,sCAAI,GAAG,EAAE,4BAAqB,MAAA,OAAO,CAAC,IAAI,EAAE,mCAAI,KAAK,CAAE;gBACrD,qCACE,SAAS,EAAC,sEAAsE,EAChF,IAAI,EAAE,mBAAY,OAAO,CAAC,IAAI,EAAE,CAAE,EAClC,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,KAAK,CAAC,EAArB,CAAqB;oBAEpC,uCAAK,SAAS,EAAC,wBAAwB,IAAE,OAAO,CAAC,EAAE,EAAE,CAAO,CAC1D,CACD,CACN,CAAA;SAAA,CAAC,CACC,CACF,CACN,CAAC;IAEF,IAAM,WAAW,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,IAAG,CAAC,IAAI,CACzC,sCAAI,SAAS,EAAC,WAAW;QACvB,qCACE,SAAS,EAAC,0EAA0E,EACpF,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,KAAK,CAAC,EAArB,CAAqB,cAGlC;QACJ,sCAAI,SAAS,EAAC,cAAc,IACzB,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK;;YAAK,OAAA,CAC9B,sCAAI,GAAG,EAAE,4BAAqB,MAAA,MAAM,CAAC,EAAE,EAAE,mCAAI,KAAK,CAAE;gBAClD,qCACE,SAAS,EAAC,sEAAsE,EAChF,IAAI,EAAE,kBAAW,MAAM,CAAC,EAAE,EAAE,CAAE,EAC9B,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,KAAK,CAAC,EAArB,CAAqB;oBAEpC,uCAAK,SAAS,EAAC,wBAAwB,IAAE,MAAM,CAAC,EAAE,EAAE,CAAO,CACzD,CACD,CACN,CAAA;SAAA,CAAC,CACC,CACF,CACN,CAAC;IAEF,IAAM,aAAa,GAAG,aAAa,IAAI,CACrC;QACE,sCAAI,SAAS,EAAC,WAAW;YACvB,qCACE,SAAS,EAAC,0EAA0E,EACpF,IAAI,EAAC,aAAa,EAClB,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,KAAK,CAAC,EAArB,CAAqB,iBAGlC;YACJ,8BAAC,cAAc,OAAG,CACf;QACJ,YAAY,IAAI,YAAY;QAC5B,WAAW,IAAI,WAAW,CAC1B,CACJ,CAAC;IAEF,OAAO,CACL,8BAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,cAAc,gBAAA,EAAE;QAChD,uCACE,SAAS,EAAC,gJAAgJ,EAC1J,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,IAAI,EAAL,CAAK,CAAC,EAA/B,CAA+B,cACpC,WAAW;YAErB,uCACE,OAAO,EAAC,YAAY,EACpB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,SAAS,EAAC,4BAA4B;gBAEtC,wCAAM,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,GAAG;gBAChC,wCAAM,CAAC,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,GAAG;gBACvC,wCAAM,CAAC,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,GAAG,CACnC,CACF;QACN,uCACE,SAAS,EAAE,UACT,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,uEACqB;YAEpE,uCACE,SAAS,EAAE,UACT,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,2FAC2D;gBAExF,uCAAK,SAAS,EAAC,kBAAkB;oBAC/B,2CACG,IAAI,CAAC,CAAC,CAAC,CAEN,uCAEE,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,UAAG,IAAI,CAAC,KAAK,EAAE,oBAAU,IAAI,CAAC,OAAO,EAAE,aAAU,GACtD,CACH,CAAC,CAAC,CAAC,CACF,sCAAI,SAAS,EAAC,qBAAqB;wBAChC,IAAI,CAAC,KAAK,EAAE;;wBAAG,IAAI,CAAC,OAAO,EAAE,CAC3B,CACN,CACG;oBAEN,sCAAI,SAAS,EAAC,wBAAwB;wBACpC,sCAAI,SAAS,EAAC,MAAM;4BAClB,qCACE,SAAS,EAAC,gDAAgD,EAC1D,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,KAAK,CAAC,EAArB,CAAqB,mBAGlC,CACD;wBACJ,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAChC,sCAAI,SAAS,EAAC,WAAW;4BACvB,qCACE,SAAS,EAAC,0EAA0E,EACpF,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,KAAK,CAAC,EAArB,CAAqB,cAGlC;4BACJ,8BAAC,WAAW,OAAG,CACZ,CACN;wBACA,aAAa,CACX,CACD,CACF,CACF,CACkB,CAC3B,CAAC;AACJ,CAAC,CAAC;AA5JW,QAAA,OAAO,WA4JlB;AAEF,IAAM,WAAW,GAA4B;;IAC3C,IAAM,aAAa,GAAG,IAAA,oBAAS,GAAE,CAAC,OAAO,CAAC;IAC1C,IAAM,QAAQ,GAAG,IAAA,kBAAO,GAAE,CAAC;IAC3B,IAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC;IACzC,IAAM,WAAW,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,mCAAI,WAAW,CAAC;IAE9D,IAAI,WAAW,KAAK,WAAW,EAAE;QAC/B,OAAO,CACL,sCAAI,SAAS,EAAC,cAAc,IACzB,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,CACvB,8BAAC,UAAU,IAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,GAAI,CAC1D,EAFwB,CAExB,CAAC,CACC,CACN,CAAC;KACH;IAED,IAAI,YAAsB,CAAC;IAC3B,IAAI,WAAW,KAAK,YAAY,EAAE;QAChC,YAAY,GAAG,CAAC,MAAA,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG;YAC1D,OAAA,GAAG,CAAC,IAAI,EAAE;QAAV,CAAU,CACX,CAAC;KACH;SAAM;QACL,IAAM,mBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC5C,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;YACrB,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,mBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAA/B,CAA+B,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAiB,CAAC,CAAC;KAC9C;IAED,IAAM,iBAAiB,GAAgB,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,CAAC;QAC9D,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,EAAE;KACT,CAAC,EAJ6D,CAI7D,CAAC,CAAC;IACE,IAAA,KAAuB,IAAA,6BAAmB,EAC9C,YAAY,EACZ,iBAAiB,CAClB,EAHO,MAAM,YAAA,EAAE,QAAQ,cAGvB,CAAC;IACF,OAAO,CACL,sCAAI,SAAS,EAAC,cAAc;QACzB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,EAAoB;gBAAnB,GAAG,QAAA,EAAE,aAAa,QAAA;YAAM,OAAA,CAC1D,sCAAI,GAAG,EAAE,GAAG;gBACV,8BAAC,cAAc,IAAC,OAAO,EAAE,GAAG,IACzB,aAAa,CAAC,GAAG,CAAC,UAAC,EAAoB;wBAAZ,UAAU,UAAA;oBAAO,OAAA,CAC3C,8BAAC,UAAU,IAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAI,CACxD;gBAF4C,CAE5C,CAAC,CACa,CACd,CACN;QAR2D,CAQ3D,CAAC;QACD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACrB;YACE,8BAAC,cAAc,IAAC,OAAO,EAAC,UAAU,IAC/B,QAAQ,CAAC,GAAG,CAAC,UAAC,EAAoB;oBAAZ,UAAU,UAAA;gBAAO,OAAA,CACtC,8BAAC,UAAU,IAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAI,CACxD;YAFuC,CAEvC,CAAC,CACa,CACd,CACN,CAAC,CAAC,CAAC,IAAI,CACL,CACN,CAAC;AACJ,CAAC,CAAC;AAOF,IAAM,cAAc,GAA4B;;IAC9C,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAC3B,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;IACrC,IAAM,QAAQ,GAAG,IAAA,kBAAO,GAAE,CAAC;IAC3B,IAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;IAC/C,IAAM,cAAc,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,cAAc,mCAAI,WAAW,CAAC;IAEpE,IAAM,mBAAmB,GAAoC,UAAU,CAAC,GAAG,CACzE,UAAC,SAAS;;QACR,IAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9C,IAAM,eAAe,GAAG,uBAAa,CAAC,sBAAsB,CAAC;YAC3D,SAAS,WAAA;YACT,MAAM,QAAA;SACP,CAAC,CAAC;QACH,IAAM,IAAI,GAAG,uBAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjC,IAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE;YACtD,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,OAAO,KAAK,CAAC,KAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,6BAA6B,CAAA,EAAE;YAEjE,IAAM,iBAAiB,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACjD,IAAM,cAAc,GAAG,MAAA,MAAA,iBAAiB,CAAC,CAAC,CAAC,0CAAE,OAAO,EAAE,mCAAI,EAAE,CAAC;YAC7D,IAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YAC7C,KAAK,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,cAAc,CAAC;SAC5C;aAAM;YACL,KAAK,GAAG,MAAA,SAAS,CAAC,EAAE,EAAE,mCAAI,EAAE,CAAC;SAC9B;QACD,OAAO;YACL,IAAI,EAAE,UAAG,IAAI,cAAI,SAAS,CAAC,EAAE,EAAE,CAAE;YACjC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;YACtB,IAAI,EAAE;gBACJ,KAAK,OAAA;gBACL,IAAI,MAAA;gBACJ,eAAe,iBAAA;aAChB;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,IAAI,cAAc,KAAK,WAAW,EAAE;QAClC,OAAO,CACL,sCAAI,SAAS,EAAC,cAAc,IACzB,mBAAmB,CAAC,GAAG,CAAC,UAAC,EAAc;gBAAZ,IAAI,UAAA,EAAE,IAAI,UAAA;YAAO,OAAA,CAC3C,8BAAC,aAAa,aAAC,GAAG,EAAE,IAAI,IAAM,IAAI,EAAI,CACvC;QAF4C,CAE5C,CAAC,CACC,CACN,CAAC;KACH;IAED,IAAI,iBAA2B,CAAC;IAChC,IAAI,cAAc,KAAK,YAAY,EAAE;QACnC,iBAAiB,GAAG,CAAC,MAAA,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG;YAC/D,OAAA,GAAG,CAAC,IAAI,EAAE;QAAV,CAAU,CACX,CAAC;KACH;SAAM;QACL,IAAM,sBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/C,UAAU,CAAC,OAAO,CAAC,UAAC,SAAS;YAC3B,SAAS;iBACN,IAAI,EAAE;iBACN,GAAG,EAAE;iBACL,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,sBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAlC,CAAkC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,sBAAoB,CAAC,CAAC;KACtD;IAEK,IAAA,KAAuB,IAAA,6BAAmB,EAC9C,iBAAiB,EACjB,mBAAmB,CACpB,EAHO,MAAM,YAAA,EAAE,QAAQ,cAGvB,CAAC;IACF,OAAO,CACL,sCAAI,SAAS,EAAC,cAAc;QACzB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,EAAuB;gBAAtB,GAAG,QAAA,EAAE,gBAAgB,QAAA;YAAM,OAAA,CAC7D,sCAAI,GAAG,EAAE,GAAG;gBACV,8BAAC,cAAc,IAAC,OAAO,EAAE,GAAG,IACzB,gBAAgB,CAAC,GAAG,CAAC,UAAC,EAAc;wBAAZ,IAAI,UAAA,EAAE,IAAI,UAAA;oBAAO,OAAA,CACxC,8BAAC,aAAa,aAAC,GAAG,EAAE,IAAI,IAAM,IAAI,EAAI,CACvC;gBAFyC,CAEzC,CAAC,CACa,CACd,CACN;QAR8D,CAQ9D,CAAC;QACD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACrB;YACE,8BAAC,cAAc,IAAC,OAAO,EAAC,UAAU,IAC/B,QAAQ,CAAC,GAAG,CAAC,UAAC,EAAc;oBAAZ,IAAI,UAAA,EAAE,IAAI,UAAA;gBAAO,OAAA,CAChC,8BAAC,aAAa,aAAC,GAAG,EAAE,IAAI,IAAM,IAAI,EAAI,CACvC;YAFiC,CAEjC,CAAC,CACa,CACd,CACN,CAAC,CAAC,CAAC,IAAI,CACL,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,aAAa,GAAgD,UAAC,EAInE;QAHC,IAAI,UAAA,EACJ,eAAe,qBAAA,EACf,KAAK,WAAA;IAEL,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IACnB,IAAA,cAAc,GAAK,IAAA,kBAAU,EAAC,cAAc,CAAC,eAA/B,CAAgC;IACtD,IAAM,KAAK,GAAG,IAAA,kBAAO,GAAE,CAAC,OAAO,EAAE,CAAC;IAClC,IAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAM,YAAY,GAAG,OAAO,KAAK,CAAC,CAAC;IAC7B,IAAA,KACJ,uBAAa,CAAC,6BAA6B,CAAC;QAC1C,IAAI,MAAA;QACJ,MAAM,QAAA;QACN,YAAY,cAAA;KACb,CAAC,EALI,SAAS,eAAA,EAAE,eAAe,qBAK9B,CAAC;IACL,IAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IACjE,OAAO,CACL,sCAAI,GAAG,EAAE,8BAAuB,eAAe,CAAE;QAC/C,qCACE,SAAS,EAAC,0DAA0D,EACpE,IAAI,EAAE,WAAI,eAAe,CAAE,EAC3B,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,KAAK,CAAC,EAArB,CAAqB;YAEpC,0CACE,SAAS,EAAE,yEAAkE,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,CAAE,EACpI,KAAK,EAAE,SAAS,IAEf,SAAS,CACH;YACT,wCAAM,SAAS,EAAC,wBAAwB,IAAE,KAAK,CAAQ,CACrD,CACD,CACN,CAAC;AACJ,CAAC,CAAC;AAMF,IAAM,UAAU,GAA6C,UAAC,EAE7D;QADC,UAAU,gBAAA;IAEF,IAAA,cAAc,GAAK,IAAA,kBAAU,EAAC,cAAc,CAAC,eAA/B,CAAgC;IAEtD,OAAO,CACL;QACE,qCACE,SAAS,EAAC,0DAA0D,EACpE,IAAI,EAAE,kBAAW,UAAU,CAAE,EAC7B,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,KAAK,CAAC,EAArB,CAAqB;YAEpC,wCAAM,SAAS,EAAC,wBAAwB,IAAE,UAAU,CAAQ,CAC1D,CACD,CACN,CAAC;AACJ,CAAC,CAAC;AAOF,IAAM,cAAc,GAAiD,UAAC,EAGrE;QAFC,OAAO,aAAA,EACP,QAAQ,cAAA;IAEF,IAAA,KAAsB,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAApC,MAAM,QAAA,EAAE,SAAS,QAAmB,CAAC;IAE5C,OAAO,CACL;QACE,8BAAC,2BAAc,IACb,OAAO,EAAE,cAAM,OAAA,SAAS,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,IAAI,EAAL,CAAK,CAAC,EAA1B,CAA0B,EACzC,YAAY,EAAE;gBACZ,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY;aACjD;YAED,wCAAM,SAAS,EAAC,2CAA2C,IACxD,OAAO,CACH,CACQ;QACjB,sCAAI,SAAS,EAAE,UAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,6BAA0B,IACpE,QAAQ,CACN,CACD,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React, { useState, useContext } from 'react';\nimport { CollapseButton } from '../../components';\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers } from '../../helpers';\nimport { PayloadType } from '../../types';\nimport { TagObject, filterObjectsByTags } from '../../helpers/sidebar';\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 const config = useConfig();\n\n const info = asyncapi.info();\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const logo = info.extensions().get('x-logo')?.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 showMessages = config.show?.messages;\n const showSchemas = config.show?.schemas;\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, index) => (\n <li key={`menu-message-list-${message.name() ?? index}`}>\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, index) => (\n <li key={`menu-message-list-${schema.id() ?? index}`}>\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 const operationList = 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 {showMessages && messagesList}\n {showSchemas && schemasList}\n </>\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 >\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 // eslint-disable-next-line @next/next/no-img-element\n <img\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\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 {operationList}\n </ul>\n </div>\n </div>\n </div>\n </SidebarContext.Provider>\n );\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().all() ?? []).map((tag) =>\n tag.name(),\n );\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 tags: server.tags(),\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\ninterface OperationItemProps {\n label: string;\n type: PayloadType;\n operationHrefId: string;\n}\nconst OperationsList: React.FunctionComponent = () => {\n const config = useConfig();\n const sidebarConfig = config.sidebar;\n const asyncapi = useSpec();\n const operations = asyncapi.operations().all();\n const showOperations = sidebarConfig?.showOperations ?? 'byDefault';\n\n const processedOperations: TagObject<OperationItemProps>[] = operations.map(\n (operation) => {\n const operationChannel = operation.channels();\n const operationHrefId = CommonHelpers.getOperationIdentifier({\n operation,\n config,\n });\n const type = CommonHelpers.getOperationType(operation);\n\n const specV = asyncapi.version();\n const version = specV.localeCompare('2.6.0', undefined, {\n numeric: true,\n });\n let label = '';\n if (version === 0 || sidebarConfig?.useChannelAddressAsIdentifier) {\n // old version uses different labels for the operations\n const operationChannels = operationChannel.all();\n const channelAddress = operationChannels[0]?.address() ?? '';\n const operationSummary = operation.summary();\n label = operationSummary ?? channelAddress;\n } else {\n label = operation.id() ?? '';\n }\n return {\n name: `${type}-${operation.id()}`,\n tags: operation.tags(),\n data: {\n label,\n type,\n operationHrefId,\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().all() ?? []).map((tag) =>\n tag.name(),\n );\n } else {\n const operationTagNamesSet = new Set<string>();\n operations.forEach((operation) => {\n operation\n .tags()\n .all()\n .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\nconst OperationItem: React.FunctionComponent<OperationItemProps> = ({\n type,\n operationHrefId,\n label,\n}) => {\n const config = useConfig();\n const { setShowSidebar } = useContext(SidebarContext);\n const specV = useSpec().version();\n const version = specV.localeCompare('2.6.0', undefined, { numeric: true });\n const isAsyncAPIv2 = version === 0;\n const { typeLabel, backgroundColor } =\n CommonHelpers.getOperationDesignInformation({\n type,\n config,\n isAsyncAPIv2,\n });\n const bgColors = ['bg-red-600', 'bg-orange-600', 'bg-green-600'];\n return (\n <li key={`menu-operation-list-${operationHrefId}`}>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#${operationHrefId}`}\n onClick={() => setShowSidebar(false)}\n >\n <strong\n className={`h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs ${bgColors.includes(backgroundColor) && backgroundColor}`}\n title={typeLabel}\n >\n {typeLabel}\n </strong>\n <span className=\"break-all inline-block\">{label}</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 children: React.ReactNode;\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"]}
|
|
@@ -12,7 +12,7 @@ export var Bindings = function (_a) {
|
|
|
12
12
|
var protocol = binding.protocol();
|
|
13
13
|
var schemaName = (React.createElement("div", { className: "inline-block text-sm" },
|
|
14
14
|
React.createElement("span", null, name),
|
|
15
|
-
React.createElement("
|
|
15
|
+
React.createElement("strong", { className: "bg-teal-500 no-underline text-white uppercase rounded mx-2 px-2 py-1 text-xs" }, protocol)));
|
|
16
16
|
return (schema !== undefined && (React.createElement(Schema, { schemaName: schemaName, schema: schema, key: protocol, onlyTitle: true })));
|
|
17
17
|
});
|
|
18
18
|
return React.createElement(React.Fragment, null, renderedBindings);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bindings.js","sourceRoot":"","sources":["../../../src/components/Bindings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAQ3C,MAAM,CAAC,IAAM,QAAQ,GAAmC,UAAC,EAGxD;QAFC,YAAqC,EAArC,IAAI,mBAAG,8BAA8B,KAAA,EACrC,QAAQ,cAAA;IAER,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;QACnC,OAAO,IAAI,CAAC;KACb;IAED,IAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAC,OAAO;QAClD,IAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAErC,IAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxD,IAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAM,UAAU,GAAG,CACjB,6BAAK,SAAS,EAAC,sBAAsB;YACnC,kCAAO,IAAI,CAAQ;YACnB,
|
|
1
|
+
{"version":3,"file":"Bindings.js","sourceRoot":"","sources":["../../../src/components/Bindings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAQ3C,MAAM,CAAC,IAAM,QAAQ,GAAmC,UAAC,EAGxD;QAFC,YAAqC,EAArC,IAAI,mBAAG,8BAA8B,KAAA,EACrC,QAAQ,cAAA;IAER,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;QACnC,OAAO,IAAI,CAAC;KACb;IAED,IAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAC,OAAO;QAClD,IAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAErC,IAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxD,IAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAM,UAAU,GAAG,CACjB,6BAAK,SAAS,EAAC,sBAAsB;YACnC,kCAAO,IAAI,CAAQ;YACnB,gCAAQ,SAAS,EAAC,8EAA8E,IAC7F,QAAQ,CACF,CACL,CACP,CAAC;QACF,OAAO,CACL,MAAM,KAAK,SAAS,IAAI,CACtB,oBAAC,MAAM,IACL,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,QAAQ,EACb,SAAS,SACT,CACH,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,0CAAG,gBAAgB,CAAI,CAAC;AACjC,CAAC,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport React from 'react';\nimport { Schema } from './Schema';\nimport { SchemaHelpers } from '../helpers';\nimport { BindingsInterface } from '@asyncapi/parser';\n\ninterface Props {\n name?: string;\n bindings: BindingsInterface;\n}\n\nexport const Bindings: React.FunctionComponent<Props> = ({\n name = 'Binding specific information',\n bindings,\n}) => {\n if (!bindings || bindings.isEmpty()) {\n return null;\n }\n\n const renderedBindings = bindings.all().map((binding) => {\n const bindingValue = binding.value();\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const schema = SchemaHelpers.jsonToSchema(bindingValue);\n const protocol = binding.protocol();\n const schemaName = (\n <div className=\"inline-block text-sm\">\n <span>{name}</span>\n <strong className=\"bg-teal-500 no-underline text-white uppercase rounded mx-2 px-2 py-1 text-xs\">\n {protocol}\n </strong>\n </div>\n );\n return (\n schema !== undefined && (\n <Schema\n schemaName={schemaName}\n schema={schema}\n key={protocol}\n onlyTitle\n />\n )\n );\n });\n\n return <>{renderedBindings}</>;\n};\n"]}
|
|
@@ -62,20 +62,20 @@ export var Schema = function (_a) {
|
|
|
62
62
|
React.createElement("div", null,
|
|
63
63
|
React.createElement("div", { className: "capitalize text-sm text-teal-500 font-bold inline-block mr-2" }, isCircular ? "".concat(schemaType, " [CIRCULAR]") : schemaType),
|
|
64
64
|
React.createElement("div", { className: "inline-block" },
|
|
65
|
-
schema.format() && (React.createElement("
|
|
65
|
+
schema.format() && (React.createElement("strong", { className: "bg-yellow-600 no-underline text-white rounded lowercase mr-2 p-1 text-xs" },
|
|
66
66
|
"format: ",
|
|
67
67
|
schema.format())),
|
|
68
|
-
schema.pattern() !== undefined && (React.createElement("
|
|
68
|
+
schema.pattern() !== undefined && (React.createElement("strong", { className: "bg-yellow-600 no-underline text-white rounded mr-2 p-1 text-xs" },
|
|
69
69
|
"must match: ",
|
|
70
70
|
schema.pattern())),
|
|
71
|
-
schema.contentMediaType() !== undefined && (React.createElement("
|
|
71
|
+
schema.contentMediaType() !== undefined && (React.createElement("strong", { className: "bg-yellow-600 no-underline text-white rounded lowercase mr-2 p-1 text-xs" },
|
|
72
72
|
"media type: ",
|
|
73
73
|
schema.contentMediaType())),
|
|
74
|
-
schema.contentEncoding() !== undefined && (React.createElement("
|
|
74
|
+
schema.contentEncoding() !== undefined && (React.createElement("strong", { className: "bg-yellow-600 no-underline text-white rounded lowercase mr-2 p-1 text-xs" },
|
|
75
75
|
"encoding: ",
|
|
76
76
|
schema.contentEncoding())),
|
|
77
77
|
!!constraints.length &&
|
|
78
|
-
constraints.map(function (c) { return (React.createElement("
|
|
78
|
+
constraints.map(function (c) { return (React.createElement("strong", { className: "bg-purple-600 no-underline text-white rounded lowercase mr-2 p-1 text-xs", key: c }, c)); }),
|
|
79
79
|
uid && !uid.startsWith('<anonymous-') && (React.createElement("span", { className: "border text-orange-600 rounded mr-2 p-1 text-xs" },
|
|
80
80
|
"uid: ",
|
|
81
81
|
uid))),
|
|
@@ -96,7 +96,7 @@ export var Schema = function (_a) {
|
|
|
96
96
|
"Parameter location:",
|
|
97
97
|
' ',
|
|
98
98
|
React.createElement("span", { className: "border text-orange-600 rounded mr-2 p-1 text-xs" }, parameterLocation))),
|
|
99
|
-
externalDocs && (React.createElement("
|
|
99
|
+
externalDocs && (React.createElement("strong", { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 no-underline text-xs uppercase rounded px-2 py-0" },
|
|
100
100
|
React.createElement(Href, { href: externalDocs.url(), title: (_c = externalDocs.description()) !== null && _c !== void 0 ? _c : '' }, "Documentation"))),
|
|
101
101
|
schema.examples() && (React.createElement("ul", { className: "text-xs" },
|
|
102
102
|
"Examples values:",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/components/Schema.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useContext } from 'react';\nimport { SchemaInterface } from '@asyncapi/parser';\n\nimport { Href, CollapseButton, Markdown, Extensions } from './index';\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n schemaName?: React.ReactNode;\n schema?: SchemaInterface;\n required?: boolean;\n isPatternProperty?: boolean;\n isProperty?: boolean;\n isCircular?: boolean;\n dependentRequired?: string[];\n expanded?: boolean;\n onlyTitle?: boolean;\n isArray?: boolean;\n}\n\nconst SchemaContext = React.createContext({\n reverse: false,\n deepExpanded: false,\n});\n\nexport const Schema: React.FunctionComponent<Props> = ({\n schemaName,\n schema,\n required = false,\n isPatternProperty = false,\n isProperty = false,\n isCircular = false,\n dependentRequired,\n expanded: propExpanded = false,\n onlyTitle = false,\n isArray = false,\n // eslint-disable-next-line sonarjs/cognitive-complexity\n}) => {\n const { reverse, deepExpanded } = useContext(SchemaContext);\n const [expanded, setExpanded] = useState(propExpanded || isArray);\n const [deepExpand, setDeepExpand] = useState(false);\n\n useEffect(() => {\n if (!isArray) {\n setDeepExpand(deepExpanded);\n }\n }, [isArray, deepExpanded, setDeepExpand]);\n\n useEffect(() => {\n if (!isArray) {\n setExpanded(deepExpand);\n }\n }, [isArray, deepExpand, setExpanded]);\n\n if (\n !schema ||\n (typeof schemaName === 'string' &&\n (schemaName?.startsWith('x-parser-') ||\n schemaName?.startsWith('x-schema-private-')))\n ) {\n return null;\n }\n\n const dependentSchemas = SchemaHelpers.getDependentSchemas(schema);\n\n const constraints = SchemaHelpers.humanizeConstraints(schema);\n const externalDocs = schema.externalDocs();\n\n const rawValueExt = schema.extensions().get(SchemaHelpers.extRawValue);\n const rawValue = rawValueExt?.value() === true;\n\n const parameterLocationExt = schema\n .extensions()\n .get(SchemaHelpers.extParameterLocation);\n const parameterLocation = parameterLocationExt?.value() === true;\n\n const schemaType = SchemaHelpers.toSchemaType(schema);\n const isExpandable = SchemaHelpers.isExpandable(schema) || dependentSchemas;\n\n isCircular = isCircular || schema.isCircular() || false;\n const uid = schema.$id();\n const styledSchemaName = isProperty ? 'italic' : '';\n const renderedSchemaName =\n typeof schemaName === 'string' ? (\n <span className={`break-anywhere text-sm ${styledSchemaName}`}>\n {schemaName}\n </span>\n ) : (\n schemaName\n );\n\n return (\n <SchemaContext.Provider\n value={{ reverse: !reverse, deepExpanded: deepExpand }}\n >\n <div>\n <div className=\"flex py-2\">\n <div className={`${onlyTitle ? '' : 'min-w-1/4'} mr-2`}>\n {isExpandable && !isCircular && !isArray ? (\n <>\n <CollapseButton\n onClick={() => setExpanded((prev) => !prev)}\n expanded={expanded}\n >\n {renderedSchemaName}\n </CollapseButton>\n <button\n type=\"button\"\n onClick={() => setDeepExpand((prev) => !prev)}\n className=\"ml-1 text-sm text-gray-500\"\n >\n {deepExpand ? 'Collapse all' : 'Expand all'}\n </button>\n </>\n ) : (\n <span\n className={`break-anywhere text-sm ${\n isProperty ? 'italic' : ''\n }`}\n >\n {schemaName}\n </span>\n )}\n {isPatternProperty && (\n <div className=\"text-gray-500 text-xs italic\">\n (pattern property)\n </div>\n )}\n {required && <div className=\"text-red-600 text-xs\">required</div>}\n {dependentRequired && (\n <>\n <div className=\"text-gray-500 text-xs\">\n required when defined:\n </div>\n <div className=\"text-red-600 text-xs\">\n {dependentRequired.join(', ')}\n </div>\n </>\n )}\n {schema.deprecated() && (\n <div className=\"text-red-600 text-xs\">deprecated</div>\n )}\n {schema.writeOnly() && (\n <div className=\"text-gray-500 text-xs\">write-only</div>\n )}\n {schema.readOnly() && (\n <div className=\"text-gray-500 text-xs\">read-only</div>\n )}\n </div>\n {rawValue ? (\n <div>\n <div className=\"text-sm\">\n {SchemaHelpers.prettifyValue(schema.const(), false)}\n </div>\n </div>\n ) : (\n <div>\n <div>\n <div className=\"capitalize text-sm text-teal-500 font-bold inline-block mr-2\">\n {isCircular ? `${schemaType} [CIRCULAR]` : schemaType}\n </div>\n <div className=\"inline-block\">\n {schema.format() && (\n <span className=\"bg-yellow-600 font-bold no-underline text-white rounded lowercase mr-2 p-1 text-xs\">\n format: {schema.format()}\n </span>\n )}\n\n {/* related to string */}\n {schema.pattern() !== undefined && (\n <span className=\"bg-yellow-600 font-bold no-underline text-white rounded mr-2 p-1 text-xs\">\n must match: {schema.pattern()}\n </span>\n )}\n {schema.contentMediaType() !== undefined && (\n <span className=\"bg-yellow-600 font-bold no-underline text-white rounded lowercase mr-2 p-1 text-xs\">\n media type: {schema.contentMediaType()}\n </span>\n )}\n {schema.contentEncoding() !== undefined && (\n <span className=\"bg-yellow-600 font-bold no-underline text-white rounded lowercase mr-2 p-1 text-xs\">\n encoding: {schema.contentEncoding()}\n </span>\n )}\n\n {/* constraints */}\n {!!constraints.length &&\n constraints.map((c) => (\n <span\n className=\"bg-purple-600 font-bold no-underline text-white rounded lowercase mr-2 p-1 text-xs\"\n key={c}\n >\n {c}\n </span>\n ))}\n\n {uid && !uid.startsWith('<anonymous-') && (\n <span className=\"border text-orange-600 rounded mr-2 p-1 text-xs\">\n uid: {uid}\n </span>\n )}\n </div>\n\n {schema.description() !== undefined && (\n <div>\n <Markdown>{schema.description()}</Markdown>\n </div>\n )}\n\n {schema.default() !== undefined && (\n <div className=\"text-xs\">\n Default value:\n <span className=\"border inline-block text-orange-600 rounded ml-1 py-0 px-2\">\n {SchemaHelpers.prettifyValue(schema.default())}\n </span>\n </div>\n )}\n {schema.const() !== undefined && (\n <div className=\"text-xs\">\n Const:\n <span className=\"border inline-block text-orange-600 rounded ml-1 py-0 px-2\">\n {SchemaHelpers.prettifyValue(schema.const())}\n </span>\n </div>\n )}\n {schema.enum() && (\n <ul className=\"text-xs\">\n Allowed values:{' '}\n {schema.enum()?.map((e, idx) => (\n <li\n key={idx}\n className=\"border inline-block text-orange-600 rounded ml-1 py-0 px-2\"\n >\n <span>{SchemaHelpers.prettifyValue(e)}</span>\n </li>\n ))}\n </ul>\n )}\n {parameterLocation && (\n <div className=\"text-xs\">\n Parameter location:{' '}\n <span className=\"border text-orange-600 rounded mr-2 p-1 text-xs\">\n {parameterLocation}\n </span>\n </div>\n )}\n {externalDocs && (\n <span className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-2 py-0\">\n <Href\n href={externalDocs.url()}\n title={externalDocs.description() ?? ''}\n >\n Documentation\n </Href>\n </span>\n )}\n {schema.examples() && (\n <ul className=\"text-xs\">\n Examples values:{' '}\n {schema.examples()?.map((e, idx) => (\n <li\n key={idx}\n className=\"border inline-block text-orange-600 rounded ml-1 py-0 px-2 break-all\"\n >\n <span>{SchemaHelpers.prettifyValue(e)}</span>\n </li>\n ))}\n </ul>\n )}\n </div>\n </div>\n )}\n </div>\n\n {isCircular || !isExpandable ? null : (\n <div\n className={`rounded p-4 py-2 border bg-gray-100 ${\n reverse ? 'bg-gray-200' : ''\n } ${expanded ? 'block' : 'hidden'}`}\n >\n <SchemaProperties schema={schema} />\n <SchemaItems schema={schema} />\n\n {schema\n .oneOf()\n ?.map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={SchemaHelpers.applicatorSchemaName(\n idx,\n 'Adheres to',\n 'Or to',\n s.title() ?? s.id(),\n )}\n />\n ))}\n {schema\n .anyOf()\n ?.map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={SchemaHelpers.applicatorSchemaName(\n idx,\n 'Can adhere to',\n 'Or to',\n s.title() ?? s.id(),\n )}\n />\n ))}\n {schema\n .allOf()\n ?.map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={SchemaHelpers.applicatorSchemaName(\n idx,\n 'Consists of',\n 'And of',\n s.title() ?? s.id(),\n )}\n />\n ))}\n {schema.not() && (\n <Schema schema={schema.not()} schemaName=\"Cannot adhere to:\" />\n )}\n\n {schema.propertyNames() && (\n <Schema\n schema={schema.propertyNames()}\n schemaName=\"Property names must adhere to:\"\n />\n )}\n {schema.contains() && (\n <Schema\n schema={schema.contains()}\n schemaName=\"Array must contain at least one of:\"\n />\n )}\n\n {schema.if() && (\n <Schema schema={schema.if()} schemaName=\"If schema adheres to:\" />\n )}\n {schema.then() && (\n <Schema\n schema={schema.then()}\n schemaName=\"Then must adhere to:\"\n />\n )}\n {schema.else() && (\n <Schema schema={schema.else()} schemaName=\"Otherwise:\" />\n )}\n\n {dependentSchemas && (\n <Schema\n schema={dependentSchemas}\n schemaName=\"Dependent schemas:\"\n />\n )}\n\n <Extensions item={schema} />\n\n <AdditionalProperties schema={schema} />\n <AdditionalItems schema={schema} />\n </div>\n )}\n </div>\n </SchemaContext.Provider>\n );\n};\n\ninterface SchemaPropertiesProps {\n schema: SchemaInterface;\n}\n\nconst SchemaProperties: React.FunctionComponent<SchemaPropertiesProps> = ({\n schema,\n}) => {\n const properties = schema.properties();\n if (properties === undefined || !Object.keys(properties)) {\n return null;\n }\n\n const required = schema.required() ?? [];\n const patternProperties = schema.patternProperties();\n\n return (\n <>\n {Object.entries(properties).map(([propertyName, property]) => (\n <Schema\n schema={property}\n schemaName={propertyName}\n required={required.includes(propertyName)}\n isProperty\n isCircular={property.isCircular()}\n dependentRequired={SchemaHelpers.getDependentRequired(\n propertyName,\n schema,\n )}\n key={propertyName}\n />\n ))}\n {Object.entries(patternProperties ?? {}).map(\n ([propertyName, property]) => (\n <Schema\n schema={property}\n schemaName={propertyName}\n isPatternProperty\n isProperty\n isCircular={property.isCircular()}\n key={propertyName}\n />\n ),\n )}\n </>\n );\n};\n\ninterface AdditionalPropertiesProps {\n schema: SchemaInterface;\n}\n\nconst AdditionalProperties: React.FunctionComponent<\n AdditionalPropertiesProps\n> = ({ schema }) => {\n if (\n schema.extensions().get(SchemaHelpers.extRenderAdditionalInfo)?.value() ===\n false\n ) {\n return null;\n }\n\n const type = schema.type();\n if (!type?.includes('object')) {\n return null;\n }\n\n const additionalProperties = schema.additionalProperties();\n if (additionalProperties === true || additionalProperties === undefined) {\n return (\n <p className=\"mt-2 text-xs text-gray-700\">\n Additional properties are allowed.\n </p>\n );\n }\n if (additionalProperties === false) {\n return (\n <p className=\"mt-2 text-xs text-gray-700\">\n Additional properties are <strong>NOT</strong> allowed.\n </p>\n );\n }\n return (\n <Schema schemaName=\"Additional properties:\" schema={additionalProperties} />\n );\n};\n\ninterface SchemaItemsProps {\n schema: SchemaInterface;\n}\n\nconst SchemaItems: React.FunctionComponent<SchemaItemsProps> = ({ schema }) => {\n const type = schema.type();\n if (!type?.includes('array')) {\n return null;\n }\n const items = schema.items();\n\n // object in items\n if (\n items &&\n !Array.isArray(items) &&\n Object.keys(items.properties() ?? {}).length\n ) {\n return <Schema schema={items} isArray />;\n } else if (Array.isArray(items)) {\n return (\n <>\n {items.map((item, idx) => (\n <Schema\n schema={item}\n isArray\n schemaName={`${idx + 1} item:`}\n key={idx}\n />\n ))}\n </>\n );\n }\n return <Schema schema={items} isArray schemaName=\"Items:\" />;\n};\n\ninterface AdditionalItemsProps {\n schema: SchemaInterface;\n}\n\nconst AdditionalItems: React.FunctionComponent<AdditionalItemsProps> = ({\n schema,\n}) => {\n if (\n schema.extensions().get(SchemaHelpers.extRenderAdditionalInfo)?.value() ===\n false\n ) {\n return null;\n }\n\n const type = schema.type();\n if (!type?.includes('array')) {\n return null;\n }\n if (!Array.isArray(schema.items())) {\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any\n const additionalItems = schema.additionalItems() as any;\n if (additionalItems === true || additionalItems === undefined) {\n return (\n <p className=\"mt-2 text-xs text-gray-700\">\n Additional items are allowed.\n </p>\n );\n }\n if (additionalItems === false) {\n return (\n <p className=\"mt-2 text-xs text-gray-700\">\n Additional items are <strong>NOT</strong> allowed.\n </p>\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n return <Schema schemaName=\"Additional items:\" schema={additionalItems} />;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/components/Schema.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useContext } from 'react';\nimport { SchemaInterface } from '@asyncapi/parser';\n\nimport { Href, CollapseButton, Markdown, Extensions } from './index';\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n schemaName?: React.ReactNode;\n schema?: SchemaInterface;\n required?: boolean;\n isPatternProperty?: boolean;\n isProperty?: boolean;\n isCircular?: boolean;\n dependentRequired?: string[];\n expanded?: boolean;\n onlyTitle?: boolean;\n isArray?: boolean;\n}\n\nconst SchemaContext = React.createContext({\n reverse: false,\n deepExpanded: false,\n});\n\nexport const Schema: React.FunctionComponent<Props> = ({\n schemaName,\n schema,\n required = false,\n isPatternProperty = false,\n isProperty = false,\n isCircular = false,\n dependentRequired,\n expanded: propExpanded = false,\n onlyTitle = false,\n isArray = false,\n // eslint-disable-next-line sonarjs/cognitive-complexity\n}) => {\n const { reverse, deepExpanded } = useContext(SchemaContext);\n const [expanded, setExpanded] = useState(propExpanded || isArray);\n const [deepExpand, setDeepExpand] = useState(false);\n\n useEffect(() => {\n if (!isArray) {\n setDeepExpand(deepExpanded);\n }\n }, [isArray, deepExpanded, setDeepExpand]);\n\n useEffect(() => {\n if (!isArray) {\n setExpanded(deepExpand);\n }\n }, [isArray, deepExpand, setExpanded]);\n\n if (\n !schema ||\n (typeof schemaName === 'string' &&\n (schemaName?.startsWith('x-parser-') ||\n schemaName?.startsWith('x-schema-private-')))\n ) {\n return null;\n }\n\n const dependentSchemas = SchemaHelpers.getDependentSchemas(schema);\n\n const constraints = SchemaHelpers.humanizeConstraints(schema);\n const externalDocs = schema.externalDocs();\n\n const rawValueExt = schema.extensions().get(SchemaHelpers.extRawValue);\n const rawValue = rawValueExt?.value() === true;\n\n const parameterLocationExt = schema\n .extensions()\n .get(SchemaHelpers.extParameterLocation);\n const parameterLocation = parameterLocationExt?.value() === true;\n\n const schemaType = SchemaHelpers.toSchemaType(schema);\n const isExpandable = SchemaHelpers.isExpandable(schema) || dependentSchemas;\n\n isCircular = isCircular || schema.isCircular() || false;\n const uid = schema.$id();\n const styledSchemaName = isProperty ? 'italic' : '';\n const renderedSchemaName =\n typeof schemaName === 'string' ? (\n <span className={`break-anywhere text-sm ${styledSchemaName}`}>\n {schemaName}\n </span>\n ) : (\n schemaName\n );\n\n return (\n <SchemaContext.Provider\n value={{ reverse: !reverse, deepExpanded: deepExpand }}\n >\n <div>\n <div className=\"flex py-2\">\n <div className={`${onlyTitle ? '' : 'min-w-1/4'} mr-2`}>\n {isExpandable && !isCircular && !isArray ? (\n <>\n <CollapseButton\n onClick={() => setExpanded((prev) => !prev)}\n expanded={expanded}\n >\n {renderedSchemaName}\n </CollapseButton>\n <button\n type=\"button\"\n onClick={() => setDeepExpand((prev) => !prev)}\n className=\"ml-1 text-sm text-gray-500\"\n >\n {deepExpand ? 'Collapse all' : 'Expand all'}\n </button>\n </>\n ) : (\n <span\n className={`break-anywhere text-sm ${\n isProperty ? 'italic' : ''\n }`}\n >\n {schemaName}\n </span>\n )}\n {isPatternProperty && (\n <div className=\"text-gray-500 text-xs italic\">\n (pattern property)\n </div>\n )}\n {required && <div className=\"text-red-600 text-xs\">required</div>}\n {dependentRequired && (\n <>\n <div className=\"text-gray-500 text-xs\">\n required when defined:\n </div>\n <div className=\"text-red-600 text-xs\">\n {dependentRequired.join(', ')}\n </div>\n </>\n )}\n {schema.deprecated() && (\n <div className=\"text-red-600 text-xs\">deprecated</div>\n )}\n {schema.writeOnly() && (\n <div className=\"text-gray-500 text-xs\">write-only</div>\n )}\n {schema.readOnly() && (\n <div className=\"text-gray-500 text-xs\">read-only</div>\n )}\n </div>\n {rawValue ? (\n <div>\n <div className=\"text-sm\">\n {SchemaHelpers.prettifyValue(schema.const(), false)}\n </div>\n </div>\n ) : (\n <div>\n <div>\n <div className=\"capitalize text-sm text-teal-500 font-bold inline-block mr-2\">\n {isCircular ? `${schemaType} [CIRCULAR]` : schemaType}\n </div>\n <div className=\"inline-block\">\n {schema.format() && (\n <strong className=\"bg-yellow-600 no-underline text-white rounded lowercase mr-2 p-1 text-xs\">\n format: {schema.format()}\n </strong>\n )}\n\n {/* related to string */}\n {schema.pattern() !== undefined && (\n <strong className=\"bg-yellow-600 no-underline text-white rounded mr-2 p-1 text-xs\">\n must match: {schema.pattern()}\n </strong>\n )}\n {schema.contentMediaType() !== undefined && (\n <strong className=\"bg-yellow-600 no-underline text-white rounded lowercase mr-2 p-1 text-xs\">\n media type: {schema.contentMediaType()}\n </strong>\n )}\n {schema.contentEncoding() !== undefined && (\n <strong className=\"bg-yellow-600 no-underline text-white rounded lowercase mr-2 p-1 text-xs\">\n encoding: {schema.contentEncoding()}\n </strong>\n )}\n\n {/* constraints */}\n {!!constraints.length &&\n constraints.map((c) => (\n <strong\n className=\"bg-purple-600 no-underline text-white rounded lowercase mr-2 p-1 text-xs\"\n key={c}\n >\n {c}\n </strong>\n ))}\n\n {uid && !uid.startsWith('<anonymous-') && (\n <span className=\"border text-orange-600 rounded mr-2 p-1 text-xs\">\n uid: {uid}\n </span>\n )}\n </div>\n\n {schema.description() !== undefined && (\n <div>\n <Markdown>{schema.description()}</Markdown>\n </div>\n )}\n\n {schema.default() !== undefined && (\n <div className=\"text-xs\">\n Default value:\n <span className=\"border inline-block text-orange-600 rounded ml-1 py-0 px-2\">\n {SchemaHelpers.prettifyValue(schema.default())}\n </span>\n </div>\n )}\n {schema.const() !== undefined && (\n <div className=\"text-xs\">\n Const:\n <span className=\"border inline-block text-orange-600 rounded ml-1 py-0 px-2\">\n {SchemaHelpers.prettifyValue(schema.const())}\n </span>\n </div>\n )}\n {schema.enum() && (\n <ul className=\"text-xs\">\n Allowed values:{' '}\n {schema.enum()?.map((e, idx) => (\n <li\n key={idx}\n className=\"border inline-block text-orange-600 rounded ml-1 py-0 px-2\"\n >\n <span>{SchemaHelpers.prettifyValue(e)}</span>\n </li>\n ))}\n </ul>\n )}\n {parameterLocation && (\n <div className=\"text-xs\">\n Parameter location:{' '}\n <span className=\"border text-orange-600 rounded mr-2 p-1 text-xs\">\n {parameterLocation}\n </span>\n </div>\n )}\n {externalDocs && (\n <strong className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 no-underline text-xs uppercase rounded px-2 py-0\">\n <Href\n href={externalDocs.url()}\n title={externalDocs.description() ?? ''}\n >\n Documentation\n </Href>\n </strong>\n )}\n {schema.examples() && (\n <ul className=\"text-xs\">\n Examples values:{' '}\n {schema.examples()?.map((e, idx) => (\n <li\n key={idx}\n className=\"border inline-block text-orange-600 rounded ml-1 py-0 px-2 break-all\"\n >\n <span>{SchemaHelpers.prettifyValue(e)}</span>\n </li>\n ))}\n </ul>\n )}\n </div>\n </div>\n )}\n </div>\n\n {isCircular || !isExpandable ? null : (\n <div\n className={`rounded p-4 py-2 border bg-gray-100 ${\n reverse ? 'bg-gray-200' : ''\n } ${expanded ? 'block' : 'hidden'}`}\n >\n <SchemaProperties schema={schema} />\n <SchemaItems schema={schema} />\n\n {schema\n .oneOf()\n ?.map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={SchemaHelpers.applicatorSchemaName(\n idx,\n 'Adheres to',\n 'Or to',\n s.title() ?? s.id(),\n )}\n />\n ))}\n {schema\n .anyOf()\n ?.map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={SchemaHelpers.applicatorSchemaName(\n idx,\n 'Can adhere to',\n 'Or to',\n s.title() ?? s.id(),\n )}\n />\n ))}\n {schema\n .allOf()\n ?.map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={SchemaHelpers.applicatorSchemaName(\n idx,\n 'Consists of',\n 'And of',\n s.title() ?? s.id(),\n )}\n />\n ))}\n {schema.not() && (\n <Schema schema={schema.not()} schemaName=\"Cannot adhere to:\" />\n )}\n\n {schema.propertyNames() && (\n <Schema\n schema={schema.propertyNames()}\n schemaName=\"Property names must adhere to:\"\n />\n )}\n {schema.contains() && (\n <Schema\n schema={schema.contains()}\n schemaName=\"Array must contain at least one of:\"\n />\n )}\n\n {schema.if() && (\n <Schema schema={schema.if()} schemaName=\"If schema adheres to:\" />\n )}\n {schema.then() && (\n <Schema\n schema={schema.then()}\n schemaName=\"Then must adhere to:\"\n />\n )}\n {schema.else() && (\n <Schema schema={schema.else()} schemaName=\"Otherwise:\" />\n )}\n\n {dependentSchemas && (\n <Schema\n schema={dependentSchemas}\n schemaName=\"Dependent schemas:\"\n />\n )}\n\n <Extensions item={schema} />\n\n <AdditionalProperties schema={schema} />\n <AdditionalItems schema={schema} />\n </div>\n )}\n </div>\n </SchemaContext.Provider>\n );\n};\n\ninterface SchemaPropertiesProps {\n schema: SchemaInterface;\n}\n\nconst SchemaProperties: React.FunctionComponent<SchemaPropertiesProps> = ({\n schema,\n}) => {\n const properties = schema.properties();\n if (properties === undefined || !Object.keys(properties)) {\n return null;\n }\n\n const required = schema.required() ?? [];\n const patternProperties = schema.patternProperties();\n\n return (\n <>\n {Object.entries(properties).map(([propertyName, property]) => (\n <Schema\n schema={property}\n schemaName={propertyName}\n required={required.includes(propertyName)}\n isProperty\n isCircular={property.isCircular()}\n dependentRequired={SchemaHelpers.getDependentRequired(\n propertyName,\n schema,\n )}\n key={propertyName}\n />\n ))}\n {Object.entries(patternProperties ?? {}).map(\n ([propertyName, property]) => (\n <Schema\n schema={property}\n schemaName={propertyName}\n isPatternProperty\n isProperty\n isCircular={property.isCircular()}\n key={propertyName}\n />\n ),\n )}\n </>\n );\n};\n\ninterface AdditionalPropertiesProps {\n schema: SchemaInterface;\n}\n\nconst AdditionalProperties: React.FunctionComponent<\n AdditionalPropertiesProps\n> = ({ schema }) => {\n if (\n schema.extensions().get(SchemaHelpers.extRenderAdditionalInfo)?.value() ===\n false\n ) {\n return null;\n }\n\n const type = schema.type();\n if (!type?.includes('object')) {\n return null;\n }\n\n const additionalProperties = schema.additionalProperties();\n if (additionalProperties === true || additionalProperties === undefined) {\n return (\n <p className=\"mt-2 text-xs text-gray-700\">\n Additional properties are allowed.\n </p>\n );\n }\n if (additionalProperties === false) {\n return (\n <p className=\"mt-2 text-xs text-gray-700\">\n Additional properties are <strong>NOT</strong> allowed.\n </p>\n );\n }\n return (\n <Schema schemaName=\"Additional properties:\" schema={additionalProperties} />\n );\n};\n\ninterface SchemaItemsProps {\n schema: SchemaInterface;\n}\n\nconst SchemaItems: React.FunctionComponent<SchemaItemsProps> = ({ schema }) => {\n const type = schema.type();\n if (!type?.includes('array')) {\n return null;\n }\n const items = schema.items();\n\n // object in items\n if (\n items &&\n !Array.isArray(items) &&\n Object.keys(items.properties() ?? {}).length\n ) {\n return <Schema schema={items} isArray />;\n } else if (Array.isArray(items)) {\n return (\n <>\n {items.map((item, idx) => (\n <Schema\n schema={item}\n isArray\n schemaName={`${idx + 1} item:`}\n key={idx}\n />\n ))}\n </>\n );\n }\n return <Schema schema={items} isArray schemaName=\"Items:\" />;\n};\n\ninterface AdditionalItemsProps {\n schema: SchemaInterface;\n}\n\nconst AdditionalItems: React.FunctionComponent<AdditionalItemsProps> = ({\n schema,\n}) => {\n if (\n schema.extensions().get(SchemaHelpers.extRenderAdditionalInfo)?.value() ===\n false\n ) {\n return null;\n }\n\n const type = schema.type();\n if (!type?.includes('array')) {\n return null;\n }\n if (!Array.isArray(schema.items())) {\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any\n const additionalItems = schema.additionalItems() as any;\n if (additionalItems === true || additionalItems === undefined) {\n return (\n <p className=\"mt-2 text-xs text-gray-700\">\n Additional items are allowed.\n </p>\n );\n }\n if (additionalItems === false) {\n return (\n <p className=\"mt-2 text-xs text-gray-700\">\n Additional items are <strong>NOT</strong> allowed.\n </p>\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n return <Schema schemaName=\"Additional items:\" schema={additionalItems} />;\n};\n"]}
|
|
@@ -24,7 +24,7 @@ export var Info = function () {
|
|
|
24
24
|
info.version()),
|
|
25
25
|
showInfoList && (React.createElement("ul", { className: "flex flex-wrap mt-2 leading-normal" },
|
|
26
26
|
license && (React.createElement("li", { className: "inline-block mt-2 mr-2" }, license.url() ? (React.createElement(Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: (_d = license.url()) !== null && _d !== void 0 ? _d : '' },
|
|
27
|
-
React.createElement("span", null, license.name()))) : (React.createElement("
|
|
27
|
+
React.createElement("span", null, license.name()))) : (React.createElement("strong", { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 no-underline text-xs uppercase rounded px-3 py-1" }, license.name())))),
|
|
28
28
|
termsOfService && (React.createElement("li", { className: "inline-block mt-2 mr-2" },
|
|
29
29
|
React.createElement(Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: termsOfService },
|
|
30
30
|
React.createElement("span", null, TERMS_OF_SERVICE_TEXT)))),
|
|
@@ -42,7 +42,7 @@ export var Info = function () {
|
|
|
42
42
|
React.createElement(Href, { className: "border border-solid border-purple-300 hover:bg-purple-300 hover:text-purple-600 text-purple-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: "mailto:".concat(contact.email()) },
|
|
43
43
|
React.createElement("span", null, contact.email())))))),
|
|
44
44
|
specId && (React.createElement("li", { className: "inline-block mt-2 mr-2" },
|
|
45
|
-
React.createElement("
|
|
45
|
+
React.createElement("strong", { className: "border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 no-underline text-xs uppercase rounded px-3 py-1" },
|
|
46
46
|
"ID: ",
|
|
47
47
|
specId))))),
|
|
48
48
|
info.hasDescription() && (React.createElement("div", { className: "mt-4" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Info.js","sourceRoot":"","sources":["../../../../src/containers/Info/Info.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,IAAM,IAAI,GAA4B;;IAC3C,IAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;IAE3B,IAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IAED,IAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;IACpC,IAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;IACpD,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC7C,IAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IACzD,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAE/B,IAAM,YAAY,GAChB,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,cAAc,mCAAI,kBAAkB,mCAAI,OAAO,mCAAI,YAAY,CAAC;IAE7E,OAAO,CACL,6BAAK,SAAS,EAAC,YAAY;QACzB,6BAAK,SAAS,EAAC,mCAAmC,EAAC,EAAE,EAAC,cAAc;YAClE,6BAAK,SAAS,EAAC,UAAU;gBACtB,IAAI,CAAC,KAAK,EAAE;;gBAAQ,IAAI,CAAC,OAAO,EAAE,CAC/B;YAEL,YAAY,IAAI,CACf,4BAAI,SAAS,EAAC,oCAAoC;gBAC/C,OAAO,IAAI,CACV,4BAAI,SAAS,EAAC,wBAAwB,IACnC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CACf,oBAAC,IAAI,IACH,SAAS,EAAC,4JAA4J,EACtK,IAAI,EAAE,MAAA,OAAO,CAAC,GAAG,EAAE,mCAAI,EAAE;oBAEzB,kCAAO,OAAO,CAAC,IAAI,EAAE,CAAQ,CACxB,CACR,CAAC,CAAC,CAAC,CACF,
|
|
1
|
+
{"version":3,"file":"Info.js","sourceRoot":"","sources":["../../../../src/containers/Info/Info.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,IAAM,IAAI,GAA4B;;IAC3C,IAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;IAE3B,IAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IAED,IAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;IACpC,IAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;IACpD,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC7C,IAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IACzD,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAE/B,IAAM,YAAY,GAChB,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,cAAc,mCAAI,kBAAkB,mCAAI,OAAO,mCAAI,YAAY,CAAC;IAE7E,OAAO,CACL,6BAAK,SAAS,EAAC,YAAY;QACzB,6BAAK,SAAS,EAAC,mCAAmC,EAAC,EAAE,EAAC,cAAc;YAClE,6BAAK,SAAS,EAAC,UAAU;gBACtB,IAAI,CAAC,KAAK,EAAE;;gBAAQ,IAAI,CAAC,OAAO,EAAE,CAC/B;YAEL,YAAY,IAAI,CACf,4BAAI,SAAS,EAAC,oCAAoC;gBAC/C,OAAO,IAAI,CACV,4BAAI,SAAS,EAAC,wBAAwB,IACnC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CACf,oBAAC,IAAI,IACH,SAAS,EAAC,4JAA4J,EACtK,IAAI,EAAE,MAAA,OAAO,CAAC,GAAG,EAAE,mCAAI,EAAE;oBAEzB,kCAAO,OAAO,CAAC,IAAI,EAAE,CAAQ,CACxB,CACR,CAAC,CAAC,CAAC,CACF,gCAAQ,SAAS,EAAC,kJAAkJ,IACjK,OAAO,CAAC,IAAI,EAAE,CACR,CACV,CACE,CACN;gBACA,cAAc,IAAI,CACjB,4BAAI,SAAS,EAAC,wBAAwB;oBACpC,oBAAC,IAAI,IACH,SAAS,EAAC,4JAA4J,EACtK,IAAI,EAAE,cAAc;wBAEpB,kCAAO,qBAAqB,CAAQ,CAC/B,CACJ,CACN;gBACA,kBAAkB,IAAI,CACrB,4BAAI,SAAS,EAAC,wBAAwB;oBACpC,oBAAC,IAAI,IACH,SAAS,EAAC,4JAA4J,EACtK,IAAI,EAAE,UAAG,kBAAkB,cAAI,kBAAkB,CAAE;wBAEnD,kCAAO,kBAAkB,CAAQ,CAC5B,CACJ,CACN;gBACA,YAAY,IAAI,CACf,4BAAI,SAAS,EAAC,wBAAwB;oBACpC,oBAAC,IAAI,IACH,SAAS,EAAC,4JAA4J,EACtK,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE;wBAExB,kCAAO,0BAA0B,CAAQ,CACpC,CACJ,CACN;gBACA,OAAO,IAAI,CACV;oBACG,OAAO,CAAC,GAAG,EAAE,IAAI,CAChB,4BAAI,SAAS,EAAC,wBAAwB;wBACpC,oBAAC,IAAI,IACH,SAAS,EAAC,4JAA4J,EACtK,IAAI,EAAE,MAAA,OAAO,CAAC,GAAG,EAAE,mCAAI,EAAE;4BAEzB,kCAAO,MAAA,OAAO,CAAC,IAAI,EAAE,mCAAI,gBAAgB,CAAQ,CAC5C,CACJ,CACN;oBACA,OAAO,CAAC,KAAK,EAAE,IAAI,CAClB,4BAAI,SAAS,EAAC,wBAAwB;wBACpC,oBAAC,IAAI,IACH,SAAS,EAAC,4JAA4J,EACtK,IAAI,EAAE,iBAAU,OAAO,CAAC,KAAK,EAAE,CAAE;4BAEjC,kCAAO,OAAO,CAAC,KAAK,EAAE,CAAQ,CACzB,CACJ,CACN,CACA,CACJ;gBACA,MAAM,IAAI,CACT,4BAAI,SAAS,EAAC,wBAAwB;oBACpC,gCAAQ,SAAS,EAAC,0IAA0I;;wBACrJ,MAAM,CACJ,CACN,CACN,CACE,CACN;YAEA,IAAI,CAAC,cAAc,EAAE,IAAI,CACxB,6BAAK,SAAS,EAAC,MAAM;gBACnB,oBAAC,QAAQ,QAAE,IAAI,CAAC,WAAW,EAAE,CAAY,CACrC,CACP;YAEA,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CACpC,6BAAK,SAAS,EAAC,MAAM;gBACnB,oBAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAI,CAClC,CACP,CACG;QAEN,6BAAK,SAAS,EAAC,mBAAmB,GAAG,CACjC,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Href, Markdown, Tags } from '../../components';\nimport { useSpec } from '../../contexts';\nimport {\n TERMS_OF_SERVICE_TEXT,\n CONTENT_TYPES_SITE,\n URL_SUPPORT_TEXT,\n EXTERAL_DOCUMENTATION_TEXT,\n} from '../../constants';\n\nexport const Info: React.FunctionComponent = () => {\n const asyncapi = useSpec();\n\n const info = asyncapi.info();\n if (!info) {\n return null;\n }\n\n const specId = asyncapi.info().id();\n const externalDocs = asyncapi.info().externalDocs();\n const license = info.license();\n const termsOfService = info.termsOfService();\n const defaultContentType = asyncapi.defaultContentType();\n const contact = info.contact();\n\n const showInfoList =\n license ?? termsOfService ?? defaultContentType ?? contact ?? externalDocs;\n\n return (\n <div className=\"panel-item\">\n <div className=\"panel-item--center px-8 text-left\" id=\"introduction\">\n <div className=\"text-4xl\">\n {info.title()} {info.version()}\n </div>\n\n {showInfoList && (\n <ul className=\"flex flex-wrap mt-2 leading-normal\">\n {license && (\n <li className=\"inline-block mt-2 mr-2\">\n {license.url() ? (\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={license.url() ?? ''}\n >\n <span>{license.name()}</span>\n </Href>\n ) : (\n <strong className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 no-underline text-xs uppercase rounded px-3 py-1\">\n {license.name()}\n </strong>\n )}\n </li>\n )}\n {termsOfService && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={termsOfService}\n >\n <span>{TERMS_OF_SERVICE_TEXT}</span>\n </Href>\n </li>\n )}\n {defaultContentType && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={`${CONTENT_TYPES_SITE}/${defaultContentType}`}\n >\n <span>{defaultContentType}</span>\n </Href>\n </li>\n )}\n {externalDocs && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={externalDocs.url()}\n >\n <span>{EXTERAL_DOCUMENTATION_TEXT}</span>\n </Href>\n </li>\n )}\n {contact && (\n <>\n {contact.url() && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-purple-300 hover:bg-purple-300 hover:text-purple-600 text-purple-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={contact.url() ?? ''}\n >\n <span>{contact.name() ?? URL_SUPPORT_TEXT}</span>\n </Href>\n </li>\n )}\n {contact.email() && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-purple-300 hover:bg-purple-300 hover:text-purple-600 text-purple-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={`mailto:${contact.email()}`}\n >\n <span>{contact.email()}</span>\n </Href>\n </li>\n )}\n </>\n )}\n {specId && (\n <li className=\"inline-block mt-2 mr-2\">\n <strong className=\"border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 no-underline text-xs uppercase rounded px-3 py-1\">\n ID: {specId}\n </strong>\n </li>\n )}\n </ul>\n )}\n\n {info.hasDescription() && (\n <div className=\"mt-4\">\n <Markdown>{info.description()}</Markdown>\n </div>\n )}\n\n {asyncapi.info().tags().length > 0 && (\n <div className=\"mt-4\">\n <Tags tags={asyncapi.info().tags()} />\n </div>\n )}\n </div>\n\n <div className=\"panel-item--right\" />\n </div>\n );\n};\n"]}
|
|
@@ -23,7 +23,7 @@ export var Message = function (_a) {
|
|
|
23
23
|
React.createElement("div", { className: "panel-item--center px-8" },
|
|
24
24
|
React.createElement("div", { className: "shadow rounded bg-gray-200 p-4 border" },
|
|
25
25
|
React.createElement("div", null,
|
|
26
|
-
index !== undefined && (React.createElement("
|
|
26
|
+
index !== undefined && (React.createElement("strong", { className: "text-gray-700 mr-2" },
|
|
27
27
|
"#",
|
|
28
28
|
index)),
|
|
29
29
|
title && React.createElement("span", { className: "text-gray-700 mr-2" }, title),
|