@admin-layout/tailwind-design-pro 12.0.16-alpha.9 → 12.0.16-alpha.91

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 (260) hide show
  1. package/lib/cdm-locales/en/menu.json +2 -1
  2. package/lib/cdm-locales/es/menu.json +2 -1
  3. package/lib/cdm-locales/index.d.ts +2 -0
  4. package/lib/cdm-locales/index.d.ts.map +1 -0
  5. package/lib/cdm-locales/index.ts +1 -0
  6. package/lib/components/LanguageMenu/LanguageMenu.d.ts.map +1 -1
  7. package/lib/components/LanguageMenu/LanguageMenu.js +16 -20
  8. package/lib/components/LanguageMenu/LanguageMenu.js.map +1 -1
  9. package/lib/components/Layout/BasicLayout/index.d.ts +6 -5
  10. package/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
  11. package/lib/components/Layout/BasicLayout/index.js +220 -124
  12. package/lib/components/Layout/BasicLayout/index.js.map +1 -1
  13. package/lib/components/Layout/BasicLayout/utils.d.ts +2 -0
  14. package/lib/components/Layout/BasicLayout/utils.d.ts.map +1 -1
  15. package/lib/components/Layout/BasicLayout/utils.js +16 -13
  16. package/lib/components/Layout/BasicLayout/utils.js.map +1 -1
  17. package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.d.ts.map +1 -1
  18. package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.js +9 -14
  19. package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.js.map +1 -1
  20. package/lib/components/Layout/GlobalHeader/Header.d.ts +0 -1
  21. package/lib/components/Layout/GlobalHeader/Header.d.ts.map +1 -1
  22. package/lib/components/Layout/GlobalHeader/Header.js +38 -10
  23. package/lib/components/Layout/GlobalHeader/Header.js.map +1 -1
  24. package/lib/components/Layout/GlobalHeader/MainHeader.d.ts +0 -2
  25. package/lib/components/Layout/GlobalHeader/MainHeader.d.ts.map +1 -1
  26. package/lib/components/Layout/GlobalHeader/MainHeader.js +54 -85
  27. package/lib/components/Layout/GlobalHeader/MainHeader.js.map +1 -1
  28. package/lib/components/Layout/GlobalHeader/OrganizationDropdown.js +1 -1
  29. package/lib/components/Layout/GlobalHeader/OrganizationDropdown.js.map +1 -1
  30. package/lib/components/Layout/GlobalHeader/RightContent.d.ts +1 -0
  31. package/lib/components/Layout/GlobalHeader/RightContent.d.ts.map +1 -1
  32. package/lib/components/Layout/GlobalHeader/RightContent.js +73 -6
  33. package/lib/components/Layout/GlobalHeader/RightContent.js.map +1 -1
  34. package/lib/components/Layout/GlobalHeader/RightMenu.d.ts.map +1 -1
  35. package/lib/components/Layout/GlobalHeader/RightMenu.js +2 -4
  36. package/lib/components/Layout/GlobalHeader/RightMenu.js.map +1 -1
  37. package/lib/components/Layout/GlobalHeader/SearchBar.js.map +1 -1
  38. package/lib/components/Layout/GlobalHeader/index.d.ts +0 -1
  39. package/lib/components/Layout/GlobalHeader/index.d.ts.map +1 -1
  40. package/lib/components/Layout/ProTailwindLayout.d.ts +2 -2
  41. package/lib/components/Layout/ProTailwindLayout.d.ts.map +1 -1
  42. package/lib/components/Layout/ProTailwindLayout.js +69 -7
  43. package/lib/components/Layout/ProTailwindLayout.js.map +1 -1
  44. package/lib/components/Layout/Sidebar/BottomMenu.d.ts +4 -0
  45. package/lib/components/Layout/Sidebar/BottomMenu.d.ts.map +1 -0
  46. package/lib/components/Layout/Sidebar/BottomMenu.js +330 -0
  47. package/lib/components/Layout/Sidebar/BottomMenu.js.map +1 -0
  48. package/lib/components/Layout/Sidebar/Divider.js.map +1 -1
  49. package/lib/components/Layout/Sidebar/DynamicIcon.js.map +1 -1
  50. package/lib/components/Layout/Sidebar/MainSidebar.d.ts +5 -0
  51. package/lib/components/Layout/Sidebar/MainSidebar.d.ts.map +1 -0
  52. package/lib/components/Layout/Sidebar/MainSidebar.js +246 -0
  53. package/lib/components/Layout/Sidebar/MainSidebar.js.map +1 -0
  54. package/lib/components/Layout/Sidebar/MainSidebarMenu.d.ts +6 -0
  55. package/lib/components/Layout/Sidebar/MainSidebarMenu.d.ts.map +1 -0
  56. package/lib/components/Layout/Sidebar/MainSidebarMenu.js +467 -0
  57. package/lib/components/Layout/Sidebar/MainSidebarMenu.js.map +1 -0
  58. package/lib/components/Layout/Sidebar/PerplexSidebar.d.ts +4 -0
  59. package/lib/components/Layout/Sidebar/PerplexSidebar.d.ts.map +1 -0
  60. package/lib/components/Layout/Sidebar/PerplexSidebar.js +279 -0
  61. package/lib/components/Layout/Sidebar/PerplexSidebar.js.map +1 -0
  62. package/lib/components/Layout/Sidebar/PerplexSidebarMenu.d.ts +4 -0
  63. package/lib/components/Layout/Sidebar/PerplexSidebarMenu.d.ts.map +1 -0
  64. package/lib/components/Layout/Sidebar/PerplexSidebarMenu.js +332 -0
  65. package/lib/components/Layout/Sidebar/PerplexSidebarMenu.js.map +1 -0
  66. package/lib/components/Layout/TailwindLayout.d.ts.map +1 -1
  67. package/lib/components/Layout/TailwindLayout.js +29 -10
  68. package/lib/components/Layout/TailwindLayout.js.map +1 -1
  69. package/lib/components/Layout/getPageTitle.js.map +1 -1
  70. package/lib/components/Layout/slot-fill/AdditionalSettings.js.map +1 -1
  71. package/lib/components/Layout/slot-fill/Footer.js.map +1 -1
  72. package/lib/components/Layout/slot-fill/HeaderNotice.js +7 -0
  73. package/lib/components/Layout/slot-fill/HeaderNotice.js.map +1 -0
  74. package/lib/components/Layout/slot-fill/HeaderSearchBar.js.map +1 -1
  75. package/lib/components/Layout/slot-fill/HeaderSearchButton.js.map +1 -1
  76. package/lib/components/Layout/slot-fill/Logo.d.ts +4 -0
  77. package/lib/components/Layout/slot-fill/Logo.d.ts.map +1 -0
  78. package/lib/components/Layout/slot-fill/Logo.js +7 -0
  79. package/lib/components/Layout/slot-fill/Logo.js.map +1 -0
  80. package/lib/components/Layout/slot-fill/RightContent.js.map +1 -1
  81. package/lib/components/Layout/slot-fill/SideMenuLogo.d.ts +4 -0
  82. package/lib/components/Layout/slot-fill/SideMenuLogo.d.ts.map +1 -0
  83. package/lib/components/Layout/slot-fill/SideMenuLogo.js +7 -0
  84. package/lib/components/Layout/slot-fill/SideMenuLogo.js.map +1 -0
  85. package/lib/components/Layout/slot-fill/index.d.ts +2 -0
  86. package/lib/components/Layout/slot-fill/index.d.ts.map +1 -1
  87. package/lib/components/Layout/util.js +1 -1
  88. package/lib/components/Layout/util.js.map +1 -1
  89. package/lib/components/SettingDrawer/SettingDrawer.d.ts +2 -3
  90. package/lib/components/SettingDrawer/SettingDrawer.d.ts.map +1 -1
  91. package/lib/components/SettingDrawer/SettingDrawer.js +166 -416
  92. package/lib/components/SettingDrawer/SettingDrawer.js.map +1 -1
  93. package/lib/components/SettingDrawer/components/ApplyToAllRoutesToggle.d.ts +7 -0
  94. package/lib/components/SettingDrawer/components/ApplyToAllRoutesToggle.d.ts.map +1 -0
  95. package/lib/components/SettingDrawer/components/ApplyToAllRoutesToggle.js +30 -0
  96. package/lib/components/SettingDrawer/components/ApplyToAllRoutesToggle.js.map +1 -0
  97. package/lib/components/SettingDrawer/components/CheckBoxTheme.d.ts +3 -0
  98. package/lib/components/SettingDrawer/components/CheckBoxTheme.d.ts.map +1 -0
  99. package/lib/components/SettingDrawer/{CheckBoxTheme.js → components/CheckBoxTheme.js} +14 -5
  100. package/lib/components/SettingDrawer/components/CheckBoxTheme.js.map +1 -0
  101. package/lib/components/SettingDrawer/components/DeviceTabs.d.ts +7 -0
  102. package/lib/components/SettingDrawer/components/DeviceTabs.d.ts.map +1 -0
  103. package/lib/components/SettingDrawer/components/DeviceTabs.js +82 -0
  104. package/lib/components/SettingDrawer/components/DeviceTabs.js.map +1 -0
  105. package/lib/components/SettingDrawer/components/InvitationSettings.d.ts +3 -0
  106. package/lib/components/SettingDrawer/components/InvitationSettings.d.ts.map +1 -0
  107. package/lib/components/SettingDrawer/{InvitationSettings.js → components/InvitationSettings.js} +11 -7
  108. package/lib/components/SettingDrawer/components/InvitationSettings.js.map +1 -0
  109. package/lib/components/SettingDrawer/components/LayoutChange.d.ts +3 -0
  110. package/lib/components/SettingDrawer/components/LayoutChange.d.ts.map +1 -0
  111. package/lib/components/SettingDrawer/{LayoutChange.js → components/LayoutChange.js} +24 -17
  112. package/lib/components/SettingDrawer/components/LayoutChange.js.map +1 -0
  113. package/lib/components/SettingDrawer/components/MenuVisibilitySettings.d.ts +20 -0
  114. package/lib/components/SettingDrawer/components/MenuVisibilitySettings.d.ts.map +1 -0
  115. package/lib/components/SettingDrawer/components/MenuVisibilitySettings.js +119 -0
  116. package/lib/components/SettingDrawer/components/MenuVisibilitySettings.js.map +1 -0
  117. package/lib/components/SettingDrawer/components/NavigationsModes.d.ts +3 -0
  118. package/lib/components/SettingDrawer/components/NavigationsModes.d.ts.map +1 -0
  119. package/lib/components/SettingDrawer/{NavigationsModes.js → components/NavigationsModes.js} +91 -40
  120. package/lib/components/SettingDrawer/components/NavigationsModes.js.map +1 -0
  121. package/lib/components/SettingDrawer/components/RegionalSettings.d.ts +3 -0
  122. package/lib/components/SettingDrawer/components/RegionalSettings.d.ts.map +1 -0
  123. package/lib/components/SettingDrawer/{RegionalSettings.js → components/RegionalSettings.js} +55 -178
  124. package/lib/components/SettingDrawer/components/RegionalSettings.js.map +1 -0
  125. package/lib/components/SettingDrawer/components/SettingsActions.d.ts +12 -0
  126. package/lib/components/SettingDrawer/components/SettingsActions.d.ts.map +1 -0
  127. package/lib/components/SettingDrawer/components/SettingsActions.js +69 -0
  128. package/lib/components/SettingDrawer/components/SettingsActions.js.map +1 -0
  129. package/lib/components/SettingDrawer/components/SettingsDrawerHeader.d.ts +4 -0
  130. package/lib/components/SettingDrawer/components/SettingsDrawerHeader.d.ts.map +1 -0
  131. package/lib/components/SettingDrawer/components/SettingsDrawerHeader.js +25 -0
  132. package/lib/components/SettingDrawer/components/SettingsDrawerHeader.js.map +1 -0
  133. package/lib/components/SettingDrawer/{Switch/index.d.ts → components/Switch.d.ts} +2 -2
  134. package/lib/components/SettingDrawer/components/Switch.d.ts.map +1 -0
  135. package/lib/components/SettingDrawer/{Switch/index.js → components/Switch.js} +1 -1
  136. package/lib/components/SettingDrawer/components/Switch.js.map +1 -0
  137. package/lib/components/SettingDrawer/components/ThemeColor.d.ts +3 -0
  138. package/lib/components/SettingDrawer/components/ThemeColor.d.ts.map +1 -0
  139. package/lib/components/SettingDrawer/{ThemeColor.js → components/ThemeColor.js} +16 -4
  140. package/lib/components/SettingDrawer/components/ThemeColor.js.map +1 -0
  141. package/lib/components/SettingDrawer/{ThemeSelector.d.ts → components/ThemeSelector.d.ts} +1 -1
  142. package/lib/components/SettingDrawer/components/ThemeSelector.d.ts.map +1 -0
  143. package/lib/components/SettingDrawer/components/ThemeSelector.js.map +1 -0
  144. package/lib/components/SettingDrawer/components/WebFontsSelector.d.ts +3 -0
  145. package/lib/components/SettingDrawer/components/WebFontsSelector.d.ts.map +1 -0
  146. package/lib/components/SettingDrawer/components/WebFontsSelector.js.map +1 -0
  147. package/lib/components/SettingDrawer/hooks/useSettingsOperations.d.ts +18 -0
  148. package/lib/components/SettingDrawer/hooks/useSettingsOperations.d.ts.map +1 -0
  149. package/lib/components/SettingDrawer/hooks/useSettingsOperations.js +119 -0
  150. package/lib/components/SettingDrawer/hooks/useSettingsOperations.js.map +1 -0
  151. package/lib/components/SettingDrawer/utils/constants.d.ts +11 -0
  152. package/lib/components/SettingDrawer/utils/constants.d.ts.map +1 -0
  153. package/lib/components/SettingDrawer/utils/constants.js +77 -0
  154. package/lib/components/SettingDrawer/utils/constants.js.map +1 -0
  155. package/lib/components/SettingDrawer/utils/helper.d.ts +37 -0
  156. package/lib/components/SettingDrawer/utils/helper.d.ts.map +1 -0
  157. package/lib/components/SettingDrawer/utils/helper.js +243 -0
  158. package/lib/components/SettingDrawer/utils/helper.js.map +1 -0
  159. package/lib/components/SettingDrawer/utils/transformers.d.ts +15 -0
  160. package/lib/components/SettingDrawer/utils/transformers.d.ts.map +1 -0
  161. package/lib/components/SettingDrawer/utils/transformers.js +76 -0
  162. package/lib/components/SettingDrawer/utils/transformers.js.map +1 -0
  163. package/lib/components/SettingDrawer/{types.d.ts → utils/types.d.ts} +14 -0
  164. package/lib/components/SettingDrawer/utils/types.d.ts.map +1 -0
  165. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.d.ts +10 -5
  166. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.d.ts.map +1 -1
  167. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.js +97 -4
  168. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.js.map +1 -1
  169. package/lib/components/index.js +1 -1
  170. package/lib/components/typings.d.ts +20 -1
  171. package/lib/components/typings.d.ts.map +1 -1
  172. package/lib/compute.d.ts.map +1 -1
  173. package/lib/compute.js +10 -2
  174. package/lib/compute.js.map +1 -1
  175. package/lib/config/constants.js.map +1 -1
  176. package/lib/config/env-config.d.ts +3 -0
  177. package/lib/config/env-config.d.ts.map +1 -1
  178. package/lib/config/env-config.js +10 -0
  179. package/lib/config/env-config.js.map +1 -1
  180. package/lib/helpers/DynamicIcon.js.map +1 -1
  181. package/lib/hooks/useMediaQuery.js.map +1 -1
  182. package/lib/hooks/useScrollThreshold.js.map +1 -1
  183. package/lib/hooks/useTailwindTheme.js +82 -0
  184. package/lib/hooks/useTailwindTheme.js.map +1 -0
  185. package/lib/icons.d.ts +2 -0
  186. package/lib/icons.d.ts.map +1 -1
  187. package/lib/icons.js +4 -2
  188. package/lib/icons.js.map +1 -1
  189. package/lib/index.d.ts +1 -0
  190. package/lib/index.d.ts.map +1 -1
  191. package/lib/index.js +1 -1
  192. package/lib/index.js.map +1 -1
  193. package/lib/machines/selectors.d.ts +118 -0
  194. package/lib/machines/selectors.d.ts.map +1 -0
  195. package/lib/machines/settingsMachine.d.ts +25 -2
  196. package/lib/machines/settingsMachine.d.ts.map +1 -1
  197. package/lib/machines/settingsMachine.js +139 -168
  198. package/lib/machines/settingsMachine.js.map +1 -1
  199. package/lib/machines/settingsMachine.test.d.ts +2 -0
  200. package/lib/machines/settingsMachine.test.d.ts.map +1 -0
  201. package/lib/machines/types.d.ts +107 -9
  202. package/lib/machines/types.d.ts.map +1 -1
  203. package/lib/machines/types.js.map +1 -1
  204. package/lib/module.js.map +1 -1
  205. package/lib/redux/searchReducer.js.map +1 -1
  206. package/lib/routes.json +9 -1
  207. package/lib/tailwindConfig.js.map +1 -1
  208. package/lib/utils/__tests__/configOverrides.test.d.ts +2 -0
  209. package/lib/utils/__tests__/configOverrides.test.d.ts.map +1 -0
  210. package/lib/utils/configOverrides.d.ts +213 -0
  211. package/lib/utils/configOverrides.d.ts.map +1 -0
  212. package/lib/utils/configOverrides.js +91 -0
  213. package/lib/utils/configOverrides.js.map +1 -0
  214. package/lib/utils/isBrowser/index.js.map +1 -1
  215. package/lib/utils/settingsUtils.d.ts +20 -0
  216. package/lib/utils/settingsUtils.d.ts.map +1 -0
  217. package/lib/utils/settingsUtils.js +74 -0
  218. package/lib/utils/settingsUtils.js.map +1 -0
  219. package/lib/utils/utils/index.js.map +1 -1
  220. package/package.json +6 -6
  221. package/lib/components/Layout/GlobalHeader/Logo.d.ts +0 -4
  222. package/lib/components/Layout/GlobalHeader/Logo.d.ts.map +0 -1
  223. package/lib/components/Layout/GlobalHeader/Logo.js +0 -141
  224. package/lib/components/Layout/GlobalHeader/Logo.js.map +0 -1
  225. package/lib/components/Layout/Sidebar/Sidebar.d.ts +0 -5
  226. package/lib/components/Layout/Sidebar/Sidebar.d.ts.map +0 -1
  227. package/lib/components/Layout/Sidebar/Sidebar.js +0 -180
  228. package/lib/components/Layout/Sidebar/Sidebar.js.map +0 -1
  229. package/lib/components/Layout/Sidebar/SidebarMenu.d.ts +0 -4
  230. package/lib/components/Layout/Sidebar/SidebarMenu.d.ts.map +0 -1
  231. package/lib/components/Layout/Sidebar/SidebarMenu.js +0 -176
  232. package/lib/components/Layout/Sidebar/SidebarMenu.js.map +0 -1
  233. package/lib/components/SettingDrawer/CheckBoxTheme.d.ts +0 -3
  234. package/lib/components/SettingDrawer/CheckBoxTheme.d.ts.map +0 -1
  235. package/lib/components/SettingDrawer/CheckBoxTheme.js.map +0 -1
  236. package/lib/components/SettingDrawer/InvitationSettings.d.ts +0 -3
  237. package/lib/components/SettingDrawer/InvitationSettings.d.ts.map +0 -1
  238. package/lib/components/SettingDrawer/InvitationSettings.js.map +0 -1
  239. package/lib/components/SettingDrawer/LayoutChange.d.ts +0 -3
  240. package/lib/components/SettingDrawer/LayoutChange.d.ts.map +0 -1
  241. package/lib/components/SettingDrawer/LayoutChange.js.map +0 -1
  242. package/lib/components/SettingDrawer/NavigationsModes.d.ts +0 -3
  243. package/lib/components/SettingDrawer/NavigationsModes.d.ts.map +0 -1
  244. package/lib/components/SettingDrawer/NavigationsModes.js.map +0 -1
  245. package/lib/components/SettingDrawer/RegionalSettings.d.ts +0 -3
  246. package/lib/components/SettingDrawer/RegionalSettings.d.ts.map +0 -1
  247. package/lib/components/SettingDrawer/RegionalSettings.js.map +0 -1
  248. package/lib/components/SettingDrawer/Switch/index.d.ts.map +0 -1
  249. package/lib/components/SettingDrawer/Switch/index.js.map +0 -1
  250. package/lib/components/SettingDrawer/ThemeColor.d.ts +0 -3
  251. package/lib/components/SettingDrawer/ThemeColor.d.ts.map +0 -1
  252. package/lib/components/SettingDrawer/ThemeColor.js.map +0 -1
  253. package/lib/components/SettingDrawer/ThemeSelector.d.ts.map +0 -1
  254. package/lib/components/SettingDrawer/ThemeSelector.js.map +0 -1
  255. package/lib/components/SettingDrawer/WebFontsSelector.d.ts +0 -3
  256. package/lib/components/SettingDrawer/WebFontsSelector.d.ts.map +0 -1
  257. package/lib/components/SettingDrawer/WebFontsSelector.js.map +0 -1
  258. package/lib/components/SettingDrawer/types.d.ts.map +0 -1
  259. /package/lib/components/SettingDrawer/{ThemeSelector.js → components/ThemeSelector.js} +0 -0
  260. /package/lib/components/SettingDrawer/{WebFontsSelector.js → components/WebFontsSelector.js} +0 -0
