@asyncapi/react-component 1.0.0-next.28 → 1.0.0-next.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/index.js +1 -1
- package/browser/standalone/index.js +1 -1
- package/browser/standalone/without-parser.js +1 -1
- package/browser/without-parser.js +1 -1
- package/lib/cjs/components/Bindings.js +1 -1
- package/lib/cjs/components/Bindings.js.map +1 -1
- package/lib/cjs/components/Extensions.js +1 -1
- package/lib/cjs/components/Extensions.js.map +1 -1
- package/lib/cjs/components/Schema.js +3 -3
- package/lib/cjs/components/Schema.js.map +1 -1
- package/lib/esm/components/Bindings.js +1 -1
- package/lib/esm/components/Bindings.js.map +1 -1
- package/lib/esm/components/Extensions.js +1 -1
- package/lib/esm/components/Extensions.js.map +1 -1
- package/lib/esm/components/Schema.js +3 -3
- package/lib/esm/components/Schema.js.map +1 -1
- package/lib/types/components/Bindings.d.ts.map +1 -1
- package/lib/types/components/Schema.d.ts +1 -0
- package/lib/types/components/Schema.d.ts.map +1 -1
- package/package.json +1 -1
- package/styles/default.css +2 -8
- package/styles/default.min.css +1 -1
|
@@ -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,
|
|
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,
|
|
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
|
|
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: "
|
|
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"]}
|
|
@@ -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,
|
|
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,
|
|
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
|
|
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: "
|
|
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 +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,
|
|
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"}
|
|
@@ -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;
|
|
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"}
|
package/package.json
CHANGED
package/styles/default.css
CHANGED
|
@@ -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-
|
|
1375
|
-
min-width:
|
|
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{
|
package/styles/default.min.css
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
|
|
3
3
|
/*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com*/
|
|
4
4
|
|
|
5
|
-
/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */.aui-root html{-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.15;-webkit-text-size-adjust:100%}.aui-root body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.aui-root hr{height:0;color:inherit}.aui-root abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.aui-root b,.aui-root strong{font-weight:bolder}.aui-root code,.aui-root kbd,.aui-root pre,.aui-root samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}.aui-root small{font-size:80%}.aui-root sub,.aui-root sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.aui-root sub{bottom:-.25em}.aui-root sup{top:-.5em}.aui-root table{text-indent:0;border-color:inherit}.aui-root button,.aui-root input,.aui-root optgroup,.aui-root select,.aui-root textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.aui-root button,.aui-root select{text-transform:none}.aui-root [type=button],.aui-root button{-webkit-appearance:button}.aui-root legend{padding:0}.aui-root progress{vertical-align:baseline}.aui-root summary{display:list-item}.aui-root blockquote,.aui-root dd,.aui-root dl,.aui-root figure,.aui-root h1,.aui-root h2,.aui-root h3,.aui-root h4,.aui-root h5,.aui-root h6,.aui-root hr,.aui-root p,.aui-root pre{margin:0}.aui-root button{background-color:transparent;background-image:none}.aui-root fieldset{margin:0;padding:0}.aui-root ol,.aui-root ul{list-style:none;margin:0;padding:0}.aui-root html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.aui-root body{font-family:inherit;line-height:inherit}.aui-root *,.aui-root :after,.aui-root :before{box-sizing:border-box;border:0 solid}.aui-root hr{border-top-width:1px}.aui-root img{border-style:solid}.aui-root textarea{resize:vertical}.aui-root input::-moz-placeholder, .aui-root textarea::-moz-placeholder{opacity:1;color:#cbd5e0}.aui-root input:-ms-input-placeholder, .aui-root textarea:-ms-input-placeholder{opacity:1;color:#cbd5e0}.aui-root input::placeholder,.aui-root textarea::placeholder{opacity:1;color:#cbd5e0}.aui-root button{cursor:pointer}.aui-root table{border-collapse:collapse}.aui-root h1,.aui-root h2,.aui-root h3,.aui-root h4,.aui-root h5,.aui-root h6{font-size:inherit;font-weight:inherit}.aui-root a{color:inherit;text-decoration:inherit}.aui-root button,.aui-root input,.aui-root optgroup,.aui-root select,.aui-root textarea{padding:0;line-height:inherit;color:inherit}.aui-root code,.aui-root kbd,.aui-root pre,.aui-root samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.aui-root audio,.aui-root canvas,.aui-root embed,.aui-root iframe,.aui-root img,.aui-root object,.aui-root svg,.aui-root video{display:block;vertical-align:middle}.aui-root img,.aui-root video{max-width:100%;height:auto}.aui-root [hidden]{display:none}.aui-root *,.aui-root :after,.aui-root :before{--tw-border-opacity:1;border-color:rgba(203,213,224,var(--tw-border-opacity))}.aui-root .prose{color:#4a5568;max-width:65ch}.aui-root .prose [class~=lead]{color:#718096;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.aui-root .prose a{color:#1a202c;text-decoration:underline;font-weight:500}.aui-root .prose strong{color:#1a202c;font-weight:600}.aui-root .prose ol[type=a]{--list-counter-style:lower-alpha}.aui-root .prose ol[type=i]{--list-counter-style:lower-roman}.aui-root .prose ol[type="1"]{--list-counter-style:decimal}.aui-root .prose ol>li{position:relative;padding-left:1.75em}.aui-root .prose ol>li:before{content:counter(list-item,var(--list-counter-style,decimal)) ".";position:absolute;font-weight:400;color:#a0aec0;left:0}.aui-root .prose ul>li{position:relative;padding-left:1.75em}.aui-root .prose ul>li:before{content:"";position:absolute;background-color:#e2e8f0;border-radius:50%;width:.375em;height:.375em;top:.6875em;left:.25em}.aui-root .prose hr{border-color:#edf2f7;border-top-width:1px;margin-top:3em;margin-bottom:3em}.aui-root .prose blockquote{font-weight:500;font-style:italic;color:#1a202c;border-left-width:.25rem;border-left-color:#edf2f7;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.aui-root .prose blockquote p:first-of-type:before{content:open-quote}.aui-root .prose blockquote p:last-of-type:after{content:close-quote}.aui-root .prose h1{color:#1a202c;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.aui-root .prose h2{color:#1a202c;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.aui-root .prose h3{color:#1a202c;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.aui-root .prose h4{color:#1a202c;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.aui-root .prose figure figcaption{color:#a0aec0;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.aui-root .prose code{color:#1a202c;font-weight:600;font-size:.875em}.aui-root .prose code:after,.aui-root .prose code:before{content:"`"}.aui-root .prose a code{color:#1a202c}.aui-root .prose pre{color:#edf2f7;background-color:#1a202c;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.aui-root .prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.aui-root .prose pre code:after,.aui-root .prose pre code:before{content:none}.aui-root .prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.aui-root .prose thead{color:#1a202c;font-weight:600;border-bottom-width:1px;border-bottom-color:#e2e8f0}.aui-root .prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.aui-root .prose tbody tr{border-bottom-width:1px;border-bottom-color:#edf2f7}.aui-root .prose tbody tr:last-child{border-bottom-width:0}.aui-root .prose tbody td{vertical-align:top;padding:.5714286em}.aui-root .prose{font-size:1rem;line-height:1.75}.aui-root .prose p{margin-top:1.25em;margin-bottom:1.25em}.aui-root .prose figure,.aui-root .prose img,.aui-root .prose video{margin-top:2em;margin-bottom:2em}.aui-root .prose figure>*{margin-top:0;margin-bottom:0}.aui-root .prose h2 code{font-size:.875em}.aui-root .prose h3 code{font-size:.9em}.aui-root .prose ol,.aui-root .prose ul{margin-top:1.25em;margin-bottom:1.25em}.aui-root .prose li{margin-top:.5em;margin-bottom:.5em}.aui-root .prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.aui-root .prose>ul>li>:first-child{margin-top:1.25em}.aui-root .prose>ul>li>:last-child{margin-bottom:1.25em}.aui-root .prose>ol>li>:first-child{margin-top:1.25em}.aui-root .prose>ol>li>:last-child{margin-bottom:1.25em}.aui-root .prose ol ol,.aui-root .prose ol ul,.aui-root .prose ul ol,.aui-root .prose ul ul{margin-top:.75em;margin-bottom:.75em}.aui-root .prose h2+*,.aui-root .prose h3+*,.aui-root .prose h4+*,.aui-root .prose hr+*{margin-top:0}.aui-root .prose thead th:first-child{padding-left:0}.aui-root .prose thead th:last-child{padding-right:0}.aui-root .prose tbody td:first-child{padding-left:0}.aui-root .prose tbody td:last-child{padding-right:0}.aui-root .prose>:first-child{margin-top:0}.aui-root .prose>:last-child{margin-bottom:0}@media (min-width:1024px){.aui-root .container\:base .burger-menu{display:none}}@media (min-width:1024px){.aui-root .container\:base .sidebar{position:relative;display:block;height:auto;width:16rem}}@media (min-width:1024px){.aui-root .container\:base .sidebar--content{width:14rem}}.aui-root .container\:xl .sidebar--content{position:absolute;left:50%;transform:translate(-50%)}@media (min-width:1536px){.aui-root .container\:base .panel-item{display:flex}}.aui-root .container\:xl .panel-item{display:block}@media (min-width:1536px){.aui-root .container\:base .panel--center .panel-item--center{width:58.333333%}}@media (min-width:1536px){.aui-root .container\:base .panel--center .panel-item--right{width:41.666667%}}.aui-root .container\:xl .panel--center .panel-item--center,.aui-root .container\:xl .panel--center .panel-item--right{width:100%}@media (min-width:1536px){.aui-root .container\:base .examples{margin-top:0;padding:0}}.aui-root .container\:base .panel--right{display:none}@media (min-width:1536px){.aui-root .container\:base .panel--right{display:block;width:41.666667%}}.aui-root .container\:xl .panel--right{display:none}.aui-root .prose pre{white-space:pre-wrap}.aui-root .fixed{position:fixed}.aui-root .absolute{position:absolute}.aui-root .relative{position:relative}.aui-root .top-0{top:0}.aui-root .right-0{right:0}.aui-root .right-8{right:2rem}.aui-root .bottom-16{bottom:4rem}.aui-root .z-10{z-index:10}.aui-root .z-20{z-index:20}.aui-root .z-30{z-index:30}.aui-root .mx-2{margin-left:.5rem;margin-right:.5rem}.aui-root .-mx-8{margin-left:-2rem;margin-right:-2rem}.aui-root .my-2{margin-top:.5rem;margin-bottom:.5rem}.aui-root .mt-1{margin-top:.25rem}.aui-root .mt-2{margin-top:.5rem}.aui-root .mt-4{margin-top:1rem}.aui-root .mt-9{margin-top:2.25rem}.aui-root .mt-10{margin-top:2.5rem}.aui-root .mt-16{margin-top:4rem}.aui-root .mr-1{margin-right:.25rem}.aui-root .mr-2{margin-right:.5rem}.aui-root .mb-2{margin-bottom:.5rem}.aui-root .mb-3{margin-bottom:.75rem}.aui-root .mb-4{margin-bottom:1rem}.aui-root .mb-12{margin-bottom:3rem}.aui-root .-mb-1{margin-bottom:-.25rem}.aui-root .ml-1{margin-left:.25rem}.aui-root .ml-2{margin-left:.5rem}.aui-root .block{display:block}.aui-root .inline-block{display:inline-block}.aui-root .flex{display:flex}.aui-root .table{display:table}.aui-root .hidden{display:none}.aui-root .h-6{height:1.5rem}.aui-root .h-16{height:4rem}.aui-root .h-full{height:100%}.aui-root .max-h-screen{max-height:100vh}.aui-root .w-5{width:1.25rem}.aui-root .w-16{width:4rem}.aui-root .w-64{width:16rem}.aui-root .w-3\/12{width:25%}.aui-root .w-full{width:100%}.aui-root .min-w-min{min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content}.aui-root .max-w-none{max-width:none}.aui-root .flex-1{flex:1 1 0%}.aui-root .transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.aui-root .-rotate-180{--tw-rotate:-180deg}.aui-root .-rotate-90{--tw-rotate:-90deg}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}.aui-root .cursor-pointer{cursor:pointer}.aui-root .flex-wrap{flex-wrap:wrap}.aui-root .items-center{align-items:center}.aui-root .justify-center{justify-content:center}.aui-root .space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem*var(--tw-space-x-reverse));margin-left:calc(0.5rem*(1 - var(--tw-space-x-reverse)))}.aui-root .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem*var(--tw-space-y-reverse))}.aui-root .overflow-auto{overflow:auto}.aui-root .overflow-y-auto{overflow-y:auto}.aui-root .whitespace-pre-wrap{white-space:pre-wrap}.aui-root .break-words{overflow-wrap:break-word}.aui-root .break-all{word-break:break-all}.aui-root .rounded{border-radius:.25rem}.aui-root .rounded-full{border-radius:9999px}.aui-root .border{border-width:1px}.aui-root .border-l-8{border-left-width:8px}.aui-root .border-solid{border-style:solid}.aui-root .border-gray-400{--tw-border-opacity:1;border-color:rgba(203,213,224,var(--tw-border-opacity))}.aui-root .border-red-500{--tw-border-opacity:1;border-color:rgba(245,101,101,var(--tw-border-opacity))}.aui-root .border-orange-300{--tw-border-opacity:1;border-color:rgba(251,211,141,var(--tw-border-opacity))}.aui-root .border-green-600{--tw-border-opacity:1;border-color:rgba(56,161,105,var(--tw-border-opacity))}.aui-root .border-blue-300{--tw-border-opacity:1;border-color:rgba(144,205,244,var(--tw-border-opacity))}.aui-root .border-blue-600{--tw-border-opacity:1;border-color:rgba(49,130,206,var(--tw-border-opacity))}.aui-root .border-purple-300{--tw-border-opacity:1;border-color:rgba(214,188,250,var(--tw-border-opacity))}.aui-root .bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.aui-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgba(247,250,252,var(--tw-bg-opacity))}.aui-root .bg-gray-200{--tw-bg-opacity:1;background-color:rgba(237,242,247,var(--tw-bg-opacity))}.aui-root .bg-gray-800{--tw-bg-opacity:1;background-color:rgba(45,55,72,var(--tw-bg-opacity))}.aui-root .bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(214,158,46,var(--tw-bg-opacity))}.aui-root .bg-green-600{--tw-bg-opacity:1;background-color:rgba(56,161,105,var(--tw-bg-opacity))}.aui-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgba(56,178,172,var(--tw-bg-opacity))}.aui-root .bg-blue-400{--tw-bg-opacity:1;background-color:rgba(99,179,237,var(--tw-bg-opacity))}.aui-root .bg-blue-500{--tw-bg-opacity:1;background-color:rgba(66,153,225,var(--tw-bg-opacity))}.aui-root .bg-blue-600{--tw-bg-opacity:1;background-color:rgba(49,130,206,var(--tw-bg-opacity))}.aui-root .bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(127,156,245,var(--tw-bg-opacity))}.aui-root .bg-purple-600{--tw-bg-opacity:1;background-color:rgba(128,90,213,var(--tw-bg-opacity))}.aui-root .hover\:bg-orange-300:hover{--tw-bg-opacity:1;background-color:rgba(251,211,141,var(--tw-bg-opacity))}.aui-root .hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgba(144,205,244,var(--tw-bg-opacity))}.aui-root .hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgba(214,188,250,var(--tw-bg-opacity))}.aui-root .fill-current{fill:currentColor}.aui-root .p-1{padding:.25rem}.aui-root .p-2{padding:.5rem}.aui-root .p-4{padding:1rem}.aui-root .p-8{padding:2rem}.aui-root .px-1{padding-left:.25rem;padding-right:.25rem}.aui-root .px-2{padding-left:.5rem;padding-right:.5rem}.aui-root .px-3{padding-left:.75rem;padding-right:.75rem}.aui-root .px-4{padding-left:1rem;padding-right:1rem}.aui-root .px-8{padding-left:2rem;padding-right:2rem}.aui-root .py-0{padding-top:0;padding-bottom:0}.aui-root .py-1{padding-top:.25rem;padding-bottom:.25rem}.aui-root .py-2{padding-top:.5rem;padding-bottom:.5rem}.aui-root .py-4{padding-top:1rem;padding-bottom:1rem}.aui-root .py-8{padding-bottom:2rem}.aui-root .pt-8,.aui-root .py-8{padding-top:2rem}.aui-root .pb-16{padding-bottom:4rem}.aui-root .text-left{text-align:left}.aui-root .align-baseline{vertical-align:baseline}.aui-root .font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.aui-root .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.aui-root .text-xs{font-size:.75rem}.aui-root .text-sm{font-size:.875rem}.aui-root .text-base{font-size:1rem}.aui-root .text-lg{font-size:1.125rem}.aui-root .text-2xl{font-size:1.5rem}.aui-root .text-3xl{font-size:1.875rem}.aui-root .text-4xl{font-size:2.25rem}.aui-root .font-thin{font-weight:100}.aui-root .font-extralight{font-weight:200}.aui-root .font-light{font-weight:300}.aui-root .font-bold{font-weight:700}.aui-root .uppercase{text-transform:uppercase}.aui-root .lowercase{text-transform:lowercase}.aui-root .capitalize{text-transform:capitalize}.aui-root .italic{font-style:italic}.aui-root .leading-normal{line-height:1.5}.aui-root .text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.aui-root .text-gray-200{--tw-text-opacity:1;color:rgba(237,242,247,var(--tw-text-opacity))}.aui-root .text-gray-500{--tw-text-opacity:1;color:rgba(160,174,192,var(--tw-text-opacity))}.aui-root .text-gray-600{--tw-text-opacity:1;color:rgba(113,128,150,var(--tw-text-opacity))}.aui-root .text-gray-700{--tw-text-opacity:1;color:rgba(74,85,104,var(--tw-text-opacity))}.aui-root .text-red-600{--tw-text-opacity:1;color:rgba(229,62,62,var(--tw-text-opacity))}.aui-root .text-orange-500{--tw-text-opacity:1;color:rgba(237,137,54,var(--tw-text-opacity))}.aui-root .text-orange-600{--tw-text-opacity:1;color:rgba(221,107,32,var(--tw-text-opacity))}.aui-root .text-green-600{--tw-text-opacity:1;color:rgba(56,161,105,var(--tw-text-opacity))}.aui-root .text-teal-500{--tw-text-opacity:1;color:rgba(56,178,172,var(--tw-text-opacity))}.aui-root .text-blue-500{--tw-text-opacity:1;color:rgba(66,153,225,var(--tw-text-opacity))}.aui-root .text-purple-500{--tw-text-opacity:1;color:rgba(159,122,234,var(--tw-text-opacity))}.aui-root .hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(26,32,44,var(--tw-text-opacity))}.aui-root .hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgba(221,107,32,var(--tw-text-opacity))}.aui-root .hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(49,130,206,var(--tw-text-opacity))}.aui-root .hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgba(128,90,213,var(--tw-text-opacity))}.aui-root .underline{text-decoration:underline}.aui-root .no-underline{text-decoration:none}.aui-root *,.aui-root :after,.aui-root :before{--tw-shadow:0 0 transparent}.aui-root .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.aui-root .shadow,.aui-root .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.aui-root .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.aui-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.aui-root *,.aui-root :after,.aui-root :before{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(66,153,225,0.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}.aui-root .filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.aui-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.aui-root .duration-150{transition-duration:.15s}.aui-root .ease-linear{transition-timing-function:linear}@media (min-width:768px){.aui-root .md\:flex{display:flex}}@media (min-width:1536px){.aui-root .\32xl\:mx-0{margin-left:0;margin-right:0}.aui-root .\32xl\:w-7\/12{width:58.333333%}.aui-root .\32xl\:rounded{border-radius:.25rem}.aui-root .\32xl\:px-4{padding-left:1rem;padding-right:1rem}}
|
|
5
|
+
/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */.aui-root html{-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.15;-webkit-text-size-adjust:100%}.aui-root body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.aui-root hr{height:0;color:inherit}.aui-root abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.aui-root b,.aui-root strong{font-weight:bolder}.aui-root code,.aui-root kbd,.aui-root pre,.aui-root samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}.aui-root small{font-size:80%}.aui-root sub,.aui-root sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.aui-root sub{bottom:-.25em}.aui-root sup{top:-.5em}.aui-root table{text-indent:0;border-color:inherit}.aui-root button,.aui-root input,.aui-root optgroup,.aui-root select,.aui-root textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.aui-root button,.aui-root select{text-transform:none}.aui-root [type=button],.aui-root button{-webkit-appearance:button}.aui-root legend{padding:0}.aui-root progress{vertical-align:baseline}.aui-root summary{display:list-item}.aui-root blockquote,.aui-root dd,.aui-root dl,.aui-root figure,.aui-root h1,.aui-root h2,.aui-root h3,.aui-root h4,.aui-root h5,.aui-root h6,.aui-root hr,.aui-root p,.aui-root pre{margin:0}.aui-root button{background-color:transparent;background-image:none}.aui-root fieldset{margin:0;padding:0}.aui-root ol,.aui-root ul{list-style:none;margin:0;padding:0}.aui-root html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.aui-root body{font-family:inherit;line-height:inherit}.aui-root *,.aui-root :after,.aui-root :before{box-sizing:border-box;border:0 solid}.aui-root hr{border-top-width:1px}.aui-root img{border-style:solid}.aui-root textarea{resize:vertical}.aui-root input::-moz-placeholder, .aui-root textarea::-moz-placeholder{opacity:1;color:#cbd5e0}.aui-root input:-ms-input-placeholder, .aui-root textarea:-ms-input-placeholder{opacity:1;color:#cbd5e0}.aui-root input::placeholder,.aui-root textarea::placeholder{opacity:1;color:#cbd5e0}.aui-root button{cursor:pointer}.aui-root table{border-collapse:collapse}.aui-root h1,.aui-root h2,.aui-root h3,.aui-root h4,.aui-root h5,.aui-root h6{font-size:inherit;font-weight:inherit}.aui-root a{color:inherit;text-decoration:inherit}.aui-root button,.aui-root input,.aui-root optgroup,.aui-root select,.aui-root textarea{padding:0;line-height:inherit;color:inherit}.aui-root code,.aui-root kbd,.aui-root pre,.aui-root samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.aui-root audio,.aui-root canvas,.aui-root embed,.aui-root iframe,.aui-root img,.aui-root object,.aui-root svg,.aui-root video{display:block;vertical-align:middle}.aui-root img,.aui-root video{max-width:100%;height:auto}.aui-root [hidden]{display:none}.aui-root *,.aui-root :after,.aui-root :before{--tw-border-opacity:1;border-color:rgba(203,213,224,var(--tw-border-opacity))}.aui-root .prose{color:#4a5568;max-width:65ch}.aui-root .prose [class~=lead]{color:#718096;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.aui-root .prose a{color:#1a202c;text-decoration:underline;font-weight:500}.aui-root .prose strong{color:#1a202c;font-weight:600}.aui-root .prose ol[type=a]{--list-counter-style:lower-alpha}.aui-root .prose ol[type=i]{--list-counter-style:lower-roman}.aui-root .prose ol[type="1"]{--list-counter-style:decimal}.aui-root .prose ol>li{position:relative;padding-left:1.75em}.aui-root .prose ol>li:before{content:counter(list-item,var(--list-counter-style,decimal)) ".";position:absolute;font-weight:400;color:#a0aec0;left:0}.aui-root .prose ul>li{position:relative;padding-left:1.75em}.aui-root .prose ul>li:before{content:"";position:absolute;background-color:#e2e8f0;border-radius:50%;width:.375em;height:.375em;top:.6875em;left:.25em}.aui-root .prose hr{border-color:#edf2f7;border-top-width:1px;margin-top:3em;margin-bottom:3em}.aui-root .prose blockquote{font-weight:500;font-style:italic;color:#1a202c;border-left-width:.25rem;border-left-color:#edf2f7;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.aui-root .prose blockquote p:first-of-type:before{content:open-quote}.aui-root .prose blockquote p:last-of-type:after{content:close-quote}.aui-root .prose h1{color:#1a202c;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.aui-root .prose h2{color:#1a202c;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.aui-root .prose h3{color:#1a202c;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.aui-root .prose h4{color:#1a202c;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.aui-root .prose figure figcaption{color:#a0aec0;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.aui-root .prose code{color:#1a202c;font-weight:600;font-size:.875em}.aui-root .prose code:after,.aui-root .prose code:before{content:"`"}.aui-root .prose a code{color:#1a202c}.aui-root .prose pre{color:#edf2f7;background-color:#1a202c;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.aui-root .prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.aui-root .prose pre code:after,.aui-root .prose pre code:before{content:none}.aui-root .prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.aui-root .prose thead{color:#1a202c;font-weight:600;border-bottom-width:1px;border-bottom-color:#e2e8f0}.aui-root .prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.aui-root .prose tbody tr{border-bottom-width:1px;border-bottom-color:#edf2f7}.aui-root .prose tbody tr:last-child{border-bottom-width:0}.aui-root .prose tbody td{vertical-align:top;padding:.5714286em}.aui-root .prose{font-size:1rem;line-height:1.75}.aui-root .prose p{margin-top:1.25em;margin-bottom:1.25em}.aui-root .prose figure,.aui-root .prose img,.aui-root .prose video{margin-top:2em;margin-bottom:2em}.aui-root .prose figure>*{margin-top:0;margin-bottom:0}.aui-root .prose h2 code{font-size:.875em}.aui-root .prose h3 code{font-size:.9em}.aui-root .prose ol,.aui-root .prose ul{margin-top:1.25em;margin-bottom:1.25em}.aui-root .prose li{margin-top:.5em;margin-bottom:.5em}.aui-root .prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.aui-root .prose>ul>li>:first-child{margin-top:1.25em}.aui-root .prose>ul>li>:last-child{margin-bottom:1.25em}.aui-root .prose>ol>li>:first-child{margin-top:1.25em}.aui-root .prose>ol>li>:last-child{margin-bottom:1.25em}.aui-root .prose ol ol,.aui-root .prose ol ul,.aui-root .prose ul ol,.aui-root .prose ul ul{margin-top:.75em;margin-bottom:.75em}.aui-root .prose h2+*,.aui-root .prose h3+*,.aui-root .prose h4+*,.aui-root .prose hr+*{margin-top:0}.aui-root .prose thead th:first-child{padding-left:0}.aui-root .prose thead th:last-child{padding-right:0}.aui-root .prose tbody td:first-child{padding-left:0}.aui-root .prose tbody td:last-child{padding-right:0}.aui-root .prose>:first-child{margin-top:0}.aui-root .prose>:last-child{margin-bottom:0}@media (min-width:1024px){.aui-root .container\:base .burger-menu{display:none}}@media (min-width:1024px){.aui-root .container\:base .sidebar{position:relative;display:block;height:auto;width:16rem}}@media (min-width:1024px){.aui-root .container\:base .sidebar--content{width:14rem}}.aui-root .container\:xl .sidebar--content{position:absolute;left:50%;transform:translate(-50%)}@media (min-width:1536px){.aui-root .container\:base .panel-item{display:flex}}.aui-root .container\:xl .panel-item{display:block}@media (min-width:1536px){.aui-root .container\:base .panel--center .panel-item--center{width:58.333333%}}@media (min-width:1536px){.aui-root .container\:base .panel--center .panel-item--right{width:41.666667%}}.aui-root .container\:xl .panel--center .panel-item--center,.aui-root .container\:xl .panel--center .panel-item--right{width:100%}@media (min-width:1536px){.aui-root .container\:base .examples{margin-top:0;padding:0}}.aui-root .container\:base .panel--right{display:none}@media (min-width:1536px){.aui-root .container\:base .panel--right{display:block;width:41.666667%}}.aui-root .container\:xl .panel--right{display:none}.aui-root .prose pre{white-space:pre-wrap}.aui-root .fixed{position:fixed}.aui-root .absolute{position:absolute}.aui-root .relative{position:relative}.aui-root .top-0{top:0}.aui-root .right-0{right:0}.aui-root .right-8{right:2rem}.aui-root .bottom-16{bottom:4rem}.aui-root .z-10{z-index:10}.aui-root .z-20{z-index:20}.aui-root .z-30{z-index:30}.aui-root .mx-2{margin-left:.5rem;margin-right:.5rem}.aui-root .-mx-8{margin-left:-2rem;margin-right:-2rem}.aui-root .my-2{margin-top:.5rem;margin-bottom:.5rem}.aui-root .mt-1{margin-top:.25rem}.aui-root .mt-2{margin-top:.5rem}.aui-root .mt-4{margin-top:1rem}.aui-root .mt-9{margin-top:2.25rem}.aui-root .mt-10{margin-top:2.5rem}.aui-root .mt-16{margin-top:4rem}.aui-root .mr-1{margin-right:.25rem}.aui-root .mr-2{margin-right:.5rem}.aui-root .mb-2{margin-bottom:.5rem}.aui-root .mb-3{margin-bottom:.75rem}.aui-root .mb-4{margin-bottom:1rem}.aui-root .mb-12{margin-bottom:3rem}.aui-root .-mb-1{margin-bottom:-.25rem}.aui-root .ml-1{margin-left:.25rem}.aui-root .ml-2{margin-left:.5rem}.aui-root .block{display:block}.aui-root .inline-block{display:inline-block}.aui-root .flex{display:flex}.aui-root .table{display:table}.aui-root .hidden{display:none}.aui-root .h-6{height:1.5rem}.aui-root .h-16{height:4rem}.aui-root .h-full{height:100%}.aui-root .max-h-screen{max-height:100vh}.aui-root .w-5{width:1.25rem}.aui-root .w-16{width:4rem}.aui-root .w-64{width:16rem}.aui-root .w-full{width:100%}.aui-root .min-w-1\/4{min-width:25%}.aui-root .max-w-none{max-width:none}.aui-root .flex-1{flex:1 1 0%}.aui-root .transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.aui-root .-rotate-180{--tw-rotate:-180deg}.aui-root .-rotate-90{--tw-rotate:-90deg}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}.aui-root .cursor-pointer{cursor:pointer}.aui-root .flex-wrap{flex-wrap:wrap}.aui-root .items-center{align-items:center}.aui-root .justify-center{justify-content:center}.aui-root .space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem*var(--tw-space-x-reverse));margin-left:calc(0.5rem*(1 - var(--tw-space-x-reverse)))}.aui-root .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem*var(--tw-space-y-reverse))}.aui-root .overflow-auto{overflow:auto}.aui-root .overflow-y-auto{overflow-y:auto}.aui-root .whitespace-pre-wrap{white-space:pre-wrap}.aui-root .break-words{overflow-wrap:break-word}.aui-root .break-all{word-break:break-all}.aui-root .rounded{border-radius:.25rem}.aui-root .rounded-full{border-radius:9999px}.aui-root .border{border-width:1px}.aui-root .border-l-8{border-left-width:8px}.aui-root .border-solid{border-style:solid}.aui-root .border-gray-400{--tw-border-opacity:1;border-color:rgba(203,213,224,var(--tw-border-opacity))}.aui-root .border-red-500{--tw-border-opacity:1;border-color:rgba(245,101,101,var(--tw-border-opacity))}.aui-root .border-orange-300{--tw-border-opacity:1;border-color:rgba(251,211,141,var(--tw-border-opacity))}.aui-root .border-green-600{--tw-border-opacity:1;border-color:rgba(56,161,105,var(--tw-border-opacity))}.aui-root .border-blue-300{--tw-border-opacity:1;border-color:rgba(144,205,244,var(--tw-border-opacity))}.aui-root .border-blue-600{--tw-border-opacity:1;border-color:rgba(49,130,206,var(--tw-border-opacity))}.aui-root .border-purple-300{--tw-border-opacity:1;border-color:rgba(214,188,250,var(--tw-border-opacity))}.aui-root .bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.aui-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgba(247,250,252,var(--tw-bg-opacity))}.aui-root .bg-gray-200{--tw-bg-opacity:1;background-color:rgba(237,242,247,var(--tw-bg-opacity))}.aui-root .bg-gray-800{--tw-bg-opacity:1;background-color:rgba(45,55,72,var(--tw-bg-opacity))}.aui-root .bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(214,158,46,var(--tw-bg-opacity))}.aui-root .bg-green-600{--tw-bg-opacity:1;background-color:rgba(56,161,105,var(--tw-bg-opacity))}.aui-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgba(56,178,172,var(--tw-bg-opacity))}.aui-root .bg-blue-400{--tw-bg-opacity:1;background-color:rgba(99,179,237,var(--tw-bg-opacity))}.aui-root .bg-blue-500{--tw-bg-opacity:1;background-color:rgba(66,153,225,var(--tw-bg-opacity))}.aui-root .bg-blue-600{--tw-bg-opacity:1;background-color:rgba(49,130,206,var(--tw-bg-opacity))}.aui-root .bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(127,156,245,var(--tw-bg-opacity))}.aui-root .bg-purple-600{--tw-bg-opacity:1;background-color:rgba(128,90,213,var(--tw-bg-opacity))}.aui-root .hover\:bg-orange-300:hover{--tw-bg-opacity:1;background-color:rgba(251,211,141,var(--tw-bg-opacity))}.aui-root .hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgba(144,205,244,var(--tw-bg-opacity))}.aui-root .hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgba(214,188,250,var(--tw-bg-opacity))}.aui-root .fill-current{fill:currentColor}.aui-root .p-1{padding:.25rem}.aui-root .p-2{padding:.5rem}.aui-root .p-4{padding:1rem}.aui-root .p-8{padding:2rem}.aui-root .px-1{padding-left:.25rem;padding-right:.25rem}.aui-root .px-2{padding-left:.5rem;padding-right:.5rem}.aui-root .px-3{padding-left:.75rem;padding-right:.75rem}.aui-root .px-4{padding-left:1rem;padding-right:1rem}.aui-root .px-8{padding-left:2rem;padding-right:2rem}.aui-root .py-0{padding-top:0;padding-bottom:0}.aui-root .py-1{padding-top:.25rem;padding-bottom:.25rem}.aui-root .py-2{padding-top:.5rem;padding-bottom:.5rem}.aui-root .py-4{padding-top:1rem;padding-bottom:1rem}.aui-root .py-8{padding-bottom:2rem}.aui-root .pt-8,.aui-root .py-8{padding-top:2rem}.aui-root .pb-16{padding-bottom:4rem}.aui-root .text-left{text-align:left}.aui-root .align-baseline{vertical-align:baseline}.aui-root .font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.aui-root .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.aui-root .text-xs{font-size:.75rem}.aui-root .text-sm{font-size:.875rem}.aui-root .text-base{font-size:1rem}.aui-root .text-lg{font-size:1.125rem}.aui-root .text-2xl{font-size:1.5rem}.aui-root .text-3xl{font-size:1.875rem}.aui-root .text-4xl{font-size:2.25rem}.aui-root .font-thin{font-weight:100}.aui-root .font-extralight{font-weight:200}.aui-root .font-light{font-weight:300}.aui-root .font-bold{font-weight:700}.aui-root .uppercase{text-transform:uppercase}.aui-root .lowercase{text-transform:lowercase}.aui-root .capitalize{text-transform:capitalize}.aui-root .italic{font-style:italic}.aui-root .leading-normal{line-height:1.5}.aui-root .text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.aui-root .text-gray-200{--tw-text-opacity:1;color:rgba(237,242,247,var(--tw-text-opacity))}.aui-root .text-gray-500{--tw-text-opacity:1;color:rgba(160,174,192,var(--tw-text-opacity))}.aui-root .text-gray-600{--tw-text-opacity:1;color:rgba(113,128,150,var(--tw-text-opacity))}.aui-root .text-gray-700{--tw-text-opacity:1;color:rgba(74,85,104,var(--tw-text-opacity))}.aui-root .text-red-600{--tw-text-opacity:1;color:rgba(229,62,62,var(--tw-text-opacity))}.aui-root .text-orange-500{--tw-text-opacity:1;color:rgba(237,137,54,var(--tw-text-opacity))}.aui-root .text-orange-600{--tw-text-opacity:1;color:rgba(221,107,32,var(--tw-text-opacity))}.aui-root .text-green-600{--tw-text-opacity:1;color:rgba(56,161,105,var(--tw-text-opacity))}.aui-root .text-teal-500{--tw-text-opacity:1;color:rgba(56,178,172,var(--tw-text-opacity))}.aui-root .text-blue-500{--tw-text-opacity:1;color:rgba(66,153,225,var(--tw-text-opacity))}.aui-root .text-purple-500{--tw-text-opacity:1;color:rgba(159,122,234,var(--tw-text-opacity))}.aui-root .hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(26,32,44,var(--tw-text-opacity))}.aui-root .hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgba(221,107,32,var(--tw-text-opacity))}.aui-root .hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(49,130,206,var(--tw-text-opacity))}.aui-root .hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgba(128,90,213,var(--tw-text-opacity))}.aui-root .underline{text-decoration:underline}.aui-root .no-underline{text-decoration:none}.aui-root *,.aui-root :after,.aui-root :before{--tw-shadow:0 0 transparent}.aui-root .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.aui-root .shadow,.aui-root .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.aui-root .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.aui-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.aui-root *,.aui-root :after,.aui-root :before{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(66,153,225,0.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}.aui-root .filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.aui-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.aui-root .duration-150{transition-duration:.15s}.aui-root .ease-linear{transition-timing-function:linear}@media (min-width:768px){.aui-root .md\:flex{display:flex}}@media (min-width:1536px){.aui-root .\32xl\:mx-0{margin-left:0;margin-right:0}.aui-root .\32xl\:w-7\/12{width:58.333333%}.aui-root .\32xl\:rounded{border-radius:.25rem}.aui-root .\32xl\:px-4{padding-left:1rem;padding-right:1rem}}
|