@admin-layout/tailwind-design-pro 12.2.4-alpha.0 → 12.2.4-alpha.100

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 (160) hide show
  1. package/README.md +80 -0
  2. package/lib/components/LanguageMenu/LanguageMenu.d.ts.map +1 -1
  3. package/lib/components/LanguageMenu/LanguageMenu.js +6 -2
  4. package/lib/components/LanguageMenu/LanguageMenu.js.map +1 -1
  5. package/lib/components/Layout/BasicLayout/index.d.ts +20 -1
  6. package/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
  7. package/lib/components/Layout/BasicLayout/index.js +64 -15
  8. package/lib/components/Layout/BasicLayout/index.js.map +1 -1
  9. package/lib/components/Layout/BasicLayout/utils.js +1 -1
  10. package/lib/components/Layout/BasicLayout/utils.js.map +1 -1
  11. package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.js +1 -1
  12. package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.js.map +1 -1
  13. package/lib/components/Layout/GlobalHeader/Header.d.ts.map +1 -1
  14. package/lib/components/Layout/GlobalHeader/Header.js +12 -4
  15. package/lib/components/Layout/GlobalHeader/Header.js.map +1 -1
  16. package/lib/components/Layout/GlobalHeader/MainHeader.d.ts.map +1 -1
  17. package/lib/components/Layout/GlobalHeader/MainHeader.js +2 -1
  18. package/lib/components/Layout/GlobalHeader/MainHeader.js.map +1 -1
  19. package/lib/components/Layout/GlobalHeader/NavbarSlotStrip.d.ts +12 -0
  20. package/lib/components/Layout/GlobalHeader/NavbarSlotStrip.d.ts.map +1 -0
  21. package/lib/components/Layout/GlobalHeader/NavbarSlotStrip.js +36 -0
  22. package/lib/components/Layout/GlobalHeader/NavbarSlotStrip.js.map +1 -0
  23. package/lib/components/Layout/GlobalHeader/RightContent.d.ts +1 -2
  24. package/lib/components/Layout/GlobalHeader/RightContent.d.ts.map +1 -1
  25. package/lib/components/Layout/GlobalHeader/RightContent.js +10 -72
  26. package/lib/components/Layout/GlobalHeader/RightContent.js.map +1 -1
  27. package/lib/components/Layout/GlobalHeader/RightMenu.d.ts.map +1 -1
  28. package/lib/components/Layout/GlobalHeader/RightMenu.js +16 -80
  29. package/lib/components/Layout/GlobalHeader/RightMenu.js.map +1 -1
  30. package/lib/components/Layout/GlobalHeader/SearchBar.d.ts +43 -0
  31. package/lib/components/Layout/GlobalHeader/SearchBar.d.ts.map +1 -1
  32. package/lib/components/Layout/GlobalHeader/SearchBar.js +380 -43
  33. package/lib/components/Layout/GlobalHeader/SearchBar.js.map +1 -1
  34. package/lib/components/Layout/GlobalHeader/index.d.ts +1 -0
  35. package/lib/components/Layout/GlobalHeader/index.d.ts.map +1 -1
  36. package/lib/components/Layout/ProTailwindLayout.d.ts +19 -8
  37. package/lib/components/Layout/ProTailwindLayout.d.ts.map +1 -1
  38. package/lib/components/Layout/ProTailwindLayout.js +255 -88
  39. package/lib/components/Layout/ProTailwindLayout.js.map +1 -1
  40. package/lib/components/Layout/Sidebar/BottomMenu.d.ts.map +1 -1
  41. package/lib/components/Layout/Sidebar/BottomMenu.js +55 -82
  42. package/lib/components/Layout/Sidebar/BottomMenu.js.map +1 -1
  43. package/lib/components/Layout/Sidebar/DynamicIcon.d.ts.map +1 -1
  44. package/lib/components/Layout/Sidebar/DynamicIcon.js +80 -19
  45. package/lib/components/Layout/Sidebar/DynamicIcon.js.map +1 -1
  46. package/lib/components/Layout/Sidebar/MainSidebar.d.ts.map +1 -1
  47. package/lib/components/Layout/Sidebar/MainSidebar.js +29 -24
  48. package/lib/components/Layout/Sidebar/MainSidebar.js.map +1 -1
  49. package/lib/components/Layout/Sidebar/MainSidebarMenu.d.ts.map +1 -1
  50. package/lib/components/Layout/Sidebar/MainSidebarMenu.js +213 -36
  51. package/lib/components/Layout/Sidebar/MainSidebarMenu.js.map +1 -1
  52. package/lib/components/Layout/Sidebar/MenuDynamicDialog.d.ts +12 -0
  53. package/lib/components/Layout/Sidebar/MenuDynamicDialog.d.ts.map +1 -0
  54. package/lib/components/Layout/Sidebar/MenuDynamicDialog.js +79 -0
  55. package/lib/components/Layout/Sidebar/MenuDynamicDialog.js.map +1 -0
  56. package/lib/components/Layout/Sidebar/PerplexSidebar.d.ts.map +1 -1
  57. package/lib/components/Layout/Sidebar/PerplexSidebar.js +42 -33
  58. package/lib/components/Layout/Sidebar/PerplexSidebar.js.map +1 -1
  59. package/lib/components/Layout/Sidebar/PerplexSidebarFlyoutContext.d.ts +25 -0
  60. package/lib/components/Layout/Sidebar/PerplexSidebarFlyoutContext.d.ts.map +1 -0
  61. package/lib/components/Layout/Sidebar/PerplexSidebarFlyoutContext.js +287 -0
  62. package/lib/components/Layout/Sidebar/PerplexSidebarFlyoutContext.js.map +1 -0
  63. package/lib/components/Layout/Sidebar/PerplexSidebarMenu.d.ts.map +1 -1
  64. package/lib/components/Layout/Sidebar/PerplexSidebarMenu.js +321 -43
  65. package/lib/components/Layout/Sidebar/PerplexSidebarMenu.js.map +1 -1
  66. package/lib/components/Layout/Sidebar/SidebarRailFX.d.ts +23 -0
  67. package/lib/components/Layout/Sidebar/SidebarRailFX.d.ts.map +1 -0
  68. package/lib/components/Layout/Sidebar/SidebarRailFX.js +229 -0
  69. package/lib/components/Layout/Sidebar/SidebarRailFX.js.map +1 -0
  70. package/lib/components/Layout/SidebarControlsContext.d.ts +17 -0
  71. package/lib/components/Layout/SidebarControlsContext.d.ts.map +1 -0
  72. package/lib/components/Layout/SidebarControlsContext.js +21 -0
  73. package/lib/components/Layout/SidebarControlsContext.js.map +1 -0
  74. package/lib/components/Layout/TailwindLayout.d.ts +1 -1
  75. package/lib/components/Layout/TailwindLayout.d.ts.map +1 -1
  76. package/lib/components/Layout/TailwindLayout.js +22 -3
  77. package/lib/components/Layout/TailwindLayout.js.map +1 -1
  78. package/lib/components/Layout/defaultPermissions.d.ts +134 -0
  79. package/lib/components/Layout/defaultPermissions.d.ts.map +1 -0
  80. package/lib/components/Layout/defaultPermissions.js +134 -0
  81. package/lib/components/Layout/defaultPermissions.js.map +1 -0
  82. package/lib/components/Layout/getPageTitle.js +2 -2
  83. package/lib/components/Layout/getPageTitle.js.map +1 -1
  84. package/lib/components/Layout/slot-fill/RightContent.d.ts +3 -1
  85. package/lib/components/Layout/slot-fill/RightContent.d.ts.map +1 -1
  86. package/lib/components/Layout/slot-fill/RightContent.js +4 -6
  87. package/lib/components/Layout/slot-fill/RightContent.js.map +1 -1
  88. package/lib/components/SettingDrawer/SettingDrawer.d.ts.map +1 -1
  89. package/lib/components/SettingDrawer/SettingDrawer.js +22 -19
  90. package/lib/components/SettingDrawer/SettingDrawer.js.map +1 -1
  91. package/lib/components/SettingDrawer/components/ApplyToAllRoutesToggle.d.ts.map +1 -1
  92. package/lib/components/SettingDrawer/components/ApplyToAllRoutesToggle.js +8 -14
  93. package/lib/components/SettingDrawer/components/ApplyToAllRoutesToggle.js.map +1 -1
  94. package/lib/components/SettingDrawer/components/CheckBoxTheme.js +2 -2
  95. package/lib/components/SettingDrawer/components/CheckBoxTheme.js.map +1 -1
  96. package/lib/components/SettingDrawer/components/DeviceTabs.js +2 -2
  97. package/lib/components/SettingDrawer/components/DeviceTabs.js.map +1 -1
  98. package/lib/components/SettingDrawer/components/InvitationSettings.d.ts.map +1 -1
  99. package/lib/components/SettingDrawer/components/InvitationSettings.js +7 -3
  100. package/lib/components/SettingDrawer/components/InvitationSettings.js.map +1 -1
  101. package/lib/components/SettingDrawer/components/LayoutChange.d.ts.map +1 -1
  102. package/lib/components/SettingDrawer/components/LayoutChange.js +8 -11
  103. package/lib/components/SettingDrawer/components/LayoutChange.js.map +1 -1
  104. package/lib/components/SettingDrawer/components/MenuVisibilitySettings.js +5 -5
  105. package/lib/components/SettingDrawer/components/MenuVisibilitySettings.js.map +1 -1
  106. package/lib/components/SettingDrawer/components/NavigationsModes.js +3 -3
  107. package/lib/components/SettingDrawer/components/NavigationsModes.js.map +1 -1
  108. package/lib/components/SettingDrawer/components/RegionalSettings.d.ts.map +1 -1
  109. package/lib/components/SettingDrawer/components/RegionalSettings.js +40 -97
  110. package/lib/components/SettingDrawer/components/RegionalSettings.js.map +1 -1
  111. package/lib/components/SettingDrawer/components/SettingsActions.d.ts.map +1 -1
  112. package/lib/components/SettingDrawer/components/SettingsActions.js +27 -25
  113. package/lib/components/SettingDrawer/components/SettingsActions.js.map +1 -1
  114. package/lib/components/SettingDrawer/components/SettingsDrawerHeader.d.ts.map +1 -1
  115. package/lib/components/SettingDrawer/components/SettingsDrawerHeader.js +4 -3
  116. package/lib/components/SettingDrawer/components/SettingsDrawerHeader.js.map +1 -1
  117. package/lib/components/SettingDrawer/components/Switch.js +2 -2
  118. package/lib/components/SettingDrawer/components/ThemeColor.js +1 -1
  119. package/lib/components/SettingDrawer/components/ThemeColor.js.map +1 -1
  120. package/lib/components/SettingDrawer/components/ThemeSelector.js +1 -1
  121. package/lib/components/SettingDrawer/components/WebFontsSelector.js +1 -1
  122. package/lib/components/SettingDrawer/hooks/useSettingsOperations.d.ts.map +1 -1
  123. package/lib/components/SettingDrawer/hooks/useSettingsOperations.js +13 -9
  124. package/lib/components/SettingDrawer/hooks/useSettingsOperations.js.map +1 -1
  125. package/lib/components/SettingDrawer/utils/constants.d.ts.map +1 -1
  126. package/lib/components/SettingDrawer/utils/constants.js +3 -0
  127. package/lib/components/SettingDrawer/utils/constants.js.map +1 -1
  128. package/lib/components/SettingDrawer/utils/helper.js +1 -1
  129. package/lib/components/SettingDrawer/utils/transformers.d.ts +16 -0
  130. package/lib/components/SettingDrawer/utils/transformers.d.ts.map +1 -1
  131. package/lib/components/SettingDrawer/utils/transformers.js +39 -2
  132. package/lib/components/SettingDrawer/utils/transformers.js.map +1 -1
  133. package/lib/components/SettingsThemeApplier/SettingsThemeApplier.d.ts +10 -0
  134. package/lib/components/SettingsThemeApplier/SettingsThemeApplier.d.ts.map +1 -0
  135. package/lib/components/SettingsThemeApplier/SettingsThemeApplier.js +23 -0
  136. package/lib/components/SettingsThemeApplier/SettingsThemeApplier.js.map +1 -0
  137. package/lib/components/SettingsThemeApplier/index.d.ts +2 -0
  138. package/lib/components/SettingsThemeApplier/index.d.ts.map +1 -0
  139. package/lib/components/index.js +1 -1
  140. package/lib/components/typings.d.ts +29 -0
  141. package/lib/components/typings.d.ts.map +1 -1
  142. package/lib/compute.js +2 -1
  143. package/lib/compute.js.map +1 -1
  144. package/lib/helpers/DynamicIcon.js +7 -1
  145. package/lib/helpers/DynamicIcon.js.map +1 -1
  146. package/lib/hooks/index.d.ts +1 -0
  147. package/lib/hooks/index.d.ts.map +1 -1
  148. package/lib/hooks/useScrollThreshold.d.ts +1 -2
  149. package/lib/hooks/useScrollThreshold.d.ts.map +1 -1
  150. package/lib/index.d.ts +3 -0
  151. package/lib/index.d.ts.map +1 -1
  152. package/lib/index.js +1 -1
  153. package/lib/index.js.map +1 -1
  154. package/lib/routes.json +5 -1
  155. package/lib/styles/index.css +321 -0
  156. package/lib/utils/settingsTheme.d.ts +40 -0
  157. package/lib/utils/settingsTheme.d.ts.map +1 -0
  158. package/lib/utils/settingsTheme.js +106 -0
  159. package/lib/utils/settingsTheme.js.map +1 -0
  160. package/package.json +9 -7
