@bigbinary/neeto-molecules 4.1.55 → 4.1.57

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.
Files changed (67) hide show
  1. package/dist/{Columns-cUgR6NTO.js → Columns-BVXRaORo.js} +8 -11
  2. package/dist/Columns-BVXRaORo.js.map +1 -0
  3. package/dist/{ConfigureView-C84AmCMq.js → ConfigureView-DAZrBZPv.js} +3 -2
  4. package/dist/{ConfigureView-C84AmCMq.js.map → ConfigureView-DAZrBZPv.js.map} +1 -1
  5. package/dist/cjs/{Columns-D3eocaeY.js → Columns-ZySdkGqV.js} +12 -15
  6. package/dist/cjs/Columns-ZySdkGqV.js.map +1 -0
  7. package/dist/cjs/{ConfigureView-DGf7cRMQ.js → ConfigureView-CAWRNNYI.js} +12 -11
  8. package/dist/cjs/{ConfigureView-DGf7cRMQ.js.map → ConfigureView-CAWRNNYI.js.map} +1 -1
  9. package/dist/cjs/useKeyboardShortcutsPaneState-BG_xVteC.js +39 -0
  10. package/dist/cjs/useKeyboardShortcutsPaneState-BG_xVteC.js.map +1 -0
  11. package/dist/cjs/v2/AuditLogs.js +19 -80
  12. package/dist/cjs/v2/AuditLogs.js.map +1 -1
  13. package/dist/cjs/v2/Breadcrumbs.js +7 -7
  14. package/dist/cjs/v2/Breadcrumbs.js.map +1 -1
  15. package/dist/cjs/v2/Columns.js +2 -1
  16. package/dist/cjs/v2/Columns.js.map +1 -1
  17. package/dist/cjs/v2/ConfigurePageSidebar.js +7 -6
  18. package/dist/cjs/v2/ConfigurePageSidebar.js.map +1 -1
  19. package/dist/cjs/v2/CopyToClipboardButton.js +11 -17
  20. package/dist/cjs/v2/CopyToClipboardButton.js.map +1 -1
  21. package/dist/cjs/v2/FloatingActionMenu.js +58 -81
  22. package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
  23. package/dist/cjs/v2/Header.js +2 -1
  24. package/dist/cjs/v2/Header.js.map +1 -1
  25. package/dist/cjs/v2/HelpPopover.js +51 -54
  26. package/dist/cjs/v2/HelpPopover.js.map +1 -1
  27. package/dist/cjs/v2/KeyboardShortcuts.js +13 -51
  28. package/dist/cjs/v2/KeyboardShortcuts.js.map +1 -1
  29. package/dist/cjs/v2/MoreDropdown.js +59 -78
  30. package/dist/cjs/v2/MoreDropdown.js.map +1 -1
  31. package/dist/cjs/v2/Settings.js +1 -0
  32. package/dist/cjs/v2/Settings.js.map +1 -1
  33. package/dist/cjs/v2/Sidebar.js +102 -117
  34. package/dist/cjs/v2/Sidebar.js.map +1 -1
  35. package/dist/cjs/v2/SubHeader.js +31 -43
  36. package/dist/cjs/v2/SubHeader.js.map +1 -1
  37. package/dist/useKeyboardShortcutsPaneState-dNIbb_PI.js +37 -0
  38. package/dist/useKeyboardShortcutsPaneState-dNIbb_PI.js.map +1 -0
  39. package/dist/v2/AuditLogs.js +20 -81
  40. package/dist/v2/AuditLogs.js.map +1 -1
  41. package/dist/v2/Breadcrumbs.js +1 -1
  42. package/dist/v2/Breadcrumbs.js.map +1 -1
  43. package/dist/v2/Columns.js +2 -1
  44. package/dist/v2/Columns.js.map +1 -1
  45. package/dist/v2/ConfigurePageSidebar.js +3 -2
  46. package/dist/v2/ConfigurePageSidebar.js.map +1 -1
  47. package/dist/v2/CopyToClipboardButton.js +13 -19
  48. package/dist/v2/CopyToClipboardButton.js.map +1 -1
  49. package/dist/v2/FloatingActionMenu.js +33 -56
  50. package/dist/v2/FloatingActionMenu.js.map +1 -1
  51. package/dist/v2/Header.js +2 -1
  52. package/dist/v2/Header.js.map +1 -1
  53. package/dist/v2/HelpPopover.js +53 -56
  54. package/dist/v2/HelpPopover.js.map +1 -1
  55. package/dist/v2/KeyboardShortcuts.js +12 -50
  56. package/dist/v2/KeyboardShortcuts.js.map +1 -1
  57. package/dist/v2/MoreDropdown.js +61 -80
  58. package/dist/v2/MoreDropdown.js.map +1 -1
  59. package/dist/v2/Settings.js +1 -0
  60. package/dist/v2/Settings.js.map +1 -1
  61. package/dist/v2/Sidebar.js +88 -103
  62. package/dist/v2/Sidebar.js.map +1 -1
  63. package/dist/v2/SubHeader.js +32 -44
  64. package/dist/v2/SubHeader.js.map +1 -1
  65. package/package.json +5 -3
  66. package/dist/Columns-cUgR6NTO.js.map +0 -1
  67. package/dist/cjs/Columns-D3eocaeY.js.map +0 -1
@@ -2,14 +2,14 @@
2
2
 
3
3
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
4
  var React = require('react');
5
- var neetoAtoms = require('@bigbinary/neeto-atoms');
5
+ var primitives = require('@bigbinary/neeto-atoms/primitives');
6
6
  var neetoCist = require('@bigbinary/neeto-cist');
7
7
  var useLocalStorage = require('@bigbinary/neeto-commons-frontend/react-utils/useLocalStorage');
8
8
  var ramda = require('ramda');
9
9
  var reactI18next = require('react-i18next');
10
10
  var reactRouterDom = require('react-router-dom');
11
- var useKeyboardShortcutsPaneState = require('../useKeyboardShortcutsPaneState-BrgdLb9F.js');
12
- var ConfigureView = require('../ConfigureView-DGf7cRMQ.js');
11
+ var useKeyboardShortcutsPaneState = require('../useKeyboardShortcutsPaneState-BG_xVteC.js');
12
+ var ConfigureView = require('../ConfigureView-CAWRNNYI.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');
@@ -18,6 +18,7 @@ var jsxRuntime = require('react/jsx-runtime');
18
18
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
19
19
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
20
20
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
21
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
21
22
  var plus = require('../plus-MoDFAiKt.js');
22
23
  var ellipsis = require('../ellipsis-BcfLTtl5.js');
23
24
  var chevronRight = require('../chevron-right-DpleLIQp.js');
@@ -84,31 +85,29 @@ var Header = /*#__PURE__*/React.memo(Header$1);
84
85
  /* eslint-disable @bigbinary/neeto/use-neetoui-classes */
85
86
  var AddAction = function AddAction(_ref) {
86
87
  var actions = _ref.actions;
87
- return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.DropdownMenu, {
88
- children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenuTrigger, {
89
- asChild: true,
90
- children: /*#__PURE__*/jsxRuntime.jsx("button", {
91
- 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",
92
- "data-testid": "add-dropdown-trigger",
93
- onClick: function onClick(e) {
94
- e.preventDefault();
95
- e.stopPropagation();
96
- },
97
- children: /*#__PURE__*/jsxRuntime.jsx(plus.Plus, {})
98
- })
99
- }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenuContent, {
88
+ return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu, {
89
+ dropdownProps: {
100
90
  align: "end",
101
- side: "bottom",
102
- children: actions.map(function (action) {
103
- return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenuItem, {
104
- onSelect: function onSelect() {
105
- var _action$onClick;
106
- (_action$onClick = action.onClick) === null || _action$onClick === void 0 || _action$onClick.call(action);
107
- },
108
- children: action.label
109
- }, action.key);
110
- })
111
- })]
91
+ side: "bottom"
92
+ },
93
+ customTarget: /*#__PURE__*/jsxRuntime.jsx("button", {
94
+ 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",
95
+ "data-testid": "add-dropdown-trigger",
96
+ onClick: function onClick(e) {
97
+ e.preventDefault();
98
+ e.stopPropagation();
99
+ },
100
+ children: /*#__PURE__*/jsxRuntime.jsx(plus.Plus, {})
101
+ }),
102
+ children: actions.map(function (action) {
103
+ return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem.Button, {
104
+ onClick: function onClick() {
105
+ var _action$onClick;
106
+ (_action$onClick = action.onClick) === null || _action$onClick === void 0 || _action$onClick.call(action);
107
+ },
108
+ children: action.label
109
+ }, action.key);
110
+ })
112
111
  });
113
112
  };
114
113
 
