UNPKG

brightyui

Version:

Brighty UI library

36 lines 2.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var jsx_runtime_1 = require("react/jsx-runtime"); var react_1 = require("react"); var NavigationBar_module_scss_1 = tslib_1.__importDefault(require("../../../src/styles/NavigationBar.module.scss")); var CloseIcon_1 = require("../../images/IconComponents/CloseIcon"); var Typography_1 = tslib_1.__importDefault(require("../Typography/Typography")); var useOutsideClick_1 = tslib_1.__importDefault(require("../../hooks/useOutsideClick")); var cnbuilder_1 = require("cnbuilder"); var NavigationBar = function (_a) { var _b; var title = _a.title, onClose = _a.onClose, open = _a.open, children = _a.children, noOverlay = _a.noOverlay; var ref = (0, react_1.useRef)(null); (0, useOutsideClick_1.default)([ref], onClose); (0, react_1.useEffect)(function () { var scrollY = window.scrollY; if (open) { document.body.style.position = 'fixed'; document.body.style.top = "-".concat(scrollY, "px"); } else { document.body.style.position = ''; document.body.style.top = ''; window.scrollTo(0, scrollY); } }, [open]); if (!open) { return null; } return ((0, jsx_runtime_1.jsx)("div", { className: (0, cnbuilder_1.cnb)(NavigationBar_module_scss_1.default.wrapper, (_b = {}, _b[NavigationBar_module_scss_1.default.wrapper__transparent] = noOverlay, _b)), children: (0, jsx_runtime_1.jsxs)("div", { className: NavigationBar_module_scss_1.default.root, ref: ref, children: [(0, jsx_runtime_1.jsxs)("div", { className: NavigationBar_module_scss_1.default.top, children: [(0, jsx_runtime_1.jsx)(Typography_1.default, { children: title }), (0, jsx_runtime_1.jsx)("button", { className: NavigationBar_module_scss_1.default.closeButton, onClick: onClose, children: (0, jsx_runtime_1.jsx)(CloseIcon_1.CloseIcon, {}) })] }), (0, jsx_runtime_1.jsx)("div", { className: NavigationBar_module_scss_1.default.content, children: children })] }) })); }; exports.default = NavigationBar; //# sourceMappingURL=NavigationBar.js.map