@bigbinary/neeto-molecules 4.0.39 → 4.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Sidebar.js +41 -5
- package/dist/Sidebar.js.map +1 -1
- package/dist/cjs/Sidebar.js +41 -5
- package/dist/cjs/Sidebar.js.map +1 -1
- package/package.json +1 -1
- package/src/translations/bg.json +125 -1
- package/types/Sidebar.d.ts +5 -0
package/dist/Sidebar.js
CHANGED
|
@@ -19,8 +19,9 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
19
19
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
20
20
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
21
21
|
import Right from '@bigbinary/neeto-icons/Right';
|
|
22
|
-
import
|
|
22
|
+
import Plus from '@bigbinary/neeto-icons/Plus';
|
|
23
23
|
import Dropdown from '@bigbinary/neetoui/Dropdown';
|
|
24
|
+
import MenuHorizontal from '@bigbinary/neeto-icons/MenuHorizontal';
|
|
24
25
|
import { u as useKeyboardShortcutsPaneState } from './useKeyboardShortcutsPaneState-C_eLceJQ.js';
|
|
25
26
|
import '@bigbinary/neeto-commons-frontend/react-utils';
|
|
26
27
|
import '@bigbinary/neeto-commons-frontend/utils/general';
|
|
@@ -63,6 +64,39 @@ var Header = function Header(_ref) {
|
|
|
63
64
|
};
|
|
64
65
|
var Header$1 = /*#__PURE__*/memo(Header);
|
|
65
66
|
|
|
67
|
+
var AddDropdown = function AddDropdown(_ref) {
|
|
68
|
+
var addActions = _ref.addActions;
|
|
69
|
+
return /*#__PURE__*/jsx(Dropdown, {
|
|
70
|
+
closeOnSelect: true,
|
|
71
|
+
position: "bottom-end",
|
|
72
|
+
customTarget: function customTarget() {
|
|
73
|
+
return /*#__PURE__*/jsx("span", {
|
|
74
|
+
className: "neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret",
|
|
75
|
+
"data-testid": "add-dropdown-trigger",
|
|
76
|
+
onClick: function onClick(e) {
|
|
77
|
+
e.preventDefault();
|
|
78
|
+
e.stopPropagation();
|
|
79
|
+
},
|
|
80
|
+
children: /*#__PURE__*/jsx(Plus, {
|
|
81
|
+
size: 16
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
},
|
|
85
|
+
children: /*#__PURE__*/jsx(Dropdown.Menu, {
|
|
86
|
+
children: addActions.map(function (action) {
|
|
87
|
+
return /*#__PURE__*/jsx(Dropdown.MenuItem.Button, {
|
|
88
|
+
onClick: function onClick(e) {
|
|
89
|
+
var _action$onClick;
|
|
90
|
+
e.preventDefault();
|
|
91
|
+
(_action$onClick = action.onClick) === null || _action$onClick === void 0 || _action$onClick.call(action, e);
|
|
92
|
+
},
|
|
93
|
+
children: action.label
|
|
94
|
+
}, action.key);
|
|
95
|
+
})
|
|
96
|
+
})
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
|
|
66
100
|
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
67
101
|
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
68
102
|
var PinIcon = function PinIcon(_ref) {
|
|
@@ -212,7 +246,7 @@ var MoreDropdown = function MoreDropdown(_ref) {
|
|
|
212
246
|
});
|
|
213
247
|
};
|
|
214
248
|
|
|
215
|
-
var _excluded = ["label", "to", "icon", "items", "isConfigureNavLink", "isCountsLoading", "count", "component", "onClick"];
|
|
249
|
+
var _excluded = ["label", "to", "icon", "items", "isConfigureNavLink", "isCountsLoading", "count", "component", "onClick", "addActions"];
|
|
216
250
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
217
251
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
218
252
|
var renderCount = function renderCount(count) {
|
|
@@ -264,9 +298,7 @@ var Links = function Links(_ref) {
|
|
|
264
298
|
var navLinkKey = navLink.key || navLink.to;
|
|
265
299
|
return pinnedNavLinks.includes(navLinkKey);
|
|
266
300
|
};
|
|
267
|
-
var pinnedItems = moreNavLinks ? moreNavLinks.filter(
|
|
268
|
-
return isNavLinkPinned(navLink);
|
|
269
|
-
}) : [];
|
|
301
|
+
var pinnedItems = moreNavLinks ? moreNavLinks.filter(isNavLinkPinned) : [];
|
|
270
302
|
var activeMoreNavLink = moreNavLinks ? moreNavLinks.find(function (navLink) {
|
|
271
303
|
return navLink && (location.pathname + location.search).startsWith(navLink.to);
|
|
272
304
|
}) : null;
|
|
@@ -289,6 +321,8 @@ var Links = function Links(_ref) {
|
|
|
289
321
|
count = _navLink$count === void 0 ? null : _navLink$count,
|
|
290
322
|
Component = navLink.component,
|
|
291
323
|
_onClick = navLink.onClick,
|
|
324
|
+
_navLink$addActions = navLink.addActions,
|
|
325
|
+
addActions = _navLink$addActions === void 0 ? [] : _navLink$addActions,
|
|
292
326
|
otherProps = _objectWithoutProperties(navLink, _excluded);
|
|
293
327
|
var IconSVG = icon;
|
|
294
328
|
var url = new URL(to, window.location.href);
|
|
@@ -326,6 +360,8 @@ var Links = function Links(_ref) {
|
|
|
326
360
|
component: "span",
|
|
327
361
|
style: "body2",
|
|
328
362
|
children: label
|
|
363
|
+
}), isNotEmpty(addActions) && /*#__PURE__*/jsx(AddDropdown, {
|
|
364
|
+
addActions: addActions
|
|
329
365
|
}), isExpandable && !isConfigureNavLink && /*#__PURE__*/jsx("span", {
|
|
330
366
|
className: classnames("neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret", {
|
|
331
367
|
"neeto-molecules-sidebar__link-icon--rotate": isMenuExpanded
|
package/dist/Sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sources":["../src/components/Sidebar/Components/Header.jsx","../src/components/Sidebar/Components/Links/PinIcon.jsx","../src/components/Sidebar/Components/Links/UnpinIcon.jsx","../src/components/Sidebar/Components/Links/MoreDropdown.jsx","../src/components/Sidebar/Components/Links/index.jsx","../src/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n to={homePath}\n className={classnames(\n \"neeto-molecules-sidebar__logo neeto-ui-w-full\",\n { \"cursor-pointer\": isOnboarded },\n { \"pointer-events-none\": !isOnboarded }\n )}\n onClick={clearSettingsNav}\n >\n <LogoComponent\n className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","const PinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40zm-286 80h252l-46-46v-314H400v314zm126 0\" />\n </svg>\n);\n\nexport default PinIcon;\n","const UnpinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40z\" />\n </svg>\n);\n\nexport default UnpinIcon;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Button } from \"neetoui\";\nimport { is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink.jsx\";\nimport PinIcon from \"./PinIcon.jsx\";\nimport UnpinIcon from \"./UnpinIcon.jsx\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnSelect\n appendTo={() => document.body}\n position=\"right\"\n strategy=\"fixed\"\n zIndex={99999}\n customTarget={() => (\n <div\n data-testid=\"more-nav-links-dropdown-button\"\n className={classnames(\n \"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link neeto-ui-w-full neeto-ui-cursor-pointer\",\n { \"neeto-molecules-sidebar__link--hover-active\": isOpen }\n )}\n onClick={() => setIsOpen(!isOpen)}\n >\n <span className=\"neeto-molecules-sidebar__link-icon\">\n <MenuHorizontal />\n </span>\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.sidebar.more\")}\n </Typography>\n </div>\n )}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n >\n <Dropdown.Menu\n className=\"p-0\"\n data-testid=\"more-nav-links-dropdown-menu\"\n position=\"right\"\n strategy=\"fixed\"\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n icon,\n key: navLinkKey,\n to,\n onClick,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n return (\n <Dropdown.MenuItem data-testid={label} key={navLinkKey || index}>\n <CheckPointNavLinks\n {...{ onClick, to }}\n className={classnames(\n \"flex cursor-pointer items-center justify-between gap-2 px-2 py-1\",\n { \"neeto-ui-bg-accent-100 font-semibold\": isActive() }\n )}\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <Typography\n className=\"min-w-0 flex-grow\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n </span>\n <Button\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n icon={\n isPinned\n ? () => <UnpinIcon otherProps={{}} size={16} />\n : () => <PinIcon otherProps={{}} size={16} />\n }\n tooltipProps={{\n content: isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\"),\n position: \"right\",\n }}\n onClick={event => handleTogglePin(navLink, event)}\n />\n </CheckPointNavLinks>\n </Dropdown.MenuItem>\n );\n })}\n </Dropdown.Menu>\n </Dropdown>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { Right } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\nimport MoreDropdown from \"./MoreDropdown\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../../constants\";\nimport { filterByPermissions } from \"../../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst Links = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n const [pinnedNavLinks, setPinnedNavLinks] = useLocalStorage(\n PINNED_MORE_NAV_LINKS_KEY,\n []\n );\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n const handleTogglePin = (navLink, event) => {\n event.preventDefault();\n event.stopPropagation();\n const navLinkKey = navLink.key || navLink.to;\n const isPinned = pinnedNavLinks.includes(navLinkKey);\n\n if (isPinned) {\n setPinnedNavLinks(pinnedNavLinks.filter(isNot(navLinkKey)));\n } else {\n setPinnedNavLinks([...pinnedNavLinks, navLinkKey]);\n }\n };\n\n const isNavLinkPinned = navLink => {\n if (!navLink) return false;\n const navLinkKey = navLink.key || navLink.to;\n\n return pinnedNavLinks.includes(navLinkKey);\n };\n\n const pinnedItems = moreNavLinks\n ? moreNavLinks.filter(navLink => isNavLinkPinned(navLink))\n : [];\n\n const activeMoreNavLink = moreNavLinks\n ? moreNavLinks.find(\n navLink =>\n navLink &&\n (location.pathname + location.search).startsWith(navLink.to)\n )\n : null;\n\n const additionalItems = [...pinnedItems];\n\n if (activeMoreNavLink && !isNavLinkPinned(activeMoreNavLink)) {\n additionalItems.push(activeMoreNavLink);\n }\n\n const combinedNavLinks = [...navLinks, ...additionalItems];\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {combinedNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n onClick,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isExpandable = items || Component;\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={navLink.key || index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event => {\n handleNavLinkClick({ event, isActive, navLink });\n onClick?.(event);\n }}\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {isExpandable && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }} />\n )}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n DEFAULT_HOME_PATH,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nconst Sidebar = ({\n navLinks,\n moreNavLinks = [],\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const { data } = useFetchNeetoApps();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (isKeyboardShortcutsPaneOpen) {\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {\n setIsSidebarPaneOpen(true);\n setIsSidebarCollapsed(false);\n }\n }, [isKeyboardShortcutsPaneOpen]);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.to));\n }\n };\n\n const homePath = useMemo(() => {\n if (!data?.neetoApps) return DEFAULT_HOME_PATH;\n\n const productName = globalProps.appName.substr(5);\n const thisApp = findBy({ name: productName }, data.neetoApps);\n\n return thisApp?.url ? new URL(thisApp.url).pathname : DEFAULT_HOME_PATH;\n }, [data]);\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink\n {...{ handleGoBack, homePath }}\n navLink={activeLink}\n />\n ) : (\n <Links\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To specify the navlinks to be shown in the dropdown which opens up on clicking More option in sidebar.\n */\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n /**\n * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","classnames","onClick","memo","PinIcon","size","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","location","useLocation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","Dropdown","closeOnSelect","appendTo","document","body","position","strategy","zIndex","customTarget","_jsxs","MenuHorizontal","Typography","component","style","onClickOutside","onClose","Menu","filter","filterByPermissions","map","navLink","index","label","icon","navLinkKey","key","_objectWithoutProperties","_excluded","IconSVG","isPinned","url","URL","window","href","isActive","is","Function","pathname","startsWith","MenuItem","CheckPointNavLinks","Button","tooltipProps","content","event","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","isActiveLinkExpanded","setIsActiveLinkExpanded","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isExpandable","isPresent","items","isConfigureNavLink","isNotEmpty","not","resetPath","preventDefault","stopPropagation","includes","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","search","additionalItems","push","combinedNavLinks","_navLink$isCountsLoad","_navLink$count","Component","isMenuExpanded","Fragment","activeClassName","hyphenate","Right","_Fragment","Items","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","isSidebarPaneOpen","setIsSidebarPaneOpen","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","_useFetchNeetoApps","useFetchNeetoApps","data","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","handleResize","addEventListener","removeEventListener","undefined","handle","querySelector","onMouseDown","e","_sidebarRef$current","current","clientX","getBoundingClientRect","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","buildUrl","useMemo","neetoApps","DEFAULT_HOME_PATH","thisApp","findBy","name","activeLink","link","isSelectedNavLinkVisible","ref","weight","organization","SelectedLink","Chevron","touch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sources":["../src/components/Sidebar/Components/Header.jsx","../src/components/Sidebar/Components/Links/AddDropdown.jsx","../src/components/Sidebar/Components/Links/PinIcon.jsx","../src/components/Sidebar/Components/Links/UnpinIcon.jsx","../src/components/Sidebar/Components/Links/MoreDropdown.jsx","../src/components/Sidebar/Components/Links/index.jsx","../src/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n to={homePath}\n className={classnames(\n \"neeto-molecules-sidebar__logo neeto-ui-w-full\",\n { \"cursor-pointer\": isOnboarded },\n { \"pointer-events-none\": !isOnboarded }\n )}\n onClick={clearSettingsNav}\n >\n <LogoComponent\n className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Plus } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nconst AddDropdown = ({ addActions }) => (\n <Dropdown\n closeOnSelect\n position=\"bottom-end\"\n customTarget={() => (\n <span\n className=\"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\"\n data-testid=\"add-dropdown-trigger\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Plus size={16} />\n </span>\n )}\n >\n <Dropdown.Menu>\n {addActions.map(action => (\n <Dropdown.MenuItem.Button\n key={action.key}\n onClick={e => {\n e.preventDefault();\n action.onClick?.(e);\n }}\n >\n {action.label}\n </Dropdown.MenuItem.Button>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n);\n\nexport default AddDropdown;\n","const PinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40zm-286 80h252l-46-46v-314H400v314zm126 0\" />\n </svg>\n);\n\nexport default PinIcon;\n","const UnpinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40z\" />\n </svg>\n);\n\nexport default UnpinIcon;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Button } from \"neetoui\";\nimport { is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink.jsx\";\nimport PinIcon from \"./PinIcon.jsx\";\nimport UnpinIcon from \"./UnpinIcon.jsx\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnSelect\n appendTo={() => document.body}\n position=\"right\"\n strategy=\"fixed\"\n zIndex={99999}\n customTarget={() => (\n <div\n data-testid=\"more-nav-links-dropdown-button\"\n className={classnames(\n \"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link neeto-ui-w-full neeto-ui-cursor-pointer\",\n { \"neeto-molecules-sidebar__link--hover-active\": isOpen }\n )}\n onClick={() => setIsOpen(!isOpen)}\n >\n <span className=\"neeto-molecules-sidebar__link-icon\">\n <MenuHorizontal />\n </span>\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.sidebar.more\")}\n </Typography>\n </div>\n )}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n >\n <Dropdown.Menu\n className=\"p-0\"\n data-testid=\"more-nav-links-dropdown-menu\"\n position=\"right\"\n strategy=\"fixed\"\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n icon,\n key: navLinkKey,\n to,\n onClick,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n return (\n <Dropdown.MenuItem data-testid={label} key={navLinkKey || index}>\n <CheckPointNavLinks\n {...{ onClick, to }}\n className={classnames(\n \"flex cursor-pointer items-center justify-between gap-2 px-2 py-1\",\n { \"neeto-ui-bg-accent-100 font-semibold\": isActive() }\n )}\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <Typography\n className=\"min-w-0 flex-grow\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n </span>\n <Button\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n icon={\n isPinned\n ? () => <UnpinIcon otherProps={{}} size={16} />\n : () => <PinIcon otherProps={{}} size={16} />\n }\n tooltipProps={{\n content: isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\"),\n position: \"right\",\n }}\n onClick={event => handleTogglePin(navLink, event)}\n />\n </CheckPointNavLinks>\n </Dropdown.MenuItem>\n );\n })}\n </Dropdown.Menu>\n </Dropdown>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { Right } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport AddDropdown from \"./AddDropdown\";\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\nimport MoreDropdown from \"./MoreDropdown\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../../constants\";\nimport { filterByPermissions } from \"../../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst Links = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n const [pinnedNavLinks, setPinnedNavLinks] = useLocalStorage(\n PINNED_MORE_NAV_LINKS_KEY,\n []\n );\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n const handleTogglePin = (navLink, event) => {\n event.preventDefault();\n event.stopPropagation();\n const navLinkKey = navLink.key || navLink.to;\n const isPinned = pinnedNavLinks.includes(navLinkKey);\n\n if (isPinned) {\n setPinnedNavLinks(pinnedNavLinks.filter(isNot(navLinkKey)));\n } else {\n setPinnedNavLinks([...pinnedNavLinks, navLinkKey]);\n }\n };\n\n const isNavLinkPinned = navLink => {\n if (!navLink) return false;\n const navLinkKey = navLink.key || navLink.to;\n\n return pinnedNavLinks.includes(navLinkKey);\n };\n\n const pinnedItems = moreNavLinks ? moreNavLinks.filter(isNavLinkPinned) : [];\n\n const activeMoreNavLink = moreNavLinks\n ? moreNavLinks.find(\n navLink =>\n navLink &&\n (location.pathname + location.search).startsWith(navLink.to)\n )\n : null;\n\n const additionalItems = [...pinnedItems];\n\n if (activeMoreNavLink && !isNavLinkPinned(activeMoreNavLink)) {\n additionalItems.push(activeMoreNavLink);\n }\n\n const combinedNavLinks = [...navLinks, ...additionalItems];\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {combinedNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n onClick,\n addActions = [],\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isExpandable = items || Component;\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={navLink.key || index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event => {\n handleNavLinkClick({ event, isActive, navLink });\n onClick?.(event);\n }}\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {isNotEmpty(addActions) && <AddDropdown {...{ addActions }} />}\n {isExpandable && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }} />\n )}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n DEFAULT_HOME_PATH,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nconst Sidebar = ({\n navLinks,\n moreNavLinks = [],\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const { data } = useFetchNeetoApps();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (isKeyboardShortcutsPaneOpen) {\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {\n setIsSidebarPaneOpen(true);\n setIsSidebarCollapsed(false);\n }\n }, [isKeyboardShortcutsPaneOpen]);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.to));\n }\n };\n\n const homePath = useMemo(() => {\n if (!data?.neetoApps) return DEFAULT_HOME_PATH;\n\n const productName = globalProps.appName.substr(5);\n const thisApp = findBy({ name: productName }, data.neetoApps);\n\n return thisApp?.url ? new URL(thisApp.url).pathname : DEFAULT_HOME_PATH;\n }, [data]);\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink\n {...{ handleGoBack, homePath }}\n navLink={activeLink}\n />\n ) : (\n <Links\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n addActions: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n })\n ),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To specify the navlinks to be shown in the dropdown which opens up on clicking More option in sidebar.\n */\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n /**\n * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","classnames","onClick","memo","AddDropdown","addActions","Dropdown","closeOnSelect","position","customTarget","e","preventDefault","stopPropagation","Plus","size","Menu","map","action","MenuItem","Button","_action$onClick","call","label","key","PinIcon","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","location","useLocation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","appendTo","document","body","strategy","zIndex","_jsxs","MenuHorizontal","Typography","component","style","onClickOutside","onClose","filter","filterByPermissions","navLink","index","icon","navLinkKey","_objectWithoutProperties","_excluded","IconSVG","isPinned","url","URL","window","href","isActive","is","Function","pathname","startsWith","CheckPointNavLinks","tooltipProps","content","event","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","isActiveLinkExpanded","setIsActiveLinkExpanded","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isExpandable","isPresent","items","isConfigureNavLink","isNotEmpty","not","resetPath","includes","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","search","additionalItems","push","combinedNavLinks","_navLink$isCountsLoad","_navLink$count","Component","_navLink$addActions","isMenuExpanded","Fragment","activeClassName","hyphenate","Right","_Fragment","Items","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","isSidebarPaneOpen","setIsSidebarPaneOpen","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","_useFetchNeetoApps","useFetchNeetoApps","data","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","handleResize","addEventListener","removeEventListener","undefined","handle","querySelector","onMouseDown","_sidebarRef$current","current","clientX","getBoundingClientRect","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","buildUrl","useMemo","neetoApps","DEFAULT_HOME_PATH","thisApp","findBy","name","activeLink","link","isSelectedNavLinkVisible","ref","weight","organization","SelectedLink","Chevron","touch"],"mappings":"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"}
|
package/dist/cjs/Sidebar.js
CHANGED
|
@@ -21,8 +21,9 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
|
21
21
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
22
22
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
23
23
|
var Right = require('@bigbinary/neeto-icons/Right');
|
|
24
|
-
var
|
|
24
|
+
var Plus = require('@bigbinary/neeto-icons/Plus');
|
|
25
25
|
var Dropdown = require('@bigbinary/neetoui/Dropdown');
|
|
26
|
+
var MenuHorizontal = require('@bigbinary/neeto-icons/MenuHorizontal');
|
|
26
27
|
var useKeyboardShortcutsPaneState = require('./useKeyboardShortcutsPaneState-YnXpWOcs.js');
|
|
27
28
|
require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
28
29
|
require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
@@ -84,6 +85,39 @@ var Header = function Header(_ref) {
|
|
|
84
85
|
};
|
|
85
86
|
var Header$1 = /*#__PURE__*/React.memo(Header);
|
|
86
87
|
|
|
88
|
+
var AddDropdown = function AddDropdown(_ref) {
|
|
89
|
+
var addActions = _ref.addActions;
|
|
90
|
+
return /*#__PURE__*/jsxRuntime.jsx(Dropdown, {
|
|
91
|
+
closeOnSelect: true,
|
|
92
|
+
position: "bottom-end",
|
|
93
|
+
customTarget: function customTarget() {
|
|
94
|
+
return /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
95
|
+
className: "neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret",
|
|
96
|
+
"data-testid": "add-dropdown-trigger",
|
|
97
|
+
onClick: function onClick(e) {
|
|
98
|
+
e.preventDefault();
|
|
99
|
+
e.stopPropagation();
|
|
100
|
+
},
|
|
101
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Plus, {
|
|
102
|
+
size: 16
|
|
103
|
+
})
|
|
104
|
+
});
|
|
105
|
+
},
|
|
106
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Dropdown.Menu, {
|
|
107
|
+
children: addActions.map(function (action) {
|
|
108
|
+
return /*#__PURE__*/jsxRuntime.jsx(Dropdown.MenuItem.Button, {
|
|
109
|
+
onClick: function onClick(e) {
|
|
110
|
+
var _action$onClick;
|
|
111
|
+
e.preventDefault();
|
|
112
|
+
(_action$onClick = action.onClick) === null || _action$onClick === void 0 || _action$onClick.call(action, e);
|
|
113
|
+
},
|
|
114
|
+
children: action.label
|
|
115
|
+
}, action.key);
|
|
116
|
+
})
|
|
117
|
+
})
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
|
|
87
121
|
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
88
122
|
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
89
123
|
var PinIcon = function PinIcon(_ref) {
|
|
@@ -233,7 +267,7 @@ var MoreDropdown = function MoreDropdown(_ref) {
|
|
|
233
267
|
});
|
|
234
268
|
};
|
|
235
269
|
|
|
236
|
-
var _excluded = ["label", "to", "icon", "items", "isConfigureNavLink", "isCountsLoading", "count", "component", "onClick"];
|
|
270
|
+
var _excluded = ["label", "to", "icon", "items", "isConfigureNavLink", "isCountsLoading", "count", "component", "onClick", "addActions"];
|
|
237
271
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
238
272
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
239
273
|
var renderCount = function renderCount(count) {
|
|
@@ -285,9 +319,7 @@ var Links = function Links(_ref) {
|
|
|
285
319
|
var navLinkKey = navLink.key || navLink.to;
|
|
286
320
|
return pinnedNavLinks.includes(navLinkKey);
|
|
287
321
|
};
|
|
288
|
-
var pinnedItems = moreNavLinks ? moreNavLinks.filter(
|
|
289
|
-
return isNavLinkPinned(navLink);
|
|
290
|
-
}) : [];
|
|
322
|
+
var pinnedItems = moreNavLinks ? moreNavLinks.filter(isNavLinkPinned) : [];
|
|
291
323
|
var activeMoreNavLink = moreNavLinks ? moreNavLinks.find(function (navLink) {
|
|
292
324
|
return navLink && (location.pathname + location.search).startsWith(navLink.to);
|
|
293
325
|
}) : null;
|
|
@@ -310,6 +342,8 @@ var Links = function Links(_ref) {
|
|
|
310
342
|
count = _navLink$count === void 0 ? null : _navLink$count,
|
|
311
343
|
Component = navLink.component,
|
|
312
344
|
_onClick = navLink.onClick,
|
|
345
|
+
_navLink$addActions = navLink.addActions,
|
|
346
|
+
addActions = _navLink$addActions === void 0 ? [] : _navLink$addActions,
|
|
313
347
|
otherProps = _objectWithoutProperties(navLink, _excluded);
|
|
314
348
|
var IconSVG = icon;
|
|
315
349
|
var url = new URL(to, window.location.href);
|
|
@@ -347,6 +381,8 @@ var Links = function Links(_ref) {
|
|
|
347
381
|
component: "span",
|
|
348
382
|
style: "body2",
|
|
349
383
|
children: label
|
|
384
|
+
}), neetoCist.isNotEmpty(addActions) && /*#__PURE__*/jsxRuntime.jsx(AddDropdown, {
|
|
385
|
+
addActions: addActions
|
|
350
386
|
}), isExpandable && !isConfigureNavLink && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
351
387
|
className: classnames("neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret", {
|
|
352
388
|
"neeto-molecules-sidebar__link-icon--rotate": isMenuExpanded
|
package/dist/cjs/Sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/PinIcon.jsx","../../src/components/Sidebar/Components/Links/UnpinIcon.jsx","../../src/components/Sidebar/Components/Links/MoreDropdown.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n to={homePath}\n className={classnames(\n \"neeto-molecules-sidebar__logo neeto-ui-w-full\",\n { \"cursor-pointer\": isOnboarded },\n { \"pointer-events-none\": !isOnboarded }\n )}\n onClick={clearSettingsNav}\n >\n <LogoComponent\n className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","const PinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40zm-286 80h252l-46-46v-314H400v314zm126 0\" />\n </svg>\n);\n\nexport default PinIcon;\n","const UnpinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40z\" />\n </svg>\n);\n\nexport default UnpinIcon;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Button } from \"neetoui\";\nimport { is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink.jsx\";\nimport PinIcon from \"./PinIcon.jsx\";\nimport UnpinIcon from \"./UnpinIcon.jsx\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnSelect\n appendTo={() => document.body}\n position=\"right\"\n strategy=\"fixed\"\n zIndex={99999}\n customTarget={() => (\n <div\n data-testid=\"more-nav-links-dropdown-button\"\n className={classnames(\n \"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link neeto-ui-w-full neeto-ui-cursor-pointer\",\n { \"neeto-molecules-sidebar__link--hover-active\": isOpen }\n )}\n onClick={() => setIsOpen(!isOpen)}\n >\n <span className=\"neeto-molecules-sidebar__link-icon\">\n <MenuHorizontal />\n </span>\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.sidebar.more\")}\n </Typography>\n </div>\n )}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n >\n <Dropdown.Menu\n className=\"p-0\"\n data-testid=\"more-nav-links-dropdown-menu\"\n position=\"right\"\n strategy=\"fixed\"\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n icon,\n key: navLinkKey,\n to,\n onClick,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n return (\n <Dropdown.MenuItem data-testid={label} key={navLinkKey || index}>\n <CheckPointNavLinks\n {...{ onClick, to }}\n className={classnames(\n \"flex cursor-pointer items-center justify-between gap-2 px-2 py-1\",\n { \"neeto-ui-bg-accent-100 font-semibold\": isActive() }\n )}\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <Typography\n className=\"min-w-0 flex-grow\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n </span>\n <Button\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n icon={\n isPinned\n ? () => <UnpinIcon otherProps={{}} size={16} />\n : () => <PinIcon otherProps={{}} size={16} />\n }\n tooltipProps={{\n content: isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\"),\n position: \"right\",\n }}\n onClick={event => handleTogglePin(navLink, event)}\n />\n </CheckPointNavLinks>\n </Dropdown.MenuItem>\n );\n })}\n </Dropdown.Menu>\n </Dropdown>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { Right } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\nimport MoreDropdown from \"./MoreDropdown\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../../constants\";\nimport { filterByPermissions } from \"../../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst Links = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n const [pinnedNavLinks, setPinnedNavLinks] = useLocalStorage(\n PINNED_MORE_NAV_LINKS_KEY,\n []\n );\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n const handleTogglePin = (navLink, event) => {\n event.preventDefault();\n event.stopPropagation();\n const navLinkKey = navLink.key || navLink.to;\n const isPinned = pinnedNavLinks.includes(navLinkKey);\n\n if (isPinned) {\n setPinnedNavLinks(pinnedNavLinks.filter(isNot(navLinkKey)));\n } else {\n setPinnedNavLinks([...pinnedNavLinks, navLinkKey]);\n }\n };\n\n const isNavLinkPinned = navLink => {\n if (!navLink) return false;\n const navLinkKey = navLink.key || navLink.to;\n\n return pinnedNavLinks.includes(navLinkKey);\n };\n\n const pinnedItems = moreNavLinks\n ? moreNavLinks.filter(navLink => isNavLinkPinned(navLink))\n : [];\n\n const activeMoreNavLink = moreNavLinks\n ? moreNavLinks.find(\n navLink =>\n navLink &&\n (location.pathname + location.search).startsWith(navLink.to)\n )\n : null;\n\n const additionalItems = [...pinnedItems];\n\n if (activeMoreNavLink && !isNavLinkPinned(activeMoreNavLink)) {\n additionalItems.push(activeMoreNavLink);\n }\n\n const combinedNavLinks = [...navLinks, ...additionalItems];\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {combinedNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n onClick,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isExpandable = items || Component;\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={navLink.key || index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event => {\n handleNavLinkClick({ event, isActive, navLink });\n onClick?.(event);\n }}\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {isExpandable && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }} />\n )}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n DEFAULT_HOME_PATH,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nconst Sidebar = ({\n navLinks,\n moreNavLinks = [],\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const { data } = useFetchNeetoApps();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (isKeyboardShortcutsPaneOpen) {\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {\n setIsSidebarPaneOpen(true);\n setIsSidebarCollapsed(false);\n }\n }, [isKeyboardShortcutsPaneOpen]);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.to));\n }\n };\n\n const homePath = useMemo(() => {\n if (!data?.neetoApps) return DEFAULT_HOME_PATH;\n\n const productName = globalProps.appName.substr(5);\n const thisApp = findBy({ name: productName }, data.neetoApps);\n\n return thisApp?.url ? new URL(thisApp.url).pathname : DEFAULT_HOME_PATH;\n }, [data]);\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink\n {...{ handleGoBack, homePath }}\n navLink={activeLink}\n />\n ) : (\n <Links\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To specify the navlinks to be shown in the dropdown which opens up on clicking More option in sidebar.\n */\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n /**\n * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","classnames","onClick","memo","PinIcon","size","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","location","useLocation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","Dropdown","closeOnSelect","appendTo","document","body","position","strategy","zIndex","customTarget","_jsxs","MenuHorizontal","Typography","component","style","onClickOutside","onClose","Menu","filter","filterByPermissions","map","navLink","index","label","icon","navLinkKey","key","_objectWithoutProperties","_excluded","IconSVG","isPinned","url","URL","window","href","isActive","is","Function","pathname","startsWith","MenuItem","CheckPointNavLinks","Button","tooltipProps","content","event","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","isActiveLinkExpanded","setIsActiveLinkExpanded","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isExpandable","isPresent","items","isConfigureNavLink","isNotEmpty","not","resetPath","preventDefault","stopPropagation","includes","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","search","additionalItems","push","combinedNavLinks","_navLink$isCountsLoad","_navLink$count","Component","isMenuExpanded","Fragment","activeClassName","hyphenate","Right","_Fragment","Items","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","isSidebarPaneOpen","setIsSidebarPaneOpen","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","_useFetchNeetoApps","useFetchNeetoApps","data","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","handleResize","addEventListener","removeEventListener","undefined","handle","querySelector","onMouseDown","e","_sidebarRef$current","current","clientX","getBoundingClientRect","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","buildUrl","useMemo","neetoApps","DEFAULT_HOME_PATH","thisApp","findBy","name","activeLink","link","isSelectedNavLinkVisible","ref","weight","organization","SelectedLink","Chevron","touch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/AddDropdown.jsx","../../src/components/Sidebar/Components/Links/PinIcon.jsx","../../src/components/Sidebar/Components/Links/UnpinIcon.jsx","../../src/components/Sidebar/Components/Links/MoreDropdown.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n to={homePath}\n className={classnames(\n \"neeto-molecules-sidebar__logo neeto-ui-w-full\",\n { \"cursor-pointer\": isOnboarded },\n { \"pointer-events-none\": !isOnboarded }\n )}\n onClick={clearSettingsNav}\n >\n <LogoComponent\n className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Plus } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nconst AddDropdown = ({ addActions }) => (\n <Dropdown\n closeOnSelect\n position=\"bottom-end\"\n customTarget={() => (\n <span\n className=\"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\"\n data-testid=\"add-dropdown-trigger\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Plus size={16} />\n </span>\n )}\n >\n <Dropdown.Menu>\n {addActions.map(action => (\n <Dropdown.MenuItem.Button\n key={action.key}\n onClick={e => {\n e.preventDefault();\n action.onClick?.(e);\n }}\n >\n {action.label}\n </Dropdown.MenuItem.Button>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n);\n\nexport default AddDropdown;\n","const PinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40zm-286 80h252l-46-46v-314H400v314zm126 0\" />\n </svg>\n);\n\nexport default PinIcon;\n","const UnpinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40z\" />\n </svg>\n);\n\nexport default UnpinIcon;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Button } from \"neetoui\";\nimport { is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink.jsx\";\nimport PinIcon from \"./PinIcon.jsx\";\nimport UnpinIcon from \"./UnpinIcon.jsx\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnSelect\n appendTo={() => document.body}\n position=\"right\"\n strategy=\"fixed\"\n zIndex={99999}\n customTarget={() => (\n <div\n data-testid=\"more-nav-links-dropdown-button\"\n className={classnames(\n \"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link neeto-ui-w-full neeto-ui-cursor-pointer\",\n { \"neeto-molecules-sidebar__link--hover-active\": isOpen }\n )}\n onClick={() => setIsOpen(!isOpen)}\n >\n <span className=\"neeto-molecules-sidebar__link-icon\">\n <MenuHorizontal />\n </span>\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.sidebar.more\")}\n </Typography>\n </div>\n )}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n >\n <Dropdown.Menu\n className=\"p-0\"\n data-testid=\"more-nav-links-dropdown-menu\"\n position=\"right\"\n strategy=\"fixed\"\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n icon,\n key: navLinkKey,\n to,\n onClick,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n return (\n <Dropdown.MenuItem data-testid={label} key={navLinkKey || index}>\n <CheckPointNavLinks\n {...{ onClick, to }}\n className={classnames(\n \"flex cursor-pointer items-center justify-between gap-2 px-2 py-1\",\n { \"neeto-ui-bg-accent-100 font-semibold\": isActive() }\n )}\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <Typography\n className=\"min-w-0 flex-grow\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n </span>\n <Button\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n icon={\n isPinned\n ? () => <UnpinIcon otherProps={{}} size={16} />\n : () => <PinIcon otherProps={{}} size={16} />\n }\n tooltipProps={{\n content: isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\"),\n position: \"right\",\n }}\n onClick={event => handleTogglePin(navLink, event)}\n />\n </CheckPointNavLinks>\n </Dropdown.MenuItem>\n );\n })}\n </Dropdown.Menu>\n </Dropdown>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { Right } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport AddDropdown from \"./AddDropdown\";\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\nimport MoreDropdown from \"./MoreDropdown\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../../constants\";\nimport { filterByPermissions } from \"../../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst Links = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n const [pinnedNavLinks, setPinnedNavLinks] = useLocalStorage(\n PINNED_MORE_NAV_LINKS_KEY,\n []\n );\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n const handleTogglePin = (navLink, event) => {\n event.preventDefault();\n event.stopPropagation();\n const navLinkKey = navLink.key || navLink.to;\n const isPinned = pinnedNavLinks.includes(navLinkKey);\n\n if (isPinned) {\n setPinnedNavLinks(pinnedNavLinks.filter(isNot(navLinkKey)));\n } else {\n setPinnedNavLinks([...pinnedNavLinks, navLinkKey]);\n }\n };\n\n const isNavLinkPinned = navLink => {\n if (!navLink) return false;\n const navLinkKey = navLink.key || navLink.to;\n\n return pinnedNavLinks.includes(navLinkKey);\n };\n\n const pinnedItems = moreNavLinks ? moreNavLinks.filter(isNavLinkPinned) : [];\n\n const activeMoreNavLink = moreNavLinks\n ? moreNavLinks.find(\n navLink =>\n navLink &&\n (location.pathname + location.search).startsWith(navLink.to)\n )\n : null;\n\n const additionalItems = [...pinnedItems];\n\n if (activeMoreNavLink && !isNavLinkPinned(activeMoreNavLink)) {\n additionalItems.push(activeMoreNavLink);\n }\n\n const combinedNavLinks = [...navLinks, ...additionalItems];\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {combinedNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n onClick,\n addActions = [],\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isExpandable = items || Component;\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={navLink.key || index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event => {\n handleNavLinkClick({ event, isActive, navLink });\n onClick?.(event);\n }}\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {isNotEmpty(addActions) && <AddDropdown {...{ addActions }} />}\n {isExpandable && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }} />\n )}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n DEFAULT_HOME_PATH,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nconst Sidebar = ({\n navLinks,\n moreNavLinks = [],\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const { data } = useFetchNeetoApps();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (isKeyboardShortcutsPaneOpen) {\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {\n setIsSidebarPaneOpen(true);\n setIsSidebarCollapsed(false);\n }\n }, [isKeyboardShortcutsPaneOpen]);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.to));\n }\n };\n\n const homePath = useMemo(() => {\n if (!data?.neetoApps) return DEFAULT_HOME_PATH;\n\n const productName = globalProps.appName.substr(5);\n const thisApp = findBy({ name: productName }, data.neetoApps);\n\n return thisApp?.url ? new URL(thisApp.url).pathname : DEFAULT_HOME_PATH;\n }, [data]);\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink\n {...{ handleGoBack, homePath }}\n navLink={activeLink}\n />\n ) : (\n <Links\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n addActions: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n })\n ),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To specify the navlinks to be shown in the dropdown which opens up on clicking More option in sidebar.\n */\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n /**\n * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","classnames","onClick","memo","AddDropdown","addActions","Dropdown","closeOnSelect","position","customTarget","e","preventDefault","stopPropagation","Plus","size","Menu","map","action","MenuItem","Button","_action$onClick","call","label","key","PinIcon","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","location","useLocation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","appendTo","document","body","strategy","zIndex","_jsxs","MenuHorizontal","Typography","component","style","onClickOutside","onClose","filter","filterByPermissions","navLink","index","icon","navLinkKey","_objectWithoutProperties","_excluded","IconSVG","isPinned","url","URL","window","href","isActive","is","Function","pathname","startsWith","CheckPointNavLinks","tooltipProps","content","event","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","isActiveLinkExpanded","setIsActiveLinkExpanded","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isExpandable","isPresent","items","isConfigureNavLink","isNotEmpty","not","resetPath","includes","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","search","additionalItems","push","combinedNavLinks","_navLink$isCountsLoad","_navLink$count","Component","_navLink$addActions","isMenuExpanded","Fragment","activeClassName","hyphenate","Right","_Fragment","Items","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","isSidebarPaneOpen","setIsSidebarPaneOpen","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","_useFetchNeetoApps","useFetchNeetoApps","data","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","handleResize","addEventListener","removeEventListener","undefined","handle","querySelector","onMouseDown","_sidebarRef$current","current","clientX","getBoundingClientRect","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","buildUrl","useMemo","neetoApps","DEFAULT_HOME_PATH","thisApp","findBy","name","activeLink","link","isSelectedNavLinkVisible","ref","weight","organization","SelectedLink","Chevron","touch"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.40",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
package/src/translations/bg.json
CHANGED
|
@@ -564,7 +564,36 @@
|
|
|
564
564
|
},
|
|
565
565
|
"sidebar": {
|
|
566
566
|
"organizationSwitcher": {
|
|
567
|
-
"addAccount": "Добавете друга сметка"
|
|
567
|
+
"addAccount": "Добавете друга сметка",
|
|
568
|
+
"label": "Сменете работното пространство"
|
|
569
|
+
},
|
|
570
|
+
"myProfile": "Моят профил",
|
|
571
|
+
"myWorkspace": "Моето работно пространство",
|
|
572
|
+
"logout": "Изход",
|
|
573
|
+
"login": "Вход",
|
|
574
|
+
"help": "Помощ",
|
|
575
|
+
"goBack": "Назад",
|
|
576
|
+
"more": "Повече",
|
|
577
|
+
"productSwitcher": "Сменете продукта",
|
|
578
|
+
"neetoProducts": "Продукти на Неето",
|
|
579
|
+
"currentPlan": "Текущ план: <strong>{{subscriptionPlan,anyCase}} план</strong>",
|
|
580
|
+
"pin": "Закрепи",
|
|
581
|
+
"unpin": "Открепи",
|
|
582
|
+
"helpLinks": {
|
|
583
|
+
"liveChat": "Чат с поддръжка",
|
|
584
|
+
"helpCenter": "Център за помощ",
|
|
585
|
+
"whatsNew": "Какво ново",
|
|
586
|
+
"keyboardShortcuts": "Клавишни комбинации",
|
|
587
|
+
"helpArticles": "Статии за помощ",
|
|
588
|
+
"productStatus": "Статус на {{app,anyCase}}",
|
|
589
|
+
"community": "{{app,anyCase}} Общество"
|
|
590
|
+
},
|
|
591
|
+
"showMenu": "Разширете страничното меню",
|
|
592
|
+
"hideMenu": "Сгънете страничното меню",
|
|
593
|
+
"themeSwitcher": {
|
|
594
|
+
"label": "Тема: {{selectedTheme, anyCase}}",
|
|
595
|
+
"light": "Светъл",
|
|
596
|
+
"dark": "Тъмен"
|
|
568
597
|
}
|
|
569
598
|
},
|
|
570
599
|
"productSwitcher": {
|
|
@@ -734,6 +763,101 @@
|
|
|
734
763
|
"connected": "Свързано",
|
|
735
764
|
"expired": "Изтекло"
|
|
736
765
|
}
|
|
766
|
+
},
|
|
767
|
+
"common": {
|
|
768
|
+
"actions": {
|
|
769
|
+
"submit": "Изпрати",
|
|
770
|
+
"continue": "Напред",
|
|
771
|
+
"search": "Търсене",
|
|
772
|
+
"cancel": "Отказ",
|
|
773
|
+
"close": "Затвори",
|
|
774
|
+
"open": "Отвори",
|
|
775
|
+
"move": "Премести",
|
|
776
|
+
"save": "Запази",
|
|
777
|
+
"edit": "Редактирай",
|
|
778
|
+
"delete": "Изтрий",
|
|
779
|
+
"apply": "Приложи",
|
|
780
|
+
"add": "Добави {{entity}}",
|
|
781
|
+
"reset": "Нулирай",
|
|
782
|
+
"saveChanges": "Запази промените",
|
|
783
|
+
"publish": "Публикувай",
|
|
784
|
+
"draft": "Чернова",
|
|
785
|
+
"changeTimezone": "Смени часовата зона",
|
|
786
|
+
"rename": "Преименувай",
|
|
787
|
+
"discard": "Отхвърли",
|
|
788
|
+
"resetToDefaults": "Нулиране на по подразбиране",
|
|
789
|
+
"proceed": "Продължи",
|
|
790
|
+
"clone": "Клонирай",
|
|
791
|
+
"archive": "Архивирай",
|
|
792
|
+
"unArchive": "Разархивирай",
|
|
793
|
+
"enable": "Активирай",
|
|
794
|
+
"disable": "Деактивирай",
|
|
795
|
+
"share": "Сподели",
|
|
796
|
+
"done": "Готово"
|
|
797
|
+
},
|
|
798
|
+
"reacted": "Реагирано",
|
|
799
|
+
"record": "запис",
|
|
800
|
+
"or": "или",
|
|
801
|
+
"name": "име",
|
|
802
|
+
"value": "стойност",
|
|
803
|
+
"search": "Търсене {{entity}}",
|
|
804
|
+
"notFound": {
|
|
805
|
+
"title": "Няма {{entity}} за показване."
|
|
806
|
+
},
|
|
807
|
+
"status": "статус",
|
|
808
|
+
"deleteAlert": {
|
|
809
|
+
"title": "Изтриване на {{entity}}?"
|
|
810
|
+
},
|
|
811
|
+
"download": "Изтегли",
|
|
812
|
+
"filter": "Филтър",
|
|
813
|
+
"somethingWentWrong": "Нещо се обърка. Моля, опитайте отново.",
|
|
814
|
+
"currency": "Валута",
|
|
815
|
+
"emojiPicker": "Избор на емоджи",
|
|
816
|
+
"validations": {
|
|
817
|
+
"requiredField": "{{entity}} е задължително поле"
|
|
818
|
+
},
|
|
819
|
+
"madeWith": "Направено с <strong>{{productName, anyCase}}</strong>",
|
|
820
|
+
"viewHelpArticle": "Прочетете статията за помощ",
|
|
821
|
+
"copied": "Копирано",
|
|
822
|
+
"copyToClipboard": "Копирай в клипборда",
|
|
823
|
+
"success": "Успешно",
|
|
824
|
+
"pending": "В изчакване",
|
|
825
|
+
"enter": "Въведете {{what}}"
|
|
826
|
+
},
|
|
827
|
+
"columns": {
|
|
828
|
+
"columns": "Персонализиране на колони",
|
|
829
|
+
"noColumns": "Няма намерени колони!",
|
|
830
|
+
"search": "Търсене на колони",
|
|
831
|
+
"hideAll": "Скрий всички",
|
|
832
|
+
"showAll": "Покажи всички",
|
|
833
|
+
"reset": "Нулирай"
|
|
834
|
+
},
|
|
835
|
+
"engagements": {
|
|
836
|
+
"namesReacted": "{{ names, anyCase }} реагираха"
|
|
837
|
+
},
|
|
838
|
+
"login": {
|
|
839
|
+
"loginAsOliver": "Вход като Оливер",
|
|
840
|
+
"login": "Вход",
|
|
841
|
+
"email": "Имейл",
|
|
842
|
+
"password": "Парола",
|
|
843
|
+
"invalidEmail": "Моля, въведете валиден имейл",
|
|
844
|
+
"emailRequired": "Имейлът е задължителен",
|
|
845
|
+
"passwordRequired": "Паролата е задължителна",
|
|
846
|
+
"success": "Успешно влязохте.",
|
|
847
|
+
"toOrganizationAccount": "Влезте в акаунта си в <bold>{{organizationName, anyCase}}</bold>",
|
|
848
|
+
"installNeetoUI": "<div>Трябва да имате инсталирана версия ^3.5.11 на @bigbinary/neetoui, за да използвате формата за вход.<br />Изпълнете командата:<br /><code>yarn add @bigbinary/neetoui@^3.5.11</code></div>"
|
|
849
|
+
},
|
|
850
|
+
"errorPage": {
|
|
851
|
+
"cantBeFound": "Страницата, която търсите, <br /> липсва.",
|
|
852
|
+
"unauthorized": "Нямате разрешения <br /> за достъп до тази страница.",
|
|
853
|
+
"internalServerError": "Сървърът имаше грешка и <br /> не можа да изпълни вашето искане.",
|
|
854
|
+
"backToHome": "Назад към началната страница",
|
|
855
|
+
"contactUs": "Ако проблемът продължава, моля <button>свържете се с нас</button>.",
|
|
856
|
+
"title": {
|
|
857
|
+
"cantBeFound": "Страницата не е намерена",
|
|
858
|
+
"unauthorized": "Без разрешение",
|
|
859
|
+
"internalServerError": "Вътрешна сървърна грешка"
|
|
860
|
+
}
|
|
737
861
|
}
|
|
738
862
|
},
|
|
739
863
|
"taxonomyDefaultLabels": {
|
package/types/Sidebar.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ type NavLinkItemType = {
|
|
|
9
9
|
onClick?: () => void;
|
|
10
10
|
description?: React.ReactNode;
|
|
11
11
|
component?: React.ComponentType;
|
|
12
|
+
addActions?: {
|
|
13
|
+
key: string;
|
|
14
|
+
label: string;
|
|
15
|
+
onClick?: () => void;
|
|
16
|
+
}[];
|
|
12
17
|
isActive?: () => boolean;
|
|
13
18
|
count?: number;
|
|
14
19
|
type?: string;
|