@admin-layout/tailwind-design-pro 12.0.16-alpha.7 → 12.0.16-alpha.70

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 (180) hide show
  1. package/README.md +20 -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.js.map +1 -1
  8. package/lib/components/Layout/BasicLayout/index.d.ts +2 -1
  9. package/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
  10. package/lib/components/Layout/BasicLayout/index.js +131 -44
  11. package/lib/components/Layout/BasicLayout/index.js.map +1 -1
  12. package/lib/components/Layout/BasicLayout/utils.d.ts +2 -0
  13. package/lib/components/Layout/BasicLayout/utils.d.ts.map +1 -1
  14. package/lib/components/Layout/BasicLayout/utils.js +16 -13
  15. package/lib/components/Layout/BasicLayout/utils.js.map +1 -1
  16. package/lib/components/Layout/GlobalFooter/Account.d.ts +4 -0
  17. package/lib/components/Layout/GlobalFooter/Account.d.ts.map +1 -0
  18. package/lib/components/Layout/GlobalFooter/Account.js +147 -0
  19. package/lib/components/Layout/GlobalFooter/Account.js.map +1 -0
  20. package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.d.ts.map +1 -1
  21. package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.js +7 -12
  22. package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.js.map +1 -1
  23. package/lib/components/Layout/GlobalHeader/Header.d.ts.map +1 -1
  24. package/lib/components/Layout/GlobalHeader/Header.js +31 -8
  25. package/lib/components/Layout/GlobalHeader/Header.js.map +1 -1
  26. package/lib/components/Layout/GlobalHeader/MainHeader.d.ts +0 -2
  27. package/lib/components/Layout/GlobalHeader/MainHeader.d.ts.map +1 -1
  28. package/lib/components/Layout/GlobalHeader/MainHeader.js +32 -84
  29. package/lib/components/Layout/GlobalHeader/MainHeader.js.map +1 -1
  30. package/lib/components/Layout/GlobalHeader/OrganizationDropdown.js +1 -1
  31. package/lib/components/Layout/GlobalHeader/OrganizationDropdown.js.map +1 -1
  32. package/lib/components/Layout/GlobalHeader/RightContent.d.ts +1 -0
  33. package/lib/components/Layout/GlobalHeader/RightContent.d.ts.map +1 -1
  34. package/lib/components/Layout/GlobalHeader/RightContent.js +73 -6
  35. package/lib/components/Layout/GlobalHeader/RightContent.js.map +1 -1
  36. package/lib/components/Layout/GlobalHeader/RightMenu.d.ts.map +1 -1
  37. package/lib/components/Layout/GlobalHeader/RightMenu.js +2 -4
  38. package/lib/components/Layout/GlobalHeader/RightMenu.js.map +1 -1
  39. package/lib/components/Layout/GlobalHeader/SearchBar.js.map +1 -1
  40. package/lib/components/Layout/GlobalHeader/index.d.ts +0 -1
  41. package/lib/components/Layout/GlobalHeader/index.d.ts.map +1 -1
  42. package/lib/components/Layout/ProTailwindLayout.d.ts +2 -2
  43. package/lib/components/Layout/ProTailwindLayout.d.ts.map +1 -1
  44. package/lib/components/Layout/ProTailwindLayout.js +69 -7
  45. package/lib/components/Layout/ProTailwindLayout.js.map +1 -1
  46. package/lib/components/Layout/Sidebar/Divider.js.map +1 -1
  47. package/lib/components/Layout/Sidebar/DynamicIcon.js.map +1 -1
  48. package/lib/components/Layout/Sidebar/MainSidebar.d.ts +5 -0
  49. package/lib/components/Layout/Sidebar/MainSidebar.d.ts.map +1 -0
  50. package/lib/components/Layout/Sidebar/{Sidebar.js → MainSidebar.js} +86 -30
  51. package/lib/components/Layout/Sidebar/MainSidebar.js.map +1 -0
  52. package/lib/components/Layout/Sidebar/MainSidebarMenu.d.ts +4 -0
  53. package/lib/components/Layout/Sidebar/MainSidebarMenu.d.ts.map +1 -0
  54. package/lib/components/Layout/Sidebar/MainSidebarMenu.js +294 -0
  55. package/lib/components/Layout/Sidebar/MainSidebarMenu.js.map +1 -0
  56. package/lib/components/Layout/Sidebar/PerplexSidebar.d.ts +5 -0
  57. package/lib/components/Layout/Sidebar/PerplexSidebar.d.ts.map +1 -0
  58. package/lib/components/Layout/Sidebar/PerplexSidebar.js +218 -0
  59. package/lib/components/Layout/Sidebar/PerplexSidebar.js.map +1 -0
  60. package/lib/components/Layout/Sidebar/PerplexSidebarMenu.d.ts +4 -0
  61. package/lib/components/Layout/Sidebar/PerplexSidebarMenu.d.ts.map +1 -0
  62. package/lib/components/Layout/Sidebar/PerplexSidebarMenu.js +330 -0
  63. package/lib/components/Layout/Sidebar/PerplexSidebarMenu.js.map +1 -0
  64. package/lib/components/Layout/TailwindLayout.d.ts.map +1 -1
  65. package/lib/components/Layout/TailwindLayout.js +37 -10
  66. package/lib/components/Layout/TailwindLayout.js.map +1 -1
  67. package/lib/components/Layout/getPageTitle.js.map +1 -1
  68. package/lib/components/Layout/slot-fill/AdditionalSettings.js.map +1 -1
  69. package/lib/components/Layout/slot-fill/Footer.js.map +1 -1
  70. package/lib/components/Layout/slot-fill/HeaderSearchBar.js.map +1 -1
  71. package/lib/components/Layout/slot-fill/HeaderSearchButton.js.map +1 -1
  72. package/lib/components/Layout/slot-fill/Logo.d.ts +4 -0
  73. package/lib/components/Layout/slot-fill/Logo.d.ts.map +1 -0
  74. package/lib/components/Layout/slot-fill/Logo.js +7 -0
  75. package/lib/components/Layout/slot-fill/Logo.js.map +1 -0
  76. package/lib/components/Layout/slot-fill/RightContent.js.map +1 -1
  77. package/lib/components/Layout/slot-fill/SideMenuLogo.d.ts +4 -0
  78. package/lib/components/Layout/slot-fill/SideMenuLogo.d.ts.map +1 -0
  79. package/lib/components/Layout/slot-fill/SideMenuLogo.js +7 -0
  80. package/lib/components/Layout/slot-fill/SideMenuLogo.js.map +1 -0
  81. package/lib/components/Layout/slot-fill/index.d.ts +2 -0
  82. package/lib/components/Layout/slot-fill/index.d.ts.map +1 -1
  83. package/lib/components/Layout/util.js +1 -1
  84. package/lib/components/Layout/util.js.map +1 -1
  85. package/lib/components/SettingDrawer/CheckBoxTheme.d.ts.map +1 -1
  86. package/lib/components/SettingDrawer/CheckBoxTheme.js +13 -3
  87. package/lib/components/SettingDrawer/CheckBoxTheme.js.map +1 -1
  88. package/lib/components/SettingDrawer/InvitationSettings.d.ts.map +1 -1
  89. package/lib/components/SettingDrawer/InvitationSettings.js +10 -6
  90. package/lib/components/SettingDrawer/InvitationSettings.js.map +1 -1
  91. package/lib/components/SettingDrawer/LayoutChange.d.ts.map +1 -1
  92. package/lib/components/SettingDrawer/LayoutChange.js +23 -16
  93. package/lib/components/SettingDrawer/LayoutChange.js.map +1 -1
  94. package/lib/components/SettingDrawer/MenuVisibilitySettings.d.ts +20 -0
  95. package/lib/components/SettingDrawer/MenuVisibilitySettings.d.ts.map +1 -0
  96. package/lib/components/SettingDrawer/MenuVisibilitySettings.js +120 -0
  97. package/lib/components/SettingDrawer/MenuVisibilitySettings.js.map +1 -0
  98. package/lib/components/SettingDrawer/NavigationsModes.d.ts +1 -1
  99. package/lib/components/SettingDrawer/NavigationsModes.d.ts.map +1 -1
  100. package/lib/components/SettingDrawer/NavigationsModes.js +90 -39
  101. package/lib/components/SettingDrawer/NavigationsModes.js.map +1 -1
  102. package/lib/components/SettingDrawer/RegionalSettings.d.ts.map +1 -1
  103. package/lib/components/SettingDrawer/RegionalSettings.js +54 -177
  104. package/lib/components/SettingDrawer/RegionalSettings.js.map +1 -1
  105. package/lib/components/SettingDrawer/SettingDrawer.d.ts.map +1 -1
  106. package/lib/components/SettingDrawer/SettingDrawer.js +404 -66
  107. package/lib/components/SettingDrawer/SettingDrawer.js.map +1 -1
  108. package/lib/components/SettingDrawer/Switch/index.js.map +1 -1
  109. package/lib/components/SettingDrawer/ThemeColor.d.ts.map +1 -1
  110. package/lib/components/SettingDrawer/ThemeColor.js +15 -3
  111. package/lib/components/SettingDrawer/ThemeColor.js.map +1 -1
  112. package/lib/components/SettingDrawer/types.d.ts +12 -0
  113. package/lib/components/SettingDrawer/types.d.ts.map +1 -1
  114. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.d.ts +10 -5
  115. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.d.ts.map +1 -1
  116. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.js +97 -4
  117. package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.js.map +1 -1
  118. package/lib/components/index.js +1 -1
  119. package/lib/components/typings.d.ts +16 -1
  120. package/lib/components/typings.d.ts.map +1 -1
  121. package/lib/compute.d.ts.map +1 -1
  122. package/lib/compute.js +10 -2
  123. package/lib/compute.js.map +1 -1
  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/useMediaQuery.js.map +1 -1
  131. package/lib/hooks/useScrollThreshold.js.map +1 -1
  132. package/lib/hooks/useTailwindTheme.js +82 -0
  133. package/lib/hooks/useTailwindTheme.js.map +1 -0
  134. package/lib/icons.d.ts +2 -0
  135. package/lib/icons.d.ts.map +1 -1
  136. package/lib/icons.js +4 -2
  137. package/lib/icons.js.map +1 -1
  138. package/lib/index.d.ts +1 -0
  139. package/lib/index.d.ts.map +1 -1
  140. package/lib/index.js +1 -1
  141. package/lib/index.js.map +1 -1
  142. package/lib/machines/selectors.d.ts +118 -0
  143. package/lib/machines/selectors.d.ts.map +1 -0
  144. package/lib/machines/settingsMachine.d.ts +25 -2
  145. package/lib/machines/settingsMachine.d.ts.map +1 -1
  146. package/lib/machines/settingsMachine.js +174 -163
  147. package/lib/machines/settingsMachine.js.map +1 -1
  148. package/lib/machines/settingsMachine.test.d.ts +2 -0
  149. package/lib/machines/settingsMachine.test.d.ts.map +1 -0
  150. package/lib/machines/types.d.ts +106 -9
  151. package/lib/machines/types.d.ts.map +1 -1
  152. package/lib/machines/types.js.map +1 -1
  153. package/lib/module.js.map +1 -1
  154. package/lib/redux/searchReducer.js.map +1 -1
  155. package/lib/routes.json +9 -1
  156. package/lib/tailwindConfig.js.map +1 -1
  157. package/lib/utils/__tests__/configOverrides.test.d.ts +2 -0
  158. package/lib/utils/__tests__/configOverrides.test.d.ts.map +1 -0
  159. package/lib/utils/configOverrides.d.ts +213 -0
  160. package/lib/utils/configOverrides.d.ts.map +1 -0
  161. package/lib/utils/configOverrides.js +91 -0
  162. package/lib/utils/configOverrides.js.map +1 -0
  163. package/lib/utils/isBrowser/index.js.map +1 -1
  164. package/lib/utils/settingsUtils.d.ts +20 -0
  165. package/lib/utils/settingsUtils.d.ts.map +1 -0
  166. package/lib/utils/settingsUtils.js +74 -0
  167. package/lib/utils/settingsUtils.js.map +1 -0
  168. package/lib/utils/utils/index.js.map +1 -1
  169. package/package.json +6 -6
  170. package/lib/components/Layout/GlobalHeader/Logo.d.ts +0 -4
  171. package/lib/components/Layout/GlobalHeader/Logo.d.ts.map +0 -1
  172. package/lib/components/Layout/GlobalHeader/Logo.js +0 -141
  173. package/lib/components/Layout/GlobalHeader/Logo.js.map +0 -1
  174. package/lib/components/Layout/Sidebar/Sidebar.d.ts +0 -5
  175. package/lib/components/Layout/Sidebar/Sidebar.d.ts.map +0 -1
  176. package/lib/components/Layout/Sidebar/Sidebar.js.map +0 -1
  177. package/lib/components/Layout/Sidebar/SidebarMenu.d.ts +0 -4
  178. package/lib/components/Layout/Sidebar/SidebarMenu.d.ts.map +0 -1
  179. package/lib/components/Layout/Sidebar/SidebarMenu.js +0 -176
  180. package/lib/components/Layout/Sidebar/SidebarMenu.js.map +0 -1
