UNPKG

@vtex/styleguide

Version:

> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))

135 lines (101 loc) 4.41 kB
"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;