@brizy/ui
Version:
React elements in Brizy style
40 lines (39 loc) • 2.94 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Item = void 0;
const react_1 = __importDefault(require("react"));
const classNamesFn_1 = require("../classNamesFn");
const Tooltip_1 = require("../Tooltip");
const Icon_1 = require("../Icon");
const icons_1 = require("../icons");
const utils_1 = require("../utils");
const constants_1 = require("../constants");
const Item = props => {
const { label, labelHorizontal, helper, htmlFor, description, errorMessage, bottomSpace, size = "middle", labelTitle, children, } = props;
const className = (0, classNamesFn_1.classNames)()("input-item", { [`input-item--${size}`]: size }, { "input-item-label--horizontal": labelHorizontal });
const labelClassName = (0, classNamesFn_1.classNames)()("input-item-label", {
"input-item-label__simple": (0, utils_1.isString)(label),
});
const styles = {
paddingBottom: bottomSpace,
};
const helperComponent = helper ? (react_1.default.createElement("div", { className: `${constants_1.BRZ_PREFIX}-input-item-helper` },
label && react_1.default.createElement("span", { className: `${constants_1.BRZ_PREFIX}-input-item-helper__text` }, label),
react_1.default.createElement(Tooltip_1.Tooltip, { title: helper, rounded: false },
react_1.default.createElement(Icon_1.Icon, { color: "gray-light", source: icons_1.QuestionCircle })))) : (label);
return (react_1.default.createElement("div", { className: className, style: styles },
(label || helper) && labelHorizontal !== "right" && (react_1.default.createElement("div", { className: labelClassName },
react_1.default.createElement("label", { title: labelTitle, htmlFor: htmlFor, className: `${constants_1.BRZ_PREFIX}-input-item-base` }, helperComponent))),
react_1.default.createElement("div", { className: `${constants_1.BRZ_PREFIX}-input-item-item-control` },
react_1.default.createElement("div", { className: `${constants_1.BRZ_PREFIX}-input-item-item-control-input-content` }, children)),
(label || helper) && labelHorizontal === "right" && (react_1.default.createElement("div", { className: labelClassName },
react_1.default.createElement("label", { title: labelTitle, htmlFor: htmlFor, className: `${constants_1.BRZ_PREFIX}-input-item-base` }, helperComponent))),
description !== undefined && (react_1.default.createElement("div", { className: `${constants_1.BRZ_PREFIX}-input-item-description` },
react_1.default.createElement("p", null, description))),
errorMessage && (react_1.default.createElement("div", { className: `${constants_1.BRZ_PREFIX}-input-item-error` },
react_1.default.createElement("p", null, errorMessage)))));
};
exports.Item = Item;