@@ -0,0 +1,147 @@
1
+ import {jsxs,jsx}from'react/jsx-runtime';import*as React from'react';import {useAppSelector,generateMenuPath}from'@admin-layout/client';import {useNavigate,Link}from'@remix-run/react';import {FooterSubMenuItemRender}from'../BasicLayout/utils.js';const Account = props => {
2
+ const {
3
+ menus,
4
+ collapsed,
5
+ routeParams,
6
+ layoutSettings
7
+ } = props;
8
+ useNavigate();
9
+ const [isOpen, setIsOpen] = React.useState(false);
10
+ const [activeProfile, setActiveProfile] = React.useState('main');
11
+ const dropdownRef = React.useRef(null);
12
+ const {
13
+ profile = {}
14
+ } = useAppSelector(state => state?.user || {});
15
+ const {
16
+ nickname,
17
+ picture
18
+ } = profile || {};
19
+ React.useEffect(() => {
20
+ const handleClickOutside = event => {
21
+ if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
22
+ setIsOpen(false);
23
+ }
24
+ };
25
+ document.addEventListener('mousedown', handleClickOutside);
26
+ return () => {
27
+ document.removeEventListener('mousedown', handleClickOutside);
28
+ };
29
+ }, []);
30
+ const handleToggleDropdown = () => {
31
+ setIsOpen(!isOpen);
32
+ };
33
+ const handleProfileSwitch = profileType => {
34
+ setActiveProfile(profileType);
35
+ // Here you could add logic to switch user context or session
36
+ console.log(`Switched to ${profileType} profile`);
37
+ };
38
+ const accountMenuItems = menus?.menuData?.find(menu => menu.key === 'account');
39
+ return jsxs("div", {
40
+ className: "relative",
41
+ ref: dropdownRef,
42
+ children: [jsx("div", {
43
+ className: "cursor-pointer",
44
+ onClick: handleToggleDropdown,
45
+ onContextMenu: e => {
46
+ e.preventDefault();
47
+ handleToggleDropdown();
48
+ },
49
+ children: jsx(FooterSubMenuItemRender, {
50
+ item: accountMenuItems,
51
+ collapsed: collapsed,
52
+ layoutSettings: layoutSettings
53
+ })
54
+ }), isOpen && jsxs("div", {
55
+ className: "absolute bottom-full left-0 mb-2 bg-white border border-gray-200 rounded-lg shadow-xl z-50 w-80 overflow-hidden",
56
+ children: [jsx("div", {
57
+ className: "py-2",
58
+ children: accountMenuItems?.children?.map(item => jsxs(Link, {
59
+ className: "flex items-center justify-between px-4 py-2 text-sm text-gray-700 hover:bg-gray-50 cursor-pointer transition-colors",
60
+ to: generateMenuPath(item.path, routeParams),
61
+ children: [jsxs("div", {
62
+ className: "flex items-center",
63
+ children: [jsx("span", {
64
+ className: "mr-3 text-base",
65
+ children: item.icon
66
+ }), jsx("span", {
67
+ children: item.name
68
+ })]
69
+ }), item.hasNotification && jsx("div", {
70
+ className: "w-2 h-2 bg-blue-500 rounded-full"
71
+ })]
72
+ }, item.key))
73
+ }), jsxs("div", {
74
+ className: "border-t border-gray-100 py-2",
75
+ children: [jsxs("div", {
76
+ className: `flex items-center justify-between px-4 py-2 hover:bg-gray-50 cursor-pointer transition-colors ${activeProfile === 'main' ? 'bg-blue-50' : ''}`,
77
+ onClick: () => handleProfileSwitch('main'),
78
+ children: [jsxs("div", {
79
+ className: "flex items-center",
80
+ children: [jsx("div", {
81
+ className: "w-8 h-8 rounded-full bg-red-500 flex items-center justify-center overflow-hidden mr-3",
82
+ children: picture ? jsx("img", {
83
+ src: picture,
84
+ alt: nickname || 'Guest',
85
+ className: "w-full h-full object-cover"
86
+ }) : jsx("span", {
87
+ className: "text-white text-sm font-medium",
88
+ children: (nickname || 'Guest').charAt(0).toUpperCase()
89
+ })
90
+ }), jsx("span", {
91
+ className: "text-sm font-medium",
92
+ children: nickname || 'Guest'
93
+ })]
94
+ }), activeProfile === 'main' && jsx("div", {
95
+ className: "w-4 h-4 bg-green-500 rounded-full flex items-center justify-center",
96
+ children: jsx("svg", {
97
+ className: "w-2 h-2 text-white",
98
+ fill: "currentColor",
99
+ viewBox: "0 0 20 20",
100
+ children: jsx("path", {
101
+ fillRule: "evenodd",
102
+ d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",
103
+ clipRule: "evenodd"
104
+ })
105
+ })
106
+ })]
107
+ }), jsxs("div", {
108
+ className: `flex items-center justify-between px-4 py-2 hover:bg-gray-50 cursor-pointer transition-colors ${activeProfile === 'incognito' ? 'bg-blue-50' : ''}`,
109
+ onClick: () => handleProfileSwitch('incognito'),
110
+ children: [jsxs("div", {
111
+ className: "flex items-center",
112
+ children: [jsx("div", {
113
+ className: "w-8 h-8 rounded-full bg-gray-800 flex items-center justify-center mr-3",
114
+ children: jsxs("svg", {
115
+ className: "w-4 h-4 text-white",
116
+ fill: "currentColor",
117
+ viewBox: "0 0 20 20",
118
+ children: [jsx("path", {
119
+ fillRule: "evenodd",
120
+ d: "M3.707 2.293a1 1 0 00-1.414 1.414l14 14a1 1 0 001.414-1.414l-1.473-1.473A10.014 10.014 0 0019.542 10C18.268 5.943 14.478 3 10 3a9.958 9.958 0 00-4.512 1.074l-1.78-1.781zm4.261 4.26l1.514 1.515a2.003 2.003 0 012.45 2.45l1.514 1.514a4 4 0 00-5.478-5.478z",
121
+ clipRule: "evenodd"
122
+ }), jsx("path", {
123
+ d: "M12.454 16.697L9.75 13.992a4 4 0 01-3.742-3.741L2.335 6.578A9.98 9.98 0 00.458 10c1.274 4.057 5.065 7 9.542 7 .847 0 1.669-.105 2.454-.303z"
124
+ })]
125
+ })
126
+ }), jsx("span", {
127
+ className: "text-sm font-medium",
128
+ children: "Incognito"
129
+ })]
130
+ }), activeProfile === 'incognito' && jsx("div", {
131
+ className: "w-4 h-4 bg-gray-300 rounded-full flex items-center justify-center",
132
+ children: jsx("svg", {
133
+ className: "w-2 h-2 text-gray-600",
134
+ fill: "currentColor",
135
+ viewBox: "0 0 20 20",
136
+ children: jsx("path", {
137
+ fillRule: "evenodd",
138
+ d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z",
139
+ clipRule: "evenodd"
140
+ })
141
+ })
142
+ })]
143
+ })]
144
+ })]
145
+ })]
146
+ });
147
+ };export{Account as default};//# sourceMappingURL=Account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Account.js","sources":["../../../../src/components/Layout/GlobalFooter/Account.tsx"],"sourcesContent":[null],"names":[],"mappings":"sPAMA,MAAM,OAAO,GAAkB,KAAC,IAAO;QACnC;AACA,IAAA,KAAA;AACA,IAAA,SAAO;AACP,IAAA,WAAO;IACP;AACA,GAAA,GAAA;;AAGA,EAAA,MAAA,CAAK,MAAC,EAAA,SAAe,CAAA,GAAA,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA;AACjB,EAAA,MAAA,CAAA,aAAM,EAAA,gBAAsB,CAAiB,GAAE,KAAE,CAAA,QAAA,CAAA,MAAA,CAAA;AAC7C,EAAA,MAAA,mBAAe,CAAC,MAAA,CAAO,IAAI,CAAC;;cAE3B;AACL,GAAA,GAAA,cAAE,CAAA,KAAA,IAAA,KAAA,EAAA,IAAA,IAAA,EAAA,CAAA;AAEF,EAAA,MAAA;AACA,IAAA,QAAA;AACI,IAAA;AACJ,GAAA,GAAA,OAAE,IAAA,EAAA;OACH,CAAA,SAAI,CAAA,MAAA;IAEP,MAAM,kBAAA,GAAoB,KAAM,IAAE;AAC9B,MAAA,IAAA,WAAW,CAAA,OAAQ,IAAA,CAAA,WAAA,CAAA,OAAA,CAAA,QAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AACvB,QAAE,SAAA,CAAA,KAAA,CAAA;AAEF,MAAA;;YAEI,CAAA,gBAAA,CAAA,WAAA,EAAA,kBAAA,CAAA;AACA,IAAA,OAAA,MAAQ;AACZ,MAAE,QAAA,CAAA,mBAAA,CAAA,WAAA,EAAA,kBAAA,CAAA;AAEF,IAAA,CAAA;KAEA,EAAA,CAAA;4BAMkB,GAAA,MAAc;AAChB,IAAA,SAAA,CAAA,CAAA,MAAA,CAAA;AACJ,EAAA,CAAA;AAuGhB,EAAE,MAAA,mBAAA,GAAA,WAAA,IAAA;AAEF,IAAA,4BAAuB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomMenuDropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalFooter/BottomMenuDropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA2EzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"BottomMenuDropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalFooter/BottomMenuDropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwEzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -2,7 +2,8 @@ import {jsxs,jsx}from'react/jsx-runtime';import*as React from'react';import {gen
2
2
  const {
3
3
  menus,
4
4
  collapsed,
5
- routeParams
5
+ routeParams,
6
+ layoutSettings
6
7
  } = props;
