@rakun-kit/manager-react 1.0.4 → 1.2.0

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 (44) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/app-sidebar.js +76 -10
  3. package/dist/cjs/components/app-sidebar.js.map +1 -1
  4. package/dist/cjs/components/nav-main.js +4 -1
  5. package/dist/cjs/components/nav-main.js.map +1 -1
  6. package/dist/cjs/components/nav-secondary.js +2 -1
  7. package/dist/cjs/components/nav-secondary.js.map +1 -1
  8. package/dist/cjs/layouts.js +1 -1
  9. package/dist/cjs/layouts.js.map +1 -1
  10. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +13 -10
  11. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
  12. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/RichTextUI.js +31 -5
  13. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/StringField/RichTextUI.js.map +1 -1
  14. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js +67 -73
  15. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
  16. package/dist/esm/components/app-sidebar.d.ts +4 -1
  17. package/dist/esm/components/app-sidebar.d.ts.map +1 -1
  18. package/dist/esm/components/app-sidebar.js +78 -12
  19. package/dist/esm/components/app-sidebar.js.map +1 -1
  20. package/dist/esm/components/nav-main.d.ts +2 -0
  21. package/dist/esm/components/nav-main.d.ts.map +1 -1
  22. package/dist/esm/components/nav-main.js +5 -2
  23. package/dist/esm/components/nav-main.js.map +1 -1
  24. package/dist/esm/components/nav-secondary.d.ts +1 -0
  25. package/dist/esm/components/nav-secondary.d.ts.map +1 -1
  26. package/dist/esm/components/nav-secondary.js +2 -1
  27. package/dist/esm/components/nav-secondary.js.map +1 -1
  28. package/dist/esm/layouts.d.ts.map +1 -1
  29. package/dist/esm/layouts.js +1 -1
  30. package/dist/esm/layouts.js.map +1 -1
  31. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.d.ts +2 -2
  32. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.d.ts.map +1 -1
  33. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +23 -20
  34. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
  35. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/RichTextUI.d.ts.map +1 -1
  36. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/RichTextUI.js +31 -5
  37. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/StringField/RichTextUI.js.map +1 -1
  38. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.d.ts +1 -1
  39. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.d.ts.map +1 -1
  40. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js +67 -73
  41. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
  42. package/dist/styles.css +237 -99
  43. package/dist/tsconfig.build.tsbuildinfo +1 -1
  44. package/package.json +4 -3
package/README.md CHANGED
@@ -103,5 +103,5 @@ import "@rakun-kit/manager-react/styles.css";
103
103
  ## Build
104
104
 
105
105
  ```sh
106
- npm run build --workspace @rakun-kit/manager-react
106
+ bun run build --workspace @rakun-kit/manager-react
107
107
  ```
@@ -9,6 +9,42 @@ const nav_main_1 = require("./nav-main.js");
9
9
  const nav_secondary_1 = require("./nav-secondary.js");
10
10
  const nav_user_1 = require("./nav-user.js");
11
11
  const sidebar_1 = require("./ui/sidebar.js");
12
+ const lucideIconByName = lucide_react_1.icons;
13
+ const toPascalCase = (value) => value
14
+ .replace(/([a-z0-9])([A-Z])/g, '$1 $2')
15
+ .split(/[\s_-]+/)
16
+ .filter(Boolean)
17
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
18
+ .join('');
19
+ const resolveLucideIcon = (name) => {
20
+ if (!name)
21
+ return undefined;
22
+ const candidates = [
23
+ name,
24
+ `${name}Icon`,
25
+ toPascalCase(name),
26
+ `${toPascalCase(name)}Icon`,
27
+ ];
28
+ for (const candidate of candidates) {
29
+ const icon = lucideIconByName[candidate];
30
+ if (icon)
31
+ return icon;
32
+ }
33
+ };
34
+ const cleanPathname = (path) => {
35
+ const [pathname = ''] = path.split(/[?#]/);
36
+ return pathname.replace(/\/+$/, '') || '/';
37
+ };
38
+ const isActiveHref = (href, pathname, basePath) => {
39
+ if (!pathname || !href)
40
+ return false;
41
+ const currentPath = cleanPathname(pathname);
42
+ const itemPath = cleanPathname((0, navigation_1.getManagerRelativePathname)(href, { basePath }));
43
+ if (itemPath === '/') {
44
+ return currentPath === '/';
45
+ }
46
+ return currentPath === itemPath || currentPath.startsWith(`${itemPath}/`);
47
+ };
12
48
  const getDefaultSecondaryNavItems = (basePath) => [
13
49
  {
14
50
  title: 'Media Library',
@@ -36,15 +72,45 @@ const getDefaultSecondaryNavItems = (basePath) => [
36
72
  icon: lucide_react_1.HelpCircle,
37
73
  },
38
74
  ];
39
- function AppSidebar({ contentTypes, basePath = '', secondaryItems = getDefaultSecondaryNavItems(basePath), ...props }) {
40
- return ((0, jsx_runtime_1.jsxs)(sidebar_1.Sidebar, { variant: 'inset', ...props, children: [(0, jsx_runtime_1.jsx)(sidebar_1.SidebarHeader, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenu, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuItem, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuButton, { size: 'lg', asChild: true, children: (0, jsx_runtime_1.jsxs)(link_1.ManagerLink, { href: basePath, children: [(0, jsx_runtime_1.jsx)("div", { className: 'bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg', children: (0, jsx_runtime_1.jsx)(lucide_react_1.Command, { className: 'size-4' }) }), (0, jsx_runtime_1.jsxs)("div", { className: 'grid flex-1 text-left text-sm leading-tight', children: [(0, jsx_runtime_1.jsx)("span", { className: 'truncate font-medium', children: "CMS" }), (0, jsx_runtime_1.jsx)("span", { className: 'truncate text-xs', children: "Enterprise" })] })] }) }) }) }) }), (0, jsx_runtime_1.jsxs)(sidebar_1.SidebarContent, { children: [(0, jsx_runtime_1.jsx)(nav_main_1.NavMain, { items: contentTypes
41
- .filter((type) => type.menu)
42
- .map((type) => ({
43
- title: type.menu?.title || '',
44
- url: (0, navigation_1.getManagerRouteHref)({
45
- name: 'content.list',
46
- contentType: type.name,
47
- }, { basePath }),
48
- })) }), (0, jsx_runtime_1.jsx)(nav_secondary_1.NavSecondary, { items: secondaryItems, className: 'mt-auto' })] }), (0, jsx_runtime_1.jsx)(sidebar_1.SidebarFooter, { children: (0, jsx_runtime_1.jsx)(nav_user_1.NavUser, {}) })] }));
75
+ const getContentTypeNavItems = (contentTypes, basePath, pathname) => {
76
+ const items = [];
77
+ const categories = new Map();
78
+ for (const type of contentTypes) {
79
+ if (!type.menu)
80
+ continue;
81
+ const item = {
82
+ title: type.menu.title,
83
+ url: (0, navigation_1.getManagerRouteHref)({
84
+ name: 'content.list',
85
+ contentType: type.name,
86
+ }, { basePath }),
87
+ icon: resolveLucideIcon(type.menu.icon),
88
+ isActive: false,
89
+ };
90
+ item.isActive = isActiveHref(item.url, pathname, basePath);
91
+ if (!type.menu.category) {
92
+ items.push(item);
93
+ continue;
94
+ }
95
+ let category = categories.get(type.menu.category);
96
+ if (!category) {
97
+ category = {
98
+ title: type.menu.category,
99
+ url: '',
100
+ items: [],
101
+ };
102
+ categories.set(type.menu.category, category);
103
+ items.push(category);
104
+ }
105
+ category.items?.push(item);
106
+ category.isActive ||= item.isActive;
107
+ }
108
+ return items;
109
+ };
110
+ function AppSidebar({ contentTypes, pathname, basePath = '', secondaryItems = getDefaultSecondaryNavItems(basePath), ...props }) {
111
+ return ((0, jsx_runtime_1.jsxs)(sidebar_1.Sidebar, { variant: 'inset', ...props, children: [(0, jsx_runtime_1.jsx)(sidebar_1.SidebarHeader, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenu, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuItem, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuButton, { size: 'lg', asChild: true, children: (0, jsx_runtime_1.jsxs)(link_1.ManagerLink, { href: basePath, children: [(0, jsx_runtime_1.jsx)("div", { className: 'bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg', children: (0, jsx_runtime_1.jsx)(lucide_react_1.Command, { className: 'size-4' }) }), (0, jsx_runtime_1.jsxs)("div", { className: 'grid flex-1 text-left text-sm leading-tight', children: [(0, jsx_runtime_1.jsx)("span", { className: 'truncate font-medium', children: "CMS" }), (0, jsx_runtime_1.jsx)("span", { className: 'truncate text-xs', children: "Enterprise" })] })] }) }) }) }) }), (0, jsx_runtime_1.jsxs)(sidebar_1.SidebarContent, { children: [(0, jsx_runtime_1.jsx)(nav_main_1.NavMain, { items: getContentTypeNavItems(contentTypes, basePath, pathname) }), (0, jsx_runtime_1.jsx)(nav_secondary_1.NavSecondary, { items: secondaryItems.map((item) => ({
112
+ ...item,
113
+ isActive: isActiveHref(item.url, pathname, basePath),
114
+ })), className: 'mt-auto' })] }), (0, jsx_runtime_1.jsx)(sidebar_1.SidebarFooter, { children: (0, jsx_runtime_1.jsx)(nav_user_1.NavUser, {}) })] }));
49
115
  }
