@admin-layout/tailwind-design-pro 12.0.16-alpha.6 → 12.0.16-alpha.61

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 (259) hide show
  1. package/README.md +30 -0
  2. package/lib/cdm-locales/en/menu.json +2 -1
  3. package/lib/cdm-locales/es/menu.json +2 -1
  4. package/lib/cdm-locales/index.d.ts +2 -0
  5. package/lib/cdm-locales/index.d.ts.map +1 -0
  6. package/lib/cdm-locales/index.ts +1 -0
  7. package/lib/components/LanguageMenu/LanguageMenu.d.ts.map +1 -1
  8. package/lib/components/LanguageMenu/LanguageMenu.js +20 -8
  9. package/lib/components/LanguageMenu/LanguageMenu.js.map +1 -1
  10. package/lib/components/Layout/BasicLayout/index.d.ts +2 -1
  11. package/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
  12. package/lib/components/Layout/BasicLayout/index.js +121 -31
  13. package/lib/components/Layout/BasicLayout/index.js.map +1 -1
  14. package/lib/components/Layout/BasicLayout/utils.d.ts +2 -0
  15. package/lib/components/Layout/BasicLayout/utils.d.ts.map +1 -1
  16. package/lib/components/Layout/BasicLayout/utils.js +16 -13
  17. package/lib/components/Layout/BasicLayout/utils.js.map +1 -1
  18. package/lib/components/Layout/GlobalFooter/Account.d.ts +4 -0
  19. package/lib/components/Layout/GlobalFooter/Account.d.ts.map +1 -0
  20. package/lib/components/Layout/GlobalFooter/Account.js +147 -0
  21. package/lib/components/Layout/GlobalFooter/Account.js.map +1 -0
  22. package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.d.ts.map +1 -1
  23. package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.js +7 -12
  24. package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.js.map +1 -1
  25. package/lib/components/Layout/GlobalHeader/Header.d.ts.map +1 -1
  26. package/lib/components/Layout/GlobalHeader/Header.js +32 -9
  27. package/lib/components/Layout/GlobalHeader/Header.js.map +1 -1
  28. package/lib/components/Layout/GlobalHeader/MainHeader.d.ts +0 -2
  29. package/lib/components/Layout/GlobalHeader/MainHeader.d.ts.map +1 -1
  30. package/lib/components/Layout/GlobalHeader/MainHeader.js +32 -83
  31. package/lib/components/Layout/GlobalHeader/MainHeader.js.map +1 -1
  32. package/lib/components/Layout/GlobalHeader/OrganizationDropdown.js +1 -1
  33. package/lib/components/Layout/GlobalHeader/OrganizationDropdown.js.map +1 -1
  34. package/lib/components/Layout/GlobalHeader/RightContent.d.ts +1 -0
  35. package/lib/components/Layout/GlobalHeader/RightContent.d.ts.map +1 -1
  36. package/lib/components/Layout/GlobalHeader/RightContent.js +73 -6
  37. package/lib/components/Layout/GlobalHeader/RightContent.js.map +1 -1
  38. package/lib/components/Layout/GlobalHeader/RightMenu.d.ts.map +1 -1
  39. package/lib/components/Layout/GlobalHeader/RightMenu.js +2 -4
  40. package/lib/components/Layout/GlobalHeader/RightMenu.js.map +1 -1
  41. package/lib/components/Layout/GlobalHeader/SearchBar.js.map +1 -1
  42. package/lib/components/Layout/GlobalHeader/index.d.ts +0 -1
  43. package/lib/components/Layout/GlobalHeader/index.d.ts.map +1 -1
  44. package/lib/components/Layout/ProTailwindLayout.d.ts +2 -2
  45. package/lib/components/Layout/ProTailwindLayout.d.ts.map +1 -1
  46. package/lib/components/Layout/ProTailwindLayout.js +69 -7
  47. package/lib/components/Layout/ProTailwindLayout.js.map +1 -1
  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/{Sidebar.js → MainSidebar.js} +37 -9
  53. package/lib/components/Layout/Sidebar/MainSidebar.js.map +1 -0
  54. package/lib/components/Layout/Sidebar/MainSidebarMenu.d.ts +4 -0
  55. package/lib/components/Layout/Sidebar/MainSidebarMenu.d.ts.map +1 -0
  56. package/lib/components/Layout/Sidebar/MainSidebarMenu.js +294 -0
  57. package/lib/components/Layout/Sidebar/MainSidebarMenu.js.map +1 -0
  58. package/lib/components/Layout/Sidebar/PerplexSidebar.d.ts +5 -0
  59. package/lib/components/Layout/Sidebar/PerplexSidebar.d.ts.map +1 -0
  60. package/lib/components/Layout/Sidebar/PerplexSidebar.js +192 -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 +330 -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 +71 -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/HeaderSearchBar.js.map +1 -1
  73. package/lib/components/Layout/slot-fill/HeaderSearchButton.js.map +1 -1
  74. package/lib/components/Layout/slot-fill/Logo.d.ts +4 -0
  75. package/lib/components/Layout/slot-fill/Logo.d.ts.map +1 -0
  76. package/lib/components/Layout/slot-fill/Logo.js +7 -0
  77. package/lib/components/Layout/slot-fill/Logo.js.map +1 -0
  78. package/lib/components/Layout/slot-fill/RightContent.js.map +1 -1
  79. package/lib/components/Layout/util.js +1 -1
  80. package/lib/components/Layout/util.js.map +1 -1
  81. package/lib/components/SettingDrawer/CheckBoxTheme.d.ts.map +1 -1
  82. package/lib/components/SettingDrawer/CheckBoxTheme.js +13 -3
  83. package/lib/components/SettingDrawer/CheckBoxTheme.js.map +1 -1
  84. package/lib/components/SettingDrawer/InvitationSettings.d.ts.map +1 -1
  85. package/lib/components/SettingDrawer/InvitationSettings.js +10 -6
  86. package/lib/components/SettingDrawer/InvitationSettings.js.map +1 -1
  87. package/lib/components/SettingDrawer/LayoutChange.d.ts.map +1 -1
  88. package/lib/components/SettingDrawer/LayoutChange.js +23 -16
  89. package/lib/components/SettingDrawer/LayoutChange.js.map +1 -1
  90. package/lib/components/SettingDrawer/MenuVisibilitySettings.d.ts +20 -0
  91. package/lib/components/SettingDrawer/MenuVisibilitySettings.d.ts.map +1 -0
  92. package/lib/components/SettingDrawer/MenuVisibilitySettings.js +120 -0
  93. package/lib/components/SettingDrawer/MenuVisibilitySettings.js.map +1 -0
  94. package/lib/components/SettingDrawer/NavigationsModes.d.ts +1 -1
  95. package/lib/components/SettingDrawer/NavigationsModes.d.ts.map +1 -1
  96. package/lib/components/SettingDrawer/NavigationsModes.js +103 -15
  97. package/lib/components/SettingDrawer/NavigationsModes.js.map +1 -1
  98. package/lib/components/SettingDrawer/RegionalSettings.d.ts.map +1 -1
  99. package/lib/components/SettingDrawer/RegionalSettings.js +54 -177
  100. package/lib/components/SettingDrawer/RegionalSettings.js.map +1 -1
  101. package/lib/components/SettingDrawer/SettingDrawer.d.ts.map +1 -1
  102. package/lib/components/SettingDrawer/SettingDrawer.js +423 -62
  103. package/lib/components/SettingDrawer/SettingDrawer.js.map +1 -1
  104. package/lib/components/SettingDrawer/Switch/index.js.map +1 -1
  105. package/lib/components/SettingDrawer/ThemeColor.d.ts.map +1 -1
  106. package/lib/components/SettingDrawer/ThemeColor.js +15 -3
  107. package/lib/components/SettingDrawer/ThemeColor.js.map +1 -1
  108. package/lib/components/SettingDrawer/types.d.ts +12 -0
  109. package/lib/components/SettingDrawer/types.d.ts.map +1 -1
  110. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.d.ts +8 -5
  111. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.d.ts.map +1 -1
  112. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.js +278 -4
  113. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.js.map +1 -1
  114. package/lib/components/index.d.ts +0 -1
  115. package/lib/components/index.d.ts.map +1 -1
  116. package/lib/components/index.js +1 -1
  117. package/lib/components/typings.d.ts +14 -6
  118. package/lib/components/typings.d.ts.map +1 -1
  119. package/lib/compute.d.ts.map +1 -1
  120. package/lib/compute.js +10 -2
  121. package/lib/compute.js.map +1 -1
  122. package/lib/config/analytics-config.js +9 -0
  123. package/lib/config/analytics-config.js.map +1 -0
  124. package/lib/config/constants.js.map +1 -1
  125. package/lib/config/env-config.d.ts +3 -0
  126. package/lib/config/env-config.d.ts.map +1 -1
  127. package/lib/config/env-config.js +10 -0
  128. package/lib/config/env-config.js.map +1 -1
  129. package/lib/helpers/DynamicIcon.js.map +1 -1
  130. package/lib/hooks/index.d.ts +0 -3
  131. package/lib/hooks/index.d.ts.map +1 -1
  132. package/lib/hooks/useMediaQuery.js.map +1 -1
  133. package/lib/hooks/useScrollThreshold.js.map +1 -1
  134. package/lib/hooks/useTailwindTheme.js.map +1 -1
  135. package/lib/icons.d.ts +2 -0
  136. package/lib/icons.d.ts.map +1 -1
  137. package/lib/icons.js +4 -2
  138. package/lib/icons.js.map +1 -1
  139. package/lib/index.d.ts +1 -0
  140. package/lib/index.d.ts.map +1 -1
  141. package/lib/index.js +1 -1
  142. package/lib/index.js.map +1 -1
  143. package/lib/machines/selectors.d.ts +118 -0
  144. package/lib/machines/selectors.d.ts.map +1 -0
  145. package/lib/machines/settingsMachine.d.ts +25 -2
  146. package/lib/machines/settingsMachine.d.ts.map +1 -1
  147. package/lib/machines/settingsMachine.js +217 -161
  148. package/lib/machines/settingsMachine.js.map +1 -1
  149. package/lib/machines/settingsMachine.test.d.ts +2 -0
  150. package/lib/machines/settingsMachine.test.d.ts.map +1 -0
  151. package/lib/machines/types.d.ts +106 -9
  152. package/lib/machines/types.d.ts.map +1 -1
  153. package/lib/machines/types.js.map +1 -1
  154. package/lib/module.js.map +1 -1
  155. package/lib/redux/searchReducer.js.map +1 -1
  156. package/lib/routes.json +9 -1
  157. package/lib/tailwindConfig.js.map +1 -1
  158. package/lib/utils/__tests__/configOverrides.test.d.ts +2 -0
  159. package/lib/utils/__tests__/configOverrides.test.d.ts.map +1 -0
  160. package/lib/utils/configOverrides.d.ts +213 -0
  161. package/lib/utils/configOverrides.d.ts.map +1 -0
  162. package/lib/utils/configOverrides.js +91 -0
  163. package/lib/utils/configOverrides.js.map +1 -0
  164. package/lib/utils/isBrowser/index.js.map +1 -1
  165. package/lib/utils/settingsUtils.d.ts +20 -0
  166. package/lib/utils/settingsUtils.d.ts.map +1 -0
  167. package/lib/utils/settingsUtils.js +74 -0
  168. package/lib/utils/settingsUtils.js.map +1 -0
  169. package/lib/utils/utils/index.js.map +1 -1
  170. package/package.json +6 -16
  171. package/lib/components/Layout/GlobalHeader/Logo.d.ts +0 -4
  172. package/lib/components/Layout/GlobalHeader/Logo.d.ts.map +0 -1
  173. package/lib/components/Layout/GlobalHeader/Logo.js +0 -141
  174. package/lib/components/Layout/GlobalHeader/Logo.js.map +0 -1
  175. package/lib/components/Layout/Sidebar/Sidebar.d.ts +0 -5
  176. package/lib/components/Layout/Sidebar/Sidebar.d.ts.map +0 -1
  177. package/lib/components/Layout/Sidebar/Sidebar.js.map +0 -1
  178. package/lib/components/Layout/Sidebar/SidebarMenu.d.ts +0 -4
  179. package/lib/components/Layout/Sidebar/SidebarMenu.d.ts.map +0 -1
  180. package/lib/components/Layout/Sidebar/SidebarMenu.js +0 -176
  181. package/lib/components/Layout/Sidebar/SidebarMenu.js.map +0 -1
  182. package/lib/components/UI/CardList.d.ts +0 -61
  183. package/lib/components/UI/CardList.d.ts.map +0 -1
  184. package/lib/components/UI/CardList.js +0 -43
  185. package/lib/components/UI/CardList.js.map +0 -1
  186. package/lib/components/UI/CategoriesTypeList.d.ts +0 -29
  187. package/lib/components/UI/CategoriesTypeList.d.ts.map +0 -1
  188. package/lib/components/UI/CategoriesTypeList.js +0 -139
  189. package/lib/components/UI/CategoriesTypeList.js.map +0 -1
  190. package/lib/components/UI/LazyLoadingGoogleMarker.d.ts +0 -83
  191. package/lib/components/UI/LazyLoadingGoogleMarker.d.ts.map +0 -1
  192. package/lib/components/UI/LazyLoadingGoogleMarker.js +0 -107
  193. package/lib/components/UI/LazyLoadingGoogleMarker.js.map +0 -1
  194. package/lib/components/UI/Pagination.d.ts +0 -6
  195. package/lib/components/UI/Pagination.d.ts.map +0 -1
  196. package/lib/components/UI/Pagination.js +0 -56
  197. package/lib/components/UI/Pagination.js.map +0 -1
  198. package/lib/components/UI/ParamSearchResultContainer.d.ts +0 -99
  199. package/lib/components/UI/ParamSearchResultContainer.d.ts.map +0 -1
  200. package/lib/components/UI/ParamSearchResultContainer.js +0 -120
  201. package/lib/components/UI/ParamSearchResultContainer.js.map +0 -1
  202. package/lib/components/UI/PropertyCard.d.ts +0 -24
  203. package/lib/components/UI/PropertyCard.d.ts.map +0 -1
  204. package/lib/components/UI/PropertyCard.js +0 -420
  205. package/lib/components/UI/PropertyCard.js.map +0 -1
  206. package/lib/components/UI/PropertyCardOnMap.d.ts +0 -10
  207. package/lib/components/UI/PropertyCardOnMap.d.ts.map +0 -1
  208. package/lib/components/UI/PropertyCardOnMap.js +0 -108
  209. package/lib/components/UI/PropertyCardOnMap.js.map +0 -1
  210. package/lib/components/UI/VehicleCard/PricePopover.d.ts +0 -8
  211. package/lib/components/UI/VehicleCard/PricePopover.d.ts.map +0 -1
  212. package/lib/components/UI/VehicleCard/PricePopover.js +0 -98
  213. package/lib/components/UI/VehicleCard/PricePopover.js.map +0 -1
  214. package/lib/components/UI/VehicleCard/VehicleBadge.d.ts +0 -7
  215. package/lib/components/UI/VehicleCard/VehicleBadge.d.ts.map +0 -1
  216. package/lib/components/UI/VehicleCard/VehicleFeature.d.ts +0 -9
  217. package/lib/components/UI/VehicleCard/VehicleFeature.d.ts.map +0 -1
  218. package/lib/components/UI/VehicleCard/VehicleFeature.js +0 -22
  219. package/lib/components/UI/VehicleCard/VehicleFeature.js.map +0 -1
  220. package/lib/components/UI/VehicleCard/types.d.ts +0 -59
  221. package/lib/components/UI/VehicleCard/types.d.ts.map +0 -1
  222. package/lib/components/UI/VehicleCard.d.ts +0 -15
  223. package/lib/components/UI/VehicleCard.d.ts.map +0 -1
  224. package/lib/components/UI/VehicleCard.js +0 -166
  225. package/lib/components/UI/VehicleCard.js.map +0 -1
  226. package/lib/components/UI/VehicleCardList.d.ts +0 -14
  227. package/lib/components/UI/VehicleCardList.d.ts.map +0 -1
  228. package/lib/components/UI/VehicleCardList.js +0 -38
  229. package/lib/components/UI/VehicleCardList.js.map +0 -1
  230. package/lib/components/UI/VehicleParamSearchResultContainer.d.ts +0 -90
  231. package/lib/components/UI/VehicleParamSearchResultContainer.d.ts.map +0 -1
  232. package/lib/components/UI/icons/LocationIcon.d.ts +0 -7
  233. package/lib/components/UI/icons/LocationIcon.d.ts.map +0 -1
  234. package/lib/components/UI/icons/LocationIcon.js +0 -18
  235. package/lib/components/UI/icons/LocationIcon.js.map +0 -1
  236. package/lib/components/UI/icons/index.d.ts +0 -2
  237. package/lib/components/UI/icons/index.d.ts.map +0 -1
  238. package/lib/components/UI/index.d.ts +0 -10
  239. package/lib/components/UI/index.d.ts.map +0 -1
  240. package/lib/components/typings.js +0 -6
  241. package/lib/components/typings.js.map +0 -1
  242. package/lib/hooks/use-get-current-lat-long.d.ts +0 -18
  243. package/lib/hooks/use-get-current-lat-long.d.ts.map +0 -1
  244. package/lib/hooks/use-get-current-lat-long.js +0 -29
  245. package/lib/hooks/use-get-current-lat-long.js.map +0 -1
  246. package/lib/hooks/useWindowSize.d.ts +0 -6
  247. package/lib/hooks/useWindowSize.d.ts.map +0 -1
  248. package/lib/hooks/useWindowSize.js +0 -20
  249. package/lib/hooks/useWindowSize.js.map +0 -1
  250. package/lib/middlewares/airbnbDatasourcesMiddleware.d.ts +0 -6
  251. package/lib/middlewares/airbnbDatasourcesMiddleware.d.ts.map +0 -1
  252. package/lib/middlewares/bookingCarRentalMiddleware.d.ts +0 -6
  253. package/lib/middlewares/bookingCarRentalMiddleware.d.ts.map +0 -1
  254. package/lib/middlewares/bookingDatasourcesMiddleware.d.ts +0 -7
  255. package/lib/middlewares/bookingDatasourcesMiddleware.d.ts.map +0 -1
  256. package/lib/middlewares/datasourcesMiddleware.d.ts +0 -6
  257. package/lib/middlewares/datasourcesMiddleware.d.ts.map +0 -1
  258. package/lib/middlewares/pricelineDatasourcesMiddleware.d.ts +0 -7
  259. package/lib/middlewares/pricelineDatasourcesMiddleware.d.ts.map +0 -1
