@vtex/styleguide
Version:
> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))
106 lines (91 loc) • 3.13 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.IconSize = exports.ButtonSize = exports.ButtonVariation = undefined;
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _classnames = require("classnames");
var _classnames2 = _interopRequireDefault(_classnames);
var _index = require("../../ButtonWithIcon/index.js");
var _index2 = _interopRequireDefault(_index);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ICON_OPTICAL_COMPENSATION = {
marginTop: 1.5
};
var Button = (0, _react.forwardRef)(function (_ref, ref) {
var id = _ref.id,
title = _ref.title,
disabled = _ref.disabled,
onClick = _ref.onClick,
icon = _ref.icon,
isLoading = _ref.isLoading,
children = _ref.children,
label = _ref.label,
variation = _ref.variation,
isActiveOfGroup = _ref.isActiveOfGroup,
isGrouped = _ref.isGrouped,
isFirstOfGroup = _ref.isFirstOfGroup,
size = _ref.size,
testId = _ref.testId;
var isTertiary = variation === ButtonVariation.Tertiary;
var iconClass = (0, _classnames2.default)('mh2', {
'c-on-base': isTertiary && !disabled,
'c-muted-2': disabled
});
var labelClass = (0, _classnames2.default)({
'c-on-base': isTertiary && !disabled,
'c-muted-2': disabled
});
return _react2.default.createElement("div", {
id: id + "__container",
"data-testid": testId + "__container",
title: title,
ref: ref,
className: (0, _classnames2.default)('relative', {
mh2: isTertiary
})
}, _react2.default.createElement(_index2.default, {
icon: _react2.default.createElement("span", {
className: iconClass,
style: ICON_OPTICAL_COMPENSATION
}, icon),
testId: testId,
isGrouped: isGrouped,
isFirstOfGroup: isFirstOfGroup,
isActiveOfGroup: isActiveOfGroup,
disabled: disabled,
isLoading: isLoading,
variation: variation,
size: size,
onClick: onClick
}, label && _react2.default.createElement("span", {
className: labelClass
}, label)), children);
});
var ButtonVariation = exports.ButtonVariation = undefined;
(function (ButtonVariation) {
ButtonVariation["Primary"] = "primary";
ButtonVariation["Secondary"] = "secondary";
ButtonVariation["Tertiary"] = "tertiary";
})(ButtonVariation || (exports.ButtonVariation = ButtonVariation = {}));
var ButtonSize = exports.ButtonSize = undefined;
(function (ButtonSize) {
ButtonSize["Small"] = "small";
ButtonSize["Regular"] = "regular";
ButtonSize["Large"] = "large";
})(ButtonSize || (exports.ButtonSize = ButtonSize = {}));
var IconSize = exports.IconSize = undefined;
(function (IconSize) {
IconSize[IconSize["Heavy"] = 13] = "Heavy";
IconSize[IconSize["Medium"] = 14] = "Medium";
IconSize[IconSize["Light"] = 16] = "Light";
})(IconSize || (exports.IconSize = IconSize = {}));
Button.defaultProps = {
variation: ButtonVariation.Tertiary,
isActiveOfGroup: false,
isGrouped: false,
isFirstOfGroup: false,
size: ButtonSize.Small
};
exports.default = Button;