50
116
  //# sourceMappingURL=app-sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-sidebar.js","sourceRoot":"","sources":["../../../src/components/app-sidebar.tsx"],"names":[],"mappings":";;AA6DA,gCAoDC;;AAjHD,+CAQqB;AAIrB,iCAAoC;AACpC,mDAA4E;AAC5E,yCAAoC;AACpC,mDAA8C;AAC9C,yCAAoC;AACpC,0CAQqB;AAQrB,MAAM,2BAA2B,GAAG,CAAC,QAAgB,EAAwB,EAAE,CAAC;IAC9E;QACE,KAAK,EAAE,eAAe;QACtB,GAAG,EAAE,IAAA,+BAAkB,EAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC;QAC/C,IAAI,EAAE,qBAAM;KACb;IACD;QACE,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,IAAA,+BAAkB,EAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC;QAC/C,IAAI,EAAE,mBAAI;KACX;IACD;QACE,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,IAAA,+BAAkB,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC;QACpD,IAAI,EAAE,sBAAO;KACd;IACD;QACE,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,IAAA,+BAAkB,EAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC;QAClD,IAAI,EAAE,uBAAQ;KACf;IACD;QACE,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,IAAA,+BAAkB,EAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC;QAC9C,IAAI,EAAE,yBAAU;KACjB;CACF,CAAA;AAED,SAAgB,UAAU,CAAC,EACzB,YAAY,EACZ,QAAQ,GAAG,EAAE,EACb,cAAc,GAAG,2BAA2B,CAAC,QAAQ,CAAC,EACtD,GAAG,KAAK,EAKT;IACC,OAAO,CACL,wBAAC,iBAAO,IAAC,OAAO,EAAC,OAAO,KAAK,KAAK,aAChC,uBAAC,uBAAa,cACZ,uBAAC,qBAAW,cACV,uBAAC,yBAAe,cACd,uBAAC,2BAAiB,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,kBAClC,wBAAC,kBAAW,IAAC,IAAI,EAAE,QAAQ,aACzB,gCAAK,SAAS,EAAC,qHAAqH,YAClI,uBAAC,sBAAO,IAAC,SAAS,EAAC,QAAQ,GAAG,GAC1B,EACN,iCAAK,SAAS,EAAC,6CAA6C,aAC1D,iCAAM,SAAS,EAAC,sBAAsB,oBAAW,EACjD,iCAAM,SAAS,EAAC,kBAAkB,2BAAkB,IAChD,IACM,GACI,GACJ,GACN,GACA,EAEhB,wBAAC,wBAAc,eACb,uBAAC,kBAAO,IACN,KAAK,EAAE,YAAY;6BAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;6BAC3B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;4BACd,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;4BAC7B,GAAG,EAAE,IAAA,gCAAmB,EACtB;gCACE,IAAI,EAAE,cAAc;gCACpB,WAAW,EAAE,IAAI,CAAC,IAAI;6BACvB,EACD,EAAE,QAAQ,EAAE,CACb;yBACF,CAAC,CAAC,GACL,EACF,uBAAC,4BAAY,IAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAC,SAAS,GAAG,IAC5C,EACjB,uBAAC,uBAAa,cACZ,uBAAC,kBAAO,KAAG,GACG,IACR,CACX,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"app-sidebar.js","sourceRoot":"","sources":["../../../src/components/app-sidebar.tsx"],"names":[],"mappings":";;AAsKA,gCAiDC;;AAvND,+CASqB;AAIrB,iCAAoC;AACpC,mDAI2B;AAC3B,yCAAoC;AACpC,mDAA8C;AAC9C,yCAAoC;AACpC,0CAQqB;AAUrB,MAAM,gBAAgB,GAAG,oBAA+C,CAAA;AAExE,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CACrC,KAAK;KACF,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;KACtC,KAAK,CAAC,SAAS,CAAC;KAChB,MAAM,CAAC,OAAO,CAAC;KACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC3D,IAAI,CAAC,EAAE,CAAC,CAAA;AAEb,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAA0B,EAAE;IAClE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAE3B,MAAM,UAAU,GAAG;QACjB,IAAI;QACJ,GAAG,IAAI,MAAM;QACb,YAAY,CAAC,IAAI,CAAC;QAClB,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM;KAC5B,CAAA;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA;QACxC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;IACvB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;IACrC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1C,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CACnB,IAAY,EACZ,QAA4B,EAC5B,QAAgB,EAChB,EAAE;IACF,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAEpC,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAA,uCAA0B,EAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IAE9E,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACrB,OAAO,WAAW,KAAK,GAAG,CAAA;IAC5B,CAAC;IAED,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAA;AAC3E,CAAC,CAAA;AAED,MAAM,2BAA2B,GAAG,CAAC,QAAgB,EAAwB,EAAE,CAAC;IAC9E;QACE,KAAK,EAAE,eAAe;QACtB,GAAG,EAAE,IAAA,+BAAkB,EAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC;QAC/C,IAAI,EAAE,qBAAM;KACb;IACD;QACE,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,IAAA,+BAAkB,EAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC;QAC/C,IAAI,EAAE,mBAAI;KACX;IACD;QACE,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,IAAA,+BAAkB,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC;QACpD,IAAI,EAAE,sBAAO;KACd;IACD;QACE,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,IAAA,+BAAkB,EAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC;QAClD,IAAI,EAAE,uBAAQ;KACf;IACD;QACE,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,IAAA,+BAAkB,EAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC;QAC9C,IAAI,EAAE,yBAAU;KACjB;CACF,CAAA;AAED,MAAM,sBAAsB,GAAG,CAC7B,YAAkC,EAClC,QAAgB,EAChB,QAAiB,EACK,EAAE;IACxB,MAAM,KAAK,GAAyB,EAAE,CAAA;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAA;IAExD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,SAAQ;QAExB,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,GAAG,EAAE,IAAA,gCAAmB,EACtB;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,IAAI,CAAC,IAAI;aACvB,EACD,EAAE,QAAQ,EAAE,CACb;YACD,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACvC,QAAQ,EAAE,KAAK;SAChB,CAAA;QAED,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAE1D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChB,SAAQ;QACV,CAAC;QAED,IAAI,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG;gBACT,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;gBACzB,GAAG,EAAE,EAAE;gBACP,KAAK,EAAE,EAAE;aACV,CAAA;YACD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC5C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,CAAC;QAED,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1B,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAA;IACrC,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,SAAgB,UAAU,CAAC,EACzB,YAAY,EACZ,QAAQ,EACR,QAAQ,GAAG,EAAE,EACb,cAAc,GAAG,2BAA2B,CAAC,QAAQ,CAAC,EACtD,GAAG,KAAK,EAMT;IACC,OAAO,CACL,wBAAC,iBAAO,IAAC,OAAO,EAAC,OAAO,KAAK,KAAK,aAChC,uBAAC,uBAAa,cACZ,uBAAC,qBAAW,cACV,uBAAC,yBAAe,cACd,uBAAC,2BAAiB,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,kBAClC,wBAAC,kBAAW,IAAC,IAAI,EAAE,QAAQ,aACzB,gCAAK,SAAS,EAAC,qHAAqH,YAClI,uBAAC,sBAAO,IAAC,SAAS,EAAC,QAAQ,GAAG,GAC1B,EACN,iCAAK,SAAS,EAAC,6CAA6C,aAC1D,iCAAM,SAAS,EAAC,sBAAsB,oBAAW,EACjD,iCAAM,SAAS,EAAC,kBAAkB,2BAAkB,IAChD,IACM,GACI,GACJ,GACN,GACA,EAEhB,wBAAC,wBAAc,eACb,uBAAC,kBAAO,IACN,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAC/D,EACF,uBAAC,4BAAY,IACX,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;4BACnC,GAAG,IAAI;4BACP,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC;yBACrD,CAAC,CAAC,EACH,SAAS,EAAC,SAAS,GACnB,IACa,EACjB,uBAAC,uBAAa,cACZ,uBAAC,kBAAO,KAAG,GACG,IACR,CACX,CAAA;AACH,CAAC"}