@@ -0,0 +1,467 @@
1
+ import {jsx,jsxs}from'react/jsx-runtime';import {generateMenuPath}from'@admin-layout/client';import {useLocation,useNavigate}from'@remix-run/react';import React__default,{useState,useEffect,useCallback}from'react';import {icons}from'../../../icons.js';// Constants moved outside component
2
+ const SIDEBAR_WIDTHS = {
3
+ COLLAPSED: 64,
4
+ EXPANDED: 256
5
+ };
6
+ const POPUP_CONFIG = {
7
+ MIN_WIDTH: 220};
8
+ // Pure function moved outside component
9
+ const getFirstLetter = name => name.charAt(0).toUpperCase();
10
+ // Utility for determining active menu item
11
+ const isMenuItemActive = (itemPath, currentPath, routeParams) => {
12
+ const menuPath = generateMenuPath(itemPath, routeParams);
13
+ // Exact match
14
+ if (currentPath === menuPath) {
15
+ return true;
16
+ }
17
+ // Check if current path is a child of the menu item path
18
+ if (menuPath && currentPath.startsWith(menuPath + '/')) {
19
+ return true;
20
+ }
21
+ return false;
22
+ };
23
+ // CSS keyframes definition moved outside component
24
+ const POPUP_ANIMATION_CSS = `
25
+ @keyframes fadeIn {
26
+ from { opacity: 0; transform: translateX(-10px); }
27
+ to { opacity: 1; transform: translateX(0); }
28
+ }
29
+ `;
30
+ const getTextColor = (active, navTheme) => {
31
+ if (active) return 'text-primary';
32
+ if (navTheme === 'realDark') return 'text-white';
33
+ return 'text-foreground';
34
+ };
35
+ const getIconColor = (active, navTheme) => {
36
+ if (active) return 'text-primary';
37
+ if (navTheme === 'realDark') return 'text-white';
38
+ return 'text-muted-foreground';
39
+ };
40
+ // Custom comparison function for React.memo
41
+ const areMenuItemPropsEqual = (prevProps, nextProps) => {
42
+ // 1. Item identity
43
+ if (prevProps.item !== nextProps.item) return false;
44
+ // 2. Simple props
45
+ if (prevProps.depth !== nextProps.depth || prevProps.isHoverMenu !== nextProps.isHoverMenu || prevProps.collapsed !== nextProps.collapsed || prevProps.navTheme !== nextProps.navTheme || prevProps.onNavigate !== nextProps.onNavigate) return false;
46
+ // 3. Route Params (Shallow compare)
47
+ const prevKeys = Object.keys(prevProps.routeParams);
48
+ const nextKeys = Object.keys(nextProps.routeParams);
49
+ if (prevKeys.length !== nextKeys.length) return false;
50
+ for (const key of prevKeys) {
51
+ if (prevProps.routeParams[key] !== nextProps.routeParams[key]) return false;
52
+ }
53
+ // 4. Active State
54
+ const prevIsActive = isMenuItemActive(prevProps.item.path, prevProps.locationPathname, prevProps.routeParams);
55
+ const nextIsActive = isMenuItemActive(nextProps.item.path, nextProps.locationPathname, nextProps.routeParams);
56
+ if (prevIsActive !== nextIsActive) return false;
57
+ // 5. Hover State
58
+ const prevIsHovered = prevProps.hoveredMenu === prevProps.item.path;
59
+ const nextIsHovered = nextProps.hoveredMenu === nextProps.item.path;
60
+ if (prevIsHovered !== nextIsHovered) return false;
61
+ // 6. Popup Position
62
+ if (prevProps.popupPosition.top !== nextProps.popupPosition.top || prevProps.popupPosition.height !== nextProps.popupPosition.height) return false;
63
+ // 7. Open State & OpenMenus propagation
64
+ const prevIsOpen = prevProps.openMenus.includes(prevProps.item.path);
65
+ const nextIsOpen = nextProps.openMenus.includes(nextProps.item.path);
66
+ if (prevIsOpen !== nextIsOpen) return false;
67
+ const hasChildren = prevProps.item.children && prevProps.item.children.length > 0;
68
+ if (hasChildren) {
69
+ // If we have children, we might need to re-render to pass down updated openMenus
70
+ // Case A: We are expanded (not collapsed) and Open. Children are visible.
71
+ if (!prevProps.collapsed && prevIsOpen) {
72
+ // If openMenus changed, we must re-render to update children.
73
+ if (prevProps.openMenus !== nextProps.openMenus) return false;
74
+ }
75
+ // Case B: We are collapsed and Hovered. Popup is visible.
76
+ if (prevProps.collapsed && prevIsHovered) {
77
+ if (prevProps.openMenus !== nextProps.openMenus) return false;
78
+ }
79
+ }
80
+ return true;
81
+ };
82
+ const MenuItem = React__default.memo(({
83
+ item,
84
+ depth,
85
+ isHoverMenu,
86
+ openMenus,
87
+ hoveredMenu,
88
+ collapsed,
89
+ navTheme,
90
+ locationPathname,
91
+ routeParams,
92
+ popupPosition,
93
+ onToggleMenu,
94
+ onMenuHover,
95
+ onMenuLeave,
96
+ onNavigate,
97
+ ChevronUpIcon,
98
+ ChevronDownIcon
99
+ }) => {
100
+ // Only log when actually rendering (not on every navigation)
101
+ const hasChildren = item.children && item.children.length > 0;
102
+ const isOpen = openMenus.includes(item.path);
103
+ const isActive = isMenuItemActive(item.path, locationPathname, routeParams);
104
+ const isHovered = hoveredMenu === item.path;
105
+ const menuItemPaddingLeft = `${depth * 1}rem`;
106
+ const subMenuItemPaddingLeft = `${depth * 2}rem`;
107
+ // Determine styling based on whether it's a parent or child item
108
+ const isParentWithChildren = hasChildren && depth === 0;
109
+ const shouldApplyBackground = isActive && !isParentWithChildren || isHovered;
110
+ const handleMenuClick = useCallback(e => {
111
+ // Prevent event from bubbling to parent menu items
112
+ e.stopPropagation();
113
+ if (collapsed && hasChildren && !isHoverMenu) {
114
+ // Let the hover menu handle this case - don't do anything here
115
+ // as this will be handled by the popup menu
116
+ return;
117
+ }
118
+ if (hasChildren) {
119
+ // Handle menu toggle for items with children
120
+ e.preventDefault();
121
+ onToggleMenu(item.path, depth, e);
122
+ } else {
123
+ // For items without children, navigate to their path
124
+ const targetPath = generateMenuPath(item.path, routeParams);
125
+ onNavigate(targetPath);
126
+ }
127
+ }, [hasChildren, item.path, depth, onToggleMenu, routeParams, collapsed, isHoverMenu]);
128
+ // Enhanced renderPopupMenu to handle nested items in collapsed mode
129
+ const renderPopupMenu = useCallback(() => {
130
+ if (!item.children || item.children.length === 0) return null;
131
+ // Create a helper function to directly toggle menu items in collapsed state
132
+ const toggleCollapsedMenu = (menuPath, menuItem) => {
133
+ // Direct implementation without relying on parent's onToggleMenu
134
+ openMenus.includes(menuPath);
135
+ // Access parent component's state setter directly from MainSidebarMenu
136
+ onToggleMenu(menuPath, 0, {
137
+ preventDefault: () => {},
138
+ stopPropagation: () => {}
139
+ });
140
+ };
141
+ // Create a recursive function to render menu items and their children
142
+ const renderNestedItems = (items, currentDepth) => {
143
+ return items.map(childItem => {
144
+ const isChildOpen = openMenus.includes(childItem.path);
145
+ const isChildActive = isMenuItemActive(childItem.path, locationPathname, routeParams);
146
+ const hasGrandchildren = childItem.children && childItem.children.length > 0;
147
+ return jsxs("div", {
148
+ className: "popup-menu-item",
149
+ children: [jsxs("div", {
150
+ className: `flex items-center justify-between w-full px-4 py-2.5 hover:bg-accent/20 text-sm cursor-pointer rounded-sm ${isChildActive ? 'bg-accent/10 text-primary font-medium' : 'text-foreground'} ${hasGrandchildren ? 'font-medium' : ''}`,
151
+ onClick: e => {
152
+ e.stopPropagation();
153
+ if (hasGrandchildren) {
154
+ // Handle menu toggle in collapsed mode using our helper
155
+ e.preventDefault();
156
+ toggleCollapsedMenu(childItem.path);
157
+ } else {
158
+ // For leaf nodes, navigate to the path
159
+ const targetPath = generateMenuPath(childItem.path, routeParams);
160
+ onNavigate(targetPath);
161
+ }
162
+ },
163
+ children: [jsx("span", {
164
+ className: "text-sm font-medium",
165
+ children: childItem.name
166
+ }), hasGrandchildren && jsx("span", {
167
+ className: "text-muted-foreground ml-2",
168
+ children: isChildOpen ? jsx(ChevronUpIcon, {
169
+ className: "h-4 w-4"
170
+ }) : jsx(ChevronDownIcon, {
171
+ className: "h-4 w-4"
172
+ })
173
+ })]
174
+ }), hasGrandchildren && jsx("div", {
175
+ className: `pl-3 border-l border-border/60 ml-3 mt-1 mb-1 ${isChildOpen ? 'block' : 'hidden'} transition-all duration-200 ease-in-out`,
176
+ style: {
177
+ maxHeight: isChildOpen ? '500px' : '0px',
178
+ opacity: isChildOpen ? 1 : 0,
179
+ overflow: 'hidden'
180
+ },
181
+ children: renderNestedItems(childItem.children)
182
+ })]
183
+ }, childItem.path);
184
+ });
185
+ };
186
+ return jsxs("div", {
187
+ className: "fixed shadow-themed-xl rounded-themed-lg border border-border z-[999] themed-dropdown bg-card",
188
+ onClick: e => e.stopPropagation(),
189
+ style: {
190
+ left: `${SIDEBAR_WIDTHS[collapsed ? 'COLLAPSED' : 'EXPANDED']}px`,
191
+ top: `${Math.max(popupPosition.top - 20, 10)}px`,
192
+ // Adjust top position to be higher
193
+ animation: 'fadeIn 0.2s ease-out forwards',
194
+ maxWidth: 'calc(100vw - 120px)',
195
+ width: 'max-content',
196
+ minWidth: POPUP_CONFIG.MIN_WIDTH,
197
+ maxHeight: 'calc(90vh - 20px)',
198
+ // Allow for more height
199
+ overflowY: 'auto',
200
+ // Allow scrolling for tall menus
201
+ display: 'flex',
202
+ flexDirection: 'column'
203
+ },
204
+ children: [jsx("style", {
205
+ dangerouslySetInnerHTML: {
206
+ __html: POPUP_ANIMATION_CSS
207
+ }
208
+ }), jsx("div", {
209
+ className: "font-medium text-sm px-4 py-3 border-b border-border whitespace-nowrap bg-muted",
210
+ children: jsx("span", {
211
+ className: "text-primary",
212
+ children: item.name
213
+ })
214
+ }), jsx("div", {
215
+ className: "flex-grow overflow-auto py-2",
216
+ children: renderNestedItems(item.children)
217
+ })]
218
+ });
219
+ }, [item, depth, collapsed, popupPosition.top, openMenus, navTheme, locationPathname, routeParams, onToggleMenu, onNavigate, ChevronUpIcon, ChevronDownIcon]);
220
+ return jsxs("div", {
221
+ className: `w-full relative group ${isHovered && collapsed && !isHoverMenu ? 'rounded-themed' : ''} ${isHovered && !isHoverMenu ? 'bg-muted' : ''}`,
222
+ onMouseEnter: e => onMenuHover(e, item, isHoverMenu),
223
+ onMouseLeave: () => onMenuLeave(item, isHoverMenu),
224
+ children: [jsxs("div", {
225
+ className: `flex items-center justify-between w-full px-1 py-2 hover:bg-muted text-sm cursor-pointer transition-colors rounded-themed mx-1 my-0.5 whitespace-nowrap overflow-hidden text-ellipsis ${shouldApplyBackground ? 'bg-muted' : ''}`,
226
+ style: {
227
+ paddingLeft: `calc(1rem + ${depth > 0 ? subMenuItemPaddingLeft : menuItemPaddingLeft})`
228
+ },
229
+ onClick: handleMenuClick,
230
+ children: [jsxs("div", {
231
+ className: `flex items-center ${collapsed && !isHoverMenu ? 'justify-center w-full' : 'gap-3'}`,
232
+ children: [item.icon ? jsx("span", {
233
+ className: `flex-shrink-0 ${getIconColor(isActive, navTheme)}`,
234
+ children: item.icon
235
+ }) : collapsed && !isHoverMenu ? jsx("span", {
236
+ className: `flex items-center justify-center flex-shrink-0 ${getIconColor(isActive, navTheme)}`,
237
+ children: getFirstLetter(item.name)
238
+ }) : null, (!collapsed || isHoverMenu) && jsx("span", {
239
+ className: `font-medium whitespace-nowrap overflow-hidden text-ellipsis ${getTextColor(isActive, navTheme)} ${depth > 0 ? `text-xs` : ''}`,
240
+ children: item.name
241
+ })]
242
+ }), hasChildren && (!collapsed || isHoverMenu) && jsx("span", {
243
+ className: `flex-shrink-0 ml-1 ${getIconColor(isActive, navTheme)}`,
244
+ children: isOpen ? jsx(ChevronUpIcon, {
245
+ className: "h-4 w-4"
246
+ }) : jsx(ChevronDownIcon, {
247
+ className: "h-4 w-4"
248
+ })
249
+ })]
250
+ }), collapsed && hasChildren && isHovered && !isHoverMenu && item.children.length > 0 && renderPopupMenu(), hasChildren && isOpen && !collapsed && jsx("div", {
251
+ className: "transition-all duration-200 ease-in-out",
252
+ children: item.children.map(child => jsx(MenuItem, {
253
+ item: child,
254
+ depth: depth + 1,
255
+ isHoverMenu: false,
256
+ openMenus: openMenus,
257
+ hoveredMenu: hoveredMenu,
258
+ collapsed: collapsed,
259
+ navTheme: navTheme,
260
+ locationPathname: locationPathname,
261
+ routeParams: routeParams,
262
+ popupPosition: popupPosition,
263
+ onToggleMenu: onToggleMenu,
264
+ onMenuHover: onMenuHover,
265
+ onMenuLeave: onMenuLeave,
266
+ onNavigate: onNavigate,
267
+ ChevronUpIcon: ChevronUpIcon,
268
+ ChevronDownIcon: ChevronDownIcon
269
+ }, child.path))
270
+ })]
271
+ });
272
+ }, areMenuItemPropsEqual);
273
+ MenuItem.displayName = 'MenuItem';
274
+ // Helper func
275
+ const findParentPaths = (menuData, currentPath, routeParams, result = [], parentStack = []) => {
276
+ for (const item of menuData) {
277
+ // Check if this item is active
278
+ const isActive = isMenuItemActive(item.path, currentPath, routeParams);
279
+ const currentParentStack = [...parentStack, item.path];
280
+ if (isActive) {
281
+ // If this item is active, add all its ancestors to the result
282
+ result.push(...currentParentStack);
283
+ }
284
+ // Check if any of its children are active
285
+ if (item.children && item.children.length > 0) {
286
+ findParentPaths(item.children, currentPath, routeParams, result, currentParentStack);
287
+ }
288
+ }
289
+ return result;
290
+ };
291
+ function MainSidebarMenuComponent({
292
+ menuData,
293
+ routeParams,
294
+ settings,
295
+ collapsed
296
+ }) {
297
+ const location = useLocation();
298
+ const navigate = useNavigate();
299
+ const [hoveredMenu, setHoveredMenu] = useState(null);
300
+ const [popupPosition, setPopupPosition] = useState({
301
+ top: 0,
302
+ height: 0
303
+ });
304
+ const {
305
+ ChevronDownIcon,
306
+ ChevronUpIcon
307
+ } = icons;
308
+ const navTheme = settings?.navTheme;
309
+ // Initialize openMenus based on the current path
310
+ const [openMenus, setOpenMenus] = useState(() => {
311
+ return findParentPaths(menuData, location.pathname, routeParams);
312
+ });
313
+ // Update openMenus when location changes
314
+ useEffect(() => {
315
+ // Find parent paths for current location
316
+ const parentPaths = findParentPaths(menuData, location.pathname, routeParams);
317
+ // Update openMenus to ensure all parent paths are open
318
+ setOpenMenus(prev => {
319
+ // Create a new Set of currently open menus
320
+ const openMenusSet = new Set(prev);
321
+ // Add all parent paths to the Set
322
+ parentPaths.forEach(path => openMenusSet.add(path));
323
+ // Convert back to array
324
+ return Array.from(openMenusSet);
325
+ });
326
+ }, [location.pathname, menuData, routeParams]);
327
+ // Helper function to find an item by path
328
+ const findMenuItem = useCallback((items, targetPath) => {
329
+ for (const item of items) {
330
+ if (item.path === targetPath) {
331
+ return item;
332
+ }
333
+ if (item.children && item.children.length > 0) {
334
+ const found = findMenuItem(item.children, targetPath);
335
+ if (found) return found;
336
+ }
337
+ }
338
+ return null;
339
+ }, []);
340
+ // Helper to find all parent paths for a menu item
341
+ const getParentMenuPaths = useCallback((items, targetPath, path = []) => {
342
+ for (const item of items) {
343
+ const currentPath = [...path, item.path];
344
+ if (item.path === targetPath) {
345
+ return path; // Return all parent paths excluding the target
346
+ }
347
+ if (item.children && item.children.length > 0) {
348
+ const parentPaths = getParentMenuPaths(item.children, targetPath, currentPath);
349
+ if (parentPaths.length > 0) {
350
+ return parentPaths;
351
+ }
352
+ }
353
+ }
354
+ return [];
355
+ }, []);
356
+ // Helper to find all child paths for a menu item
357
+ const getAllChildPaths = useCallback(item => {
358
+ const result = [];
359
+ if (!item.children) return result;
360
+ for (const child of item.children) {
361
+ result.push(child.path);
362
+ result.push(...getAllChildPaths(child));
363
+ }
364
+ return result;
365
+ }, []);
366
+ // Completely redesigned toggle function with explicit support for collapsed mode
367
+ const toggleMenu = useCallback((path, depth, e) => {
368
+ if (e && e.preventDefault) e.preventDefault();
369
+ // Allow collapsed mode to work with toggleMenu as well
370
+ // if (collapsed && !e.isTrusted) return;
371
+ const clickedItem = findMenuItem(menuData, path);
372
+ if (!clickedItem) return;
373
+ // No debug logs in production
374
+ setOpenMenus(prev => {
375
+ const newOpenMenus = new Set(prev);
376
+ const isCurrentlyOpen = prev.includes(path);
377
+ if (isCurrentlyOpen) {
378
+ // If closing a menu, close it and all its children
379
+ newOpenMenus.delete(path);
380
+ // Also close all child menus - use our helper function
381
+ const getAllChildrenOfPath = item => {
382
+ const result = [];
383
+ if (!item.children) return result;
384
+ for (const child of item.children) {
385
+ result.push(child.path);
386
+ result.push(...getAllChildrenOfPath(child));
387
+ }
388
+ return result;
389
+ };
390
+ // Close all children using our direct helper
391
+ if (clickedItem.children) {
392
+ const childPaths = getAllChildrenOfPath(clickedItem);
393
+ childPaths.forEach(childPath => newOpenMenus.delete(childPath));
394
+ }
395
+ } else {
396
+ // If opening a menu, open it and all its parent paths
397
+ newOpenMenus.add(path);
398
+ // When opening a menu, also ensure all parent paths are open
399
+ const getParentOfPath = (items, targetPath, path = []) => {
400
+ for (const item of items) {
401
+ if (item.path === targetPath) {
402
+ return path;
403
+ }
404
+ if (item.children && item.children.length > 0) {
405
+ const result = getParentOfPath(item.children, targetPath, [...path, item.path]);
406
+ if (result.length > 0) {
407
+ return result;
408
+ }
409
+ }
410
+ }
411
+ return [];
412
+ };
413
+ // Open all parent paths
414
+ const parentPaths = getParentOfPath(menuData, path);
415
+ parentPaths.forEach(parentPath => newOpenMenus.add(parentPath));
416
+ }
417
+ return Array.from(newOpenMenus);
418
+ });
419
+ }, [menuData, findMenuItem]);
420
+ // Event handlers for hover effects
421
+ const handleMenuHover = useCallback((e, item, isHoverMenu) => {
422
+ // Only set hover state if the menu has children
423
+ if (collapsed && !isHoverMenu && item.children && item.children.length > 0) {
424
+ const element = e.currentTarget;
425
+ const rect = element.getBoundingClientRect();
426
+ setPopupPosition({
427
+ top: rect.top,
428
+ height: rect.height
429
+ });
430
+ setHoveredMenu(item.path);
431
+ }
432
+ }, [collapsed]);
433
+ const handleMenuLeave = useCallback((item, isHoverMenu) => {
434
+ if (collapsed && !isHoverMenu) {
435
+ setHoveredMenu(null);
436
+ }
437
+ }, [collapsed]);
438
+ const handleNavigate = useCallback(path => {
439
+ navigate(path);
440
+ }, [navigate]);
441
+ return jsx("div", {
442
+ className: "overflow-hidden",
443
+ children: jsx("nav", {
444
+ className: `mt-2 ${collapsed ? 'px-1' : 'px-2'} overflow-x-hidden`,
445
+ children: menuData.map(item => jsx(MenuItem, {
446
+ item: item,
447
+ depth: 0,
448
+ isHoverMenu: false,
449
+ openMenus: openMenus,
450
+ hoveredMenu: hoveredMenu,
451
+ collapsed: collapsed,
452
+ navTheme: navTheme,
453
+ locationPathname: location.pathname,
454
+ routeParams: routeParams,
455
+ popupPosition: popupPosition,
456
+ onToggleMenu: toggleMenu,
457
+ onMenuHover: handleMenuHover,
458
+ onMenuLeave: handleMenuLeave,
459
+ onNavigate: handleNavigate,
460
+ ChevronUpIcon: ChevronUpIcon,
461
+ ChevronDownIcon: ChevronDownIcon
462
+ }, item.path))
463
+ })
464
+ });
465
+ }
466
+ // Export the memoized version to prevent unnecessary re-renders
467
+ const MainSidebarMenu = React__default.memo(MainSidebarMenuComponent);export{MainSidebarMenu};//# sourceMappingURL=MainSidebarMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MainSidebarMenu.js","sources":["../../../../src/components/Layout/Sidebar/MainSidebarMenu.tsx"],"sourcesContent":[null],"names":["React","_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SidebarProps } from '../../typings';
3
+ export declare const PerplexSidebar: React.FC<SidebarProps>;
4
+ //# sourceMappingURL=PerplexSidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerplexSidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar/PerplexSidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAO7C,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAwTjD,CAAC"}