@@ -1,4 +1,4 @@
1
- import React__default,{useEffect}from'react';import {useTranslation}from'react-i18next';import {getMenuSeparation}from'@admin-layout/client';import {Divider}from'./Divider.js';import {PerplexSidebarMenu}from'./PerplexSidebarMenu.js';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../../hooks/useMediaQuery.js';import'@common-stack/components-pro';import'reflect-metadata';import'@admin-layout/client/lib/constants/layout.js';import {SideMenuLogoSlot}from'../slot-fill/SideMenuLogo.js';import {BottomMenu}from'./BottomMenu.js';import {icons}from'../../../icons.js';import {MainSidebarMenu}from'./MainSidebarMenu.js';const PerplexSidebar = props => {
1
+ import React__default,{useEffect}from'react';import {useTranslation}from'react-i18next';import {getMenuSeparation}from'@admin-layout/client';import {Divider}from'./Divider.js';import {PerplexSidebarMenu}from'./PerplexSidebarMenu.js';import {PerplexSidebarFlyoutProvider}from'./PerplexSidebarFlyoutContext.js';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../../hooks/useMediaQuery.js';import'../SidebarControlsContext.js';import'@common-stack/components-pro';import'reflect-metadata';import'@admin-layout/client/lib/constants/layout.js';import {SideMenuLogoSlot}from'../slot-fill/SideMenuLogo.js';import {BottomMenu}from'./BottomMenu.js';import {renderDynamicIcon}from'./DynamicIcon.js';import {icons}from'../../../icons.js';import {MainSidebarMenu}from'./MainSidebarMenu.js';import {SidebarRailFX}from'./SidebarRailFX.js';const PerplexSidebar = props => {
2
2
  const {
3
3
  isSideMenuOpen,
4
4
  closeSideMenu,
@@ -19,7 +19,6 @@ import React__default,{useEffect}from'react';import {useTranslation}from'react-i
19
19
  authorities,
20
20
  picture
21
21
  } = props;
