@asyncapi/react-component
Version:
A React component for AsyncAPI specification.
27 lines • 1.97 kB
JavaScript
import React from 'react';
export var FieldStatusIndicator = function (_a) {
var _b, _c, _d;
var schema = _a.schema, _e = _a.required, required = _e === void 0 ? false : _e, isPatternProperty = _a.isPatternProperty, dependentRequired = _a.dependentRequired;
if (!schema) {
return null;
}
var isRequired = required !== null && required !== void 0 ? required : false;
var isDeprecated = (_b = schema.deprecated()) !== null && _b !== void 0 ? _b : false;
var isWriteOnly = (_c = schema.writeOnly()) !== null && _c !== void 0 ? _c : false;
var isReadOnly = (_d = schema.readOnly()) !== null && _d !== void 0 ? _d : false;
var isPattern = isPatternProperty !== null && isPatternProperty !== void 0 ? isPatternProperty : false;
return (React.createElement(React.Fragment, null, (isRequired ||
isDeprecated ||
isWriteOnly ||
isReadOnly ||
isPattern) && (React.createElement("div", { className: "flex items-center space-x-2" },
isRequired && (React.createElement("span", { className: "text-red-600 text-xs rounded" }, "required")),
dependentRequired && (React.createElement(React.Fragment, null,
React.createElement("div", { className: "text-gray-500 text-xs" }, "required when defined:"),
React.createElement("div", { className: "text-red-600 text-xs" }, dependentRequired.join(', ')))),
isDeprecated && (React.createElement("span", { className: "text-red-700 text-xs px-2 py-1 bg-red-200 border border-red-700 rounded" }, "deprecated")),
isPatternProperty && (React.createElement("div", { className: "text-gray-500 text-xs italic" }, "(pattern property)")),
isWriteOnly && (React.createElement("span", { className: "text-gray-600 text-xs rounded" }, "write-only")),
isReadOnly && (React.createElement("span", { className: "text-gray-500 text-xs rounded" }, "read-only"))))));
};
//# sourceMappingURL=FieldStatusIndicators.js.map