@terrastack/ink
Version:
React for CLI. Temporary fork of https://github.com/vadimdemedes/ink
64 lines (51 loc) • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _chalk = _interopRequireDefault(require("chalk"));
var _Box = _interopRequireDefault(require("./Box"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const Text = ({
bold,
italic,
underline,
strikethrough,
children
}) => {
const transformChildren = children => {
if (bold) {
children = _chalk.default.bold(children);
}
if (italic) {
children = _chalk.default.italic(children);
}
if (underline) {
children = _chalk.default.underline(children);
}
if (strikethrough) {
children = _chalk.default.strikethrough(children);
}
return children;
};
return _react.default.createElement(_Box.default, {
unstable__transformChildren: transformChildren
}, children);
};
Text.propTypes = {
bold: _propTypes.default.bool,
italic: _propTypes.default.bool,
underline: _propTypes.default.bool,
strikethrough: _propTypes.default.bool,
children: _propTypes.default.node.isRequired
};
Text.defaultProps = {
bold: false,
italic: false,
underline: false,
strikethrough: false
};
var _default = Text;
exports.default = _default;