@vtex/styleguide
Version:
> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))
82 lines (61 loc) • 2.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _index = require("../../ActionMenu/index.js");
var _index2 = _interopRequireDefault(_index);
var _index3 = require("../../ButtonGroup/index.js");
var _index4 = _interopRequireDefault(_index3);
var _Plus = require("../../icon/Plus");
var _Plus2 = _interopRequireDefault(_Plus);
var _Button = require("./Button");
var _Button2 = _interopRequireDefault(_Button);
var _constants = require("../constants");
var _context = require("./context");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
var ButtonNewLine = function ButtonNewLine(_ref) {
var actions = _ref.actions,
buttonProps = _objectWithoutPropertiesLoose(_ref, ["actions"]);
var namespace = _constants.NAMESPACES.TOOLBAR.BUTTON_NEWLINE;
var _useButtonGroupContex = (0, _context.useButtonGroupContext)(),
testId = _useButtonGroupContex.testId;
var newlineTestId = testId + "__new-line";
return actions ? _react2.default.createElement(_index4.default, {
buttons: [_react2.default.createElement(_Button2.default, _extends({
isActiveOfGroup: true,
id: namespace,
testId: newlineTestId,
key: namespace,
isGrouped: true,
isFirstOfGroup: true,
variation: _Button.ButtonVariation.Primary,
icon: _react2.default.createElement(_Plus2.default, {
solid: true,
size: _Button.IconSize.Light
})
}, buttonProps)), _react2.default.createElement(_index2.default, {
isActiveOfGroup: true,
id: namespace + "__action-menu",
testId: newlineTestId + "__action-menu",
key: "actions-button",
buttonProps: buttonProps,
options: actions
})]
}) : _react2.default.createElement(_Button2.default, _extends({
id: _constants.NAMESPACES.TOOLBAR.BUTTON_NEWLINE,
testId: newlineTestId,
icon: _react2.default.createElement(_Plus2.default, {
solid: true,
size: _Button.IconSize.Light
}),
variation: _Button.ButtonVariation.Primary
}, buttonProps));
};
ButtonNewLine.defaultProps = {
size: _Button.ButtonSize.Small
};
exports.default = ButtonNewLine;