@@ -233,9 +233,7 @@ const RightMenu = ({
233
233
  onMouseEnter: onOpen,
234
234
  children: [jsx("button", {
235
235
  className: `
236
- inline-flex items-center justify-center
237
- ${scrolled ? 'text-muted-foreground bg-transparent hover:text-foreground' : 'text-white bg-muted hover:text-white'}
238
- rounded-full h-12 w-12 min-w-[48px] outline-none transform transition-colors duration-200
236
+ inline-flex items-center justify-center bg-muted hover:bg-muted-foreground text-foreground rounded-full h-12 w-12 min-w-[48px] outline-none transform transition-colors duration-200
239
237
  `,
240
238
  "aria-expanded": "false",
241
239
  onClick: toggleMenu,
@@ -245,7 +243,7 @@ const RightMenu = ({
245
243
  alt: "User"
246
244
  }) : null
247
245
  }), isOpen && jsxs("div", {
248
- className: "absolute right-0 mt-2 w-72 rounded-themed shadow-themed-lg py-1 themed-dropdown ring-1 ring-border focus:outline-none z-40",
246
+ className: "bg-background absolute right-0 mt-2 w-72 rounded-themed shadow-themed-lg py-1 themed-dropdown ring-1 ring-border focus:outline-none z-40",
249
247
  role: "menu",
250
248
  "aria-orientation": "vertical",
251
249
  "aria-labelledby": "user-menu",
@@ -1 +1 @@
1
- {"version":3,"file":"RightMenu.js","sources":["../../../../src/components/Layout/GlobalHeader/RightMenu.tsx"],"sourcesContent":[null],"names":["_jsx","React","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"RightMenu.js","sources":["../../../../src/components/Layout/GlobalHeader/RightMenu.tsx"],"sourcesContent":[null],"names":["_jsx","React","_jsxs"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchBar.js","sources":["../../../../src/components/Layout/GlobalHeader/SearchBar.tsx"],"sourcesContent":[null],"names":[],"mappings":"uSAMA,MAAM;AAQN,EAAA;AACI,CAAA,GAAA,KAAA;AACc,MAAA,SAAc,GAAA,CAAA;AAC5B,EAAA;aACa,GAAA,QAAW;;AAExB,CAAA,KAAA;QAE6B,QAAA,GAAA,WAAA,EAAA;AAC7B,EAAA,MAAA,sBAA2B,EAAA;AACvB,EAAA,MAAA,YAAc,MAAA,CAAK,IAAO,CAAA;AAC1B,EAAA,MAAA,CAAA,MAAA,EAAS,SAAc,CAAA,GAAA,QAAO,CAAC,KAAC,CAAA;AAChC,EAAA,MAAA,CAAA,aAAe,EAAA,gBAAK,CAAA,GAAA,QAAA,CAAA,EAAA,CAAA;AAChB,EAAA,MAAA;eACH;AACL,IAAA,aAAE;IAEF;AACA,GAAA,GAAA,WAAmB,CAAA,KAAA,IAAI,KAA0B,OAAI,CAAA;AACjD;AACI,EAAA,MAAA,kBAAgB,GAAA,MAAA,KAAA,IAAA;kBACP,KAAe,CAAA,MAAA,CAAA,KAAA;2BACJ,CAAA,KAAC,CAAC,CAAA;mBACZ,EAAA,EAAA;AACV,MAAA,QAAA,CAAA,eAAc,CAAA,EAAA,CAAA,CAAA;;;;AAId,EAAA,MAAA,aAAY,GAAA,KAAA,IAAA;iBACH,CAAA,GAAA;sBACD;AACA,QAAA,KAAA,CAAA;wBACI,CAAA,IAAA,IAAS,IAAA,GAAA,aAAA,CAAA,MAAA,GAAA,CAAA,GAAA,IAAA,GAAA,CAAA,GAAA,IAAA,CAAA;;oBAEb;4BACS,EAAC;wBACb,CAAA,IAAA,IAAA,IAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,GAAA,IAAA,CAAA;;AAEL,MAAA,KAAA,OAAa;4BACW,EAAA;yBACX,IAAM,CAAA,IAAE,aAAA,CAAA,aAAA,CAAA,EAAA;gBACjB,MAAM,GAAA,aAAA,CAAA,aAAA,CAAA;UACb,IAAA,MAAA,EAAA;AACL,YAAE,OAAA,CAAA,GAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,KAAA,CAAA;;UAGO,SAAM,CAAA,KAAA,CAAA;AACX;AACI,QAAA;mBACa;aACZ,CAAA,cAAA,EAAA;AACL,QAAA,SAAE,CAAA,KAAA,CAAA;AAEF,QAAA;AACA;AACI,GAAA;AACJ;WACG,CAAA,MAAA;IAEP,MAAsB,kBAAA,GAAA,KAAA,IAAA;AACtB,MAAA,IAAM,SAAiB,CAAA,OAAA,IAAI,CAAA,SAAwB,CAAA,OAAA,CAAA,QAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAC/C,QAAA,SAAU,CAAA,KAAI,CAAE;AACZ;;YAEK,CAAA,gBAAQ,CAAA,WAAA,EAAA,kBAAA,CAAA;AACrB,IAAA,OAAE,MAAA;MAEK,QACE,CAAA,mBAAK,CAAA,WAAW,EAAA,kBAAuB,CAAS;AA2BrB,KAAA;AACA,GAAA,EAAA,EAAA,CAAA;AAwBxC;AAEA,EAAA,MAAA,iBAAyB,GAAA,MAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SearchBar.js","sources":["../../../../src/components/Layout/GlobalHeader/SearchBar.tsx"],"sourcesContent":[null],"names":[],"mappings":"uSAMA,MAAM;AAQN,EAAA;AACI,CAAA,GAAA,KAAA;AACM,MAAA,SAAW,GAAA,CAAA;AACjB,EAAA;aACO,GAAA,QAAQ;;AAEf,CAAA,KAAA;QAEA,QAAA,GAAA,WAAA,EAAA;AACA,EAAA,MAAA,sBAAwB,EAAG;AACvB,EAAA,MAAA,YAAW,MAAG,CAAK,IAAC,CAAA;AACpB,EAAA,MAAA,CAAA,MAAA,EAAS,SAAA,CAAA,GAAA,QAAqB,CAAC,KAAC,CAAA;AAChC,EAAA,MAAA,CAAA,aAAW,EAAI,gBAAK,CAAA,GAAA,QAAA,CAAA,EAAA,CAAA;AAChB,EAAA,MAAA;eACH;AACL,IAAA,aAAE;IAEF;AACA,GAAA,GAAA,WAAM,CAAA,KAAa,IAAI,KAA0B,OAAI,CAAA;AACjD;AACI,EAAA,MAAA,kBAAK,GAAW,MAAA,KAAA,IAAA;kBACZ,KAAM,CAAA,MAAA,CAAA,KAAc;2BACpB,CAAA,KAAiB,CAAC,CAAA;mBAClB,EAAA,EAAM;AACV,MAAA,QAAA,CAAA,eAAc,CAAA,EAAA,CAAA,CAAA;;;;AAId,EAAA,MAAA,aAAK,GAAO,KAAA,IAAA;iBACR,CAAA,GAAK;sBACD;AACA,QAAA,KAAA,CAAA;wBACI,CAAA,IAAA,IAAS,IAAA,GAAA,aAAA,CAAA,MAAA,GAAA,CAAA,GAAA,IAAA,GAAA,CAAA,GAAA,IAAA,CAAA;;oBAEb;4BACA,EAAU;wBACb,CAAA,IAAA,IAAA,IAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,GAAA,IAAA,CAAA;;AAEL,MAAA,KAAA,OAAK;4BACK,EAAA;yBACG,IAAC,CAAA,IAAO,aAAA,CAAA,aAAA,CAAA,EAAA;gBACjB,MAAM,GAAA,aAAA,CAAA,aAAA,CAAA;UACb,IAAA,MAAA,EAAA;AACL,YAAE,OAAA,CAAA,GAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,KAAA,CAAA;UAEF;UACA,SAAe,CAAA,KAAA,CAAA;AACX,QAAA;AACI,QAAA;mBACI;aACH,CAAA,cAAA,EAAA;AACL,QAAA,SAAE,CAAA,KAAA,CAAA;AAEF,QAAA;AACA;AACI,EAAA,CAAA;AACJ;WACG,CAAA,MAAA;IAEP,MAAA,kBAAsB,GAAA,KAAA,IAAA;AACtB,MAAA,IAAM,SAAA,CAAA,OAAiB,IAAI,CAAA,SAAwB,CAAA,OAAA,CAAA,QAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AAC/C,QAAA,SAAI,CAAM,KAAI,CAAE;AACZ,MAAA;;YAEJ,CAAA,gBAAiB,CAAA,WAAA,EAAA,kBAAA,CAAA;AACrB,IAAA,OAAE,MAAA;MAEF,QACI,CAAA,mBAAU,CAAA,WAAW,EAAA,kBAAuB,CAAA;AA2BZ,IAAA,CAAA;AACA,EAAA,CAAA,EAAA,EAAA,CAAA;AAwBxC;AAEA,EAAA,MAAA,iBAAyB,GAAA,MAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,3 @@
1
1
  export * from './MainHeader';
2
- export * from './Logo';
3
2
  export * from './RightMenu';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalHeader/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalHeader/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
2
- import type { LinksFunction } from '@remix-run/node';
3
1
  import { BasicLayoutProps } from '@admin-layout/client';
2
+ import type { LinksFunction } from '@remix-run/node';
3
+ import * as React from 'react';
4
4
  declare const ProTailwindLayout: React.FC<BasicLayoutProps & {
5
5
  loaderData?: any;
6
6
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"ProTailwindLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/ProTailwindLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAOH,gBAAgB,EACnB,MAAM,sBAAsB,CAAC;AAc9B,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG;IAAE,UAAU,CAAC,EAAE,GAAG,CAAA;CAAE,CASxE,CAAC;AACF,eAAe,iBAAiB,CAAC;AAEjC,eAAO,MAAM,MAAM;;CAElB,CAAC;AACF,eAAO,MAAM,KAAK,EAAE,aAA+D,CAAC;AAEpF,eAAO,MAAM,MAAM,GAAU,WAAM;;;EA0BlC,CAAC;AAEF,wBAAsB,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;;;;CAAA,gBAkBnE;AAED,eAAO,MAAM,gBAAgB,GAAI;;;CAA6B,YAE7D,CAAC"}
1
+ {"version":3,"file":"ProTailwindLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/ProTailwindLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,gBAAgB,EAMnB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA2E/B,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG;IAAE,UAAU,CAAC,EAAE,GAAG,CAAA;CAAE,CAyBxE,CAAC;AACF,eAAe,iBAAiB,CAAC;AAEjC,eAAO,MAAM,MAAM;;CAElB,CAAC;AACF,eAAO,MAAM,KAAK,EAAE,aAA+D,CAAC;AAEpF,eAAO,MAAM,MAAM,GAAU,WAAM;;;EA0BlC,CAAC;AAEF,wBAAsB,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;;;;CAAA,gBAkBnE;AAED,eAAO,MAAM,gBAAgB,GAAI;;;CAA6B,YAE7D,CAAC"}
@@ -1,17 +1,73 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { useSelector } from 'react-redux';
3
2
  import { filterRoutesWithLocale, transformData, addProLayoutParentKeys, removeUnnecessaryProperties, menuDataRender } from '@admin-layout/client';
4
3
  import { matchParentRoute } from '@admin-layout/client/lib/utils/parentRoute.js';
5
- import { ClientContainerService } from 'common';
6
4
  import { ClientTypes } from '@common-stack/client-core';
5
+ import { getAvailableCategories, getMenusByAdvancedFilter } from '@common-stack/client-react/lib/utils/filteredRoutes.js';
6
+ import { ClientContainerService } from 'common';
7
+ import * as React from 'react';
8
+ import { useSelector } from 'react-redux';
7
9
  import { createSelector } from 'reselect';
8
- import BasicLayoutEnhanced from './TailwindLayout.js';
9
10
  import { config } from '../../config/env-config.js';
11
+ import BasicLayoutEnhanced from './TailwindLayout.js';
10
12
  import stylesheet from '../../styles/index.css?url';
11
13
  const selectOrgName = state => state.platform.orgName;
12
- const selector = createSelector([selectOrgName], orgName => ({
13
- orgName
14
+ const selectSettings = state => state.settings;
15
+ const selector = createSelector([selectOrgName, selectSettings], (orgName, settings) => ({
16
+ orgName,
17
+ settings
14
18
  }));
19
+ /**
20
+ * Filter menu items based on user visibility settings using filteredRoutes utilities
21
+ */
22
+ function filterMenuItemsByVisibility(menuData, settings) {
23
+ if (!menuData || !Array.isArray(menuData)) return [];
24
+ const hiddenMenuCategories = settings?.hiddenMenuCategories || [];
25
+ // Deduplicate hiddenMenuKeys using Set for consistent behavior
26
+ const hiddenMenuKeys = settings?.hiddenMenuKeys ? Array.from(new Set(settings.hiddenMenuKeys)) : [];
27
+ // Convert menu data to format expected by filteredRoutes utilities
28
+ const menuItemsWithCategories = menuData.map(item => ({
29
+ ...item,
30
+ // Use position as category for filtering
31
+ category: item.position || 'default',
32
+ // Ensure key exists for filtering
33
+ key: item.key || item.path || ''
34
+ }));
35
+ // Step 1: Filter by categories using advanced filter
36
+ const availableCategories = getAvailableCategories(menuItemsWithCategories);
37
+ const visibleCategories = availableCategories.filter(category => !hiddenMenuCategories.includes(category.toLowerCase()));
38
+ let filteredByCategory = menuItemsWithCategories;
39
+ if (visibleCategories.length !== availableCategories.length) {
40
+ // Use advanced filter to get menus by visible categories
41
+ const filters = {
42
+ categories: visibleCategories.length > 0 ? visibleCategories : ['__no_matches__'] // Empty array would show all
43
+ };
44
+ const filteredMenuMaps = getMenusByAdvancedFilter(menuItemsWithCategories, filters);
45
+ // Convert back to array format
46
+ filteredByCategory = filteredMenuMaps.map(menuMap => {
47
+ const path = Object.keys(menuMap)[0];
48
+ return {
49
+ ...menuMap[path],
50
+ path
51
+ };
52
+ });
53
+ }
54
+ // Step 2: Filter out individually hidden items recursively
55
+ const filterItemsRecursively = items => {
56
+ return items.filter(item => {
57
+ if (!item?.key) return false;
58
+ // Skip if this specific item is hidden
59
+ if (hiddenMenuKeys.includes(item.key)) {
60
+ return false;
61
+ }
62
+ // Process children recursively
63
+ if (item.children && Array.isArray(item.children) && item.children.length > 0) {
64
+ item.children = filterItemsRecursively(item.children);
65
+ }
66
+ return true;
67
+ });
68
+ };
69
+ return filterItemsRecursively(filteredByCategory);
70
+ }
15
71
  const ProTailwindLayout = props => {
16
72
  const {
17
73
  loaderData: {
@@ -20,15 +76,21 @@ const ProTailwindLayout = props => {
20
76
  }
21
77
  } = props;
22
78
  const {
23
- orgName
79
+ orgName,
80
+ settings
24
81
  } = useSelector(state => selector(state));
82
+ // Apply menu visibility filters
83
+ const filteredMenuData = React.useMemo(() => {
84
+ return filterMenuItemsByVisibility(newMenuData, settings);
85
+ }, [newMenuData, settings?.hiddenMenuCategories, settings?.hiddenMenuKeys]);
25
86
  const params = {
26
87
  orgName: orgName
27
88
  };
28
89
  return jsx(BasicLayoutEnhanced, {
29
90
  routeParams: params,
30
91
  permissions: permissions,
31
- menuData: newMenuData
92
+ menuData: filteredMenuData,
93
+ fullMenuData: newMenuData
32
94
  });
33
95
  };
34
96
  const handle = {
@@ -1 +1 @@
1
- {"version":3,"file":"ProTailwindLayout.js","sources":["../../../src/components/Layout/ProTailwindLayout.tsx"],"sourcesContent":[null],"names":["_jsx","TailwindLayout"],"mappings":"+jBAqBA,MAAM,aAAa,GAAG,KAAC,IAAO,KAAG,CAAA,QAAM,CAAA,OAAS;AAEhD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,aAAa,CAAC,EAAE,YAAY;AAE7D,EAAA;;AAII,MAAA,iBAAoB,GAAA,KAAA,IAAW;AAG/B,EAAA,MAAA;AACA,IAAA,UAAQ,EAAA;AACZ,MAAE,WAAA;AACF,MAAA;AAEA;AACI,GAAA,GAAA,KAAY;EACd,MAAA;AACF,IAAA;AAEA,GAAM,GAAA,WAAa,CAAA,SAAQ,QAAQ,MAAI,CAAA,CAAA;AACnC,EAAA,MAAA,MAAmB,GAAA;IACnB,OAAI,EAAA;AACJ,GAAA;SACeA,GAAA,CAAAC;IACf,WAAC,EAAA,MAAA;IAAC,WAAgB,EAAA,WAAA;AACd,IAAA,QAAA,EAAA;IACJ;;;AAKA,EAAA,IAAA,EAAA;AACA;cACkB,MAAA,CAAM;KACpB,EAAA,YAAY;AACZ,EAAA,IAAA,EAAA;;AAEY,MAAA,MAAA,GAAE,MAAC,MAAA,IAAA;AACf,EAAA,MAAA;IACJ;MACM,MAAA,CAAA,OAAA;MACC,WAAA,GAAA,EAAA;;eAEQ,GAAA,gBAAA,CAAA,WAAA,EAAA,MAAA,CAAA,WAAA,CAAA;WACb,CAAA,EAAA;AACN,IAAE,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAEF;QACgF,eAAA,GAAA,sBAAA,CAAA,WAAA,CAAA,QAAA,CAAA,CAAA;AAC5E,EAAA,MAAA,iBAAyB,GAAA,aAAY,gBAAG,CAAA;AACxC,EAAA,MAAA,+CAAmC,CAAA,iBAAA,CAAA;AAEnC,EAAA,sBAAK,CAAA,OAAA,CAAA,IAAA,IAAA,2BAAA,CAAA,IAAA,CAAA,CAAA;AACD,EAAA,IAAA,WAAiB,GAAA,MAAA;iBAEX,GAAA,MAAc,EAAA,YAAU,EAAI,WAAW;AAC7C,EAAA,IAAA,CAAA,WAAA,EAAY;UAEN,IAAA,KAAA,CAAA,uBAAsB,CAAA;AAC5B;MACH,CAAA,WAAA,EAAA;IAAC,MAAO,IAAG,KAAC,CAAA,uBAAA,CAAA;AACT;AACA,EAAA,MAAA,WAAQ,GAAM,cAAG,CAAA,eAAA,EAAA,WAAA,CAAA;SACpB;AACD,IAAA;AACJ,IAAC;AAED,GAAM;AACF;AACF,eAAA,YAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ProTailwindLayout.js","sources":["../../../src/components/Layout/ProTailwindLayout.tsx"],"sourcesContent":[null],"names":["_jsx","TailwindLayout"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Divider.js","sources":["../../../../src/components/Layout/Sidebar/Divider.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"wFAIM,SAAU,OAAO,CAAC;UAS8B;aACrC,GAAA,YAAG;AACZ,EAAA,KAAA,GAAA,KAAO;WAWV;OAE2C;AAC5C,EAAA,KAAA,GAAA,QAEQ;AASY,EAAA,GAAA;AACA,CAAA,EAAA;;;AAKP,IAAA,OAAAA,GAAA,CAAA,KAEL,EAAA;oBAQQ,WAAY,KAAO,YAAA,GAAA,iBAAA,GAAA,iBAAA,EAAA,sCAAA,EAAA,SAAA,CAAA;kBAGtB;AAOO,MAAA,GAAA;AACA,KAAA,CAAA;;;mBAMV,EAAA;AAGd,IAAC,SAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,WAAA,KAAA,UAAA,IAAA,iBAAA,EAAA,SAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Divider.js","sources":["../../../../src/components/Layout/Sidebar/Divider.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"wFAIM,SAAU,OAAO,CAAC;UASpB;aACK,GAAA,YAAW;AACZ,EAAA,KAAA,GAAA,KAAO;WAWV;OAED;AACA,EAAA,KAAA,GAAA,QACI;AAUgB,EAAA,GAAA;AACA,CAAA,EAAA;;;AAKP,IAAA,OAAAA,GAAA,CAAA,KACH,EACF;oBAQQ,WAAO,KAAO,YAAK,GAAA,iBAAA,GAAA,iBAAA,EAAA,sCAAA,EAAA,SAAA,CAAA;kBACtB;AASO,MAAA,GAAA;AACA,KAAA,CAAA;;;mBAMV,EAAA;AAGd,IAAC,SAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,WAAA,KAAA,UAAA,IAAA,iBAAA,EAAA,SAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicIcon.js","sources":["../../../../src/components/Layout/Sidebar/DynamicIcon.tsx"],"sourcesContent":[null],"names":["_jsx","React"],"mappings":"0IAKa,MAAA,iBAAiB,GAAG,IAAC,IAAQ;AACtC,EAAA,IAAA,OAAW,IAAA,KAAS,QAAA,EAAQ;AACxB,IAAA,OAAAA,GAAO,CAAC,WAAA,EAAA;MACX,IAAA,EAAA,IAAA,CAAA,IAAA;AAAM,MAAA,SAAW,EAAA,IAAA,CAAA;AACd,KAAA,CAAA;SACH,IAAA,OAAA,IAAA,KAAA,QAAA,EAAA;WAAOA,GAAA,CAAA,WAAA,EAAA;AACJ,MAAA,IAAA,EAAA;KACH,CAAA;AACL,GAAE,MAAA;AAEF,IAAA,OAAa,IAAA;;;AAIK,MAAA,WAAW,GAAAC,cAAK,CAAA,IAAA,CAAA,CAAA;;AAEd,EAAA,SAAA;;AAEK,CAAA,KAAA;AACG,EAAA,MAAA,CAAA,aAAA,EAAI,4BAA0B,CAAA,IAAA,CAAQ;;qBAErC,MAAA;0BAAO;0BACY,GAAA,eAAI;oBACxB,CAAC,IAAA,CAAA,MAAA,IAAA;AACL,UAAA,IAAA,OAAE,MAAA,CAAA,OAAA,KAAA,QAAA,EAAA;AACD,YAAA,gBAAO,CAAG,MAAI,MAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;;AAEf,YAAA,gBAAG,CAAA,MAAA,MAAA,CAAA,OAAA,CAAA;;AAEf,SAAC,CAAC,CAAA,KAAA,CAAA,GAAA,IAAA;AACF,UAAA,gBAAW,CAAA,IAAA,CAAA;SACV,CAAC;AAEN;AAAoB,KAAA;IAEpB,QACI;AAIgB,GAAA,EAAA,EAAA,CAAA;AACH,EAAA,IAAA,CAAA,aACQ,EAAA,OAEhB,IAEP;AACN,SACCD,GAAS,CAAE,KAAA,EAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DynamicIcon.js","sources":["../../../../src/components/Layout/Sidebar/DynamicIcon.tsx"],"sourcesContent":[null],"names":["_jsx","React"],"mappings":"0IAKO,MAAM,iBAAiB,GAAG,IAAC,IAAM;AACpC,EAAA,IAAA,OAAI,IAAO,KAAI,QAAK,EAAQ;AACxB,IAAA,OAAAA,GAAO,CAAA,WAAC,EAAA;MACX,IAAA,EAAA,IAAA,CAAA,IAAA;AAAM,MAAA,SAAI,EAAA,IAAO,CAAA;AACd,KAAA,CAAA;SACH,IAAA,OAAA,IAAA,KAAA,QAAA,EAAA;WAAOA,GAAA,CAAA,WAAA,EAAA;AACJ,MAAA,IAAA,EAAA;KACH,CAAA;AACL,EAAE,CAAA,MAAA;AAEF,IAAA,OAAO,IAAM;;;AAID,MAAA,WAAc,GAAGC,cAAK,CAAA,IAAA,CAAA,CAAA;;AAEd,EAAA,SAAA;;AAEK,CAAA,KAAA;AACG,EAAA,MAAA,CAAA,aAAA,EAAI,4BAA0B,CAAA,IAAA,CAAQ;;qBAErC,MAAA;0BAAO;0BACJ,GAAA,eAAoB;oBACxB,CAAC,IAAA,CAAA,MAAA,IAAA;AACL,UAAA,IAAA,OAAE,MAAA,CAAA,OAAA,KAAA,QAAA,EAAA;AACD,YAAA,gBAAO,CAAA,MAAO,MAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;;AAEf,YAAA,gBAAG,CAAA,MAAA,MAAA,CAAA,OAAA,CAAA;;AAEf,QAAA,CAAC,CAAC,CAAA,KAAA,CAAA,GAAA,IAAA;AACF,UAAA,gBAAW,CAAA,IAAA,CAAA;QACZ,CAAE,CAAC;AAEN,MAAA;AAAoB,IAAA,CAAA;IAEpB,QACI;AAIgB,EAAA,CAAA,EAAA,EAAA,CAAA;AACH,EAAA,IAAA,CAAA,aACG,EAAA,OAEX,IAEP;AACN,SACCD,GAAS,CAAA,KAAE,EAAA;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { SidebarProps } from '../../typings';
3
+ export declare const MainSidebar: React.FC<SidebarProps>;
4
+ export default MainSidebar;
5
+ //# sourceMappingURL=MainSidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MainSidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar/MainSidebar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAIzC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAM7C,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAmP9C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,4 +1,4 @@
1
- import {jsxs,jsx}from'react/jsx-runtime';import React__default,{useState,useEffect}from'react';import {useTranslation}from'react-i18next';import BottomMenuDropDown from'../GlobalFooter/BottomMenuDropdown.js';import {getMenuSeparation}from'@admin-layout/client';import {Divider}from'./Divider.js';import {SidebarMenu}from'./SidebarMenu.js';import {RightContent}from'../GlobalHeader/RightContent.js';import {icons}from'../../../icons.js';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import'../../../hooks/use-get-current-lat-long.js';import {useMediaQuery}from'../../../hooks/useMediaQuery.js';const Sidebar = props => {
1
+ import {jsxs,jsx}from'react/jsx-runtime';import {getMenuSeparation}from'@admin-layout/client';import React__default,{useEffect}from'react';import {useTranslation}from'react-i18next';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../../hooks/useMediaQuery.js';import {icons}from'../../../icons.js';import BottomMenuDropDown from'../GlobalFooter/BottomMenuDropdown.js';import {RightContent}from'../GlobalHeader/RightContent.js';import {Divider}from'./Divider.js';import {MainSidebarMenu}from'./MainSidebarMenu.js';const MainSidebar = props => {
2
2
  const {
3
3
  isSideMenuOpen,
4
4
  closeSideMenu,
@@ -7,9 +7,9 @@ import {jsxs,jsx}from'react/jsx-runtime';import React__default,{useState,useEffe
7
7
  routeParams,
8
8
  settings,
9
9
  setCollapsed,
10
- location
10
+ location,
11
+ showHeader
11
12
  } = props;
12
- const [isPagesMenuOpen, setIsPagesMenuOpen] = useState(false);
13
13
  const [iconModule, setIconModule] = React__default.useState(null);
14
14
  const {
15
15
  t,
@@ -23,9 +23,31 @@ import {jsxs,jsx}from'react/jsx-runtime';import React__default,{useState,useEffe
23
23
  ChevronRightIcon
24
24
  } = icons;
25
25
  const currentRoute = location?.pathname || '/';
26
- const routeSettings = settings?.routeSettings?.[currentRoute] || settings?.routeSettings?.['/'] || settings;
27
26
  const deviceType = isMobile ? 'mobile' : 'desktop';
28
- const deviceLayout = routeSettings?.layout?.[deviceType] || {};
27
+ // Helper function to get value from settings with route/device override support
28
+ const getUILayoutValue = path => {
29
+ // Check for route/device-specific override first
30
+ const routeDeviceKey = `[${currentRoute}][${deviceType}]`;
31
+ const uiOverride = settings?.uiSettings?.[routeDeviceKey];
32
+ if (uiOverride) {
33
+ const value = path.split('.').reduce((obj, key) => obj?.[key], uiOverride);
34
+ if (value !== undefined) return value;
35
+ }
36
+ // Fallback to settings (flattened uilayout from configuration-registries)
37
+ return path.split('.').reduce((obj, key) => obj?.[key], settings);
38
+ };
39
+ // Get layout settings from the new flat structure
40
+ const deviceLayout = {
41
+ navigationMode: getUILayoutValue('navigationMode'),
42
+ sideMenuType: getUILayoutValue('sideMenuType'),
43
+ contentWidth: getUILayoutValue('contentWidth'),
44
+ fixedHeader: getUILayoutValue('fixedHeader'),
45
+ fixedSidebar: getUILayoutValue('fixedSidebar'),
46
+ splitMenus: getUILayoutValue('splitMenus'),
47
+ upperMenuDividerName: getUILayoutValue('upperMenuDividerName'),
48
+ middleMenuDividerName: getUILayoutValue('middleMenuDividerName'),
49
+ lowerMenuDividerName: getUILayoutValue('lowerMenuDividerName')
50
+ };
29
51
  useEffect(() => {
30
52
  if (!iconModule) {
31
53
  import('./DynamicIcon.js').then(module => {
@@ -90,10 +112,16 @@ import {jsxs,jsx}from'react/jsx-runtime';import React__default,{useState,useEffe
90
112
  };
91
113
  // Use CSS classes instead of theme-based styling
92
114
  const getSidebarClasses = () => {
93
- let classes = 'text-gray-500 dark:text-gray-400 md:h-[93vh] h-full flex flex-col';
115
+ let classes = `text-gray-500 dark:text-gray-400 h-full flex flex-col`;
94
116
  if (settings?.navTheme === 'realDark') {
95
117
  classes += ' themed-sidebar';
96
118
  }
119
+ if (showHeader) {
120
+ classes += ' md:h-[92vh]';
121
+ }
122
+ if (!showHeader) {
123
+ classes += ' md:h-[100vh]';
124
+ }
97
125
  return classes;
98
126
  };
99
127
  const SidebarStyles = React__default.useMemo(() => ({
@@ -131,7 +159,7 @@ import {jsxs,jsx}from'react/jsx-runtime';import React__default,{useState,useEffe
131
159
  className: "flex-grow overflow-y-auto",
132
160
  children: [middleMenus?.length > 0 && jsxs("div", {
133
161
  className: "removeBoxShadow",
134
- children: [renderSeparator(deviceLayout?.middleMenuDividerName), jsx(SidebarMenu, {
162
+ children: [renderSeparator(deviceLayout?.middleMenuDividerName), jsx(MainSidebarMenu, {
135
163
  menuData: updateMenuIcons(middleMenus),
136
164
  routeParams: routeParams,
137
165
  settings: settings,
@@ -139,7 +167,7 @@ import {jsxs,jsx}from'react/jsx-runtime';import React__default,{useState,useEffe
139
167
  })]
140
168
  }), lowerMenus?.length > 0 && jsxs("div", {
141
169
  className: "removeBoxShadow",
142
- children: [renderSeparator(deviceLayout?.lowerMenuDividerName), jsx(SidebarMenu, {
170
+ children: [renderSeparator(deviceLayout?.lowerMenuDividerName), jsx(MainSidebarMenu, {
143
171
  menuData: updateMenuIcons(lowerMenus),
144
172
  routeParams: routeParams,
145
173
  settings: settings,
@@ -177,4 +205,4 @@ import {jsxs,jsx}from'react/jsx-runtime';import React__default,{useState,useEffe
177
205
  children: renderSidebarContent()
178
206
  })]
179
207
  });
180
- };export{Sidebar,Sidebar as default};//# sourceMappingURL=Sidebar.js.map
208
+ };export{MainSidebar,MainSidebar as default};//# sourceMappingURL=MainSidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MainSidebar.js","sources":["../../../../src/components/Layout/Sidebar/MainSidebar.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SidebarMenuProps } from '../../typings';
3
+ export declare const MainSidebarMenu: React.NamedExoticComponent<SidebarMenuProps>;
4
+ //# sourceMappingURL=MainSidebarMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MainSidebarMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar/MainSidebarMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAoZjD,eAAO,MAAM,eAAe,8CAAuC,CAAC"}
@@ -0,0 +1,294 @@
1
+ import {jsx,jsxs}from'react/jsx-runtime';import {generateMenuPath}from'@admin-layout/client';import {useLocation,Link}from'@remix-run/react';import React__default,{useState,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
+ MAX_HEIGHT: 400,
8
+ MIN_WIDTH: 220};
9
+ // Pure function moved outside component
10
+ const getFirstLetter = name => name.charAt(0).toUpperCase();
11
+ // Utility for determining active menu item
12
+ const isMenuItemActive = (itemPath, currentPath, routeParams) => {
13
+ const menuPath = generateMenuPath(itemPath, routeParams);
14
+ // Exact match
15
+ if (currentPath === menuPath) {
16
+ return true;
17
+ }
18
+ // Check if current path is a child of the menu item path
19
+ if (menuPath && currentPath.startsWith(menuPath + '/')) {
20
+ return true;
21
+ }
22
+ return false;
23
+ };
24
+ // CSS keyframes definition moved outside component
25
+ const POPUP_ANIMATION_CSS = `
26
+ @keyframes fadeIn {
27
+ from { opacity: 0; transform: translateX(-10px); }
28
+ to { opacity: 1; transform: translateX(0); }
29
+ }
30
+ `;
31
+ const getTextColor = (active, navTheme) => {
32
+ if (active) return 'text-primary';
33
+ if (navTheme === 'realDark') return 'text-white';
34
+ return 'text-foreground';
35
+ };
36
+ const getIconColor = (active, navTheme) => {
37
+ if (active) return 'text-primary';
38
+ if (navTheme === 'realDark') return 'text-white';
39
+ return 'text-muted-foreground';
40
+ };
41
+ // Custom comparison function for React.memo
42
+ // Update the areMenuItemPropsEqual function to be more precise about location changes
43
+ const areMenuItemPropsEqual = (prevProps, nextProps) => {
44
+ // Always re-render if the item itself changed
45
+ if (prevProps.item !== nextProps.item) {
46
+ return false;
47
+ }
48
+ // Check only if active state changes instead of checking entire pathname
49
+ const prevIsActive = isMenuItemActive(prevProps.item.path, prevProps.locationPathname, prevProps.routeParams);
50
+ const nextIsActive = isMenuItemActive(nextProps.item.path, nextProps.locationPathname, nextProps.routeParams);
51
+ if (prevIsActive !== nextIsActive) {
52
+ return false;
53
+ }
54
+ // Rest of your existing checks...
55
+ if (prevProps.depth !== nextProps.depth || prevProps.isHoverMenu !== nextProps.isHoverMenu || prevProps.collapsed !== nextProps.collapsed || prevProps.navTheme !== nextProps.navTheme) {
56
+ return false;
57
+ }
58
+ // Check routeParams (shallow object comparison)
59
+ const prevRouteParamsKeys = Object.keys(prevProps.routeParams);
60
+ const nextRouteParamsKeys = Object.keys(nextProps.routeParams);
61
+ if (prevRouteParamsKeys.length !== nextRouteParamsKeys.length) {
62
+ return false;
63
+ }
64
+ for (const key of prevRouteParamsKeys) {
65
+ if (prevProps.routeParams[key] !== nextProps.routeParams[key]) {
66
+ return false;
67
+ }
68
+ }
69
+ // Check popupPosition
70
+ if (prevProps.popupPosition.top !== nextProps.popupPosition.top || prevProps.popupPosition.height !== nextProps.popupPosition.height) {
71
+ return false;
72
+ }
73
+ // Check if this specific item's open state changed
74
+ const prevIsOpen = prevProps.openMenus.includes(prevProps.item.path);
75
+ const nextIsOpen = nextProps.openMenus.includes(nextProps.item.path);
76
+ if (prevIsOpen !== nextIsOpen) {
77
+ return false;
78
+ }
79
+ // Check if this specific item's hover state changed
80
+ const prevIsHovered = prevProps.hoveredMenu === prevProps.item.path;
81
+ const nextIsHovered = nextProps.hoveredMenu === nextProps.item.path;
82
+ if (prevIsHovered !== nextIsHovered) {
83
+ return false;
84
+ }
85
+ // If none of the relevant props changed, don't re-render
86
+ return true;
87
+ };
88
+ const MenuItem = React__default.memo(({
89
+ item,
90
+ depth,
91
+ isHoverMenu,
92
+ openMenus,
93
+ hoveredMenu,
94
+ collapsed,
95
+ navTheme,
96
+ locationPathname,
97
+ routeParams,
98
+ popupPosition,
99
+ onToggleMenu,
100
+ onMenuHover,
101
+ onMenuLeave,
102
+ ChevronUpIcon,
103
+ ChevronDownIcon
104
+ }) => {
105
+ // Only log when actually rendering (not on every navigation)
106
+ const hasChildren = item.children && item.children.length > 0;
107
+ const isOpen = openMenus.includes(item.path);
108
+ const isActive = isMenuItemActive(item.path, locationPathname, routeParams);
109
+ const isHovered = hoveredMenu === item.path;
110
+ const menuItemPaddingLeft = `${depth * 1}rem`;
111
+ const subMenuItemPaddingLeft = `${depth * 2}rem`;
112
+ // Determine styling based on whether it's a parent or child item
113
+ const isParentWithChildren = hasChildren && depth === 0;
114
+ const shouldApplyBackground = isActive && !isParentWithChildren || isHovered;
115
+ const handleMenuClick = useCallback(e => {
116
+ if (hasChildren && !collapsed) {
117
+ onToggleMenu(item.path, depth, e);
118
+ }
119
+ }, [hasChildren, collapsed, item.path, depth, onToggleMenu]);
120
+ const renderPopupMenu = useCallback(() => {
121
+ if (!item.children || item.children.length === 0) return null;
122
+ return jsxs("div", {
123
+ className: "fixed shadow-themed-xl rounded-themed-lg border border-border z-[999] overflow-hidden themed-dropdown",
124
+ style: {
125
+ left: `${SIDEBAR_WIDTHS[collapsed ? 'COLLAPSED' : 'EXPANDED']}px`,
126
+ top: `${popupPosition.top}px`,
127
+ animation: 'fadeIn 0.2s ease-out forwards',
128
+ maxWidth: 'calc(100vw - 100px)',
129
+ width: 'max-content',
130
+ minWidth: POPUP_CONFIG.MIN_WIDTH
131
+ },
132
+ children: [jsx("style", {
133
+ dangerouslySetInnerHTML: {
134
+ __html: POPUP_ANIMATION_CSS
135
+ }
136
+ }), jsx("div", {
137
+ className: "font-medium text-sm px-4 py-3 border-b border-border whitespace-nowrap bg-muted",
138
+ children: jsx("span", {
139
+ className: "text-primary",
140
+ children: item.name
141
+ })
142
+ }), jsx("div", {
143
+ className: `max-h-[${POPUP_CONFIG.MAX_HEIGHT}px] overflow-y-auto overflow-x-hidden py-1`,
144
+ children: item.children.map(child => jsx(MenuItem, {
145
+ item: child,
146
+ depth: depth + 1,
147
+ isHoverMenu: true,
148
+ openMenus: openMenus,
149
+ hoveredMenu: hoveredMenu,
150
+ collapsed: collapsed,
151
+ navTheme: navTheme,
152
+ locationPathname: locationPathname,
153
+ routeParams: routeParams,
154
+ popupPosition: popupPosition,
155
+ onToggleMenu: onToggleMenu,
156
+ onMenuHover: onMenuHover,
157
+ onMenuLeave: onMenuLeave,
158
+ ChevronUpIcon: ChevronUpIcon,
159
+ ChevronDownIcon: ChevronDownIcon
160
+ }, child.path))
161
+ })]
162
+ });
163
+ }, [item, depth, collapsed, popupPosition.top, openMenus, hoveredMenu, navTheme, locationPathname, routeParams, onToggleMenu, onMenuHover, onMenuLeave, ChevronUpIcon, ChevronDownIcon]);
164
+ return jsxs("div", {
165
+ className: `w-full relative group ${isHovered && collapsed && !isHoverMenu ? 'rounded-themed' : ''}`,
166
+ style: {
167
+ backgroundColor: isHovered && !isHoverMenu ? 'hsl(var(--muted))' : ''
168
+ },
169
+ onMouseEnter: e => onMenuHover(e, item, isHoverMenu),
170
+ onMouseLeave: () => onMenuLeave(item, isHoverMenu),
171
+ children: [jsxs(Link, {
172
+ to: hasChildren && collapsed && !isHoverMenu ? '#' : generateMenuPath(item?.path, routeParams),
173
+ 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' : ''}`,
174
+ style: {
175
+ paddingLeft: `calc(1rem + ${depth > 0 ? subMenuItemPaddingLeft : menuItemPaddingLeft})`
176
+ },
177
+ onClick: handleMenuClick,
178
+ children: [jsxs("div", {
179
+ className: `flex items-center ${collapsed && !isHoverMenu ? 'justify-center w-full' : 'gap-3'}`,
180
+ children: [item.icon ? jsx("span", {
181
+ className: `flex-shrink-0 ${getIconColor(isActive, navTheme)}`,
182
+ children: item.icon
183
+ }) : collapsed && !isHoverMenu ? jsx("span", {
184
+ className: `flex items-center justify-center flex-shrink-0 ${getIconColor(isActive, navTheme)}`,
185
+ children: getFirstLetter(item.name)
186
+ }) : null, (!collapsed || isHoverMenu) && jsx("span", {
187
+ className: `font-medium whitespace-nowrap overflow-hidden text-ellipsis ${getTextColor(isActive, navTheme)} ${depth > 0 ? `text-xs` : ''}`,
188
+ children: item.name
189
+ })]
190
+ }), hasChildren && (!collapsed || isHoverMenu) && jsx("span", {
191
+ className: `flex-shrink-0 ml-1 ${getIconColor(isActive, navTheme)}`,
192
+ children: isOpen ? jsx(ChevronUpIcon, {
193
+ className: "h-4 w-4"
194
+ }) : jsx(ChevronDownIcon, {
195
+ className: "h-4 w-4"
196
+ })
197
+ })]
198
+ }), collapsed && hasChildren && isHovered && !isHoverMenu && item.children.length > 0 && renderPopupMenu(), hasChildren && isOpen && !collapsed && jsx("div", {
199
+ className: "transition-all duration-200 ease-in-out",
200
+ children: item.children.map(child => jsx(MenuItem, {
201
+ item: child,
202
+ depth: depth + 1,
203
+ isHoverMenu: false,
204
+ openMenus: openMenus,
205
+ hoveredMenu: hoveredMenu,
206
+ collapsed: collapsed,
207
+ navTheme: navTheme,
208
+ locationPathname: locationPathname,
209
+ routeParams: routeParams,
210
+ popupPosition: popupPosition,
211
+ onToggleMenu: onToggleMenu,
212
+ onMenuHover: onMenuHover,
213
+ onMenuLeave: onMenuLeave,
214
+ ChevronUpIcon: ChevronUpIcon,
215
+ ChevronDownIcon: ChevronDownIcon
216
+ }, child.path))
217
+ })]
218
+ });
219
+ }, areMenuItemPropsEqual);
220
+ MenuItem.displayName = 'MenuItem';
221
+ const MainSidebarMenuComponent = ({
222
+ menuData,
223
+ routeParams,
224
+ settings,
225
+ collapsed
226
+ }) => {
227
+ const [openMenus, setOpenMenus] = useState([]);
228
+ const [hoveredMenu, setHoveredMenu] = useState(null);
229
+ const [popupPosition, setPopupPosition] = useState({
230
+ top: 0,
231
+ height: 0
232
+ });
233
+ const {
234
+ ChevronDownIcon,
235
+ ChevronUpIcon
236
+ } = icons;
237
+ const location = useLocation();
238
+ const navTheme = settings?.navTheme;
239
+ // Event handler for toggling menu open/closed
240
+ const toggleMenu = useCallback((path, depth, e) => {
241
+ e.preventDefault();
242
+ if (collapsed) return;
243
+ setOpenMenus(prev => {
244
+ if (prev.includes(path)) {
245
+ return prev.filter(item => item !== path);
246
+ } else {
247
+ return [...prev, path];
248
+ }
249
+ });
250
+ }, [collapsed]);
251
+ // Event handlers for hover effects
252
+ const handleMenuHover = useCallback((e, item, isHoverMenu) => {
253
+ // Only set hover state if the menu has children
254
+ if (collapsed && !isHoverMenu && item.children && item.children.length > 0) {
255
+ const element = e.currentTarget;
256
+ const rect = element.getBoundingClientRect();
257
+ setPopupPosition({
258
+ top: rect.top,
259
+ height: rect.height
260
+ });
261
+ setHoveredMenu(item.path);
262
+ }
263
+ }, [collapsed]);
264
+ const handleMenuLeave = useCallback((item, isHoverMenu) => {
265
+ if (collapsed && !isHoverMenu) {
266
+ setHoveredMenu(null);
267
+ }
268
+ }, [collapsed]);
269
+ return jsx("div", {
270
+ className: "overflow-hidden",
271
+ children: jsx("nav", {
272
+ className: `mt-2 ${collapsed ? 'px-1' : 'px-2'} overflow-x-hidden`,
273
+ children: menuData.map(item => jsx(MenuItem, {
274
+ item: item,
275
+ depth: 0,
276
+ isHoverMenu: false,
277
+ openMenus: openMenus,
278
+ hoveredMenu: hoveredMenu,
279
+ collapsed: collapsed,
280
+ navTheme: navTheme,
281
+ locationPathname: location.pathname,
282
+ routeParams: routeParams,
283
+ popupPosition: popupPosition,
284
+ onToggleMenu: toggleMenu,
285
+ onMenuHover: handleMenuHover,
286
+ onMenuLeave: handleMenuLeave,
287
+ ChevronUpIcon: ChevronUpIcon,
288
+ ChevronDownIcon: ChevronDownIcon
289
+ }, item.path))
290
+ })
291
+ });
292
+ };
293
+ // Export the memoized version to prevent unnecessary re-renders
294
+ const MainSidebarMenu = React__default.memo(MainSidebarMenuComponent);export{MainSidebarMenu};//# sourceMappingURL=MainSidebarMenu.js.map