@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
42 lines (35 loc) • 2.79 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var react = require('@carbon/react');
var icons = require('@carbon/react/icons');
var TooltipHover = require('../TooltipHover/TooltipHover.js');
var cx = require('classnames');
var settings = require('../../internal/settings.js');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var React__default = /*#__PURE__*/_interopDefault(React);
var cx__default = /*#__PURE__*/_interopDefault(cx);
/*
IBM Confidential
694970X, 69497O0
© Copyright IBM Corp. 2022, 2024
*/
function ToggleComponent({ helperText, id, invalid, invalidText, reversed, label, labelText, labelA = "", labelB = "", orientation = "horizontal", tooltipClassName = `${settings.prefix}--bmrg-toggle__tooltip`, tooltipContent, tooltipProps = { direction: "top" }, ...toggleProps }) {
const labelValue = label || labelText;
const labelTextId = !labelValue ? undefined : `${id}-label`;
return (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-toggle__container` },
React__default.default.createElement("div", { key: id, className: cx__default.default(`${settings.prefix}--bmrg-toggle`, {
"--reversed": reversed,
"--vertical": orientation === "vertical",
}) },
labelValue && (React__default.default.createElement(React__default.default.Fragment, null,
React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-toggle__title` },
React__default.default.createElement("label", { id: labelTextId, className: `${settings.prefix}--label`, htmlFor: id, style: { marginBottom: "0" } }, labelValue),
tooltipContent && (React__default.default.createElement("div", { className: tooltipClassName },
React__default.default.createElement(TooltipHover.default, { ...tooltipProps, tooltipText: tooltipContent },
React__default.default.createElement(icons.Information, { size: 16, fill: "currentColor" }))))))),
React__default.default.createElement(react.Toggle, { id: id, "aria-labelledby": labelTextId, labelA: labelA, labelB: labelB, labelText: "", ...toggleProps })),
invalid && (React__default.default.createElement("div", { className: cx__default.default(`${settings.prefix}--bmrg-toggle__invalid-text`, `${settings.prefix}--form-requirement`), style: { marginBottom: "0" } }, invalidText)),
helperText && !invalid && (React__default.default.createElement("div", { className: `${settings.prefix}--form__helper-text`, style: { marginBottom: "0" } }, helperText))));
}
exports.default = ToggleComponent;