@asyncapi/react-component 1.0.0-next.28 → 1.0.0-next.31

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.
@@ -18,7 +18,7 @@ var Bindings = function (_a) {
18
18
  var schemaName = (react_1.default.createElement("div", { className: "inline-block text-sm" },
19
19
  react_1.default.createElement("span", null, name),
20
20
  react_1.default.createElement("span", { className: "bg-teal-500 font-bold no-underline text-white uppercase rounded mx-2 px-2 py-1 text-xs" }, bindingName)));
21
- return (schema && (react_1.default.createElement(Schema_1.Schema, { schemaName: schemaName, schema: schema, key: bindingName })));
21
+ return (schema && (react_1.default.createElement(Schema_1.Schema, { schemaName: schemaName, schema: schema, key: bindingName, onlyTitle: true })));
22
22
  });
23
23
  return react_1.default.createElement(react_1.default.Fragment, null, renderedBindings);
24
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Bindings.js","sourceRoot":"","sources":["../../../src/components/Bindings.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,mCAAkC;AAElC,sCAA2C;AAOpC,IAAM,QAAQ,GAAmC,UAAC,EAGxD;QAFC,YAAqC,EAArC,IAAI,mBAAG,8BAA8B,KAAA,EACrC,QAAQ,cAAA;IAER,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;QAC9C,OAAO,IAAI,CAAC;KACb;IAED,IAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CACnD,UAAC,EAAsB;YAArB,WAAW,QAAA,EAAE,OAAO,QAAA;QACpB,IAAM,MAAM,GAAG,uBAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,IAAM,UAAU,GAAG,CACjB,uCAAK,SAAS,EAAC,sBAAsB;YACnC,4CAAO,IAAI,CAAQ;YACnB,wCAAM,SAAS,EAAC,wFAAwF,IACrG,WAAW,CACP,CACH,CACP,CAAC;QACF,OAAO,CACL,MAAM,IAAI,CACR,8BAAC,eAAM,IAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAI,CACrE,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,8DAAG,gBAAgB,CAAI,CAAC;AACjC,CAAC,CAAC;AA3BW,QAAA,QAAQ,YA2BnB","sourcesContent":["import React from 'react';\n\nimport { Schema } from './Schema';\n\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n name?: string;\n bindings: any;\n}\n\nexport const Bindings: React.FunctionComponent<Props> = ({\n name = 'Binding specific information',\n bindings,\n}) => {\n if (!bindings || !Object.keys(bindings).length) {\n return null;\n }\n\n const renderedBindings = Object.entries(bindings).map(\n ([bindingName, binding]) => {\n const schema = SchemaHelpers.jsonToSchema(binding);\n const schemaName = (\n <div className=\"inline-block text-sm\">\n <span>{name}</span>\n <span className=\"bg-teal-500 font-bold no-underline text-white uppercase rounded mx-2 px-2 py-1 text-xs\">\n {bindingName}\n </span>\n </div>\n );\n return (\n schema && (\n <Schema schemaName={schemaName} schema={schema} key={bindingName} />\n )\n );\n },\n );\n return <>{renderedBindings}</>;\n};\n"]}
1
+ {"version":3,"file":"Bindings.js","sourceRoot":"","sources":["../../../src/components/Bindings.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,mCAAkC;AAElC,sCAA2C;AAOpC,IAAM,QAAQ,GAAmC,UAAC,EAGxD;QAFC,YAAqC,EAArC,IAAI,mBAAG,8BAA8B,KAAA,EACrC,QAAQ,cAAA;IAER,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;QAC9C,OAAO,IAAI,CAAC;KACb;IAED,IAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CACnD,UAAC,EAAsB;YAArB,WAAW,QAAA,EAAE,OAAO,QAAA;QACpB,IAAM,MAAM,GAAG,uBAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,IAAM,UAAU,GAAG,CACjB,uCAAK,SAAS,EAAC,sBAAsB;YACnC,4CAAO,IAAI,CAAQ;YACnB,wCAAM,SAAS,EAAC,wFAAwF,IACrG,WAAW,CACP,CACH,CACP,CAAC;QACF,OAAO,CACL,MAAM,IAAI,CACR,8BAAC,eAAM,IACL,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,IAAI,GACf,CACH,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,8DAAG,gBAAgB,CAAI,CAAC;AACjC,CAAC,CAAC;AAhCW,QAAA,QAAQ,YAgCnB","sourcesContent":["import React from 'react';\n\nimport { Schema } from './Schema';\n\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n name?: string;\n bindings: any;\n}\n\nexport const Bindings: React.FunctionComponent<Props> = ({\n name = 'Binding specific information',\n bindings,\n}) => {\n if (!bindings || !Object.keys(bindings).length) {\n return null;\n }\n\n const renderedBindings = Object.entries(bindings).map(\n ([bindingName, binding]) => {\n const schema = SchemaHelpers.jsonToSchema(binding);\n const schemaName = (\n <div className=\"inline-block text-sm\">\n <span>{name}</span>\n <span className=\"bg-teal-500 font-bold no-underline text-white uppercase rounded mx-2 px-2 py-1 text-xs\">\n {bindingName}\n </span>\n </div>\n );\n return (\n schema && (\n <Schema\n schemaName={schemaName}\n schema={schema}\n key={bindingName}\n onlyTitle={true}\n />\n )\n );\n },\n );\n return <>{renderedBindings}</>;\n};\n"]}
@@ -15,7 +15,7 @@ var Extensions = function (_a) {
15
15
  }
16
16
  var schema = helpers_1.SchemaHelpers.jsonToSchema(extensions);
17
17
  return (schema && (react_1.default.createElement("div", { className: "mt-2" },
18
- react_1.default.createElement(Schema_1.Schema, { schemaName: name, schema: schema }))));
18
+ react_1.default.createElement(Schema_1.Schema, { schemaName: name, schema: schema, onlyTitle: true }))));
19
19
  };
20
20
  exports.Extensions = Extensions;
21
21
  //# sourceMappingURL=Extensions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Extensions.js","sourceRoot":"","sources":["../../../src/components/Extensions.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,mCAAkC;AAElC,sCAA2C;AAOpC,IAAM,UAAU,GAAmC,UAAC,EAG1D;QAFC,YAAmB,EAAnB,IAAI,mBAAG,YAAY,KAAA,EACnB,IAAI,UAAA;IAEJ,IAAM,UAAU,GAAG,uBAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;QAClD,OAAO,IAAI,CAAC;KACb;IAED,IAAM,MAAM,GAAG,uBAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO,CACL,MAAM,IAAI,CACR,uCAAK,SAAS,EAAC,MAAM;QACnB,8BAAC,eAAM,IAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAI,CACxC,CACP,CACF,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,UAAU,cAiBrB","sourcesContent":["import React from 'react';\n\nimport { Schema } from './Schema';\n\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n name?: string;\n item: any;\n}\n\nexport const Extensions: React.FunctionComponent<Props> = ({\n name = 'Extensions',\n item,\n}) => {\n const extensions = SchemaHelpers.getCustomExtensions(item);\n if (!extensions || !Object.keys(extensions).length) {\n return null;\n }\n\n const schema = SchemaHelpers.jsonToSchema(extensions);\n return (\n schema && (\n <div className=\"mt-2\">\n <Schema schemaName={name} schema={schema} />\n </div>\n )\n );\n};\n"]}
