@orbe-agro/client-core 5.1.8 → 5.1.9

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 (49) hide show
  1. package/dist/@ecme/components/layouts/Layouts.js +12 -12
  2. package/dist/@ecme/components/layouts/Layouts.js.map +1 -1
  3. package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js +19 -17
  4. package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js.map +1 -1
  5. package/dist/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.js +28 -27
  6. package/dist/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.js.map +1 -1
  7. package/dist/@ecme/components/layouts/RouteNotFound.js +11 -0
  8. package/dist/@ecme/components/layouts/RouteNotFound.js.map +1 -0
  9. package/dist/@ecme/components/template/Header.js +17 -15
  10. package/dist/@ecme/components/template/Header.js.map +1 -1
  11. package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.js +3 -12
  12. package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.js.map +1 -1
  13. package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownTrigger.js +18 -17
  14. package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownTrigger.js.map +1 -1
  15. package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuNavLink.js +15 -23
  16. package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuNavLink.js.map +1 -1
  17. package/dist/@ecme/components/template/MobileNav.js +31 -29
  18. package/dist/@ecme/components/template/MobileNav.js.map +1 -1
  19. package/dist/@ecme/components/template/SideNav.js +31 -29
  20. package/dist/@ecme/components/template/SideNav.js.map +1 -1
  21. package/dist/@ecme/components/template/VerticalMenuContent/VerticalMenuContent.js +34 -40
  22. package/dist/@ecme/components/template/VerticalMenuContent/VerticalMenuContent.js.map +1 -1
  23. package/dist/@ecme/components/template/VerticalMenuContent/VerticalSingleMenuItem.js +67 -110
  24. package/dist/@ecme/components/template/VerticalMenuContent/VerticalSingleMenuItem.js.map +1 -1
  25. package/dist/@types/@ecme/components/layouts/Layouts.d.ts +8 -2
  26. package/dist/@types/@ecme/components/layouts/Layouts.d.ts.map +1 -1
  27. package/dist/@types/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.d.ts +5 -3
  28. package/dist/@types/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.d.ts.map +1 -1
  29. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.d.ts +6 -2
  30. package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.d.ts.map +1 -1
  31. package/dist/@types/@ecme/components/layouts/RouteNotFound.d.ts +7 -0
  32. package/dist/@types/@ecme/components/layouts/RouteNotFound.d.ts.map +1 -0
  33. package/dist/@types/@ecme/components/template/Header.d.ts +4 -2
  34. package/dist/@types/@ecme/components/template/Header.d.ts.map +1 -1
  35. package/dist/@types/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.d.ts +2 -2
  36. package/dist/@types/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.d.ts.map +1 -1
  37. package/dist/@types/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownTrigger.d.ts +6 -5
  38. package/dist/@types/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownTrigger.d.ts.map +1 -1
  39. package/dist/@types/@ecme/components/template/HorizontalMenuContent/HorizontalMenuNavLink.d.ts +9 -5
  40. package/dist/@types/@ecme/components/template/HorizontalMenuContent/HorizontalMenuNavLink.d.ts.map +1 -1
  41. package/dist/@types/@ecme/components/template/MobileNav.d.ts +3 -1
  42. package/dist/@types/@ecme/components/template/MobileNav.d.ts.map +1 -1
  43. package/dist/@types/@ecme/components/template/SideNav.d.ts +4 -2
  44. package/dist/@types/@ecme/components/template/SideNav.d.ts.map +1 -1
  45. package/dist/@types/@ecme/components/template/VerticalMenuContent/VerticalMenuContent.d.ts +4 -2
  46. package/dist/@types/@ecme/components/template/VerticalMenuContent/VerticalMenuContent.d.ts.map +1 -1
  47. package/dist/@types/@ecme/components/template/VerticalMenuContent/VerticalSingleMenuItem.d.ts +7 -4
  48. package/dist/@types/@ecme/components/template/VerticalMenuContent/VerticalSingleMenuItem.d.ts.map +1 -1
  49. package/package.json +1 -1
@@ -1,23 +1,23 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { Suspense as a } from "react";
3
- import i from "../shared/Loading.js";
2
+ import { Suspense as i } from "react";
3
+ import u from "../shared/Loading.js";
4
4
  import "../../auth/index.js";
5
- import { useThemeStore as u } from "../../store/themeStore.js";
5
+ import { useThemeStore as p } from "../../store/themeStore.js";
6
6
  import "./PostLoginLayout/index.js";