@@ -7,7 +7,10 @@ const lucide_react_1 = require("lucide-react");
7
7
  const link_1 = require("../link.js");
8
8
  const collapsible_1 = require("./ui/collapsible.js");
9
9
  const sidebar_1 = require("./ui/sidebar.js");
10
+ const activeMenuClass = 'data-[active=true]:bg-primary data-[active=true]:text-primary-foreground data-[active=true]:shadow-sm data-[active=true]:hover:bg-primary/90 data-[active=true]:hover:text-primary-foreground data-[active=true]:[&>svg]:text-primary-foreground';
11
+ const closedCategoryActiveMenuClass = 'data-[state=closed]:data-[active=true]:bg-primary data-[state=closed]:data-[active=true]:text-primary-foreground data-[state=closed]:data-[active=true]:shadow-sm data-[state=closed]:data-[active=true]:hover:bg-primary/90 data-[state=closed]:data-[active=true]:hover:text-primary-foreground data-[state=closed]:data-[active=true]:[&>svg]:text-primary-foreground';
10
12
  function NavMain({ items, }) {
11
- return ((0, jsx_runtime_1.jsxs)(sidebar_1.SidebarGroup, { children: [(0, jsx_runtime_1.jsxs)(sidebar_1.SidebarGroupLabel, { children: ["Content types (", items.length, ")"] }), (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenu, { children: items.map((item) => ((0, jsx_runtime_1.jsx)(collapsible_1.Collapsible, { asChild: true, defaultOpen: item.isActive, children: (0, jsx_runtime_1.jsxs)(sidebar_1.SidebarMenuItem, { children: [(0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuButton, { asChild: true, tooltip: item.title, children: (0, jsx_runtime_1.jsxs)(link_1.ManagerLink, { href: item.url, children: [item.icon && (0, jsx_runtime_1.jsx)(item.icon, {}), (0, jsx_runtime_1.jsx)("span", { children: item.title })] }) }), item.items?.length ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(sidebar_1.SidebarMenuAction, { className: 'data-[state=open]:rotate-90', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, {}), (0, jsx_runtime_1.jsx)("span", { className: 'sr-only', children: "Toggle" })] }) }), (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleContent, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuSub, { children: item.items?.map((subItem) => ((0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuSubItem, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuSubButton, { asChild: true, children: (0, jsx_runtime_1.jsx)(link_1.ManagerLink, { href: subItem.url, children: subItem.title }) }) }, subItem.title))) }) })] })) : null] }) }, item.title))) })] }));
13
+ const totalItems = items.reduce((total, item) => total + (item.items?.length ?? 1), 0);
14
+ return ((0, jsx_runtime_1.jsxs)(sidebar_1.SidebarGroup, { children: [(0, jsx_runtime_1.jsxs)(sidebar_1.SidebarGroupLabel, { children: ["Content types (", totalItems, ")"] }), (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenu, { children: items.map((item) => ((0, jsx_runtime_1.jsx)(collapsible_1.Collapsible, { asChild: true, defaultOpen: item.isActive ?? Boolean(item.items?.length), children: (0, jsx_runtime_1.jsxs)(sidebar_1.SidebarMenuItem, { className: 'group/collapsible', children: [item.items?.length ? ((0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(sidebar_1.SidebarMenuButton, { tooltip: item.title, isActive: item.isActive, className: closedCategoryActiveMenuClass, children: [item.icon && (0, jsx_runtime_1.jsx)(item.icon, {}), (0, jsx_runtime_1.jsx)("span", { children: item.title }), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: 'ms-auto transition-transform group-data-[state=open]/collapsible:rotate-90' })] }) })) : ((0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuButton, { asChild: true, tooltip: item.title, isActive: item.isActive, className: activeMenuClass, children: (0, jsx_runtime_1.jsxs)(link_1.ManagerLink, { href: item.url, children: [item.icon && (0, jsx_runtime_1.jsx)(item.icon, {}), (0, jsx_runtime_1.jsx)("span", { children: item.title })] }) })), item.items?.length ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleContent, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuSub, { children: item.items?.map((subItem) => ((0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuSubItem, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuSubButton, { asChild: true, isActive: subItem.isActive, className: activeMenuClass, children: (0, jsx_runtime_1.jsxs)(link_1.ManagerLink, { href: subItem.url, children: [subItem.icon && (0, jsx_runtime_1.jsx)(subItem.icon, {}), subItem.title] }) }) }, subItem.title))) }) }) })) : null] }) }, item.title))) })] }));
12
15
  }
13
16
  //# sourceMappingURL=nav-main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nav-main.js","sourceRoot":"","sources":["../../../src/components/nav-main.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;AAqBZ,0BAwDC;;AA5ED,+CAA4D;AAE5D,iCAAoC;AACpC,kDAIyB;AACzB,0CAUqB;AAErB,SAAgB,OAAO,CAAC,EACtB,KAAK,GAYN;IACC,OAAO,CACL,wBAAC,sBAAY,eACX,wBAAC,2BAAiB,kCAAiB,KAAK,CAAC,MAAM,SAAsB,EACrE,uBAAC,qBAAW,cACT,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,uBAAC,yBAAW,IAAkB,OAAO,QAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,YAC9D,wBAAC,yBAAe,eACd,uBAAC,2BAAiB,IAAC,OAAO,QAAC,OAAO,EAAE,IAAI,CAAC,KAAK,YAC5C,wBAAC,kBAAW,IAAC,IAAI,EAAE,IAAI,CAAC,GAAG,aACxB,IAAI,CAAC,IAAI,IAAI,uBAAC,IAAI,CAAC,IAAI,KAAG,EAC3B,2CAAO,IAAI,CAAC,KAAK,GAAQ,IACb,GACI,EACnB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACpB,6DACE,uBAAC,gCAAkB,IAAC,OAAO,kBACzB,wBAAC,2BAAiB,IAAC,SAAS,EAAC,6BAA6B,aACxD,uBAAC,2BAAY,KAAG,EAChB,iCAAM,SAAS,EAAC,SAAS,uBAAc,IACrB,GACD,EACrB,uBAAC,gCAAkB,cACjB,uBAAC,wBAAc,cACZ,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAC5B,uBAAC,4BAAkB,cACjB,uBAAC,8BAAoB,IAAC,OAAO,kBAC3B,uBAAC,kBAAW,IAAC,IAAI,EAAE,OAAO,CAAC,GAAG,YAC3B,OAAO,CAAC,KAAK,GACF,GACO,IALA,OAAO,CAAC,KAAK,CAMjB,CACtB,CAAC,GACa,GACE,IACpB,CACJ,CAAC,CAAC,CAAC,IAAI,IACQ,IA/BF,IAAI,CAAC,KAAK,CAgCd,CACf,CAAC,GACU,IACD,CAChB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"nav-main.js","sourceRoot":"","sources":["../../../src/components/nav-main.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;AA0BZ,0BAqFC;;AA9GD,+CAA4D;AAE5D,iCAAoC;AACpC,kDAIyB;AACzB,0CASqB;AAErB,MAAM,eAAe,GACnB,kPAAkP,CAAA;AAEpP,MAAM,6BAA6B,GACjC,0WAA0W,CAAA;AAE5W,SAAgB,OAAO,CAAC,EACtB,KAAK,GAcN;IACC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAC7B,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,EAClD,CAAC,CACF,CAAA;IAED,OAAO,CACL,wBAAC,sBAAY,eACX,wBAAC,2BAAiB,kCAAiB,UAAU,SAAsB,EACnE,uBAAC,qBAAW,cACT,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,uBAAC,yBAAW,IAEV,OAAO,QACP,WAAW,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,YAEzD,wBAAC,yBAAe,IAAC,SAAS,EAAC,mBAAmB,aAC3C,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACpB,uBAAC,gCAAkB,IAAC,OAAO,kBACzB,wBAAC,2BAAiB,IAChB,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,6BAA6B,aAEvC,IAAI,CAAC,IAAI,IAAI,uBAAC,IAAI,CAAC,IAAI,KAAG,EAC3B,2CAAO,IAAI,CAAC,KAAK,GAAQ,EACzB,uBAAC,2BAAY,IAAC,SAAS,EAAC,4EAA4E,GAAG,IACrF,GACD,CACtB,CAAC,CAAC,CAAC,CACF,uBAAC,2BAAiB,IAChB,OAAO,QACP,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,eAAe,YAE1B,wBAAC,kBAAW,IAAC,IAAI,EAAE,IAAI,CAAC,GAAG,aACxB,IAAI,CAAC,IAAI,IAAI,uBAAC,IAAI,CAAC,IAAI,KAAG,EAC3B,2CAAO,IAAI,CAAC,KAAK,GAAQ,IACb,GACI,CACrB,EACA,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACpB,2DACE,uBAAC,gCAAkB,cACjB,uBAAC,wBAAc,cACZ,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAC5B,uBAAC,4BAAkB,cACjB,uBAAC,8BAAoB,IACnB,OAAO,QACP,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,SAAS,EAAE,eAAe,YAE1B,wBAAC,kBAAW,IAAC,IAAI,EAAE,OAAO,CAAC,GAAG,aAC3B,OAAO,CAAC,IAAI,IAAI,uBAAC,OAAO,CAAC,IAAI,KAAG,EAChC,OAAO,CAAC,KAAK,IACF,GACO,IAVA,OAAO,CAAC,KAAK,CAWjB,CACtB,CAAC,GACa,GACE,GACpB,CACJ,CAAC,CAAC,CAAC,IAAI,IACQ,IApDb,IAAI,CAAC,KAAK,CAqDH,CACf,CAAC,GACU,IACD,CAChB,CAAA;AACH,CAAC"}
