@bigbinary/neeto-molecules 4.0.38 → 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 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 MenuHorizontal from '@bigbinary/neeto-icons/MenuHorizontal';
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(function (navLink) {
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
@@ -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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"}
@@ -131,6 +131,9 @@ var StatusDropdown = function StatusDropdown(_ref) {
131
131
  }, options);
132
132
  return /*#__PURE__*/jsx(Dropdown, {
133
133
  disabled: disabled,
134
+ appendTo: function appendTo() {
135
+ return document.body;
136
+ },
134
137
  strategy: "fixed",
135
138
  customTarget: function customTarget() {
136
139
  return /*#__PURE__*/jsx(Target$1, _objectSpread({
@@ -1 +1 @@
1
- {"version":3,"file":"StatusDropdown.js","sources":["../src/components/StatusDropdown/Menu.jsx","../src/components/StatusDropdown/constants.js","../src/components/StatusDropdown/Target.jsx","../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-cy={`status-dropdown-item-${hyphenate(option.value)}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down, Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Target = ({\n color,\n value,\n label,\n dataCy,\n isClearable,\n onClear,\n placeholder,\n}) => {\n const { t } = useTranslation();\n const targetClassName = `neeto-ui-rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--${\n color || \"waiting\"\n }`;\n const isOptionSelected = !isNil(value);\n\n const handleClearClick = event => {\n onClear();\n event.stopPropagation();\n };\n\n const handleClearKeyDown = event => {\n if (!(event.key === \"Enter\" || event.key === \" \")) return;\n event.preventDefault();\n handleClearClick(event);\n };\n\n return (\n <button\n aria-haspopup=\"listbox\"\n className={targetClassName}\n data-cy={dataCy}\n data-testid=\"status-dropdown\"\n type=\"button\"\n aria-label={\n isOptionSelected\n ? `Selected: ${label}`\n : placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")\n }\n >\n {isOptionSelected ? (\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"neeto-ui-text-gray-600 inline\" style=\"body2\">\n {placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")}\n </Typography>\n )}\n <span className=\"inline-flex items-center gap-1\">\n {isClearable && isOptionSelected && (\n <span\n aria-label={t(\"neetoMolecules.statusDropdown.clear\")}\n className=\"cursor-pointer\"\n data-cy=\"status-dropdown-clear-button\"\n data-testid=\"status-dropdown-clear-button\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClearClick}\n onKeyDown={handleClearKeyDown}\n >\n <Close size={ICON_SIZE} />\n </span>\n )}\n <Down aria-hidden=\"true\" size={ICON_SIZE} />\n </span>\n </button>\n );\n};\n\nexport default memo(Target);\n","import { _findBy, noop } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n placeholder = null,\n selectedValue,\n shouldShowAllOptions = false,\n isClearable = false,\n onClear = noop,\n dataCy = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n strategy=\"fixed\"\n customTarget={() => (\n <Target\n label={selectedValue}\n {...{ ...selectedOption, dataCy, isClearable, onClear, placeholder }}\n />\n )}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * Placeholder for the dropdown.\n */\n placeholder: PropTypes.string,\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n /**\n * This prop will decide whether the dropdown is clearable or not.\n */\n isClearable: PropTypes.bool,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","hyphenate","onClick","label","memo","ICON_SIZE","Target","dataCy","isClearable","onClear","placeholder","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","handleClearClick","event","stopPropagation","handleClearKeyDown","key","preventDefault","_jsxs","type","Typography","style","role","tabIndex","onKeyDown","Close","size","Down","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","selectedValue","_ref$isClearable","_ref$onClear","noop","_ref$dataCy","selectedOption","_findBy","strategy","customTarget","_objectSpread","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"StatusDropdown.js","sources":["../src/components/StatusDropdown/Menu.jsx","../src/components/StatusDropdown/constants.js","../src/components/StatusDropdown/Target.jsx","../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-cy={`status-dropdown-item-${hyphenate(option.value)}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down, Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Target = ({\n color,\n value,\n label,\n dataCy,\n isClearable,\n onClear,\n placeholder,\n}) => {\n const { t } = useTranslation();\n const targetClassName = `neeto-ui-rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--${\n color || \"waiting\"\n }`;\n const isOptionSelected = !isNil(value);\n\n const handleClearClick = event => {\n onClear();\n event.stopPropagation();\n };\n\n const handleClearKeyDown = event => {\n if (!(event.key === \"Enter\" || event.key === \" \")) return;\n event.preventDefault();\n handleClearClick(event);\n };\n\n return (\n <button\n aria-haspopup=\"listbox\"\n className={targetClassName}\n data-cy={dataCy}\n data-testid=\"status-dropdown\"\n type=\"button\"\n aria-label={\n isOptionSelected\n ? `Selected: ${label}`\n : placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")\n }\n >\n {isOptionSelected ? (\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"neeto-ui-text-gray-600 inline\" style=\"body2\">\n {placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")}\n </Typography>\n )}\n <span className=\"inline-flex items-center gap-1\">\n {isClearable && isOptionSelected && (\n <span\n aria-label={t(\"neetoMolecules.statusDropdown.clear\")}\n className=\"cursor-pointer\"\n data-cy=\"status-dropdown-clear-button\"\n data-testid=\"status-dropdown-clear-button\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClearClick}\n onKeyDown={handleClearKeyDown}\n >\n <Close size={ICON_SIZE} />\n </span>\n )}\n <Down aria-hidden=\"true\" size={ICON_SIZE} />\n </span>\n </button>\n );\n};\n\nexport default memo(Target);\n","import { _findBy, noop } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n placeholder = null,\n selectedValue,\n shouldShowAllOptions = false,\n isClearable = false,\n onClear = noop,\n dataCy = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n appendTo={() => document.body}\n strategy=\"fixed\"\n customTarget={() => (\n <Target\n label={selectedValue}\n {...{ ...selectedOption, dataCy, isClearable, onClear, placeholder }}\n />\n )}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * Placeholder for the dropdown.\n */\n placeholder: PropTypes.string,\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n /**\n * This prop will decide whether the dropdown is clearable or not.\n */\n isClearable: PropTypes.bool,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","hyphenate","onClick","label","memo","ICON_SIZE","Target","dataCy","isClearable","onClear","placeholder","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","handleClearClick","event","stopPropagation","handleClearKeyDown","key","preventDefault","_jsxs","type","Typography","style","role","tabIndex","onKeyDown","Close","size","Down","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","selectedValue","_ref$isClearable","_ref$onClear","noop","_ref$dataCy","selectedOption","_findBy","appendTo","document","body","strategy","customTarget","_objectSpread","Spinner"],"mappings":"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"}
@@ -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 MenuHorizontal = require('@bigbinary/neeto-icons/MenuHorizontal');
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(function (navLink) {
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