@admin-layout/tailwind-design-pro 12.2.4-alpha.2 → 12.2.4-alpha.6

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 (31) hide show
  1. package/README.md +80 -0
  2. package/lib/components/LanguageMenu/LanguageMenu.d.ts.map +1 -1
  3. package/lib/components/LanguageMenu/LanguageMenu.js +6 -2
  4. package/lib/components/LanguageMenu/LanguageMenu.js.map +1 -1
  5. package/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
  6. package/lib/components/Layout/BasicLayout/index.js +4 -3
  7. package/lib/components/Layout/BasicLayout/index.js.map +1 -1
  8. package/lib/components/Layout/ProTailwindLayout.d.ts +20 -8
  9. package/lib/components/Layout/ProTailwindLayout.d.ts.map +1 -1
  10. package/lib/components/Layout/ProTailwindLayout.js +232 -77
  11. package/lib/components/Layout/ProTailwindLayout.js.map +1 -1
  12. package/lib/components/Layout/Sidebar/BottomMenu.d.ts.map +1 -1
  13. package/lib/components/Layout/Sidebar/BottomMenu.js +4 -4
  14. package/lib/components/Layout/Sidebar/BottomMenu.js.map +1 -1
  15. package/lib/components/Layout/TailwindLayout.d.ts.map +1 -1
  16. package/lib/components/Layout/TailwindLayout.js +19 -2
  17. package/lib/components/Layout/TailwindLayout.js.map +1 -1
  18. package/lib/components/Layout/defaultPermissions.d.ts +134 -0
  19. package/lib/components/Layout/defaultPermissions.d.ts.map +1 -0
  20. package/lib/components/Layout/defaultPermissions.js +134 -0
  21. package/lib/components/Layout/defaultPermissions.js.map +1 -0
  22. package/lib/components/SettingDrawer/hooks/useSettingsOperations.d.ts.map +1 -1
  23. package/lib/components/SettingDrawer/hooks/useSettingsOperations.js +11 -8
  24. package/lib/components/SettingDrawer/hooks/useSettingsOperations.js.map +1 -1
  25. package/lib/components/SettingDrawer/utils/transformers.d.ts +16 -0
  26. package/lib/components/SettingDrawer/utils/transformers.d.ts.map +1 -1
  27. package/lib/components/SettingDrawer/utils/transformers.js +39 -2
  28. package/lib/components/SettingDrawer/utils/transformers.js.map +1 -1
  29. package/lib/compute.js +2 -1
  30. package/lib/routes.json +3 -1
  31. package/package.json +7 -6
package/README.md CHANGED
@@ -118,6 +118,22 @@ The design system provides theme-aware CSS classes that automatically adapt to t
118
118
  /* Main background */
119
119
  /* Main background */
120
120
  /* Main background */
121
+ /* Main background */
122
+ /* Main background */
123
+ /* Main background */
124
+ /* Main background */
125
+ /* Main background */
126
+ /* Main background */
127
+ /* Main background */
128
+ /* Main background */
129
+ /* Main background */
130
+ /* Main background */
131
+ /* Main background */
132
+ /* Main background */
133
+ /* Main background */
134
+ /* Main background */
135
+ /* Main background */
136
+ /* Main background */
121
137
  .bg-card /* Card background */
122
138
  .bg-popover /* Popover background */
123
139
  .bg-muted /* Muted background */
@@ -143,6 +159,22 @@ The design system provides theme-aware CSS classes that automatically adapt to t
143
159
  /* Primary text */
144
160
  /* Primary text */
145
161
  /* Primary text */
162
+ /* Primary text */
163
+ /* Primary text */
164
+ /* Primary text */
165
+ /* Primary text */
166
+ /* Primary text */
167
+ /* Primary text */
168
+ /* Primary text */
169
+ /* Primary text */
170
+ /* Primary text */
171
+ /* Primary text */
172
+ /* Primary text */
173
+ /* Primary text */
174
+ /* Primary text */
175
+ /* Primary text */
176
+ /* Primary text */
177
+ /* Primary text */
146
178
  .text-muted-foreground /* Secondary text */
147
179
  .text-primary /* Primary brand color */
148
180
  .text-secondary /* Secondary brand color */
@@ -168,6 +200,22 @@ The design system provides theme-aware CSS classes that automatically adapt to t
168
200
  /* Success text */
169
201
  /* Success text */
170
202
  /* Success text */
