@open-tender/ui
Version:
A component library for use with the Open Tender web app
18 lines (17 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const utils_1 = require("../utils");
const Text_1 = tslib_1.__importDefault(require("./Text"));
const View_1 = tslib_1.__importDefault(require("./View"));
const Label = ({ config, children, label, isRequired, hasValue, style }) => {
const props = (0, utils_1.makeProps)(config, 'label', style);
const missingInput = isRequired && !hasValue && hasValue !== undefined;
return (react_1.default.createElement("label", Object.assign({}, props),
label && (react_1.default.createElement(View_1.default, Object.assign({ as: "span" }, (0, utils_1.makeProps)(config, 'label__label')),
react_1.default.createElement(Text_1.default, Object.assign({}, (0, utils_1.makeProps)(config, missingInput ? 'label__text' : 'label__textMissing'), { text: label })),
isRequired ? (react_1.default.createElement(Text_1.default, Object.assign({}, (0, utils_1.makeProps)(config, 'label__required'), { text: label ? '' : '(required)' }))) : null)),
children));
};
exports.default = Label;