@@ -4,7 +4,8 @@ exports.NavSecondary = NavSecondary;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const link_1 = require("../link.js");
6
6
  const sidebar_1 = require("./ui/sidebar.js");
7
+ const activeMenuClass = 'data-[active=true]:bg-primary data-[active=true]:text-primary-foreground data-[active=true]:shadow-sm data-[active=true]:hover:bg-primary/90 data-[active=true]:hover:text-primary-foreground data-[active=true]:[&>svg]:text-primary-foreground';
7
8
  function NavSecondary({ items, ...props }) {
8
- return ((0, jsx_runtime_1.jsx)(sidebar_1.SidebarGroup, { ...props, children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarGroupContent, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenu, { children: items.map((item) => ((0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuItem, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuButton, { asChild: true, size: "sm", children: (0, jsx_runtime_1.jsxs)(link_1.ManagerLink, { href: item.url, children: [item.icon && (0, jsx_runtime_1.jsx)(item.icon, {}), (0, jsx_runtime_1.jsx)("span", { children: item.title })] }) }) }, item.title))) }) }) }));
9
+ return ((0, jsx_runtime_1.jsx)(sidebar_1.SidebarGroup, { ...props, children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarGroupContent, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenu, { children: items.map((item) => ((0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuItem, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuButton, { asChild: true, size: "sm", isActive: item.isActive, className: activeMenuClass, children: (0, jsx_runtime_1.jsxs)(link_1.ManagerLink, { href: item.url, children: [item.icon && (0, jsx_runtime_1.jsx)(item.icon, {}), (0, jsx_runtime_1.jsx)("span", { children: item.title })] }) }) }, item.title))) }) }) }));
9
10
  }
10
11
  //# sourceMappingURL=nav-secondary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nav-secondary.js","sourceRoot":"","sources":["../../../src/components/nav-secondary.tsx"],"names":[],"mappings":";;AAYA,oCA4BC;;AArCD,iCAAoC;AACpC,0CAMqB;AAErB,SAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,GAAG,KAAK,EAO6C;IACrD,OAAO,CACL,uBAAC,sBAAY,OAAK,KAAK,YACrB,uBAAC,6BAAmB,cAClB,uBAAC,qBAAW,cACT,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,uBAAC,yBAAe,cACd,uBAAC,2BAAiB,IAAC,OAAO,QAAC,IAAI,EAAC,IAAI,YAClC,wBAAC,kBAAW,IAAC,IAAI,EAAE,IAAI,CAAC,GAAG,aACxB,IAAI,CAAC,IAAI,IAAI,uBAAC,IAAI,CAAC,IAAI,KAAG,EAC3B,2CAAO,IAAI,CAAC,KAAK,GAAQ,IACb,GACI,IANA,IAAI,CAAC,KAAK,CAOd,CACnB,CAAC,GACU,GACM,GACT,CAChB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"nav-secondary.js","sourceRoot":"","sources":["../../../src/components/nav-secondary.tsx"],"names":[],"mappings":";;AAeA,oCAkCC;;AA9CD,iCAAoC;AACpC,0CAMqB;AAErB,MAAM,eAAe,GACnB,kPAAkP,CAAA;AAEpP,SAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,GAAG,KAAK,EAQ6C;IACrD,OAAO,CACL,uBAAC,sBAAY,OAAK,KAAK,YACrB,uBAAC,6BAAmB,cAClB,uBAAC,qBAAW,cACT,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,uBAAC,yBAAe,cACd,uBAAC,2BAAiB,IAChB,OAAO,QACP,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,eAAe,YAE1B,wBAAC,kBAAW,IAAC,IAAI,EAAE,IAAI,CAAC,GAAG,aACxB,IAAI,CAAC,IAAI,IAAI,uBAAC,IAAI,CAAC,IAAI,KAAG,EAC3B,2CAAO,IAAI,CAAC,KAAK,GAAQ,IACb,GACI,IAXA,IAAI,CAAC,KAAK,CAYd,CACnB,CAAC,GACU,GACM,GACT,CAChB,CAAA;AACH,CAAC"}
@@ -13,6 +13,6 @@ const separator_1 = require("./components/ui/separator.js");
13
13
  const sidebar_1 = require("./components/ui/sidebar.js");
14
14
  const ManagerAuthLayout = ({ children }) => ((0, jsx_runtime_1.jsx)("div", { className: "bg-background flex min-h-svh flex-col items-center justify-center gap-6 p-6 md:p-10", children: (0, jsx_runtime_1.jsx)("div", { className: "w-full max-w-sm", children: children }) }));
15
15
  exports.ManagerAuthLayout = ManagerAuthLayout;
