UNPKG

design-system-govbr-rnp

Version:

## Padrão Digital de Governo - React Biblioteca de componentes React que implementa o [Padrão Visual digital do governo](https://www.gov.br/ds/). O objetivo da biblioteca é facilitar a implementação e promover a padronização das interfaces de sistemas do

81 lines (80 loc) 4.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); require("../../styles/styles.css"); var _styles2 = require("./styles"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } var Button = function Button(_ref) { var _classNames; var children = _ref.children, variant = _ref.variant, loadingTitle = _ref.loadingTitle, inverted = _ref.inverted, density = _ref.density, disabled = _ref.disabled, active = _ref.active, loading = _ref.loading, block = _ref.block, iconProps = _ref.iconProps, onClick = _ref.onClick, circle = _ref.circle; var btnClasses = (0, _classnames.default)((_classNames = { inverted: !!inverted }, _defineProperty(_classNames, "".concat(density), true), _defineProperty(_classNames, "active", !!active), _defineProperty(_classNames, "loading", !!loading), _defineProperty(_classNames, "block", !!block), _classNames)); var renderButton = function renderButton() { return /*#__PURE__*/_react.default.createElement(_styles2.ButtonContainer, { onClick: onClick, variant: variant, type: "button", className: btnClasses, disabled: disabled, "aria-label": iconProps === null || iconProps === void 0 ? void 0 : iconProps.ariaLabel }, (iconProps === null || iconProps === void 0 ? void 0 : iconProps.icon) && /*#__PURE__*/_react.default.createElement(_styles2.ButtonIcon, { "aria-label": iconProps === null || iconProps === void 0 ? void 0 : iconProps.ariaLabel, circle: circle, icon: iconProps === null || iconProps === void 0 ? void 0 : iconProps.icon }), loading ? loadingTitle : children); }; var renderIconButton = function renderIconButton() { return /*#__PURE__*/_react.default.createElement(_styles2.IconButton, { onClick: onClick, variant: variant, type: "button", className: btnClasses, disabled: disabled, "aria-label": iconProps === null || iconProps === void 0 ? void 0 : iconProps.ariaLabel }, /*#__PURE__*/_react.default.createElement(_styles2.ButtonIcon, { circle: circle, icon: iconProps === null || iconProps === void 0 ? void 0 : iconProps.icon })); }; return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, circle ? renderIconButton() : renderButton()); }; Button.propTypes = { children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]), variant: _propTypes.default.string, inverted: _propTypes.default.bool, density: _propTypes.default.string, disabled: _propTypes.default.bool, active: _propTypes.default.bool, loading: _propTypes.default.bool, iconProps: _propTypes.default.shape({ icon: _propTypes.default.object, ariaLabel: _propTypes.default.string }), onClick: _propTypes.default.func }; Button.defaultProps = { iconProps: null }; var _default = Button; exports.default = _default;