22
- const [iconModule, setIconModule] = React__default.useState(null);
23
22
  const {
24
23
  t,
25
24
  i18n
@@ -55,15 +54,10 @@ import React__default,{useEffect}from'react';import {useTranslation}from'react-i
55
54
  splitMenus: getUILayoutValue('splitMenus'),
56
55
  upperMenuDividerName: getUILayoutValue('upperMenuDividerName'),
57
56
  middleMenuDividerName: getUILayoutValue('middleMenuDividerName'),
58
- lowerMenuDividerName: getUILayoutValue('lowerMenuDividerName')
57
+ lowerMenuDividerName: getUILayoutValue('lowerMenuDividerName'),
58
+ // Opt-in ambient rail backdrop: 'off' (default) | 'aurora' | 'webgpu'.
59
+ railFx: getUILayoutValue('railFx') || 'off'
59
60
  };
60
- useEffect(() => {
61
- if (!iconModule) {
62
- import('./DynamicIcon.js').then(module => {
63
- setIconModule(module);
64
- });
65
- }
66
- }, []);
67
61
  // Close sidebar when clicking outside on mobile
68
62
  useEffect(() => {
69
63
  const handleClickOutside = event => {
@@ -100,7 +94,7 @@ import React__default,{useEffect}from'react';import {useTranslation}from'react-i
100
94
  const updatedItem = {
101
95
  ...item,
102
96
  name: t(item.name),
103
- icon: iconModule && item.icon ? iconModule.renderDynamicIcon(item.icon) : null
97
+ icon: item.icon ? renderDynamicIcon(item.icon) : null
104
98
  };
105
99
  if (updatedItem.children) {
106
100
  updatedItem.children = updateMenuIcons(updatedItem.children);
@@ -111,6 +105,9 @@ import React__default,{useEffect}from'react';import {useTranslation}from'react-i
111
105
  ({
112
106
  menuData: updateMenuIcons(bottomMenus)
113
107
  });
108
+ const processedMiddleMenus = React__default.useMemo(() => updateMenuIcons(middleMenus), [middleMenus, i18n.language]);
109
+ const processedLowerMenus = React__default.useMemo(() => updateMenuIcons(lowerMenus), [lowerMenus, i18n.language]);
110
+ const railMenuData = React__default.useMemo(() => [...processedMiddleMenus, ...processedLowerMenus], [processedMiddleMenus, processedLowerMenus]);
114
111
  // Use CSS classes instead of theme-based styling
115
112
  const getSidebarClasses = () => {
116
113
  let classes = `text-gray-500 dark:text-gray-400 h-full flex flex-col`;
@@ -150,10 +147,19 @@ import React__default,{useEffect}from'react';import {useTranslation}from'react-i
150
147
  className: "relative"
151
148
  }), React__default.createElement("div", {
152
149
  className: "flex-grow overflow-y-auto"
153
- }, middleMenus?.length > 0 && React__default.createElement("div", {
150
+ }, React__default.createElement(PerplexSidebarFlyoutProvider, {
151
+ allMenuData: railMenuData,
152
+ routeParams: routeParams,
153
+ settings: settings,
154
+ collapsed: collapsed,
155
+ siderPinned: siderPinned,
156
+ setSiderPinned: setSiderPinned,
157
+ actor: actor,
158
+ deviceSettings: deviceSettings
159
+ }, processedMiddleMenus.length > 0 && React__default.createElement("div", {
154
160
  className: "removeBoxShadow"
155
161
  }, renderSeparator(deviceLayout?.middleMenuDividerName), React__default.createElement(PerplexSidebarMenu, {
156
- menuData: updateMenuIcons(middleMenus),
162
+ menuData: processedMiddleMenus,
157
163
  routeParams: routeParams,
158
164
  settings: settings,
159
165
  collapsed: collapsed,
@@ -161,10 +167,10 @@ import React__default,{useEffect}from'react';import {useTranslation}from'react-i
161
167
  setSiderPinned: setSiderPinned,
162
168
  actor: actor,
163
169
  deviceSettings: deviceSettings
164
- })), lowerMenus?.length > 0 && React__default.createElement("div", {
170
+ })), processedLowerMenus.length > 0 && React__default.createElement("div", {
165
171
  className: "removeBoxShadow"
166
172
  }, renderSeparator(deviceLayout?.lowerMenuDividerName), React__default.createElement(PerplexSidebarMenu, {
167
- menuData: updateMenuIcons(lowerMenus),
173
+ menuData: processedLowerMenus,
168
174
  routeParams: routeParams,
169
175
  settings: settings,
170
176
  collapsed: collapsed,
@@ -172,7 +178,7 @@ import React__default,{useEffect}from'react';import {useTranslation}from'react-i
172
178
  setSiderPinned: setSiderPinned,
173
179
  actor: actor,
174
180
  deviceSettings: deviceSettings
175
- }))));
181
+ })))));
176
182
  };