16
- const ManagerDashboardLayout = ({ children, contentTypes, pathname, basePath = "", secondaryItems, sidebar, headerStart, headerEnd, }) => ((0, jsx_runtime_1.jsxs)(sidebar_1.SidebarProvider, { className: "max-h-screen overflow-hidden", children: [sidebar ?? ((0, jsx_runtime_1.jsx)(app_sidebar_1.AppSidebar, { contentTypes: contentTypes, basePath: basePath, secondaryItems: secondaryItems })), (0, jsx_runtime_1.jsxs)(sidebar_1.SidebarInset, { className: "p-4 pt-0", children: [(0, jsx_runtime_1.jsxs)(sidebar_1.SidebarHeader, { className: "flex h-16 shrink-0 flex-row items-center justify-between gap-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(sidebar_1.SidebarTrigger, { className: "-ml-1" }), (0, jsx_runtime_1.jsx)(separator_1.Separator, { orientation: "vertical", className: "mr-2 data-[orientation=vertical]:h-4" }), headerStart ?? ((0, jsx_runtime_1.jsx)(bread_crumb_1.default, { basePath: basePath, pathname: pathname }))] }), headerEnd] }), (0, jsx_runtime_1.jsx)(scroll_area_1.ScrollArea, { className: "max-h-[calc(100vh-6rem)]", children: children })] })] }));
16
+ const ManagerDashboardLayout = ({ children, contentTypes, pathname, basePath = "", secondaryItems, sidebar, headerStart, headerEnd, }) => ((0, jsx_runtime_1.jsxs)(sidebar_1.SidebarProvider, { className: "max-h-screen overflow-hidden", children: [sidebar ?? ((0, jsx_runtime_1.jsx)(app_sidebar_1.AppSidebar, { contentTypes: contentTypes, pathname: pathname, basePath: basePath, secondaryItems: secondaryItems })), (0, jsx_runtime_1.jsxs)(sidebar_1.SidebarInset, { className: "p-4 pt-0", children: [(0, jsx_runtime_1.jsxs)(sidebar_1.SidebarHeader, { className: "flex h-16 shrink-0 flex-row items-center justify-between gap-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(sidebar_1.SidebarTrigger, { className: "-ml-1" }), (0, jsx_runtime_1.jsx)(separator_1.Separator, { orientation: "vertical", className: "mr-2 data-[orientation=vertical]:h-4" }), headerStart ?? ((0, jsx_runtime_1.jsx)(bread_crumb_1.default, { basePath: basePath, pathname: pathname }))] }), headerEnd] }), (0, jsx_runtime_1.jsx)(scroll_area_1.ScrollArea, { className: "max-h-[calc(100vh-6rem)]", children: children })] })] }));
17
17
  exports.ManagerDashboardLayout = ManagerDashboardLayout;
18
18
  //# sourceMappingURL=layouts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layouts.js","sourceRoot":"","sources":["../../src/layouts.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;AAKb,0DAA+E;AAC/E,2EAA2D;AAC3D,6DAAyD;AACzD,yDAAsD;AACtD,qDAKiC;AAmB1B,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAA0B,EAAE,EAAE,CAAC,CACzE,gCAAK,SAAS,EAAC,qFAAqF,YAClG,gCAAK,SAAS,EAAC,iBAAiB,YAAE,QAAQ,GAAO,GAC7C,CACP,CAAC;AAJW,QAAA,iBAAiB,qBAI5B;AAaK,MAAM,sBAAsB,GAAG,CAAC,EACrC,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,QAAQ,GAAG,EAAE,EACb,cAAc,EACd,OAAO,EACP,WAAW,EACX,SAAS,GACmB,EAAE,EAAE,CAAC,CACjC,wBAAC,yBAAe,IAAC,SAAS,EAAC,8BAA8B,aACtD,OAAO,IAAI,CACV,uBAAC,wBAAU,IACT,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,GAC9B,CACH,EACD,wBAAC,sBAAY,IAAC,SAAS,EAAC,UAAU,aAChC,wBAAC,uBAAa,IAAC,SAAS,EAAC,gEAAgE,aACvF,iCAAK,SAAS,EAAC,yBAAyB,aACtC,uBAAC,wBAAc,IAAC,SAAS,EAAC,OAAO,GAAG,EACpC,uBAAC,qBAAS,IACR,WAAW,EAAC,UAAU,EACtB,SAAS,EAAC,sCAAsC,GAChD,EACD,WAAW,IAAI,CACd,uBAAC,qBAAmB,IAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAChE,IACG,EACL,SAAS,IACI,EAEhB,uBAAC,wBAAU,IAAC,SAAS,EAAC,0BAA0B,YAAE,QAAQ,GAAc,IAC3D,IACC,CACnB,CAAC;AApCW,QAAA,sBAAsB,0BAoCjC"}
1
+ {"version":3,"file":"layouts.js","sourceRoot":"","sources":["../../src/layouts.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;AAKb,0DAA+E;AAC/E,2EAA2D;AAC3D,6DAAyD;AACzD,yDAAsD;AACtD,qDAKiC;AAmB1B,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAA0B,EAAE,EAAE,CAAC,CACzE,gCAAK,SAAS,EAAC,qFAAqF,YAClG,gCAAK,SAAS,EAAC,iBAAiB,YAAE,QAAQ,GAAO,GAC7C,CACP,CAAC;AAJW,QAAA,iBAAiB,qBAI5B;AAaK,MAAM,sBAAsB,GAAG,CAAC,EACrC,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,QAAQ,GAAG,EAAE,EACb,cAAc,EACd,OAAO,EACP,WAAW,EACX,SAAS,GACmB,EAAE,EAAE,CAAC,CACjC,wBAAC,yBAAe,IAAC,SAAS,EAAC,8BAA8B,aACtD,OAAO,IAAI,CACV,uBAAC,wBAAU,IACT,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,GAC9B,CACH,EACD,wBAAC,sBAAY,IAAC,SAAS,EAAC,UAAU,aAChC,wBAAC,uBAAa,IAAC,SAAS,EAAC,gEAAgE,aACvF,iCAAK,SAAS,EAAC,yBAAyB,aACtC,uBAAC,wBAAc,IAAC,SAAS,EAAC,OAAO,GAAG,EACpC,uBAAC,qBAAS,IACR,WAAW,EAAC,UAAU,EACtB,SAAS,EAAC,sCAAsC,GAChD,EACD,WAAW,IAAI,CACd,uBAAC,qBAAmB,IAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAChE,IACG,EACL,SAAS,IACI,EAEhB,uBAAC,wBAAU,IAAC,SAAS,EAAC,0BAA0B,YAAE,QAAQ,GAAc,IAC3D,IACC,CACnB,CAAC;AArCW,QAAA,sBAAsB,0BAqCjC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- 'use client';
2
+ "use client";
3
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
4
  if (k2 === undefined) k2 = k;
5
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -45,8 +45,8 @@ const card_1 = require("../../../../../../components/ui/card.js");
45
45
  const collapsible_1 = require("../../../../../../components/ui/collapsible.js");
46
46
  const sortable_1 = require("../../../../../../components/ui/sortable.js");
47
47
  const LanguageClientProvider_1 = require("../../../../../../lib/providers/language/LanguageClientProvider.js");
48
- const AddListButtons = react_1.default.memo(({ fields, onAdd, }) => ((0, jsx_runtime_1.jsx)("div", { className: 'flex gap-2 flex-wrap', children: fields.map((field) => ((0, jsx_runtime_1.jsxs)(button_1.Button, { onClick: () => onAdd(field.name), variant: 'outline', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Plus, {}), " ", field.name] }, field.name))) })));
49
- AddListButtons.displayName = 'AddListButtons';
48
+ const AddListButtons = react_1.default.memo(({ fields, onAdd, }) => ((0, jsx_runtime_1.jsx)("div", { className: "flex gap-2 flex-wrap", children: fields.map((field) => ((0, jsx_runtime_1.jsxs)(button_1.Button, { onClick: () => onAdd(field.name), variant: "outline", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Plus, {}), " ", field.name] }, field.name))) })));
49
+ AddListButtons.displayName = "AddListButtons";
50
50
  const ListUI = ({ id, ref, ...props }) => {
51
51
  const refs = (0, react_1.useRef)({});
52
52
  const valueRef = (0, react_1.useRef)([]);
@@ -65,8 +65,8 @@ const ListUI = ({ id, ref, ...props }) => {
65
65
  defaultValue: [],
66
66
  validateValue: (value) => {
67
67
  const values = value.map((item) => refs.current[item.uid]?.getValue());
68
- if (values.some((v) => typeof v === 'object' && v && '_error' in v)) {
69
- return 'Please fix the errors above';
68
+ if (values.some((v) => typeof v === "object" && v && "_error" in v)) {
69
+ return "Please fix the errors above";
70
70
  }
71
71
  return null;
72
72
  },
@@ -76,7 +76,7 @@ const ListUI = ({ id, ref, ...props }) => {
76
76
  }, [value]);
77
77
  const getValueWithNested = () => {
78
78
  const values = getValue();
79
- if (!values || '_error' in values) {
79
+ if (!values || "_error" in values) {
80
80
  return values;
81
81
  }
82
82
  return values
@@ -84,7 +84,7 @@ const ListUI = ({ id, ref, ...props }) => {
84
84
  name: field.name,
85
85
  value: refs.current[field.uid]?.getValue(),
86
86
  }))
87
- .filter((v) => v.value !== undefined && v.value !== null && v.value !== '');
87
+ .filter((v) => v.value !== undefined && v.value !== null && v.value !== "");
88
88
  };
89
89
  const getStateWithNested = () => {
90
90
  const states = getState();
@@ -136,15 +136,18 @@ const ListUI = ({ id, ref, ...props }) => {
136
136
  uid: item.uid,
137
137
  })));
138
138
  }, [language.code]);
139
- return ((0, jsx_runtime_1.jsx)(sortable_1.Sortable, { value: value, onValueChange: handleSort, getItemValue: (item) => item.uid, children: (0, jsx_runtime_1.jsxs)(FieldWrapper_1.FieldWrapper, { id: id, errors: errors, getValue: getValueWithNested, getState: getStateWithNested, ref: ref, children: [(0, jsx_runtime_1.jsx)(AddListButtons, { fields: props.fields, onAdd: handleAddItem }), (0, jsx_runtime_1.jsx)(sortable_1.SortableContent, { children: value.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: 'flex flex-col gap-4 mt-6', children: value.map((item, i) => {
139
+ return ((0, jsx_runtime_1.jsx)(sortable_1.Sortable, { value: value, onValueChange: handleSort, getItemValue: (item) => item.uid, children: (0, jsx_runtime_1.jsxs)(FieldWrapper_1.FieldWrapper, { id: id, errors: errors, getValue: getValueWithNested, getState: getStateWithNested, ref: ref, children: [(0, jsx_runtime_1.jsx)(AddListButtons, { fields: props.fields, onAdd: handleAddItem }), (0, jsx_runtime_1.jsx)(sortable_1.SortableContent, { children: value.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "flex flex-col gap-4 mt-6", children: value.map((item, i) => {
140
140
  const fieldConfig = props.fields.find((f) => f.name === item.name);
141
141
  if (!fieldConfig) {
142
142
  return null;
143
143
  }
144
+ const noModulesToRender = fieldConfig.field.config.type === "Relation" &&
145
+ Object.values(fieldConfig.field.contentType
146
+ .fields).every((f) => f.visibility === "api");
144
147
  const FieldComponent = ContentTypeEdit_1.fieldsMap[fieldConfig?.field.config.type];
145
- return ((0, jsx_runtime_1.jsx)(sortable_1.SortableItem, { value: item.uid, asChild: true, children: (0, jsx_runtime_1.jsx)("div", { className: 'flex gap-2', children: (0, jsx_runtime_1.jsx)(collapsible_1.Collapsible, { defaultOpen: true, className: 'w-full', children: (0, jsx_runtime_1.jsxs)(card_1.Card, { className: 'w-full', children: [(0, jsx_runtime_1.jsx)(card_1.CardHeader, { className: 'gap-0', children: (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between items-center cursor-pointer', children: [(0, jsx_runtime_1.jsxs)(card_1.CardTitle, { className: 'flex items-center gap-2 ', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex items-center gap-2', children: [(0, jsx_runtime_1.jsx)(sortable_1.SortableItemHandle, { asChild: true, children: (0, jsx_runtime_1.jsx)(button_1.Button, { variant: 'ghost', size: 'icon', className: 'size-8', children: (0, jsx_runtime_1.jsx)(lucide_react_1.GripVertical, { className: 'h-4 w-4' }) }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { variant: 'ghost', size: 'icon', className: 'size-8', asChild: true, children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsUpDown, {}), (0, jsx_runtime_1.jsx)("span", { className: 'sr-only', children: "Toggle" })] }) })] }), item.name] }), (0, jsx_runtime_1.jsx)(button_1.Button, { size: 'icon', variant: 'destructive', onClick: () => {
148
+ return ((0, jsx_runtime_1.jsx)(sortable_1.SortableItem, { value: item.uid, asChild: true, children: (0, jsx_runtime_1.jsx)("div", { className: "flex gap-2", children: (0, jsx_runtime_1.jsx)(collapsible_1.Collapsible, { defaultOpen: !noModulesToRender, className: "w-full", children: (0, jsx_runtime_1.jsxs)(card_1.Card, { className: "w-full", children: [(0, jsx_runtime_1.jsx)(card_1.CardHeader, { className: "gap-0", children: (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleTrigger, { asChild: true, disabled: noModulesToRender, children: (0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between items-center cursor-pointer", children: [(0, jsx_runtime_1.jsxs)(card_1.CardTitle, { className: "flex items-center gap-2 ", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(sortable_1.SortableItemHandle, { asChild: true, children: (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "ghost", size: "icon", className: "size-8", children: (0, jsx_runtime_1.jsx)(lucide_react_1.GripVertical, { className: "h-4 w-4" }) }) }), !noModulesToRender ? ((0, jsx_runtime_1.jsx)(button_1.Button, { variant: "ghost", size: "icon", className: "size-8", asChild: true, children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsUpDown, {}), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "Toggle" })] }) })) : null] }), item.name] }), (0, jsx_runtime_1.jsx)(button_1.Button, { size: "icon", variant: "destructive", onClick: () => {
146
149
  handleDelete(item.uid);
147
- }, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Trash, {}) })] }) }) }), (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleContent, { forceMount: true, className: 'data-[state=closed]:hidden', children: (0, jsx_runtime_1.jsx)(card_1.CardContent, { children: (0, jsx_runtime_1.jsx)(FieldComponent, { id: `${id}.${item.uid}.${fieldConfig.name}`, ref: setRef(item.uid), collapsible: true, defaultData: value[i]?.value, ...fieldConfig.field }) }) })] }) }) }) }, item.uid));
150
+ }, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Trash, {}) })] }) }) }), !noModulesToRender ? ((0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleContent, { forceMount: true, className: "data-[state=closed]:hidden", children: (0, jsx_runtime_1.jsx)(card_1.CardContent, { children: (0, jsx_runtime_1.jsx)(FieldComponent, { id: `${id}.${item.uid}.${fieldConfig.name}`, ref: setRef(item.uid), collapsible: true, defaultData: value[i]?.value, ...fieldConfig.field }) }) })) : null] }) }) }) }, item.uid));
148
151
  }) })) })] }) }));
149
152
  };
150
153
  exports.default = ListUI;
@@ -1 +1 @@
1
- {"version":3,"file":"ListUI.js","sourceRoot":"","sources":["../../../../../../../../src/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListUI.js","sourceRoot":"","sources":["../../../../../../../../src/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.tsx"],"names":[],"mappings":"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"}
@@ -28,6 +28,33 @@ const EmptyValue = {
28
28
  version: 1,
29
29
  },
30
30
  };
31
+ const isSerializedEditorState = (value) => {
32
+ if (!value || typeof value !== 'object')
33
+ return false;
34
+ const root = value.root;
35
+ if (!root || typeof root !== 'object')
36
+ return false;
37
+ const children = root.children;
38
+ const type = root.type;
39
+ return (type === 'root' &&
40
+ Array.isArray(children) &&
41
+ children.length > 0 &&
42
+ children.every(isSerializedLexicalNode));
43
+ };
44
+ const isSerializedLexicalNode = (value) => {
45
+ if (!value || typeof value !== 'object')
46
+ return false;
47
+ const type = value.type;
48
+ const children = value.children;
49
+ if (typeof type !== 'string')
50
+ return false;
51
+ if (children === undefined)
52
+ return true;
53
+ return Array.isArray(children) && children.every(isSerializedLexicalNode);
54
+ };
55
+ const normalizeEditorState = (value) => {
56
+ return isSerializedEditorState(value) ? value : EmptyValue;
57
+ };
31
58
  const RichTextUI = ({ id, isTranslatable, defaultData, ref, ...props }) => {
32
59
  const { errors, cleanErrors, value, translatesStore, getState, onValueChange, getValue, } = (0, shared_1.useFieldValues)({
33
60
  id,
@@ -38,18 +65,17 @@ const RichTextUI = ({ id, isTranslatable, defaultData, ref, ...props }) => {
38
65
  });
39
66
  const { language } = (0, LanguageClientProvider_1.useLanguage)();
40
67
  const editorRef = (0, react_1.useRef)(null);
68
+ const editorValue = normalizeEditorState(value);
41
69
  (0, react_1.useEffect)(() => {
42
70
  if (!isTranslatable)
43
71
  return;
44
72
  editorRef.current?.update(() => {
45
73
  // get from store serialized state of the current language and set it to the editor
46
- const state = translatesStore[language.code] || EmptyValue;
47
- if (state) {
48
- editorRef.current?.setEditorState(editorRef.current?.parseEditorState(state));
49
- }
74
+ const state = normalizeEditorState(translatesStore[language.code]);
75
+ editorRef.current?.setEditorState(editorRef.current.parseEditorState(state));
50
76
  });
51
77
  }, [isTranslatable, language.code]);
52
- return ((0, jsx_runtime_1.jsx)(FieldWrapper_1.FieldWrapper, { id: id, errors: errors, getState: getState, getValue: getValue, ref: ref, children: (0, jsx_runtime_1.jsx)(editor_1.Editor, { editorRef: editorRef, editorSerializedState: value, onSerializedChange: (value) => {
78
+ return ((0, jsx_runtime_1.jsx)(FieldWrapper_1.FieldWrapper, { id: id, errors: errors, getState: getState, getValue: getValue, ref: ref, children: (0, jsx_runtime_1.jsx)(editor_1.Editor, { editorRef: editorRef, editorSerializedState: editorValue, onSerializedChange: (value) => {
53
79
  onValueChange(value);
54
80
  cleanErrors();
55
81
  } }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextUI.js","sourceRoot":"","sources":["../../../../../../../../src/router/dashboard/[contentType]/[edit]/_fields/StringField/RichTextUI.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;AAGZ,iCAAyC;AAGzC,sCAAiE;AACjE,yDAAqD;AAErD,iEAA6D;AAC7D,4FAA6E;AAE7E,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE;QACJ,QAAQ,EAAE;YACR;gBACE,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,EAAE;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,CAAC;aACX;SACF;QACD,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;KACX;CACkC,CAAA;AAErC,MAAM,UAAU,GAA6B,CAAC,EAC5C,EAAE,EACF,cAAc,EACd,WAAW,EACX,GAAG,EACH,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EACJ,MAAM,EACN,WAAW,EACX,KAAK,EACL,eAAe,EACf,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,GAAG,IAAA,uBAAc,EAAwB;QACxC,EAAE;QACF,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc;QACd,WAAW,EAAE,WAAsD;QACnE,YAAY,EAAE,UAA8C;KAC7D,CAAC,CAAA;IAEF,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,oCAAW,GAAE,CAAA;IAClC,MAAM,SAAS,GAAG,IAAA,cAAM,EAAgB,IAAI,CAAC,CAAA;IAE7C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc;YAAE,OAAM;QAE3B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE;YAC7B,mFAAmF;YACnF,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAA;YAC1D,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,CAAC,OAAO,EAAE,cAAc,CAC/B,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAC3C,CAAA;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAEnC,OAAO,CACL,uBAAC,2BAAY,IACX,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,YAER,uBAAC,eAAM,IACL,SAAS,EAAE,SAAS,EACpB,qBAAqB,EAAE,KAAK,EAC5B,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5B,aAAa,CAAC,KAAK,CAAC,CAAA;gBACpB,WAAW,EAAE,CAAA;YACf,CAAC,GACD,GACW,CAChB,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"RichTextUI.js","sourceRoot":"","sources":["../../../../../../../../src/router/dashboard/[contentType]/[edit]/_fields/StringField/RichTextUI.tsx"],"names":[],"mappings":"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"}
@@ -20,6 +20,71 @@ const react_2 = require("../../../../client/react.js");
20
20
  const navigation_1 = require("../../../../state/navigation.js");
21
21
  const select_1 = require("../../../../components/ui/select.js");
22
22
  const language_1 = require("../../../../state/language.js");
23
+ const getLayoutOverrideValue = (override) => {
24
+ if (!override)
25
+ return "__default__";
26
+ return override.moduleId && override.moduleId.length > 0
27
+ ? override.moduleId
28
+ : "__none__";
29
+ };
30
+ const RouteLayoutModuleTabContent = ({ layoutModule, override, options, activeTab, contentTypeId, overridesByKey, routeLayoutOverridesQuery, }) => {
31
+ const [selected, setSelected] = (0, react_1.useState)(() => getLayoutOverrideValue(override));
32
+ (0, react_1.useEffect)(() => {
33
+ setSelected(getLayoutOverrideValue(override));
34
+ }, [override]);
35
+ const createOverrideMutation = (0, react_2.useManagerMutation)("manager.create");
36
+ const updateOverrideMutation = (0, react_2.useManagerMutation)("manager.update");
37
+ const deleteOverrideMutation = (0, react_2.useManagerMutation)("manager.delete");
38
+ const [isSaving, setIsSaving] = (0, react_1.useState)(false);
39
+ const saveLayoutOverride = async (layoutModule, selected) => {
40
+ if (!contentTypeId)
41
+ return;
42
+ setIsSaving(true);
43
+ const existing = overridesByKey.get(`${layoutModule.routeId}:${layoutModule.key}`);
44
+ if (selected === "__default__") {
45
+ if (existing) {
46
+ await deleteOverrideMutation.mutateAsync({
47
+ contentType: "RouteLayoutModuleOverride",
48
+ id: existing._id,
49
+ });
50
+ await routeLayoutOverridesQuery.refetch();
51
+ }
52
+ sonner_1.toast.success("Layout override updated successfully");
53
+ setIsSaving(false);
54
+ return;
55
+ }
56
+ const payload = {
57
+ _type: "RouteLayoutModuleOverride",
58
+ routeId: layoutModule.routeId,
59
+ routeKey: layoutModule.routeKey,
60
+ contentTypeId,
61
+ key: layoutModule.key,
62
+ contentType: layoutModule.contentType,
63
+ moduleId: selected === "__none__" ? "" : selected,
64
+ };
65
+ if (existing) {
66
+ await updateOverrideMutation.mutateAsync({
67
+ contentType: "RouteLayoutModuleOverride",
68
+ id: existing._id,
69
+ data: payload,
70
+ });
71
+ }
72
+ else {
73
+ await createOverrideMutation.mutateAsync({
74
+ contentType: "RouteLayoutModuleOverride",
75
+ data: payload,
76
+ });
77
+ }
78
+ sonner_1.toast.success("Layout override updated successfully");
79
+ await routeLayoutOverridesQuery.refetch();
80
+ setIsSaving(false);
81
+ };
82
+ const defaultOption = layoutModule.moduleId
83
+ ? (options.find((option) => option.value === layoutModule.moduleId)
84
+ ?.label ?? layoutModule.moduleId)
85
+ : "No module";
86
+ return ((0, jsx_runtime_1.jsx)(tabs_1.TabsContent, { value: `layout:${layoutModule._id}`, forceMount: true, hidden: activeTab !== `layout:${layoutModule._id}`, className: "w-full", children: (0, jsx_runtime_1.jsxs)("div", { className: "mx-auto flex w-full flex-col gap-4", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { className: "text-lg font-semibold", children: layoutModule.contentType }), (0, jsx_runtime_1.jsxs)("p", { className: "text-muted-foreground text-sm", children: ["Default from route: ", defaultOption, ". Override only for this entry."] })] }), (0, jsx_runtime_1.jsxs)(select_1.Select, { value: selected, onValueChange: setSelected, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: "Select module" }) }), (0, jsx_runtime_1.jsxs)(select_1.SelectContent, { children: [(0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: "__default__", children: "Use route default" }), (0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: "__none__", children: "No module" }), options.map((option) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: option.value, children: option.label }, option.value)))] })] }), (0, jsx_runtime_1.jsx)(button_1.Button, { className: "w-fit", loading: isSaving, onClick: () => saveLayoutOverride(layoutModule, selected), children: "Save override" })] }) }));
87
+ };
23
88
  exports.errorStyle = (0, class_variance_authority_1.cva)("", {
24
89
  variants: {
25
90
  error: {
@@ -36,9 +101,6 @@ const EditPage = ({ contentType, defaultData }) => {
36
101
  const managerClient = (0, react_2.useManagerClient)();
37
102
  const createMutation = (0, react_2.useManagerMutation)("manager.create");
38
103
  const updateMutation = (0, react_2.useManagerMutation)("manager.update");
39
- const createOverrideMutation = (0, react_2.useManagerMutation)("manager.create");
40
- const updateOverrideMutation = (0, react_2.useManagerMutation)("manager.update");
41
- const deleteOverrideMutation = (0, react_2.useManagerMutation)("manager.delete");
42
104
  const { getTranslation } = (0, language_1.useLanguage)();
43
105
  const contentTypeId = defaultData?._id;
44
106
  const routeLayoutModulesQuery = (0, react_2.useManagerQuery)({
@@ -213,20 +275,6 @@ const EditPage = ({ contentType, defaultData }) => {
213
275
  })),
214
276
  ];
215
277
  }));
216
- const [selectedLayoutOverrides, setSelectedLayoutOverrides] = (0, react_1.useState)({});
217
- (0, react_1.useEffect)(() => {
218
- setSelectedLayoutOverrides(Object.fromEntries(routeLayoutModules.map((layoutModule) => {
219
- const override = overridesByKey.get(`${layoutModule.routeId}:${layoutModule.key}`);
220
- return [
221
- layoutModule._id,
222
- override
223
- ? override.moduleId && override.moduleId.length > 0
224
- ? override.moduleId
225
- : "__none__"
226
- : "__default__",
227
- ];
228
- })));
229
- }, [routeLayoutModulesQuery.data, routeLayoutOverridesQuery.data]);
230
278
  const [activeTab, setActiveTab] = (0, react_1.useState)(hasNonIterables
231
279
  ? "info"
232
280
  : hasIterables
@@ -234,68 +282,14 @@ const EditPage = ({ contentType, defaultData }) => {
234
282
  : hasSeo
235
283
  ? "seo"
236
284
  : "versions");
237
- const saveLayoutOverride = async (layoutModule) => {
238
- if (!contentTypeId)
239
- return;
240
- const selected = selectedLayoutOverrides[layoutModule._id] ?? "__default__";
241
- const existing = overridesByKey.get(`${layoutModule.routeId}:${layoutModule.key}`);
242
- if (selected === "__default__") {
243
- if (existing) {
244
- await deleteOverrideMutation.mutateAsync({
245
- contentType: "RouteLayoutModuleOverride",
246
- id: existing._id,
247
- });
248
- await routeLayoutOverridesQuery.refetch();
249
- }
250
- sonner_1.toast.success("Layout override updated successfully");
251
- return;
252
- }
253
- const payload = {
254
- _type: "RouteLayoutModuleOverride",
255
- routeId: layoutModule.routeId,
256
- routeKey: layoutModule.routeKey,
257
- contentTypeId,
258
- key: layoutModule.key,
259
- contentType: layoutModule.contentType,
260
- moduleId: selected === "__none__" ? "" : selected,
261
- };
262
- if (existing) {
263
- await updateOverrideMutation.mutateAsync({
264
- contentType: "RouteLayoutModuleOverride",
265
- id: existing._id,
266
- data: payload,
267
- });
268
- }
269
- else {
270
- await createOverrideMutation.mutateAsync({
271
- contentType: "RouteLayoutModuleOverride",
272
- data: payload,
273
- });
274
- }
275
- sonner_1.toast.success("Layout override updated successfully");
276
- await routeLayoutOverridesQuery.refetch();
277
- };
278
285
  return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("div", { className: "container py-10 px-4 mx-auto", children: (0, jsx_runtime_1.jsxs)(tabs_1.Tabs, { value: activeTab, onValueChange: (v) => {
279
286
  saveState();
280
287
  setActiveTab(v);
281
288
  }, className: "w-full", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2 justify-between items-center sticky top-0 bg-background z-50 pb-3 mb-3 border-b", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex", children: (0, jsx_runtime_1.jsxs)(tabs_1.TabsList, { variant: "line", children: [hasNonIterables ? ((0, jsx_runtime_1.jsxs)(tabs_1.TabsTrigger, { value: "info", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.NotepadText, {}), "Info"] })) : null, hasIterables ? ((0, jsx_runtime_1.jsxs)(tabs_1.TabsTrigger, { value: "content", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ScrollText, {}), "Content"] })) : null, hasSeo ? ((0, jsx_runtime_1.jsxs)(tabs_1.TabsTrigger, { value: "seo", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Globe, {}), "Seo"] })) : null, [...routeLayoutModules]
282
289
  .sort((a, b) => a.order - b.order)
283
- .map((layoutModule) => ((0, jsx_runtime_1.jsxs)(tabs_1.TabsTrigger, { value: `layout:${layoutModule._id}`, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.LayoutPanelTop, {}), layoutModule.routeKey, " / ", layoutModule.key] }, layoutModule._id))), hasIterables ? ((0, jsx_runtime_1.jsxs)(tabs_1.TabsTrigger, { value: "versions", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.GitBranch, {}), "Versions"] })) : null] }) }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(LanguageSelector_1.default, {}), (0, jsx_runtime_1.jsx)(button_1.Button, { loading: createMutation.isPending || updateMutation.isPending, className: "cursor-pointer ml-auto", onClick: () => void handleSave(), children: "Save" })] })] }), hasIterables ? ((0, jsx_runtime_1.jsx)(tabs_1.TabsContent, { value: "content", forceMount: true, hidden: activeTab !== "content", className: "w-full", children: (0, jsx_runtime_1.jsx)(ContentTypeEdit_1.default, { defaultData: draft.current, ref: iterablesRef, contentType: iterables, id: contentType.name, collapsible: true, hideTitle: true }) })) : null, hasNonIterables ? ((0, jsx_runtime_1.jsx)(tabs_1.TabsContent, { value: "info", forceMount: true, hidden: activeTab !== "info", className: "w-full", children: (0, jsx_runtime_1.jsx)(ContentTypeEdit_1.default, { defaultData: draft.current, ref: nonIterablesRef, contentType: nonIterables, id: contentType.name }) })) : null, hasSeo ? ((0, jsx_runtime_1.jsx)(tabs_1.TabsContent, { value: "seo", forceMount: true, hidden: activeTab !== "seo", className: "w-full", children: (0, jsx_runtime_1.jsx)(ContentTypeEdit_1.default, { defaultData: draft.current, ref: seoRef, contentType: seo, id: contentType.name, hideTitle: true }) })) : null, [...routeLayoutModules]
290
+ .map((layoutModule) => ((0, jsx_runtime_1.jsxs)(tabs_1.TabsTrigger, { value: `layout:${layoutModule._id}`, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.LayoutPanelTop, {}), layoutModule.contentType] }, layoutModule._id))), hasIterables ? ((0, jsx_runtime_1.jsxs)(tabs_1.TabsTrigger, { value: "versions", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.GitBranch, {}), "Versions"] })) : null] }) }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(LanguageSelector_1.default, {}), (0, jsx_runtime_1.jsx)(button_1.Button, { loading: createMutation.isPending || updateMutation.isPending, className: "cursor-pointer ml-auto", onClick: () => void handleSave(), children: "Save" })] })] }), hasIterables ? ((0, jsx_runtime_1.jsx)(tabs_1.TabsContent, { value: "content", forceMount: true, hidden: activeTab !== "content", className: "w-full", children: (0, jsx_runtime_1.jsx)(ContentTypeEdit_1.default, { defaultData: draft.current, ref: iterablesRef, contentType: iterables, id: contentType.name, collapsible: true, hideTitle: true }) })) : null, hasNonIterables ? ((0, jsx_runtime_1.jsx)(tabs_1.TabsContent, { value: "info", forceMount: true, hidden: activeTab !== "info", className: "w-full", children: (0, jsx_runtime_1.jsx)(ContentTypeEdit_1.default, { defaultData: draft.current, ref: nonIterablesRef, contentType: nonIterables, id: contentType.name }) })) : null, hasSeo ? ((0, jsx_runtime_1.jsx)(tabs_1.TabsContent, { value: "seo", forceMount: true, hidden: activeTab !== "seo", className: "w-full", children: (0, jsx_runtime_1.jsx)(ContentTypeEdit_1.default, { defaultData: draft.current, ref: seoRef, contentType: seo, id: contentType.name, hideTitle: true }) })) : null, [...routeLayoutModules]
284
291
  .sort((a, b) => a.order - b.order)