@@ -156,87 +155,73 @@ var MoreDropdown = function MoreDropdown(_ref) {
156
155
  handleTogglePin = _ref.handleTogglePin;
157
156
  var _useTranslation = reactI18next.useTranslation(),
158
157
  t = _useTranslation.t;
159
- var _useState = React.useState(false),
160
- _useState2 = _slicedToArray(_useState, 2),
161
- isOpen = _useState2[0],
162
- setIsOpen = _useState2[1];
163
158
  var isRTL = document.documentElement.dir === "rtl";
164
- return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.SidebarMenuItem, {
165
- children: /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.DropdownMenu, {
166
- open: isOpen,
167
- onOpenChange: setIsOpen,
168
- children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenuTrigger, {
169
- asChild: true,
170
- children: /*#__PURE__*/jsxRuntime.jsxs("button", {
171
- 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",
172
- "data-testid": "more-nav-links-dropdown-button",
173
- children: [/*#__PURE__*/jsxRuntime.jsx(ellipsis.Ellipsis, {}), /*#__PURE__*/jsxRuntime.jsx("span", {
174
- className: "truncate",
175
- children: t("neetoMolecules.sidebar.more")
176
- })]
177
- })
178
- }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenuContent, {
179
- align: "start",
159
+ return /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarMenuItem, {
160
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu, {
161
+ closeOnSelect: false,
162
+ position: isRTL ? "left-start" : "right-start",
163
+ customTarget: /*#__PURE__*/jsxRuntime.jsxs("button", {
164
+ 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",
165
+ "data-testid": "more-nav-links-dropdown-button",
166
+ children: [/*#__PURE__*/jsxRuntime.jsx(ellipsis.Ellipsis, {}), /*#__PURE__*/jsxRuntime.jsx("span", {
167
+ className: "truncate",
168
+ children: t("neetoMolecules.sidebar.more")
169
+ })]
170
+ }),
171
+ dropdownProps: {
180
172
  className: "z-[99999] p-0",
181
- "data-testid": "more-nav-links-dropdown-menu",
182
- side: isRTL ? "left" : "right",
183
- children: moreNavLinks.filter(ConfigureView.filterByPermissions).map(function (navLink, index) {
184
- var label = navLink.label,
185
- icon = navLink.icon,
186
- navLinkKey = navLink.key,
187
- to = navLink.to,
188
- onClick = navLink.onClick,
189
- tag = navLink.tag;
190
- var IconSVG = icon;
191
- var isPinned = isNavLinkPinned(navLink);
192
- return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenuItem, {
193
- "data-testid": label,
194
- onSelect: function onSelect(e) {
195
- return e.preventDefault();
196
- },
197
- children: /*#__PURE__*/jsxRuntime.jsxs(ConfigureView.CheckPointNavLinks, {
198
- onClick: onClick,
199
- to: to,
200
- className: "flex w-full cursor-pointer items-center justify-between gap-2 px-2 py-1",
201
- children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
173
+ "data-testid": "more-nav-links-dropdown-menu"
174
+ },
175
+ children: moreNavLinks.filter(ConfigureView.filterByPermissions).map(function (navLink, index) {
176
+ var label = navLink.label,
177
+ icon = navLink.icon,
178
+ navLinkKey = navLink.key,
179
+ to = navLink.to,
180
+ onClick = navLink.onClick,
181
+ tag = navLink.tag;
182
+ var IconSVG = icon;
183
+ var isPinned = isNavLinkPinned(navLink);
184
+ return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem, {
185
+ "data-testid": label,
186
+ onSelect: function onSelect(e) {
187
+ return e.preventDefault();
188
+ },
189
+ children: /*#__PURE__*/jsxRuntime.jsxs(ConfigureView.CheckPointNavLinks, {
190
+ onClick: onClick,
191
+ to: to,
192
+ className: "flex w-full cursor-pointer items-center justify-between gap-2 px-2 py-1",
193
+ children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
194
+ className: "flex min-w-0 flex-grow items-center gap-2",
195
+ children: [icon && /*#__PURE__*/jsxRuntime.jsx(IconSVG, {
196
+ className: "flex-shrink-0",
197
+ size: 20
198
+ }), /*#__PURE__*/jsxRuntime.jsxs("span", {
202
199
  className: "flex min-w-0 flex-grow items-center gap-2",
203
- children: [icon && /*#__PURE__*/jsxRuntime.jsx(IconSVG, {
204
- className: "flex-shrink-0",
205
- size: 20
206
- }), /*#__PURE__*/jsxRuntime.jsxs("span", {
207
- className: "flex min-w-0 flex-grow items-center gap-2",
208
- children: [label, tag && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Badge, _objectSpread$1({}, tag))]
209
- })]
210
- }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.TooltipProvider, {
211
- children: /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Tooltip, {
212
- children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.TooltipTrigger, {
213
- asChild: true,
214
- children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
215
- className: "flex-shrink-0",
216
- "data-testid": "pin-button",
217
- size: "icon-sm",
218
- variant: "ghost",
219
- onClick: function onClick(event) {
220
- return handleTogglePin(navLink, event);
221
- },
222
- children: isPinned ? /*#__PURE__*/jsxRuntime.jsx(UnpinIcon, {
223
- otherProps: {},
224
- size: 16
225
- }) : /*#__PURE__*/jsxRuntime.jsx(PinIcon, {
226
- otherProps: {},
227
- size: 16
228
- })
229
- })
230
- }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.TooltipContent, {
231
- side: "right",
232
- children: isPinned ? t("neetoMolecules.sidebar.unpin") : t("neetoMolecules.sidebar.pin")
233
- })]
234
- })
200
+ children: [label, tag && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Badge, _objectSpread$1({}, tag))]
235
201
  })]
236
- })
237
- }, navLinkKey || index);
238
- })
239
- })]
202
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, {
203
+ position: "right",
204
+ content: isPinned ? t("neetoMolecules.sidebar.unpin") : t("neetoMolecules.sidebar.pin"),
205
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
206
+ className: "flex-shrink-0",
207
+ "data-testid": "pin-button",
208
+ size: "icon-sm",
209
+ variant: "ghost",
210
+ onClick: function onClick(event) {
211
+ return handleTogglePin(navLink, event);
212
+ },
213
+ children: isPinned ? /*#__PURE__*/jsxRuntime.jsx(UnpinIcon, {
214
+ otherProps: {},
215
+ size: 16
216
+ }) : /*#__PURE__*/jsxRuntime.jsx(PinIcon, {
217
+ otherProps: {},
218
+ size: 16
219
+ })
220
+ })
221
+ })]
222
+ })
223
+ }, navLinkKey || index);
224
+ })
240
225
  })
241
226
  });
242
227
  };
@@ -307,9 +292,9 @@ var NavLinks = function NavLinks(_ref) {
307
292
  additionalItems.push(activeMoreNavLink);
308
293
  }
309
294
  var combinedNavLinks = [].concat(_toConsumableArray(navLinks), _toConsumableArray(additionalItems));