177
183
  const renderMobileSidebarContent = () => {
178
184
  return React__default.createElement("div", {
@@ -190,7 +196,7 @@ import React__default,{useEffect}from'react';import {useTranslation}from'react-i
190
196
  fontSize: '11px'
191
197
  }))), React__default.createElement("div", {
192
198
  className: "flex-grow overflow-y-auto"
193
- }, React__default.createElement("div", null, middleMenus?.length > 0 && React__default.createElement("div", {
199
+ }, middleMenus?.length > 0 && React__default.createElement("div", {
194
200
  className: "removeBoxShadow"
195
201
  }, renderSeparator(deviceLayout?.middleMenuDividerName), React__default.createElement(MainSidebarMenu, {
196
202
  menuData: updateMenuIcons(middleMenus),
@@ -204,12 +210,14 @@ import React__default,{useEffect}from'react';import {useTranslation}from'react-i
204
210
  routeParams: routeParams,
205
211
  settings: settings,
206
212
  collapsed: collapsed
207
- })))));
213
+ }))));
208
214
  };
209
215
  return React__default.createElement("div", null, !isMobile && React__default.createElement("aside", {
210
216
  style: SidebarStyles,
211
- className: `${deviceLayout?.fixedSidebar ? 'fixed' : 'relative'} border-r border-border z-20 h-screen bg-card text-card-foreground md:block flex-shrink-0 transition-all duration-300 ease-in-out w-[92px]`
212
- }, menuHeaderRender && isSideMenuLayout && React__default.createElement("div", {
217
+ className: `${deviceLayout?.fixedSidebar ? 'fixed' : 'relative'} border-r border-border z-20 bg-card text-card-foreground md:block flex-shrink-0 transition-all duration-300 ease-in-out w-[83px] ${showHeader && deviceLayout?.fixedHeader ? deviceLayout?.fixedSidebar ? 'h-[calc(100vh-5rem)] top-20' : 'h-[calc(100vh-5rem)]' : 'h-screen'}`
218
+ }, React__default.createElement(SidebarRailFX, {
219
+ mode: deviceLayout?.railFx
220
+ }), menuHeaderRender && isSideMenuLayout && React__default.createElement("div", {
213
221
  className: "border-b border-border py-1 flex items-center justify-center"
214
222
  }, React__default.createElement(SideMenuLogoSlot, {
215
223
  settings: settings,
@@ -225,21 +233,22 @@ import React__default,{useEffect}from'react';import {useTranslation}from'react-i
225
233
  scrolled: undefined,
226
234
  authorities: authorities,
227
235
  picture: picture
228
- }))), isSideMenuOpen && isMobile && React__default.createElement("div", {
229
- className: "fixed mt-16 inset-0 z-40 bg-black bg-opacity-50 transition-opacity duration-300 ease-in-out",
236
+ }))), isMobile && React__default.createElement("div", {
237
+ className: `fixed inset-0 z-10 bg-black bg-opacity-50 transition-opacity duration-300 md:hidden ${isSideMenuOpen ? 'opacity-100' : 'pointer-events-none opacity-0'}`,
230
238
  onClick: closeSideMenu
231
- }), React__default.createElement("aside", {
239
+ }), isMobile && React__default.createElement("aside", {
232
240
  id: "mobile-sidebar",
233
241
  style: SidebarStyles,
234
- className: `fixed mt-16 top-0 left-0 z-50 h-full w-[280px] shadow-xl transform transition-transform duration-300 ease-in-out md:hidden ${isSideMenuOpen ? 'translate-x-0' : '-translate-x-full'}`
235
- }, React__default.createElement("div", {
236
- className: "flex flex-col h-[calc(100vh-64px)]"
237
- }, React__default.createElement("div", {
238
- className: "flex-1 overflow-y-auto py-2 px-4"
239
- }, React__default.createElement("div", {
240
- className: "space-y-1"
241
- }, renderMobileSidebarContent())), React__default.createElement("div", {
242
- className: "flex-shrink-0 p-4 border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800"
242
+ className: `fixed inset-y-0 left-0 z-20 flex flex-col overflow-hidden bg-card text-card-foreground md:hidden transition-transform duration-300 ease-in-out ${collapsed ? 'w-16' : 'w-64'} ${isSideMenuOpen ? 'translate-x-0' : '-translate-x-full'}`
243
+ }, menuHeaderRender && isSideMenuLayout && React__default.createElement("div", {
244
+ className: "flex-shrink-0 border-b border-border flex items-center justify-center"
245
+ }, React__default.createElement(SideMenuLogoSlot, {
246
+ settings: settings,
247
+ location: location
248
+ })), React__default.createElement("div", {
249
+ className: "flex-1 min-h-0 overflow-hidden"
250
+ }, renderMobileSidebarContent()), React__default.createElement("div", {
251
+ className: "flex-shrink-0 p-4 border-t border-border"
243
252
  }, React__default.createElement(BottomMenu, {
244
253
  match: null,
245
254
  menuData: menuData,
@@ -250,5 +259,5 @@ import React__default,{useEffect}from'react';import {useTranslation}from'react-i
250
259
  authorities: authorities,
251
260
  picture: picture,
252
261
  isMobile: isMobile
253
- })))));
262
+ }))));
254
263
  };export{PerplexSidebar};//# sourceMappingURL=PerplexSidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PerplexSidebar.js","sources":["../../../../src/components/Layout/Sidebar/PerplexSidebar.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"PerplexSidebar.js","sources":["../../../../src/components/Layout/Sidebar/PerplexSidebar.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { MenuDataItem } from '@admin-layout/client';