7
8
  const navigate = useNavigate();
8
9
  const [isOpen, setIsOpen] = React.useState(false);
@@ -32,14 +33,7 @@ import {jsxs,jsx}from'react/jsx-runtime';import*as React from'react';import {gen
32
33
  const handleToggleDropdown = () => {
33
34
  setIsOpen(!isOpen);
34
35
  };
35
- const menuItems = menus?.menuData[0]?.children?.map(menu => {
36
- return {
37
- label: menu.name,
38
- key: menu.key,
39
- path: menu.path,
40
- icon: menu.icon
41
- };
42
- });
36
+ const menuItems = menus?.menuData?.find(menu => menu.key === 'usermenu');
43
37
  return jsxs("div", {
44
38
  className: "relative",
45
39
  ref: dropdownRef,
@@ -52,19 +46,20 @@ import {jsxs,jsx}from'react/jsx-runtime';import*as React from'react';import {gen
52
46
  },
53
47
  children: jsx(FooterSubMenuItemRender, {
54
48
  item: menus.menuData[0],
55
- collapsed: collapsed
49
+ collapsed: collapsed,
50
+ layoutSettings: layoutSettings
56
51
  })
57
52
  }), isOpen && jsx("div", {
58
53
  className: "absolute bottom-full left-0 mb-1 bg-white border border-gray-200 rounded shadow-lg z-10 min-w-40",
59
54
  children: jsx("div", {
60
55
  className: "py-1",
61
- children: menuItems?.map(item => jsxs("div", {
56
+ children: menuItems?.children?.map(item => jsxs("div", {
62
57
  className: "flex items-center px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 cursor-pointer",
63
58
  onClick: () => handleClick(item.key),
64
59
  children: [item.icon && jsx("span", {
65
60
  className: "mr-2",
66
61
  children: item.icon
67
- }), item.label]
62
+ }), item.name]
68
63
  }, item.key))
69
64
  })
70
65
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"BottomMenuDropdown.js","sources":["../../../../src/components/Layout/GlobalFooter/BottomMenuDropdown.tsx"],"sourcesContent":[null],"names":["_jsxs"],"mappings":"kOAMA,MAAM,kBAAkB,GAAsC,KAAC,IAAS;QAC9D;AACN,IAAA,KAAA;AACA,IAAA,SAAO;IACP;AAEA,GAAA,GAAA,KAAM;AACF,EAAA,MAAA,QAAwB,GAAA,WAAA,EAAA;AACpB,EAAA,MAAA,CAAA,MAAA,YAAe,GAAC,KAAO,CAAI,eAAY;mBAC1B,GAAA,KAAM,CAAA,MAAE,CAAA,IAAA,CAAA;iBACpB,CAAA,MAAA;AACL,IAAA,MAAE,kBAAA,GAAA,KAAA,IAAA;AAEF,MAAA,IAAA,WAAyB,CAAA,OAAA,IAAA,CAAC,WAAW,CAAE,OAAA,CAAA,QAAA,CAAA,KAAoB,CAAA,MAAA,CAAA,EAAA;AAC3D,QAAA,UAAU,KAAE,CAAA;AACR;AACJ,KAAA;IACJ,QAAO,CAAA,gBAAA,CAAA,WAAA,EAAA,kBAAA,CAAA;AAEP,IAAA,OAAiB,MAAA;cACT,CAAA,mBAAU,CAAA,WAAA,EAAA,kBAAA,CAAA;AACd,KAAA;AACI,GAAA,EAAA,EAAA,CAAA;AACI,EAAA,MAAA,WAAA,GAAO,GAAA,IAAA;iBACD;aACT,OAAA,IAAA,KAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,QAAA,EAAA;UACJ,OAAA,CAAA,GAAA,KAAA,GAAA,EAAA;QACD,IAAQ,GAAA;QACR;AACJ;;AAGI,IAAA,QAAA,CAAA,gBAAmB,CAAA,IAAA,EAAA,WAAA,CAAA,CAAA;AACvB,IAAA,SAAE,CAAA,KAAA,CAAA;AAEF,GAAA;QACI,oBAAO,GAAA,MAAA;aACE,CAAA,CAAA,MAAM,CAAA;;iBAEP,GAAM,KAAK,EAAA,QAAA,CAAA,CAAA,CAAA,EAAA,QAAA,EAAA,GAAA,CAAA,IAAA,IAAA;;WAEjB,EAAA,IAAA,CAAA,IAAA;AACN,MAAE,GAAC,EAAA,IAAA,CAAA,GAAA;MAEI,IAAA,EACH,IAAK,CAAA,IAAA;;AAMO,KAAA;AACJ,GAAA,CAAA;AAuBhB,EAAE,OAAAA,IAAA,CAAA,KAAA,EAAA;AAEF,IAAA,SAAA,EAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BottomMenuDropdown.js","sources":["../../../../src/components/Layout/GlobalFooter/BottomMenuDropdown.tsx"],"sourcesContent":[null],"names":["_jsxs"],"mappings":"kOAMA,MAAM,kBAAkB,GAAsC,KAAC,IAAO;QAClE;AACA,IAAA,KAAA;AACA,IAAA,SAAO;IACP,WAAM;AAEN,IAAA;AACI,GAAA,GAAA,KAAA;AACI,EAAA,MAAA,QAAI,cAAY,EAAA;iBACZ,SAAU,CAAA,GAAA,KAAO,CAAA,QAAA,CAAA,KAAA,CAAA;mBACpB,GAAA,KAAA,CAAA,MAAA,CAAA,IAAA,CAAA;AACL,EAAA,KAAA,CAAA,SAAE,CAAA,MAAA;AAEF,IAAA,MAAA,kBAAS,GAAA;AACT,MAAA,IAAA,WAAY,CAAA,OAAA,IAAA,CAAA,WAAA,CAAA,OAAA,CAAA,QAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;AACR,QAAA,SAAA,CAAA,KAAS,CAAA;AACb,MAAA;IACJ,CAAC;AAED,IAAA,QAAM,CAAA,iBAA4B,WAAE,EAAA,kBAAA,CAAA;WAChC,MAAQ;AACR,MAAA,QAAK,CAAA,mBAAqB,CAAA,WAAY,EAAA,kBAAW,CAAA;AAC7C,IAAA,CAAA;AACI,EAAA,CAAA,EAAA,EAAA,CAAA;mBACA,GAAM,GAAA,IAAA;YACV,GAAC,EAAA;SACJ,IAAA,OAAA,IAAA,KAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,QAAA,EAAA;UACD,OAAS;QACT,IAAA,GAAA,OAAU,CAAK,IAAE;AACrB,QAAE;MAEF;AACI,IAAA;AACJ,IAAA,QAAE,CAAA,gBAAA,CAAA,IAAA,EAAA,WAAA,CAAA,CAAA;AAEF,IAAA,eAAe,CAAA;;4BAQG,GAAA,MAAc;AAChB,IAAA,SAAA,CAAA,CAAA,MAAA,CAAA;;AA4BpB,EAAE,MAAA,SAAA,GAAA,KAAA,EAAA,QAAA,EAAA,IAAA,CAAA,IAAA,IAAA,IAAA,CAAA,GAAA,KAAA,UAAA,CAAA;AAEF,EAAA,OAAAA,IAAA,CAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalHeader/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAIvD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAqHzD,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalHeader/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAIvD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAgJzD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -21,18 +21,41 @@ import {jsx,jsxs}from'react/jsx-runtime';import {Link}from'@remix-run/react';imp
21
21
  isSearching
22
22
  } = useSelector(state => state.search);
23
23
  const currentRoute = location?.pathname || '/';
24
- const routeSettings = settings?.routeSettings?.[currentRoute] || settings?.routeSettings?.['/'] || settings;
25
24
  const deviceType = isMobile ? 'mobile' : 'desktop';
26
- const deviceSettings = routeSettings?.regions?.[deviceType] || {};
27
- const layoutSettings = routeSettings?.layout?.[deviceType] || {};
25
+ // Helper function to get value from uilayout with route/device override support
26
+ const getUILayoutValue = path => {
27
+ // Check for route/device-specific override first
28
+ const routeDeviceKey = `[${currentRoute}][${deviceType}]`;
29
+ const uiOverride = settings?.uiSettings?.[routeDeviceKey];
30
+ if (uiOverride) {
31
+ const value = path.split('.').reduce((obj, key) => obj?.[key], uiOverride);
32
+ if (value !== undefined) return value;
33
+ }
34
+ // Fallback to settings (flattened uilayout from configuration-registries)
35
+ return path.split('.').reduce((obj, key) => obj?.[key], settings);
36
+ };
37
+ // Get device settings directly from uilayout
38
+ const deviceSettings = {
39
+ header: getUILayoutValue('header'),
40
+ background: getUILayoutValue('background')
41
+ };
42
+ // Get layout settings directly from uilayout
43
+ const layoutSettings = {
44
+ contentWidth: getUILayoutValue('contentWidth'),
45
+ navigationMode: getUILayoutValue('navigationMode'),
46
+ sideMenuType: getUILayoutValue('sideMenuType'),
47
+ fixedHeader: getUILayoutValue('fixedHeader'),
48
+ fixedSidebar: getUILayoutValue('fixedSidebar'),
49
+ splitMenus: getUILayoutValue('splitMenus'),
50
+ upperMenuDividerName: getUILayoutValue('upperMenuDividerName'),
51
+ middleMenuDividerName: getUILayoutValue('middleMenuDividerName'),
52
+ lowerMenuDividerName: getUILayoutValue('lowerMenuDividerName')
53
+ };
28
54
  const headerSettings = deviceSettings?.header || {};
29
- const backgroundSettings = deviceSettings?.background || {
30
- type: 'color',
31
- color: 'inherit',
32
- image: ''};
55
+ const backgroundSettings = deviceSettings?.background || {};
33
56
  // Use CSS classes instead of theme-based styling
34
57
  const getHeaderClasses = () => {
35
- let classes = `z-10 py-4 top-0 border-b border-border relative ${layoutSettings?.fixedHeader ? 'sticky' : 'relative'}`;
58
+ let classes = `z-10 py-4 top-0 border-b border-border header-container relative ${layoutSettings?.fixedHeader ? 'sticky' : 'relative'}`;
36
59
  if (backgroundSettings.type === 'image' && backgroundSettings.image) {
37
60
  classes += ' bg-cover bg-center';
38
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../src/components/Layout/GlobalHeader/Header.tsx"],"sourcesContent":[null],"names":[],"mappings":"0ZASa,MAAA,YAAY,GAAqC,KAAC,IAAS;AACpE,EAAA,MAAA;AACA,IAAA,KAAA;AACA,IAAA,MAAM;AACN,IAAA,UAAc;AACd,IAAA,WAAmB;AAEnB,IAAA;AACA,IAAA;IACA,cAAM;IACN;MACM,KAAA;AACN,EAAA,MAAA;AACA,IAAA;AACI,GAAA,GAAA,KAAA;AACA,EAAA,MAAA;AACA,IAAA;AACA,GAAA,GAAA,aAAS,EAAA;EACX,WAAA;QAE+C;IACjD,WAAM;AACF,IAAA;iBAII,CAAA,KAAA,IAAA,KAAmB,CAAA,MAAS,CAAA;oBACrB,GAAI,sBAAsB,GAAA;QACrC,aAAC,GAAA,QAAA,EAAA,aAAA,GAAA,YAAA,CAAA,IAAA,QAAA,EAAA,aAAA,GAAA,GAAA,CAAA,IAAA,QAAA;AAED,EAAA,MAAA,qBAAe,GAAA,QAAA,GAAA,SAAA;AACnB,EAAA,MAAE,cAAA,GAAA,aAAA,EAAA,OAAA,GAAA,UAAA,CAAA,IAAA,EAAA;QAEI,cAAA,GAAe,aAAQ,EAAA,MAAA,GAAA,UAAA,CAAA,IAAA,EAAA;QACzB,cAAM,GAAkC,cAAG,EAAA,MAAA,IAAA,EAAA;QAE3C,kBAAI,GAAA,cAA4B,EAAA,UAA6B,IAAA;iBAC/C;SACb,EAAA,SAAA;AAAM,IAAA,KAAA,EAAA;;AAKP,EAAA,MAAA,gBAAuB,GAAA,MAAa;AAChC,IAAA,IAAA,OAAA,GAAA,CAAA,gDAAoC,EAAA,cAAA,EAAA,WAAA,GAAA,QAAA,GAAA,UAAA,CAAA,CAAA;AACpC,IAAA,IAAA,kBAAW,CAAA,IAAQ,KAAA,OAAA,IAAA,kBAAkB,CAAA,KAAA,EAAA;aACxC,IAAA,qBAAA;AAED;AACJ,IAAA,OAAE,OAAA;;QAGE,eAAe,GAAY,MAAA;AAAE,IAAA,MAAA,UAAY,GAAA,EAAA;IAE7C,IAA0C,kBAAA,CAAA,IAAA,KAAA,OAAA,IAAA,kBAAA,CAAA,KAAA,EAAA;MACpC,UAAA,CAAA,eAA8B,GAAA,CAAA,IAAA,EAAE,kBAAkB,CAAA,KAAA,CAAA,CAAA,CAAA;KAEX,MAAA,IAAA,kBAAA,CAAA,IAAA,KAAA,OAAA,IAAA,kBAAA,CAAA,KAAA,KAAA,SAAA,EAAA;MACvC,UAAA,CAAA,eAAmB,GAAA,kBAAgB,CAAA,KAAA;;AA2D7C;AAEA,IAAA,IAAA,uBAA4B,UAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../src/components/Layout/GlobalHeader/Header.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { MainHeaderProps, PrivateHeaderProps } from '../../typings';
3
- export declare const defaultRenderLogo: (logo: () => React.ReactElement, animation: any, scrolled: any, settings: any, location: any) => React.ReactNode;
4
- export declare const defaultRenderLogoAndTitle: (props: any, animation: any, renderKey?: string) => React.ReactNode;
5
3
  export declare const MainHeader: React.FC<MainHeaderProps & PrivateHeaderProps>;
6
4
  //# sourceMappingURL=MainHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MainHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalHeader/MainHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAUpE,eAAO,MAAM,iBAAiB,GAC1B,MAAM,MAAM,KAAK,CAAC,YAAY,EAC9B,WAAW,GAAG,EACd,aAAQ,EACR,UAAU,GAAG,EACb,UAAU,GAAG,KACd,KAAK,CAAC,SAQR,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAClC,OAAO,GAAG,EACV,cAAS,EACT,YAAW,MAA2B,KACvC,KAAK,CAAC,SAkCR,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,GAAG,kBAAkB,CA0MrE,CAAC"}
1
+ {"version":3,"file":"MainHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalHeader/MainHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAMpE,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,GAAG,kBAAkB,CA6NrE,CAAC"}
@@ -1,70 +1,4 @@
1
- import {jsx,jsxs}from'react/jsx-runtime';import*as React from'react';import {getMenuSeparation}from'@admin-layout/client';import {keyframes}from'@emotion/react';import {useLocation,Link}from'@remix-run/react';import {RightMenu}from'./RightMenu.js';import'@common-stack/components-pro';import {HeaderSearchBarSlot}from'../slot-fill/HeaderSearchBar.js';import {HeaderSearchButtonSlot}from'../slot-fill/HeaderSearchButton.js';import {RightContentSlot}from'../slot-fill/RightContent.js';import {SearchBarBehavior}from'../../../machines/types.js';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../../hooks/useMediaQuery.js';import {Logo}from'./Logo.js';const spin = keyframes`
2
- from { transform: rotate(0deg); }
3
- to { transform: rotate(360deg); }
4
- `;
5
- const defaultRenderLogo = (logo, animation, scrolled, settings, location) => {
6
- if (typeof logo === 'string') {
7
- return jsx(Logo, {
8
- logo: undefined,
9
- settings: settings,
10
- scrolled: scrolled,
11
- location: location
12
- });
13
- }
14
- if (typeof logo === 'function') {
15
- return logo();
16
- }
17
- return logo;
18
- };
19
- const defaultRenderLogoAndTitle = (props, animation, renderKey = 'menuHeaderRender') => {
20
- const {
21
- settings,
22
- layout,
23
- pageTitleInfo,
24
- scrolled,
25
- location
26
- } = props;
27
- const {
28
- fontFamily,
29
- titleFontSize,
30
- titleFontWeight,
31
- titleHeight,
32
- titleColor,
33
- letterSpacing,
34
- logo,
35
- title
36
- } = settings || {};
37
- const renderFunction = props[renderKey || ''];
38
- if (renderFunction === false) {
39
- return null;
40
- }
41
- const logoDom = defaultRenderLogo(logo, animation, scrolled, settings, location);
42
- const titleDom = jsx("h1", {
43
- className: `text-2xl ${settings?.navTheme === 'dark' ? 'text-[#F9FBFF]' : titleColor || 'text-gray-900'}`,
44
- style: {
45
- fontFamily: fontFamily,
46
- fontWeight: titleFontWeight,
47
- height: titleHeight,
48
- letterSpacing: letterSpacing,
49
- fontSize: titleFontSize
50
- },
51
- children: title
52
- });
53
- if (renderFunction) {
54
- const {
55
- isMobile
56
- } = useMediaQuery();
57
- return renderFunction(logoDom, isMobile ? null : titleDom, props);
58
- }
59
- if (layout === 'mix' && renderKey === 'menuHeaderRender') {
60
- return null;
61
- }
62
- return jsx("div", {
63
- className: "flex space-x-2 w-[200px] md:w-[200px] h-[60px]",
64
- children: logoDom
65
- });
66
- };
67
- const MainHeader = props => {
1
+ import {jsx,jsxs}from'react/jsx-runtime';import*as React from'react';import {getMenuSeparation}from'@admin-layout/client';import {Link}from'@remix-run/react';import {RightMenu}from'./RightMenu.js';import'@common-stack/components-pro';import {HeaderSearchBarSlot}from'../slot-fill/HeaderSearchBar.js';import {HeaderSearchButtonSlot}from'../slot-fill/HeaderSearchButton.js';import {RightContentSlot}from'../slot-fill/RightContent.js';import {LogoSlot}from'../slot-fill/Logo.js';import {SearchBarBehavior}from'../../../machines/types.js';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../../hooks/useMediaQuery.js';const MainHeader = props => {
68
2
  const {
69
3
  rightContentRender,
70
4
  setSettingToggle,
@@ -75,7 +9,6 @@ const MainHeader = props => {
75
9
  layout,
76
10
  location,
77
11
  showSettings,
78
- onSettingChange,
79
12
  settings,
80
13
  primaryColor,
81
14
  pageTitleInfo,
@@ -84,15 +17,30 @@ const MainHeader = props => {
84
17
  setSearchOptionsShown,
85
18
  authorities,
86
19
  picture,
87
- componentVisibility
20
+ componentVisibility,
21
+ showMenu
88
22
  } = props;
89
23
  const {
90
24
  isMobile
91
25
  } = useMediaQuery();
92
26
  const currentRoute = location?.pathname || '/';
93
- const routeSettings = settings?.routeSettings?.[currentRoute] || settings?.routeSettings?.['/'] || settings;
94
27
  const deviceType = isMobile ? 'mobile' : 'desktop';
95
- const deviceRegions = routeSettings?.regions?.[deviceType] || {};
28
+ // Helper function to get value from uilayout with route/device override support
29
+ const getUILayoutValue = path => {
30
+ // Check for route/device-specific override first
31
+ const routeDeviceKey = `[${currentRoute}][${deviceType}]`;
32
+ const uiOverride = settings?.uiSettings?.[routeDeviceKey];
33
+ if (uiOverride) {
34
+ const value = path.split('.').reduce((obj, key) => obj?.[key], uiOverride);
35
+ if (value !== undefined) return value;
36
+ }
37
+ // Fallback to settings (flattened uilayout from configuration-registries)
38
+ return path.split('.').reduce((obj, key) => obj?.[key], settings);
39
+ };
40
+ // Get device regions directly from uilayout
41
+ const deviceRegions = {
42
+ header: getUILayoutValue('header')
43
+ };
96
44
  const headerSettings = deviceRegions?.header || {};
97
45
  // State to track reduced motion preference
98
46
  const [prefersReducedMotion, setPrefersReducedMotion] = React.useState(false);
@@ -128,26 +76,20 @@ const MainHeader = props => {
128
76
  // const toggleSettings = () => {
129
77
  // setSettingToggle(!settingToggle);
130
78
  // };
131
- const {
132
- pathname
133
- } = useLocation();
134
- // Use the state variable for animation
135
- const animation = prefersReducedMotion ? undefined : `${spin} infinite 20s linear`;
136
- const headerDom = defaultRenderLogoAndTitle({
137
- scrolled,
138
- ...props
139
- }, animation, layout === 'mix' ? 'headerTitleRender' : undefined);
140
79
  // Use CSS classes instead of theme-based styling
141
80
  const getHeaderClasses = () => {
142
- let classes = `${isMobile ? headerSettings?.position || 'fixed' : scrolled ? 'fixed' : 'absolute'} w-full top-0 z-10 px-[8%] transition-all duration-1000 ease-in-out group`;
81
+ let classes = ` ${isMobile ? headerSettings?.position || 'fixed' : scrolled ? 'fixed' : 'absolute'} w-full top-0 z-[100] px-[8%] transition-all duration-1000 ease-in-out group`;
143
82
  if (scrolled) {
144
83
  classes += ' py-2 shadow-themed-md';
145
84
  } else {
146
- classes += ' py-5';
85
+ classes += ' py-2';
147
86
  }
148
87
  if (searchOptionsShown) {
149
88
  classes += ' pb-8';
150
89
  }
90
+ if (showMenu) {
91
+ classes += ' border-b';
92
+ }
151
93
  return classes;
152
94
  };
153
95
  const getHeaderStyles = () => {
@@ -178,7 +120,13 @@ const MainHeader = props => {
178
120
  children: [headerSettings?.showLogo && jsx(Link, {
179
121
  to: "/",
180
122
  className: "text-foreground",
181
- children: headerDom
123
+ children: jsx(LogoSlot, {
124
+ settings: settings,
125
+ scrolled: scrolled,
126
+ location: location,
127
+ prefersReducedMotion: prefersReducedMotion,
128
+ layout: layout
129
+ })
182
130
  }), jsx("div", {
183
131
  className: "flex-grow"
184
132
  }), headerSettings?.showSearchSlot && jsxs("div", {
@@ -225,4 +173,4 @@ const MainHeader = props => {
225
173
  })
226
174
  })
227
175
  });
228
- };export{MainHeader,defaultRenderLogo,defaultRenderLogoAndTitle};//# sourceMappingURL=MainHeader.js.map
176
+ };export{MainHeader};//# sourceMappingURL=MainHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MainHeader.js","sources":["../../../../src/components/Layout/GlobalHeader/MainHeader.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"8sBAgBA,MAAM,IAAI,GAAG,SAAS;;;CAGrB;AAEM,MAAM,iBAAiB,GAAG,CAC7B,IAA8B,EAC9B,SAAc,EACd,QAAQ,EACR,QAAa,EACb,QAAa,KACI;AACjB,EAAA,IAAA,OAAW,IAAA,KAAS,QAAA,EAAQ;AACxB,IAAA,OAAAA,GAAO,KAAC,EAAI;MACf,IAAA,EAAA,SAAA;AACD,MAAA,QAAW,EAAA,QAAS;cACT,EAAA,QAAO;MACjB,QAAA,EAAA;AACD,KAAA,CAAA;AACJ;AAEA,EAAA,IAAM,OAAO,IAAyB,KAAA,UAAA,EAAA;AAKlC,IAAA,OAAQ,IAAA,EAAA;;SAGF,IAAA;AACN;AACI,MAAA,yBAAY,GAAA,CAAA,KAAA,EAAA,SAAA,EAAA,SAAA,GAAA,kBAAA,KAAA;QACf;AACD,IAAA,QAAa;IACb,MAAM;AAIM,IAAA,aAAA;AACA,IAAA,QAAA;AACA,IAAA;AACA,GAAA,GAAA,KAAA;AACA,EAAA,MAAA;cAGH;IAIT,aAAI;AACA,IAAA,eAAgB;AAChB,IAAA,WAAO;IACX,UAAC;IAED;AACI,IAAA,IAAA;IACJ;AAEA,GAAA,GAAA;AACJ,EAAE,MAAA,cAAA,GAAA,KAAA,CAAA,SAAA,IAAA,EAAA,CAAA;AAEF,EAAA,IAAM,cAAO,UAA8D,EAAK;AAC5E,IAAA,WACsB;AAqBtB;AACA,EAAA,MAAA,2BAA+B,CAAQ,IAAA,EAAA,SAAQ,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,CAAA;AAC/C,EAAA,MAAA,cAAmB,CAAG,IAAA,EAAA;IACtB,SAAM,EAAA,CAAA,SAAa,EAAA,QAAW,EAAA,QAAW,KAAA,MAAU,GAAA,gBAAA,GAAA,UAAA,IAAA,eAAA,CAAA,CAAA;IACnD,KAAM,EAAA;AACN,MAAA,sBAAuB;MAEoB,UAAA,EAAA,eAAA;AAC3C,MAAA,MAAO,EAAA,WAAA;AACP,MAAA,aAAO,EAAA,aAAe;AAEtB,MAAA,QAAM,EAAA;;AAEF,IAAA,QAAI,EAAO;;oBAGyC,EAAA;;AAEhD,MAAA;AACI,KAAA,GAAA,aAAA,EAAA;AACJ,IAAA,OAAA,cAAE,CAAA,OAAA,EAAA,QAAA,GAAA,IAAA,GAAA,QAAA,EAAA,KAAA,CAAA;AAEF;AACA,EAAA,IAAA,MAAA,KAAA,KAAU,IAAE,SAAA,KAAA,kBAAA,EAAA;AACR,IAAA,OAAA,IAAA;AACJ;SACHA,GAAA,CAAA,KAAA,EAAA;IACL,SAAO,EAAA,gDAAA;AAEP,IAAA,QAAM,EAAA;AACF,GAAA,CAAA;;AAEI,MAAO,UAAA,GAAA,KAAA,IAAA;QACX;sBAEI;oBACsC;AACtC,IAAA,aAAA;YACH;eAAO;YACJ;;YAEH;AACL,IAAA,YAAG;mBACoB;YACX;gBACK;iBACA;AACb,IAAA,QAAA;AACH,IAAA,kBAAE;IAEH,qBAAiC;IACjC,WAAwC;IACxC,OAAK;AAEL,IAAA;MAEuC,KAAA;AACvC,EAAA,MAAA;IAEA;MAMiD,aAAA,EAAA;QAC3C,YAAA,GAAA,QAAmB,EAAK,QAAA,IAAA,GAAA;QAC1B,aAAc,GAAA,QACF,EAAC,aAAE,GAAc,YAAc,CAAA,IAAA,QAAkB,EAAA,aAAU,GAAC,GACxE,CAAA,IAAA,QAAA;QAEA,UAAI,WAAW,GAAA,QAAA,GAAA,SAAA;qBACJ,4BAA6B,UAAA,CAAA,IAAA,EAAA;QACxC,cAAC,GAAA,aAAA,EAAA,MAAA,IAAA,EAAA;;+BACsB,uBAAA,CAAA,GAAA,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA;QACvB,CAAC,aAAA,EAAA,gBAAA,CAAA,GAAA,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA;QAED,SAAI,CAAA,MAAA;;QAEJ,OAAC,MAAA,KAAA,WAAA,EAAA;AAED,MAAA,uBAAe,CAAA,MAAA,CAAA,UAAA,CAAA,kCAAA,CAAA,CAAA,OAAA,CAAA;AACnB;MAEM,MAAA,UAAA,GAAe,MAAM,CAAE,UAAA,CAAA,kCAAA,CAAA;YACrB,iBAAW,GAAA,CAAA,IAAA;+BACJ,CAAA,CAAA,CAAA,OAAA,CAAA;AACH,OAAA;AACA,MAAA,UAAA,CAAA,gBAAoC,CAAA,QAAA,EAAA,iBAAA,CAAA;aACvC,MAAC;QACN,UAAC,CAAA,mBAAA,CAAA,QAAA,EAAA,iBAAA,CAAA;;AAEG;AACA,GAAA,EAAA,EAAA,CAAA;iBACF,CAAA,MAAA;AACN,IAAA,IAAE,CAAA,aAAA,EAAA,MAAA,EAAA,eAAA,IAAA,CAAA,cAAA,EAAA,cAAA,EAAA;AAEF,MAAA,gBAAkB,CAAE,KAAA,CAAA;AAChB,MAAA;;AAEJ,IAAA,IAAA,aACS,EAAA,MAAA,EAAA,iBAA2B,KAAA,2BAA4B,EAAA;;0CAKrB,CAAA,YAAQ,CAAC,CAAC;AACpC,KAAA,MAAA;;;;AAwCuB,GAAA,EAAA,CAAA,mBAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,aACI,EAAA,MAAe,EAAA,eAAyB,EAAA,aAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,cAAA,CAAA,CAAA;AACpC;AAEZ;AA4BxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"MainHeader.js","sources":["../../../../src/components/Layout/GlobalHeader/MainHeader.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import {jsxs,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {Link}from'react-router-dom';import {useTranslation}from'react-i18next';import {generateMenuPath}from'@admin-layout/client';const OrganizationDropDown = props => {
1
+ import {jsxs,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {Link}from'@remix-run/react';import {useTranslation}from'react-i18next';import {generateMenuPath}from'@admin-layout/client';const OrganizationDropDown = props => {
2
2
  const {
3
3
  theme,
4
4
  layout,
@@ -1 +1 @@
1
- {"version":3,"file":"OrganizationDropdown.js","sources":["../../../../src/components/Layout/GlobalHeader/OrganizationDropdown.tsx"],"sourcesContent":[null],"names":[],"mappings":"0NAMA,MAAM,oBAAoB,GAAqC,KAAC,IAAS;AACrE,EAAA,MAAA;IACA,KAAM;IACN,MAAM;AACN,IAAA;IACA,WAAW;IAEX,SAAsB;IACtB;AACI,GAAA,GAAA,KAAA;QACA,CAA0B,uBAAA,EAAA,0BAAQ,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;AACtC,EAAA,MAAE,CAAA,iBAAA,EAAA,oBAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;QAE2C,WAAA,GAAA,MAAA,CAAA,IAAA,CAAA;QACpC;AACL,IAAA,CAAA;AACI,IAAA;oBACwB,CAAA,MAAA,CAAA;;AAE5B,EAAA,MAAA,iBAAE,GAAA,MAAA;AAEF,IAAA,oBAAyB,CAAA,CAAA;AACzB,IAAA,0BAAY,CAAA,KAAA,CAAA;AACR,GAAA;AACJ;WACG,CAAA,MAAA;IAEP,MAAsB,kBAAA,GAAA,KAAA,IAAA;MAChB,IAAA,WAAA,CAAA,OAAmB,IAAK,CAAA,WAAA,CAAA,OAAA,CAAA,QAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;QAC1B,oBAAoB,CAAC,KAAK,CAAC;AAC/B;KAEM;YACkB,CAAA,gBAAC,CAAK,WAAE,EAAA,kBAAA,CAAA;AAChC,IAAA,OAAE,MAAA;AAEF,MAAA,QACI,CAAA,+BAAuB,EAAA,kBAAoB,CAAC;AAmB5B,KAAA;AAexB,GAAE,EAAA,EAAA,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"OrganizationDropdown.js","sources":["../../../../src/components/Layout/GlobalHeader/OrganizationDropdown.tsx"],"sourcesContent":[null],"names":[],"mappings":"0NAMA,MAAM,oBAAoB,GAAqC,KAAC,IAAO;AACnE,EAAA,MAAA;IACA,KAAA;IACA,MAAM;AACN,IAAA;IACA,WAAW;IAEX,SAAA;IACA;AACI,GAAA,GAAA,KAAA;QACA,CAAA,uBAAA,EAA0B,0BAAQ,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;AACtC,EAAA,MAAE,CAAA,iBAAA,EAAA,oBAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;QAEF,WAAA,GAAA,MAAA,CAAA,IAAA,CAAA;QACA;AACI,IAAA,CAAA;AACI,IAAA;oBACI,CAAA,MAAA,CAAA;;AAER,EAAA,MAAA,iBAAE,GAAA,MAAA;AAEF,IAAA,oBAAS,CAAA,CAAA;AACT,IAAA,0BAAY,CAAA,KAAA,CAAA;AACR,EAAA,CAAA;AACJ;WACG,CAAA,MAAA;IAEP,MAAA,kBAAsB,GAAA,KAAA,IAAA;MACtB,IAAM,WAAA,CAAA,OAAmB,IAAG,CAAE,WAAA,CAAA,OAAA,CAAA,QAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;QAC1B,oBAAoB,CAAC,KAAK,CAAC;AAC/B,MAAE;IAEF,CAAA;YACI,CAAA,gBAAqB,CAAA,WAAO,EAAA,kBAAA,CAAA;AAChC,IAAA,OAAE,MAAA;AAEF,MAAA,QACI,CAAA,+BAAuB,EAAA,kBAAoB,CAAA;AAmB3B,IAAA,CAAA;AAexB,EAAE,CAAA,EAAA,EAAA,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { GlobalHeaderRightProps } from '../../typings';
3
+ export declare const useHorizontalScroll: () => React.MutableRefObject<HTMLDivElement>;
3
4
  export declare const RightContent: React.FC<GlobalHeaderRightProps>;
4
5
  //# sourceMappingURL=RightContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RightContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalHeader/RightContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA+BzD,CAAC"}
1
+ {"version":3,"file":"RightContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalHeader/RightContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,eAAO,MAAM,mBAAmB,8CAsB/B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA8EzD,CAAC"}
@@ -1,13 +1,80 @@
1
- import {jsxs,jsx}from'react/jsx-runtime';import {LanguageMenu}from'../../LanguageMenu/LanguageMenu.js';import OrganizationDropDown from'./OrganizationDropdown.js';const RightContent = props => {
1
+ import {jsxs,jsx}from'react/jsx-runtime';import {useState,useEffect,useRef}from'react';import {LanguageMenu}from'../../LanguageMenu/LanguageMenu.js';import OrganizationDropDown from'./OrganizationDropdown.js';const useHorizontalScroll = () => {
2
+ const elRef = useRef(null);
3
+ useEffect(() => {
4
+ const el = elRef.current;
5
+ if (el) {
6
+ const onWheel = e => {
7
+ if (e.deltaY === 0) return;
8
+ e.preventDefault();
9
+ el.scrollTo({
10
+ left: el.scrollLeft + e.deltaY,
11
+ behavior: 'smooth'
12
+ });
13
+ };
14
+ el.addEventListener('wheel', onWheel);
15
+ return () => {
16
+ el.removeEventListener('wheel', onWheel);
17
+ };
18
+ }
19
+ }, []);
20
+ return elRef;
21
+ };
22
+ const RightContent = props => {
2
23
  const {
3
- routeParams,
24
+ theme,
25
+ layout,
4
26
  upperMenus,
5
- settings,
6
- collapsed
27
+ routeParams,
28
+ collapsed,
29
+ settings
7
30
  } = props;
31
+ const [navBarItems, setNavBarItems] = useState([]);
32
+ const scrollRef = useHorizontalScroll();
33
+ // TODO: uncomment this once the extension API is updated
34
+ // const controller: any = useExtensionController();
35
+ // useEffect(() => {
36
+ // if (controller) {
37
+ // const subscription = controller.services.contribution.getContributions().subscribe(({ pageNavBar }) => {
38
+ // setNavBarItems(pageNavBar || []);
39
+ // });
40
+ // return () => subscription.unsubscribe();
41
+ // }
42
+ // }, [controller]);
43
+ useEffect(() => {
44
+ const ele = document.getElementById('item-wrapper');
45
+ if (ele) {
46
+ if (check(ele)) {
47
+ ele.style.boxShadow = 'inset 0 0 5px #e2e2e2';
48
+ } else {
49
+ ele.style.boxShadow = 'none';
50
+ }
51
+ }
52
+ });
53
+ const check = el => {
54
+ const curOverflow = el.style.overflow;
55
+ if (!curOverflow || curOverflow === 'visible') {
56
+ el.style.overflow = 'hidden';
57
+ }
58
+ const isOverflowing = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight;
59
+ el.style.overflow = curOverflow;
60
+ return isOverflowing;
61
+ };
8
62
  return jsxs("div", {
9
- className: "flex items-center flex-shrink-0 space-x-6",
63
+ className: `flex items-center ${collapsed ? 'ml-2.5' : 'ml-0'}`,
10
64
  children: [jsx("div", {
65
+ id: "item-wrapper",
66
+ ref: scrollRef,
67
+ className: "flex overflow-x-auto scrollbar-hide whitespace-nowrap space-x-2 py-2 px-1",
68
+ children: navBarItems.map((item, index) => {
69
+ if (item.position === 'right' && item.component) {
70
+ return jsx("div", {
71
+ className: "flex-shrink-0",
72
+ children: item.component(props)
73
+ }, index);
74
+ }
75
+ return null;
76
+ })
77
+ }), jsx("div", {
11
78
  className: "relative",
12
79
  children: jsx(LanguageMenu, {})
13
80
  }), jsx("div", {
@@ -20,4 +87,4 @@ import {jsxs,jsx}from'react/jsx-runtime';import {LanguageMenu}from'../../Languag
20
87
  })
21
88
  })]
22
89
  });
23
- };export{RightContent};//# sourceMappingURL=RightContent.js.map
90
+ };export{RightContent,useHorizontalScroll};//# sourceMappingURL=RightContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RightContent.js","sources":["../../../../src/components/Layout/GlobalHeader/RightContent.tsx"],"sourcesContent":[null],"names":[],"mappings":"mKAMa,MAAA,YAAY,GAAqC,KAAC,IAAS;QAC9D;AACN,IAAA,WACS;AA4Bb,IAAE,UAAA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"RightContent.js","sources":["../../../../src/components/Layout/GlobalHeader/RightContent.tsx"],"sourcesContent":[null],"names":["_jsxs"],"mappings":"iNAOO,MAAM,mBAAmB,GAAG,MAAK;AACpC,EAAA,MAAA,QAAW,MAAG,CAAA,IAAuB,CAAA;WAErC,CAAA,MAAa;AACT,IAAA,MAAA,EAAA,GAAM,KAAK,CAAA;QACX,EAAA,EAAI;AACA,MAAA,MAAA,OAAM,GAAA,CAAA,IAAO;AACT,QAAA,IAAA,CAAA,CAAA,MAAI,KAAE,CAAA,EAAM;wBAAQ,EAAA;mBAClB,CAAA;gBACF,EAAE,CAAC,UAAS,GAAA,CAAA,CAAA,MAAA;AACR,UAAA,QAAA,EAAA;AACA,SAAA,CAAA;AACH,MAAA,CAAA;AACL,MAAA,EAAA,CAAA,gBAAE,CAAA,OAAA,EAAA,OAAA,CAAA;AACF,MAAA,OAAA,MAAG;AACH,QAAA,EAAA,CAAA,mBAAY,CAAA,OAAA,EAAA,OAAA,CAAA;AACR,MAAA,CAAA;AACJ,IAAA;QACJ;SACC,KAAE;AAEP;AACF,MAAA,YAAA,GAAA,KAAA,IAAA;AAEF,EAAA,MAAO;AACH,IAAA,KAAA;IACA,MAAM;AACN,IAAA,UAAM;IAEN,WAAA;IAEA,SAAA;IAEA;MACA,KAAA;QACA,CAAA,WAAA,EAAA,cAAA,CAAA,GAAA,QAAA,CAAA,EAAA,CAAA;QACA,SAAA,GAAA,mBAAA,EAAA;;;;;;;;AASQ;AACI;;kBACI;AACJ,IAAA,MAAA,GAAA,GAAA,QAAI,CAAK,6BAAoB,CAAA;aAChC;UACJ,KAAA,CAAA,GAAA,CAAA,EAAA;AACL,QAAG,GAAA,CAAA,KAAA,CAAA,SAAA,GAAA,uBAAA;AAEH,MAAA,CAAA,MAAM;AACF,QAAA,GAAA,CAAA,eAAiB,GAAK,MAAM;AAC5B,MAAA;AACI,IAAA;;AAEJ,EAAA,MAAA,KAAA;AACA,IAAA,MAAE,WAAO,GAAA,EAAQ,CAAA,cAAe;AAChC,IAAA,IAAA,CAAA,0BAAqB,KAAA,SAAA,EAAA;AACzB,MAAE,EAAA,CAAA,KAAA,CAAA,QAAA,GAAA,QAAA;IAEF;IACA,MAAI,aAAU,GAAM,EAAI,YAAW,GAAA,GAAO,WAAC,IAAA,EAAA,CAAA,YAAA,GAAA,EAAA,CAAA,YAAA;YACvC,CAAA,QAAA,GAAc;IAClB,OAAC,aAAA;AAED,EAAA,CAAA;AAgBY,EAAA,OAAAA,IAAA,CAAA,KAAE,EACA;AAiBlB,IAAE,SAAA,EAAA,CAAA,kBAAA,EAAA,SAAA,GAAA,QAAA,GAAA,MAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RightMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalHeader/RightMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAOrE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAgBhD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuR/C,CAAC"}
1
+ {"version":3,"file":"RightMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalHeader/RightMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAOrE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAgBhD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAiR/C,CAAC"}