@bigbinary/neeto-molecules 4.1.67 → 4.1.68
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/{ConfigureView-CLhj1NR4.js → ConfigureView-DOotR_-0.js} +10 -31
- package/dist/ConfigureView-DOotR_-0.js.map +1 -0
- package/dist/cjs/{ConfigureView-DuStircF.js → ConfigureView-DtQRvPmE.js} +8 -29
- package/dist/cjs/ConfigureView-DtQRvPmE.js.map +1 -0
- package/dist/cjs/v2/ConfigurePageSidebar.js +1 -2
- package/dist/cjs/v2/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/v2/FloatingActionMenu.js +294 -181
- package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/v2/HelpPopover.js +15 -9
- package/dist/cjs/v2/HelpPopover.js.map +1 -1
- package/dist/cjs/v2/Sidebar.js +84 -51
- package/dist/cjs/v2/Sidebar.js.map +1 -1
- package/dist/v2/ConfigurePageSidebar.js +1 -2
- package/dist/v2/ConfigurePageSidebar.js.map +1 -1
- package/dist/v2/FloatingActionMenu.js +296 -183
- package/dist/v2/FloatingActionMenu.js.map +1 -1
- package/dist/v2/HelpPopover.js +16 -10
- package/dist/v2/HelpPopover.js.map +1 -1
- package/dist/v2/Sidebar.js +85 -52
- package/dist/v2/Sidebar.js.map +1 -1
- package/package.json +3 -3
- package/src/translations/en.json +2 -1
- package/dist/ConfigureView-CLhj1NR4.js.map +0 -1
- package/dist/cjs/ConfigureView-DuStircF.js.map +0 -1
|
@@ -12,7 +12,7 @@ require('react');
|
|
|
12
12
|
|
|
13
13
|
var SIZE = {
|
|
14
14
|
"default": 16,
|
|
15
|
-
large:
|
|
15
|
+
large: 18
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
var _excluded = ["label"];
|
|
@@ -40,7 +40,9 @@ var HelpPopover = function HelpPopover(_ref) {
|
|
|
40
40
|
alignOffset: alignOffset,
|
|
41
41
|
position: position,
|
|
42
42
|
sideOffset: sideOffset,
|
|
43
|
+
className: "!max-w-[calc(100vw-2rem)]",
|
|
43
44
|
closeDelay: 150,
|
|
45
|
+
collisionPadding: 12,
|
|
44
46
|
openDelay: 0,
|
|
45
47
|
trigger: /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
46
48
|
"data-testid": "help-popover-button",
|
|
@@ -73,14 +75,18 @@ var HelpPopover = function HelpPopover(_ref) {
|
|
|
73
75
|
}) : description, helpLinkProps && function () {
|
|
74
76
|
var linkLabel = helpLinkProps.label,
|
|
75
77
|
restLinkProps = _objectWithoutProperties(helpLinkProps, _excluded);
|
|
76
|
-
return /*#__PURE__*/jsxRuntime.jsx(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
79
|
+
asChild: true,
|
|
80
|
+
className: "mt-3 self-start",
|
|
81
|
+
variant: "link",
|
|
82
|
+
children: /*#__PURE__*/jsxRuntime.jsx("a", _objectSpread(_objectSpread({
|
|
83
|
+
"data-testid": "help-popover-link-button",
|
|
84
|
+
rel: "noreferrer",
|
|
85
|
+
target: "_blank"
|
|
86
|
+
}, restLinkProps), {}, {
|
|
87
|
+
children: linkLabel !== null && linkLabel !== void 0 ? linkLabel : t("neetoMolecules.common.viewHelpArticle")
|
|
88
|
+
}))
|
|
89
|
+
});
|
|
84
90
|
}()]
|
|
85
91
|
})
|
|
86
92
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelpPopover.js","sources":["../../../src/v2/components/HelpPopover/constants.js","../../../src/v2/components/HelpPopover/index.jsx"],"sourcesContent":["export const SIZE = { default: 16, large:
|
|
1
|
+
{"version":3,"file":"HelpPopover.js","sources":["../../../src/v2/components/HelpPopover/constants.js","../../../src/v2/components/HelpPopover/index.jsx"],"sourcesContent":["export const SIZE = { default: 16, large: 18 };\n","import { Button, Popover, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { CircleHelp } from \"lucide-react\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZE } from \"./constants\";\n\nconst HelpPopover = ({\n title,\n size = \"large\",\n description,\n helpLinkProps,\n className,\n iconColor = \"currentColor\",\n icon: IconComponent = CircleHelp,\n side,\n sideOffset,\n align,\n alignOffset,\n}) => {\n const { t } = useTranslation();\n\n const position = align && align !== \"center\" ? `${side}-${align}` : side;\n\n return (\n <Popover\n {...{ alignOffset, position, sideOffset }}\n className=\"!max-w-[calc(100vw-2rem)]\"\n closeDelay={150}\n collisionPadding={12}\n openDelay={0}\n trigger={\n <button\n data-testid=\"help-popover-button\"\n type=\"button\"\n className={classNames(\n \"inline-flex cursor-pointer items-center justify-center rounded-full border-none bg-transparent p-0\",\n className\n )}\n >\n <IconComponent color={iconColor} size={SIZE[size]} />\n </button>\n }\n >\n <div className=\"flex flex-col\" onClick={event => event.stopPropagation()}>\n {title && (\n <Typography asChild variant=\"body2\" weight=\"semibold\">\n <h3 className=\"mb-2\" data-testid=\"help-popover-title\">\n {title}\n </h3>\n </Typography>\n )}\n {typeof description === \"string\" ? (\n <Typography\n color=\"muted\"\n data-testid=\"help-popover-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n ) : (\n description\n )}\n {helpLinkProps &&\n (() => {\n const { label: linkLabel, ...restLinkProps } = helpLinkProps;\n\n return (\n <Button asChild className=\"mt-3 self-start\" variant=\"link\">\n <a\n data-testid=\"help-popover-link-button\"\n rel=\"noreferrer\"\n target=\"_blank\"\n {...restLinkProps}\n >\n {linkLabel ?? t(\"neetoMolecules.common.viewHelpArticle\")}\n </a>\n </Button>\n );\n })()}\n </div>\n </Popover>\n );\n};\n\nHelpPopover.propTypes = {\n title: PropTypes.string,\n size: PropTypes.oneOf([\"default\", \"large\"]),\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n helpLinkProps: PropTypes.object,\n className: PropTypes.string,\n iconColor: PropTypes.string,\n icon: PropTypes.node,\n side: PropTypes.oneOf([\"top\", \"right\", \"bottom\", \"left\"]),\n sideOffset: PropTypes.number,\n align: PropTypes.oneOf([\"start\", \"center\", \"end\"]),\n alignOffset: PropTypes.number,\n};\n\nexport default HelpPopover;\n"],"names":["SIZE","large","HelpPopover","_ref","title","_ref$size","size","description","helpLinkProps","className","_ref$iconColor","iconColor","_ref$icon","icon","IconComponent","CircleHelp","side","sideOffset","align","alignOffset","_useTranslation","useTranslation","t","position","concat","_jsx","Popover","closeDelay","collisionPadding","openDelay","trigger","type","classNames","children","color","_jsxs","onClick","event","stopPropagation","Typography","asChild","variant","weight","linkLabel","label","restLinkProps","_objectWithoutProperties","_excluded","Button","_objectSpread","rel","target"],"mappings":"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"}
|
package/dist/cjs/v2/Sidebar.js
CHANGED
|
@@ -9,7 +9,7 @@ var ramda = require('ramda');
|
|
|
9
9
|
var reactI18next = require('react-i18next');
|
|
10
10
|
var reactRouterDom = require('react-router-dom');
|
|
11
11
|
var useKeyboardShortcutsPaneState = require('../useKeyboardShortcutsPaneState-BG_xVteC.js');
|
|
12
|
-
var ConfigureView = require('../ConfigureView-
|
|
12
|
+
var ConfigureView = require('../ConfigureView-DtQRvPmE.js');
|
|
13
13
|
var classnames = require('classnames');
|
|
14
14
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
15
15
|
var Neeto = require('@bigbinary/neeto-icons/typeface-logos/Neeto');
|
|
@@ -22,10 +22,10 @@ var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
|
22
22
|
var plus = require('../plus-MoDFAiKt.js');
|
|
23
23
|
var ellipsis = require('../ellipsis-BcfLTtl5.js');
|
|
24
24
|
var chevronRight = require('../chevron-right-DpleLIQp.js');
|
|
25
|
+
var injectCss = require('../inject-css-B6qYtOJe.js');
|
|
25
26
|
require('zustand/shallow');
|
|
26
27
|
require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
|
|
27
28
|
require('zustand');
|
|
28
|
-
require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
29
29
|
require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
30
30
|
require('@bigbinary/neeto-commons-frontend/react-utils/useRegisterNavigationCheckpoint');
|
|
31
31
|
require('@bigbinary/neeto-filters-frontend/v2');
|
|
@@ -66,7 +66,7 @@ var Header$1 = function Header(_ref) {
|
|
|
66
66
|
"data-testid": "sidebar-info",
|
|
67
67
|
children: /*#__PURE__*/jsxRuntime.jsx(reactRouterDom.Link, {
|
|
68
68
|
to: ConfigureView.DEFAULT_HOME_PATH,
|
|
69
|
-
className: classnames("block w-full", {
|
|
69
|
+
className: classnames("mt-2 block w-full py-2", {
|
|
70
70
|
"cursor-pointer": isOnboarded,
|
|
71
71
|
"pointer-events-none": !isOnboarded
|
|
72
72
|
}),
|
|
@@ -403,6 +403,9 @@ var NavLinks = function NavLinks(_ref) {
|
|
|
403
403
|
});
|
|
404
404
|
};
|
|
405
405
|
|
|
406
|
+
var css = "[data-slot=sidebar][data-mobile=true]:has(.nm-sidebar-shadcn-header){max-width:min(var(--sidebar-width),85vw)!important;width:var(--sidebar-width)!important}";
|
|
407
|
+
injectCss.n(css,{});
|
|
408
|
+
|
|
406
409
|
var Sidebar = function Sidebar(_ref) {
|
|
407
410
|
var navLinks = _ref.navLinks,
|
|
408
411
|
_ref$moreNavLinks = _ref.moreNavLinks,
|
|
@@ -414,26 +417,65 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
414
417
|
showWorkspaceName = _ref$showWorkspaceNam === void 0 ? false : _ref$showWorkspaceNam,
|
|
415
418
|
_ref$isExpandable = _ref.isExpandable,
|
|
416
419
|
isExpandable = _ref$isExpandable === void 0 ? true : _ref$isExpandable;
|
|
420
|
+
var _useLocalStorage = useLocalStorage(ConfigureView.getSidebarStateLocalStorageKey(), false),
|
|
421
|
+
_useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
|
|
422
|
+
isSidebarCollapsed = _useLocalStorage2[0],
|
|
423
|
+
setIsSidebarCollapsed = _useLocalStorage2[1];
|
|
424
|
+
var _useLocalStorage3 = useLocalStorage(ConfigureView.SIDEBAR_WIDTH_KEY, ConfigureView.DEFAULT_SIDEBAR_WIDTH),
|
|
425
|
+
_useLocalStorage4 = _slicedToArray(_useLocalStorage3, 2),
|
|
426
|
+
sidebarWidthRaw = _useLocalStorage4[0],
|
|
427
|
+
setSidebarWidth = _useLocalStorage4[1];
|
|
428
|
+
var sidebarWidth = typeof sidebarWidthRaw === "string" ? parseInt(sidebarWidthRaw, 10) || ConfigureView.DEFAULT_SIDEBAR_WIDTH : sidebarWidthRaw || ConfigureView.DEFAULT_SIDEBAR_WIDTH;
|
|
429
|
+
return /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarProvider, {
|
|
430
|
+
className: "!w-auto",
|
|
431
|
+
open: !isSidebarCollapsed,
|
|
432
|
+
style: {
|
|
433
|
+
"--sidebar-width": "".concat(sidebarWidth / 16, "rem")
|
|
434
|
+
},
|
|
435
|
+
onOpenChange: function onOpenChange(open) {
|
|
436
|
+
return setIsSidebarCollapsed(!open);
|
|
437
|
+
},
|
|
438
|
+
children: /*#__PURE__*/jsxRuntime.jsx(SidebarBody, {
|
|
439
|
+
customLogo: customLogo,
|
|
440
|
+
isCountsLoading: isCountsLoading,
|
|
441
|
+
isExpandable: isExpandable,
|
|
442
|
+
isSidebarCollapsed: isSidebarCollapsed,
|
|
443
|
+
moreNavLinks: moreNavLinks,
|
|
444
|
+
navLinks: navLinks,
|
|
445
|
+
setIsSidebarCollapsed: setIsSidebarCollapsed,
|
|
446
|
+
setSidebarWidth: setSidebarWidth,
|
|
447
|
+
showWorkspaceName: showWorkspaceName,
|
|
448
|
+
sidebarWidth: sidebarWidth
|
|
449
|
+
})
|
|
450
|
+
});
|
|
451
|
+
};
|
|
452
|
+
var SidebarBody = function SidebarBody(_ref2) {
|
|
453
|
+
var navLinks = _ref2.navLinks,
|
|
454
|
+
moreNavLinks = _ref2.moreNavLinks,
|
|
455
|
+
customLogo = _ref2.customLogo,
|
|
456
|
+
isCountsLoading = _ref2.isCountsLoading,
|
|
457
|
+
showWorkspaceName = _ref2.showWorkspaceName,
|
|
458
|
+
isExpandable = _ref2.isExpandable,
|
|
459
|
+
isSidebarCollapsed = _ref2.isSidebarCollapsed,
|
|
460
|
+
setIsSidebarCollapsed = _ref2.setIsSidebarCollapsed,
|
|
461
|
+
sidebarWidth = _ref2.sidebarWidth,
|
|
462
|
+
setSidebarWidth = _ref2.setSidebarWidth;
|
|
463
|
+
var _useSidebar = primitives.useSidebar(),
|
|
464
|
+
isMobile = _useSidebar.isMobile,
|
|
465
|
+
setOpenMobile = _useSidebar.setOpenMobile,
|
|
466
|
+
openMobile = _useSidebar.openMobile;
|
|
417
467
|
var _useKeyboardShortcuts = useKeyboardShortcutsPaneState.useKeyboardShortcutsPaneState(),
|
|
418
468
|
_useKeyboardShortcuts2 = _slicedToArray(_useKeyboardShortcuts, 1),
|
|
419
469
|
isKeyboardShortcutsPaneOpen = _useKeyboardShortcuts2[0];
|
|
420
|
-
var
|
|
421
|
-
_useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
|
|
422
|
-
selectedNavLinkRoute = _useLocalStorage2[0],
|
|
423
|
-
setSelectedNavLinkRoute = _useLocalStorage2[1];
|
|
424
|
-
var _useLocalStorage3 = useLocalStorage(ConfigureView.getSidebarStateLocalStorageKey(), false),
|
|
425
|
-
_useLocalStorage4 = _slicedToArray(_useLocalStorage3, 2),
|
|
426
|
-
isSidebarCollapsed = _useLocalStorage4[0],
|
|
427
|
-
setIsSidebarCollapsed = _useLocalStorage4[1];
|
|
428
|
-
var _useLocalStorage5 = useLocalStorage(ConfigureView.SIDEBAR_WIDTH_KEY, ConfigureView.DEFAULT_SIDEBAR_WIDTH),
|
|
470
|
+
var _useLocalStorage5 = useLocalStorage(ConfigureView.SELECTED_NAV_LINK_ROUTE_STORAGE_KEY, null),
|
|
429
471
|
_useLocalStorage6 = _slicedToArray(_useLocalStorage5, 2),
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
var sidebarWidth = typeof sidebarWidthRaw === "string" ? parseInt(sidebarWidthRaw, 10) || ConfigureView.DEFAULT_SIDEBAR_WIDTH : sidebarWidthRaw || ConfigureView.DEFAULT_SIDEBAR_WIDTH;
|
|
472
|
+
selectedNavLinkRoute = _useLocalStorage6[0],
|
|
473
|
+
setSelectedNavLinkRoute = _useLocalStorage6[1];
|
|
433
474
|
var isDraggingRef = React.useRef(false);
|
|
434
475
|
var hasDraggedRef = React.useRef(false);
|
|
435
476
|
var startXRef = React.useRef(null);
|
|
436
477
|
var startWidthRef = React.useRef(null);
|
|
478
|
+
var isInitialMountRef = React.useRef(true);
|
|
437
479
|
var location = reactRouterDom.useLocation();
|
|
438
480
|
var history = reactRouterDom.useHistory();
|
|
439
481
|
var _useTranslation = reactI18next.useTranslation(),
|
|
@@ -441,18 +483,22 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
441
483
|
var isRTL = document.documentElement.dir === "rtl";
|
|
442
484
|
var sidebarSide = isRTL ? "right" : "left";
|
|
443
485
|
React.useEffect(function () {
|
|
444
|
-
if (
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
setIsSidebarCollapsed(false);
|
|
486
|
+
if (isInitialMountRef.current) {
|
|
487
|
+
isInitialMountRef.current = false;
|
|
488
|
+
return;
|
|
448
489
|
}
|
|
449
|
-
|
|
450
|
-
|
|
490
|
+
if (isMobile) {
|
|
491
|
+
if (isKeyboardShortcutsPaneOpen) setOpenMobile(false);
|
|
492
|
+
return;
|
|
493
|
+
}
|
|
494
|
+
if (isKeyboardShortcutsPaneOpen) setIsSidebarCollapsed(true);else setIsSidebarCollapsed(false);
|
|
495
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps -- setIsSidebarCollapsed / setOpenMobile may not be stable across renders
|
|
496
|
+
}, [isKeyboardShortcutsPaneOpen, isMobile]);
|
|
451
497
|
React.useEffect(function () {
|
|
452
498
|
if (!neetoCist.isPresent(navLinks)) return;
|
|
453
|
-
var currentLink = ramda.findLast(function (
|
|
454
|
-
var to =
|
|
455
|
-
isActive =
|
|
499
|
+
var currentLink = ramda.findLast(function (_ref3) {
|
|
500
|
+
var to = _ref3.to,
|
|
501
|
+
isActive = _ref3.isActive;
|
|
456
502
|
var url = new URL(to, window.location.href);
|
|
457
503
|
return ramda.is(Function, isActive) ? isActive() : location.pathname.includes(url.pathname);
|
|
458
504
|
})(navLinks);
|
|
@@ -461,12 +507,8 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
461
507
|
}
|
|
462
508
|
// eslint-disable-next-line react-hooks/exhaustive-deps -- mount-only: sets initial selected route from current URL
|
|
463
509
|
}, []);
|
|
464
|
-
|
|
465
|
-
// Drag-to-resize via SidebarRail: intercept mousedown to start drag,
|
|
466
|
-
// update --sidebar-width directly on DOM for instant feedback,
|
|
467
|
-
// persist to localStorage on mouseup.
|
|
468
510
|
var handleRailMouseDown = React.useCallback(function (e) {
|
|
469
|
-
if (!isExpandable) return;
|
|
511
|
+
if (!isExpandable || isMobile) return;
|
|
470
512
|
isDraggingRef.current = true;
|
|
471
513
|
hasDraggedRef.current = false;
|
|
472
514
|
startXRef.current = e.clientX;
|
|
@@ -476,9 +518,7 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
476
518
|
document.body.style.cursor = "col-resize";
|
|
477
519
|
document.body.style.userSelect = "none";
|
|
478
520
|
e.preventDefault();
|
|
479
|
-
}, [sidebarWidth, isExpandable]);
|
|
480
|
-
|
|
481
|
-
// Prevent SidebarRail's built-in toggle when user dragged to resize
|
|
521
|
+
}, [sidebarWidth, isExpandable, isMobile]);
|
|
482
522
|
var handleRailClick = React.useCallback(function (e) {
|
|
483
523
|
if (!hasDraggedRef.current) return;
|
|
484
524
|
e.preventDefault();
|
|
@@ -486,12 +526,11 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
486
526
|
hasDraggedRef.current = false;
|
|
487
527
|
}, []);
|
|
488
528
|
React.useEffect(function () {
|
|
489
|
-
if (!isExpandable) return undefined;
|
|
529
|
+
if (!isExpandable || isMobile) return undefined;
|
|
490
530
|
var onMouseMove = function onMouseMove(e) {
|
|
491
531
|
if (!isDraggingRef.current) return;
|
|
492
532
|
hasDraggedRef.current = true;
|
|
493
533
|
var dx = e.clientX - startXRef.current;
|
|
494
|
-
// In RTL, dragging right shrinks, dragging left expands
|
|
495
534
|
var rtl = document.documentElement.dir === "rtl";
|
|
496
535
|
var newWidth = startWidthRef.current + (rtl ? -dx : dx);
|
|
497
536
|
newWidth = Math.max(ConfigureView.MIN_SIDEBAR_WIDTH, Math.min(newWidth, ConfigureView.MAX_SIDEBAR_WIDTH));
|
|
@@ -519,10 +558,10 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
519
558
|
document.removeEventListener("mousemove", onMouseMove);
|
|
520
559
|
document.removeEventListener("mouseup", onMouseUp);
|
|
521
560
|
};
|
|
522
|
-
}, [isExpandable, setSidebarWidth]);
|
|
561
|
+
}, [isExpandable, isMobile, setSidebarWidth]);
|
|
523
562
|
React.useEffect(function () {
|
|
524
|
-
document.documentElement.style.setProperty("--nv-sidebar-width", "".concat(sidebarWidth / 16, "rem"));
|
|
525
|
-
}, [sidebarWidth]);
|
|
563
|
+
document.documentElement.style.setProperty("--nv-sidebar-width", isMobile ? "0rem" : "".concat(sidebarWidth / 16, "rem"));
|
|
564
|
+
}, [sidebarWidth, isMobile]);
|
|
526
565
|
var handleGoBack = function handleGoBack(event) {
|
|
527
566
|
event.preventDefault();
|
|
528
567
|
setSelectedNavLinkRoute(null);
|
|
@@ -542,27 +581,20 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
542
581
|
});
|
|
543
582
|
}, [location.pathname, navLinks]);
|
|
544
583
|
var isSelectedNavLinkVisible = selectedNavLinkRoute && (activeLink === null || activeLink === void 0 ? void 0 : activeLink.to) === selectedNavLinkRoute && neetoCist.isNotEmpty(navLinks);
|
|
545
|
-
return /*#__PURE__*/jsxRuntime.jsxs(
|
|
546
|
-
className: "!w-auto",
|
|
547
|
-
open: !isSidebarCollapsed,
|
|
548
|
-
style: {
|
|
549
|
-
"--sidebar-width": "".concat(sidebarWidth / 16, "rem")
|
|
550
|
-
},
|
|
551
|
-
onOpenChange: function onOpenChange(open) {
|
|
552
|
-
return setIsSidebarCollapsed(!open);
|
|
553
|
-
},
|
|
584
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
554
585
|
children: [/*#__PURE__*/jsxRuntime.jsxs(primitives.Sidebar, {
|
|
555
586
|
collapsible: "offcanvas",
|
|
556
587
|
side: sidebarSide,
|
|
557
588
|
children: [/*#__PURE__*/jsxRuntime.jsxs(primitives.SidebarHeader, {
|
|
558
|
-
className: "relative p-0",
|
|
589
|
+
className: "nm-sidebar-shadcn-header relative p-0",
|
|
559
590
|
children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
|
|
560
591
|
customLogo: customLogo,
|
|
561
592
|
clearSettingsNav: function clearSettingsNav() {
|
|
562
593
|
return setSelectedNavLinkRoute(null);
|
|
563
594
|
}
|
|
564
595
|
}), /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarTrigger, {
|
|
565
|
-
className: "absolute end-2 top-3"
|
|
596
|
+
className: "absolute end-2 top-3",
|
|
597
|
+
title: t("neetoMolecules.sidebar.hideMenu")
|
|
566
598
|
}), showWorkspaceName && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
567
599
|
className: "border-sidebar-border border-b px-4 py-2",
|
|
568
600
|
children: [/*#__PURE__*/jsxRuntime.jsx("h5", {
|
|
@@ -583,12 +615,13 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
583
615
|
navLinks: navLinks,
|
|
584
616
|
setSelectedNavLinkRoute: setSelectedNavLinkRoute
|
|
585
617
|
})
|
|
586
|
-
}), isExpandable && /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarRail, {
|
|
618
|
+
}), !isMobile && isExpandable && !isSidebarCollapsed && /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarRail, {
|
|
587
619
|
onClickCapture: handleRailClick,
|
|
588
620
|
onMouseDown: handleRailMouseDown
|
|
589
621
|
})]
|
|
590
|
-
}), isSidebarCollapsed && /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarTrigger, {
|
|
591
|
-
className: "fixed start-2 top-
|
|
622
|
+
}), (isMobile && !openMobile || !isMobile && isSidebarCollapsed) && /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarTrigger, {
|
|
623
|
+
className: "bg-background hover:bg-accent fixed start-2 top-2 z-50 size-9 rounded-full border shadow-sm",
|
|
624
|
+
title: t("neetoMolecules.sidebar.showMenu")
|
|
592
625
|
})]
|
|
593
626
|
});
|
|
594
627
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sources":["../../../src/v2/components/Sidebar/Components/Header.jsx","../../../src/v2/components/Sidebar/Components/AddAction.jsx","../../../src/v2/components/Sidebar/Components/PinIcon.jsx","../../../src/v2/components/Sidebar/Components/UnpinIcon.jsx","../../../src/v2/components/Sidebar/Components/MoreDropdown.jsx","../../../src/v2/components/Sidebar/Components/NavLinks.jsx","../../../src/v2/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\nimport { DEFAULT_HOME_PATH, SPECIAL_APP_NAMES } from \"../constants\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const normalizedName = (productName || \"\").trim().toLowerCase();\n const specialCase = SPECIAL_APP_NAMES[normalizedName];\n const logoName = specialCase\n ? `Neeto${specialCase}`\n : `Neeto${capitalize(normalizedName)}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\n\n return (\n <div className=\"px-4 py-3\" data-testid=\"sidebar-info\">\n <Link\n to={DEFAULT_HOME_PATH}\n className={classnames(\"block w-full\", {\n \"cursor-pointer\": isOnboarded,\n \"pointer-events-none\": !isOnboarded,\n })}\n onClick={clearSettingsNav}\n >\n {globalProps.sidebarTitle ? (\n <span className=\"text-sidebar-foreground text-xl leading-9 font-bold\">\n {globalProps.sidebarTitle}\n </span>\n ) : (\n <LogoComponent className=\"h-9 w-auto max-w-full\" />\n )}\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Plus } from \"lucide-react\";\n\nconst AddAction = ({ actions }) => (\n <DropdownMenu\n dropdownProps={{ align: \"end\", side: \"bottom\" }}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-sidebar-ring absolute end-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden focus-visible:ring-2 md:opacity-0 md:group-focus-within/menu-item:opacity-100 md:group-hover/menu-item:opacity-100\"\n data-testid=\"add-dropdown-trigger\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Plus />\n </button>\n }\n >\n {actions.map(action => (\n <DropdownMenu.MenuItem\n key={action.key}\n onClick={() => {\n action.onClick?.();\n }}\n >\n {action.label}\n </DropdownMenu.MenuItem>\n ))}\n </DropdownMenu>\n);\n\nexport default AddAction;\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 { Badge, Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { SidebarMenuItem } from \"@bigbinary/neeto-atoms/primitives\";\nimport { Ellipsis } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport PinIcon from \"./PinIcon\";\nimport UnpinIcon from \"./UnpinIcon\";\n\nimport { filterByPermissions } from \"../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const isRTL = document.documentElement.dir === \"rtl\";\n\n return (\n <SidebarMenuItem>\n <DropdownMenu\n closeOnSelect={false}\n position={isRTL ? \"left-start\" : \"right-start\"}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex w-full items-center gap-2 rounded-md p-2 text-sm outline-hidden\"\n data-testid=\"more-nav-links-dropdown-button\"\n >\n <Ellipsis />\n <span className=\"truncate\">{t(\"neetoMolecules.sidebar.more\")}</span>\n </button>\n }\n dropdownProps={{\n className: \"z-[99999] p-0\",\n \"data-testid\": \"more-nav-links-dropdown-menu\",\n }}\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const { label, icon, key: navLinkKey, to, onClick, tag } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\n\n return (\n <DropdownMenu.MenuItem\n data-testid={label}\n key={navLinkKey || index}\n onSelect={e => e.preventDefault()}\n >\n <CheckPointNavLinks\n {...{ onClick, to }}\n className=\"flex w-full cursor-pointer items-center justify-between gap-2 px-2 py-1\"\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {label}\n {tag && <Badge {...tag} />}\n </span>\n </span>\n <Tooltip\n position=\"right\"\n content={\n isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\")\n }\n >\n <Button\n className=\"flex-shrink-0\"\n data-testid=\"pin-button\"\n size=\"icon-sm\"\n variant=\"ghost\"\n onClick={event => handleTogglePin(navLink, event)}\n >\n {isPinned ? (\n <UnpinIcon otherProps={{}} size={16} />\n ) : (\n <PinIcon otherProps={{}} size={16} />\n )}\n </Button>\n </Tooltip>\n </CheckPointNavLinks>\n </DropdownMenu.MenuItem>\n );\n })}\n </DropdownMenu>\n </SidebarMenuItem>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport { Badge } from \"@bigbinary/neeto-atoms\";\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n SidebarMenuSub,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { ChevronRight } from \"lucide-react\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { append, is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport AddAction from \"./AddAction\";\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport MoreDropdown from \"./MoreDropdown\";\nimport SubLinkItem from \"./SubLinkItem\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../constants\";\nimport { filterByPermissions } from \"../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst NavLinks = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [expandedNavLinkKeys, setExpandedNavLinkKeys] = useState([]);\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) {\n setExpandedNavLinkKeys([]);\n\n return;\n }\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n const navLinkKey = navLink.key || navLink.to;\n if (isActive()) {\n const isExpanded = expandedNavLinkKeys.includes(navLinkKey);\n setExpandedNavLinkKeys(isExpanded ? [] : [navLinkKey]);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setExpandedNavLinkKeys([navLinkKey]);\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 <SidebarGroup>\n <SidebarGroupContent>\n <SidebarMenu className=\"gap-1\">\n {combinedNavLinks\n .filter(filterByPermissions)\n .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 tag,\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 navLinkKey = navLink.key || navLink.to;\n const isMenuExpanded =\n expandedNavLinkKeys.includes(navLinkKey) &&\n !isCountsLoadingDeprecated;\n\n const handleCaretClick = event => {\n event.preventDefault();\n event.stopPropagation();\n setExpandedNavLinkKeys(keys =>\n keys.includes(navLinkKey)\n ? keys.filter(isNot(navLinkKey))\n : append(navLinkKey, keys)\n );\n };\n\n return (\n <Fragment key={navLink.key || index}>\n <SidebarMenuItem>\n <SidebarMenuButton\n asChild\n className=\"h-10\"\n isActive={isActive()}\n >\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"font-medium\"\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 className=\"relative\" data-testid={label}>\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"bg-destructive text-destructive-foreground absolute -end-1.5 -top-1.5 flex h-4 min-w-4 items-center justify-center rounded-full px-0.5 text-[10px]\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <span className=\"flex-grow truncate\">{label}</span>\n {tag && <Badge {...tag} />}\n {isExpandable && !isConfigureNavLink && (\n <span\n className=\"ms-auto shrink-0 transition-transform duration-200\"\n role=\"button\"\n tabIndex={-1}\n style={{\n transform: isMenuExpanded\n ? \"rotate(90deg)\"\n : \"rotate(0deg)\",\n }}\n onClick={handleCaretClick}\n >\n <ChevronRight className=\"rtl:rotate-180\" />\n </span>\n )}\n </CheckPointNavLinks>\n </SidebarMenuButton>\n {isNotEmpty(addActions) && (\n <AddAction actions={addActions} />\n )}\n </SidebarMenuItem>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <SidebarMenuSub>\n {items\n .filter(filterByPermissions)\n .map((subItem, subIndex) => (\n <SubLinkItem\n key={subIndex}\n {...{ ...subItem, isCountsLoading }}\n href={subItem.href}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n />\n ))}\n </SidebarMenuSub>\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown\n {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }}\n />\n )}\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n );\n};\n\nexport default NavLinks;\n","import { useCallback, useEffect, useMemo, useRef } from \"react\";\n\nimport {\n Sidebar as SidebarComponent,\n SidebarContent,\n SidebarHeader,\n SidebarProvider,\n SidebarRail,\n SidebarTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport useKeyboardShortcutsPaneState from \"v2/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nimport ConfigureView from \"./Components/ConfigureView\";\nimport Header from \"./Components/Header\";\nimport NavLinks from \"./Components/NavLinks\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n} from \"./utils\";\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 [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 [sidebarWidthRaw, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n DEFAULT_SIDEBAR_WIDTH\n );\n\n const sidebarWidth =\n typeof sidebarWidthRaw === \"string\"\n ? parseInt(sidebarWidthRaw, 10) || DEFAULT_SIDEBAR_WIDTH\n : sidebarWidthRaw || DEFAULT_SIDEBAR_WIDTH;\n\n const isDraggingRef = useRef(false);\n const hasDraggedRef = 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 isRTL = document.documentElement.dir === \"rtl\";\n const sidebarSide = isRTL ? \"right\" : \"left\";\n\n useEffect(() => {\n if (isKeyboardShortcutsPaneOpen) {\n setIsSidebarCollapsed(true);\n } else if (window.innerWidth > 768) {\n setIsSidebarCollapsed(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- setIsSidebarCollapsed may not be stable across renders\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 // eslint-disable-next-line react-hooks/exhaustive-deps -- mount-only: sets initial selected route from current URL\n }, []);\n\n // Drag-to-resize via SidebarRail: intercept mousedown to start drag,\n // update --sidebar-width directly on DOM for instant feedback,\n // persist to localStorage on mouseup.\n const handleRailMouseDown = useCallback(\n e => {\n if (!isExpandable) return;\n\n isDraggingRef.current = true;\n hasDraggedRef.current = false;\n startXRef.current = e.clientX;\n startWidthRef.current = sidebarWidth;\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.dataset.resizing = \"true\";\n\n document.body.style.cursor = \"col-resize\";\n document.body.style.userSelect = \"none\";\n e.preventDefault();\n },\n [sidebarWidth, isExpandable]\n );\n\n // Prevent SidebarRail's built-in toggle when user dragged to resize\n const handleRailClick = useCallback(e => {\n if (!hasDraggedRef.current) return;\n e.preventDefault();\n e.stopPropagation();\n hasDraggedRef.current = false;\n }, []);\n\n useEffect(() => {\n if (!isExpandable) return undefined;\n\n const onMouseMove = e => {\n if (!isDraggingRef.current) return;\n\n hasDraggedRef.current = true;\n const dx = e.clientX - startXRef.current;\n // In RTL, dragging right shrinks, dragging left expands\n const rtl = document.documentElement.dir === \"rtl\";\n let newWidth = startWidthRef.current + (rtl ? -dx : dx);\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n const widthRem = `${newWidth / 16}rem`;\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.style.setProperty(\"--sidebar-width\", widthRem);\n\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n widthRem\n );\n };\n\n const onMouseUp = e => {\n if (!isDraggingRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n const rtlUp = document.documentElement.dir === \"rtl\";\n let finalWidth = startWidthRef.current + (rtlUp ? -dx : dx);\n finalWidth = Math.round(\n Math.max(MIN_SIDEBAR_WIDTH, Math.min(finalWidth, MAX_SIDEBAR_WIDTH))\n );\n setSidebarWidth(finalWidth);\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) delete wrapper.dataset.resizing;\n\n isDraggingRef.current = false;\n document.body.style.cursor = \"\";\n document.body.style.userSelect = \"\";\n };\n\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable, setSidebarWidth]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n `${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(configureNavLink.to);\n }\n };\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 <SidebarProvider\n className=\"!w-auto\"\n open={!isSidebarCollapsed}\n style={{ \"--sidebar-width\": `${sidebarWidth / 16}rem` }}\n onOpenChange={open => setIsSidebarCollapsed(!open)}\n >\n <SidebarComponent collapsible=\"offcanvas\" side={sidebarSide}>\n <SidebarHeader className=\"relative p-0\">\n <Header\n {...{ customLogo }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n <SidebarTrigger className=\"absolute end-2 top-3\" />\n {showWorkspaceName && (\n <div className=\"border-sidebar-border border-b px-4 py-2\">\n <h5 className=\"text-sidebar-foreground mb-1 text-sm font-semibold\">\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </h5>\n <span className=\"text-sidebar-foreground/70 truncate text-xs\">\n {globalProps.organization.name}\n </span>\n </div>\n )}\n </SidebarHeader>\n <SidebarContent>\n {isSelectedNavLinkVisible ? (\n <ConfigureView {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <NavLinks\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </SidebarContent>\n {isExpandable && (\n <SidebarRail\n onClickCapture={handleRailClick}\n onMouseDown={handleRailMouseDown}\n />\n )}\n </SidebarComponent>\n {isSidebarCollapsed && (\n <SidebarTrigger className=\"fixed start-2 top-3 z-50\" />\n )}\n </SidebarProvider>\n );\n};\n\nSidebar.propTypes = {\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\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 tag: PropTypes.object,\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 tag: PropTypes.object,\n })\n ),\n })\n ),\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\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 tag: PropTypes.object,\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 tag: PropTypes.object,\n })\n ),\n })\n ),\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n isCountsLoading: PropTypes.bool,\n showWorkspaceName: PropTypes.bool,\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","normalizedName","trim","toLowerCase","specialCase","SPECIAL_APP_NAMES","logoName","concat","capitalize","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","DEFAULT_HOME_PATH","classnames","onClick","sidebarTitle","memo","AddAction","actions","DropdownMenu","dropdownProps","align","side","customTarget","e","preventDefault","stopPropagation","Plus","map","action","MenuItem","_action$onClick","call","label","key","PinIcon","size","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","isRTL","document","documentElement","dir","SidebarMenuItem","closeOnSelect","position","_jsxs","Ellipsis","filter","filterByPermissions","navLink","index","icon","navLinkKey","tag","IconSVG","isPinned","onSelect","CheckPointNavLinks","Badge","Tooltip","content","Button","variant","event","renderCount","count","NavLinks","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","expandedNavLinkKeys","setExpandedNavLinkKeys","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isActive","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","isExpanded","includes","resetPath","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","pathname","search","startsWith","additionalItems","push","combinedNavLinks","SidebarGroup","SidebarGroupContent","SidebarMenu","_navLink$isCountsLoad","_navLink$count","Component","_navLink$addActions","addActions","_objectWithoutProperties","_excluded","url","URL","window","href","is","Function","isMenuExpanded","handleCaretClick","keys","append","Fragment","SidebarMenuButton","asChild","activeClassName","hyphenate","role","tabIndex","style","transform","ChevronRight","_Fragment","SidebarMenuSub","subItem","subIndex","_subItem$to","SubLinkItem","isSectionHeader","item","path","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidthRaw","setSidebarWidth","sidebarWidth","parseInt","isDraggingRef","useRef","hasDraggedRef","startXRef","startWidthRef","history","useHistory","sidebarSide","useEffect","innerWidth","currentLink","findLast","handleRailMouseDown","useCallback","current","clientX","wrapper","querySelector","dataset","resizing","body","cursor","userSelect","handleRailClick","undefined","onMouseMove","dx","rtl","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","widthRem","setProperty","onMouseUp","rtlUp","finalWidth","round","addEventListener","removeEventListener","handleGoBack","configureNavLink","getActiveConfigurePageLink","activeLink","useMemo","link","isSelectedNavLinkVisible","SidebarProvider","open","onOpenChange","SidebarComponent","collapsible","SidebarHeader","SidebarTrigger","organization","name","SidebarContent","ConfigureView","SidebarRail","onClickCapture","onMouseDown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sources":["../../../src/v2/components/Sidebar/Components/Header.jsx","../../../src/v2/components/Sidebar/Components/AddAction.jsx","../../../src/v2/components/Sidebar/Components/PinIcon.jsx","../../../src/v2/components/Sidebar/Components/UnpinIcon.jsx","../../../src/v2/components/Sidebar/Components/MoreDropdown.jsx","../../../src/v2/components/Sidebar/Components/NavLinks.jsx","../../../src/v2/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\nimport { DEFAULT_HOME_PATH, SPECIAL_APP_NAMES } from \"../constants\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const normalizedName = (productName || \"\").trim().toLowerCase();\n const specialCase = SPECIAL_APP_NAMES[normalizedName];\n const logoName = specialCase\n ? `Neeto${specialCase}`\n : `Neeto${capitalize(normalizedName)}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\n\n return (\n <div className=\"px-4 py-3\" data-testid=\"sidebar-info\">\n <Link\n to={DEFAULT_HOME_PATH}\n className={classnames(\"mt-2 block w-full py-2\", {\n \"cursor-pointer\": isOnboarded,\n \"pointer-events-none\": !isOnboarded,\n })}\n onClick={clearSettingsNav}\n >\n {globalProps.sidebarTitle ? (\n <span className=\"text-sidebar-foreground text-xl leading-9 font-bold\">\n {globalProps.sidebarTitle}\n </span>\n ) : (\n <LogoComponent className=\"h-9 w-auto max-w-full\" />\n )}\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Plus } from \"lucide-react\";\n\nconst AddAction = ({ actions }) => (\n <DropdownMenu\n dropdownProps={{ align: \"end\", side: \"bottom\" }}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-sidebar-ring absolute end-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden focus-visible:ring-2 md:opacity-0 md:group-focus-within/menu-item:opacity-100 md:group-hover/menu-item:opacity-100\"\n data-testid=\"add-dropdown-trigger\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Plus />\n </button>\n }\n >\n {actions.map(action => (\n <DropdownMenu.MenuItem\n key={action.key}\n onClick={() => {\n action.onClick?.();\n }}\n >\n {action.label}\n </DropdownMenu.MenuItem>\n ))}\n </DropdownMenu>\n);\n\nexport default AddAction;\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 { Badge, Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { SidebarMenuItem } from \"@bigbinary/neeto-atoms/primitives\";\nimport { Ellipsis } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport PinIcon from \"./PinIcon\";\nimport UnpinIcon from \"./UnpinIcon\";\n\nimport { filterByPermissions } from \"../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const isRTL = document.documentElement.dir === \"rtl\";\n\n return (\n <SidebarMenuItem>\n <DropdownMenu\n closeOnSelect={false}\n position={isRTL ? \"left-start\" : \"right-start\"}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex w-full items-center gap-2 rounded-md p-2 text-sm outline-hidden\"\n data-testid=\"more-nav-links-dropdown-button\"\n >\n <Ellipsis />\n <span className=\"truncate\">{t(\"neetoMolecules.sidebar.more\")}</span>\n </button>\n }\n dropdownProps={{\n className: \"z-[99999] p-0\",\n \"data-testid\": \"more-nav-links-dropdown-menu\",\n }}\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const { label, icon, key: navLinkKey, to, onClick, tag } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\n\n return (\n <DropdownMenu.MenuItem\n data-testid={label}\n key={navLinkKey || index}\n onSelect={e => e.preventDefault()}\n >\n <CheckPointNavLinks\n {...{ onClick, to }}\n className=\"flex w-full cursor-pointer items-center justify-between gap-2 px-2 py-1\"\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {label}\n {tag && <Badge {...tag} />}\n </span>\n </span>\n <Tooltip\n position=\"right\"\n content={\n isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\")\n }\n >\n <Button\n className=\"flex-shrink-0\"\n data-testid=\"pin-button\"\n size=\"icon-sm\"\n variant=\"ghost\"\n onClick={event => handleTogglePin(navLink, event)}\n >\n {isPinned ? (\n <UnpinIcon otherProps={{}} size={16} />\n ) : (\n <PinIcon otherProps={{}} size={16} />\n )}\n </Button>\n </Tooltip>\n </CheckPointNavLinks>\n </DropdownMenu.MenuItem>\n );\n })}\n </DropdownMenu>\n </SidebarMenuItem>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport { Badge } from \"@bigbinary/neeto-atoms\";\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n SidebarMenuSub,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { ChevronRight } from \"lucide-react\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { append, is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport AddAction from \"./AddAction\";\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport MoreDropdown from \"./MoreDropdown\";\nimport SubLinkItem from \"./SubLinkItem\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../constants\";\nimport { filterByPermissions } from \"../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst NavLinks = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [expandedNavLinkKeys, setExpandedNavLinkKeys] = useState([]);\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) {\n setExpandedNavLinkKeys([]);\n\n return;\n }\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n const navLinkKey = navLink.key || navLink.to;\n if (isActive()) {\n const isExpanded = expandedNavLinkKeys.includes(navLinkKey);\n setExpandedNavLinkKeys(isExpanded ? [] : [navLinkKey]);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setExpandedNavLinkKeys([navLinkKey]);\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 <SidebarGroup>\n <SidebarGroupContent>\n <SidebarMenu className=\"gap-1\">\n {combinedNavLinks\n .filter(filterByPermissions)\n .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 tag,\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 navLinkKey = navLink.key || navLink.to;\n const isMenuExpanded =\n expandedNavLinkKeys.includes(navLinkKey) &&\n !isCountsLoadingDeprecated;\n\n const handleCaretClick = event => {\n event.preventDefault();\n event.stopPropagation();\n setExpandedNavLinkKeys(keys =>\n keys.includes(navLinkKey)\n ? keys.filter(isNot(navLinkKey))\n : append(navLinkKey, keys)\n );\n };\n\n return (\n <Fragment key={navLink.key || index}>\n <SidebarMenuItem>\n <SidebarMenuButton\n asChild\n className=\"h-10\"\n isActive={isActive()}\n >\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"font-medium\"\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 className=\"relative\" data-testid={label}>\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"bg-destructive text-destructive-foreground absolute -end-1.5 -top-1.5 flex h-4 min-w-4 items-center justify-center rounded-full px-0.5 text-[10px]\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <span className=\"flex-grow truncate\">{label}</span>\n {tag && <Badge {...tag} />}\n {isExpandable && !isConfigureNavLink && (\n <span\n className=\"ms-auto shrink-0 transition-transform duration-200\"\n role=\"button\"\n tabIndex={-1}\n style={{\n transform: isMenuExpanded\n ? \"rotate(90deg)\"\n : \"rotate(0deg)\",\n }}\n onClick={handleCaretClick}\n >\n <ChevronRight className=\"rtl:rotate-180\" />\n </span>\n )}\n </CheckPointNavLinks>\n </SidebarMenuButton>\n {isNotEmpty(addActions) && (\n <AddAction actions={addActions} />\n )}\n </SidebarMenuItem>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <SidebarMenuSub>\n {items\n .filter(filterByPermissions)\n .map((subItem, subIndex) => (\n <SubLinkItem\n key={subIndex}\n {...{ ...subItem, isCountsLoading }}\n href={subItem.href}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n />\n ))}\n </SidebarMenuSub>\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown\n {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }}\n />\n )}\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n );\n};\n\nexport default NavLinks;\n","import { useCallback, useEffect, useMemo, useRef } from \"react\";\n\nimport {\n Sidebar as SidebarComponent,\n SidebarContent,\n SidebarHeader,\n SidebarProvider,\n SidebarRail,\n SidebarTrigger,\n useSidebar,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport useKeyboardShortcutsPaneState from \"v2/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nimport ConfigureView from \"./Components/ConfigureView\";\nimport Header from \"./Components/Header\";\nimport NavLinks from \"./Components/NavLinks\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.css\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n} from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n moreNavLinks = [],\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidthRaw, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n DEFAULT_SIDEBAR_WIDTH\n );\n\n const sidebarWidth =\n typeof sidebarWidthRaw === \"string\"\n ? parseInt(sidebarWidthRaw, 10) || DEFAULT_SIDEBAR_WIDTH\n : sidebarWidthRaw || DEFAULT_SIDEBAR_WIDTH;\n\n return (\n <SidebarProvider\n className=\"!w-auto\"\n open={!isSidebarCollapsed}\n style={{ \"--sidebar-width\": `${sidebarWidth / 16}rem` }}\n onOpenChange={open => setIsSidebarCollapsed(!open)}\n >\n <SidebarBody\n {...{\n customLogo,\n isCountsLoading,\n isExpandable,\n isSidebarCollapsed,\n moreNavLinks,\n navLinks,\n setIsSidebarCollapsed,\n setSidebarWidth,\n showWorkspaceName,\n sidebarWidth,\n }}\n />\n </SidebarProvider>\n );\n};\n\nconst SidebarBody = ({\n navLinks,\n moreNavLinks,\n customLogo,\n isCountsLoading,\n showWorkspaceName,\n isExpandable,\n isSidebarCollapsed,\n setIsSidebarCollapsed,\n sidebarWidth,\n setSidebarWidth,\n}) => {\n const { isMobile, setOpenMobile, openMobile } = useSidebar();\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const isDraggingRef = useRef(false);\n const hasDraggedRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n const isInitialMountRef = useRef(true);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isRTL = document.documentElement.dir === \"rtl\";\n const sidebarSide = isRTL ? \"right\" : \"left\";\n\n useEffect(() => {\n if (isInitialMountRef.current) {\n isInitialMountRef.current = false;\n\n return;\n }\n\n if (isMobile) {\n if (isKeyboardShortcutsPaneOpen) setOpenMobile(false);\n\n return;\n }\n\n if (isKeyboardShortcutsPaneOpen) setIsSidebarCollapsed(true);\n else setIsSidebarCollapsed(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- setIsSidebarCollapsed / setOpenMobile may not be stable across renders\n }, [isKeyboardShortcutsPaneOpen, isMobile]);\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 // eslint-disable-next-line react-hooks/exhaustive-deps -- mount-only: sets initial selected route from current URL\n }, []);\n\n const handleRailMouseDown = useCallback(\n e => {\n if (!isExpandable || isMobile) return;\n\n isDraggingRef.current = true;\n hasDraggedRef.current = false;\n startXRef.current = e.clientX;\n startWidthRef.current = sidebarWidth;\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.dataset.resizing = \"true\";\n\n document.body.style.cursor = \"col-resize\";\n document.body.style.userSelect = \"none\";\n e.preventDefault();\n },\n [sidebarWidth, isExpandable, isMobile]\n );\n\n const handleRailClick = useCallback(e => {\n if (!hasDraggedRef.current) return;\n e.preventDefault();\n e.stopPropagation();\n hasDraggedRef.current = false;\n }, []);\n\n useEffect(() => {\n if (!isExpandable || isMobile) return undefined;\n\n const onMouseMove = e => {\n if (!isDraggingRef.current) return;\n\n hasDraggedRef.current = true;\n const dx = e.clientX - startXRef.current;\n const rtl = document.documentElement.dir === \"rtl\";\n let newWidth = startWidthRef.current + (rtl ? -dx : dx);\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n const widthRem = `${newWidth / 16}rem`;\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.style.setProperty(\"--sidebar-width\", widthRem);\n\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n widthRem\n );\n };\n\n const onMouseUp = e => {\n if (!isDraggingRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n const rtlUp = document.documentElement.dir === \"rtl\";\n let finalWidth = startWidthRef.current + (rtlUp ? -dx : dx);\n finalWidth = Math.round(\n Math.max(MIN_SIDEBAR_WIDTH, Math.min(finalWidth, MAX_SIDEBAR_WIDTH))\n );\n setSidebarWidth(finalWidth);\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) delete wrapper.dataset.resizing;\n\n isDraggingRef.current = false;\n document.body.style.cursor = \"\";\n document.body.style.userSelect = \"\";\n };\n\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable, isMobile, setSidebarWidth]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n isMobile ? \"0rem\" : `${sidebarWidth / 16}rem`\n );\n }, [sidebarWidth, isMobile]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(configureNavLink.to);\n }\n };\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 <SidebarComponent collapsible=\"offcanvas\" side={sidebarSide}>\n <SidebarHeader className=\"nm-sidebar-shadcn-header relative p-0\">\n <Header\n {...{ customLogo }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n <SidebarTrigger\n className=\"absolute end-2 top-3\"\n title={t(\"neetoMolecules.sidebar.hideMenu\")}\n />\n {showWorkspaceName && (\n <div className=\"border-sidebar-border border-b px-4 py-2\">\n <h5 className=\"text-sidebar-foreground mb-1 text-sm font-semibold\">\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </h5>\n <span className=\"text-sidebar-foreground/70 truncate text-xs\">\n {globalProps.organization.name}\n </span>\n </div>\n )}\n </SidebarHeader>\n <SidebarContent>\n {isSelectedNavLinkVisible ? (\n <ConfigureView {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <NavLinks\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </SidebarContent>\n {!isMobile && isExpandable && !isSidebarCollapsed && (\n <SidebarRail\n onClickCapture={handleRailClick}\n onMouseDown={handleRailMouseDown}\n />\n )}\n </SidebarComponent>\n {((isMobile && !openMobile) || (!isMobile && isSidebarCollapsed)) && (\n <SidebarTrigger\n className=\"bg-background hover:bg-accent fixed start-2 top-2 z-50 size-9 rounded-full border shadow-sm\"\n title={t(\"neetoMolecules.sidebar.showMenu\")}\n />\n )}\n </>\n );\n};\n\nSidebar.propTypes = {\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\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 tag: PropTypes.object,\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 tag: PropTypes.object,\n })\n ),\n })\n ),\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\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 tag: PropTypes.object,\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 tag: PropTypes.object,\n })\n ),\n })\n ),\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n isCountsLoading: PropTypes.bool,\n showWorkspaceName: PropTypes.bool,\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","normalizedName","trim","toLowerCase","specialCase","SPECIAL_APP_NAMES","logoName","concat","capitalize","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","DEFAULT_HOME_PATH","classnames","onClick","sidebarTitle","memo","AddAction","actions","DropdownMenu","dropdownProps","align","side","customTarget","e","preventDefault","stopPropagation","Plus","map","action","MenuItem","_action$onClick","call","label","key","PinIcon","size","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","isRTL","document","documentElement","dir","SidebarMenuItem","closeOnSelect","position","_jsxs","Ellipsis","filter","filterByPermissions","navLink","index","icon","navLinkKey","tag","IconSVG","isPinned","onSelect","CheckPointNavLinks","Badge","Tooltip","content","Button","variant","event","renderCount","count","NavLinks","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","expandedNavLinkKeys","setExpandedNavLinkKeys","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isActive","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","isExpanded","includes","resetPath","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","pathname","search","startsWith","additionalItems","push","combinedNavLinks","SidebarGroup","SidebarGroupContent","SidebarMenu","_navLink$isCountsLoad","_navLink$count","Component","_navLink$addActions","addActions","_objectWithoutProperties","_excluded","url","URL","window","href","is","Function","isMenuExpanded","handleCaretClick","keys","append","Fragment","SidebarMenuButton","asChild","activeClassName","hyphenate","role","tabIndex","style","transform","ChevronRight","_Fragment","SidebarMenuSub","subItem","subIndex","_subItem$to","SubLinkItem","isSectionHeader","item","path","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","getSidebarStateLocalStorageKey","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage3","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage4","sidebarWidthRaw","setSidebarWidth","sidebarWidth","parseInt","SidebarProvider","open","onOpenChange","SidebarBody","_useSidebar","useSidebar","isMobile","setOpenMobile","openMobile","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","_useLocalStorage5","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage6","selectedNavLinkRoute","isDraggingRef","useRef","hasDraggedRef","startXRef","startWidthRef","isInitialMountRef","history","useHistory","sidebarSide","useEffect","current","currentLink","findLast","_ref3","handleRailMouseDown","useCallback","clientX","wrapper","querySelector","dataset","resizing","body","cursor","userSelect","handleRailClick","undefined","onMouseMove","dx","rtl","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","widthRem","setProperty","onMouseUp","rtlUp","finalWidth","round","addEventListener","removeEventListener","handleGoBack","configureNavLink","getActiveConfigurePageLink","activeLink","useMemo","link","isSelectedNavLinkVisible","SidebarComponent","collapsible","SidebarHeader","SidebarTrigger","title","organization","name","SidebarContent","ConfigureView","SidebarRail","onClickCapture","onMouseDown"],"mappings":"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"}
|