3
+ type FlyoutContextValue = {
4
+ hoveredMenu: string | null;
5
+ handleMenuHover: (e: React.MouseEvent, item: MenuDataItem, isHoverMenu: boolean, depth?: number) => void;
6
+ handleMenuLeave: (item: MenuDataItem, isHoverMenu: boolean) => void;
7
+ };
8
+ export declare const usePerplexSidebarFlyoutContext: () => FlyoutContextValue;
9
+ type ProviderProps = {
10
+ children: React.ReactNode;
11
+ allMenuData: MenuDataItem[];
12
+ routeParams: Record<string, string>;
13
+ settings: {
14
+ navTheme?: string;
15
+ primaryColor?: string;
16
+ };
17
+ collapsed?: boolean;
18
+ siderPinned?: boolean;
19
+ setSiderPinned?: (siderPinned: boolean) => void;
20
+ actor?: any;
21
+ deviceSettings?: any;
22
+ };
23
+ export declare const PerplexSidebarFlyoutProvider: React.FC<ProviderProps>;
24
+ export {};
25
+ //# sourceMappingURL=PerplexSidebarFlyoutContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerplexSidebarFlyoutContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar/PerplexSidebarFlyoutContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuF,MAAM,OAAO,CAAC;AAG5G,OAAO,EAAoB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGtE,KAAK,kBAAkB,GAAG;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzG,eAAe,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACvE,CAAC;AAIF,eAAO,MAAM,8BAA8B,0BAAgD,CAAC;AAE5F,KAAK,aAAa,GAAG;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,cAAc,CAAC,EAAE,GAAG,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAmVhE,CAAC"}
@@ -0,0 +1,287 @@
1
+ import React__default,{useState,useRef,useEffect,useCallback,useMemo,createContext,useContext}from'react';import {useSelector}from'@xstate/react';import {useLocation,Link}from'@remix-run/react';import {generateMenuPath}from'@admin-layout/client';import {icons}from'../../../icons.js';const PerplexSidebarFlyoutContext = createContext(null);
2
+ const usePerplexSidebarFlyoutContext = () => useContext(PerplexSidebarFlyoutContext);
3
+ const PerplexSidebarFlyoutProvider = ({
4
+ children,
5
+ allMenuData,
6
+ routeParams,
7
+ settings,
8
+ collapsed,
9
+ siderPinned,
10
+ setSiderPinned,
11
+ actor,
12
+ deviceSettings = {}
13
+ }) => {
14
+ const [hoveredMenu, setHoveredMenu] = useState(null);
15
+ const [activeMenuItem, setActiveMenuItem] = useState(null);
16
+ const [popupPosition, setPopupPosition] = useState({
17
+ top: 0,
18
+ height: 0
19
+ });
20
+ const [menuTransition, setMenuTransition] = useState('opening');
21
+ const [flyoutVisible, setFlyoutVisible] = useState(false);
22
+ const hoverCloseTimeout = useRef(null);
23
+ const hoverOpenTimeout = useRef(null);
24
+ const currentHoveredMenu = useRef(null);
25
+ const {
26
+ PushpinLineIcon,
27
+ PushpinFillIcon
28
+ } = icons;
29
+ const location = useLocation();
30
+ const machineState = useSelector(actor, state => state);
31
+ const pinnedPath = machineState?.context?.sidebar?.pinnedPath || null;
32
+ const showHeader = deviceSettings?.header?.showHeader !== undefined ? deviceSettings.header.showHeader : true;
33
+ useEffect(() => {
34
+ if (hoverCloseTimeout.current) {
35
+ window.clearTimeout(hoverCloseTimeout.current);
36
+ hoverCloseTimeout.current = null;
37
+ }
38
+ if (hoverOpenTimeout.current) {
39
+ window.clearTimeout(hoverOpenTimeout.current);
40
+ hoverOpenTimeout.current = null;
41
+ }
42
+ if (pinnedPath) {
43
+ currentHoveredMenu.current = pinnedPath;
44
+ return;
45
+ }
46
+ currentHoveredMenu.current = null;
47
+ setFlyoutVisible(false);
48
+ setHoveredMenu(null);
49
+ setActiveMenuItem(null);
50
+ setMenuTransition('opening');
51
+ }, [location.pathname, pinnedPath]);
52
+ const isMenuItemActive = useCallback(itemPath => {
53
+ const currentPath = location.pathname;
54
+ const menuPath = generateMenuPath(itemPath, routeParams);
55
+ if (currentPath === menuPath) return true;
56
+ if (menuPath && currentPath.startsWith(menuPath + '/')) return true;
57
+ return false;
58
+ }, [location.pathname, routeParams]);
59
+ const handleMenuHover = useCallback((e, item, isHoverMenu, depth = 0) => {
60
+ const canShowHoverPopup = collapsed && !isHoverMenu || !collapsed && depth === 0 && !isHoverMenu;
61
+ if (!item.children?.length || !canShowHoverPopup) return;
62
+ const element = e.currentTarget;
63
+ const rect = element.getBoundingClientRect();
64
+ const viewportHeight = window.innerHeight;
65
+ let top = rect.top;
66
+ const maxTop = Math.max(8, viewportHeight - 300);
67
+ if (top > maxTop) top = maxTop;
68
+ setPopupPosition({
69
+ top,
70
+ height: rect.height
71
+ });
72
+ if (hoverCloseTimeout.current) {
73
+ window.clearTimeout(hoverCloseTimeout.current);
74
+ hoverCloseTimeout.current = null;
75
+ }
76
+ if (hoverOpenTimeout.current) {
77
+ window.clearTimeout(hoverOpenTimeout.current);
78
+ hoverOpenTimeout.current = null;
79
+ }
80
+ currentHoveredMenu.current = item.path;
81
+ if (hoveredMenu !== item.path) {
82
+ setActiveMenuItem(item);
83
+ if (flyoutVisible) {
84
+ if (menuTransition === 'closing') setMenuTransition('opening');
85
+ setHoveredMenu(item.path);
86
+ } else {
87
+ setMenuTransition('opening');
88
+ setFlyoutVisible(true);
89
+ setHoveredMenu(item.path);
90
+ }
91
+ } else if (!flyoutVisible || menuTransition === 'closing') {
92
+ setMenuTransition('opening');
93
+ setFlyoutVisible(true);
94
+ }
95
+ if (depth === 0 && pinnedPath) {
96
+ actor?.send({
97
+ type: 'UISETTING_UPDATE',
98
+ value: {
99
+ 'sidebar.pinnedPath': item.path
100
+ }
101
+ });
102
+ }
103
+ }, [actor, collapsed, flyoutVisible, hoveredMenu, menuTransition, pinnedPath]);
104
+ const handleMenuLeave = useCallback((item, isHoverMenu) => {
105
+ if (isHoverMenu) return;
106
+ if (hoverCloseTimeout.current) window.clearTimeout(hoverCloseTimeout.current);
107
+ if (hoverOpenTimeout.current) {
108
+ window.clearTimeout(hoverOpenTimeout.current);
109
+ hoverOpenTimeout.current = null;
110
+ }
111
+ hoverCloseTimeout.current = window.setTimeout(() => {
112
+ if (activeMenuItem?.path === item.path) return;
113
+ if (currentHoveredMenu.current === item.path) return;
114
+ currentHoveredMenu.current = null;
115
+ setMenuTransition('closing');
116
+ setTimeout(() => {
117
+ if (activeMenuItem?.path !== item.path && currentHoveredMenu.current !== item.path) {
118
+ setFlyoutVisible(false);
119
+ setHoveredMenu(null);
120
+ setActiveMenuItem(null);
121
+ }
122
+ }, 150);
123
+ }, 300);
124
+ }, [activeMenuItem?.path]);
125
+ const SidebarStyles = useMemo(() => ({
126
+ backgroundColor: settings?.navTheme === 'realDark' ? '#222' : undefined,
127
+ color: settings?.navTheme === 'realDark' ? '#fff !important' : undefined
128
+ }), [settings]);
129
+ const toggleSiderPinned = (e, path) => {
130
+ e.preventDefault();
131
+ e.stopPropagation();
132
+ const nextPinned = pinnedPath === path ? null : path;
133
+ actor?.send({
134
+ type: 'UISETTING_UPDATE',
135
+ value: {
136
+ 'sidebar.pinnedPath': nextPinned
137
+ }
138
+ });
139
+ if (nextPinned) {
140
+ const findItemByPath = (items, targetPath) => {
141
+ for (const menuItem of items) {
142
+ if (menuItem.path === targetPath) return menuItem;
143
+ if (menuItem.children) {
144
+ const found = findItemByPath(menuItem.children, targetPath);
145
+ if (found) return found;
146
+ }
147
+ }
148
+ return null;
149
+ };
150
+ const menuItem = findItemByPath(allMenuData, path);
151
+ if (menuItem) {
152
+ setActiveMenuItem(menuItem);
153
+ setHoveredMenu(path);
154
+ setFlyoutVisible(true);
155
+ }
156
+ } else {
157
+ setFlyoutVisible(false);
158
+ setHoveredMenu(null);
159
+ }
160
+ setSiderPinned?.(!siderPinned);
161
+ };
162
+ const contextValue = useMemo(() => ({
163
+ hoveredMenu,
164
+ handleMenuHover,
165
+ handleMenuLeave
166
+ }), [hoveredMenu, handleMenuHover, handleMenuLeave]);
167
+ const item = activeMenuItem;
168
+ const minTop = !showHeader ? 8 : 16;
169
+ const anchorTop = Math.max(minTop, Math.round(popupPosition.top || minTop));
170
+ return React__default.createElement(PerplexSidebarFlyoutContext.Provider, {
171
+ value: contextValue
172
+ }, children, flyoutVisible && item && React__default.createElement("div", {
173
+ className: `fixed z-[999] flex flex-col overflow-hidden border border-border menu-${menuTransition} ql-flyout-anchored`,
174
+ style: {
175
+ left: '83px',
176
+ top: `${anchorTop}px`,
177
+ maxHeight: `calc(100vh - ${anchorTop}px - 16px)`,
178
+ width: '228px',
179
+ maxWidth: 'calc(100vw - 100px)',
180
+ transformOrigin: 'left top',
181
+ borderRadius: '12px',
182
+ boxShadow: '0 24px 70px -24px rgba(0,0,0,0.45)',
183
+ pointerEvents: menuTransition === 'closing' ? 'none' : 'auto',
184
+ ...SidebarStyles,
185
+ // solid opaque fill — after the spread so nothing clears it
186
+ backgroundColor: settings?.navTheme === 'realDark' ? '#222' : 'hsl(var(--popover))'
187
+ },
188
+ onMouseEnter: () => {
189
+ if (hoverCloseTimeout.current) {
190
+ window.clearTimeout(hoverCloseTimeout.current);
191
+ hoverCloseTimeout.current = null;
192
+ }
193
+ if (item) {
194
+ currentHoveredMenu.current = item.path;
195
+ if (!flyoutVisible || menuTransition === 'closing') {
196
+ setMenuTransition('opening');
197
+ setFlyoutVisible(true);
198
+ }
199
+ }
200
+ },
201
+ onMouseLeave: () => {
202
+ if (pinnedPath === item.path) return;
203
+ if (hoverCloseTimeout.current) window.clearTimeout(hoverCloseTimeout.current);
204
+ setMenuTransition('closing');
205
+ hoverCloseTimeout.current = window.setTimeout(() => {
206
+ if (!currentHoveredMenu.current) {
207
+ setFlyoutVisible(false);
208
+ setHoveredMenu(null);
209
+ setActiveMenuItem(null);
210
+ }
211
+ }, 150);
212
+ }
213
+ }, React__default.createElement("style", {
214
+ dangerouslySetInnerHTML: {
215
+ __html: `
216
+ @keyframes flyoutIn {
217
+ from { opacity: 0; transform: translateX(-14px) scale(0.98); filter: blur(6px); }
218
+ to { opacity: 1; transform: translateX(0) scale(1); filter: blur(0); }
219
+ }
220
+ @keyframes flyoutOut {
221
+ from { opacity: 1; transform: translateX(0) scale(1); filter: blur(0); }
222
+ to { opacity: 0; transform: translateX(-10px) scale(0.99); filter: blur(4px); }
223
+ }
224
+ .menu-opening { animation: flyoutIn 0.26s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
225
+ .menu-closing { animation: flyoutOut 0.16s cubic-bezier(0.4, 0, 1, 1) forwards; }
226
+ .ql-flyout-anchored {
227
+ transition:
228
+ top 0.3s cubic-bezier(0.22, 1, 0.36, 1),
229
+ max-height 0.3s cubic-bezier(0.22, 1, 0.36, 1);
230
+ }
231
+ @keyframes flyoutItemIn {
232
+ from { opacity: 0; transform: translateX(10px); }
233
+ to { opacity: 1; transform: translateX(0); }
234
+ }
235
+ .ql-flyout-item {
236
+ opacity: 0;
237
+ animation: flyoutItemIn 0.34s cubic-bezier(0.22, 1, 0.36, 1) forwards;
238
+ animation-delay: calc(60ms + var(--i, 0) * 38ms);
239
+ }
240
+ @media (prefers-reduced-motion: reduce) {
241
+ .menu-opening, .menu-closing { animation-duration: 0.01ms; filter: none; }
242
+ .ql-flyout-item { animation: none; opacity: 1; }
243
+ .ql-flyout-anchored { transition: none; }
244
+ }
245
+ `
246
+ }
247
+ }), React__default.createElement("div", {
248
+ className: "font-medium text-sm px-3 py-2 border-b border-border sticky top-0 flex items-center justify-between"
249
+ }, React__default.createElement("span", {
250
+ className: "text-primary whitespace-nowrap overflow-hidden text-ellipsis pr-2"
251
+ }, item.name), React__default.createElement("button", {
252
+ className: "text-muted-foreground hover:text-primary transition-colors",
253
+ "aria-label": pinnedPath === item.path ? 'Unpin' : 'Pin',
254
+ onClick: e => toggleSiderPinned(e, item.path)
255
+ }, pinnedPath === item.path ? React__default.createElement(PushpinFillIcon, {
256
+ className: "h-4 w-4"
257
+ }) : React__default.createElement(PushpinLineIcon, {
258
+ className: "h-4 w-4"
259
+ }))), React__default.createElement("div", {
260
+ className: "overflow-y-auto overflow-x-hidden py-1 flex-1 min-h-0"
261
+ }, item.children?.map((child, idx) => {
262
+ const childActive = isMenuItemActive(child.path);
263
+ return React__default.createElement("div", {
264
+ key: child.path,
265
+ className: "ql-flyout-item w-full min-w-max hover:text-primary",
266
+ style: {
267
+ ['--i']: idx
268
+ }
269
+ }, React__default.createElement(Link, {
270
+ to: generateMenuPath(child.path, routeParams),
271
+ className: `flex hover:text-primary hover:bg-muted rounded-md items-center gap-3 w-full px-1 py-2 text-xs cursor-pointer transition-colors mx-1 my-1 whitespace-nowrap overflow-hidden text-ellipsis ${childActive ? 'text-primary' : undefined}`,
272
+ style: {
273
+ paddingLeft: 'calc(1rem + 1rem)'
274
+ }
275
+ }, child.icon ? React__default.createElement("span", {
276
+ className: `flex-shrink-0 ${childActive ? 'text-primary' : 'text-muted-foreground'}`,
277
+ style: {
278
+ color: !childActive && settings?.navTheme === 'realDark' ? '#fff' : undefined
279
+ }
280
+ }, child.icon) : null, React__default.createElement("span", {
281
+ className: `font-medium whitespace-nowrap overflow-hidden text-ellipsis ${childActive ? 'text-primary' : 'text-foreground'}`,
282
+ style: {
283
+ color: !childActive && settings?.navTheme === 'realDark' ? '#fff' : undefined
284
+ }
285
+ }, child.name)));
286
+ }))));
287
+ };export{PerplexSidebarFlyoutProvider,usePerplexSidebarFlyoutContext};//# sourceMappingURL=PerplexSidebarFlyoutContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerplexSidebarFlyoutContext.js","sources":["../../../../src/components/Layout/Sidebar/PerplexSidebarFlyoutContext.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PerplexSidebarMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar/PerplexSidebarMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG,GAAG,CAqa/D,CAAC"}
1
+ {"version":3,"file":"PerplexSidebarMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar/PerplexSidebarMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA0EjD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG,GAAG,CAooB/D,CAAC"}