285
- .map((layoutModule) => {
286
- const defaultOption = layoutModule.moduleId
287
- ? ((layoutOptionsByContentType.get(layoutModule.contentType) ??
288
- []).find((option) => option.value === layoutModule.moduleId)
289
- ?.label ?? layoutModule.moduleId)
290
- : "No module";
291
- return ((0, jsx_runtime_1.jsx)(tabs_1.TabsContent, { value: `layout:${layoutModule._id}`, forceMount: true, hidden: activeTab !== `layout:${layoutModule._id}`, className: "w-full", children: (0, jsx_runtime_1.jsxs)("div", { className: "mx-auto flex w-full max-w-2xl flex-col gap-4", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { className: "text-lg font-semibold", children: layoutModule.key }), (0, jsx_runtime_1.jsxs)("p", { className: "text-muted-foreground text-sm", children: ["Default from route: ", defaultOption, ". Override only for this entry."] })] }), (0, jsx_runtime_1.jsxs)(select_1.Select, { value: selectedLayoutOverrides[layoutModule._id] ??
292
- "__default__", onValueChange: (value) => setSelectedLayoutOverrides((current) => ({
293
- ...current,
294
- [layoutModule._id]: value,
295
- })), children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: "Select module" }) }), (0, jsx_runtime_1.jsxs)(select_1.SelectContent, { children: [(0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: "__default__", children: "Use route default" }), (0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: "__none__", children: "No module" }), (layoutOptionsByContentType.get(layoutModule.contentType) ?? []).map((option) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: option.value, children: option.label }, option.value)))] })] }), (0, jsx_runtime_1.jsx)(button_1.Button, { className: "w-fit", loading: createOverrideMutation.isPending ||
296
- updateOverrideMutation.isPending ||
297
- deleteOverrideMutation.isPending, onClick: () => void saveLayoutOverride(layoutModule), children: "Save override" })] }) }, layoutModule._id));
298
- }), hasIterables ? ((0, jsx_runtime_1.jsx)(tabs_1.TabsContent, { value: "versions", children: "Comming soon" })) : null] }) }) }));
292
+ .map((layoutModule) => ((0, jsx_runtime_1.jsx)(RouteLayoutModuleTabContent, { routeLayoutOverridesQuery: routeLayoutOverridesQuery, layoutModule: layoutModule, override: overridesByKey.get(`${layoutModule.routeId}:${layoutModule.key}`), options: layoutOptionsByContentType.get(layoutModule.contentType) ?? [], activeTab: activeTab, contentTypeId: contentTypeId, overridesByKey: overridesByKey }, layoutModule._id))), hasIterables ? ((0, jsx_runtime_1.jsx)(tabs_1.TabsContent, { value: "versions", children: "Comming soon" })) : null] }) }) }));
299
293
  };
300
294
  exports.default = EditPage;
301
295
  //# sourceMappingURL=edit.js.map