@vtex/styleguide
Version:
> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))
135 lines (101 loc) • 4.41 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _classnames = require("classnames");
var _classnames2 = _interopRequireDefault(_classnames);
var _ButtonColumns = require("./ButtonColumns");
var _ButtonColumns2 = _interopRequireDefault(_ButtonColumns);
var _ButtonDensity = require("./ButtonDensity");
var _ButtonDensity2 = _interopRequireDefault(_ButtonDensity);
var _ButtonDownload = require("./ButtonDownload");
var _ButtonDownload2 = _interopRequireDefault(_ButtonDownload);
var _ButtonUpload = require("./ButtonUpload");
var _ButtonUpload2 = _interopRequireDefault(_ButtonUpload);
var _ButtonExtraActions = require("./ButtonExtraActions");
var _ButtonExtraActions2 = _interopRequireDefault(_ButtonExtraActions);
var _ButtonNewLine = require("./ButtonNewLine");
var _ButtonNewLine2 = _interopRequireDefault(_ButtonNewLine);
var _constants = require("../constants");
var _context = require("./context");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var getButton = function getButton(type, props) {
switch (type) {
case ButtonType.Columns:
{
return _react2.default.createElement("span", {
className: _constants.ORDER_CLASSNAMES.TOOLBAR_CHILD.BUTTON_GROUP_CHILD.COLUMNS
}, _react2.default.createElement(_ButtonColumns2.default, props));
}
case ButtonType.Density:
{
return _react2.default.createElement("span", {
className: _constants.ORDER_CLASSNAMES.TOOLBAR_CHILD.BUTTON_GROUP_CHILD.DENSITY
}, _react2.default.createElement(_ButtonDensity2.default, props));
}
case ButtonType.Download:
{
return _react2.default.createElement("span", {
className: _constants.ORDER_CLASSNAMES.TOOLBAR_CHILD.BUTTON_GROUP_CHILD.DOWNLOAD
}, _react2.default.createElement(_ButtonDownload2.default, props));
}
case ButtonType.Upload:
{
return _react2.default.createElement("span", {
className: _constants.ORDER_CLASSNAMES.TOOLBAR_CHILD.BUTTON_GROUP_CHILD.UPLOAD
}, _react2.default.createElement(_ButtonUpload2.default, props));
}
case ButtonType.ExtraActions:
{
return _react2.default.createElement("span", {
className: _constants.ORDER_CLASSNAMES.TOOLBAR_CHILD.BUTTON_GROUP_CHILD.EXTRA_ACTIONS
}, _react2.default.createElement(_ButtonExtraActions2.default, props));
}
case ButtonType.NewLine:
{
return _react2.default.createElement("span", {
className: _constants.ORDER_CLASSNAMES.TOOLBAR_CHILD.BUTTON_GROUP_CHILD.NEWLINE
}, _react2.default.createElement(_ButtonNewLine2.default, props));
}
default:
{
return null;
}
}
};
var getComponent = function getComponent(type) {
return function (props) {
return getButton(type, props);
};
};
var ButtonGroup = function ButtonGroup(_ref) {
var children = _ref.children;
var _useToolbarContext = (0, _context.useToolbarContext)(),
testId = _useToolbarContext.testId;
var buttonGroupTestId = testId + "__button-group";
return _react2.default.createElement("div", {
id: _constants.NAMESPACES.TOOLBAR.BUTTON_GROUP,
"data-testid": buttonGroupTestId,
className: (0, _classnames2.default)(_constants.ORDER_CLASSNAMES.TOOLBAR_CHILD.BUTTON_GROUP, 'flex flex-row flex-wrap items-center')
}, _react2.default.createElement(_context.ButtonGroupProvider, {
testId: buttonGroupTestId
}, children));
};
var ButtonType;
(function (ButtonType) {
ButtonType[ButtonType["Columns"] = 0] = "Columns";
ButtonType[ButtonType["Density"] = 1] = "Density";
ButtonType[ButtonType["Download"] = 2] = "Download";
ButtonType[ButtonType["Upload"] = 3] = "Upload";
ButtonType[ButtonType["ExtraActions"] = 4] = "ExtraActions";
ButtonType[ButtonType["NewLine"] = 5] = "NewLine";
})(ButtonType || (ButtonType = {}));
ButtonGroup.Columns = getComponent(ButtonType.Columns);
ButtonGroup.Density = getComponent(ButtonType.Density);
ButtonGroup.Download = getComponent(ButtonType.Download);
ButtonGroup.Upload = getComponent(ButtonType.Upload);
ButtonGroup.ExtraActions = getComponent(ButtonType.ExtraActions);
ButtonGroup.NewLine = getComponent(ButtonType.NewLine);
exports.default = ButtonGroup;