203
+ /* Success text */
204
+ /* Success text */
205
+ /* Success text */
206
+ /* Success text */
207
+ /* Success text */
208
+ /* Success text */
209
+ /* Success text */
210
+ /* Success text */
211
+ /* Success text */
212
+ /* Success text */
213
+ /* Success text */
214
+ /* Success text */
215
+ /* Success text */
216
+ /* Success text */
217
+ /* Success text */
218
+ /* Success text */
171
219
  .text-warning /* Warning text */
172
220
  .text-error /* Error text */
173
221
  .text-info /* Info text */
@@ -196,6 +244,22 @@ The design system provides theme-aware CSS classes that automatically adapt to t
196
244
  /* Theme-aware button */
197
245
  /* Theme-aware button */
198
246
  /* Theme-aware button */
247
+ /* Theme-aware button */
248
+ /* Theme-aware button */
249
+ /* Theme-aware button */
250
+ /* Theme-aware button */
251
+ /* Theme-aware button */
252
+ /* Theme-aware button */
253
+ /* Theme-aware button */
254
+ /* Theme-aware button */
255
+ /* Theme-aware button */
256
+ /* Theme-aware button */
257
+ /* Theme-aware button */
258
+ /* Theme-aware button */
259
+ /* Theme-aware button */
260
+ /* Theme-aware button */
261
+ /* Theme-aware button */
262
+ /* Theme-aware button */
199
263
  .themed-card /* Theme-aware card */
200
264
  .themed-input /* Theme-aware input */
201
265
  .themed-modal /* Theme-aware modal */
@@ -222,6 +286,22 @@ The design system provides theme-aware CSS classes that automatically adapt to t
222
286
  /* Hover effects */
223
287
  /* Hover effects */
224
288
  /* Hover effects */
289
+ /* Hover effects */
290
+ /* Hover effects */
291
+ /* Hover effects */
292
+ /* Hover effects */
293
+ /* Hover effects */
294
+ /* Hover effects */
295
+ /* Hover effects */
296
+ /* Hover effects */
297
+ /* Hover effects */
298
+ /* Hover effects */
299
+ /* Hover effects */
300
+ /* Hover effects */
301
+ /* Hover effects */
302
+ /* Hover effects */
303
+ /* Hover effects */
304
+ /* Hover effects */
225
305
  .focus-themed /* Focus states */
226
306
  .rounded-themed /* Theme-aware border radius */
227
307
  .shadow-themed-sm /* Theme-aware shadows */