7
- import p from "./PreLoginLayout.js";
8
- import f from "../../auth/useAuth.js";
9
- import l from "./PostLoginLayout/PostLoginLayout.js";
10
- const v = ({ children: t }) => {
11
- const r = u((m) => m.layout.type), { authenticated: e } = f();
7
+ import f from "./PreLoginLayout.js";
8
+ import l from "../../auth/useAuth.js";
9
+ import s from "./PostLoginLayout/PostLoginLayout.js";
10
+ const P = ({ children: t, linkRenderer: r }) => {
11
+ const e = p((a) => a.layout.type), { authenticated: m } = l();
12
12
  return /* @__PURE__ */ o(
13
- a,
13
+ i,
14
14
  {
15
- fallback: /* @__PURE__ */ o("div", { className: "flex flex-auto flex-col h-[100vh]", children: /* @__PURE__ */ o(i, { loading: !0 }) }),
16
- children: e ? /* @__PURE__ */ o(l, { layoutType: r, children: t }) : /* @__PURE__ */ o(p, { children: t })
15
+ fallback: /* @__PURE__ */ o("div", { className: "flex flex-auto flex-col h-[100vh]", children: /* @__PURE__ */ o(u, { loading: !0 }) }),
16
+ children: m ? /* @__PURE__ */ o(s, { layoutType: e, linkRenderer: r, children: t }) : /* @__PURE__ */ o(f, { children: t })
17
17
  }
18
18
  );
19
19
  };
20
20
  export {
21
- v as default
21
+ P as default
22
22
  };
23
23
  //# sourceMappingURL=Layouts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layouts.js","sources":["../../../../lib/@ecme/components/layouts/Layouts.tsx"],"sourcesContent":["import { Suspense } from 'react'\nimport Loading from '@/components/shared/Loading'\nimport type { CommonProps } from '@/@types/common'\nimport { useAuth } from '@/auth'\nimport { useThemeStore } from '@/store/themeStore'\nimport PostLoginLayout from './PostLoginLayout'\nimport PreLoginLayout from './PreLoginLayout'\n\nconst Layout = ({ children }: CommonProps) => {\n const layoutType = useThemeStore((state) => state.layout.type)\n\n const { authenticated } = useAuth()\n\n return (\n <Suspense\n fallback={\n <div className=\"flex flex-auto flex-col h-[100vh]\">\n <Loading loading={true} />\n </div>\n }\n >\n {authenticated ? (\n <PostLoginLayout layoutType={layoutType}>\n {children}\n </PostLoginLayout>\n ) : (\n <PreLoginLayout>{children}</PreLoginLayout>\n )}\n </Suspense>\n )\n}\n\nexport default Layout\n"],"names":["Layout","children","layoutType","useThemeStore","state","authenticated","useAuth","jsx","Suspense","Loading","PostLoginLayout","PreLoginLayout"],"mappings":";;;;;;;;;AAQA,MAAMA,IAAS,CAAC,EAAE,UAAAC,QAA4B;AAC1C,QAAMC,IAAaC,EAAc,CAACC,MAAUA,EAAM,OAAO,IAAI,GAEvD,EAAE,eAAAC,EAAA,IAAkBC,EAAA;AAE1B,SACI,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,4BACK,OAAA,EAAI,WAAU,qCACX,UAAA,gBAAAD,EAACE,GAAA,EAAQ,SAAS,GAAA,CAAM,EAAA,CAC5B;AAAA,MAGH,UAAAJ,sBACIK,GAAA,EAAgB,YAAAR,GACZ,UAAAD,GACL,IAEA,gBAAAM,EAACI,KAAgB,UAAAV,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAI1C;"}
1
+ {"version":3,"file":"Layouts.js","sources":["../../../../lib/@ecme/components/layouts/Layouts.tsx"],"sourcesContent":["import { Suspense } from \"react\";\nimport Loading from \"@/components/shared/Loading\";\nimport type { CommonProps } from \"@/@types/common\";\nimport { useAuth } from \"@/auth\";\nimport { useThemeStore } from \"@/store/themeStore\";\nimport PostLoginLayout from \"./PostLoginLayout\";\nimport PreLoginLayout from \"./PreLoginLayout\";\nimport { NavigationTree } from \"@/@types\";\n\nexport type LinkRenderer = (\n nav: NavigationTree,\n children: React.ReactNode\n) => React.ReactNode;\n\ninterface LayoutProps extends CommonProps {\n menuConfig?: any;\n linkRenderer?: LinkRenderer;\n}\n\nconst Layout = ({ children, linkRenderer }: LayoutProps) => {\n const layoutType = useThemeStore((state) => state.layout.type);\n\n const { authenticated } = useAuth();\n\n return (\n <Suspense\n fallback={\n <div className=\"flex flex-auto flex-col h-[100vh]\">\n <Loading loading={true} />\n </div>\n }\n >\n {authenticated ? (\n <PostLoginLayout layoutType={layoutType} linkRenderer={linkRenderer}>\n {children}\n </PostLoginLayout>\n ) : (\n <PreLoginLayout>{children}</PreLoginLayout>\n )}\n </Suspense>\n );\n};\n\nexport default Layout;\n"],"names":["Layout","children","linkRenderer","layoutType","useThemeStore","state","authenticated","useAuth","jsx","Suspense","Loading","PostLoginLayout","PreLoginLayout"],"mappings":";;;;;;;;;AAmBA,MAAMA,IAAS,CAAC,EAAE,UAAAC,GAAU,cAAAC,QAAgC;AAC1D,QAAMC,IAAaC,EAAc,CAACC,MAAUA,EAAM,OAAO,IAAI,GAEvD,EAAE,eAAAC,EAAA,IAAkBC,EAAA;AAE1B,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,4BACG,OAAA,EAAI,WAAU,qCACb,UAAA,gBAAAD,EAACE,GAAA,EAAQ,SAAS,GAAA,CAAM,EAAA,CAC1B;AAAA,MAGD,UAAAJ,sBACEK,GAAA,EAAgB,YAAAR,GAAwB,cAAAD,GACtC,UAAAD,EAAA,CACH,IAEA,gBAAAO,EAACI,GAAA,EAAgB,UAAAX,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAIlC;"}
@@ -1,27 +1,29 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { lazy as o, Suspense as e } from "react";
3
- import { LAYOUT_BLANK as p, LAYOUT_CONTENT_OVERLAY as A, LAYOUT_FRAMELESS_SIDE as a, LAYOUT_TOP_BAR_CLASSIC as l, LAYOUT_STACKED_SIDE as s, LAYOUT_COLLAPSIBLE_SIDE as _ } from "../../../constants/theme.constant.js";
4
- import O from "../../shared/Loading.js";
2
+ import { lazy as o, Suspense as p } from "react";
3
+ import { LAYOUT_BLANK as A, LAYOUT_CONTENT_OVERLAY as a, LAYOUT_FRAMELESS_SIDE as l, LAYOUT_TOP_BAR_CLASSIC as s, LAYOUT_STACKED_SIDE as _, LAYOUT_COLLAPSIBLE_SIDE as O } from "../../../constants/theme.constant.js";
4
+ import n from "../../shared/Loading.js";
5
5
  const r = {
6
- [_]: o(
7
- () => import("./components/CollapsibleSide.js")
8
- ),
9
- [s]: o(() => import("./components/StackedSide.js")),
10
- [l]: o(() => import("./components/TopBarClassic.js")),
11
- [a]: o(() => import("./components/FrameLessSide.js")),
12
- [A]: o(() => import("./components/ContentOverlay.js")),
13
- [p]: o(() => import("./components/Blank.js"))
14
- }, f = ({ layoutType: L, children: i }) => {
15
- const m = r[L] ?? r[Object.keys(r)[0]];
6
+ [O]: o(() => import("./components/CollapsibleSide.js")),
7
+ [_]: o(() => import("./components/StackedSide.js")),
8
+ [s]: o(() => import("./components/TopBarClassic.js")),
9
+ [l]: o(() => import("./components/FrameLessSide.js")),
10
+ [a]: o(() => import("./components/ContentOverlay.js")),
11
+ [A]: o(() => import("./components/Blank.js"))
12
+ }, E = ({
13
+ layoutType: L,
14
+ children: i,
15
+ linkRenderer: m
16
+ }) => {
17
+ const e = r[L] ?? r[Object.keys(r)[0]];
16
18
  return /* @__PURE__ */ t(
17
- e,
19
+ p,
18
20
  {
19
- fallback: /* @__PURE__ */ t("div", { className: "flex flex-auto flex-col h-[100vh]", children: /* @__PURE__ */ t(O, { loading: !0 }) }),
20
- children: /* @__PURE__ */ t(m, { children: i })
21
+ fallback: /* @__PURE__ */ t("div", { className: "flex flex-auto flex-col h-[100vh]", children: /* @__PURE__ */ t(n, { loading: !0 }) }),
22
+ children: /* @__PURE__ */ t(e, { linkRenderer: m, children: i })
21
23
  }
22
24
  );
23
25
  };
24
26
  export {
25
- f as default
27
+ E as default
26
28
  };
27
29
  //# sourceMappingURL=PostLoginLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostLoginLayout.js","sources":["../../../../../lib/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.tsx"],"sourcesContent":["import { lazy, Suspense } from 'react'\nimport {\n LAYOUT_COLLAPSIBLE_SIDE,\n LAYOUT_STACKED_SIDE,\n LAYOUT_TOP_BAR_CLASSIC,\n LAYOUT_FRAMELESS_SIDE,\n LAYOUT_CONTENT_OVERLAY,\n LAYOUT_BLANK,\n} from '@/constants/theme.constant'\nimport Loading from '@/components/shared/Loading'\nimport type { CommonProps } from '@/@types/common'\nimport type { LazyExoticComponent, JSX } from 'react'\nimport type { LayoutType } from '@/@types/theme'\n\ntype Layouts = Record<\n string,\n LazyExoticComponent<<T extends CommonProps>(props: T) => JSX.Element>\n>\n\ninterface PostLoginLayoutProps extends CommonProps {\n layoutType: LayoutType\n}\n\nconst layouts: Layouts = {\n [LAYOUT_COLLAPSIBLE_SIDE]: lazy(\n () => import('./components/CollapsibleSide'),\n ),\n [LAYOUT_STACKED_SIDE]: lazy(() => import('./components/StackedSide')),\n [LAYOUT_TOP_BAR_CLASSIC]: lazy(() => import('./components/TopBarClassic')),\n [LAYOUT_FRAMELESS_SIDE]: lazy(() => import('./components/FrameLessSide')),\n [LAYOUT_CONTENT_OVERLAY]: lazy(() => import('./components/ContentOverlay')),\n [LAYOUT_BLANK]: lazy(() => import('./components/Blank')),\n}\n\nconst PostLoginLayout = ({ layoutType, children }: PostLoginLayoutProps) => {\n const AppLayout = layouts[layoutType] ?? layouts[Object.keys(layouts)[0]]\n\n return (\n <Suspense\n fallback={\n <div className=\"flex flex-auto flex-col h-[100vh]\">\n <Loading loading={true} />\n </div>\n }\n >\n <AppLayout>{children}</AppLayout>\n </Suspense>\n )\n}\n\nexport default PostLoginLayout\n"],"names":["layouts","LAYOUT_COLLAPSIBLE_SIDE","lazy","LAYOUT_STACKED_SIDE","LAYOUT_TOP_BAR_CLASSIC","LAYOUT_FRAMELESS_SIDE","LAYOUT_CONTENT_OVERLAY","LAYOUT_BLANK","PostLoginLayout","layoutType","children","AppLayout","jsx","Suspense","Loading"],"mappings":";;;;AAuBA,MAAMA,IAAmB;AAAA,EACrB,CAACC,CAAuB,GAAGC;AAAA,IACvB,MAAM,OAAO,iCAA8B;AAAA,EAAA;AAAA,EAE/C,CAACC,CAAmB,GAAGD,EAAK,MAAM,OAAO,6BAA0B,CAAC;AAAA,EACpE,CAACE,CAAsB,GAAGF,EAAK,MAAM,OAAO,+BAA4B,CAAC;AAAA,EACzE,CAACG,CAAqB,GAAGH,EAAK,MAAM,OAAO,+BAA4B,CAAC;AAAA,EACxE,CAACI,CAAsB,GAAGJ,EAAK,MAAM,OAAO,gCAA6B,CAAC;AAAA,EAC1E,CAACK,CAAY,GAAGL,EAAK,MAAM,OAAO,uBAAoB,CAAC;AAC3D,GAEMM,IAAkB,CAAC,EAAE,YAAAC,GAAY,UAAAC,QAAqC;AACxE,QAAMC,IAAYX,EAAQS,CAAU,KAAKT,EAAQ,OAAO,KAAKA,CAAO,EAAE,CAAC,CAAC;AAExE,SACI,gBAAAY;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,4BACK,OAAA,EAAI,WAAU,qCACX,UAAA,gBAAAD,EAACE,GAAA,EAAQ,SAAS,GAAA,CAAM,EAAA,CAC5B;AAAA,MAGJ,UAAA,gBAAAF,EAACD,KAAW,UAAAD,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAGjC;"}
1
+ {"version":3,"file":"PostLoginLayout.js","sources":["../../../../../lib/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.tsx"],"sourcesContent":["import { lazy, Suspense } from \"react\";\nimport {\n LAYOUT_COLLAPSIBLE_SIDE,\n LAYOUT_STACKED_SIDE,\n LAYOUT_TOP_BAR_CLASSIC,\n LAYOUT_FRAMELESS_SIDE,\n LAYOUT_CONTENT_OVERLAY,\n LAYOUT_BLANK,\n} from \"@/constants/theme.constant\";\nimport Loading from \"@/components/shared/Loading\";\nimport type { CommonProps } from \"@/@types/common\";\nimport type { LazyExoticComponent, JSX } from \"react\";\nimport type { LayoutType } from \"@/@types/theme\";\nimport { LinkRenderer } from \"../Layouts\";\n\ntype Layouts = Record<\n string,\n LazyExoticComponent<<T extends CommonProps>(props: T) => JSX.Element>\n>;\n\ninterface PostLoginLayoutProps extends CommonProps {\n layoutType: LayoutType;\n linkRenderer?: LinkRenderer;\n}\n\nconst layouts: Layouts = {\n [LAYOUT_COLLAPSIBLE_SIDE]: lazy(() => import(\"./components/CollapsibleSide\")),\n [LAYOUT_STACKED_SIDE]: lazy(() => import(\"./components/StackedSide\")),\n [LAYOUT_TOP_BAR_CLASSIC]: lazy(() => import(\"./components/TopBarClassic\")),\n [LAYOUT_FRAMELESS_SIDE]: lazy(() => import(\"./components/FrameLessSide\")),\n [LAYOUT_CONTENT_OVERLAY]: lazy(() => import(\"./components/ContentOverlay\")),\n [LAYOUT_BLANK]: lazy(() => import(\"./components/Blank\")),\n};\n\nconst PostLoginLayout = ({\n layoutType,\n children,\n linkRenderer,\n}: PostLoginLayoutProps) => {\n const AppLayout = layouts[layoutType] ?? layouts[Object.keys(layouts)[0]];\n\n return (\n <Suspense\n fallback={\n <div className=\"flex flex-auto flex-col h-[100vh]\">\n <Loading loading={true} />\n </div>\n }\n >\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <AppLayout linkRenderer={linkRenderer}>{children}</AppLayout>\n </Suspense>\n );\n};\n\nexport default PostLoginLayout;\n"],"names":["layouts","LAYOUT_COLLAPSIBLE_SIDE","lazy","LAYOUT_STACKED_SIDE","LAYOUT_TOP_BAR_CLASSIC","LAYOUT_FRAMELESS_SIDE","LAYOUT_CONTENT_OVERLAY","LAYOUT_BLANK","PostLoginLayout","layoutType","children","linkRenderer","AppLayout","jsx","Suspense","Loading"],"mappings":";;;;AAyBA,MAAMA,IAAmB;AAAA,EACvB,CAACC,CAAuB,GAAGC,EAAK,MAAM,OAAO,iCAA8B,CAAC;AAAA,EAC5E,CAACC,CAAmB,GAAGD,EAAK,MAAM,OAAO,6BAA0B,CAAC;AAAA,EACpE,CAACE,CAAsB,GAAGF,EAAK,MAAM,OAAO,+BAA4B,CAAC;AAAA,EACzE,CAACG,CAAqB,GAAGH,EAAK,MAAM,OAAO,+BAA4B,CAAC;AAAA,EACxE,CAACI,CAAsB,GAAGJ,EAAK,MAAM,OAAO,gCAA6B,CAAC;AAAA,EAC1E,CAACK,CAAY,GAAGL,EAAK,MAAM,OAAO,uBAAoB,CAAC;AACzD,GAEMM,IAAkB,CAAC;AAAA,EACvB,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AACF,MAA4B;AAC1B,QAAMC,IAAYZ,EAAQS,CAAU,KAAKT,EAAQ,OAAO,KAAKA,CAAO,EAAE,CAAC,CAAC;AAExE,SACE,gBAAAa;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,4BACG,OAAA,EAAI,WAAU,qCACb,UAAA,gBAAAD,EAACE,GAAA,EAAQ,SAAS,GAAA,CAAM,EAAA,CAC1B;AAAA,MAKF,UAAA,gBAAAF,EAACD,GAAA,EAAU,cAAAD,GAA6B,UAAAD,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAGvD;"}
@@ -1,52 +1,53 @@
1
- import { jsx as e, jsxs as o, Fragment as l } from "react/jsx-runtime";
2
- import m from "../../../template/SideNav.js";
3
- import t from "../../../template/Header.js";
4
- import f from "../../../template/SideNavToggle.js";
5
- import s from "../../../template/MobileNav.js";
6
- import p from "../../../template/Search.js";
1
+ import { jsx as e, jsxs as o, Fragment as a } from "react/jsx-runtime";
2
+ import t from "../../../template/SideNav.js";
3
+ import f from "../../../template/Header.js";
4
+ import s from "../../../template/SideNavToggle.js";
5
+ import p from "../../../template/MobileNav.js";
6
+ import c from "../../../template/Search.js";
7
7
  import d from "../../../template/LanguageSelector.js";
8
8
  import "../../../template/Notification/index.js";
9
- import c from "../../../template/UserProfileDropdown.js";
9
+ import n from "../../../template/UserProfileDropdown.js";
10
10
  import "../../../template/SidePanel/index.js";
11
- import n from "../../../template/LayoutBase.js";
12
- import x from "../../../../utils/hooks/useResponsive.js";
13
- import { LAYOUT_COLLAPSIBLE_SIDE as h } from "../../../../constants/theme.constant.js";
14
- import u from "../../../template/Notification/Notification.js";
15
- import g from "../../../template/SidePanel/SidePanel.js";
16
- const P = ({ children: a }) => {
17
- const { larger: r, smaller: i } = x();
11
+ import x from "../../../template/LayoutBase.js";
12
+ import h from "../../../../utils/hooks/useResponsive.js";
13
+ import { LAYOUT_COLLAPSIBLE_SIDE as u } from "../../../../constants/theme.constant.js";
14
+ import g from "../../../template/Notification/Notification.js";
15
+ import v from "../../../template/SidePanel/SidePanel.js";
16
+ const T = ({ children: m, linkRenderer: l }) => {
17
+ const { larger: r, smaller: i } = h();
18
18
  return /* @__PURE__ */ e(
19
- n,
19
+ x,
20
20
  {
21
- type: h,
21
+ type: u,
22
22
  className: "app-layout-collapsible-side flex flex-auto flex-col",
23
23
  children: /* @__PURE__ */ o("div", { className: "flex min-w-0 flex-auto", children: [
24
- r.lg && /* @__PURE__ */ e(m, {}),
24
+ r.lg && /* @__PURE__ */ e(t, { linkRenderer: l }),
25
25
  /* @__PURE__ */ o("div", { className: "relative flex min-h-screen w-full min-w-0 flex-auto flex-col", children: [
26
26
  /* @__PURE__ */ e(
27
- t,
27
+ f,
28
28
  {
29
+ linkRenderer: l,
29
30
  className: "shadow dark:shadow-2xl",
30
- headerStart: /* @__PURE__ */ o(l, { children: [
31
- i.lg && /* @__PURE__ */ e(s, {}),
32
- r.lg && /* @__PURE__ */ e(f, {}),
33
- /* @__PURE__ */ e(p, {})
31
+ headerStart: /* @__PURE__ */ o(a, { children: [
32
+ i.lg && /* @__PURE__ */ e(p, { linkRenderer: l }),
33
+ r.lg && /* @__PURE__ */ e(s, {}),
34
+ /* @__PURE__ */ e(c, {})
34
35
  ] }),
35
- headerEnd: /* @__PURE__ */ o(l, { children: [
36
+ headerEnd: /* @__PURE__ */ o(a, { children: [
36
37
  /* @__PURE__ */ e(d, {}),
37
- /* @__PURE__ */ e(u, {}),
38
38
  /* @__PURE__ */ e(g, {}),
39
- /* @__PURE__ */ e(c, { hoverable: !1 })
39
+ /* @__PURE__ */ e(v, {}),
40
+ /* @__PURE__ */ e(n, { hoverable: !1 })
40
41
  ] })
41
42
  }
42
43
  ),
43
- /* @__PURE__ */ e("div", { className: "flex h-full flex-auto flex-col", children: a })
44
+ /* @__PURE__ */ e("div", { className: "flex h-full flex-auto flex-col", children: m })
44
45
  ] })
45
46
  ] })
46
47
  }
47
48
  );
48
49
  };
49
50
  export {
50
- P as default
51
+ T as default
51
52
  };
52
53
  //# sourceMappingURL=CollapsibleSide.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleSide.js","sources":["../../../../../../lib/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.tsx"],"sourcesContent":["import SideNav from '@/components/template/SideNav'\nimport Header from '@/components/template/Header'\nimport SideNavToggle from '@/components/template/SideNavToggle'\nimport MobileNav from '@/components/template/MobileNav'\nimport Search from '@/components/template/Search'\nimport LanguageSelector from '@/components/template/LanguageSelector'\nimport Notification from '@/components/template/Notification'\nimport UserProfileDropdown from '@/components//template/UserProfileDropdown'\nimport SidePanel from '@/components//template/SidePanel'\nimport LayoutBase from '@/components//template/LayoutBase'\nimport useResponsive from '@/utils/hooks/useResponsive'\nimport { LAYOUT_COLLAPSIBLE_SIDE } from '@/constants/theme.constant'\nimport type { CommonProps } from '@/@types/common'\n\nconst CollapsibleSide = ({ children }: CommonProps) => {\n const { larger, smaller } = useResponsive()\n\n return (\n <LayoutBase\n type={LAYOUT_COLLAPSIBLE_SIDE}\n className=\"app-layout-collapsible-side flex flex-auto flex-col\"\n >\n <div className=\"flex min-w-0 flex-auto\">\n {larger.lg && <SideNav />}\n <div className=\"relative flex min-h-screen w-full min-w-0 flex-auto flex-col\">\n <Header\n className=\"shadow dark:shadow-2xl\"\n headerStart={\n <>\n {smaller.lg && <MobileNav />}\n {larger.lg && <SideNavToggle />}\n <Search />\n </>\n }\n headerEnd={\n <>\n <LanguageSelector />\n <Notification />\n <SidePanel />\n <UserProfileDropdown hoverable={false} />\n </>\n }\n />\n <div className=\"flex h-full flex-auto flex-col\">\n {children}\n </div>\n </div>\n </div>\n </LayoutBase>\n )\n}\n\nexport default CollapsibleSide\n"],"names":["CollapsibleSide","children","larger","smaller","useResponsive","jsx","LayoutBase","LAYOUT_COLLAPSIBLE_SIDE","jsxs","SideNav","Header","Fragment","MobileNav","SideNavToggle","Search","LanguageSelector","Notification","SidePanel","UserProfileDropdown"],"mappings":";;;;;;;;;;;;;;;AAcA,MAAMA,IAAkB,CAAC,EAAE,UAAAC,QAA4B;AACnD,QAAM,EAAE,QAAAC,GAAQ,SAAAC,EAAA,IAAYC,EAAA;AAE5B,SACI,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,MAAMC;AAAA,MACN,WAAU;AAAA,MAEV,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,0BACV,UAAA;AAAA,QAAAN,EAAO,wBAAOO,GAAA,CAAA,CAAQ;AAAA,QACvB,gBAAAD,EAAC,OAAA,EAAI,WAAU,gEACX,UAAA;AAAA,UAAA,gBAAAH;AAAA,YAACK;AAAA,YAAA;AAAA,cACG,WAAU;AAAA,cACV,aACI,gBAAAF,EAAAG,GAAA,EACK,UAAA;AAAA,gBAAAR,EAAQ,wBAAOS,GAAA,CAAA,CAAU;AAAA,gBACzBV,EAAO,MAAM,gBAAAG,EAACQ,GAAA,CAAA,CAAc;AAAA,kCAC5BC,GAAA,CAAA,CAAO;AAAA,cAAA,GACZ;AAAA,cAEJ,WACI,gBAAAN,EAAAG,GAAA,EACI,UAAA;AAAA,gBAAA,gBAAAN,EAACU,GAAA,EAAiB;AAAA,kCACjBC,GAAA,EAAa;AAAA,kCACbC,GAAA,EAAU;AAAA,gBACX,gBAAAZ,EAACa,GAAA,EAAoB,WAAW,GAAA,CAAO;AAAA,cAAA,EAAA,CAC3C;AAAA,YAAA;AAAA,UAAA;AAAA,UAGR,gBAAAb,EAAC,OAAA,EAAI,WAAU,kCACV,UAAAJ,EAAA,CACL;AAAA,QAAA,EAAA,CACJ;AAAA,MAAA,EAAA,CACJ;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
1
+ {"version":3,"file":"CollapsibleSide.js","sources":["../../../../../../lib/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.tsx"],"sourcesContent":["import SideNav from \"@/components/template/SideNav\";\nimport Header from \"@/components/template/Header\";\nimport SideNavToggle from \"@/components/template/SideNavToggle\";\nimport MobileNav from \"@/components/template/MobileNav\";\nimport Search from \"@/components/template/Search\";\nimport LanguageSelector from \"@/components/template/LanguageSelector\";\nimport Notification from \"@/components/template/Notification\";\nimport UserProfileDropdown from \"@/components/template/UserProfileDropdown\";\nimport SidePanel from \"@/components/template/SidePanel\";\nimport LayoutBase from \"@/components/template/LayoutBase\";\nimport useResponsive from \"@/utils/hooks/useResponsive\";\nimport { LAYOUT_COLLAPSIBLE_SIDE } from \"@/constants/theme.constant\";\nimport type { CommonProps } from \"@/@types/common\";\nimport { LinkRenderer } from \"../../Layouts\";\n\ninterface CollapsibleSideProps extends CommonProps {\n linkRenderer?: LinkRenderer;\n}\n\nconst CollapsibleSide = ({ children, linkRenderer }: CollapsibleSideProps) => {\n const { larger, smaller } = useResponsive();\n\n return (\n <LayoutBase\n type={LAYOUT_COLLAPSIBLE_SIDE}\n className=\"app-layout-collapsible-side flex flex-auto flex-col\"\n >\n <div className=\"flex min-w-0 flex-auto\">\n {larger.lg && <SideNav linkRenderer={linkRenderer} />}\n <div className=\"relative flex min-h-screen w-full min-w-0 flex-auto flex-col\">\n <Header\n linkRenderer={linkRenderer}\n className=\"shadow dark:shadow-2xl\"\n headerStart={\n <>\n {smaller.lg && <MobileNav linkRenderer={linkRenderer} />}\n {larger.lg && <SideNavToggle />}\n <Search />\n </>\n }\n headerEnd={\n <>\n <LanguageSelector />\n <Notification />\n <SidePanel />\n <UserProfileDropdown hoverable={false} />\n </>\n }\n />\n <div className=\"flex h-full flex-auto flex-col\">{children}</div>\n </div>\n </div>\n </LayoutBase>\n );\n};\n\nexport default CollapsibleSide;\n"],"names":["CollapsibleSide","children","linkRenderer","larger","smaller","useResponsive","jsx","LayoutBase","LAYOUT_COLLAPSIBLE_SIDE","jsxs","SideNav","Header","Fragment","MobileNav","SideNavToggle","Search","LanguageSelector","Notification","SidePanel","UserProfileDropdown"],"mappings":";;;;;;;;;;;;;;;AAmBA,MAAMA,IAAkB,CAAC,EAAE,UAAAC,GAAU,cAAAC,QAAyC;AAC5E,QAAM,EAAE,QAAAC,GAAQ,SAAAC,EAAA,IAAYC,EAAA;AAE5B,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMC;AAAA,MACN,WAAU;AAAA,MAEV,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,0BACZ,UAAA;AAAA,QAAAN,EAAO,MAAM,gBAAAG,EAACI,GAAA,EAAQ,cAAAR,EAAA,CAA4B;AAAA,QACnD,gBAAAO,EAAC,OAAA,EAAI,WAAU,gEACb,UAAA;AAAA,UAAA,gBAAAH;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,cAAAT;AAAA,cACA,WAAU;AAAA,cACV,aACE,gBAAAO,EAAAG,GAAA,EACG,UAAA;AAAA,gBAAAR,EAAQ,MAAM,gBAAAE,EAACO,GAAA,EAAU,cAAAX,EAAA,CAA4B;AAAA,gBACrDC,EAAO,MAAM,gBAAAG,EAACQ,GAAA,CAAA,CAAc;AAAA,kCAC5BC,GAAA,CAAA,CAAO;AAAA,cAAA,GACV;AAAA,cAEF,WACE,gBAAAN,EAAAG,GAAA,EACE,UAAA;AAAA,gBAAA,gBAAAN,EAACU,GAAA,EAAiB;AAAA,kCACjBC,GAAA,EAAa;AAAA,kCACbC,GAAA,EAAU;AAAA,gBACX,gBAAAZ,EAACa,GAAA,EAAoB,WAAW,GAAA,CAAO;AAAA,cAAA,EAAA,CACzC;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJ,gBAAAb,EAAC,OAAA,EAAI,WAAU,kCAAkC,UAAAL,EAAA,CAAS;AAAA,QAAA,EAAA,CAC5D;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,11 @@
1
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
+ import "../../assets/index.js";
3
+ import o from "../../assets/svg/SpaceSignBoard.js";
4
+ const l = ({ children: t }) => /* @__PURE__ */ r("div", { className: "h-full flex flex-col items-center justify-center", children: [
5
+ /* @__PURE__ */ e(o, { height: 280, width: 280 }),
6
+ /* @__PURE__ */ e("div", { className: "mt-10 text-center", children: t })
7
+ ] });
8
+ export {
9
+ l as default
10
+ };
11
+ //# sourceMappingURL=RouteNotFound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteNotFound.js","sources":["../../../../lib/@ecme/components/layouts/RouteNotFound.tsx"],"sourcesContent":["// client-core/src/components/layouts/BaseNotFoundLayout.tsx\n\nimport type { ReactNode } from \"react\";\nimport { SpaceSignBoard } from \"@/assets\";\n\ninterface BaseNotFoundLayoutProps {\n children: ReactNode;\n}\n\nconst RouteNotFound = ({ children }: BaseNotFoundLayoutProps) => {\n return (\n <div className=\"h-full flex flex-col items-center justify-center\">\n <SpaceSignBoard height={280} width={280} />\n <div className=\"mt-10 text-center\">{children}</div>\n </div>\n );\n};\n\nexport default RouteNotFound;\n"],"names":["RouteNotFound","children","jsxs","jsx","SpaceSignBoard"],"mappings":";;;AASA,MAAMA,IAAgB,CAAC,EAAE,UAAAC,QAErB,gBAAAC,EAAC,OAAA,EAAI,WAAU,oDACb,UAAA;AAAA,EAAA,gBAAAC,EAACC,GAAA,EAAe,QAAQ,KAAK,OAAO,KAAK;AAAA,EACzC,gBAAAD,EAAC,OAAA,EAAI,WAAU,qBAAqB,UAAAF,EAAA,CAAS;AAAA,GAC/C;"}
@@ -1,33 +1,35 @@
1
1
  import { jsx as e, jsxs as h } from "react/jsx-runtime";
2
- import r from "../../utils/classNames.js";
3
- import { HEADER_HEIGHT as o } from "../../constants/theme.constant.js";
4
- const N = (d) => {
2
+ import n from "../../utils/classNames.js";
3
+ import { HEADER_HEIGHT as p } from "../../constants/theme.constant.js";
4
+ import u, { Children as f, cloneElement as N } from "react";
5
+ const R = (d) => {
5
6
  const {
6
- headerStart: s,
7
+ headerStart: a,
7
8
  headerEnd: i,
8
- headerMiddle: a,
9
- className: t,
9
+ headerMiddle: t,
10
+ className: s,
10
11
  container: c,
11
- wrapperClass: n
12
- } = d;
13
- return /* @__PURE__ */ e("header", { className: r("header", t), children: /* @__PURE__ */ h(
12
+ wrapperClass: l,
13
+ linkRenderer: o
14
+ } = d, m = () => a ? f.map(a, (r) => u.isValidElement(r) ? N(r, { linkRenderer: o }) : r) : null;
15
+ return /* @__PURE__ */ e("header", { className: n("header", s), children: /* @__PURE__ */ h(
14
16
  "div",
15
17
  {
16
- className: r(
18
+ className: n(
17
19
  "header-wrapper",
18
20
  c && "container mx-auto",
19
- n
21
+ l
20
22
  ),
21
- style: { height: o },
23
+ style: { height: p },
22
24
  children: [
23
- /* @__PURE__ */ e("div", { className: "header-action header-action-start", children: s }),
24
- a && /* @__PURE__ */ e("div", { className: "header-action header-action-middle", children: a }),
25
+ /* @__PURE__ */ e("div", { className: "header-action header-action-start", children: m() }),
26
+ t && /* @__PURE__ */ e("div", { className: "header-action header-action-middle", children: t }),
25
27
  /* @__PURE__ */ e("div", { className: "header-action header-action-end", children: i })
26
28
  ]
27
29
  }
28
30
  ) });
29
31
  };
30
32
  export {
31
- N as default
33
+ R as default
32
34
  };
33
35
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../lib/@ecme/components/template/Header.tsx"],"sourcesContent":["import classNames from '@/utils/classNames'\nimport { HEADER_HEIGHT } from '@/constants/theme.constant'\nimport type { ReactNode } from 'react'\nimport type { CommonProps } from '@/@types/common'\n\ninterface HeaderProps extends CommonProps {\n headerStart?: ReactNode\n headerEnd?: ReactNode\n headerMiddle?: ReactNode\n container?: boolean\n wrapperClass?: string\n}\n\nconst Header = (props: HeaderProps) => {\n const {\n headerStart,\n headerEnd,\n headerMiddle,\n className,\n container,\n wrapperClass,\n } = props\n\n return (\n <header className={classNames('header', className)}>\n <div\n className={classNames(\n 'header-wrapper',\n container && 'container mx-auto',\n wrapperClass,\n )}\n style={{ height: HEADER_HEIGHT }}\n >\n <div className=\"header-action header-action-start\">\n {headerStart}\n </div>\n {headerMiddle && (\n <div className=\"header-action header-action-middle\">\n {headerMiddle}\n </div>\n )}\n <div className=\"header-action header-action-end\">\n {headerEnd}\n </div>\n </div>\n </header>\n )\n}\n\nexport default Header\n"],"names":["Header","props","headerStart","headerEnd","headerMiddle","className","container","wrapperClass","classNames","jsxs","HEADER_HEIGHT","jsx"],"mappings":";;;AAaA,MAAMA,IAAS,CAACC,MAAuB;AACnC,QAAM;AAAA,IACF,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACAN;AAEJ,2BACK,UAAA,EAAO,WAAWO,EAAW,UAAUH,CAAS,GAC7C,UAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWD;AAAA,QACP;AAAA,QACAF,KAAa;AAAA,QACbC;AAAA,MAAA;AAAA,MAEJ,OAAO,EAAE,QAAQG,EAAA;AAAA,MAEjB,UAAA;AAAA,QAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,qCACV,UAAAT,GACL;AAAA,QACCE,KACG,gBAAAO,EAAC,OAAA,EAAI,WAAU,sCACV,UAAAP,GACL;AAAA,QAEJ,gBAAAO,EAAC,OAAA,EAAI,WAAU,mCACV,UAAAR,EAAA,CACL;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAER;AAER;"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../lib/@ecme/components/template/Header.tsx"],"sourcesContent":["import classNames from \"@/utils/classNames\";\nimport { HEADER_HEIGHT } from \"@/constants/theme.constant\";\nimport React, { Children, cloneElement, type ReactNode } from \"react\";\nimport type { CommonProps } from \"@/@types/common\";\nimport { LinkRenderer } from \"../layouts/Layouts\";\n\ninterface HeaderProps extends CommonProps {\n headerStart?: ReactNode;\n headerEnd?: ReactNode;\n headerMiddle?: ReactNode;\n container?: boolean;\n wrapperClass?: string;\n linkRenderer?: LinkRenderer;\n}\n\nconst Header = (props: HeaderProps) => {\n const {\n headerStart,\n headerEnd,\n headerMiddle,\n className,\n container,\n wrapperClass,\n linkRenderer,\n } = props;\n\n const renderHeaderStart = () => {\n if (!headerStart) {\n return null;\n }\n return Children.map(headerStart, (child) => {\n if (React.isValidElement(child)) {\n return cloneElement(child as React.ReactElement<any>, { linkRenderer });\n }\n return child;\n });\n };\n\n return (\n <header className={classNames(\"header\", className)}>\n <div\n className={classNames(\n \"header-wrapper\",\n container && \"container mx-auto\",\n wrapperClass\n )}\n style={{ height: HEADER_HEIGHT }}\n >\n <div className=\"header-action header-action-start\">\n {renderHeaderStart()}\n </div>\n {headerMiddle && (\n <div className=\"header-action header-action-middle\">\n {headerMiddle}\n </div>\n )}\n <div className=\"header-action header-action-end\">{headerEnd}</div>\n </div>\n </header>\n );\n};\n\nexport default Header;\n"],"names":["Header","props","headerStart","headerEnd","headerMiddle","className","container","wrapperClass","linkRenderer","renderHeaderStart","Children","child","React","cloneElement","classNames","jsxs","HEADER_HEIGHT","jsx"],"mappings":";;;;AAeA,MAAMA,IAAS,CAACC,MAAuB;AACrC,QAAM;AAAA,IACJ,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEP,GAEEQ,IAAoB,MACnBP,IAGEQ,EAAS,IAAIR,GAAa,CAACS,MAC5BC,EAAM,eAAeD,CAAK,IACrBE,EAAaF,GAAkC,EAAE,cAAAH,GAAc,IAEjEG,CACR,IAPQ;AAUX,2BACG,UAAA,EAAO,WAAWG,EAAW,UAAUT,CAAS,GAC/C,UAAA,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWD;AAAA,QACT;AAAA,QACAR,KAAa;AAAA,QACbC;AAAA,MAAA;AAAA,MAEF,OAAO,EAAE,QAAQS,EAAA;AAAA,MAEjB,UAAA;AAAA,QAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,qCACZ,UAAAR,EAAA,GACH;AAAA,QACCL,KACC,gBAAAa,EAAC,OAAA,EAAI,WAAU,sCACZ,UAAAb,GACH;AAAA,QAEF,gBAAAa,EAAC,OAAA,EAAI,WAAU,mCAAmC,UAAAd,EAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEhE;AAEJ;"}
@@ -119,10 +119,7 @@ const C = {
119
119
  path: s.path,
120
120
  isExternalLink: s.isExternalLink,
121
121
  icon: k[s.icon] || /* @__PURE__ */ e(f, {}),
122
- title: n(
123
- s.translateKey,
124
- s.title
125
- ),
122
+ title: n(s.translateKey, s.title),
126
123
  description: n(
127
124
  ((y = (m = s.meta) == null ? void 0 : m.description) == null ? void 0 : y.translateKey) || "",
128
125
  ((b = (t = s.meta) == null ? void 0 : t.description) == null ? void 0 : b.label) || ""
@@ -212,10 +209,7 @@ const C = {
212
209
  /* @__PURE__ */ e(T, { icon: r.icon }),
213
210
  /* @__PURE__ */ e("span", { children: o(r.translateKey, r.title) })
214
211
  ] }),
215
- children: r.subMenu && r.subMenu.length > 0 && p(
216
- r.subMenu,
217
- g
218
- )
212
+ children: r.subMenu && r.subMenu.length > 0 && p(r.subMenu, g)
219
213
  }
220
214
  )
221
215
  ] })
@@ -265,10 +259,7 @@ const C = {
265
259
  }
266
260
  ) }),
267
261
  /* @__PURE__ */ a("div", { className: "min-w-0", children: [
268
- /* @__PURE__ */ e("div", { className: "heading-text font-bold", children: o(
269
- t.translateKey,
270
- t.title
271
- ) }),
262
+ /* @__PURE__ */ e("div", { className: "heading-text font-bold", children: o(t.translateKey, t.title) }),
272
263
  /* @__PURE__ */ e("div", { className: "text-xs truncate", children: o(
273
264
  ((E = (b = t.meta) == null ? void 0 : b.description) == null ? void 0 : E.translateKey) || "",
274
265
  ((M = (K = t.meta) == null ? void 0 : K.description) == null ? void 0 : M.label) || ""
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalMenuDropdownContent.js","sources":["../../../../../lib/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Avatar from '@/components/ui/Avatar'\nimport Dropdown from '@/components/ui/Dropdown'\nimport HorizontalMenuNavLink from './HorizontalMenuNavLink'\nimport AuthorityCheck from '@/components/shared/AuthorityCheck'\nimport classNames from '@/utils/classNames'\nimport {\n NAV_ITEM_TYPE_COLLAPSE,\n NAV_ITEM_TYPE_ITEM,\n} from '@/constants/navigation.constant'\nimport navigationIcon from '@/configs/navigation-icon.config'\nimport { TbCircle } from 'react-icons/tb'\nimport type { CommonProps, TraslationFn } from '@/@types/common'\nimport type { NavigationTree, HorizontalMenuMeta } from '@/@types/navigation'\nimport type { ReactNode, HTMLProps } from 'react'\n\ninterface LayoutProps extends CommonProps {\n navigationTree: NavigationTree[]\n t: TraslationFn\n onDropdownClose: () => void\n routeKey: string\n routeParentKey?: string\n userAuthority: string[]\n}\n\ninterface HorizontalMenuDropdownContentProps extends LayoutProps {\n layoutMeta?: HorizontalMenuMeta\n}\n\nconst gridClasses = {\n 1: {\n grid: 'grid-cols-1',\n width: 'w-[150px]',\n },\n 2: {\n grid: 'grid-cols-2',\n width: 'w-[350px]',\n },\n 3: {\n grid: 'grid-cols-3',\n width: 'w-[750px]',\n },\n 4: {\n grid: 'grid-cols-4',\n width: 'w-[950px]',\n },\n 5: {\n grid: 'grid-cols-5',\n width: 'w-[1150px]',\n },\n}\n\nconst MenuItem = ({\n children,\n className,\n active,\n ...rest\n}: CommonProps & { active?: boolean } & HTMLProps<HTMLDivElement>) => {\n return (\n <div\n className={classNames(\n 'cursor-pointer font-semibold px-3 rounded-lg flex items-center w-full whitespace-nowrap gap-x-2 transition-colors duration-150 hover:text-gray-900 hover:bg-gray-100 dark:hover:text-gray-100 dark:hover:bg-gray-800',\n active && 'bg-gray-100 dark:bg-gray-800',\n className,\n )}\n role=\"menuitem\"\n {...rest}\n >\n {children}\n </div>\n )\n}\n\nconst MenuIcon = ({ icon }: { icon: string }) => {\n if (typeof icon !== 'string' && !icon) {\n return <></>\n }\n\n return (\n <>\n {navigationIcon[icon] && (\n <span className={`text-xl`}>\n {navigationIcon[icon] || <TbCircle />}\n </span>\n )}\n </>\n )\n}\n\nconst MenuLink = ({\n path,\n isExternalLink,\n onClick,\n icon,\n title,\n description,\n active,\n}: {\n path: string\n isExternalLink?: boolean\n onClick: () => void\n icon: ReactNode\n title: string\n description: string\n active?: boolean\n}) => (\n <HorizontalMenuNavLink\n path={path}\n isExternalLink={isExternalLink}\n className=\"gap-2 block\"\n onClick={onClick}\n >\n <MenuItem className=\"py-2 px-2 gap-3\" active={active}>\n <div>\n <Avatar\n className={classNames(\n 'bg-white dark:bg-transparent p-2 border-2 border-gray-200 dark:border-gray-600',\n active ? 'text-primary' : 'heading-text',\n )}\n size={40}\n icon={icon}\n shape=\"round\"\n />\n </div>\n <div className=\"min-w-0\">\n <div className=\"heading-text font-bold\">{title}</div>\n <div className=\"text-xs truncate\">{description}</div>\n </div>\n </MenuItem>\n </HorizontalMenuNavLink>\n)\n\nconst ColumnsLayout = (\n props: LayoutProps & {\n columns: 1 | 2 | 3 | 4 | 5\n showColumnTitle?: boolean\n },\n) => {\n const {\n navigationTree,\n t,\n onDropdownClose,\n columns = 1,\n showColumnTitle = true,\n routeKey,\n userAuthority,\n } = props\n\n return (\n <div className=\"flex max-w-[1400px] w-full\">\n <div\n className={classNames(\n 'grid gap-y-6 gap-x-8 p-6 flex-1',\n gridClasses[columns]?.grid,\n )}\n >\n {navigationTree.map((nav) => {\n if (nav.subMenu.length > 0) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <div className=\"max-w-[250px]\">\n {showColumnTitle && (\n <div className=\"heading-text font-bold mb-2\">\n {t(nav.translateKey, nav.title)}\n </div>\n )}\n {nav.subMenu.map((subNav) => (\n <AuthorityCheck\n key={subNav.key}\n userAuthority={userAuthority}\n authority={subNav.authority}\n >\n <div key={subNav.key}>\n <MenuLink\n path={subNav.path}\n isExternalLink={\n subNav.isExternalLink\n }\n icon={\n navigationIcon[\n subNav.icon\n ] || <TbCircle />\n }\n title={t(\n subNav.translateKey,\n subNav.title,\n )}\n description={t(\n subNav.meta?.description\n ?.translateKey ||\n '',\n subNav.meta?.description\n ?.label || '',\n )}\n active={\n subNav.key === routeKey\n }\n onClick={onDropdownClose}\n />\n </div>\n </AuthorityCheck>\n ))}\n </div>\n </AuthorityCheck>\n )\n }\n return null\n })}\n </div>\n {navigationTree.some((nav) => nav.type === NAV_ITEM_TYPE_ITEM) && (\n <div\n className={classNames(\n 'ltr:border-l rtl:border-r border-gray-200 dark:border-gray-800 min-w-[280px] p-4 flex flex-col',\n )}\n >\n {navigationTree.map((nav) => {\n if (\n nav.subMenu.length === 0 &&\n nav.type === NAV_ITEM_TYPE_ITEM\n ) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <MenuLink\n key={nav.key}\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n icon={\n navigationIcon[nav.icon] || (\n <TbCircle />\n )\n }\n title={t(nav.translateKey, nav.title)}\n description={t(\n nav.meta?.description\n ?.translateKey || '',\n nav.meta?.description?.label || '',\n )}\n active={nav.key === routeKey}\n onClick={onDropdownClose}\n />\n </AuthorityCheck>\n )\n }\n return null\n })}\n </div>\n )}\n </div>\n )\n}\n\nconst DefaultLayout = ({\n navigationTree,\n t,\n onDropdownClose,\n routeKey,\n userAuthority,\n}: LayoutProps) => {\n const renderNavigation = (navTree: NavigationTree[], cascade: number) => {\n const nextCascade = cascade + 1\n\n return (\n <div className={classNames(cascade === 0 && 'p-3')}>\n {navTree.map((nav) => (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <ul>\n {nav.type === NAV_ITEM_TYPE_ITEM && (\n <Dropdown.Item active={routeKey === nav.key}>\n <HorizontalMenuNavLink\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n className=\"gap-2 h-full\"\n onClick={onDropdownClose}\n >\n <MenuIcon icon={nav.icon} />\n <span>\n {t(nav.translateKey, nav.title)}\n </span>\n </HorizontalMenuNavLink>\n </Dropdown.Item>\n )}\n {nav.type === NAV_ITEM_TYPE_COLLAPSE && (\n <Dropdown\n renderTitle={\n <span className=\"flex items-center gap-2\">\n <MenuIcon icon={nav.icon} />\n <span>\n {t(nav.translateKey, nav.title)}\n </span>\n </span>\n }\n >\n {nav.subMenu &&\n nav.subMenu.length > 0 &&\n renderNavigation(\n nav.subMenu,\n nextCascade,\n )}\n </Dropdown>\n )}\n </ul>\n </AuthorityCheck>\n ))}\n </div>\n )\n }\n\n return <>{renderNavigation(navigationTree, 0)}</>\n}\n\nconst TabLayout = ({\n navigationTree,\n t,\n onDropdownClose,\n columns,\n routeKey,\n userAuthority,\n routeParentKey,\n}: LayoutProps & { columns: 1 | 2 | 3 | 4 | 5 }) => {\n const [activeKey, setActiveKey] = useState(\n navigationTree.some((nav) => nav.key === routeParentKey)\n ? routeParentKey\n : navigationTree[0]?.key || '',\n )\n\n return (\n <div className=\"flex\">\n <div className=\"p-4\">\n {navigationTree.map((nav) => {\n if (nav.subMenu.length > 0) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <div className=\"min-w-[250px]\">\n <div key={nav.key}>\n <MenuItem\n className=\"py-2 px-2 gap-3\"\n active={nav.key === activeKey}\n onClick={() =>\n setActiveKey(nav.key)\n }\n >\n <div>\n <Avatar\n className={classNames(\n 'bg-white dark:bg-transparent p-2 border-2 border-gray-200 dark:border-gray-600',\n nav.key === routeKey\n ? 'text-primary'\n : 'heading-text',\n )}\n size={40}\n icon={\n navigationIcon[\n nav.icon\n ] || <TbCircle />\n }\n shape=\"round\"\n />\n </div>\n <div className=\"min-w-0\">\n <div className=\"heading-text font-bold\">\n {t(\n nav.translateKey,\n nav.title,\n )}\n </div>\n <div className=\"text-xs truncate\">\n {t(\n nav.meta?.description\n ?.translateKey ||\n '',\n nav.meta?.description\n ?.label || '',\n )}\n </div>\n </div>\n </MenuItem>\n </div>\n </div>\n </AuthorityCheck>\n )\n }\n return null\n })}\n </div>\n {navigationTree.some(\n (nav) =>\n nav.key === activeKey &&\n nav.type === NAV_ITEM_TYPE_COLLAPSE,\n ) && (\n <div className=\"ltr:border-l rtl:border-r border-gray-200 dark:border-gray-800 p-6\">\n <div\n className={classNames(\n 'grid gap-x-8 flex-1',\n gridClasses[columns]?.grid,\n gridClasses[columns]?.width,\n )}\n >\n {navigationTree\n .find((nav) => nav.key === activeKey)\n ?.subMenu.map((nav) => (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <HorizontalMenuNavLink\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n className=\"gap-2 group\"\n onClick={() => onDropdownClose()}\n >\n <div\n className={classNames(\n 'flex items-center gap-2 h-[42px] heading-text group-hover:text-primary',\n routeKey === nav.key &&\n 'text-primary',\n )}\n >\n <span className=\"text-xl\">\n {navigationIcon[nav.icon] || (\n <TbCircle />\n )}\n </span>\n <span>\n {t(nav.translateKey, nav.title)}\n </span>\n </div>\n </HorizontalMenuNavLink>\n </AuthorityCheck>\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n\nconst HorizontalMenuDropdownContent = (\n props: HorizontalMenuDropdownContentProps,\n) => {\n const { style, navigationTree, layoutMeta, ...rest } = props\n\n return (\n <div\n className=\"rounded-2xl bg-white dark:bg-gray-900 ring-0 shadow-[0px_48px_64px_-16px_rgba(0,0,0,0.25)] border border-gray-100 dark:border-gray-800 focus:outline-none min-w-[180px]\"\n style={style}\n >\n {layoutMeta?.layout === 'default' && (\n <DefaultLayout navigationTree={navigationTree} {...rest} />\n )}\n {layoutMeta?.layout === 'columns' && (\n <ColumnsLayout\n navigationTree={navigationTree}\n columns={layoutMeta.columns}\n showColumnTitle={layoutMeta.showColumnTitle}\n {...rest}\n />\n )}\n {layoutMeta?.layout === 'tabs' && (\n <TabLayout\n navigationTree={navigationTree}\n columns={layoutMeta.columns}\n {...rest}\n />\n )}\n {!layoutMeta && (\n <DefaultLayout navigationTree={navigationTree} {...rest} />\n )}\n </div>\n )\n}\n\nexport default HorizontalMenuDropdownContent\n"],"names":["gridClasses","MenuItem","children","className","active","rest","jsx","classNames","MenuIcon","icon","Fragment","navigationIcon","TbCircle","MenuLink","path","isExternalLink","onClick","title","description","HorizontalMenuNavLink","jsxs","Avatar","ColumnsLayout","props","navigationTree","t","onDropdownClose","columns","showColumnTitle","routeKey","userAuthority","_a","nav","AuthorityCheck","subNav","_b","_d","_c","NAV_ITEM_TYPE_ITEM","DefaultLayout","renderNavigation","navTree","cascade","nextCascade","Dropdown","NAV_ITEM_TYPE_COLLAPSE","TabLayout","routeParentKey","activeKey","setActiveKey","useState","HorizontalMenuDropdownContent","style","layoutMeta"],"mappings":"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"}
1
+ {"version":3,"file":"HorizontalMenuDropdownContent.js","sources":["../../../../../lib/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport Avatar from \"@/components/ui/Avatar\";\nimport Dropdown from \"@/components/ui/Dropdown\";\nimport HorizontalMenuNavLink from \"./HorizontalMenuNavLink\";\nimport AuthorityCheck from \"@/components/shared/AuthorityCheck\";\nimport classNames from \"@/utils/classNames\";\nimport {\n NAV_ITEM_TYPE_COLLAPSE,\n NAV_ITEM_TYPE_ITEM,\n} from \"@/constants/navigation.constant\";\nimport navigationIcon from \"@/configs/navigation-icon.config\";\nimport { TbCircle } from \"react-icons/tb\";\nimport type { CommonProps, TraslationFn } from \"@/@types/common\";\nimport type { NavigationTree, HorizontalMenuMeta } from \"@/@types/navigation\";\nimport type { ReactNode, HTMLProps } from \"react\";\n\ninterface LayoutProps extends CommonProps {\n navigationTree: NavigationTree[];\n t: TraslationFn;\n onDropdownClose: () => void;\n routeKey: string;\n routeParentKey?: string;\n userAuthority: string[];\n}\n\ninterface HorizontalMenuDropdownContentProps extends LayoutProps {\n layoutMeta?: HorizontalMenuMeta;\n}\n\nconst gridClasses = {\n 1: {\n grid: \"grid-cols-1\",\n width: \"w-[150px]\",\n },\n 2: {\n grid: \"grid-cols-2\",\n width: \"w-[350px]\",\n },\n 3: {\n grid: \"grid-cols-3\",\n width: \"w-[750px]\",\n },\n 4: {\n grid: \"grid-cols-4\",\n width: \"w-[950px]\",\n },\n 5: {\n grid: \"grid-cols-5\",\n width: \"w-[1150px]\",\n },\n};\n\nconst MenuItem = ({\n children,\n className,\n active,\n ...rest\n}: CommonProps & { active?: boolean } & HTMLProps<HTMLDivElement>) => {\n return (\n <div\n className={classNames(\n \"cursor-pointer font-semibold px-3 rounded-lg flex items-center w-full whitespace-nowrap gap-x-2 transition-colors duration-150 hover:text-gray-900 hover:bg-gray-100 dark:hover:text-gray-100 dark:hover:bg-gray-800\",\n active && \"bg-gray-100 dark:bg-gray-800\",\n className\n )}\n role=\"menuitem\"\n {...rest}\n >\n {children}\n </div>\n );\n};\n\nconst MenuIcon = ({ icon }: { icon: string }) => {\n if (typeof icon !== \"string\" && !icon) {\n return <></>;\n }\n\n return (\n <>\n {navigationIcon[icon] && (\n <span className={`text-xl`}>\n {navigationIcon[icon] || <TbCircle />}\n </span>\n )}\n </>\n );\n};\n\nconst MenuLink = ({\n path,\n isExternalLink,\n onClick,\n icon,\n title,\n description,\n active,\n}: {\n path: string;\n isExternalLink?: boolean;\n onClick: () => void;\n icon: ReactNode;\n title: string;\n description: string;\n active?: boolean;\n}) => (\n <HorizontalMenuNavLink\n path={path}\n isExternalLink={isExternalLink}\n className=\"gap-2 block\"\n onClick={onClick}\n >\n <MenuItem className=\"py-2 px-2 gap-3\" active={active}>\n <div>\n <Avatar\n className={classNames(\n \"bg-white dark:bg-transparent p-2 border-2 border-gray-200 dark:border-gray-600\",\n active ? \"text-primary\" : \"heading-text\"\n )}\n size={40}\n icon={icon}\n shape=\"round\"\n />\n </div>\n <div className=\"min-w-0\">\n <div className=\"heading-text font-bold\">{title}</div>\n <div className=\"text-xs truncate\">{description}</div>\n </div>\n </MenuItem>\n </HorizontalMenuNavLink>\n);\n\nconst ColumnsLayout = (\n props: LayoutProps & {\n columns: 1 | 2 | 3 | 4 | 5;\n showColumnTitle?: boolean;\n }\n) => {\n const {\n navigationTree,\n t,\n onDropdownClose,\n columns = 1,\n showColumnTitle = true,\n routeKey,\n userAuthority,\n } = props;\n\n return (\n <div className=\"flex max-w-[1400px] w-full\">\n <div\n className={classNames(\n \"grid gap-y-6 gap-x-8 p-6 flex-1\",\n gridClasses[columns]?.grid\n )}\n >\n {navigationTree.map((nav) => {\n if (nav.subMenu.length > 0) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <div className=\"max-w-[250px]\">\n {showColumnTitle && (\n <div className=\"heading-text font-bold mb-2\">\n {t(nav.translateKey, nav.title)}\n </div>\n )}\n {nav.subMenu.map((subNav) => (\n <AuthorityCheck\n key={subNav.key}\n userAuthority={userAuthority}\n authority={subNav.authority}\n >\n <div key={subNav.key}>\n <MenuLink\n path={subNav.path}\n isExternalLink={subNav.isExternalLink}\n icon={navigationIcon[subNav.icon] || <TbCircle />}\n title={t(subNav.translateKey, subNav.title)}\n description={t(\n subNav.meta?.description?.translateKey || \"\",\n subNav.meta?.description?.label || \"\"\n )}\n active={subNav.key === routeKey}\n onClick={onDropdownClose}\n />\n </div>\n </AuthorityCheck>\n ))}\n </div>\n </AuthorityCheck>\n );\n }\n return null;\n })}\n </div>\n {navigationTree.some((nav) => nav.type === NAV_ITEM_TYPE_ITEM) && (\n <div\n className={classNames(\n \"ltr:border-l rtl:border-r border-gray-200 dark:border-gray-800 min-w-[280px] p-4 flex flex-col\"\n )}\n >\n {navigationTree.map((nav) => {\n if (nav.subMenu.length === 0 && nav.type === NAV_ITEM_TYPE_ITEM) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <MenuLink\n key={nav.key}\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n icon={navigationIcon[nav.icon] || <TbCircle />}\n title={t(nav.translateKey, nav.title)}\n description={t(\n nav.meta?.description?.translateKey || \"\",\n nav.meta?.description?.label || \"\"\n )}\n active={nav.key === routeKey}\n onClick={onDropdownClose}\n />\n </AuthorityCheck>\n );\n }\n return null;\n })}\n </div>\n )}\n </div>\n );\n};\n\nconst DefaultLayout = ({\n navigationTree,\n t,\n onDropdownClose,\n routeKey,\n userAuthority,\n}: LayoutProps) => {\n const renderNavigation = (navTree: NavigationTree[], cascade: number) => {\n const nextCascade = cascade + 1;\n\n return (\n <div className={classNames(cascade === 0 && \"p-3\")}>\n {navTree.map((nav) => (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <ul>\n {nav.type === NAV_ITEM_TYPE_ITEM && (\n <Dropdown.Item active={routeKey === nav.key}>\n <HorizontalMenuNavLink\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n className=\"gap-2 h-full\"\n onClick={onDropdownClose}\n >\n <MenuIcon icon={nav.icon} />\n <span>{t(nav.translateKey, nav.title)}</span>\n </HorizontalMenuNavLink>\n </Dropdown.Item>\n )}\n {nav.type === NAV_ITEM_TYPE_COLLAPSE && (\n <Dropdown\n renderTitle={\n <span className=\"flex items-center gap-2\">\n <MenuIcon icon={nav.icon} />\n <span>{t(nav.translateKey, nav.title)}</span>\n </span>\n }\n >\n {nav.subMenu &&\n nav.subMenu.length > 0 &&\n renderNavigation(nav.subMenu, nextCascade)}\n </Dropdown>\n )}\n </ul>\n </AuthorityCheck>\n ))}\n </div>\n );\n };\n\n return <>{renderNavigation(navigationTree, 0)}</>;\n};\n\nconst TabLayout = ({\n navigationTree,\n t,\n onDropdownClose,\n columns,\n routeKey,\n userAuthority,\n routeParentKey,\n}: LayoutProps & { columns: 1 | 2 | 3 | 4 | 5 }) => {\n const [activeKey, setActiveKey] = useState(\n navigationTree.some((nav) => nav.key === routeParentKey)\n ? routeParentKey\n : navigationTree[0]?.key || \"\"\n );\n\n return (\n <div className=\"flex\">\n <div className=\"p-4\">\n {navigationTree.map((nav) => {\n if (nav.subMenu.length > 0) {\n return (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <div className=\"min-w-[250px]\">\n <div key={nav.key}>\n <MenuItem\n className=\"py-2 px-2 gap-3\"\n active={nav.key === activeKey}\n onClick={() => setActiveKey(nav.key)}\n >\n <div>\n <Avatar\n className={classNames(\n \"bg-white dark:bg-transparent p-2 border-2 border-gray-200 dark:border-gray-600\",\n nav.key === routeKey\n ? \"text-primary\"\n : \"heading-text\"\n )}\n size={40}\n icon={navigationIcon[nav.icon] || <TbCircle />}\n shape=\"round\"\n />\n </div>\n <div className=\"min-w-0\">\n <div className=\"heading-text font-bold\">\n {t(nav.translateKey, nav.title)}\n </div>\n <div className=\"text-xs truncate\">\n {t(\n nav.meta?.description?.translateKey || \"\",\n nav.meta?.description?.label || \"\"\n )}\n </div>\n </div>\n </MenuItem>\n </div>\n </div>\n </AuthorityCheck>\n );\n }\n return null;\n })}\n </div>\n {navigationTree.some(\n (nav) => nav.key === activeKey && nav.type === NAV_ITEM_TYPE_COLLAPSE\n ) && (\n <div className=\"ltr:border-l rtl:border-r border-gray-200 dark:border-gray-800 p-6\">\n <div\n className={classNames(\n \"grid gap-x-8 flex-1\",\n gridClasses[columns]?.grid,\n gridClasses[columns]?.width\n )}\n >\n {navigationTree\n .find((nav) => nav.key === activeKey)\n ?.subMenu.map((nav) => (\n <AuthorityCheck\n key={nav.key}\n userAuthority={userAuthority}\n authority={nav.authority}\n >\n <HorizontalMenuNavLink\n path={nav.path}\n isExternalLink={nav.isExternalLink}\n className=\"gap-2 group\"\n onClick={() => onDropdownClose()}\n >\n <div\n className={classNames(\n \"flex items-center gap-2 h-[42px] heading-text group-hover:text-primary\",\n routeKey === nav.key && \"text-primary\"\n )}\n >\n <span className=\"text-xl\">\n {navigationIcon[nav.icon] || <TbCircle />}\n </span>\n <span>{t(nav.translateKey, nav.title)}</span>\n </div>\n </HorizontalMenuNavLink>\n </AuthorityCheck>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nconst HorizontalMenuDropdownContent = (\n props: HorizontalMenuDropdownContentProps\n) => {\n const { style, navigationTree, layoutMeta, ...rest } = props;\n\n return (\n <div\n className=\"rounded-2xl bg-white dark:bg-gray-900 ring-0 shadow-[0px_48px_64px_-16px_rgba(0,0,0,0.25)] border border-gray-100 dark:border-gray-800 focus:outline-none min-w-[180px]\"\n style={style}\n >\n {layoutMeta?.layout === \"default\" && (\n <DefaultLayout navigationTree={navigationTree} {...rest} />\n )}\n {layoutMeta?.layout === \"columns\" && (\n <ColumnsLayout\n navigationTree={navigationTree}\n columns={layoutMeta.columns}\n showColumnTitle={layoutMeta.showColumnTitle}\n {...rest}\n />\n )}\n {layoutMeta?.layout === \"tabs\" && (\n <TabLayout\n navigationTree={navigationTree}\n columns={layoutMeta.columns}\n {...rest}\n />\n )}\n {!layoutMeta && (\n <DefaultLayout navigationTree={navigationTree} {...rest} />\n )}\n </div>\n );\n};\n\nexport default HorizontalMenuDropdownContent;\n"],"names":["gridClasses","MenuItem","children","className","active","rest","jsx","classNames","MenuIcon","icon","Fragment","navigationIcon","TbCircle","MenuLink","path","isExternalLink","onClick","title","description","HorizontalMenuNavLink","jsxs","Avatar","ColumnsLayout","props","navigationTree","t","onDropdownClose","columns","showColumnTitle","routeKey","userAuthority","_a","nav","AuthorityCheck","subNav","_b","_d","_c","NAV_ITEM_TYPE_ITEM","DefaultLayout","renderNavigation","navTree","cascade","nextCascade","Dropdown","NAV_ITEM_TYPE_COLLAPSE","TabLayout","routeParentKey","activeKey","setActiveKey","useState","HorizontalMenuDropdownContent","style","layoutMeta"],"mappings":"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"}
@@ -1,36 +1,37 @@
1
- import { jsx as t, Fragment as c } from "react/jsx-runtime";
2
- import l from "../../../utils/classNames.js";
3
- import b from "./HorizontalMenuNavLink.js";
4
- const h = (a) => {
5
- const { className: n, active: s, asElement: e = "button", ...r } = a, o = {
6
- className: l(
1
+ import { jsx as e, Fragment as l } from "react/jsx-runtime";
2
+ import b from "../../../utils/classNames.js";
3
+ import d from "./HorizontalMenuNavLink.js";
4
+ const p = (n) => {
5
+ const { className: a, active: i, asElement: t = "button", ...r } = n, o = {
6
+ className: b(
7
7
  "font-semibold inline-flex h-9 w-max items-center justify-center rounded-lg bg-background px-4 py-2 dark:text-gray-300 dark:hover:text-gray-100 text-gray-900 hover:bg-gray-100 dark:hover:bg-white/10 transition-colors",
8
- n,
9
- s && "bg-gray-100 hover:bg-gray-200 dark:bg-white/10 dark:hover:bg-white/20"
8
+ a,
9
+ i && "bg-gray-100 hover:bg-gray-200 dark:bg-white/10 dark:hover:bg-white/20"
10
10
  )
11
11
  };
12
- if (e === "a") {
13
- const { path: i, isExternalLink: g, ...m } = r;
14
- return /* @__PURE__ */ t(
15
- b,
12
+ if (t === "a") {
13
+ const { path: s, isExternalLink: g, linkRenderer: m, ...c } = r;
14
+ return /* @__PURE__ */ e(
15
+ d,
16
16
  {
17
- path: i,
17
+ linkRenderer: m,
18
+ path: s,
18
19
  isExternalLink: g,
19
20
  ...o,
20
- ...m
21
+ ...c
21
22
  }
22
23
  );
23
24
  }
24
- return e === "button" ? /* @__PURE__ */ t(
25
+ return t === "button" ? /* @__PURE__ */ e(
25
26
  "button",
26
27
  {
27
28
  ref: r.ref,
28
29
  ...o,
29
30
  ...r
30
31
  }
31
- ) : /* @__PURE__ */ t(c, {});
32
+ ) : /* @__PURE__ */ e(l, {});
32
33
  };
33
34
  export {
34
- h as default
35
+ p as default
35
36
  };
36
37
  //# sourceMappingURL=HorizontalMenuDropdownTrigger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalMenuDropdownTrigger.js","sources":["../../../../../lib/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownTrigger.tsx"],"sourcesContent":["import classNames from '@/utils/classNames'\nimport HorizontalMenuNavLink from './HorizontalMenuNavLink'\nimport type { CommonProps } from '@/@types/common'\nimport type { HorizontalMenuNavLinkProps } from './HorizontalMenuNavLink'\nimport type { ButtonHTMLAttributes, Ref } from 'react'\n\ninterface HorizontalMenuDropdownTriggerCommonProps extends CommonProps {\n active?: boolean\n}\n\ninterface ButtonProps\n extends HorizontalMenuDropdownTriggerCommonProps,\n ButtonHTMLAttributes<HTMLButtonElement> {\n asElement?: 'button'\n ref?: Ref<HTMLButtonElement>\n}\n\ninterface AnchorProps\n extends HorizontalMenuNavLinkProps,\n HorizontalMenuDropdownTriggerCommonProps {\n asElement?: 'a'\n path: string\n isExternalLink?: boolean\n}\n\ntype HorizontalMenuDropdownTriggerProps = ButtonProps | AnchorProps\n\nconst HorizontalMenuDropdownTrigger = (\n props: HorizontalMenuDropdownTriggerProps,\n) => {\n const { className, active, asElement = 'button', ...rest } = props\n const commonProps = {\n className: classNames(\n 'font-semibold inline-flex h-9 w-max items-center justify-center rounded-lg bg-background px-4 py-2 dark:text-gray-300 dark:hover:text-gray-100 text-gray-900 hover:bg-gray-100 dark:hover:bg-white/10 transition-colors',\n className,\n active &&\n 'bg-gray-100 hover:bg-gray-200 dark:bg-white/10 dark:hover:bg-white/20',\n ),\n }\n\n if (asElement === 'a') {\n const { path, isExternalLink, ...anchorProps } = rest as AnchorProps\n return (\n <HorizontalMenuNavLink\n path={path as string}\n isExternalLink={isExternalLink}\n {...commonProps}\n {...anchorProps}\n />\n )\n }\n\n if (asElement === 'button') {\n return (\n <button\n ref={(rest as ButtonProps).ref}\n {...commonProps}\n {...(rest as ButtonProps)}\n />\n )\n }\n\n return <></>\n}\n\nexport default HorizontalMenuDropdownTrigger\n"],"names":["HorizontalMenuDropdownTrigger","props","className","active","asElement","rest","commonProps","classNames","path","isExternalLink","anchorProps","jsx","HorizontalMenuNavLink","Fragment"],"mappings":";;;AA2BA,MAAMA,IAAgC,CAClCC,MACC;AACD,QAAM,EAAE,WAAAC,GAAW,QAAAC,GAAQ,WAAAC,IAAY,UAAU,GAAGC,MAASJ,GACvDK,IAAc;AAAA,IAChB,WAAWC;AAAA,MACP;AAAA,MACAL;AAAA,MACAC,KACI;AAAA,IAAA;AAAA,EACR;AAGJ,MAAIC,MAAc,KAAK;AACnB,UAAM,EAAE,MAAAI,GAAM,gBAAAC,GAAgB,GAAGC,MAAgBL;AACjD,WACI,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,MAAAJ;AAAA,QACA,gBAAAC;AAAA,QACC,GAAGH;AAAA,QACH,GAAGI;AAAA,MAAA;AAAA,IAAA;AAAA,EACR;AAIR,SAAIN,MAAc,WAEV,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAMN,EAAqB;AAAA,MAC1B,GAAGC;AAAA,MACH,GAAID;AAAA,IAAA;AAAA,EAAA,IAKV,gBAAAM,EAAAE,GAAA,EAAE;AACb;"}
1
+ {"version":3,"file":"HorizontalMenuDropdownTrigger.js","sources":["../../../../../lib/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownTrigger.tsx"],"sourcesContent":["import classNames from \"@/utils/classNames\";\nimport HorizontalMenuNavLink from \"./HorizontalMenuNavLink\";\nimport type { CommonProps } from \"@/@types/common\";\nimport type { HorizontalMenuNavLinkProps } from \"./HorizontalMenuNavLink\";\nimport type { ButtonHTMLAttributes, Ref } from \"react\";\n\ninterface HorizontalMenuDropdownTriggerCommonProps extends CommonProps {\n active?: boolean;\n}\n\ninterface ButtonProps\n extends HorizontalMenuDropdownTriggerCommonProps,\n ButtonHTMLAttributes<HTMLButtonElement> {\n asElement?: \"button\";\n ref?: Ref<HTMLButtonElement>;\n}\n\ninterface AnchorProps\n extends HorizontalMenuNavLinkProps,\n HorizontalMenuDropdownTriggerCommonProps {\n asElement?: \"a\";\n path: string;\n isExternalLink?: boolean;\n linkRenderer?: HorizontalMenuNavLinkProps[\"linkRenderer\"];\n}\n\ntype HorizontalMenuDropdownTriggerProps = ButtonProps | AnchorProps;\n\nconst HorizontalMenuDropdownTrigger = (\n props: HorizontalMenuDropdownTriggerProps\n) => {\n const { className, active, asElement = \"button\", ...rest } = props;\n const commonProps = {\n className: classNames(\n \"font-semibold inline-flex h-9 w-max items-center justify-center rounded-lg bg-background px-4 py-2 dark:text-gray-300 dark:hover:text-gray-100 text-gray-900 hover:bg-gray-100 dark:hover:bg-white/10 transition-colors\",\n className,\n active &&\n \"bg-gray-100 hover:bg-gray-200 dark:bg-white/10 dark:hover:bg-white/20\"\n ),\n };\n\n if (asElement === \"a\") {\n const { path, isExternalLink, linkRenderer, ...anchorProps } =\n rest as AnchorProps;\n return (\n <HorizontalMenuNavLink\n linkRenderer={linkRenderer}\n path={path as string}\n isExternalLink={isExternalLink}\n {...commonProps}\n {...anchorProps}\n />\n );\n }\n\n if (asElement === \"button\") {\n return (\n <button\n ref={(rest as ButtonProps).ref}\n {...commonProps}\n {...(rest as ButtonProps)}\n />\n );\n }\n\n return <></>;\n};\n\nexport default HorizontalMenuDropdownTrigger;\n"],"names":["HorizontalMenuDropdownTrigger","props","className","active","asElement","rest","commonProps","classNames","path","isExternalLink","linkRenderer","anchorProps","jsx","HorizontalMenuNavLink","Fragment"],"mappings":";;;AA4BA,MAAMA,IAAgC,CACpCC,MACG;AACH,QAAM,EAAE,WAAAC,GAAW,QAAAC,GAAQ,WAAAC,IAAY,UAAU,GAAGC,MAASJ,GACvDK,IAAc;AAAA,IAClB,WAAWC;AAAA,MACT;AAAA,MACAL;AAAA,MACAC,KACE;AAAA,IAAA;AAAA,EACJ;AAGF,MAAIC,MAAc,KAAK;AACrB,UAAM,EAAE,MAAAI,GAAM,gBAAAC,GAAgB,cAAAC,GAAc,GAAGC,MAC7CN;AACF,WACE,gBAAAO;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,cAAAH;AAAA,QACA,MAAAF;AAAA,QACA,gBAAAC;AAAA,QACC,GAAGH;AAAA,QACH,GAAGK;AAAA,MAAA;AAAA,IAAA;AAAA,EACN;AAIJ,SAAIP,MAAc,WAEd,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAMP,EAAqB;AAAA,MAC1B,GAAGC;AAAA,MACH,GAAID;AAAA,IAAA;AAAA,EAAA,IAKJ,gBAAAO,EAAAE,GAAA,EAAE;AACX;"}