@admin-layout/tailwind-design-pro 12.0.16-alpha.7 → 12.0.16-alpha.71
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.
- package/README.md +20 -0
- package/lib/cdm-locales/en/menu.json +2 -1
- package/lib/cdm-locales/es/menu.json +2 -1
- package/lib/cdm-locales/index.d.ts +2 -0
- package/lib/cdm-locales/index.d.ts.map +1 -0
- package/lib/cdm-locales/index.ts +1 -0
- package/lib/components/LanguageMenu/LanguageMenu.js.map +1 -1
- package/lib/components/Layout/BasicLayout/index.d.ts +2 -1
- package/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
- package/lib/components/Layout/BasicLayout/index.js +134 -44
- package/lib/components/Layout/BasicLayout/index.js.map +1 -1
- package/lib/components/Layout/BasicLayout/utils.d.ts +2 -0
- package/lib/components/Layout/BasicLayout/utils.d.ts.map +1 -1
- package/lib/components/Layout/BasicLayout/utils.js +16 -13
- package/lib/components/Layout/BasicLayout/utils.js.map +1 -1
- package/lib/components/Layout/GlobalFooter/Account.d.ts +4 -0
- package/lib/components/Layout/GlobalFooter/Account.d.ts.map +1 -0
- package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.d.ts.map +1 -1
- package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.js +7 -12
- package/lib/components/Layout/GlobalFooter/BottomMenuDropdown.js.map +1 -1
- package/lib/components/Layout/GlobalHeader/Header.d.ts.map +1 -1
- package/lib/components/Layout/GlobalHeader/Header.js +31 -8
- package/lib/components/Layout/GlobalHeader/Header.js.map +1 -1
- package/lib/components/Layout/GlobalHeader/MainHeader.d.ts +0 -2
- package/lib/components/Layout/GlobalHeader/MainHeader.d.ts.map +1 -1
- package/lib/components/Layout/GlobalHeader/MainHeader.js +54 -85
- package/lib/components/Layout/GlobalHeader/MainHeader.js.map +1 -1
- package/lib/components/Layout/GlobalHeader/OrganizationDropdown.js +1 -1
- package/lib/components/Layout/GlobalHeader/OrganizationDropdown.js.map +1 -1
- package/lib/components/Layout/GlobalHeader/RightContent.d.ts +1 -0
- package/lib/components/Layout/GlobalHeader/RightContent.d.ts.map +1 -1
- package/lib/components/Layout/GlobalHeader/RightContent.js +73 -6
- package/lib/components/Layout/GlobalHeader/RightContent.js.map +1 -1
- package/lib/components/Layout/GlobalHeader/RightMenu.d.ts.map +1 -1
- package/lib/components/Layout/GlobalHeader/RightMenu.js +2 -4
- package/lib/components/Layout/GlobalHeader/RightMenu.js.map +1 -1
- package/lib/components/Layout/GlobalHeader/SearchBar.js.map +1 -1
- package/lib/components/Layout/GlobalHeader/index.d.ts +0 -1
- package/lib/components/Layout/GlobalHeader/index.d.ts.map +1 -1
- package/lib/components/Layout/ProTailwindLayout.d.ts +2 -2
- package/lib/components/Layout/ProTailwindLayout.d.ts.map +1 -1
- package/lib/components/Layout/ProTailwindLayout.js +69 -7
- package/lib/components/Layout/ProTailwindLayout.js.map +1 -1
- package/lib/components/Layout/Sidebar/BottomMenu.d.ts +4 -0
- package/lib/components/Layout/Sidebar/BottomMenu.d.ts.map +1 -0
- package/lib/components/Layout/Sidebar/BottomMenu.js +330 -0
- package/lib/components/Layout/Sidebar/BottomMenu.js.map +1 -0
- package/lib/components/Layout/Sidebar/Divider.js.map +1 -1
- package/lib/components/Layout/Sidebar/DynamicIcon.js.map +1 -1
- package/lib/components/Layout/Sidebar/MainSidebar.d.ts +5 -0
- package/lib/components/Layout/Sidebar/MainSidebar.d.ts.map +1 -0
- package/lib/components/Layout/Sidebar/{Sidebar.js → MainSidebar.js} +94 -34
- package/lib/components/Layout/Sidebar/MainSidebar.js.map +1 -0
- package/lib/components/Layout/Sidebar/MainSidebarMenu.d.ts +4 -0
- package/lib/components/Layout/Sidebar/MainSidebarMenu.d.ts.map +1 -0
- package/lib/components/Layout/Sidebar/MainSidebarMenu.js +291 -0
- package/lib/components/Layout/Sidebar/MainSidebarMenu.js.map +1 -0
- package/lib/components/Layout/Sidebar/PerplexSidebar.d.ts +5 -0
- package/lib/components/Layout/Sidebar/PerplexSidebar.d.ts.map +1 -0
- package/lib/components/Layout/Sidebar/PerplexSidebar.js +277 -0
- package/lib/components/Layout/Sidebar/PerplexSidebar.js.map +1 -0
- package/lib/components/Layout/Sidebar/PerplexSidebarMenu.d.ts +4 -0
- package/lib/components/Layout/Sidebar/PerplexSidebarMenu.d.ts.map +1 -0
- package/lib/components/Layout/Sidebar/PerplexSidebarMenu.js +330 -0
- package/lib/components/Layout/Sidebar/PerplexSidebarMenu.js.map +1 -0
- package/lib/components/Layout/TailwindLayout.d.ts.map +1 -1
- package/lib/components/Layout/TailwindLayout.js +37 -10
- package/lib/components/Layout/TailwindLayout.js.map +1 -1
- package/lib/components/Layout/getPageTitle.js.map +1 -1
- package/lib/components/Layout/slot-fill/AdditionalSettings.js.map +1 -1
- package/lib/components/Layout/slot-fill/Footer.js.map +1 -1
- package/lib/components/Layout/slot-fill/HeaderSearchBar.js.map +1 -1
- package/lib/components/Layout/slot-fill/HeaderSearchButton.js.map +1 -1
- package/lib/components/Layout/slot-fill/Logo.d.ts +4 -0
- package/lib/components/Layout/slot-fill/Logo.d.ts.map +1 -0
- package/lib/components/Layout/slot-fill/Logo.js +7 -0
- package/lib/components/Layout/slot-fill/Logo.js.map +1 -0
- package/lib/components/Layout/slot-fill/RightContent.js.map +1 -1
- package/lib/components/Layout/slot-fill/SideMenuLogo.d.ts +4 -0
- package/lib/components/Layout/slot-fill/SideMenuLogo.d.ts.map +1 -0
- package/lib/components/Layout/slot-fill/SideMenuLogo.js +7 -0
- package/lib/components/Layout/slot-fill/SideMenuLogo.js.map +1 -0
- package/lib/components/Layout/slot-fill/index.d.ts +2 -0
- package/lib/components/Layout/slot-fill/index.d.ts.map +1 -1
- package/lib/components/Layout/util.js +1 -1
- package/lib/components/Layout/util.js.map +1 -1
- package/lib/components/SettingDrawer/CheckBoxTheme.d.ts.map +1 -1
- package/lib/components/SettingDrawer/CheckBoxTheme.js +13 -3
- package/lib/components/SettingDrawer/CheckBoxTheme.js.map +1 -1
- package/lib/components/SettingDrawer/InvitationSettings.d.ts.map +1 -1
- package/lib/components/SettingDrawer/InvitationSettings.js +10 -6
- package/lib/components/SettingDrawer/InvitationSettings.js.map +1 -1
- package/lib/components/SettingDrawer/LayoutChange.d.ts.map +1 -1
- package/lib/components/SettingDrawer/LayoutChange.js +23 -16
- package/lib/components/SettingDrawer/LayoutChange.js.map +1 -1
- package/lib/components/SettingDrawer/MenuVisibilitySettings.d.ts +20 -0
- package/lib/components/SettingDrawer/MenuVisibilitySettings.d.ts.map +1 -0
- package/lib/components/SettingDrawer/MenuVisibilitySettings.js +120 -0
- package/lib/components/SettingDrawer/MenuVisibilitySettings.js.map +1 -0
- package/lib/components/SettingDrawer/NavigationsModes.d.ts +1 -1
- package/lib/components/SettingDrawer/NavigationsModes.d.ts.map +1 -1
- package/lib/components/SettingDrawer/NavigationsModes.js +90 -39
- package/lib/components/SettingDrawer/NavigationsModes.js.map +1 -1
- package/lib/components/SettingDrawer/RegionalSettings.d.ts.map +1 -1
- package/lib/components/SettingDrawer/RegionalSettings.js +54 -177
- package/lib/components/SettingDrawer/RegionalSettings.js.map +1 -1
- package/lib/components/SettingDrawer/SettingDrawer.d.ts.map +1 -1
- package/lib/components/SettingDrawer/SettingDrawer.js +404 -66
- package/lib/components/SettingDrawer/SettingDrawer.js.map +1 -1
- package/lib/components/SettingDrawer/Switch/index.js.map +1 -1
- package/lib/components/SettingDrawer/ThemeColor.d.ts.map +1 -1
- package/lib/components/SettingDrawer/ThemeColor.js +15 -3
- package/lib/components/SettingDrawer/ThemeColor.js.map +1 -1
- package/lib/components/SettingDrawer/types.d.ts +12 -0
- package/lib/components/SettingDrawer/types.d.ts.map +1 -1
- package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.d.ts +10 -5
- package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.d.ts.map +1 -1
- package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.js +97 -4
- package/lib/components/UpdateSettingsResource/UpdateSettingsResource.server.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/typings.d.ts +20 -1
- package/lib/components/typings.d.ts.map +1 -1
- package/lib/compute.d.ts.map +1 -1
- package/lib/compute.js +10 -2
- package/lib/compute.js.map +1 -1
- package/lib/config/constants.js.map +1 -1
- package/lib/config/env-config.d.ts +3 -0
- package/lib/config/env-config.d.ts.map +1 -1
- package/lib/config/env-config.js +10 -0
- package/lib/config/env-config.js.map +1 -1
- package/lib/helpers/DynamicIcon.js.map +1 -1
- package/lib/hooks/useMediaQuery.js.map +1 -1
- package/lib/hooks/useScrollThreshold.js.map +1 -1
- package/lib/hooks/useTailwindTheme.js +82 -0
- package/lib/hooks/useTailwindTheme.js.map +1 -0
- package/lib/icons.d.ts +2 -0
- package/lib/icons.d.ts.map +1 -1
- package/lib/icons.js +4 -2
- package/lib/icons.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/machines/selectors.d.ts +118 -0
- package/lib/machines/selectors.d.ts.map +1 -0
- package/lib/machines/settingsMachine.d.ts +25 -2
- package/lib/machines/settingsMachine.d.ts.map +1 -1
- package/lib/machines/settingsMachine.js +174 -163
- package/lib/machines/settingsMachine.js.map +1 -1
- package/lib/machines/settingsMachine.test.d.ts +2 -0
- package/lib/machines/settingsMachine.test.d.ts.map +1 -0
- package/lib/machines/types.d.ts +106 -9
- package/lib/machines/types.d.ts.map +1 -1
- package/lib/machines/types.js.map +1 -1
- package/lib/module.js.map +1 -1
- package/lib/redux/searchReducer.js.map +1 -1
- package/lib/routes.json +9 -1
- package/lib/tailwindConfig.js.map +1 -1
- package/lib/utils/__tests__/configOverrides.test.d.ts +2 -0
- package/lib/utils/__tests__/configOverrides.test.d.ts.map +1 -0
- package/lib/utils/configOverrides.d.ts +213 -0
- package/lib/utils/configOverrides.d.ts.map +1 -0
- package/lib/utils/configOverrides.js +91 -0
- package/lib/utils/configOverrides.js.map +1 -0
- package/lib/utils/isBrowser/index.js.map +1 -1
- package/lib/utils/settingsUtils.d.ts +20 -0
- package/lib/utils/settingsUtils.d.ts.map +1 -0
- package/lib/utils/settingsUtils.js +74 -0
- package/lib/utils/settingsUtils.js.map +1 -0
- package/lib/utils/utils/index.js.map +1 -1
- package/package.json +6 -6
- package/lib/components/Layout/GlobalHeader/Logo.d.ts +0 -4
- package/lib/components/Layout/GlobalHeader/Logo.d.ts.map +0 -1
- package/lib/components/Layout/GlobalHeader/Logo.js +0 -141
- package/lib/components/Layout/GlobalHeader/Logo.js.map +0 -1
- package/lib/components/Layout/Sidebar/Sidebar.d.ts +0 -5
- package/lib/components/Layout/Sidebar/Sidebar.d.ts.map +0 -1
- package/lib/components/Layout/Sidebar/Sidebar.js.map +0 -1
- package/lib/components/Layout/Sidebar/SidebarMenu.d.ts +0 -4
- package/lib/components/Layout/Sidebar/SidebarMenu.d.ts.map +0 -1
- package/lib/components/Layout/Sidebar/SidebarMenu.js +0 -176
- package/lib/components/Layout/Sidebar/SidebarMenu.js.map +0 -1
package/README.md
CHANGED
|
@@ -106,6 +106,10 @@ The design system provides theme-aware CSS classes that automatically adapt to t
|
|
|
106
106
|
/* Main background */
|
|
107
107
|
/* Main background */
|
|
108
108
|
/* Main background */
|
|
109
|
+
/* Main background */
|
|
110
|
+
/* Main background */
|
|
111
|
+
/* Main background */
|
|
112
|
+
/* Main background */
|
|
109
113
|
.bg-card /* Card background */
|
|
110
114
|
.bg-popover /* Popover background */
|
|
111
115
|
.bg-muted /* Muted background */
|
|
@@ -119,6 +123,10 @@ The design system provides theme-aware CSS classes that automatically adapt to t
|
|
|
119
123
|
/* Primary text */
|
|
120
124
|
/* Primary text */
|
|
121
125
|
/* Primary text */
|
|
126
|
+
/* Primary text */
|
|
127
|
+
/* Primary text */
|
|
128
|
+
/* Primary text */
|
|
129
|
+
/* Primary text */
|
|
122
130
|
.text-muted-foreground /* Secondary text */
|
|
123
131
|
.text-primary /* Primary brand color */
|
|
124
132
|
.text-secondary /* Secondary brand color */
|
|
@@ -132,6 +140,10 @@ The design system provides theme-aware CSS classes that automatically adapt to t
|
|
|
132
140
|
/* Success text */
|
|
133
141
|
/* Success text */
|
|
134
142
|
/* Success text */
|
|
143
|
+
/* Success text */
|
|
144
|
+
/* Success text */
|
|
145
|
+
/* Success text */
|
|
146
|
+
/* Success text */
|
|
135
147
|
.text-warning /* Warning text */
|
|
136
148
|
.text-error /* Error text */
|
|
137
149
|
.text-info /* Info text */
|
|
@@ -148,6 +160,10 @@ The design system provides theme-aware CSS classes that automatically adapt to t
|
|
|
148
160
|
/* Theme-aware button */
|
|
149
161
|
/* Theme-aware button */
|
|
150
162
|
/* Theme-aware button */
|
|
163
|
+
/* Theme-aware button */
|
|
164
|
+
/* Theme-aware button */
|
|
165
|
+
/* Theme-aware button */
|
|
166
|
+
/* Theme-aware button */
|
|
151
167
|
.themed-card /* Theme-aware card */
|
|
152
168
|
.themed-input /* Theme-aware input */
|
|
153
169
|
.themed-modal /* Theme-aware modal */
|
|
@@ -162,6 +178,10 @@ The design system provides theme-aware CSS classes that automatically adapt to t
|
|
|
162
178
|
/* Hover effects */
|
|
163
179
|
/* Hover effects */
|
|
164
180
|
/* Hover effects */
|
|
181
|
+
/* Hover effects */
|
|
182
|
+
/* Hover effects */
|
|
183
|
+
/* Hover effects */
|
|
184
|
+
/* Hover effects */
|
|
165
185
|
.focus-themed /* Focus states */
|
|
166
186
|
.rounded-themed /* Theme-aware border radius */
|
|
167
187
|
.shadow-themed-sm /* Theme-aware shadows */
|
|
@@ -110,6 +110,7 @@
|
|
|
110
110
|
"dict": "Diccionario",
|
|
111
111
|
"config": "Configuración",
|
|
112
112
|
"system_log": "Registro del Sistema",
|
|
113
|
-
"login_info": "Información de Inicio de Sesión"
|
|
113
|
+
"login_info": "Información de Inicio de Sesión",
|
|
114
|
+
"tenant_management": "Gestión de Inquilinos"
|
|
114
115
|
}
|
|
115
116
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cdm-locales/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@admin-layout/client/src/graphql/link';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageMenu.js","sources":["../../../src/components/LanguageMenu/LanguageMenu.tsx"],"sourcesContent":[null],"names":[],"mappings":"wUAQO,MAAM,YAAY,GAAG,MAAK;
|
|
1
|
+
{"version":3,"file":"LanguageMenu.js","sources":["../../../src/components/LanguageMenu/LanguageMenu.tsx"],"sourcesContent":[null],"names":[],"mappings":"wUAQO,MAAM,YAAY,GAAG,MAAK;QAC7B,QAAM,GAAQ,aAAG,CAAA;IACjB,QAAO,EAAA;AACP,GAAA,CAAA;AACA,EAAA,MAAA,CAAA,MAAQ,EAAI,SAAK,CAAA,GAAA,QAAiB,CAAA,IAAA,CAAA;AAClC,EAAA,MAAA,QAAY,iBAAiB,EAAE;AAC/B,EAAA,MAAA;AACI,IAAA;AACA,GAAA,GAAA,cAAO,EAAA;AACP,EAAA,MAAA;AACA,IAAA,IAAA,EAAA;AACH,GAAA,GAAC,MAAC;QACH,CAAA,WAAe,EAAA,cAAa,CAAA,GAAQ,QAAQ,CAAA;AAC5C,IAAA,GAAA,EAAA;IAEA,KAAA,EAAM,SAAA;IAEN,IAAA,EAAA;AACI,IAAA,MAAA,EAAA;AACI,GAAA,CAAA;AACA,EAAA,MAAA,CAAA,MAAA,EAAA,SAAS,CAAM,GAAA,QAAA,CAAA,KAAA,CAAA;AAClB,EAAA,MAAA,WAAE,GAAA,MAAA,CAAA,IAAA,CAAA;AACP,EAAA,MAAI,iBAAiB,GAAE,SAAA,CAAA,MAAA,CAAA,QAAA,IAAA,eAAA,CAAA,aAAA,CAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA;WAEvB,CAAA,MAAa;AACT,IAAA,QAAA,CAAA;AACI,MAAA,IAAA,EAAA,eAAe;;;AAGnB,EAAA,CAAA,EAAA,CAAA,MAAE,EAAA,QAAA,CAAA,CAAA;AAEF,EAAA,SAAA,CAAA,MAAS;AACT,IAAA,MAAA,kBAAY,GAAA,KAAA,IAAA;AACR,MAAA,IAAA,WAAS,CAAA,OAAA,IAAA,CAAA,mBAA+B,CAAE,QAAA,CAAA,KAAA,CAAA,MAAoB,CAAA,EAAA;AAClE,QAAA,SAAE,CAAA,KAAA,CAAA;MACL;AAED,IAAA,CAAA;AACI,IAAA,QAAA,CAAA,gBAAe,CAAA,WAAA,EAAA,kBAAA,CAAA;iBACN;cACL,CAAA,mBAAqB,CAAA,WAAA,EAAA,kBAAA,CAAA;;;AAGxB,EAAA,MAAA,oBAAE,GAAA,QAAA,IAAA;AACH,IAAA,cAAK,CAAA;AACL,MAAA,GAAA,EAAA,QAAU,CAAA,GAAA;WACV,EAAA,QAAU,CAAA,KAAO;AACrB,MAAE,IAAA,EAAA,QAAA,CAAA,IAAA;MAEF,MAAM,EAAA,QAAA,CAAA;AACF,KAAA,CAAA;AACJ,IAAA,IAAE,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA;AAEF,IAAA,SACI,CAAA,QAAA,CAAA,GAAA,CAAK;AAmCb,IAAE,SAAA,CAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { BasicLayoutProps, GlobalHeaderProps } from '@admin-layout/client';
|
|
2
|
+
import React from 'react';
|
|
3
3
|
export declare const useHorizontalScroll: ({ setScrolled, setSearchOptionsShown, onScrollReachEnd }: {
|
|
4
4
|
setScrolled: any;
|
|
5
5
|
setSearchOptionsShown: any;
|
|
@@ -8,5 +8,6 @@ export declare const useHorizontalScroll: ({ setScrolled, setSearchOptionsShown,
|
|
|
8
8
|
export declare const BasicLayout: React.FC<BasicLayoutProps & GlobalHeaderProps & {
|
|
9
9
|
routeParams?: any;
|
|
10
10
|
children?: React.ReactNode;
|
|
11
|
+
routePattern?: string;
|
|
11
12
|
}>;
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAIhB,iBAAiB,EAEpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,eAAO,MAAM,mBAAmB,GAAI;;;;CAAwD,sCAkC3F,CAAC;AAgCF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAC9B,gBAAgB,GAAG,iBAAiB,GAAG;IAAE,WAAW,CAAC,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CA0WlH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {jsxs,jsx}from'react/jsx-runtime';import {
|
|
1
|
+
import {jsxs,jsx}from'react/jsx-runtime';import {useComponentSize,getMenuSeparation,getThemeColors}from'@admin-layout/client';import {Outlet}from'@remix-run/react';import {omit}from'lodash-es';import {useState,useEffect,useRef,useCallback,useMemo}from'react';import warning from'warning';import {config}from'../../../config/env-config.js';import'@react-icons/all-files/fa/FaMoon.js';import'@react-icons/all-files/fa/FaSun.js';import {useMediaQuery}from'../../../hooks/useMediaQuery.js';import {useScrollThreshold}from'../../../hooks/useScrollThreshold.js';import {SettingDrawer}from'../../SettingDrawer/SettingDrawer.js';import {getPageTitleInfo}from'../getPageTitle.js';import {MainHeader}from'../GlobalHeader/MainHeader.js';import'@remix-run/router';import'../../../helpers/DynamicIcon.js';import'@app/dialog/WrappedDialogsSwitch';import {GlobalHeader}from'../GlobalHeader/Header.js';import {MainSidebar}from'../Sidebar/MainSidebar.js';import {PerplexSidebar}from'../Sidebar/PerplexSidebar.js';import'@common-stack/components-pro';import {FooterSlot}from'../slot-fill/Footer.js';import'reflect-metadata';import'@admin-layout/client/lib/constants/layout.js';const useHorizontalScroll = ({
|
|
2
2
|
setScrolled,
|
|
3
3
|
setSearchOptionsShown,
|
|
4
4
|
onScrollReachEnd
|
|
@@ -56,20 +56,27 @@ const defaultPageTitleRender = (pageProps, props) => {
|
|
|
56
56
|
return pageTitleInfo;
|
|
57
57
|
};
|
|
58
58
|
const BasicLayout = props => {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
};
|
|
59
|
+
// Settings are already passed from TailwindLayout via props
|
|
60
|
+
// No need to subscribe to Redux again - it causes double re-renders
|
|
61
|
+
const propsWithSettings = props;
|
|
63
62
|
const [scrolled, setScrolled] = useState(false);
|
|
64
63
|
const [collapsed, setCollapsed] = useState(false);
|
|
64
|
+
const [siderPinned, setSiderPinned] = useState(false);
|
|
65
65
|
const {
|
|
66
|
+
children,
|
|
67
|
+
onCollapse: propsOnCollapse,
|
|
68
|
+
defaultCollapsed,
|
|
66
69
|
menuData,
|
|
70
|
+
fullMenuData,
|
|
71
|
+
siderWidth = 208,
|
|
72
|
+
menu,
|
|
73
|
+
menuDataRender,
|
|
74
|
+
loading,
|
|
67
75
|
location,
|
|
68
76
|
routeParams,
|
|
69
77
|
settings,
|
|
70
78
|
authorities,
|
|
71
79
|
primaryColor,
|
|
72
|
-
onSettingChange,
|
|
73
80
|
mainHeaderProps,
|
|
74
81
|
actor
|
|
75
82
|
} = propsWithSettings;
|
|
@@ -106,13 +113,45 @@ const BasicLayout = props => {
|
|
|
106
113
|
};
|
|
107
114
|
}
|
|
108
115
|
}, [searchOptionsShown, isMobile]);
|
|
109
|
-
// Get current route
|
|
116
|
+
// Get current route and device type
|
|
110
117
|
const currentRoute = location?.pathname || '/';
|
|
111
|
-
const routeSettings = settings?.routeSettings?.[currentRoute] || settings?.routeSettings?.['/'] || settings;
|
|
112
|
-
// Get device-specific settings
|
|
113
118
|
const deviceType = isMobile ? 'mobile' : 'desktop';
|
|
114
|
-
|
|
115
|
-
const
|
|
119
|
+
// Helper function to get value from uilayout with route/device override support
|
|
120
|
+
const getUILayoutValue = path => {
|
|
121
|
+
// Check for route/device-specific override first - use route pattern if available
|
|
122
|
+
const routeForBracket = props.routePattern || currentRoute;
|
|
123
|
+
const routeDeviceKey = `[${routeForBracket}][${deviceType}]`;
|
|
124
|
+
const uiOverride = settings?.uiSettings?.[routeDeviceKey];
|
|
125
|
+
if (uiOverride) {
|
|
126
|
+
const value = path.split('.').reduce((obj, key) => obj?.[key], uiOverride);
|
|
127
|
+
if (value !== undefined) return value;
|
|
128
|
+
}
|
|
129
|
+
// Fallback to settings (flattened uilayout from configuration-registries)
|
|
130
|
+
return path.split('.').reduce((obj, key) => obj?.[key], settings);
|
|
131
|
+
};
|
|
132
|
+
// Get device settings directly from uilayout
|
|
133
|
+
const deviceSettings = {
|
|
134
|
+
header: getUILayoutValue('header'),
|
|
135
|
+
background: getUILayoutValue('background'),
|
|
136
|
+
footer: getUILayoutValue('footer')
|
|
137
|
+
};
|
|
138
|
+
// Get layout settings directly from uilayout
|
|
139
|
+
const layoutSettings = {
|
|
140
|
+
contentWidth: getUILayoutValue('contentWidth'),
|
|
141
|
+
navigationMode: getUILayoutValue('navigationMode'),
|
|
142
|
+
sideMenuType: getUILayoutValue('sideMenuType'),
|
|
143
|
+
fixedHeader: getUILayoutValue('fixedHeader'),
|
|
144
|
+
fixedSidebar: getUILayoutValue('fixedSidebar'),
|
|
145
|
+
splitMenus: getUILayoutValue('splitMenus'),
|
|
146
|
+
upperMenuDividerName: getUILayoutValue('upperMenuDividerName'),
|
|
147
|
+
middleMenuDividerName: getUILayoutValue('middleMenuDividerName'),
|
|
148
|
+
lowerMenuDividerName: getUILayoutValue('lowerMenuDividerName'),
|
|
149
|
+
menuHeaderRender: getUILayoutValue('menuHeaderRender')
|
|
150
|
+
};
|
|
151
|
+
// Helper function to get override value (for backward compatibility)
|
|
152
|
+
const getOverrideValue = path => {
|
|
153
|
+
return path.split('.').reduce((obj, key) => obj?.[key], deviceSettings);
|
|
154
|
+
};
|
|
116
155
|
const backgroundSettings = deviceSettings?.background || {
|
|
117
156
|
type: 'color',
|
|
118
157
|
color: 'inherit',
|
|
@@ -132,7 +171,7 @@ const BasicLayout = props => {
|
|
|
132
171
|
pathname: location?.pathname,
|
|
133
172
|
...defaultProps
|
|
134
173
|
}, propsWithSettings);
|
|
135
|
-
|
|
174
|
+
useRef(settings);
|
|
136
175
|
const scrollThreshold = deviceSettings?.header?.scrollThreshold || 50;
|
|
137
176
|
const {
|
|
138
177
|
componentVisibility
|
|
@@ -141,24 +180,20 @@ const BasicLayout = props => {
|
|
|
141
180
|
id: 'search-bar',
|
|
142
181
|
useWindowScroll: true
|
|
143
182
|
}]);
|
|
144
|
-
useEffect(() => {
|
|
145
|
-
if (settingRef.current?.primaryColor === '#3FA541C' && primaryColor !== '#3FA541C') {
|
|
146
|
-
const newState = {
|
|
147
|
-
...settingRef.current,
|
|
148
|
-
primaryColor
|
|
149
|
-
};
|
|
150
|
-
onSettingChange(newState);
|
|
151
|
-
}
|
|
152
|
-
}, [primaryColor, isBrowser, settingRef]);
|
|
153
183
|
// Update settings when route changes
|
|
154
|
-
|
|
184
|
+
// Memoize the send callback to prevent creating new event objects
|
|
185
|
+
const sendRouteChange = useCallback(() => {
|
|
155
186
|
if (actor && location?.pathname) {
|
|
156
187
|
actor.send({
|
|
157
|
-
type: '
|
|
158
|
-
pathname: location?.pathname
|
|
188
|
+
type: 'UISETTING_ROUTE_CHANGE',
|
|
189
|
+
pathname: location?.pathname,
|
|
190
|
+
routePattern: props.routePattern
|
|
159
191
|
});
|
|
160
192
|
}
|
|
161
|
-
}, [location?.pathname,
|
|
193
|
+
}, [actor, location?.pathname, props.routePattern]);
|
|
194
|
+
useEffect(() => {
|
|
195
|
+
sendRouteChange();
|
|
196
|
+
}, [sendRouteChange]);
|
|
162
197
|
const {
|
|
163
198
|
ref: refHeader,
|
|
164
199
|
height: heightHeader
|
|
@@ -191,6 +226,24 @@ const BasicLayout = props => {
|
|
|
191
226
|
}
|
|
192
227
|
return classes;
|
|
193
228
|
};
|
|
229
|
+
// Derived layout flags for clarity
|
|
230
|
+
const isSidebarLayout = layoutSettings?.navigationMode !== 'topbar';
|
|
231
|
+
layoutSettings?.navigationMode === 'topbar';
|
|
232
|
+
const isSideMenuLayout = layoutSettings?.navigationMode === 'sidebar';
|
|
233
|
+
layoutSettings?.navigationMode === 'mixed';
|
|
234
|
+
const showMenu = deviceSettings?.header?.showMenu;
|
|
235
|
+
const showHeader = deviceSettings?.header?.showHeader;
|
|
236
|
+
const menuHeaderRender = deviceSettings?.header?.menuHeaderRender;
|
|
237
|
+
const hasFixedSidebar = layoutSettings?.fixedSidebar;
|
|
238
|
+
const isPerplexLayout = settings?.sideMenuType === 'perplexLayout';
|
|
239
|
+
const isAppShell = LAYOUT_ROOT != '/';
|
|
240
|
+
const shouldApplySidebarMargin = isSidebarLayout && showMenu && hasFixedSidebar && !isMobile;
|
|
241
|
+
const shouldShowSidebar = isSidebarLayout && showMenu;
|
|
242
|
+
const sideBarMarginTop = !isAppShell && showHeader ? '5rem' : undefined;
|
|
243
|
+
// Compute margin-left based on layout type and state
|
|
244
|
+
const computedMarginLeft = shouldApplySidebarMargin ? !isPerplexLayout ? collapsed ? '64px' : '256px' : !siderPinned ? '92px' : '316px' : '0px';
|
|
245
|
+
const memoizedMenuData = useMemo(() => menuData, [menuData]); // Only recompute if menuData changes
|
|
246
|
+
const memoizedRouteParams = useMemo(() => routeParams, [routeParams]); // Stable reference for routeParams
|
|
194
247
|
return jsxs("div", {
|
|
195
248
|
className: getBackgroundClasses(),
|
|
196
249
|
ref: horizontalScrollRef,
|
|
@@ -199,39 +252,75 @@ const BasicLayout = props => {
|
|
|
199
252
|
} : backgroundSettings.type === 'color' && backgroundSettings.color !== 'inherit' ? {
|
|
200
253
|
backgroundColor: backgroundSettings.color
|
|
201
254
|
} : {},
|
|
202
|
-
children: [deviceSettings?.header?.showHeader && LAYOUT_ROOT != '/' && jsx(GlobalHeader, {
|
|
255
|
+
children: [deviceSettings?.header?.showHeader && !isSideMenuLayout && LAYOUT_ROOT != '/' && jsx(GlobalHeader, {
|
|
203
256
|
toggleSideMenu: toggleSideMenu,
|
|
204
257
|
settings: settings,
|
|
205
|
-
upperMenus: getMenuSeparation(
|
|
206
|
-
routeParams:
|
|
258
|
+
upperMenus: getMenuSeparation(memoizedMenuData).upperMenus,
|
|
259
|
+
routeParams: memoizedRouteParams,
|
|
207
260
|
collapsed: collapsed,
|
|
208
261
|
...props
|
|
209
262
|
}), LAYOUT_ROOT === '/' && deviceSettings?.header?.showHeader && jsx(MainHeader, {
|
|
210
263
|
scrolled: scrolled,
|
|
211
264
|
location: location,
|
|
212
|
-
menuData:
|
|
265
|
+
menuData: memoizedMenuData,
|
|
213
266
|
settings: settings,
|
|
214
267
|
pageTitleInfo: pageTitleInfo,
|
|
215
|
-
onSettingChange: onSettingChange,
|
|
216
268
|
searchOptionsShown: searchOptionsShown,
|
|
217
269
|
setSearchOptionsShown: setSearchOptionsShown,
|
|
218
270
|
authorities: authorities,
|
|
219
271
|
picture: picture,
|
|
220
|
-
componentVisibility: componentVisibility
|
|
272
|
+
componentVisibility: componentVisibility,
|
|
273
|
+
showMenu: showMenu,
|
|
274
|
+
toggleSideMenu: toggleSideMenu
|
|
221
275
|
}), jsxs("div", {
|
|
222
276
|
className: "bg-background",
|
|
223
|
-
children: [
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
277
|
+
children: [shouldShowSidebar && !isPerplexLayout && jsx("div", {
|
|
278
|
+
style: sideBarMarginTop ? {
|
|
279
|
+
marginTop: sideBarMarginTop
|
|
280
|
+
} : undefined,
|
|
281
|
+
children: jsx(MainSidebar, {
|
|
282
|
+
isSideMenuOpen: isSideMenuOpen,
|
|
283
|
+
closeSideMenu: closeSideMenu,
|
|
284
|
+
menuData: memoizedMenuData,
|
|
285
|
+
collapsed: collapsed,
|
|
286
|
+
setCollapsed: setCollapsed,
|
|
287
|
+
routeParams: memoizedRouteParams,
|
|
288
|
+
settings: settings,
|
|
289
|
+
siderPinned: siderPinned,
|
|
290
|
+
setSiderPinned: setSiderPinned,
|
|
291
|
+
showHeader: showHeader,
|
|
292
|
+
menuHeaderRender: menuHeaderRender,
|
|
293
|
+
deviceSettings: deviceSettings,
|
|
294
|
+
isSideMenuLayout: isSideMenuLayout
|
|
295
|
+
})
|
|
296
|
+
}), shouldShowSidebar && isPerplexLayout && jsx("div", {
|
|
297
|
+
style: sideBarMarginTop ? {
|
|
298
|
+
marginTop: sideBarMarginTop
|
|
299
|
+
} : undefined,
|
|
300
|
+
children: jsx(PerplexSidebar, {
|
|
301
|
+
isSideMenuOpen: isSideMenuOpen,
|
|
302
|
+
closeSideMenu: closeSideMenu,
|
|
303
|
+
menuData: memoizedMenuData,
|
|
304
|
+
collapsed: collapsed,
|
|
305
|
+
setCollapsed: setCollapsed,
|
|
306
|
+
routeParams: memoizedRouteParams,
|
|
307
|
+
settings: settings,
|
|
308
|
+
layoutSettings: layoutSettings,
|
|
309
|
+
menuHeaderRender: menuHeaderRender,
|
|
310
|
+
deviceSettings: deviceSettings,
|
|
311
|
+
siderPinned: siderPinned,
|
|
312
|
+
setSiderPinned: setSiderPinned,
|
|
313
|
+
actor: actor,
|
|
314
|
+
sideBarMarginTop: sideBarMarginTop,
|
|
315
|
+
showHeader: showHeader,
|
|
316
|
+
isSideMenuLayout: isSideMenuLayout,
|
|
317
|
+
authorities: authorities,
|
|
318
|
+
picture: picture
|
|
319
|
+
})
|
|
231
320
|
}), jsxs("div", {
|
|
232
321
|
className: "flex flex-col flex-1 bg-background",
|
|
233
322
|
style: {
|
|
234
|
-
marginLeft:
|
|
323
|
+
marginLeft: computedMarginLeft,
|
|
235
324
|
padding: LAYOUT_ROOT != '/' ? '24px' : '0px'
|
|
236
325
|
},
|
|
237
326
|
children: [config.ENABLE_SETTING_DRAWER && jsx(SettingDrawer, {
|
|
@@ -240,14 +329,15 @@ const BasicLayout = props => {
|
|
|
240
329
|
onSettingChange: newSettings => {
|
|
241
330
|
if (actor) {
|
|
242
331
|
actor.send({
|
|
243
|
-
type: '
|
|
332
|
+
type: 'UISETTING_UPDATE',
|
|
244
333
|
value: newSettings
|
|
245
334
|
});
|
|
246
335
|
}
|
|
247
|
-
onSettingChange?.(newSettings);
|
|
248
336
|
},
|
|
249
337
|
actor: actor,
|
|
250
338
|
colorList: getThemeColors(settings?.theme),
|
|
339
|
+
fullMenuData: fullMenuData,
|
|
340
|
+
routePattern: props.routePattern,
|
|
251
341
|
...props
|
|
252
342
|
}), jsxs("main", {
|
|
253
343
|
className: "relative",
|
|
@@ -258,12 +348,12 @@ const BasicLayout = props => {
|
|
|
258
348
|
setSearchOptionsShown(false);
|
|
259
349
|
}
|
|
260
350
|
}), jsx(Outlet, {})]
|
|
261
|
-
}),
|
|
351
|
+
}), getOverrideValue('footer.showFooter') && jsx("div", {
|
|
262
352
|
ref: refFooter,
|
|
263
353
|
className: footerFixed ? 'fixed bottom-0 w-full' : '',
|
|
264
354
|
children: jsx(FooterSlot, {
|
|
265
355
|
settings: settings,
|
|
266
|
-
active:
|
|
356
|
+
active: getOverrideValue('footer.showFooter')
|
|
267
357
|
})
|
|
268
358
|
})]
|
|
269
359
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,12 @@ import * as React from 'react';
|
|
|
2
2
|
export declare const defaultFooterDom: import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export declare const UserView: React.NamedExoticComponent<{
|
|
4
4
|
collapsed: boolean;
|
|
5
|
+
layoutSettings: any;
|
|
5
6
|
}>;
|
|
6
7
|
export declare const FooterSubMenuItemRender: React.NamedExoticComponent<{
|
|
7
8
|
item: any;
|
|
8
9
|
collapsed: boolean;
|
|
10
|
+
layoutSettings: any;
|
|
9
11
|
}>;
|
|
10
12
|
export declare const handleMenuPopup: () => void;
|
|
11
13
|
export declare const itemRender: (route: any, params: any, routes: any, paths: any) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/BasicLayout/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,eAAO,MAAM,gBAAgB,yCAwB5B,CAAC;AAEF,eAAO,MAAM,QAAQ;eAA2B,OAAO;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/BasicLayout/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,eAAO,MAAM,gBAAgB,yCAwB5B,CAAC;AAEF,eAAO,MAAM,QAAQ;eAA2B,OAAO;oBAAkB,GAAG;EAyDlE,CAAC;AAEX,eAAO,MAAM,uBAAuB;UAAsB,GAAG;eAAa,OAAO;oBAAkB,GAAG;EAOrG,CAAC;AAEF,eAAO,MAAM,eAAe,YAU3B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,UAAK,EAAE,WAAM,EAAE,WAAM,EAAE,UAAK,4CAStD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,eAAY,UAUvC,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,WAchE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {jsx,jsxs}from'react/jsx-runtime';import*as React from'react';import {Link}from'react
|
|
1
|
+
import {jsx,jsxs}from'react/jsx-runtime';import*as React from'react';import {Link}from'@remix-run/react';import {isEmpty}from'lodash-es';import {useAppSelector,useLayoutSettings}from'@admin-layout/client';jsxs("footer", {
|
|
2
2
|
className: "flex flex-col items-center justify-center py-4",
|
|
3
3
|
children: [jsxs("div", {
|
|
4
4
|
className: "flex space-x-8 mb-2",
|
|
@@ -28,20 +28,21 @@ import {jsx,jsxs}from'react/jsx-runtime';import*as React from'react';import {Lin
|
|
|
28
28
|
})]
|
|
29
29
|
});
|
|
30
30
|
const UserView = React.memo(({
|
|
31
|
-
collapsed
|
|
31
|
+
collapsed,
|
|
32
|
+
layoutSettings
|
|
32
33
|
}) => {
|
|
33
34
|
const {
|
|
34
35
|
profile = {}
|
|
35
36
|
} = useAppSelector(state => state?.user || {});
|
|
36
|
-
const {
|
|
37
|
-
settings
|
|
38
|
-
} = useLayoutSettings();
|
|
39
37
|
const {
|
|
40
38
|
isTest,
|
|
41
39
|
mock,
|
|
42
40
|
nickname,
|
|
43
41
|
picture
|
|
44
42
|
} = profile || {};
|
|
43
|
+
const {
|
|
44
|
+
settings
|
|
45
|
+
} = useLayoutSettings();
|
|
45
46
|
if (isEmpty(profile) || isTest || mock) {
|
|
46
47
|
return jsx("div", {
|
|
47
48
|
className: "flex",
|
|
@@ -84,31 +85,33 @@ const UserView = React.memo(({
|
|
|
84
85
|
id: !isEmpty(profile) || isTest || mock ? `cde-user-placeholder` : 'cde-user',
|
|
85
86
|
className: `${settings?.themeType === 'dark' ? 'text-white' : ''}`,
|
|
86
87
|
children: jsxs("div", {
|
|
87
|
-
className:
|
|
88
|
+
className: `flex items-center ${layoutSettings?.sideMenuType === 'perplexLayout' ? 'flex-col' : ''}`,
|
|
88
89
|
children: [jsx("div", {
|
|
89
90
|
className: "w-8 h-8 rounded-full bg-gray-300 flex items-center justify-center overflow-hidden ml-1 mb-1",
|
|
90
91
|
children: picture ? jsx("img", {
|
|
91
92
|
src: picture,
|
|
92
|
-
alt:
|
|
93
|
+
alt: "Account",
|
|
93
94
|
className: "w-full h-full object-cover"
|
|
94
95
|
}) : jsx("span", {
|
|
95
96
|
className: "text-sm",
|
|
96
|
-
children:
|
|
97
|
+
children: 'Account'.charAt(0)
|
|
97
98
|
})
|
|
98
99
|
}), !collapsed && jsx("span", {
|
|
99
|
-
className: "pl-2",
|
|
100
|
-
children:
|
|
100
|
+
className: "pl-2 text-sm",
|
|
101
|
+
children: "Account"
|
|
101
102
|
})]
|
|
102
103
|
})
|
|
103
104
|
});
|
|
104
105
|
});
|
|
105
106
|
const FooterSubMenuItemRender = React.memo(({
|
|
106
107
|
item,
|
|
107
|
-
collapsed
|
|
108
|
+
collapsed,
|
|
109
|
+
layoutSettings
|
|
108
110
|
}) => {
|
|
109
|
-
if (item?.key === 'usermenu') {
|
|
111
|
+
if (item?.key === 'usermenu' || item?.key === 'account') {
|
|
110
112
|
return jsx(UserView, {
|
|
111
|
-
collapsed: collapsed
|
|
113
|
+
collapsed: collapsed,
|
|
114
|
+
layoutSettings: layoutSettings
|
|
112
115
|
});
|
|
113
116
|
}
|
|
114
117
|
return jsx("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../src/components/Layout/BasicLayout/utils.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"6MAKgCA,IAC5B,CAAA,QAAA,EAAA;AAyBJ,EAAA,SAAO,EAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/components/Layout/BasicLayout/utils.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"6MAKgCA,IAC5B,CAAA,QAAA,EAAA;AAyBJ,EAAA,SAAO,EAAM,gDAAkF;AAC3F,EAAA,QAAM,EAAE,CAAAA,IAAA,CAAO,KAAK,EAAE;AACtB,IAAA,SAAQ,EAAA,qBAAwB;AAChC,IAAA,QAAQ,EAAA,CAAAC,GAAA,CAAQ,GAAE,EAAG;MAErB,IAAI,EAAA,qBAAoB;YACpB,EAAA,QACI;MA8BP,GAAA,EAAA,qBAAA;MAED,SACI,EAAA,qDAEwB;AAehC,MAAW,QAAA,EAAA;AAEX,KAAA,CAAM,EAACA,GAAA,CAAM,GAAA,EAAA;AAEL,MAAA,IAAI,EAAI,4BAA4B;YAChC,EAAA,QAAQ;MACX,GAAA,EAAA,qBAAA;AACD,MAAA,SAAO,EAAA,qDAA0B;AACrC,MACF,QAAA,EAAAA,GAAA,CAAA,KAAA,EAAA;AAEF,QAAO,SAAM,EAAA,SAAe;AACxB,QAAI,IAAA,EAAA,cAAmB;AACvB,QAAA,OAAU,EAAA;QACN,UAAUA,GAAA,CAAA,MAAA,EAAA;UACV,CAAA,EAAI;SACJ;;AAEI,KAAA,CAAA;SACH,CAAA,KAAA,EAAA;IACL,SAAC,EAAA,uBAAA;AACL,IAAE,QAAA,EAAA,CAAA,EAAA,IAAA,IAAA,EAAA,CAAA,WAAA,EAAA,CAAA,eAAA;AAEF,GAAA,CAAA;;sBAGa,CAAA,IAAC,CAAE,CAAA;AAMhB,EAAE,SAAA;AAEF,EAAA;AACI,CAAA,KAAA;QACI;AACI,IAAA,OAAA,GAAA;AACI,GAAA,GAAA,cAAI,MAAK,IAAA,KAAA,EAAA,IAAA,IAAA,EAAA,CAAA;AACT,EAAA,MAAA;AACH,IAAA,MAAA;AACD,IAAA,IAAA;YACF;IACN;AACJ,GAAE,GAAA,OAAA,IAAA,EAAA;AAEF,EAAA,MAAA;AACA,IAAA;AACI,GAAA,GAAA;AACA,EAAA,IAAA,OAAQ,CAAA,OAAS,KAAK,MAAM,IAAI,IAAI,EAAE;AACtC,IAAA,OAAKA,GAAG,CAAA,KAAS;AAEjB,MAAC,SAAS,EAAA,MAAO;AACjB,MAAC,QAAS,EAAAA,GAAM,CAAC,KAAG,EAAI;AACxB,QAAC,SAAS,EAAK,UAAU;QAErB,QAAQ,EAAED,IAAK,CAAC,IAAC,EAAA;YACb,EAAC,QAAO;kBACF,EAAE,CAAA,CAAA,SAAK,IAAAA,IAAA,CAAA,QAAA,EAAA;AAErB,qBAAe,EAAA,qGAAkG;AACrH,YAAE,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/GlobalFooter/Account.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAiJ1B,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -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,
|
|
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
|
|
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.
|
|
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,
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|