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

66 lines (65 loc) 2.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.Submenu = void 0; var _react = _interopRequireDefault(require("react")); var _styles = require("./styles"); var _reactFontawesome = require("@fortawesome/react-fontawesome"); var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons"); var _uuid = require("uuid"); var _BackButton = _interopRequireDefault(require("./BackButton")); var _Display = _interopRequireDefault(require("../../utilities/Display/Display")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Submenu = function Submenu(props) { var subItem = props.subItem, itemId = props.itemId; var submenu = function submenu(id, prevItemName) { var list = document.getElementById(id); var backButton = document.getElementById("backButton-".concat(id)); var isSubmenuVisible = list.style.display === "block"; list.style.display = isSubmenuVisible ? "none" : "block"; backButton.style.display = isSubmenuVisible ? "none" : "block"; }; return /*#__PURE__*/_react.default.createElement(_styles.List, { id: itemId }, subItem.map(function (item) { var generatedId = (0, _uuid.v4)(); return /*#__PURE__*/_react.default.createElement(_styles.ListItem, { key: generatedId }, !item.submenu ? /*#__PURE__*/_react.default.createElement("a", { href: item.href }, item.icon && /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, { "aria-hidden": "true", icon: item.icon }), item.name) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Display.default, { display: "none", id: "backButton-".concat(generatedId) }, /*#__PURE__*/_react.default.createElement(_BackButton.default, { itemId: generatedId, item: item, submenuFn: function submenuFn() { return submenu(generatedId); } })), /*#__PURE__*/_react.default.createElement(_styles.WrapSubmenu, { className: "wrapSubmenu" }, /*#__PURE__*/_react.default.createElement("button", { onClick: function onClick() { return submenu(generatedId, item.name); } }, item.icon && /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, { "aria-hidden": "true", icon: item.icon }), item.name, /*#__PURE__*/_react.default.createElement(_styles.StyledFontAwesomeIconCustomMargin, { "aria-hidden": "true", icon: _freeSolidSvgIcons.faChevronRight, size: "sm" })), /*#__PURE__*/_react.default.createElement(Submenu, { subItem: item.submenu, itemId: generatedId })))); })); }; exports.Submenu = Submenu; var _default = Submenu; exports.default = _default;