@@ -1 +1 @@
1
- {"version":3,"file":"LanguageMenu.d.ts","sourceRoot":"","sources":["../../../src/components/LanguageMenu/LanguageMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAQ3D,eAAO,MAAM,YAAY,yBAiFxB,CAAC"}
1
+ {"version":3,"file":"LanguageMenu.d.ts","sourceRoot":"","sources":["../../../src/components/LanguageMenu/LanguageMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAQ3D,eAAO,MAAM,YAAY,yBAqFxB,CAAC"}
@@ -22,7 +22,9 @@ import React__default,{useState,useRef,useEffect}from'react';import {useTranslat
22
22
  const [isOpen, setIsOpen] = useState(false);
23
23
  const dropdownRef = useRef(null);
24
24
  useEffect(() => {
25
- i18n.changeLanguage(settings.language);
25
+ if (i18n?.changeLanguage) {
26
+ i18n.changeLanguage(settings.language);
27
+ }
26
28
  }, []);
27
29
  useEffect(() => {
28
30
  const handleClickOutside = event => {
@@ -37,7 +39,9 @@ import React__default,{useState,useRef,useEffect}from'react';import {useTranslat
37
39
  }, []);
38
40
  const handleLanguageChange = language => {
39
41
  setCurrentLang(language);
40
- i18n.changeLanguage(language.key);
42
+ if (i18n?.changeLanguage) {
43
+ i18n.changeLanguage(language.key);
44
+ }
41
45
  setIsOpen(false);
42
46
  setSettings(settings, {
43
47
  language: language.key
@@ -1 +1 @@
1
- {"version":3,"file":"LanguageMenu.js","sources":["../../../src/components/LanguageMenu/LanguageMenu.tsx"],"sourcesContent":[null],"names":[],"mappings":"iSAQO,MAAM,YAAY,GAAG,MAAK;AAC7B,EAAA,MAAA;AACA,IAAA;MACA,cAAM,EAAA;QACN;IACA,IAAA,EAAM;MACN,MAAO;AAEC,EAAA,MAAA,iBAAS,GAAA,SAAA,CAAA,MAAA,CAAA,QAAA,IAAA,eAAA,CAAA,aAAA,CAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA;AACT,EAAA,MAAA,QAAO,GAAA,aAAS,CAAA;AAChB,IAAA,QAAI,EAAE;AACN,GAAA,CAAA;AACH,EAAA,MACH;IACF,QAAO;AACP,IAAA;MAEA,iBAAe,EAAA;AACX,EAAA,MAAA,CAAA,WAAK,EAAA,cAAuB,CAAC,GAAA,QAAU,CAAA,iBAAA,CAAA,IAAA,CAAA,QAAA,IAAA,QAAA,CAAA,GAAA,KAAA,QAAA,CAAA,QAAA,CAAA,IAAA;IAC3C,GAAG,EAAE,IAAE;IAEP,KAAA,EAAA,SAAe;AACX,IAAA,IAAA,EAAA,MAAM;AACF,IAAA,MAAA,EAAA;;eAEC,EAAA,SAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;AACL,EAAA,MAAA,WAAE,GAAA,MAAA,CAAA,IAAA,CAAA;AAEF,EAAA,SAAA,CAAA,MAAS;AACT,IAAA,IAAA,CAAA,cAAY,CAAA,QAAA,CAAA,QAAA,CAAA;AACR,EAAA,CAAA,EAAA,EAAA,CAAA;AACJ,EAAA,SAAE,CAAA,MAAA;IACN,MAAM,kBAAC,GAAA,KAAA,IAAA;AAEP,MAAA,IAAM,WAAA,CAAA,OAAA,IAAuB,CAAC,WAAU,CAAE,OAAA,CAAA,QAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;QACtC,SAAA,CAAA,KAAe,CAAA;AACf,MAAA;;YAEA,CAAA,gBAAoB,CAAE,WAAU,EAAE,kBAAgB,CAAA;AACtD,IAAA,OAAE,MAAA;MAEF,QAAM,CAAA,mBAAsB,CAAA,WAAA,EAAA,kBAAA,CAAA;AACxB,IAAA,CAAA;AACJ,EAAA,CAAA,EAAC,EAAC,CAAA;QAEF,mCACS;AACD,IAAA,cAAA,CAAA,QAAA,CAAA;uBAIgB,CAAC,QAAQ,CAAC,GAClB,CAAA;aAIJ,CAAA,KAAA,CAAA;AAKH,IAAA,oBACG,EAAA;cAOa,EAAA,QAAS,CAAA;;AAYtC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"LanguageMenu.js","sources":["../../../src/components/LanguageMenu/LanguageMenu.tsx"],"sourcesContent":[null],"names":[],"mappings":"iSAQO,MAAM,YAAY,GAAG,MAAK;AAC7B,EAAA,MAAA;AACA,IAAA;MACA,cAAM,EAAA;QACN;IACA,IAAA,EAAM;MACN,MAAO;AAEC,EAAA,MAAA,iBAAS,GAAA,SAAA,CAAA,MAAA,CAAA,QAAA,IAAA,eAAA,CAAA,aAAA,CAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA;AACT,EAAA,MAAA,QAAO,GAAA,aAAS,CAAA;AAChB,IAAA,QAAI,EAAE;AACN,GAAA,CAAA;AACH,EAAA,MACH;IACF,QAAO;AACP,IAAA;MAEA,iBAAe,EAAA;AACX,EAAA,MAAA,CAAA,WAAU,EAAA,cAAiB,CAAA,GAAA,QAAA,CAAA,iBAAA,CAAA,IAAA,CAAA,QAAA,IAAA,QAAA,CAAA,GAAA,KAAA,QAAA,CAAA,QAAA,CAAA,IAAA;AACvB,IAAA,GAAA,EAAA,IAAA;SACH,EAAA,SAAA;IACL,IAAG,EAAG,MAAC;IAEP,MAAA,EAAA;AACI,GAAA,CAAA;AACI,EAAA,MAAA,CAAA,MAAA,YAAe,GAAC,QAAO,CAAI;mBACvB,GAAA,MAAU,CAAA,IAAO,CAAA;YACrB,MAAC;AACL,IAAA,IAAA,IAAE,EAAA,cAAA,EAAA;AAEF,MAAA,IAAA,CAAA,cAAS,CAAA,QAAiB;AAC1B,IAAA;AACI,EAAA,CAAA,EAAA,EAAA,CAAA;AACJ,EAAA,SAAE,CAAA,MAAA;IACN,MAAM,kBAAC,GAAA,KAAA,IAAA;AAEP,MAAA,IAAM,WAAA,CAAA,OAAA,IAAuB,CAAC,WAAU,CAAE,OAAA,CAAA,QAAA,CAAA,KAAA,CAAA,MAAA,CAAA,EAAA;QACtC,SAAA,CAAA,KAAe,CAAA;AACf,MAAA;AACI,IAAA,CAAA;YACH,CAAA,gBAAA,CAAA,WAAA,EAAA,kBAAA,CAAA;WACD,MAAS;cACT,CAAA,mBAAwB,CAAA,WAAU,EAAA,kBAAgB,CAAA;AACtD,IAAA,CAAC;KAED,EAAA,CAAA;AACI,EAAA,MAAA,oBAAmB,GAAA,QAAA,IAAA;AACvB,IAAA,cAAE,CAAA,QAAA,CAAA;IAEF,IAAA,IACI;AACI,MAAA,IAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA;;aASI,CAAA,KAAA,CAAA;AAKH,IAAA,oBACG,EAAA;cAOa,EAAA,QAAS,CAAA;;AAYtC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
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;AAwBjF,wBAAgB,mBAAmB,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,gBAAgB,EAAE;;;;CAAA,mCA+B3F;AAwCD,wBAAgB,WAAW,CACvB,KAAK,EAAE,gBAAgB,GACnB,iBAAiB,GAAG;IAChB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;CACL,qBA4dR"}
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;AAwBjF,wBAAgB,mBAAmB,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,gBAAgB,EAAE;;;;CAAA,mCA+B3F;AAwCD,wBAAgB,WAAW,CACvB,KAAK,EAAE,gBAAgB,GACnB,iBAAiB,GAAG;IAChB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;CACL,qBA6dR"}
@@ -206,9 +206,10 @@ function BasicLayout(props) {
206
206
  layoutSettings?.navigationMode === 'topbar';
207
207
  const isSideMenuLayout = layoutSettings?.navigationMode === 'sidebar';
208
208
  layoutSettings?.navigationMode === 'mixed';
209
- const showMenu = deviceSettings?.header?.showMenu;
210
- const showHeader = deviceSettings?.header?.showHeader;
211
- const menuHeaderRender = deviceSettings?.header?.menuHeaderRender;
209
+ // Default showMenu to true if not explicitly set - ensures sidebar renders by default
210
+ const showMenu = deviceSettings?.header?.showMenu ?? true;
211
+ const showHeader = deviceSettings?.header?.showHeader ?? true;
212
+ const menuHeaderRender = deviceSettings?.header?.menuHeaderRender ?? true;
212
213
  const hasFixedSidebar = layoutSettings?.fixedSidebar;
213
214
  const isPerplexLayout = settings?.sideMenuType === 'perplexLayout';
214
215
  const isAppShell = LAYOUT_ROOT != '/';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
@@ -1,25 +1,37 @@
1
1
  import { BasicLayoutProps } from '@admin-layout/client';
2
2
  import type { LinksFunction } from '@remix-run/node';
3
3
  import * as React from 'react';
4
- declare const ProTailwindLayout: React.FC<BasicLayoutProps & {
5
- loaderData?: any;
6
- }>;
7
- export default ProTailwindLayout;
4
+ declare global {
5
+ interface Window {
6
+ __ROUTES_CONFIG__?: Array<{
7
+ position?: string;
8
+ key: string;
9
+ name: string;
10
+ path: string;
11
+ priority?: number;
12
+ hideInMenu?: boolean;
13
+ icon?: string;
14
+ isResourceRoute?: boolean;
15
+ routes?: any[];
16
+ }>;
17
+ }
18
+ }
8
19
  export declare const handle: {
9
20
  i18n: string;
10
21
  };
11
22
  export declare const links: LinksFunction;
12
- export declare const loader: (params: any) => Promise<{
23
+ export declare function HydrateFallback(): React.JSX.Element;
24
+ export declare function loader(params: any): Promise<{
13
25
  newMenuData: import("@common-stack/client-react").IMenuData[];
14
26
  apolloState: any;
27
+ permissions: any;
15
28
  }>;
16
- export declare function clientLoader({ request, params, serverLoader }: {
17
- request: any;
18
- params: any;
29
+ export declare function clientLoader({ serverLoader }: {
19
30
  serverLoader: any;
20
31
  }): Promise<any>;
21
32
  export declare const shouldRevalidate: ({ currentParams, nextParams }: {
22
33
  currentParams: any;
23
34
  nextParams: any;
24
35
  }) => boolean;
36
+ export default function ProTailwindLayout(props: BasicLayoutProps): React.JSX.Element;
25
37
  //# sourceMappingURL=ProTailwindLayout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProTailwindLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/ProTailwindLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,gBAAgB,EAMnB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA2E/B,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG;IAAE,UAAU,CAAC,EAAE,GAAG,CAAA;CAAE,CAqDxE,CAAC;AACF,eAAe,iBAAiB,CAAC;AAEjC,eAAO,MAAM,MAAM;;CAElB,CAAC;AACF,eAAO,MAAM,KAAK,EAAE,aAA+D,CAAC;AAEpF,eAAO,MAAM,MAAM,GAAU,WAAM;;;EA0BlC,CAAC;AAEF,wBAAsB,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE;;;;CAAA,gBAgBnE;AAED,eAAO,MAAM,gBAAgB,GAAI;;;CAA6B,YAE7D,CAAC"}
1
+ {"version":3,"file":"ProTailwindLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/ProTailwindLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,gBAAgB,EAMnB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,iBAAiB,CAAC,EAAE,KAAK,CAAC;YACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;SAClB,CAAC,CAAC;KACN;CACJ;AASD,eAAO,MAAM,MAAM;;CAElB,CAAC;AACF,eAAO,MAAM,KAAK,EAAE,aAA+D,CAAC;AA6DpF,wBAAgB,eAAe,sBAc9B;AAED,wBAAsB,MAAM,CAAC,MAAM,KAAA;;;;GAiClC;AACD,wBAAsB,YAAY,CAAC,EAAE,YAAY,EAAE;;CAAA,gBAyLlD;AACD,eAAO,MAAM,gBAAgB,GAAI;;;CAA6B,YAE7D,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,qBAsDhE"}
@@ -1,23 +1,31 @@
1
1
  import { filterRoutesWithLocale, transformData, addProLayoutParentKeys, removeUnnecessaryProperties, menuDataRender } from '@admin-layout/client';
2
2
  import { matchParentRoute } from '@admin-layout/client/lib/utils/parentRoute.js';
3
3
  import { getAvailableCategories, getMenusByAdvancedFilter } from '@common-stack/client-react/lib/utils/filteredRoutes.js';
4
- import { useMatches } from '@remix-run/react';
4
+ import { useLoaderData, useMatches } from '@remix-run/react';
5
5
  import { ClientContainerService } from 'common';
6
6
  import * as React from 'react';
7
7
  import { useSelector } from 'react-redux';
8
8
  import { createSelector } from 'reselect';
9
+ import { defaultPermissions } from './defaultPermissions.js';
9
10
  import { config } from '../../config/env-config.js';
10
11
  import BasicLayoutEnhanced from './TailwindLayout.js';
11
- import stylesheet from '../../styles/index.css?url';
12
- const selectOrgName = state => state.platform.orgName;
13
- const selectSettings = state => state.settings;
12
+ import stylesheet from '../../styles/index.css?url'; // Cache for SPA mode menu data to avoid re-fetching on every route change
13
+ let cachedSpaMenuData = null;
14
+ // Safe selectors that handle undefined state slices in SPA mode
15
+ const selectOrgName = state => state?.platform?.orgName ?? '';
16
+ const selectSettings = state => state?.settings ?? {};
14
17
  const selector = createSelector([selectOrgName, selectSettings], (orgName, settings) => ({
15
18
  orgName,
16
19
  settings
17
20
  }));
18
- /**
19
- * Filter menu items based on user visibility settings using filteredRoutes utilities
20
- */
21
+ const handle = {
22
+ i18n: 'menu'
23
+ };
24
+ const links = () => [{
25
+ rel: 'stylesheet',
26
+ href: stylesheet
27
+ }];
28
+ //helper func
21
29
  function filterMenuItemsByVisibility(menuData, settings) {
22
30
  if (!menuData || !Array.isArray(menuData)) return [];
23
31
  const hiddenMenuCategories = settings?.hiddenMenuCategories || [];
@@ -67,13 +75,224 @@ function filterMenuItemsByVisibility(menuData, settings) {
67
75
  };
68
76
  return filterItemsRecursively(filteredByCategory);
69
77
  }
70
- const ProTailwindLayout = props => {
78
+ function HydrateFallback() {
79
+ return React.createElement("div", {
80
+ style: {
81
+ display: 'flex',
82
+ justifyContent: 'center',
83
+ alignItems: 'center',
84
+ height: '100vh',
85
+ fontFamily: 'system-ui, sans-serif'
86
+ }
87
+ }, React.createElement("div", null, "Loading..."));
88
+ }
89
+ // loader or action
90
+ async function loader(params) {
71
91
  const {
72
- loaderData: {
73
- permissions,
74
- newMenuData
92
+ routeConfig
93
+ } = params.context;
94
+ let parentRoute = null;
95
+ try {
96
+ parentRoute = matchParentRoute(routeConfig, config.LAYOUT_ROOT);
97
+ } catch (e) {
98
+ console.log('[ProTailwindLayout loader] Error matching parent route:', e);
99
+ }
100
+ // Handle case when parentRoute is null or doesn't have routes
101
+ const routes = parentRoute?.routes || [];
102
+ if (routes.length === 0) {
103
+ console.warn('[ProTailwindLayout loader] No routes found for LAYOUT_ROOT:', config.LAYOUT_ROOT);
104
+ }
105
+ const routeWithLocale = filterRoutesWithLocale(routes);
106
+ const routeWithChildren = transformData(routeWithLocale);
107
+ const menuDataWithParentKeys = addProLayoutParentKeys(routeWithChildren);
108
+ menuDataWithParentKeys.forEach(item => removeUnnecessaryProperties(item));
109
+ let permissions = params?._dataContext?.permissions;
110
+ let apolloState = params?._dataContext?.apolloState;
111
+ if (!permissions) {
112
+ throw new Error('Permissions not found');
113
+ }
114
+ if (!apolloState) {
115
+ throw new Error('ApolloState not found');
116
+ }
117
+ const newMenuData = menuDataRender(routeWithLocale, permissions);
118
+ // returnInfo: {"keys":["newMenuData","apolloState","permissions"],"hasOptions":false}
119
+ return {
120
+ data: [newMenuData, apolloState, permissions]
121
+ };
122
+ }
123
+ async function clientLoader({
124
+ serverLoader
125
+ }) {
126
+ // In SPA mode (ssr: false), serverLoader throws an error when called
127
+ // We check the Remix context to determine if we're in SPA mode
128
+ const remixContext = typeof window !== 'undefined' ? window.__remixContext : null;
129
+ // In SPA mode, isSpaMode is true. In SSR mode, it's false or undefined.
130
+ const isSPAMode = remixContext?.isSpaMode === true;
131
+ console.log('[ProTailwindLayout clientLoader] Starting...', {
132
+ isSPAMode,
133
+ hasRemixContext: !!remixContext,
134
+ remixContextKeys: remixContext ? Object.keys(remixContext) : []
135
+ });
136
+ let loaderData = null;
137
+ let hasValidServerData = false;
138
+ // Only attempt to call serverLoader in SSR mode
139
+ // In SPA mode, serverLoader() will throw "You cannot call serverLoader() in SPA Mode"
140
+ if (!isSPAMode) {
141
+ try {
142
+ console.log('[ProTailwindLayout clientLoader] Calling serverLoader (SSR mode)...');
143
+ loaderData = await serverLoader();
144
+ hasValidServerData = loaderData && loaderData.newMenuData && loaderData.newMenuData.length > 0;
145
+ console.log('[ProTailwindLayout clientLoader] serverLoader result:', {
146
+ hasLoaderData: !!loaderData,
147
+ hasNewMenuData: !!loaderData?.newMenuData,
148
+ menuDataLength: loaderData?.newMenuData?.length || 0,
149
+ hasValidServerData
150
+ });
151
+ } catch (e) {
152
+ // If serverLoader fails, we'll fall back to SPA mode data generation
153
+ // This can happen if the server doesn't return expected data
154
+ console.warn('[ProTailwindLayout clientLoader] serverLoader failed:', e);
75
155
  }
76
- } = props;
156
+ } else {
157
+ console.log('[ProTailwindLayout clientLoader] Skipping serverLoader (SPA mode detected)');
158
+ }
159
+ if (hasValidServerData) {
160
+ // SSR mode - hydrate apollo cache and organization context
161
+ const {
162
+ apolloState
163
+ } = loaderData;
164
+ try {
165
+ const {
166
+ container
167
+ } = window.__CLIENT_SERVICE__;
168
+ // const apolloCache = container.get(ClientTypes.InMemoryCache);
169
+ // apolloCache.restore(apolloState);
170
+ const organizationContext = container.get(ClientContainerService.IOrganizationContextService);
171
+ organizationContext.hydrate(apolloState);
172
+ } catch (e) {
173
+ console.error('[ProTailwindLayout clientLoader] Error in client hydrate:', e);
174
+ }
175
+ console.log('[ProTailwindLayout clientLoader] Returning SSR data with', loaderData.newMenuData.length, 'menu items');
176
+ return loaderData;
177
+ }
178
+ // SPA mode - get route config from window.__ROUTES_CONFIG__ or fetch from routes-config.json
179
+ console.log('[ProTailwindLayout clientLoader] Entering SPA mode route generation...');
180
+ // Return cached data if available to avoid unnecessary fetches on route changes
181
+ if (cachedSpaMenuData && cachedSpaMenuData.newMenuData.length > 0) {
182
+ console.log('[ProTailwindLayout clientLoader] Returning cached SPA menu data');
183
+ return cachedSpaMenuData;
184
+ }
185
+ try {
186
+ // First try to get routes config from window global variable
187
+ // If not available, fall back to fetching from routes-config.json
188
+ let routeConfig = [];
189
+ if (typeof window !== 'undefined' && window.__ROUTES_CONFIG__) {
190
+ console.log('[ProTailwindLayout clientLoader] Using window.__ROUTES_CONFIG__');
191
+ // Handle both array format and object format { routes: [...] }
192
+ const windowConfig = window.__ROUTES_CONFIG__;
193
+ routeConfig = Array.isArray(windowConfig) ? windowConfig : windowConfig?.routes || [];
194
+ }
195
+ if (!routeConfig.length) {
196
+ // Fetch routes-config.json as fallback
197
+ // Try multiple paths since Vite serves files differently in dev vs prod
198
+ console.log('[ProTailwindLayout clientLoader] Fetching routes-config.json...');
199
+ const pathsToTry = ['/app/routes-config.json', '/routes-config.json', './routes-config.json'];
200
+ for (const path of pathsToTry) {
201
+ try {
202
+ const response = await fetch(path);
203
+ if (response.ok) {
204
+ const jsonData = await response.json();
205
+ // Handle both array format and object format { routes: [...] }
206
+ routeConfig = Array.isArray(jsonData) ? jsonData : jsonData?.routes || [];
207
+ console.log('[ProTailwindLayout clientLoader] Fetched routes-config.json from', path);
208
+ break;
209
+ }
210
+ } catch (fetchError) {
211
+ console.warn('[ProTailwindLayout clientLoader] Failed to fetch from', path);
212
+ }
213
+ }
214
+ if (!routeConfig.length) {
215
+ console.warn('[ProTailwindLayout clientLoader] Could not fetch routes-config.json from any path');
216
+ }
217
+ }
218
+ console.log('[ProTailwindLayout clientLoader] routeConfig:', {
219
+ isArray: Array.isArray(routeConfig),
220
+ length: routeConfig?.length || 0,
221
+ topLevelKeys: routeConfig?.map?.(r => r.key) || []
222
+ });
223
+ // Transform routes to menu format - the config already has hierarchical structure with nested routes
224
+ const transformToMenuData = routes => {
225
+ return routes.filter(r => !r.hideInMenu && !r.isResourceRoute && !r.path?.includes('/resources/')).map(route => {
226
+ const menuItem = {
227
+ key: route.key,
228
+ name: route.name,
229
+ path: route.path,
230
+ icon: route.icon,
231
+ position: route.position,
232
+ priority: route.priority,
233
+ exact: route.exact
234
+ };
235
+ // Recursively transform child routes
236
+ if (route.routes && route.routes.length > 0) {
237
+ menuItem.children = transformToMenuData(route.routes);
238
+ }
239
+ return menuItem;
240
+ });
241
+ };
242
+ // Find the root layout and get its child routes for menu
243
+ // Look for the layout route that contains child routes for the sidebar menu
244
+ const rootLayout = routeConfig.find?.(r => r.key === 'root-layout' || r.path?.includes(':orgName') || r.routes && r.routes.length > 0);
245
+ const menuRoutes = rootLayout?.routes || routeConfig;
246
+ console.log('[ProTailwindLayout clientLoader] Root layout found:', !!rootLayout, rootLayout?.key, rootLayout?.path);
247
+ console.log('[ProTailwindLayout clientLoader] Menu routes count:', menuRoutes?.length || 0);
248
+ const menuData = transformToMenuData(menuRoutes || []);
249
+ console.log('[ProTailwindLayout clientLoader] Final menuData:', {
250
+ length: menuData.length,
251
+ items: menuData.map(m => ({
252
+ key: m.key,
253
+ name: m.name,
254
+ path: m.path,
255
+ icon: m.icon,
256
+ childrenCount: m.children?.length || 0
257
+ }))
258
+ });
259
+ // Cache the result for subsequent route changes
260
+ cachedSpaMenuData = {
261
+ newMenuData: menuData,
262
+ permissions: defaultPermissions,
263
+ apolloState: {}
264
+ };
265
+ return cachedSpaMenuData;
266
+ } catch (e) {
267
+ console.error('[ProTailwindLayout clientLoader] Error generating menu data in SPA mode:', e);
268
+ console.error('[ProTailwindLayout clientLoader] Error details:', {
269
+ name: e.name,
270
+ message: e.message,
271
+ stack: e.stack
272
+ });
273
+ return {
274
+ newMenuData: [],
275
+ permissions: {},
276
+ apolloState: {}
277
+ };
278
+ }
279
+ }
280
+ const shouldRevalidate = ({
281
+ currentParams,
282
+ nextParams
283
+ }) => {
284
+ return currentParams.orgName !== nextParams.orgName;
285
+ };
286
+ function ProTailwindLayout(props) {
287
+ // Use Remix's useLoaderData to get data from clientLoader/loader
288
+ const loaderData = useLoaderData() || {
289
+ permissions: null,
290
+ newMenuData: []
291
+ };
292
+ const {
293
+ permissions = defaultPermissions,
294
+ newMenuData = []
295
+ } = loaderData || {};
77
296
  const matches = useMatches();
78
297
  const current = matches[matches.length - 1];
79
298
  const {
@@ -116,69 +335,5 @@ const ProTailwindLayout = props => {
116
335
  menuData: filteredMenuData,
117
336
  fullMenuData: newMenuData
118
337
  });
119
- };
120
- const handle = {
121
- i18n: 'menu'
122
- };
123
- const links = () => [{
124
- rel: 'stylesheet',
125
- href: stylesheet
126
- }];
127
- const loader = async params => {
128
- const {
129
- routeConfig
130
- } = params.context;
131
- let parentRoute = {};
132
- try {
133
- parentRoute = matchParentRoute(routeConfig, config.LAYOUT_ROOT);
134
- } catch (e) {
135
- console.log(e);
136
- }
137
- const routeWithLocale = filterRoutesWithLocale(parentRoute['routes']);
138
- const routeWithChildren = transformData(routeWithLocale);
139
- const menuDataWithParentKeys = addProLayoutParentKeys(routeWithChildren);
140
- menuDataWithParentKeys.forEach(item => removeUnnecessaryProperties(item));
141
- let permissions = params?._dataContext?.permissions;
142
- let apolloState = params?._dataContext?.apolloState;
143
- if (!permissions) {
144
- throw new Error('Permissions not found');
145
- }
146
- if (!apolloState) {
147
- throw new Error('ApolloState not found');
148
- }
149
- const newMenuData = menuDataRender(routeWithLocale, permissions);
150
- // returnInfo: {"keys":["newMenuData","apolloState"],"hasOptions":false}
151
- return {
152
- data: [newMenuData, apolloState]
153
- };
154
- };
155
- async function clientLoader({
156
- request,
157
- params,
158
- serverLoader
159
- }) {
160
- // During client-side navigations, we hit our exposed API endpoints directly
161
- // do not restore apollo state in cache memory as it can rewrite newer data
162
- const loaderData = await serverLoader();
163
- const {
164
- apolloState
165
- } = loaderData;
166
- try {
167
- const {
168
- container
169
- } = window.__CLIENT_SERVICE__;
170
- const organizationContext = container.get(ClientContainerService.IOrganizationContextService);
171
- organizationContext.hydrate(apolloState);
172
- } catch (e) {
173
- console.error('Error in client hydrate');
174
- console.error(e);
175
- }
176
- return loaderData;
177
338
  }
178
- const shouldRevalidate = ({
179
- currentParams,
180
- nextParams
181
- }) => {
182
- return currentParams.orgName !== nextParams.orgName;
183
- };
184
- export { clientLoader, ProTailwindLayout as default, handle, links, loader, shouldRevalidate }; //# sourceMappingURL=ProTailwindLayout.js.map
339
+ export { HydrateFallback, clientLoader, ProTailwindLayout as default, handle, links, loader, shouldRevalidate }; //# sourceMappingURL=ProTailwindLayout.js.map