310
- return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.SidebarGroup, {
311
- children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.SidebarGroupContent, {
312
- children: /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.SidebarMenu, {
295
+ return /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarGroup, {
296
+ children: /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarGroupContent, {
297
+ children: /*#__PURE__*/jsxRuntime.jsxs(primitives.SidebarMenu, {
313
298
  className: "gap-1",
314
299
  children: [combinedNavLinks.filter(ConfigureView.filterByPermissions).map(function (navLink, index) {
315
300
  var label = navLink.label,
@@ -343,8 +328,8 @@ var NavLinks = function NavLinks(_ref) {
343
328
  });
344
329
  };
345
330
  return /*#__PURE__*/jsxRuntime.jsxs(React.Fragment, {
346
- children: [/*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.SidebarMenuItem, {
347
- children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.SidebarMenuButton, {
331
+ children: [/*#__PURE__*/jsxRuntime.jsxs(primitives.SidebarMenuItem, {
332
+ children: [/*#__PURE__*/jsxRuntime.jsx(primitives.SidebarMenuButton, {
348
333
  asChild: true,
349
334
  isActive: isActive(),
350
335
  children: /*#__PURE__*/jsxRuntime.jsxs(ConfigureView.CheckPointNavLinks, _objectSpread(_objectSpread({
@@ -390,7 +375,7 @@ var NavLinks = function NavLinks(_ref) {
390
375
  actions: addActions
391
376
  })]
392
377
  }), isExpandable && !isConfigureNavLink && isMenuExpanded && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
393
- children: [items && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.SidebarMenuSub, {
378
+ children: [items && /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarMenuSub, {
394
379
  children: items.filter(ConfigureView.filterByPermissions).map(function (subItem, subIndex) {
395
380
  var _subItem$to;
396
381
  return /*#__PURE__*/jsxRuntime.jsx(ConfigureView.SubLinkItem, _objectSpread(_objectSpread({}, _objectSpread(_objectSpread({}, subItem), {}, {
@@ -557,7 +542,7 @@ var Sidebar = function Sidebar(_ref) {
557
542
  });
558
543
  }, [location.pathname, navLinks]);
559
544
  var isSelectedNavLinkVisible = selectedNavLinkRoute && (activeLink === null || activeLink === void 0 ? void 0 : activeLink.to) === selectedNavLinkRoute && neetoCist.isNotEmpty(navLinks);
560
- return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.SidebarProvider, {
545
+ return /*#__PURE__*/jsxRuntime.jsxs(primitives.SidebarProvider, {
561
546
  className: "!w-auto",
562
547
  open: !isSidebarCollapsed,
563
548
  style: {
@@ -566,17 +551,17 @@ var Sidebar = function Sidebar(_ref) {
566
551
  onOpenChange: function onOpenChange(open) {
567
552
  return setIsSidebarCollapsed(!open);
568
553
  },
569
- children: [/*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sidebar, {
554
+ children: [/*#__PURE__*/jsxRuntime.jsxs(primitives.Sidebar, {
570
555
  collapsible: "offcanvas",
571
556
  side: sidebarSide,
572
- children: [/*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.SidebarHeader, {
557
+ children: [/*#__PURE__*/jsxRuntime.jsxs(primitives.SidebarHeader, {
573
558
  className: "relative p-0",
574
559
  children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
575
560
  customLogo: customLogo,
576
561
  clearSettingsNav: function clearSettingsNav() {
577
562
  return setSelectedNavLinkRoute(null);
578
563
  }
579
- }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.SidebarTrigger, {
564
+ }), /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarTrigger, {
580
565
  className: "absolute end-2 top-3"
581
566
  }), showWorkspaceName && /*#__PURE__*/jsxRuntime.jsxs("div", {
582
567
  className: "border-sidebar-border border-b px-4 py-2",
@@ -588,7 +573,7 @@ var Sidebar = function Sidebar(_ref) {
588
573
  children: globalProps.organization.name
589
574
  })]
590
575
  })]
591
- }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.SidebarContent, {
576
+ }), /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarContent, {
592
577
  children: isSelectedNavLinkVisible ? /*#__PURE__*/jsxRuntime.jsx(ConfigureView.ConfigureView, {
593
578
  handleGoBack: handleGoBack,
594
579
  navLink: activeLink
@@ -598,11 +583,11 @@ var Sidebar = function Sidebar(_ref) {
598
583
  navLinks: navLinks,
599
584
  setSelectedNavLinkRoute: setSelectedNavLinkRoute
600
585
  })
601
- }), isExpandable && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.SidebarRail, {
586
+ }), isExpandable && /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarRail, {
602
587
  onClickCapture: handleRailClick,
603
588
  onMouseDown: handleRailMouseDown
604
589
  })]
605
- }), isSidebarCollapsed && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.SidebarTrigger, {
590
+ }), isSidebarCollapsed && /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarTrigger, {
606
591
  className: "fixed start-2 top-3 z-50"
607
592
  })]
608
593
  });
@@ -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","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@bigbinary/neeto-atoms\";\nimport { Plus } from \"lucide-react\";\n\nconst AddAction = ({ actions }) => (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\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 </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" side=\"bottom\">\n {actions.map(action => (\n <DropdownMenuItem\n key={action.key}\n onSelect={() => {\n action.onClick?.();\n }}\n >\n {action.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\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","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport { useState } from \"react\";\n\nimport {\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n SidebarMenuItem,\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@bigbinary/neeto-atoms\";\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 [isOpen, setIsOpen] = useState(false);\n const isRTL = document.documentElement.dir === \"rtl\";\n\n return (\n <SidebarMenuItem>\n <DropdownMenu open={isOpen} onOpenChange={setIsOpen}>\n <DropdownMenuTrigger asChild>\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 </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"start\"\n className=\"z-[99999] p-0\"\n data-testid=\"more-nav-links-dropdown-menu\"\n side={isRTL ? \"left\" : \"right\"}\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 <DropdownMenuItem\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 <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\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 </TooltipTrigger>\n <TooltipContent side=\"right\">\n {isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\")}\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n </CheckPointNavLinks>\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n );\n};\n\nexport default MoreDropdown;\n","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport { Fragment, useState } from \"react\";\n\nimport {\n Badge,\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n SidebarMenuSub,\n} from \"@bigbinary/neeto-atoms\";\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 asChild isActive={isActive()}>\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\";\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\";\n\nimport useKeyboardShortcutsPaneState from \"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 \"--neeto-molecules-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 \"--neeto-molecules-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","_jsxs","DropdownMenu","DropdownMenuTrigger","asChild","e","preventDefault","stopPropagation","Plus","DropdownMenuContent","align","side","map","action","DropdownMenuItem","onSelect","_action$onClick","call","label","key","PinIcon","size","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","isRTL","document","documentElement","dir","SidebarMenuItem","open","onOpenChange","Ellipsis","filter","filterByPermissions","navLink","index","icon","navLinkKey","tag","IconSVG","isPinned","CheckPointNavLinks","Badge","TooltipProvider","Tooltip","TooltipTrigger","Button","variant","event","TooltipContent","renderCount","count","NavLinks","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","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","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","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(\"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","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport { 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.Button\n key={action.key}\n onClick={() => {\n action.onClick?.();\n }}\n >\n {action.label}\n </DropdownMenu.MenuItem.Button>\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","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport { 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","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport { 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 asChild isActive={isActive()}>\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 \"--neeto-molecules-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 \"--neeto-molecules-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","Button","_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","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAMA,QAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAyC;AAAA,EAAA,IAAAC,qBAAA;AAAA,EAAA,IAAnCC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAEC,gBAAgB,GAAAH,IAAA,CAAhBG,gBAAgB;EAC5C,IAAMC,WAAW,GAAGC,wBAAW,CAACC,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC;AACjD,EAAA,IAAMC,cAAc,GAAG,CAACJ,WAAW,IAAI,EAAE,EAAEK,IAAI,EAAE,CAACC,WAAW,EAAE;AAC/D,EAAA,IAAMC,WAAW,GAAGC,+BAAiB,CAACJ,cAAc,CAAC;AACrD,EAAA,IAAMK,QAAQ,GAAGF,WAAW,GAAA,OAAA,CAAAG,MAAA,CAChBH,WAAW,CAAA,GAAA,OAAA,CAAAG,MAAA,CACXC,oBAAU,CAACP,cAAc,CAAC,CAAE;AACxC,EAAA,IAAMQ,mBAAmB,GAAA,CAAAf,qBAAA,GAAGgB,mBAAoB,CAACJ,QAAQ,CAAC,MAAA,IAAA,IAAAZ,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAIiB,KAAK;EACnE,IAAMC,aAAa,GAAGjB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAVA,UAAU,GAAIc,mBAAmB;EACvD,IAAMI,WAAW,GAAGf,wBAAW,CAACgB,IAAI,CAACD,WAAW,KAAK,KAAK;AAE1D,EAAA,oBACEE,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,WAAW;AAAC,IAAA,aAAA,EAAY,cAAc;IAAAC,QAAA,eACnDF,cAAA,CAACG,mBAAI,EAAA;AACHC,MAAAA,EAAE,EAAEC,+BAAkB;AACtBJ,MAAAA,SAAS,EAAEK,UAAU,CAAC,cAAc,EAAE;AACpC,QAAA,gBAAgB,EAAER,WAAW;AAC7B,QAAA,qBAAqB,EAAE,CAACA;AAC1B,OAAC,CAAE;AACHS,MAAAA,OAAO,EAAE1B,gBAAiB;AAAAqB,MAAAA,QAAA,EAEzBnB,wBAAW,CAACyB,YAAY,gBACvBR,cAAA,CAAA,MAAA,EAAA;AAAMC,QAAAA,SAAS,EAAC,qDAAqD;QAAAC,QAAA,EAClEnB,wBAAW,CAACyB;AAAY,OACrB,CAAC,gBAEPR,cAAA,CAACH,aAAa,EAAA;AAACI,QAAAA,SAAS,EAAC;OAAyB;KAEhD;AAAC,GACJ,CAAC;AAEV,CAAC;AAED,aAAA,aAAeQ,UAAI,CAAChC,QAAM,CAAC;;AC5C3B;AAIA,IAAMiC,SAAS,GAAG,SAAZA,SAASA,CAAAhC,IAAA,EAAA;AAAA,EAAA,IAAMiC,OAAO,GAAAjC,IAAA,CAAPiC,OAAO;EAAA,oBAC1BX,cAAA,CAACY,uBAAY,EAAA;AACXC,IAAAA,aAAa,EAAE;AAAEC,MAAAA,KAAK,EAAE,KAAK;AAAEC,MAAAA,IAAI,EAAE;KAAW;AAChDC,IAAAA,YAAY,eACVhB,cAAA,CAAA,QAAA,EAAA;AACEC,MAAAA,SAAS,EAAC,iVAAiV;AAC3V,MAAA,aAAA,EAAY,sBAAsB;AAClCM,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEU,CAAC,EAAI;QACZA,CAAC,CAACC,cAAc,EAAE;QAClBD,CAAC,CAACE,eAAe,EAAE;MACrB,CAAE;AAAAjB,MAAAA,QAAA,eAEFF,cAAA,CAACoB,SAAI,EAAA,EAAE;AAAC,KACF,CACT;AAAAlB,IAAAA,QAAA,EAEAS,OAAO,CAACU,GAAG,CAAC,UAAAC,MAAM,EAAA;AAAA,MAAA,oBACjBtB,cAAA,CAACY,uBAAY,CAACW,QAAQ,CAACC,MAAM,EAAA;AAE3BjB,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AAAA,UAAA,IAAAkB,eAAA;AACb,UAAA,CAAAA,eAAA,GAAAH,MAAM,CAACf,OAAO,MAAA,IAAA,IAAAkB,eAAA,KAAA,MAAA,IAAdA,eAAA,CAAAC,IAAA,CAAAJ,MAAiB,CAAC;QACpB,CAAE;QAAApB,QAAA,EAEDoB,MAAM,CAACK;OAAK,EALRL,MAAM,CAACM,GAMgB,CAAC;IAAA,CAChC;AAAC,GACU,CAAC;AAAA,CAChB;;;;AC/BD,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAAnD,IAAA,EAAA;AAAA,EAAA,IAAMoD,IAAI,GAAApD,IAAA,CAAJoD,IAAI;IAAEC,UAAU,GAAArD,IAAA,CAAVqD,UAAU;AAAA,EAAA,oBACjC/B,cAAA,CAAA,KAAA,EAAAgC,eAAA,CAAAA,eAAA,CAAA;AACEC,IAAAA,IAAI,EAAC,cAAc;AACnBC,IAAAA,MAAM,EAAEJ,IAAK;AACbK,IAAAA,OAAO,EAAC,gBAAgB;AACxBC,IAAAA,KAAK,EAAEN,IAAK;AACZO,IAAAA,KAAK,EAAC;AAA4B,GAAA,EAC9BN,UAAU,CAAA,EAAA,EAAA,EAAA;AAAA7B,IAAAA,QAAA,eAEdF,cAAA,CAAA,MAAA,EAAA;AAAMsC,MAAAA,CAAC,EAAC;KAA6H;AAAC,GAAA,CACnI,CAAC;AAAA,CACP;;;;ACXD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAA7D,IAAA,EAAA;AAAA,EAAA,IAAMoD,IAAI,GAAApD,IAAA,CAAJoD,IAAI;IAAEC,UAAU,GAAArD,IAAA,CAAVqD,UAAU;AAAA,EAAA,oBACnC/B,cAAA,CAAA,KAAA,EAAAgC,eAAA,CAAAA,eAAA,CAAA;AACEC,IAAAA,IAAI,EAAC,cAAc;AACnBC,IAAAA,MAAM,EAAEJ,IAAK;AACbK,IAAAA,OAAO,EAAC,gBAAgB;AACxBC,IAAAA,KAAK,EAAEN,IAAK;AACZO,IAAAA,KAAK,EAAC;AAA4B,GAAA,EAC9BN,UAAU,CAAA,EAAA,EAAA,EAAA;AAAA7B,IAAAA,QAAA,eAEdF,cAAA,CAAA,MAAA,EAAA;AAAMsC,MAAAA,CAAC,EAAC;KAAsF;AAAC,GAAA,CAC5F,CAAC;AAAA,CACP;;;;ACCD,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAA9D,IAAA,EAA2D;AAAA,EAAA,IAArD+D,YAAY,GAAA/D,IAAA,CAAZ+D,YAAY;IAAEC,eAAe,GAAAhE,IAAA,CAAfgE,eAAe;IAAEC,eAAe,GAAAjE,IAAA,CAAfiE,eAAe;AACpE,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,IAAMC,KAAK,GAAGC,QAAQ,CAACC,eAAe,CAACC,GAAG,KAAK,KAAK;EAEpD,oBACElD,cAAA,CAACmD,0BAAe,EAAA;IAAAjD,QAAA,eACdF,cAAA,CAACY,uBAAY,EAAA;AACXwC,MAAAA,aAAa,EAAE,KAAM;AACrBC,MAAAA,QAAQ,EAAEN,KAAK,GAAG,YAAY,GAAG,aAAc;AAC/C/B,MAAAA,YAAY,eACVsC,eAAA,CAAA,QAAA,EAAA;AACErD,QAAAA,SAAS,EAAC,2JAA2J;AACrK,QAAA,aAAA,EAAY,gCAAgC;AAAAC,QAAAA,QAAA,gBAE5CF,cAAA,CAACuD,iBAAQ,EAAA,EAAE,CAAC,eACZvD,cAAA,CAAA,MAAA,EAAA;AAAMC,UAAAA,SAAS,EAAC,UAAU;UAAAC,QAAA,EAAE4C,CAAC,CAAC,6BAA6B;AAAC,SAAO,CAAC;AAAA,OAC9D,CACT;AACDjC,MAAAA,aAAa,EAAE;AACbZ,QAAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,aAAa,EAAE;OACf;AAAAC,MAAAA,QAAA,EAEDuC,YAAY,CAACe,MAAM,CAACC,iCAAmB,CAAC,CAACpC,GAAG,CAAC,UAACqC,OAAO,EAAEC,KAAK,EAAK;AAChE,QAAA,IAAQhC,KAAK,GAA8C+B,OAAO,CAA1D/B,KAAK;UAAEiC,IAAI,GAAwCF,OAAO,CAAnDE,IAAI;UAAOC,UAAU,GAAuBH,OAAO,CAA7C9B,GAAG;UAAcxB,EAAE,GAAmBsD,OAAO,CAA5BtD,EAAE;UAAEG,OAAO,GAAUmD,OAAO,CAAxBnD,OAAO;UAAEuD,GAAG,GAAKJ,OAAO,CAAfI,GAAG;QACtD,IAAMC,OAAO,GAAGH,IAAI;AACpB,QAAA,IAAMI,QAAQ,GAAGtB,eAAe,CAACgB,OAAO,CAAC;AAEzC,QAAA,oBACE1D,cAAA,CAACY,uBAAY,CAACW,QAAQ,EAAA;AACpB,UAAA,aAAA,EAAaI,KAAM;AAEnBsC,UAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEhD,CAAC,EAAA;AAAA,YAAA,OAAIA,CAAC,CAACC,cAAc,EAAE;UAAA,CAAC;UAAAhB,QAAA,eAElCoD,eAAA,CAACY,gCAAkB,EAAA;AACX3D,YAAAA,OAAO,EAAPA,OAAO;AAAEH,YAAAA,EAAE,EAAFA,EAAE;AACjBH,YAAAA,SAAS,EAAC,yEAAyE;AAAAC,YAAAA,QAAA,gBAEnFoD,eAAA,CAAA,MAAA,EAAA;AAAMrD,cAAAA,SAAS,EAAC,2CAA2C;AAAAC,cAAAA,QAAA,EAAA,CACxD0D,IAAI,iBAAI5D,cAAA,CAAC+D,OAAO,EAAA;AAAC9D,gBAAAA,SAAS,EAAC,eAAe;AAAC6B,gBAAAA,IAAI,EAAE;eAAK,CAAC,eACxDwB,eAAA,CAAA,MAAA,EAAA;AAAMrD,gBAAAA,SAAS,EAAC,2CAA2C;AAAAC,gBAAAA,QAAA,EAAA,CACxDyB,KAAK,EACLmC,GAAG,iBAAI9D,cAAA,CAACmE,gBAAK,EAAAnC,eAAA,CAAA,EAAA,EAAK8B,GAAG,CAAG,CAAC;AAAA,eACtB,CAAC;AAAA,aACH,CAAC,eACP9D,cAAA,CAACoE,kBAAO,EAAA;AACNf,cAAAA,QAAQ,EAAC,OAAO;cAChBgB,OAAO,EACLL,QAAQ,GACJlB,CAAC,CAAC,8BAA8B,CAAC,GACjCA,CAAC,CAAC,4BAA4B,CACnC;cAAA5C,QAAA,eAEDF,cAAA,CAACwB,iBAAM,EAAA;AACLvB,gBAAAA,SAAS,EAAC,eAAe;AACzB,gBAAA,aAAA,EAAY,YAAY;AACxB6B,gBAAAA,IAAI,EAAC,SAAS;AACdwC,gBAAAA,OAAO,EAAC,OAAO;AACf/D,gBAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEgE,KAAK,EAAA;AAAA,kBAAA,OAAI5B,eAAe,CAACe,OAAO,EAAEa,KAAK,CAAC;gBAAA,CAAC;AAAArE,gBAAAA,QAAA,EAEjD8D,QAAQ,gBACPhE,cAAA,CAACuC,SAAS,EAAA;kBAACR,UAAU,EAAE,EAAG;AAACD,kBAAAA,IAAI,EAAE;AAAG,iBAAE,CAAC,gBAEvC9B,cAAA,CAAC6B,OAAO,EAAA;kBAACE,UAAU,EAAE,EAAG;AAACD,kBAAAA,IAAI,EAAE;iBAAK;eAEhC;AAAC,aACF,CAAC;WACQ;SAAC,EApChB+B,UAAU,IAAIF,KAqCE,CAAC;MAE5B,CAAC;KACW;AAAC,GACA,CAAC;AAEtB,CAAC;;;;;AC5DD,IAAMa,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAAKA,KAAK,GAAG,GAAG,GAAG,MAAM,GAAGA,KAAK;AAAA,CAAC;AAE3D,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAhG,IAAA,EAKR;AAAA,EAAA,IAJJiG,QAAQ,GAAAjG,IAAA,CAARiG,QAAQ;IACRlC,YAAY,GAAA/D,IAAA,CAAZ+D,YAAY;IACKmC,yBAAyB,GAAAlG,IAAA,CAA1CmG,eAAe;IACfC,uBAAuB,GAAApG,IAAA,CAAvBoG,uBAAuB;AAEvB,EAAA,IAAMC,QAAQ,GAAGC,0BAAW,EAAE;AAC9B,EAAA,IAAAC,SAAA,GAAsDC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA3DI,IAAAA,mBAAmB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,sBAAsB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAClD,EAAA,IAAAI,gBAAA,GAA4CC,eAAe,CACzDC,uCAAyB,EACzB,EACF,CAAC;IAAAC,iBAAA,GAAAN,cAAA,CAAAG,gBAAA,EAAA,CAAA,CAAA;AAHMI,IAAAA,cAAc,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,iBAAA,CAAA,CAAA,CAAA;AAKxC,EAAA,IAAMG,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,KAAA,EAAqC;AAAA,IAAA,IAA/BvB,KAAK,GAAAuB,KAAA,CAALvB,KAAK;MAAEwB,QAAQ,GAAAD,KAAA,CAARC,QAAQ;MAAErC,OAAO,GAAAoC,KAAA,CAAPpC,OAAO;AACpD,IAAA,IAAMsC,YAAY,GAChBC,mBAAS,CAACvC,OAAO,CAACwC,KAAK,CAAC,IAAID,mBAAS,CAACvC,OAAO,CAACyC,SAAS,CAAC;IAC1D,IAAI,CAACH,YAAY,EAAE;MACjBV,sBAAsB,CAAC,EAAE,CAAC;AAE1B,MAAA;AACF,IAAA;IAEA,IAAI5B,OAAO,CAAC0C,kBAAkB,IAAIC,oBAAU,CAAC3C,OAAO,CAACwC,KAAK,CAAC,EAAE;AAC3DpB,MAAAA,uBAAuB,CAACpB,OAAO,CAACtD,EAAE,CAAC;AACrC,IAAA;IAEA,IAAMyD,UAAU,GAAGH,OAAO,CAAC9B,GAAG,IAAI8B,OAAO,CAACtD,EAAE;IAC5C,IAAI2F,QAAQ,EAAE,EAAE;AACd,MAAA,IAAMO,UAAU,GAAGjB,mBAAmB,CAACkB,QAAQ,CAAC1C,UAAU,CAAC;MAC3DyB,sBAAsB,CAACgB,UAAU,GAAG,EAAE,GAAG,CAACzC,UAAU,CAAC,CAAC;MACtDH,OAAO,CAAC8C,SAAS,KAAK,IAAI,IAAIjC,KAAK,CAACrD,cAAc,EAAE;AAEpD,MAAA;AACF,IAAA;AAEAoE,IAAAA,sBAAsB,CAAC,CAACzB,UAAU,CAAC,CAAC;EACtC,CAAC;EAED,IAAMlB,eAAe,GAAG,SAAlBA,eAAeA,CAAIe,OAAO,EAAEa,KAAK,EAAK;IAC1CA,KAAK,CAACrD,cAAc,EAAE;IACtBqD,KAAK,CAACpD,eAAe,EAAE;IACvB,IAAM0C,UAAU,GAAGH,OAAO,CAAC9B,GAAG,IAAI8B,OAAO,CAACtD,EAAE;AAC5C,IAAA,IAAM4D,QAAQ,GAAG2B,cAAc,CAACY,QAAQ,CAAC1C,UAAU,CAAC;AAEpD,IAAA,IAAIG,QAAQ,EAAE;MACZ4B,iBAAiB,CAACD,cAAc,CAACnC,MAAM,CAACiD,eAAK,CAAC5C,UAAU,CAAC,CAAC,CAAC;AAC7D,IAAA,CAAC,MAAM;MACL+B,iBAAiB,CAAA,EAAA,CAAApG,MAAA,CAAAkH,kBAAA,CAAKf,cAAc,CAAA,EAAA,CAAE9B,UAAU,CAAA,CAAC,CAAC;AACpD,IAAA;EACF,CAAC;AAED,EAAA,IAAMnB,eAAe,GAAG,SAAlBA,eAAeA,CAAGgB,OAAO,EAAI;AACjC,IAAA,IAAI,CAACA,OAAO,EAAE,OAAO,KAAK;IAC1B,IAAMG,UAAU,GAAGH,OAAO,CAAC9B,GAAG,IAAI8B,OAAO,CAACtD,EAAE;AAE5C,IAAA,OAAOuF,cAAc,CAACY,QAAQ,CAAC1C,UAAU,CAAC;EAC5C,CAAC;EAED,IAAM8C,WAAW,GAAGlE,YAAY,GAAGA,YAAY,CAACe,MAAM,CAACd,eAAe,CAAC,GAAG,EAAE;EAE5E,IAAMkE,iBAAiB,GAAGnE,YAAY,GAClCA,YAAY,CAACoE,IAAI,CACf,UAAAnD,OAAO,EAAA;AAAA,IAAA,OACLA,OAAO,IACP,CAACqB,QAAQ,CAAC+B,QAAQ,GAAG/B,QAAQ,CAACgC,MAAM,EAAEC,UAAU,CAACtD,OAAO,CAACtD,EAAE,CAAC;EAAA,CAChE,CAAC,GACD,IAAI;AAER,EAAA,IAAM6G,eAAe,GAAAP,kBAAA,CAAOC,WAAW,CAAC;AAExC,EAAA,IAAIC,iBAAiB,IAAI,CAAClE,eAAe,CAACkE,iBAAiB,CAAC,EAAE;AAC5DK,IAAAA,eAAe,CAACC,IAAI,CAACN,iBAAiB,CAAC;AACzC,EAAA;EAEA,IAAMO,gBAAgB,GAAA,EAAA,CAAA3H,MAAA,CAAAkH,kBAAA,CAAO/B,QAAQ,CAAA,EAAA+B,kBAAA,CAAKO,eAAe,CAAA,CAAC;EAE1D,oBACEjH,cAAA,CAACoH,uBAAY,EAAA;IAAAlH,QAAA,eACXF,cAAA,CAACqH,8BAAmB,EAAA;MAAAnH,QAAA,eAClBoD,eAAA,CAACgE,sBAAW,EAAA;AAACrH,QAAAA,SAAS,EAAC,OAAO;AAAAC,QAAAA,QAAA,EAAA,CAC3BiH,gBAAgB,CACd3D,MAAM,CAACC,iCAAmB,CAAC,CAC3BpC,GAAG,CAAC,UAACqC,OAAO,EAAEC,KAAK,EAAK;AACvB,UAAA,IACEhC,KAAK,GAYH+B,OAAO,CAZT/B,KAAK;YACLvB,EAAE,GAWAsD,OAAO,CAXTtD,EAAE;YACFwD,IAAI,GAUFF,OAAO,CAVTE,IAAI;YACJsC,KAAK,GASHxC,OAAO,CATTwC,KAAK;YACLE,kBAAkB,GAQhB1C,OAAO,CART0C,kBAAkB;YAAAmB,qBAAA,GAQhB7D,OAAO,CAPTmB,eAAe;AAAfA,YAAAA,eAAe,GAAA0C,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;YAAAC,cAAA,GAOrB9D,OAAO,CANTe,KAAK;AAALA,YAAAA,KAAK,GAAA+C,cAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,cAAA;YACDC,SAAS,GAKlB/D,OAAO,CALTyC,SAAS;YACT5F,QAAO,GAILmD,OAAO,CAJTnD,OAAO;YAAAmH,mBAAA,GAILhE,OAAO,CAHTiE,UAAU;AAAVA,YAAAA,UAAU,GAAAD,mBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,mBAAA;YACf5D,GAAG,GAEDJ,OAAO,CAFTI,GAAG;AACA/B,YAAAA,UAAU,GAAA6F,wBAAA,CACXlE,OAAO,EAAAmE,SAAA,CAAA;UACX,IAAM9D,OAAO,GAAGH,IAAI;AACpB,UAAA,IAAMkE,GAAG,GAAG,IAAIC,GAAG,CAAC3H,EAAE,EAAE4H,MAAM,CAACjD,QAAQ,CAACkD,IAAI,CAAC;AAC7C,UAAA,IAAMlC,QAAQ,GAAG,SAAXA,QAAQA,GAAA;YAAA,OACZmC,QAAE,CAACC,QAAQ,EAAEpG,UAAU,CAACgE,QAAQ,CAAC,GAC7BhE,UAAU,CAACgE,QAAQ,EAAE,GACrBhB,QAAQ,CAAC+B,QAAQ,CAACE,UAAU,CAACc,GAAG,CAAChB,QAAQ,CAAC;AAAA,UAAA,CAAA;AAEhD,UAAA,IAAMd,YAAY,GAAGE,KAAK,IAAIuB,SAAS;UACvC,IAAM5D,UAAU,GAAGH,OAAO,CAAC9B,GAAG,IAAI8B,OAAO,CAACtD,EAAE;UAC5C,IAAMgI,cAAc,GAClB/C,mBAAmB,CAACkB,QAAQ,CAAC1C,UAAU,CAAC,IACxC,CAACe,yBAAyB;AAE5B,UAAA,IAAMyD,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAG9D,KAAK,EAAI;YAChCA,KAAK,CAACrD,cAAc,EAAE;YACtBqD,KAAK,CAACpD,eAAe,EAAE;YACvBmE,sBAAsB,CAAC,UAAAgD,IAAI,EAAA;cAAA,OACzBA,IAAI,CAAC/B,QAAQ,CAAC1C,UAAU,CAAC,GACrByE,IAAI,CAAC9E,MAAM,CAACiD,eAAK,CAAC5C,UAAU,CAAC,CAAC,GAC9B0E,YAAM,CAAC1E,UAAU,EAAEyE,IAAI,CAAC;AAAA,YAAA,CAC9B,CAAC;UACH,CAAC;UAED,oBACEhF,eAAA,CAACkF,cAAQ,EAAA;YAAAtI,QAAA,EAAA,cACPoD,eAAA,CAACH,0BAAe,EAAA;cAAAjD,QAAA,EAAA,cACdF,cAAA,CAACyI,4BAAiB,EAAA;gBAACC,OAAO,EAAA,IAAA;gBAAC3C,QAAQ,EAAEA,QAAQ,EAAG;AAAA7F,gBAAAA,QAAA,eAC9CoD,eAAA,CAACY,gCAAkB,EAAAlC,aAAA,CAAAA,aAAA,CAAA;AACjB2G,kBAAAA,eAAe,EAAC,QAAQ;AACxB1I,kBAAAA,SAAS,EAAC,aAAa;AACvB,kBAAA,aAAA,EAAA,UAAA,CAAAT,MAAA,CAAwBoJ,mBAAS,CAACjH,KAAK,CAAC,CAAG;AAC3CpB,kBAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEgE,KAAK,EAAI;AAChBsB,oBAAAA,kBAAkB,CAAC;AAAEtB,sBAAAA,KAAK,EAALA,KAAK;AAAEwB,sBAAAA,QAAQ,EAARA,QAAQ;AAAErC,sBAAAA,OAAO,EAAPA;AAAQ,qBAAC,CAAC;AAChDnD,oBAAAA,QAAO,aAAPA,QAAO,KAAA,MAAA,IAAPA,QAAO,CAAGgE,KAAK,CAAC;AAClB,kBAAA;AAAE,iBAAA,EAAAvC,aAAA,CAAA;AACI+D,kBAAAA,QAAQ,EAARA,QAAQ;AAAE3F,kBAAAA,EAAE,EAAFA;AAAE,iBAAA,EAAK2B,UAAU,CAAA,CAAA,EAAA,EAAA,EAAA;kBAAA7B,QAAA,EAAA,CAEhC0D,IAAI,iBACHN,eAAA,CAAA,MAAA,EAAA;AAAMrD,oBAAAA,SAAS,EAAC,UAAU;AAAC,oBAAA,aAAA,EAAa0B,KAAM;AAAAzB,oBAAAA,QAAA,EAAA,cAC5CF,cAAA,CAAC+D,OAAO,IAAE,CAAC,EACVkC,mBAAS,CAACxB,KAAK,CAAC,IAAI,CAACI,eAAe,iBACnC7E,cAAA,CAAA,MAAA,EAAA;AAAMC,sBAAAA,SAAS,EAAC,oJAAoJ;sBAAAC,QAAA,EACjKsE,WAAW,CAACC,KAAK;AAAC,qBACf,CACP;mBACG,CACP,eACDzE,cAAA,CAAA,MAAA,EAAA;AAAMC,oBAAAA,SAAS,EAAC,oBAAoB;AAAAC,oBAAAA,QAAA,EAAEyB;AAAK,mBAAO,CAAC,EAClDmC,GAAG,iBAAI9D,cAAA,CAACmE,gBAAK,EAAAnC,aAAA,KAAK8B,GAAG,CAAG,CAAC,EACzBkC,YAAY,IAAI,CAACI,kBAAkB,iBAClCpG,cAAA,CAAA,MAAA,EAAA;AACEC,oBAAAA,SAAS,EAAC,oDAAoD;AAC9D4I,oBAAAA,IAAI,EAAC,QAAQ;oBACbC,QAAQ,EAAE,EAAG;AACbC,oBAAAA,KAAK,EAAE;AACLC,sBAAAA,SAAS,EAAEZ,cAAc,GACrB,eAAe,GACf;qBACJ;AACF7H,oBAAAA,OAAO,EAAE8H,gBAAiB;oBAAAnI,QAAA,eAE1BF,cAAA,CAACiJ,yBAAY,EAAA;AAAChJ,sBAAAA,SAAS,EAAC;qBAAkB;AAAC,mBACvC,CACP;iBAAA,CACiB;eACH,CAAC,EACnBoG,oBAAU,CAACsB,UAAU,CAAC,iBACrB3H,cAAA,CAACU,SAAS,EAAA;AAACC,gBAAAA,OAAO,EAAEgH;AAAW,eAAE,CAClC;aACc,CAAC,EACjB3B,YAAY,IAAI,CAACI,kBAAkB,IAAIgC,cAAc,iBACpD9E,eAAA,CAAA4F,mBAAA,EAAA;AAAAhJ,cAAAA,QAAA,EAAA,CACGgG,KAAK,iBACJlG,cAAA,CAACmJ,yBAAc,EAAA;AAAAjJ,gBAAAA,QAAA,EACZgG,KAAK,CACH1C,MAAM,CAACC,iCAAmB,CAAC,CAC3BpC,GAAG,CAAC,UAAC+H,OAAO,EAAEC,QAAQ,EAAA;AAAA,kBAAA,IAAAC,WAAA;AAAA,kBAAA,oBACrBtJ,cAAA,CAACuJ,yBAAW,EAAAvH,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAEDoH,OAAO,CAAA,EAAA,EAAA,EAAA;AAAEvE,oBAAAA,eAAe,EAAfA;AAAe,mBAAA,CAAA,CAAA,EAAA,EAAA,EAAA;oBACjCoD,IAAI,EAAEmB,OAAO,CAACnB,IAAK;oBACnBlC,QAAQ,EAAEqD,OAAO,CAACrD,QAAS;AAC3ByD,oBAAAA,eAAe,EAAEvD,mBAAS,CAACmD,OAAO,CAACK,IAAI,CAAE;AACzCrJ,oBAAAA,EAAE,EAAA,CAAAkJ,WAAA,GAAEF,OAAO,CAAChJ,EAAE,MAAA,IAAA,IAAAkJ,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAIF,OAAO,CAACM,IAAK;oBAC/BnJ,OAAO,EAAE6I,OAAO,CAAC7I;AAAQ,mBAAA,CAAA,EANpB8I,QAON,CAAC;gBAAA,CACH;AAAC,eACU,CACjB,EACA5B,SAAS,iBAAIzH,cAAA,CAACyH,SAAS,EAAA;AAAO/D,gBAAAA,OAAO,EAAPA;AAAO,eAAK,CAAC;AAAA,aAC5C,CACH;AAAA,WAAA,EAnEYA,OAAO,CAAC9B,GAAG,IAAI+B,KAoEpB,CAAC;QAEf,CAAC,CAAC,EACH0C,oBAAU,CAAC5D,YAAY,CAAC,iBACvBzC,cAAA,CAACwC,YAAY,EAAA;AACLG,UAAAA,eAAe,EAAfA,eAAe;AAAED,UAAAA,eAAe,EAAfA,eAAe;AAAED,UAAAA,YAAY,EAAZA;AAAY,SACrD,CACF;OACU;KACM;AAAC,GACV,CAAC;AAEnB,CAAC;;ACpMD,IAAMkH,OAAO,GAAG,SAAVA,OAAOA,CAAAjL,IAAA,EAOP;AAAA,EAAA,IANJiG,QAAQ,GAAAjG,IAAA,CAARiG,QAAQ;IAAAiF,iBAAA,GAAAlL,IAAA,CACR+D,YAAY;AAAZA,IAAAA,YAAY,GAAAmH,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;IACjBhL,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAAiL,oBAAA,GAAAnL,IAAA,CACVmG,eAAe;AAAfA,IAAAA,eAAe,GAAAgF,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IAAAC,qBAAA,GAAApL,IAAA,CACvBqL,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAE,iBAAA,GAAAtL,IAAA,CACzBsH,YAAY;AAAZA,IAAAA,YAAY,GAAAgE,iBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,iBAAA;AAEnB,EAAA,IAAAC,qBAAA,GAAsCC,2DAA6B,EAAE;IAAAC,sBAAA,GAAA/E,cAAA,CAAA6E,qBAAA,EAAA,CAAA,CAAA;AAA9DG,IAAAA,2BAA2B,GAAAD,sBAAA,CAAA,CAAA,CAAA;AAElC,EAAA,IAAA5E,gBAAA,GAAwDC,eAAe,CACrE6E,iDAAmC,EACnC,IACF,CAAC;IAAA3E,iBAAA,GAAAN,cAAA,CAAAG,gBAAA,EAAA,CAAA,CAAA;AAHM+E,IAAAA,oBAAoB,GAAA5E,iBAAA,CAAA,CAAA,CAAA;AAAEZ,IAAAA,uBAAuB,GAAAY,iBAAA,CAAA,CAAA,CAAA;EAKpD,IAAA6E,iBAAA,GAAoD/E,eAAe,CACjEgF,4CAA8B,EAAE,EAChC,KACF,CAAC;IAAAC,iBAAA,GAAArF,cAAA,CAAAmF,iBAAA,EAAA,CAAA,CAAA;AAHMG,IAAAA,kBAAkB,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,qBAAqB,GAAAF,iBAAA,CAAA,CAAA,CAAA;AAKhD,EAAA,IAAAG,iBAAA,GAA2CpF,eAAe,CACxDqF,+BAAiB,EACjBC,mCACF,CAAC;IAAAC,iBAAA,GAAA3F,cAAA,CAAAwF,iBAAA,EAAA,CAAA,CAAA;AAHMI,IAAAA,eAAe,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,iBAAA,CAAA,CAAA,CAAA;AAKvC,EAAA,IAAMG,YAAY,GAChB,OAAOF,eAAe,KAAK,QAAQ,GAC/BG,QAAQ,CAACH,eAAe,EAAE,EAAE,CAAC,IAAIF,mCAAqB,GACtDE,eAAe,IAAIF,mCAAqB;AAE9C,EAAA,IAAMM,aAAa,GAAGC,YAAM,CAAC,KAAK,CAAC;AACnC,EAAA,IAAMC,aAAa,GAAGD,YAAM,CAAC,KAAK,CAAC;AACnC,EAAA,IAAME,SAAS,GAAGF,YAAM,CAAC,IAAI,CAAC;AAC9B,EAAA,IAAMG,aAAa,GAAGH,YAAM,CAAC,IAAI,CAAC;AAElC,EAAA,IAAMtG,QAAQ,GAAGC,0BAAW,EAAE;AAC9B,EAAA,IAAMyG,OAAO,GAAGC,yBAAU,EAAE;AAC5B,EAAA,IAAA9I,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,IAAMC,KAAK,GAAGC,QAAQ,CAACC,eAAe,CAACC,GAAG,KAAK,KAAK;AACpD,EAAA,IAAMyI,WAAW,GAAG5I,KAAK,GAAG,OAAO,GAAG,MAAM;AAE5C6I,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIxB,2BAA2B,EAAE;MAC/BO,qBAAqB,CAAC,IAAI,CAAC;AAC7B,IAAA,CAAC,MAAM,IAAI3C,MAAM,CAAC6D,UAAU,GAAG,GAAG,EAAE;MAClClB,qBAAqB,CAAC,KAAK,CAAC;AAC9B,IAAA;AACA;AACF,EAAA,CAAC,EAAE,CAACP,2BAA2B,CAAC,CAAC;AAEjCwB,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAI,CAAC3F,mBAAS,CAACtB,QAAQ,CAAC,EAAE;AAC1B,IAAA,IAAMmH,WAAW,GAAGC,cAAQ,CAAC,UAAAjG,KAAA,EAAsB;AAAA,MAAA,IAAnB1F,EAAE,GAAA0F,KAAA,CAAF1F,EAAE;QAAE2F,QAAQ,GAAAD,KAAA,CAARC,QAAQ;AAC1C,MAAA,IAAM+B,GAAG,GAAG,IAAIC,GAAG,CAAC3H,EAAE,EAAE4H,MAAM,CAACjD,QAAQ,CAACkD,IAAI,CAAC;MAE7C,OAAOC,QAAE,CAACC,QAAQ,EAAEpC,QAAQ,CAAC,GACzBA,QAAQ,EAAE,GACVhB,QAAQ,CAAC+B,QAAQ,CAACP,QAAQ,CAACuB,GAAG,CAAChB,QAAQ,CAAC;IAC9C,CAAC,CAAC,CAACnC,QAAQ,CAAC;AAEZ,IAAA,IAAIsB,mBAAS,CAAC6F,WAAW,CAAC,EAAE;MAC1BhH,uBAAuB,CACrBgH,WAAW,CAAC1F,kBAAkB,GAAG0F,WAAW,CAAC1L,EAAE,GAAG,IACpD,CAAC;AACH,IAAA;AACA;EACF,CAAC,EAAE,EAAE,CAAC;;AAEN;AACA;AACA;AACA,EAAA,IAAM4L,mBAAmB,GAAGC,iBAAW,CACrC,UAAAhL,CAAC,EAAI;IACH,IAAI,CAAC+E,YAAY,EAAE;IAEnBoF,aAAa,CAACc,OAAO,GAAG,IAAI;IAC5BZ,aAAa,CAACY,OAAO,GAAG,KAAK;AAC7BX,IAAAA,SAAS,CAACW,OAAO,GAAGjL,CAAC,CAACkL,OAAO;IAC7BX,aAAa,CAACU,OAAO,GAAGhB,YAAY;AAEpC,IAAA,IAAMkB,OAAO,GAAGpJ,QAAQ,CAACqJ,aAAa,CAAC,+BAA+B,CAAC;IACvE,IAAID,OAAO,EAAEA,OAAO,CAACE,OAAO,CAACC,QAAQ,GAAG,MAAM;AAE9CvJ,IAAAA,QAAQ,CAACwJ,IAAI,CAACzD,KAAK,CAAC0D,MAAM,GAAG,YAAY;AACzCzJ,IAAAA,QAAQ,CAACwJ,IAAI,CAACzD,KAAK,CAAC2D,UAAU,GAAG,MAAM;IACvCzL,CAAC,CAACC,cAAc,EAAE;AACpB,EAAA,CAAC,EACD,CAACgK,YAAY,EAAElF,YAAY,CAC7B,CAAC;;AAED;AACA,EAAA,IAAM2G,eAAe,GAAGV,iBAAW,CAAC,UAAAhL,CAAC,EAAI;AACvC,IAAA,IAAI,CAACqK,aAAa,CAACY,OAAO,EAAE;IAC5BjL,CAAC,CAACC,cAAc,EAAE;IAClBD,CAAC,CAACE,eAAe,EAAE;IACnBmK,aAAa,CAACY,OAAO,GAAG,KAAK;EAC/B,CAAC,EAAE,EAAE,CAAC;AAENN,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAI,CAAC5F,YAAY,EAAE,OAAO4G,SAAS;AAEnC,IAAA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAG5L,CAAC,EAAI;AACvB,MAAA,IAAI,CAACmK,aAAa,CAACc,OAAO,EAAE;MAE5BZ,aAAa,CAACY,OAAO,GAAG,IAAI;MAC5B,IAAMY,EAAE,GAAG7L,CAAC,CAACkL,OAAO,GAAGZ,SAAS,CAACW,OAAO;AACxC;MACA,IAAMa,GAAG,GAAG/J,QAAQ,CAACC,eAAe,CAACC,GAAG,KAAK,KAAK;AAClD,MAAA,IAAI8J,QAAQ,GAAGxB,aAAa,CAACU,OAAO,IAAIa,GAAG,GAAG,CAACD,EAAE,GAAGA,EAAE,CAAC;AACvDE,MAAAA,QAAQ,GAAGC,IAAI,CAACC,GAAG,CACjBC,+BAAiB,EACjBF,IAAI,CAACG,GAAG,CAACJ,QAAQ,EAAEK,+BAAiB,CACtC,CAAC;AAED,MAAA,IAAMC,QAAQ,GAAA,EAAA,CAAA9N,MAAA,CAAMwN,QAAQ,GAAG,EAAE,EAAA,KAAA,CAAK;AACtC,MAAA,IAAMZ,OAAO,GAAGpJ,QAAQ,CAACqJ,aAAa,CAAC,+BAA+B,CAAC;MACvE,IAAID,OAAO,EAAEA,OAAO,CAACrD,KAAK,CAACwE,WAAW,CAAC,iBAAiB,EAAED,QAAQ,CAAC;MAEnEtK,QAAQ,CAACC,eAAe,CAAC8F,KAAK,CAACwE,WAAW,CACxC,iCAAiC,EACjCD,QACF,CAAC;IACH,CAAC;AAED,IAAA,IAAME,SAAS,GAAG,SAAZA,SAASA,CAAGvM,CAAC,EAAI;AACrB,MAAA,IAAI,CAACmK,aAAa,CAACc,OAAO,EAAE;MAE5B,IAAMY,EAAE,GAAG7L,CAAC,CAACkL,OAAO,GAAGZ,SAAS,CAACW,OAAO;MACxC,IAAMuB,KAAK,GAAGzK,QAAQ,CAACC,eAAe,CAACC,GAAG,KAAK,KAAK;AACpD,MAAA,IAAIwK,UAAU,GAAGlC,aAAa,CAACU,OAAO,IAAIuB,KAAK,GAAG,CAACX,EAAE,GAAGA,EAAE,CAAC;MAC3DY,UAAU,GAAGT,IAAI,CAACU,KAAK,CACrBV,IAAI,CAACC,GAAG,CAACC,+BAAiB,EAAEF,IAAI,CAACG,GAAG,CAACM,UAAU,EAAEL,+BAAiB,CAAC,CACrE,CAAC;MACDpC,eAAe,CAACyC,UAAU,CAAC;AAE3B,MAAA,IAAMtB,OAAO,GAAGpJ,QAAQ,CAACqJ,aAAa,CAAC,+BAA+B,CAAC;AACvE,MAAA,IAAID,OAAO,EAAE,OAAOA,OAAO,CAACE,OAAO,CAACC,QAAQ;MAE5CnB,aAAa,CAACc,OAAO,GAAG,KAAK;AAC7BlJ,MAAAA,QAAQ,CAACwJ,IAAI,CAACzD,KAAK,CAAC0D,MAAM,GAAG,EAAE;AAC/BzJ,MAAAA,QAAQ,CAACwJ,IAAI,CAACzD,KAAK,CAAC2D,UAAU,GAAG,EAAE;IACrC,CAAC;AAED1J,IAAAA,QAAQ,CAAC4K,gBAAgB,CAAC,WAAW,EAAEf,WAAW,CAAC;AACnD7J,IAAAA,QAAQ,CAAC4K,gBAAgB,CAAC,SAAS,EAAEJ,SAAS,CAAC;AAE/C,IAAA,OAAO,YAAM;AACXxK,MAAAA,QAAQ,CAAC6K,mBAAmB,CAAC,WAAW,EAAEhB,WAAW,CAAC;AACtD7J,MAAAA,QAAQ,CAAC6K,mBAAmB,CAAC,SAAS,EAAEL,SAAS,CAAC;IACpD,CAAC;AACH,EAAA,CAAC,EAAE,CAACxH,YAAY,EAAEiF,eAAe,CAAC,CAAC;AAEnCW,EAAAA,eAAS,CAAC,YAAM;AACd5I,IAAAA,QAAQ,CAACC,eAAe,CAAC8F,KAAK,CAACwE,WAAW,CACxC,iCAAiC,EAAA,EAAA,CAAA/N,MAAA,CAC9B0L,YAAY,GAAG,EAAE,QACtB,CAAC;AACH,EAAA,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;AAElB,EAAA,IAAM4C,YAAY,GAAG,SAAfA,YAAYA,CAAGvJ,KAAK,EAAI;IAC5BA,KAAK,CAACrD,cAAc,EAAE;IACtB4D,uBAAuB,CAAC,IAAI,CAAC;IAC7B,IAAMiJ,gBAAgB,GAAGC,wCAA0B,CAAC;AAAErJ,MAAAA,QAAQ,EAARA,QAAQ;AAAEI,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAC;AAC3E,IAAA,IAAIgJ,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAE3N,EAAE,EAAE;AACxBqL,MAAAA,OAAO,CAACvE,IAAI,CAAC6G,gBAAgB,CAAC3N,EAAE,CAAC;AACnC,IAAA;EACF,CAAC;EAED,IAAM6N,UAAU,GAAGC,aAAO,CACxB,YAAA;AAAA,IAAA,OACEvJ,QAAQ,CAACkC,IAAI,CAAC,UAAAsH,IAAI,EAAI;AACpB,MAAA,IAAIjG,QAAE,CAACC,QAAQ,EAAEgG,IAAI,CAACpI,QAAQ,CAAC,EAAE,OAAOoI,IAAI,CAACpI,QAAQ,EAAE;AACvD,MAAA,IAAM+B,GAAG,GAAG,IAAIC,GAAG,CAACoG,IAAI,CAAC/N,EAAE,EAAE4H,MAAM,CAACjD,QAAQ,CAACkD,IAAI,CAAC;MAElD,OAAOlD,QAAQ,CAAC+B,QAAQ,CAACE,UAAU,CAACc,GAAG,CAAChB,QAAQ,CAAC;AACnD,IAAA,CAAC,CAAC;AAAA,EAAA,CAAA,EACJ,CAAC/B,QAAQ,CAAC+B,QAAQ,EAAEnC,QAAQ,CAC9B,CAAC;AAED,EAAA,IAAMyJ,wBAAwB,GAC5B9D,oBAAoB,IACpB,CAAA2D,UAAU,aAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAE7N,EAAE,MAAKkK,oBAAoB,IACvCjE,oBAAU,CAAC1B,QAAQ,CAAC;EAEtB,oBACErB,eAAA,CAAC+K,0BAAe,EAAA;AACdpO,IAAAA,SAAS,EAAC,SAAS;IACnBqO,IAAI,EAAE,CAAC5D,kBAAmB;AAC1B3B,IAAAA,KAAK,EAAE;AAAE,MAAA,iBAAiB,EAAA,EAAA,CAAAvJ,MAAA,CAAK0L,YAAY,GAAG,EAAE,EAAA,KAAA;KAAQ;AACxDqD,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAED,IAAI,EAAA;AAAA,MAAA,OAAI3D,qBAAqB,CAAC,CAAC2D,IAAI,CAAC;IAAA,CAAC;IAAApO,QAAA,EAAA,cAEnDoD,eAAA,CAACkL,kBAAgB,EAAA;AAACC,MAAAA,WAAW,EAAC,WAAW;AAAC1N,MAAAA,IAAI,EAAE4K,WAAY;MAAAzL,QAAA,EAAA,cAC1DoD,eAAA,CAACoL,wBAAa,EAAA;AAACzO,QAAAA,SAAS,EAAC,cAAc;QAAAC,QAAA,EAAA,cACrCF,cAAA,CAACvB,MAAM,EAAA;AACCG,UAAAA,UAAU,EAAVA,UAAU;UAChBC,gBAAgB,EAAE,SAAlBA,gBAAgBA,GAAA;YAAA,OAAQiG,uBAAuB,CAAC,IAAI,CAAC;AAAA,UAAA;AAAC,SACvD,CAAC,eACF9E,cAAA,CAAC2O,yBAAc,EAAA;AAAC1O,UAAAA,SAAS,EAAC;AAAsB,SAAE,CAAC,EAClD8J,iBAAiB,iBAChBzG,eAAA,CAAA,KAAA,EAAA;AAAKrD,UAAAA,SAAS,EAAC,0CAA0C;AAAAC,UAAAA,QAAA,gBACvDF,cAAA,CAAA,IAAA,EAAA;AAAIC,YAAAA,SAAS,EAAC,oDAAoD;YAAAC,QAAA,EAC/D4C,CAAC,CAAC,oCAAoC;WACrC,CAAC,eACL9C,cAAA,CAAA,MAAA,EAAA;AAAMC,YAAAA,SAAS,EAAC,6CAA6C;AAAAC,YAAAA,QAAA,EAC1DnB,WAAW,CAAC6P,YAAY,CAACC;AAAI,WAC1B,CAAC;AAAA,SACJ,CACN;AAAA,OACY,CAAC,eAChB7O,cAAA,CAAC8O,yBAAc,EAAA;AAAA5O,QAAAA,QAAA,EACZkO,wBAAwB,gBACvBpO,cAAA,CAAC+O,2BAAa,EAAA;AAAOjB,UAAAA,YAAY,EAAZA,YAAY;AAAIpK,UAAAA,OAAO,EAAEuK;AAAW,SAAE,CAAC,gBAE5DjO,cAAA,CAAC0E,QAAQ,EAAA;AAELG,UAAAA,eAAe,EAAfA,eAAe;AACfpC,UAAAA,YAAY,EAAZA,YAAY;AACZkC,UAAAA,QAAQ,EAARA,QAAQ;AACRG,UAAAA,uBAAuB,EAAvBA;SAEH;AACF,OACa,CAAC,EAChBkB,YAAY,iBACXhG,cAAA,CAACgP,sBAAW,EAAA;AACVC,QAAAA,cAAc,EAAEtC,eAAgB;AAChCuC,QAAAA,WAAW,EAAElD;AAAoB,OAClC,CACF;AAAA,KACe,CAAC,EAClBtB,kBAAkB,iBACjB1K,cAAA,CAAC2O,yBAAc,EAAA;AAAC1O,MAAAA,SAAS,EAAC;AAA0B,KAAE,CACvD;AAAA,GACc,CAAC;AAEtB;;;;"}