1
+ {"version":3,"file":"Extensions.js","sourceRoot":"","sources":["../../../src/components/Extensions.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,mCAAkC;AAElC,sCAA2C;AAOpC,IAAM,UAAU,GAAmC,UAAC,EAG1D;QAFC,YAAmB,EAAnB,IAAI,mBAAG,YAAY,KAAA,EACnB,IAAI,UAAA;IAEJ,IAAM,UAAU,GAAG,uBAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;QAClD,OAAO,IAAI,CAAC;KACb;IAED,IAAM,MAAM,GAAG,uBAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO,CACL,MAAM,IAAI,CACR,uCAAK,SAAS,EAAC,MAAM;QACnB,8BAAC,eAAM,IAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAI,CACzD,CACP,CACF,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,UAAU,cAiBrB","sourcesContent":["import React from 'react';\n\nimport { Schema } from './Schema';\n\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n name?: string;\n item: any;\n}\n\nexport const Extensions: React.FunctionComponent<Props> = ({\n name = 'Extensions',\n item,\n}) => {\n const extensions = SchemaHelpers.getCustomExtensions(item);\n if (!extensions || !Object.keys(extensions).length) {\n return null;\n }\n\n const schema = SchemaHelpers.jsonToSchema(extensions);\n return (\n schema && (\n <div className=\"mt-2\">\n <Schema schemaName={name} schema={schema} onlyTitle={true} />\n </div>\n )\n );\n};\n"]}
@@ -25,9 +25,9 @@ var index_1 = require("./index");
25
25
  var helpers_1 = require("../helpers");
26
26
  var SchemaContext = react_1.default.createContext({ reverse: false });
27
27
  var Schema = function (_a) {
28
- var schemaName = _a.schemaName, schema = _a.schema, _b = _a.required, required = _b === void 0 ? false : _b, _c = _a.isPatternProperty, isPatternProperty = _c === void 0 ? false : _c, _d = _a.isProperty, isProperty = _d === void 0 ? false : _d, _e = _a.isCircular, isCircular = _e === void 0 ? false : _e, dependentRequired = _a.dependentRequired, _f = _a.expanded, expanded = _f === void 0 ? false : _f;
28
+ var schemaName = _a.schemaName, schema = _a.schema, _b = _a.required, required = _b === void 0 ? false : _b, _c = _a.isPatternProperty, isPatternProperty = _c === void 0 ? false : _c, _d = _a.isProperty, isProperty = _d === void 0 ? false : _d, _e = _a.isCircular, isCircular = _e === void 0 ? false : _e, dependentRequired = _a.dependentRequired, _f = _a.expanded, expanded = _f === void 0 ? false : _f, _g = _a.onlyTitle, onlyTitle = _g === void 0 ? false : _g;
29
29
  var reverse = (0, react_1.useContext)(SchemaContext).reverse;
30
- var _g = (0, react_1.useState)(expanded), expand = _g[0], setExpand = _g[1];
30
+ var _h = (0, react_1.useState)(expanded), expand = _h[0], setExpand = _h[1];
31
31
  if (!schema ||
32
32
  (typeof schemaName === 'string' &&
33
33
  ((schemaName === null || schemaName === void 0 ? void 0 : schemaName.startsWith('x-parser-')) ||
@@ -70,7 +70,7 @@ var Schema = function (_a) {
70
70
  return (react_1.default.createElement(SchemaContext.Provider, { value: { reverse: !reverse } },
71
71
  react_1.default.createElement("div", null,
72
72
  react_1.default.createElement("div", { className: "flex py-2" },
73
- react_1.default.createElement("div", { className: "w-3/12 min-w-min mr-2" },
73
+ react_1.default.createElement("div", { className: "".concat(onlyTitle ? '' : 'min-w-1/4', " mr-2") },
74
74
  isExpandable && !isCircular ? (react_1.default.createElement(index_1.CollapseButton, { onClick: function () { return setExpand(function (prev) { return !prev; }); }, chevronProps: {
75
75
  className: expand ? '-rotate-180' : '-rotate-90',
76
76
  } }, renderedSchemaName)) : (react_1.default.createElement("span", { className: "break-words text-sm ".concat(isProperty ? 'italic' : '') }, schemaName)),
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/components/Schema.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useContext } from 'react';\nimport { Schema as SchemaType } from '@asyncapi/parser';\n\nimport { Href, CollapseButton, Markdown, Extensions } from './index';\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n schemaName?: React.ReactNode;\n schema?: SchemaType;\n required?: boolean;\n isPatternProperty?: boolean;\n isProperty?: boolean;\n isCircular?: boolean;\n dependentRequired?: string[];\n expanded?: boolean;\n}\n\nconst SchemaContext = React.createContext({ reverse: false });\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 = false,\n}) => {\n const { reverse } = useContext(SchemaContext);\n const [expand, setExpand] = useState(expanded);\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 renderType = schema.ext(SchemaHelpers.extRenderType) !== false;\n const rawValue = schema.ext(SchemaHelpers.extRawValue) === true;\n const parameterLocation = schema.ext(SchemaHelpers.extParameterLocation);\n const isExpandable = SchemaHelpers.isExpandable(schema) || dependentSchemas;\n\n let schemaType = SchemaHelpers.toSchemaType(schema);\n isCircular =\n isCircular ||\n schema.isCircular() ||\n schema.ext('x-parser-circular') ||\n false;\n let uid = schema.uid();\n\n const schemaItems = schema.items();\n if (schemaItems && !Array.isArray(schemaItems)) {\n /**\n * fallback for older logic for circular references:\n *\n * checking uid for circular items\n * `x-parser-circular` extension is added to every schema which has circular `items` field,\n * so we must check that `items` is schema (not array of schemas) and infer UID of schema to display which schema is circular (by the name of schema)\n */\n isCircular =\n isCircular ||\n schemaItems.isCircular() ||\n schemaItems.ext('x-parser-circular') ||\n false;\n uid = schemaItems.uid();\n if (\n isCircular &&\n typeof (schemaItems as any).circularSchema === 'function'\n ) {\n schemaType = SchemaHelpers.toSchemaType(\n (schemaItems as any).circularSchema(),\n );\n }\n } else if (\n isCircular &&\n typeof (schema as any).circularSchema === 'function'\n ) {\n schemaType = SchemaHelpers.toSchemaType((schema as any).circularSchema());\n }\n\n const styledSchemaName = isProperty ? 'italic' : '';\n const renderedSchemaName =\n typeof schemaName === 'string' ? (\n <span className={`break-words text-sm ${styledSchemaName}`}>\n {schemaName}\n </span>\n ) : (\n schemaName\n );\n\n return (\n <SchemaContext.Provider value={{ reverse: !reverse }}>\n <div>\n <div className=\"flex py-2\">\n <div className=\"w-3/12 min-w-min mr-2\">\n {isExpandable && !isCircular ? (\n <CollapseButton\n onClick={() => setExpand(prev => !prev)}\n chevronProps={{\n className: expand ? '-rotate-180' : '-rotate-90',\n }}\n >\n {renderedSchemaName}\n </CollapseButton>\n ) : (\n <span\n className={`break-words text-sm ${isProperty ? 'italic' : ''}`}\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\">{schema.const()}</div>\n </div>\n ) : (\n <div>\n <div>\n {renderType && (\n <div className=\"capitalize text-sm text-teal-500 font-bold inline-block mr-2\">\n {isCircular ? `${schemaType} [CIRCULAR]` : schemaType}\n </div>\n )}\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 lowercase 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.hasDescription() && (\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 } ${expand ? 'block' : 'hidden'}`}\n >\n <SchemaProperties schema={schema} />\n <SchemaItems schema={schema} />\n\n {schema.oneOf() &&\n schema\n .oneOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Adheres to:' : 'Or to:'}\n />\n ))}\n {schema.anyOf() &&\n schema\n .anyOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Can adhere to:' : 'Or to:'}\n />\n ))}\n {schema.allOf() &&\n schema\n .allOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Consists of:' : 'And with:'}\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: SchemaType;\n}\n\nconst SchemaProperties: React.FunctionComponent<SchemaPropertiesProps> = ({\n schema,\n}) => {\n const properties = schema.properties() || {};\n if (!Object.keys(properties)) {\n return null;\n }\n\n const required = schema.required() || [];\n const patternProperties = schema.patternProperties();\n const circularProps = schema.ext('x-parser-circular-props') || [];\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={true}\n isCircular={circularProps.includes(propertyName)}\n dependentRequired={SchemaHelpers.getDependentRequired(\n propertyName,\n schema,\n )}\n key={propertyName}\n />\n ))}\n {Object.entries(patternProperties).map(([propertyName, property]) => (\n <Schema\n schema={property}\n schemaName={propertyName}\n isPatternProperty={true}\n isProperty={true}\n isCircular={circularProps.includes(propertyName)}\n key={propertyName}\n />\n ))}\n </>\n );\n};\n\ninterface AdditionalPropertiesProps {\n schema: SchemaType;\n}\n\nconst AdditionalProperties: React.FunctionComponent<AdditionalPropertiesProps> = ({\n schema,\n}) => {\n if (schema.ext(SchemaHelpers.extRenderAdditionalInfo) === false) {\n return null;\n }\n\n let type = schema.type();\n type = Array.isArray(type) ? type : [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: SchemaType;\n}\n\nconst SchemaItems: React.FunctionComponent<SchemaItemsProps> = ({ schema }) => {\n let type = schema.type();\n type = Array.isArray(type) ? type : [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 <SchemaProperties schema={items} />;\n } else if (Array.isArray(items)) {\n return (\n <>\n {items.map((item, idx) => (\n <Schema schema={item} schemaName={`${idx + 1} item:`} key={idx} />\n ))}\n </>\n );\n }\n return <Schema schema={items} schemaName=\"Items:\" />;\n};\n\ninterface AdditionalItemsProps {\n schema: SchemaType;\n}\n\nconst AdditionalItems: React.FunctionComponent<AdditionalItemsProps> = ({\n schema,\n}) => {\n if (schema.ext(SchemaHelpers.extRenderAdditionalInfo) === false) {\n return null;\n }\n\n let type = schema.type();\n type = Array.isArray(type) ? type : [type];\n if (!type.includes('array')) {\n return null;\n }\n if (!Array.isArray(schema.items())) {\n return null;\n }\n\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 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, useContext } from 'react';\nimport { Schema as SchemaType } from '@asyncapi/parser';\n\nimport { Href, CollapseButton, Markdown, Extensions } from './index';\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n schemaName?: React.ReactNode;\n schema?: SchemaType;\n required?: boolean;\n isPatternProperty?: boolean;\n isProperty?: boolean;\n isCircular?: boolean;\n dependentRequired?: string[];\n expanded?: boolean;\n onlyTitle?: boolean;\n}\n\nconst SchemaContext = React.createContext({ reverse: false });\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 = false,\n onlyTitle = false,\n}) => {\n const { reverse } = useContext(SchemaContext);\n const [expand, setExpand] = useState(expanded);\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 renderType = schema.ext(SchemaHelpers.extRenderType) !== false;\n const rawValue = schema.ext(SchemaHelpers.extRawValue) === true;\n const parameterLocation = schema.ext(SchemaHelpers.extParameterLocation);\n const isExpandable = SchemaHelpers.isExpandable(schema) || dependentSchemas;\n\n let schemaType = SchemaHelpers.toSchemaType(schema);\n isCircular =\n isCircular ||\n schema.isCircular() ||\n schema.ext('x-parser-circular') ||\n false;\n let uid = schema.uid();\n\n const schemaItems = schema.items();\n if (schemaItems && !Array.isArray(schemaItems)) {\n /**\n * fallback for older logic for circular references:\n *\n * checking uid for circular items\n * `x-parser-circular` extension is added to every schema which has circular `items` field,\n * so we must check that `items` is schema (not array of schemas) and infer UID of schema to display which schema is circular (by the name of schema)\n */\n isCircular =\n isCircular ||\n schemaItems.isCircular() ||\n schemaItems.ext('x-parser-circular') ||\n false;\n uid = schemaItems.uid();\n if (\n isCircular &&\n typeof (schemaItems as any).circularSchema === 'function'\n ) {\n schemaType = SchemaHelpers.toSchemaType(\n (schemaItems as any).circularSchema(),\n );\n }\n } else if (\n isCircular &&\n typeof (schema as any).circularSchema === 'function'\n ) {\n schemaType = SchemaHelpers.toSchemaType((schema as any).circularSchema());\n }\n\n const styledSchemaName = isProperty ? 'italic' : '';\n const renderedSchemaName =\n typeof schemaName === 'string' ? (\n <span className={`break-words text-sm ${styledSchemaName}`}>\n {schemaName}\n </span>\n ) : (\n schemaName\n );\n\n return (\n <SchemaContext.Provider value={{ reverse: !reverse }}>\n <div>\n <div className=\"flex py-2\">\n <div className={`${onlyTitle ? '' : 'min-w-1/4'} mr-2`}>\n {isExpandable && !isCircular ? (\n <CollapseButton\n onClick={() => setExpand(prev => !prev)}\n chevronProps={{\n className: expand ? '-rotate-180' : '-rotate-90',\n }}\n >\n {renderedSchemaName}\n </CollapseButton>\n ) : (\n <span\n className={`break-words text-sm ${isProperty ? 'italic' : ''}`}\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\">{schema.const()}</div>\n </div>\n ) : (\n <div>\n <div>\n {renderType && (\n <div className=\"capitalize text-sm text-teal-500 font-bold inline-block mr-2\">\n {isCircular ? `${schemaType} [CIRCULAR]` : schemaType}\n </div>\n )}\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 lowercase 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.hasDescription() && (\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 } ${expand ? 'block' : 'hidden'}`}\n >\n <SchemaProperties schema={schema} />\n <SchemaItems schema={schema} />\n\n {schema.oneOf() &&\n schema\n .oneOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Adheres to:' : 'Or to:'}\n />\n ))}\n {schema.anyOf() &&\n schema\n .anyOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Can adhere to:' : 'Or to:'}\n />\n ))}\n {schema.allOf() &&\n schema\n .allOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Consists of:' : 'And with:'}\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: SchemaType;\n}\n\nconst SchemaProperties: React.FunctionComponent<SchemaPropertiesProps> = ({\n schema,\n}) => {\n const properties = schema.properties() || {};\n if (!Object.keys(properties)) {\n return null;\n }\n\n const required = schema.required() || [];\n const patternProperties = schema.patternProperties();\n const circularProps = schema.ext('x-parser-circular-props') || [];\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={true}\n isCircular={circularProps.includes(propertyName)}\n dependentRequired={SchemaHelpers.getDependentRequired(\n propertyName,\n schema,\n )}\n key={propertyName}\n />\n ))}\n {Object.entries(patternProperties).map(([propertyName, property]) => (\n <Schema\n schema={property}\n schemaName={propertyName}\n isPatternProperty={true}\n isProperty={true}\n isCircular={circularProps.includes(propertyName)}\n key={propertyName}\n />\n ))}\n </>\n );\n};\n\ninterface AdditionalPropertiesProps {\n schema: SchemaType;\n}\n\nconst AdditionalProperties: React.FunctionComponent<AdditionalPropertiesProps> = ({\n schema,\n}) => {\n if (schema.ext(SchemaHelpers.extRenderAdditionalInfo) === false) {\n return null;\n }\n\n let type = schema.type();\n type = Array.isArray(type) ? type : [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: SchemaType;\n}\n\nconst SchemaItems: React.FunctionComponent<SchemaItemsProps> = ({ schema }) => {\n let type = schema.type();\n type = Array.isArray(type) ? type : [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 <SchemaProperties schema={items} />;\n } else if (Array.isArray(items)) {\n return (\n <>\n {items.map((item, idx) => (\n <Schema schema={item} schemaName={`${idx + 1} item:`} key={idx} />\n ))}\n </>\n );\n }\n return <Schema schema={items} schemaName=\"Items:\" />;\n};\n\ninterface AdditionalItemsProps {\n schema: SchemaType;\n}\n\nconst AdditionalItems: React.FunctionComponent<AdditionalItemsProps> = ({\n schema,\n}) => {\n if (schema.ext(SchemaHelpers.extRenderAdditionalInfo) === false) {\n return null;\n }\n\n let type = schema.type();\n type = Array.isArray(type) ? type : [type];\n if (!type.includes('array')) {\n return null;\n }\n if (!Array.isArray(schema.items())) {\n return null;\n }\n\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 return <Schema schemaName=\"Additional items:\" schema={additionalItems} />;\n};\n"]}
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.hljs = exports.renderMarkdown = void 0;
7
- var marked_1 = __importDefault(require("marked"));
7
+ var marked_1 = require("marked");
8
8
  var core_1 = __importDefault(require("highlight.js/lib/core"));
9
9
  exports.hljs = core_1.default;
10
10
  var json_1 = __importDefault(require("highlight.js/lib/languages/json"));
@@ -28,7 +28,7 @@ var markedOptions = {
28
28
  },
29
29
  };
30
30
  function renderMarkdown(content) {
31
- return (0, marked_1.default)(content, markedOptions);
31
+ return (0, marked_1.marked)(content, markedOptions);
32
32
  }
33
33
  exports.renderMarkdown = renderMarkdown;
34
34
  //# sourceMappingURL=marked.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"marked.js","sourceRoot":"","sources":["../../../src/helpers/marked.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA4B;AAG5B,+DAAyC;AAgChC,eAhCF,cAAI,CAgCE;AA7Bb,yEAAmD;AACnD,cAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAI,CAAC,CAAC;AAGpC,yEAAmD;AACnD,cAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAI,CAAC,CAAC;AAGpC,yEAAmD;AACnD,cAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAI,CAAC,CAAC;AAEpC,IAAM,aAAa,GAAyB;IAC1C,UAAU,EAAE,gBAAgB;IAC5B,SAAS,EAAE,UAAC,IAAI,EAAE,QAAQ;QACxB,IAAI,CAAC,cAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QACD,IAAI;YACF,OAAO,cAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC,KAAK,CAAC;SACjD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CACF,CAAC;AAEF,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,IAAA,gBAAM,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC;AAFD,wCAEC","sourcesContent":["import marked from 'marked';\n\n// @ts-ignore\nimport hljs from 'highlight.js/lib/core';\n\n// @ts-ignore\nimport json from 'highlight.js/lib/languages/json';\nhljs.registerLanguage('json', json);\n\n// @ts-ignore\nimport yaml from 'highlight.js/lib/languages/yaml';\nhljs.registerLanguage('yaml', yaml);\n\n// @ts-ignore\nimport bash from 'highlight.js/lib/languages/bash';\nhljs.registerLanguage('bash', bash);\n\nconst markedOptions: marked.MarkedOptions = {\n langPrefix: 'hljs language-',\n highlight: (code, language) => {\n if (!hljs.getLanguage(language)) {\n return code;\n }\n try {\n return hljs.highlight(code, { language }).value;\n } catch (e) {\n return code;\n }\n },\n};\n\nexport function renderMarkdown(content: string): string {\n return marked(content, markedOptions);\n}\n\nexport { hljs };\n"]}
1
+ {"version":3,"file":"marked.js","sourceRoot":"","sources":["../../../src/helpers/marked.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAgC;AAGhC,+DAAyC;AAgChC,eAhCF,cAAI,CAgCE;AA7Bb,yEAAmD;AACnD,cAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAI,CAAC,CAAC;AAGpC,yEAAmD;AACnD,cAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAI,CAAC,CAAC;AAGpC,yEAAmD;AACnD,cAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAI,CAAC,CAAC;AAEpC,IAAM,aAAa,GAAyB;IAC1C,UAAU,EAAE,gBAAgB;IAC5B,SAAS,EAAE,UAAC,IAAI,EAAE,QAAQ;QACxB,IAAI,CAAC,cAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QACD,IAAI;YACF,OAAO,cAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC,KAAK,CAAC;SACjD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CACF,CAAC;AAEF,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,IAAA,eAAM,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC;AAFD,wCAEC","sourcesContent":["import { marked } from 'marked';\n\n// @ts-ignore\nimport hljs from 'highlight.js/lib/core';\n\n// @ts-ignore\nimport json from 'highlight.js/lib/languages/json';\nhljs.registerLanguage('json', json);\n\n// @ts-ignore\nimport yaml from 'highlight.js/lib/languages/yaml';\nhljs.registerLanguage('yaml', yaml);\n\n// @ts-ignore\nimport bash from 'highlight.js/lib/languages/bash';\nhljs.registerLanguage('bash', bash);\n\nconst markedOptions: marked.MarkedOptions = {\n langPrefix: 'hljs language-',\n highlight: (code, language) => {\n if (!hljs.getLanguage(language)) {\n return code;\n }\n try {\n return hljs.highlight(code, { language }).value;\n } catch (e) {\n return code;\n }\n },\n};\n\nexport function renderMarkdown(content: string): string {\n return marked(content, markedOptions);\n}\n\nexport { hljs };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAeA,SAAgB,yBAAyB,CACvC,MAAmB;IAEnB,OAAQ,MAAkC,CAAC,GAAG,KAAK,SAAS,CAAC;AAC/D,CAAC;AAJD,8DAIC;AAYD,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;AACzB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB","sourcesContent":["import { AsyncAPIDocument } from '@asyncapi/parser';\n\nexport type PropsSchema =\n | string\n | FetchingSchemaInterface\n | AsyncAPIDocument\n | any; // any for JSON input\n\nexport type NullableAsyncApi = AsyncAPIDocument | null;\n\nexport interface AsyncApiState {\n validatedSchema: NullableAsyncApi;\n error?: ErrorObject;\n}\n\nexport function isFetchingSchemaInterface(\n schema: PropsSchema,\n): schema is FetchingSchemaInterface {\n return (schema as FetchingSchemaInterface).url !== undefined;\n}\n\nexport interface FetchingSchemaInterface {\n url: string;\n requestOptions?: RequestInit;\n}\n\nexport interface ParserReturn {\n asyncapi?: AsyncAPIDocument;\n error?: ErrorObject;\n}\n\nexport enum PayloadType {\n PUBLISH = 'publish',\n SUBSCRIBE = 'subscribe',\n}\n\nexport interface MessageExample {\n name?: string;\n summary?: string;\n example: any;\n}\n\nexport interface ValidationError {\n title: string;\n location: {\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n };\n}\n\nexport interface ErrorObject {\n type: string;\n title: string;\n detail?: string;\n parsedJSON?: any;\n validationErrors?: ValidationError[];\n location?: {\n startLine: number;\n startColumn: number;\n startOffset: number;\n };\n refs?: Array<{\n title: string;\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n }>;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAeA,SAAgB,yBAAyB,CACvC,MAAmB;IAEnB,OAAQ,MAAkC,CAAC,GAAG,KAAK,SAAS,CAAC;AAC/D,CAAC;AAJD,8DAIC;AAYD,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;AACzB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB","sourcesContent":["import { AsyncAPIDocument } from '@asyncapi/parser';\n\nexport type PropsSchema =\n | string\n | FetchingSchemaInterface\n | AsyncAPIDocument\n | object;\n\nexport type NullableAsyncApi = AsyncAPIDocument | null;\n\nexport interface AsyncApiState {\n validatedSchema: NullableAsyncApi;\n error?: ErrorObject;\n}\n\nexport function isFetchingSchemaInterface(\n schema: PropsSchema,\n): schema is FetchingSchemaInterface {\n return (schema as FetchingSchemaInterface).url !== undefined;\n}\n\nexport interface FetchingSchemaInterface {\n url: string;\n requestOptions?: RequestInit;\n}\n\nexport interface ParserReturn {\n asyncapi?: AsyncAPIDocument;\n error?: ErrorObject;\n}\n\nexport enum PayloadType {\n PUBLISH = 'publish',\n SUBSCRIBE = 'subscribe',\n}\n\nexport interface MessageExample {\n name?: string;\n summary?: string;\n example: any;\n}\n\nexport interface ValidationError {\n title: string;\n location: {\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n };\n}\n\nexport interface ErrorObject {\n type: string;\n title: string;\n detail?: string;\n parsedJSON?: any;\n validationErrors?: ValidationError[];\n location?: {\n startLine: number;\n startColumn: number;\n startOffset: number;\n };\n refs?: Array<{\n title: string;\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n }>;\n}\n"]}
@@ -12,7 +12,7 @@ export var Bindings = function (_a) {
12
12
  var schemaName = (React.createElement("div", { className: "inline-block text-sm" },
13
13
  React.createElement("span", null, name),
14
14
  React.createElement("span", { className: "bg-teal-500 font-bold no-underline text-white uppercase rounded mx-2 px-2 py-1 text-xs" }, bindingName)));
15
- return (schema && (React.createElement(Schema, { schemaName: schemaName, schema: schema, key: bindingName })));
15
+ return (schema && (React.createElement(Schema, { schemaName: schemaName, schema: schema, key: bindingName, onlyTitle: true })));
16
16
  });
17
17
  return React.createElement(React.Fragment, null, renderedBindings);
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Bindings.js","sourceRoot":"","sources":["../../../src/components/Bindings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAO3C,MAAM,CAAC,IAAM,QAAQ,GAAmC,UAAC,EAGxD;QAFC,YAAqC,EAArC,IAAI,mBAAG,8BAA8B,KAAA,EACrC,QAAQ,cAAA;IAER,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;QAC9C,OAAO,IAAI,CAAC;KACb;IAED,IAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CACnD,UAAC,EAAsB;YAArB,WAAW,QAAA,EAAE,OAAO,QAAA;QACpB,IAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,IAAM,UAAU,GAAG,CACjB,6BAAK,SAAS,EAAC,sBAAsB;YACnC,kCAAO,IAAI,CAAQ;YACnB,8BAAM,SAAS,EAAC,wFAAwF,IACrG,WAAW,CACP,CACH,CACP,CAAC;QACF,OAAO,CACL,MAAM,IAAI,CACR,oBAAC,MAAM,IAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAI,CACrE,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,0CAAG,gBAAgB,CAAI,CAAC;AACjC,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Schema } from './Schema';\n\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n name?: string;\n bindings: any;\n}\n\nexport const Bindings: React.FunctionComponent<Props> = ({\n name = 'Binding specific information',\n bindings,\n}) => {\n if (!bindings || !Object.keys(bindings).length) {\n return null;\n }\n\n const renderedBindings = Object.entries(bindings).map(\n ([bindingName, binding]) => {\n const schema = SchemaHelpers.jsonToSchema(binding);\n const schemaName = (\n <div className=\"inline-block text-sm\">\n <span>{name}</span>\n <span className=\"bg-teal-500 font-bold no-underline text-white uppercase rounded mx-2 px-2 py-1 text-xs\">\n {bindingName}\n </span>\n </div>\n );\n return (\n schema && (\n <Schema schemaName={schemaName} schema={schema} key={bindingName} />\n )\n );\n },\n );\n return <>{renderedBindings}</>;\n};\n"]}
1
+ {"version":3,"file":"Bindings.js","sourceRoot":"","sources":["../../../src/components/Bindings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAO3C,MAAM,CAAC,IAAM,QAAQ,GAAmC,UAAC,EAGxD;QAFC,YAAqC,EAArC,IAAI,mBAAG,8BAA8B,KAAA,EACrC,QAAQ,cAAA;IAER,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;QAC9C,OAAO,IAAI,CAAC;KACb;IAED,IAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CACnD,UAAC,EAAsB;YAArB,WAAW,QAAA,EAAE,OAAO,QAAA;QACpB,IAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,IAAM,UAAU,GAAG,CACjB,6BAAK,SAAS,EAAC,sBAAsB;YACnC,kCAAO,IAAI,CAAQ;YACnB,8BAAM,SAAS,EAAC,wFAAwF,IACrG,WAAW,CACP,CACH,CACP,CAAC;QACF,OAAO,CACL,MAAM,IAAI,CACR,oBAAC,MAAM,IACL,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,IAAI,GACf,CACH,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,0CAAG,gBAAgB,CAAI,CAAC;AACjC,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Schema } from './Schema';\n\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n name?: string;\n bindings: any;\n}\n\nexport const Bindings: React.FunctionComponent<Props> = ({\n name = 'Binding specific information',\n bindings,\n}) => {\n if (!bindings || !Object.keys(bindings).length) {\n return null;\n }\n\n const renderedBindings = Object.entries(bindings).map(\n ([bindingName, binding]) => {\n const schema = SchemaHelpers.jsonToSchema(binding);\n const schemaName = (\n <div className=\"inline-block text-sm\">\n <span>{name}</span>\n <span className=\"bg-teal-500 font-bold no-underline text-white uppercase rounded mx-2 px-2 py-1 text-xs\">\n {bindingName}\n </span>\n </div>\n );\n return (\n schema && (\n <Schema\n schemaName={schemaName}\n schema={schema}\n key={bindingName}\n onlyTitle={true}\n />\n )\n );\n },\n );\n return <>{renderedBindings}</>;\n};\n"]}
@@ -9,6 +9,6 @@ export var Extensions = function (_a) {
9
9
  }
10
10
  var schema = SchemaHelpers.jsonToSchema(extensions);
11
11
  return (schema && (React.createElement("div", { className: "mt-2" },
12
- React.createElement(Schema, { schemaName: name, schema: schema }))));
12
+ React.createElement(Schema, { schemaName: name, schema: schema, onlyTitle: true }))));
13
13
  };
14
14
  //# sourceMappingURL=Extensions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Extensions.js","sourceRoot":"","sources":["../../../src/components/Extensions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAO3C,MAAM,CAAC,IAAM,UAAU,GAAmC,UAAC,EAG1D;QAFC,YAAmB,EAAnB,IAAI,mBAAG,YAAY,KAAA,EACnB,IAAI,UAAA;IAEJ,IAAM,UAAU,GAAG,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;QAClD,OAAO,IAAI,CAAC;KACb;IAED,IAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO,CACL,MAAM,IAAI,CACR,6BAAK,SAAS,EAAC,MAAM;QACnB,oBAAC,MAAM,IAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAI,CACxC,CACP,CACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Schema } from './Schema';\n\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n name?: string;\n item: any;\n}\n\nexport const Extensions: React.FunctionComponent<Props> = ({\n name = 'Extensions',\n item,\n}) => {\n const extensions = SchemaHelpers.getCustomExtensions(item);\n if (!extensions || !Object.keys(extensions).length) {\n return null;\n }\n\n const schema = SchemaHelpers.jsonToSchema(extensions);\n return (\n schema && (\n <div className=\"mt-2\">\n <Schema schemaName={name} schema={schema} />\n </div>\n )\n );\n};\n"]}
1
+ {"version":3,"file":"Extensions.js","sourceRoot":"","sources":["../../../src/components/Extensions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAO3C,MAAM,CAAC,IAAM,UAAU,GAAmC,UAAC,EAG1D;QAFC,YAAmB,EAAnB,IAAI,mBAAG,YAAY,KAAA,EACnB,IAAI,UAAA;IAEJ,IAAM,UAAU,GAAG,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;QAClD,OAAO,IAAI,CAAC;KACb;IAED,IAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO,CACL,MAAM,IAAI,CACR,6BAAK,SAAS,EAAC,MAAM;QACnB,oBAAC,MAAM,IAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAI,CACzD,CACP,CACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Schema } from './Schema';\n\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n name?: string;\n item: any;\n}\n\nexport const Extensions: React.FunctionComponent<Props> = ({\n name = 'Extensions',\n item,\n}) => {\n const extensions = SchemaHelpers.getCustomExtensions(item);\n if (!extensions || !Object.keys(extensions).length) {\n return null;\n }\n\n const schema = SchemaHelpers.jsonToSchema(extensions);\n return (\n schema && (\n <div className=\"mt-2\">\n <Schema schemaName={name} schema={schema} onlyTitle={true} />\n </div>\n )\n );\n};\n"]}
@@ -3,9 +3,9 @@ import { Href, CollapseButton, Markdown, Extensions } from './index';
3
3
  import { SchemaHelpers } from '../helpers';
4
4
  var SchemaContext = React.createContext({ reverse: false });
5
5
  export var Schema = function (_a) {
6
- var schemaName = _a.schemaName, schema = _a.schema, _b = _a.required, required = _b === void 0 ? false : _b, _c = _a.isPatternProperty, isPatternProperty = _c === void 0 ? false : _c, _d = _a.isProperty, isProperty = _d === void 0 ? false : _d, _e = _a.isCircular, isCircular = _e === void 0 ? false : _e, dependentRequired = _a.dependentRequired, _f = _a.expanded, expanded = _f === void 0 ? false : _f;
6
+ var schemaName = _a.schemaName, schema = _a.schema, _b = _a.required, required = _b === void 0 ? false : _b, _c = _a.isPatternProperty, isPatternProperty = _c === void 0 ? false : _c, _d = _a.isProperty, isProperty = _d === void 0 ? false : _d, _e = _a.isCircular, isCircular = _e === void 0 ? false : _e, dependentRequired = _a.dependentRequired, _f = _a.expanded, expanded = _f === void 0 ? false : _f, _g = _a.onlyTitle, onlyTitle = _g === void 0 ? false : _g;
7
7
  var reverse = useContext(SchemaContext).reverse;
8
- var _g = useState(expanded), expand = _g[0], setExpand = _g[1];
8
+ var _h = useState(expanded), expand = _h[0], setExpand = _h[1];
9
9
  if (!schema ||
10
10
  (typeof schemaName === 'string' &&
11
11
  ((schemaName === null || schemaName === void 0 ? void 0 : schemaName.startsWith('x-parser-')) ||
@@ -48,7 +48,7 @@ export var Schema = function (_a) {
48
48
  return (React.createElement(SchemaContext.Provider, { value: { reverse: !reverse } },
49
49
  React.createElement("div", null,
50
50
  React.createElement("div", { className: "flex py-2" },
51
- React.createElement("div", { className: "w-3/12 min-w-min mr-2" },
51
+ React.createElement("div", { className: "".concat(onlyTitle ? '' : 'min-w-1/4', " mr-2") },
52
52
  isExpandable && !isCircular ? (React.createElement(CollapseButton, { onClick: function () { return setExpand(function (prev) { return !prev; }); }, chevronProps: {
53
53
  className: expand ? '-rotate-180' : '-rotate-90',
54
54
  } }, renderedSchemaName)) : (React.createElement("span", { className: "break-words text-sm ".concat(isProperty ? 'italic' : '') }, schemaName)),
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/components/Schema.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useContext } from 'react';\nimport { Schema as SchemaType } from '@asyncapi/parser';\n\nimport { Href, CollapseButton, Markdown, Extensions } from './index';\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n schemaName?: React.ReactNode;\n schema?: SchemaType;\n required?: boolean;\n isPatternProperty?: boolean;\n isProperty?: boolean;\n isCircular?: boolean;\n dependentRequired?: string[];\n expanded?: boolean;\n}\n\nconst SchemaContext = React.createContext({ reverse: false });\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 = false,\n}) => {\n const { reverse } = useContext(SchemaContext);\n const [expand, setExpand] = useState(expanded);\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 renderType = schema.ext(SchemaHelpers.extRenderType) !== false;\n const rawValue = schema.ext(SchemaHelpers.extRawValue) === true;\n const parameterLocation = schema.ext(SchemaHelpers.extParameterLocation);\n const isExpandable = SchemaHelpers.isExpandable(schema) || dependentSchemas;\n\n let schemaType = SchemaHelpers.toSchemaType(schema);\n isCircular =\n isCircular ||\n schema.isCircular() ||\n schema.ext('x-parser-circular') ||\n false;\n let uid = schema.uid();\n\n const schemaItems = schema.items();\n if (schemaItems && !Array.isArray(schemaItems)) {\n /**\n * fallback for older logic for circular references:\n *\n * checking uid for circular items\n * `x-parser-circular` extension is added to every schema which has circular `items` field,\n * so we must check that `items` is schema (not array of schemas) and infer UID of schema to display which schema is circular (by the name of schema)\n */\n isCircular =\n isCircular ||\n schemaItems.isCircular() ||\n schemaItems.ext('x-parser-circular') ||\n false;\n uid = schemaItems.uid();\n if (\n isCircular &&\n typeof (schemaItems as any).circularSchema === 'function'\n ) {\n schemaType = SchemaHelpers.toSchemaType(\n (schemaItems as any).circularSchema(),\n );\n }\n } else if (\n isCircular &&\n typeof (schema as any).circularSchema === 'function'\n ) {\n schemaType = SchemaHelpers.toSchemaType((schema as any).circularSchema());\n }\n\n const styledSchemaName = isProperty ? 'italic' : '';\n const renderedSchemaName =\n typeof schemaName === 'string' ? (\n <span className={`break-words text-sm ${styledSchemaName}`}>\n {schemaName}\n </span>\n ) : (\n schemaName\n );\n\n return (\n <SchemaContext.Provider value={{ reverse: !reverse }}>\n <div>\n <div className=\"flex py-2\">\n <div className=\"w-3/12 min-w-min mr-2\">\n {isExpandable && !isCircular ? (\n <CollapseButton\n onClick={() => setExpand(prev => !prev)}\n chevronProps={{\n className: expand ? '-rotate-180' : '-rotate-90',\n }}\n >\n {renderedSchemaName}\n </CollapseButton>\n ) : (\n <span\n className={`break-words text-sm ${isProperty ? 'italic' : ''}`}\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\">{schema.const()}</div>\n </div>\n ) : (\n <div>\n <div>\n {renderType && (\n <div className=\"capitalize text-sm text-teal-500 font-bold inline-block mr-2\">\n {isCircular ? `${schemaType} [CIRCULAR]` : schemaType}\n </div>\n )}\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 lowercase 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.hasDescription() && (\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 } ${expand ? 'block' : 'hidden'}`}\n >\n <SchemaProperties schema={schema} />\n <SchemaItems schema={schema} />\n\n {schema.oneOf() &&\n schema\n .oneOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Adheres to:' : 'Or to:'}\n />\n ))}\n {schema.anyOf() &&\n schema\n .anyOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Can adhere to:' : 'Or to:'}\n />\n ))}\n {schema.allOf() &&\n schema\n .allOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Consists of:' : 'And with:'}\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: SchemaType;\n}\n\nconst SchemaProperties: React.FunctionComponent<SchemaPropertiesProps> = ({\n schema,\n}) => {\n const properties = schema.properties() || {};\n if (!Object.keys(properties)) {\n return null;\n }\n\n const required = schema.required() || [];\n const patternProperties = schema.patternProperties();\n const circularProps = schema.ext('x-parser-circular-props') || [];\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={true}\n isCircular={circularProps.includes(propertyName)}\n dependentRequired={SchemaHelpers.getDependentRequired(\n propertyName,\n schema,\n )}\n key={propertyName}\n />\n ))}\n {Object.entries(patternProperties).map(([propertyName, property]) => (\n <Schema\n schema={property}\n schemaName={propertyName}\n isPatternProperty={true}\n isProperty={true}\n isCircular={circularProps.includes(propertyName)}\n key={propertyName}\n />\n ))}\n </>\n );\n};\n\ninterface AdditionalPropertiesProps {\n schema: SchemaType;\n}\n\nconst AdditionalProperties: React.FunctionComponent<AdditionalPropertiesProps> = ({\n schema,\n}) => {\n if (schema.ext(SchemaHelpers.extRenderAdditionalInfo) === false) {\n return null;\n }\n\n let type = schema.type();\n type = Array.isArray(type) ? type : [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: SchemaType;\n}\n\nconst SchemaItems: React.FunctionComponent<SchemaItemsProps> = ({ schema }) => {\n let type = schema.type();\n type = Array.isArray(type) ? type : [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 <SchemaProperties schema={items} />;\n } else if (Array.isArray(items)) {\n return (\n <>\n {items.map((item, idx) => (\n <Schema schema={item} schemaName={`${idx + 1} item:`} key={idx} />\n ))}\n </>\n );\n }\n return <Schema schema={items} schemaName=\"Items:\" />;\n};\n\ninterface AdditionalItemsProps {\n schema: SchemaType;\n}\n\nconst AdditionalItems: React.FunctionComponent<AdditionalItemsProps> = ({\n schema,\n}) => {\n if (schema.ext(SchemaHelpers.extRenderAdditionalInfo) === false) {\n return null;\n }\n\n let type = schema.type();\n type = Array.isArray(type) ? type : [type];\n if (!type.includes('array')) {\n return null;\n }\n if (!Array.isArray(schema.items())) {\n return null;\n }\n\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 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, useContext } from 'react';\nimport { Schema as SchemaType } from '@asyncapi/parser';\n\nimport { Href, CollapseButton, Markdown, Extensions } from './index';\nimport { SchemaHelpers } from '../helpers';\n\ninterface Props {\n schemaName?: React.ReactNode;\n schema?: SchemaType;\n required?: boolean;\n isPatternProperty?: boolean;\n isProperty?: boolean;\n isCircular?: boolean;\n dependentRequired?: string[];\n expanded?: boolean;\n onlyTitle?: boolean;\n}\n\nconst SchemaContext = React.createContext({ reverse: false });\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 = false,\n onlyTitle = false,\n}) => {\n const { reverse } = useContext(SchemaContext);\n const [expand, setExpand] = useState(expanded);\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 renderType = schema.ext(SchemaHelpers.extRenderType) !== false;\n const rawValue = schema.ext(SchemaHelpers.extRawValue) === true;\n const parameterLocation = schema.ext(SchemaHelpers.extParameterLocation);\n const isExpandable = SchemaHelpers.isExpandable(schema) || dependentSchemas;\n\n let schemaType = SchemaHelpers.toSchemaType(schema);\n isCircular =\n isCircular ||\n schema.isCircular() ||\n schema.ext('x-parser-circular') ||\n false;\n let uid = schema.uid();\n\n const schemaItems = schema.items();\n if (schemaItems && !Array.isArray(schemaItems)) {\n /**\n * fallback for older logic for circular references:\n *\n * checking uid for circular items\n * `x-parser-circular` extension is added to every schema which has circular `items` field,\n * so we must check that `items` is schema (not array of schemas) and infer UID of schema to display which schema is circular (by the name of schema)\n */\n isCircular =\n isCircular ||\n schemaItems.isCircular() ||\n schemaItems.ext('x-parser-circular') ||\n false;\n uid = schemaItems.uid();\n if (\n isCircular &&\n typeof (schemaItems as any).circularSchema === 'function'\n ) {\n schemaType = SchemaHelpers.toSchemaType(\n (schemaItems as any).circularSchema(),\n );\n }\n } else if (\n isCircular &&\n typeof (schema as any).circularSchema === 'function'\n ) {\n schemaType = SchemaHelpers.toSchemaType((schema as any).circularSchema());\n }\n\n const styledSchemaName = isProperty ? 'italic' : '';\n const renderedSchemaName =\n typeof schemaName === 'string' ? (\n <span className={`break-words text-sm ${styledSchemaName}`}>\n {schemaName}\n </span>\n ) : (\n schemaName\n );\n\n return (\n <SchemaContext.Provider value={{ reverse: !reverse }}>\n <div>\n <div className=\"flex py-2\">\n <div className={`${onlyTitle ? '' : 'min-w-1/4'} mr-2`}>\n {isExpandable && !isCircular ? (\n <CollapseButton\n onClick={() => setExpand(prev => !prev)}\n chevronProps={{\n className: expand ? '-rotate-180' : '-rotate-90',\n }}\n >\n {renderedSchemaName}\n </CollapseButton>\n ) : (\n <span\n className={`break-words text-sm ${isProperty ? 'italic' : ''}`}\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\">{schema.const()}</div>\n </div>\n ) : (\n <div>\n <div>\n {renderType && (\n <div className=\"capitalize text-sm text-teal-500 font-bold inline-block mr-2\">\n {isCircular ? `${schemaType} [CIRCULAR]` : schemaType}\n </div>\n )}\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 lowercase 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.hasDescription() && (\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 } ${expand ? 'block' : 'hidden'}`}\n >\n <SchemaProperties schema={schema} />\n <SchemaItems schema={schema} />\n\n {schema.oneOf() &&\n schema\n .oneOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Adheres to:' : 'Or to:'}\n />\n ))}\n {schema.anyOf() &&\n schema\n .anyOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Can adhere to:' : 'Or to:'}\n />\n ))}\n {schema.allOf() &&\n schema\n .allOf()\n .map((s, idx) => (\n <Schema\n key={idx}\n schema={s}\n schemaName={idx === 0 ? 'Consists of:' : 'And with:'}\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: SchemaType;\n}\n\nconst SchemaProperties: React.FunctionComponent<SchemaPropertiesProps> = ({\n schema,\n}) => {\n const properties = schema.properties() || {};\n if (!Object.keys(properties)) {\n return null;\n }\n\n const required = schema.required() || [];\n const patternProperties = schema.patternProperties();\n const circularProps = schema.ext('x-parser-circular-props') || [];\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={true}\n isCircular={circularProps.includes(propertyName)}\n dependentRequired={SchemaHelpers.getDependentRequired(\n propertyName,\n schema,\n )}\n key={propertyName}\n />\n ))}\n {Object.entries(patternProperties).map(([propertyName, property]) => (\n <Schema\n schema={property}\n schemaName={propertyName}\n isPatternProperty={true}\n isProperty={true}\n isCircular={circularProps.includes(propertyName)}\n key={propertyName}\n />\n ))}\n </>\n );\n};\n\ninterface AdditionalPropertiesProps {\n schema: SchemaType;\n}\n\nconst AdditionalProperties: React.FunctionComponent<AdditionalPropertiesProps> = ({\n schema,\n}) => {\n if (schema.ext(SchemaHelpers.extRenderAdditionalInfo) === false) {\n return null;\n }\n\n let type = schema.type();\n type = Array.isArray(type) ? type : [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: SchemaType;\n}\n\nconst SchemaItems: React.FunctionComponent<SchemaItemsProps> = ({ schema }) => {\n let type = schema.type();\n type = Array.isArray(type) ? type : [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 <SchemaProperties schema={items} />;\n } else if (Array.isArray(items)) {\n return (\n <>\n {items.map((item, idx) => (\n <Schema schema={item} schemaName={`${idx + 1} item:`} key={idx} />\n ))}\n </>\n );\n }\n return <Schema schema={items} schemaName=\"Items:\" />;\n};\n\ninterface AdditionalItemsProps {\n schema: SchemaType;\n}\n\nconst AdditionalItems: React.FunctionComponent<AdditionalItemsProps> = ({\n schema,\n}) => {\n if (schema.ext(SchemaHelpers.extRenderAdditionalInfo) === false) {\n return null;\n }\n\n let type = schema.type();\n type = Array.isArray(type) ? type : [type];\n if (!type.includes('array')) {\n return null;\n }\n if (!Array.isArray(schema.items())) {\n return null;\n }\n\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 return <Schema schemaName=\"Additional items:\" schema={additionalItems} />;\n};\n"]}
@@ -1,4 +1,4 @@
1
- import marked from 'marked';
1
+ import { marked } from 'marked';
2
2
  import hljs from 'highlight.js/lib/core';
3
3
  import json from 'highlight.js/lib/languages/json';
4
4
  hljs.registerLanguage('json', json);
@@ -1 +1 @@
1
- {"version":3,"file":"marked.js","sourceRoot":"","sources":["../../../src/helpers/marked.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,OAAO,IAAI,MAAM,uBAAuB,CAAC;AAGzC,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAGpC,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAGpC,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAEpC,IAAM,aAAa,GAAyB;IAC1C,UAAU,EAAE,gBAAgB;IAC5B,SAAS,EAAE,UAAC,IAAI,EAAE,QAAQ;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QACD,IAAI;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC,KAAK,CAAC;SACjD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC;AAED,OAAO,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import marked from 'marked';\n\n// @ts-ignore\nimport hljs from 'highlight.js/lib/core';\n\n// @ts-ignore\nimport json from 'highlight.js/lib/languages/json';\nhljs.registerLanguage('json', json);\n\n// @ts-ignore\nimport yaml from 'highlight.js/lib/languages/yaml';\nhljs.registerLanguage('yaml', yaml);\n\n// @ts-ignore\nimport bash from 'highlight.js/lib/languages/bash';\nhljs.registerLanguage('bash', bash);\n\nconst markedOptions: marked.MarkedOptions = {\n langPrefix: 'hljs language-',\n highlight: (code, language) => {\n if (!hljs.getLanguage(language)) {\n return code;\n }\n try {\n return hljs.highlight(code, { language }).value;\n } catch (e) {\n return code;\n }\n },\n};\n\nexport function renderMarkdown(content: string): string {\n return marked(content, markedOptions);\n}\n\nexport { hljs };\n"]}
1
+ {"version":3,"file":"marked.js","sourceRoot":"","sources":["../../../src/helpers/marked.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,IAAI,MAAM,uBAAuB,CAAC;AAGzC,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAGpC,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAGpC,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAEpC,IAAM,aAAa,GAAyB;IAC1C,UAAU,EAAE,gBAAgB;IAC5B,SAAS,EAAE,UAAC,IAAI,EAAE,QAAQ;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QACD,IAAI;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC,KAAK,CAAC;SACjD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC;AAED,OAAO,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { marked } from 'marked';\n\n// @ts-ignore\nimport hljs from 'highlight.js/lib/core';\n\n// @ts-ignore\nimport json from 'highlight.js/lib/languages/json';\nhljs.registerLanguage('json', json);\n\n// @ts-ignore\nimport yaml from 'highlight.js/lib/languages/yaml';\nhljs.registerLanguage('yaml', yaml);\n\n// @ts-ignore\nimport bash from 'highlight.js/lib/languages/bash';\nhljs.registerLanguage('bash', bash);\n\nconst markedOptions: marked.MarkedOptions = {\n langPrefix: 'hljs language-',\n highlight: (code, language) => {\n if (!hljs.getLanguage(language)) {\n return code;\n }\n try {\n return hljs.highlight(code, { language }).value;\n } catch (e) {\n return code;\n }\n },\n};\n\nexport function renderMarkdown(content: string): string {\n return marked(content, markedOptions);\n}\n\nexport { hljs };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,yBAAyB,CACvC,MAAmB;IAEnB,OAAQ,MAAkC,CAAC,GAAG,KAAK,SAAS,CAAC;AAC/D,CAAC;AAYD,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;AACzB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB","sourcesContent":["import { AsyncAPIDocument } from '@asyncapi/parser';\n\nexport type PropsSchema =\n | string\n | FetchingSchemaInterface\n | AsyncAPIDocument\n | any; // any for JSON input\n\nexport type NullableAsyncApi = AsyncAPIDocument | null;\n\nexport interface AsyncApiState {\n validatedSchema: NullableAsyncApi;\n error?: ErrorObject;\n}\n\nexport function isFetchingSchemaInterface(\n schema: PropsSchema,\n): schema is FetchingSchemaInterface {\n return (schema as FetchingSchemaInterface).url !== undefined;\n}\n\nexport interface FetchingSchemaInterface {\n url: string;\n requestOptions?: RequestInit;\n}\n\nexport interface ParserReturn {\n asyncapi?: AsyncAPIDocument;\n error?: ErrorObject;\n}\n\nexport enum PayloadType {\n PUBLISH = 'publish',\n SUBSCRIBE = 'subscribe',\n}\n\nexport interface MessageExample {\n name?: string;\n summary?: string;\n example: any;\n}\n\nexport interface ValidationError {\n title: string;\n location: {\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n };\n}\n\nexport interface ErrorObject {\n type: string;\n title: string;\n detail?: string;\n parsedJSON?: any;\n validationErrors?: ValidationError[];\n location?: {\n startLine: number;\n startColumn: number;\n startOffset: number;\n };\n refs?: Array<{\n title: string;\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n }>;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,yBAAyB,CACvC,MAAmB;IAEnB,OAAQ,MAAkC,CAAC,GAAG,KAAK,SAAS,CAAC;AAC/D,CAAC;AAYD,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;AACzB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB","sourcesContent":["import { AsyncAPIDocument } from '@asyncapi/parser';\n\nexport type PropsSchema =\n | string\n | FetchingSchemaInterface\n | AsyncAPIDocument\n | object;\n\nexport type NullableAsyncApi = AsyncAPIDocument | null;\n\nexport interface AsyncApiState {\n validatedSchema: NullableAsyncApi;\n error?: ErrorObject;\n}\n\nexport function isFetchingSchemaInterface(\n schema: PropsSchema,\n): schema is FetchingSchemaInterface {\n return (schema as FetchingSchemaInterface).url !== undefined;\n}\n\nexport interface FetchingSchemaInterface {\n url: string;\n requestOptions?: RequestInit;\n}\n\nexport interface ParserReturn {\n asyncapi?: AsyncAPIDocument;\n error?: ErrorObject;\n}\n\nexport enum PayloadType {\n PUBLISH = 'publish',\n SUBSCRIBE = 'subscribe',\n}\n\nexport interface MessageExample {\n name?: string;\n summary?: string;\n example: any;\n}\n\nexport interface ValidationError {\n title: string;\n location: {\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n };\n}\n\nexport interface ErrorObject {\n type: string;\n title: string;\n detail?: string;\n parsedJSON?: any;\n validationErrors?: ValidationError[];\n location?: {\n startLine: number;\n startColumn: number;\n startOffset: number;\n };\n refs?: Array<{\n title: string;\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n }>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Bindings.d.ts","sourceRoot":"","sources":["../../../src/components/Bindings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,UAAU,KAAK;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;CACf;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CA2BnD,CAAC"}
1
+ {"version":3,"file":"Bindings.d.ts","sourceRoot":"","sources":["../../../src/components/Bindings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,UAAU,KAAK;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;CACf;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAgCnD,CAAC"}
@@ -9,6 +9,7 @@ interface Props {
9
9
  isCircular?: boolean;
10
10
  dependentRequired?: string[];
11
11
  expanded?: boolean;
12
+ onlyTitle?: boolean;
12
13
  }
13
14
  export declare const Schema: React.FunctionComponent<Props>;
14
15
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/components/Schema.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKxD,UAAU,KAAK;IACb,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAiVjD,CAAC"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/components/Schema.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKxD,UAAU,KAAK;IACb,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAkVjD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { AsyncAPIDocument } from '@asyncapi/parser';
2
- export declare type PropsSchema = string | FetchingSchemaInterface | AsyncAPIDocument | any;
2
+ export declare type PropsSchema = string | FetchingSchemaInterface | AsyncAPIDocument | object;
3
3
  export declare type NullableAsyncApi = AsyncAPIDocument | null;
4
4
  export interface AsyncApiState {
5
5
  validatedSchema: NullableAsyncApi;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,oBAAY,WAAW,GACnB,MAAM,GACN,uBAAuB,GACvB,gBAAgB,GAChB,GAAG,CAAC;AAER,oBAAY,gBAAgB,GAAG,gBAAgB,GAAG,IAAI,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,gBAAgB,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,WAAW,GAClB,MAAM,IAAI,uBAAuB,CAEnC;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,oBAAY,WAAW,GACnB,MAAM,GACN,uBAAuB,GACvB,gBAAgB,GAChB,MAAM,CAAC;AAEX,oBAAY,gBAAgB,GAAG,gBAAgB,GAAG,IAAI,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,gBAAgB,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,WAAW,GAClB,MAAM,IAAI,uBAAuB,CAEnC;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asyncapi/react-component",
3
- "version": "1.0.0-next.28",
3
+ "version": "1.0.0-next.31",
4
4
  "private": false,
5
5
  "description": "A React component for AsyncAPI specification.",
6
6
  "repository": {
@@ -73,7 +73,7 @@
73
73
  "@asyncapi/parser": "^1.13.0",
74
74
  "highlight.js": "^10.7.2",
75
75
  "isomorphic-dompurify": "^0.13.0",
76
- "marked": "^2.1.1",
76
+ "marked": "^4.0.10",
77
77
  "openapi-sampler": "^1.1.0",
78
78
  "use-resize-observer": "^7.0.0"
79
79
  },
@@ -86,7 +86,7 @@
86
86
  "@types/dompurify": "^2.0.4",
87
87
  "@types/highlight.js": "^10.1.0",
88
88
  "@types/jest": "^26.0.23",
89
- "@types/marked": "^2.0.2",
89
+ "@types/marked": "^4.0.1",
90
90
  "@types/node": "^12.7.2",
91
91
  "@types/react": "^16.9.2",
92
92
  "@types/react-dom": "^17.0.3",
@@ -1363,18 +1363,12 @@ Add the correct display in Chrome and Safari.
1363
1363
  width: 16rem;
1364
1364
  }
1365
1365
 
1366
- .aui-root .w-3\/12{
1367
- width: 25%;
1368
- }
1369
-
1370
1366
  .aui-root .w-full{
1371
1367
  width: 100%;
1372
1368
  }
1373
1369
 
1374
- .aui-root .min-w-min{
1375
- min-width: -webkit-min-content;
1376
- min-width: -moz-min-content;
1377
- min-width: min-content;
1370
+ .aui-root .min-w-1\/4{
1371
+ min-width: 25%;
1378
1372
  }
1379
1373
 
1380
1374
  .aui-root .max-w-none{