@shadow-library/ui 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/AppLayout/AppLayout.d.ts +9 -7
- package/components/AppLayout/AppLayout.js +28 -22
- package/components/AppLayout/AppLayout.js.map +1 -1
- package/components/AppLayout/AppLayout.module.css.js +4 -0
- package/components/AppLayout/AppLayout.module.css.js.map +1 -0
- package/components/AppLayout/ContentFooter.d.ts +3 -4
- package/components/AppLayout/ContentFooter.js +10 -15
- package/components/AppLayout/ContentFooter.js.map +1 -1
- package/components/AppLayout/SideNavbar.d.ts +8 -8
- package/components/AppLayout/SideNavbar.js +41 -17
- package/components/AppLayout/SideNavbar.js.map +1 -1
- package/components/AppLayout/SideNavbarGroup.d.ts +19 -0
- package/components/AppLayout/SideNavbarGroup.js +16 -0
- package/components/AppLayout/SideNavbarGroup.js.map +1 -0
- package/components/AppLayout/SideNavbarItem.d.ts +8 -3
- package/components/AppLayout/SideNavbarItem.js +71 -28
- package/components/AppLayout/SideNavbarItem.js.map +1 -1
- package/components/AppLayout/TopNavbar.d.ts +7 -3
- package/components/AppLayout/TopNavbar.js +37 -18
- package/components/AppLayout/TopNavbar.js.map +1 -1
- package/components/AppLayout/app-layout.utils.d.ts +14 -0
- package/components/AppLayout/app-layout.utils.js +6 -0
- package/components/AppLayout/app-layout.utils.js.map +1 -0
- package/components/AppLayout/hooks/use-active-nav-label.d.ts +2 -0
- package/components/AppLayout/hooks/use-active-nav-label.js +29 -0
- package/components/AppLayout/hooks/use-active-nav-label.js.map +1 -0
- package/components/AppLayout/hooks/use-layout-state.js +11 -13
- package/components/AppLayout/hooks/use-layout-state.js.map +1 -1
- package/components/AppLayout/hooks/use-side-navbar-item.d.ts +4 -4
- package/components/AppLayout/hooks/use-side-navbar-item.js +21 -32
- package/components/AppLayout/hooks/use-side-navbar-item.js.map +1 -1
- package/components/AppLayout/index.d.ts +1 -1
- package/components/AppLayout/layout.types.d.ts +9 -9
- package/components/Logo/Alphabets.d.ts +2 -7
- package/components/Logo/Alphabets.js +119 -31
- package/components/Logo/Alphabets.js.map +1 -1
- package/components/Logo/BrandMark.js +38 -16
- package/components/Logo/BrandMark.js.map +1 -1
- package/components/Logo/Logo.js +17 -13
- package/components/Logo/Logo.js.map +1 -1
- package/components/Logo/Logo.module.css.js +4 -0
- package/components/Logo/Logo.module.css.js.map +1 -0
- package/components/Logo/hooks/use-logo.js +13 -15
- package/components/Logo/hooks/use-logo.js.map +1 -1
- package/hooks/useSearchParams.js +16 -19
- package/hooks/useSearchParams.js.map +1 -1
- package/index.d.ts +6 -4
- package/index.js +10 -5
- package/index.js.map +1 -1
- package/lib/api-error.js +16 -20
- package/lib/api-error.js.map +1 -1
- package/lib/api-request.d.ts +2 -2
- package/lib/api-request.js +105 -117
- package/lib/api-request.js.map +1 -1
- package/lib/generate-api.js +193 -230
- package/lib/generate-api.js.map +1 -1
- package/lib/utils.js +5 -21
- package/lib/utils.js.map +1 -1
- package/package.json +12 -5
- package/styles/AppLayout.module.css +82 -0
- package/{components/Logo → styles}/Logo.module.css +6 -0
- package/styles.css +2 -0
- package/styles.css.map +1 -0
- package/styles.layer.css +4 -0
- package/theme.d.ts +6 -6
- package/theme.js +111 -114
- package/theme.js.map +1 -1
- package/types.d.ts +1 -0
- package/components/AppLayout/AppLayout.module.css +0 -47
- package/components/AppLayout/index.js +0 -3
- package/components/AppLayout/index.js.map +0 -1
- package/components/AppLayout/layout.types.js +0 -2
- package/components/AppLayout/layout.types.js.map +0 -1
- package/components/Logo/index.js +0 -3
- package/components/Logo/index.js.map +0 -1
- package/hooks/index.js +0 -2
- package/hooks/index.js.map +0 -1
- package/lib/index.js +0 -5
- package/lib/index.js.map +0 -1
- package/types.js +0 -5
- package/types.js.map +0 -1
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
-
import { type
|
|
3
|
-
import { type FooterConfig, type NavItem, type NotificationsConfig, type UserInfo } from './layout.types.js';
|
|
2
|
+
import { type NavGroup, type NavItem, type NotificationsConfig, type UserInfo } from './layout.types';
|
|
4
3
|
/**
|
|
5
4
|
* Defining types
|
|
6
5
|
*/
|
|
7
6
|
interface AppLayoutProps {
|
|
8
|
-
children: ReactNode;
|
|
9
|
-
productName: Alphabet[];
|
|
10
7
|
appName: string;
|
|
11
|
-
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
navItems: (NavItem | NavGroup)[];
|
|
10
|
+
headerContent?: ReactNode;
|
|
12
11
|
user?: UserInfo;
|
|
13
12
|
notifications?: NotificationsConfig;
|
|
14
|
-
footer?:
|
|
13
|
+
footer?: ReactNode;
|
|
15
14
|
showThemeToggle?: boolean;
|
|
16
15
|
defaultCollapsed?: boolean;
|
|
17
16
|
}
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Declaring the constants
|
|
19
|
+
*/
|
|
20
|
+
export declare function AppLayout({ children, appName, navItems, headerContent, user, notifications, footer, showThemeToggle, defaultCollapsed }: AppLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
19
21
|
export {};
|
|
@@ -1,28 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Importing npm packages
|
|
4
|
-
*/
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
3
|
import { AppShell } from '@mantine/core';
|
|
6
|
-
|
|
7
|
-
* Importing user defined packages
|
|
8
|
-
*/
|
|
9
|
-
import styles from './AppLayout.module.css';
|
|
4
|
+
import styles from './AppLayout.module.css.js';
|
|
10
5
|
import { ContentFooter } from './ContentFooter.js';
|
|
11
6
|
import { useLayoutState } from './hooks/use-layout-state.js';
|
|
12
7
|
import { SideNavbar } from './SideNavbar.js';
|
|
13
8
|
import { TopNavbar } from './TopNavbar.js';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
9
|
+
|
|
10
|
+
function AppLayout({ children, appName, navItems, headerContent, user, notifications, footer, showThemeToggle, defaultCollapsed }) {
|
|
11
|
+
const { collapsed, toggleCollapsed, mobileOpened, toggleMobile, closeMobile } = useLayoutState({ defaultCollapsed });
|
|
12
|
+
return /* @__PURE__ */ jsxs(AppShell, { layout: "alt", header: { height: 56 }, navbar: { width: collapsed ? 56 : 260, breakpoint: "sm", collapsed: { mobile: !mobileOpened } }, padding: "md", children: [
|
|
13
|
+
/* @__PURE__ */ jsx(AppShell.Header, { children: /* @__PURE__ */ jsx(
|
|
14
|
+
TopNavbar,
|
|
15
|
+
{
|
|
16
|
+
navItems,
|
|
17
|
+
headerContent,
|
|
18
|
+
user,
|
|
19
|
+
notifications,
|
|
20
|
+
showThemeToggle,
|
|
21
|
+
mobileOpened,
|
|
22
|
+
onToggleMobile: toggleMobile
|
|
23
|
+
}
|
|
24
|
+
) }),
|
|
25
|
+
/* @__PURE__ */ jsx(AppShell.Navbar, { children: /* @__PURE__ */ jsx(SideNavbar, { items: navItems, collapsed, onToggleCollapsed: toggleCollapsed, onNavigate: closeMobile, appName, onCloseMobile: closeMobile }) }),
|
|
26
|
+
/* @__PURE__ */ jsxs(AppShell.Main, { className: styles.main, children: [
|
|
27
|
+
/* @__PURE__ */ jsx("div", { className: styles.mainContent, children }),
|
|
28
|
+
footer && /* @__PURE__ */ jsx(ContentFooter, { content: footer })
|
|
29
|
+
] })
|
|
30
|
+
] });
|
|
27
31
|
}
|
|
28
|
-
|
|
32
|
+
|
|
33
|
+
export { AppLayout };
|
|
34
|
+
//# sourceMappingURL=AppLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLayout.js","
|
|
1
|
+
{"version":3,"file":"AppLayout.js","sources":["../../../src/components/AppLayout/AppLayout.tsx"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { AppShell } from '@mantine/core';\nimport { type ReactNode } from 'react';\n\n/**\n * Importing user defined packages\n */\nimport styles from './AppLayout.module.css';\nimport { ContentFooter } from './ContentFooter';\nimport { useLayoutState } from './hooks/use-layout-state';\nimport { type NavGroup, type NavItem, type NotificationsConfig, type UserInfo } from './layout.types';\nimport { SideNavbar } from './SideNavbar';\nimport { TopNavbar } from './TopNavbar';\n\n/**\n * Defining types\n */\n\ninterface AppLayoutProps {\n appName: string;\n children: ReactNode;\n navItems: (NavItem | NavGroup)[];\n headerContent?: ReactNode;\n user?: UserInfo;\n notifications?: NotificationsConfig;\n footer?: ReactNode;\n showThemeToggle?: boolean;\n defaultCollapsed?: boolean;\n}\n\n/**\n * Declaring the constants\n */\n\nexport function AppLayout({ children, appName, navItems, headerContent, user, notifications, footer, showThemeToggle, defaultCollapsed }: AppLayoutProps) {\n const { collapsed, toggleCollapsed, mobileOpened, toggleMobile, closeMobile } = useLayoutState({ defaultCollapsed });\n\n return (\n <AppShell layout='alt' header={{ height: 56 }} navbar={{ width: collapsed ? 56 : 260, breakpoint: 'sm', collapsed: { mobile: !mobileOpened } }} padding='md'>\n <AppShell.Header>\n <TopNavbar\n navItems={navItems}\n headerContent={headerContent}\n user={user}\n notifications={notifications}\n showThemeToggle={showThemeToggle}\n mobileOpened={mobileOpened}\n onToggleMobile={toggleMobile}\n />\n </AppShell.Header>\n\n <AppShell.Navbar>\n <SideNavbar items={navItems} collapsed={collapsed} onToggleCollapsed={toggleCollapsed} onNavigate={closeMobile} appName={appName} onCloseMobile={closeMobile} />\n </AppShell.Navbar>\n\n <AppShell.Main className={styles.main}>\n <div className={styles.mainContent}>{children}</div>\n {footer && <ContentFooter content={footer} />}\n </AppShell.Main>\n </AppShell>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var styles = {"main":"AppLayout-module_main__NgNhZ","mainContent":"AppLayout-module_mainContent__gYUmE","logoSection":"AppLayout-module_logoSection__rOoy-","brandIcon":"AppLayout-module_brandIcon__40dPn","navToggleSection":"AppLayout-module_navToggleSection__gaGZd","navToggleSectionCollapsed":"AppLayout-module_navToggleSectionCollapsed__K7Np2","navGroupDivider":"AppLayout-module_navGroupDivider__q7CSz","collapsedItem":"AppLayout-module_collapsedItem__D3Jai","childNavLink":"AppLayout-module_childNavLink__ppVJS","footer":"AppLayout-module_footer__GpgvI"};
|
|
2
|
+
|
|
3
|
+
export { styles as default };
|
|
4
|
+
//# sourceMappingURL=AppLayout.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppLayout.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
2
|
/**
|
|
3
3
|
* Defining types
|
|
4
4
|
*/
|
|
5
5
|
interface ContentFooterProps {
|
|
6
|
-
|
|
7
|
-
footer?: FooterConfig;
|
|
6
|
+
content: ReactNode;
|
|
8
7
|
}
|
|
9
8
|
/**
|
|
10
9
|
* Declaring the constants
|
|
11
10
|
*/
|
|
12
|
-
export declare function ContentFooter({
|
|
11
|
+
export declare function ContentFooter({ content }: ContentFooterProps): import("react/jsx-runtime").JSX.Element;
|
|
13
12
|
export {};
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*/
|
|
9
|
-
import styles from './AppLayout.module.css';
|
|
10
|
-
/**
|
|
11
|
-
* Declaring the constants
|
|
12
|
-
*/
|
|
13
|
-
export function ContentFooter({ appName, footer }) {
|
|
14
|
-
return (_jsx(Box, { component: 'footer', mt: 'xl', py: 'xs', className: styles.footer, children: footer?.content ?? (_jsxs(Text, { size: 'xs', c: 'dimmed', ta: 'center', children: [appName, footer?.version ? ` \u00B7 ${footer.version}` : ''] })) }));
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Box } from '@mantine/core';
|
|
4
|
+
import styles from './AppLayout.module.css.js';
|
|
5
|
+
|
|
6
|
+
function ContentFooter({ content }) {
|
|
7
|
+
return /* @__PURE__ */ jsx(Box, { component: "footer", mt: "xl", py: "xs", className: styles.footer, children: content });
|
|
15
8
|
}
|
|
16
|
-
|
|
9
|
+
|
|
10
|
+
export { ContentFooter };
|
|
11
|
+
//# sourceMappingURL=ContentFooter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentFooter.js","
|
|
1
|
+
{"version":3,"file":"ContentFooter.js","sources":["../../../src/components/AppLayout/ContentFooter.tsx"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { Box } from '@mantine/core';\nimport { type ReactNode } from 'react';\n\n/**\n * Importing user defined packages\n */\nimport styles from './AppLayout.module.css';\n\n/**\n * Defining types\n */\n\ninterface ContentFooterProps {\n content: ReactNode;\n}\n\n/**\n * Declaring the constants\n */\n\nexport function ContentFooter({ content }: ContentFooterProps) {\n return (\n <Box component='footer' mt='xl' py='xs' className={styles.footer}>\n {content}\n </Box>\n );\n}\n"],"names":[],"mappings":";;;;;AAuBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAuB,CAAA;AAC7D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACvD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH,CAAA,CAAA;AAEJ,CAAA;;"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Importing user defined packages
|
|
3
3
|
*/
|
|
4
|
-
import { type
|
|
5
|
-
import { type NavItem } from './layout.types
|
|
4
|
+
import { type VoidFn } from '../../types';
|
|
5
|
+
import { type NavGroup, type NavItem } from './layout.types';
|
|
6
6
|
/**
|
|
7
7
|
* Defining types
|
|
8
8
|
*/
|
|
9
9
|
interface SideNavbarProps {
|
|
10
|
-
items: NavItem[];
|
|
10
|
+
items: (NavItem | NavGroup)[];
|
|
11
11
|
collapsed: boolean;
|
|
12
|
-
onToggleCollapsed:
|
|
13
|
-
onNavigate?:
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
onToggleCollapsed: VoidFn;
|
|
13
|
+
onNavigate?: VoidFn;
|
|
14
|
+
onCloseMobile?: VoidFn;
|
|
15
|
+
appName?: string;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Declaring the constants
|
|
19
19
|
*/
|
|
20
|
-
export declare function SideNavbar({ items, collapsed, onToggleCollapsed, onNavigate,
|
|
20
|
+
export declare function SideNavbar({ items, collapsed, onToggleCollapsed, onNavigate, onCloseMobile, appName }: SideNavbarProps): import("react/jsx-runtime").JSX.Element;
|
|
21
21
|
export {};
|
|
@@ -1,19 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useMantineTheme, AppShell, Group, Title, CloseButton, ScrollArea, Stack, Tooltip, ActionIcon } from '@mantine/core';
|
|
4
|
+
import { useMediaQuery } from '@mantine/hooks';
|
|
5
|
+
import { clsx } from 'clsx/lite';
|
|
6
|
+
import { ChevronsRight, ChevronsLeft } from 'lucide-react';
|
|
7
|
+
import '../Logo/Alphabets.js';
|
|
8
|
+
import { Logo } from '../Logo/Logo.js';
|
|
9
|
+
import styles from './AppLayout.module.css.js';
|
|
10
|
+
import { isNavGroup } from './app-layout.utils.js';
|
|
11
|
+
import { SideNavbarGroup } from './SideNavbarGroup.js';
|
|
12
12
|
import { SideNavbarItem } from './SideNavbarItem.js';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
|
|
14
|
+
function SideNavbar({ items, collapsed, onToggleCollapsed, onNavigate, onCloseMobile, appName }) {
|
|
15
|
+
const theme = useMantineTheme();
|
|
16
|
+
const isDesktop = useMediaQuery(`(min-width: ${theme.breakpoints.sm})`);
|
|
17
|
+
const effectiveCollapsed = isDesktop !== false && collapsed;
|
|
18
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
19
|
+
/* @__PURE__ */ jsx(AppShell.Section, { className: styles.logoSection, p: effectiveCollapsed ? "xs" : "sm", children: /* @__PURE__ */ jsxs(Group, { justify: effectiveCollapsed ? "center" : "space-between", w: "100%", h: "100%", wrap: "nowrap", children: [
|
|
20
|
+
/* @__PURE__ */ jsxs(Group, { gap: "sm", wrap: "nowrap", align: "center", style: { minWidth: 0 }, children: [
|
|
21
|
+
/* @__PURE__ */ jsx("div", { className: styles.brandIcon, children: /* @__PURE__ */ jsx(Logo, { variant: "icon", height: "35px" }) }),
|
|
22
|
+
/* @__PURE__ */ jsx(Title, { order: 1, tt: "uppercase", lineClamp: 1, c: "cyan", lts: 5, children: appName })
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ jsx(CloseButton, { hiddenFrom: "sm", onClick: onCloseMobile, "aria-label": "Close navigation" })
|
|
25
|
+
] }) }),
|
|
26
|
+
/* @__PURE__ */ jsx(AppShell.Section, { grow: true, component: ScrollArea, scrollbarSize: 6, children: /* @__PURE__ */ jsx(Stack, { gap: 4, p: effectiveCollapsed ? "xs" : "sm", align: effectiveCollapsed ? "center" : "stretch", children: items.map(
|
|
27
|
+
(entry, index) => isNavGroup(entry) ? /* @__PURE__ */ jsx(SideNavbarGroup, { group: entry, collapsed: effectiveCollapsed, showDivider: index > 0, onNavigate }, entry.group) : /* @__PURE__ */ jsx(SideNavbarItem, { item: entry, collapsed: effectiveCollapsed, onNavigate }, entry.key ?? entry.path ?? entry.label)
|
|
28
|
+
) }) }),
|
|
29
|
+
/* @__PURE__ */ jsx(
|
|
30
|
+
AppShell.Section,
|
|
31
|
+
{
|
|
32
|
+
p: effectiveCollapsed ? "xs" : "sm",
|
|
33
|
+
className: clsx(styles.navToggleSection, effectiveCollapsed && styles.navToggleSectionCollapsed),
|
|
34
|
+
hiddenFrom: void 0,
|
|
35
|
+
visibleFrom: "sm",
|
|
36
|
+
children: /* @__PURE__ */ jsx(Tooltip, { label: effectiveCollapsed ? "Expand sidebar" : "Collapse sidebar", position: "right", children: /* @__PURE__ */ jsx(ActionIcon, { onClick: onToggleCollapsed, size: "md", "aria-label": "Toggle sidebar", children: effectiveCollapsed ? /* @__PURE__ */ jsx(ChevronsRight, { size: 16 }) : /* @__PURE__ */ jsx(ChevronsLeft, { size: 16 }) }) })
|
|
37
|
+
}
|
|
38
|
+
)
|
|
39
|
+
] });
|
|
18
40
|
}
|
|
19
|
-
|
|
41
|
+
|
|
42
|
+
export { SideNavbar };
|
|
43
|
+
//# sourceMappingURL=SideNavbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavbar.js","sourceRoot":"","sources":["../../../src/components/AppLayout/SideNavbar.tsx"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D;;GAEG;AACH,OAAO,EAAiB,IAAI,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAelD;;GAEG;AAEH,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAmB;IACzH,OAAO,CACL,8BACE,KAAC,QAAQ,CAAC,OAAO,IAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,YACzE,MAAC,KAAK,IAAC,OAAO,EAAC,eAAe,EAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,EAAC,IAAI,EAAC,QAAQ,aAC5D,cAAK,SAAS,EAAE,MAAM,CAAC,aAAa,YAClC,KAAC,IAAI,IAAC,OAAO,EAAC,MAAM,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,GAAI,GACrE,EACN,KAAC,WAAW,IAAC,UAAU,EAAC,IAAI,EAAC,OAAO,EAAE,aAAa,gBAAa,kBAAkB,GAAG,IAC/E,GACS,EAEnB,KAAC,QAAQ,CAAC,OAAO,IAAC,IAAI,QAAC,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,YAC5D,KAAC,KAAK,IAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,YAC/E,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACjB,KAAC,cAAc,IAA2C,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,IAA7F,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAA8D,CACvH,CAAC,GACI,GACS,EAEnB,KAAC,QAAQ,CAAC,OAAO,IACf,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAC1B,SAAS,EAAE,GAAG,MAAM,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,EAC5F,UAAU,EAAE,SAAS,EACrB,WAAW,EAAC,IAAI,YAEhB,KAAC,OAAO,IAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,EAAE,QAAQ,EAAC,OAAO,YACjF,KAAC,UAAU,IAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAC,IAAI,gBAAY,gBAAgB,YAC1E,SAAS,CAAC,CAAC,CAAC,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,GAAI,GAC1D,GACL,GACO,IAClB,CACJ,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"SideNavbar.js","sources":["../../../src/components/AppLayout/SideNavbar.tsx"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { ActionIcon, AppShell, CloseButton, Group, ScrollArea, Stack, Title, Tooltip, useMantineTheme } from '@mantine/core';\nimport { useMediaQuery } from '@mantine/hooks';\nimport { clsx } from 'clsx/lite';\nimport { ChevronsLeft, ChevronsRight } from 'lucide-react';\n\n/**\n * Importing user defined packages\n */\nimport { type VoidFn } from '@/types';\n\nimport { Logo } from '../Logo';\nimport styles from './AppLayout.module.css';\nimport { isNavGroup } from './app-layout.utils';\nimport { type NavGroup, type NavItem } from './layout.types';\nimport { SideNavbarGroup } from './SideNavbarGroup';\nimport { SideNavbarItem } from './SideNavbarItem';\n\n/**\n * Defining types\n */\n\ninterface SideNavbarProps {\n items: (NavItem | NavGroup)[];\n collapsed: boolean;\n onToggleCollapsed: VoidFn;\n onNavigate?: VoidFn;\n onCloseMobile?: VoidFn;\n appName?: string;\n}\n\n/**\n * Declaring the constants\n */\n\nexport function SideNavbar({ items, collapsed, onToggleCollapsed, onNavigate, onCloseMobile, appName }: SideNavbarProps) {\n const theme = useMantineTheme();\n const isDesktop = useMediaQuery(`(min-width: ${theme.breakpoints.sm})`);\n const effectiveCollapsed = isDesktop !== false && collapsed;\n\n return (\n <>\n <AppShell.Section className={styles.logoSection} p={effectiveCollapsed ? 'xs' : 'sm'}>\n <Group justify={effectiveCollapsed ? 'center' : 'space-between'} w='100%' h='100%' wrap='nowrap'>\n <Group gap='sm' wrap='nowrap' align='center' style={{ minWidth: 0 }}>\n <div className={styles.brandIcon}>\n <Logo variant='icon' height='35px' />\n </div>\n <Title order={1} tt='uppercase' lineClamp={1} c='cyan' lts={5}>\n {appName}\n </Title>\n </Group>\n <CloseButton hiddenFrom='sm' onClick={onCloseMobile} aria-label='Close navigation' />\n </Group>\n </AppShell.Section>\n\n <AppShell.Section grow component={ScrollArea} scrollbarSize={6}>\n <Stack gap={4} p={effectiveCollapsed ? 'xs' : 'sm'} align={effectiveCollapsed ? 'center' : 'stretch'}>\n {items.map((entry, index) =>\n isNavGroup(entry) ? (\n <SideNavbarGroup key={entry.group} group={entry} collapsed={effectiveCollapsed} showDivider={index > 0} onNavigate={onNavigate} />\n ) : (\n <SideNavbarItem key={entry.key ?? entry.path ?? entry.label} item={entry} collapsed={effectiveCollapsed} onNavigate={onNavigate} />\n ),\n )}\n </Stack>\n </AppShell.Section>\n\n <AppShell.Section\n p={effectiveCollapsed ? 'xs' : 'sm'}\n className={clsx(styles.navToggleSection, effectiveCollapsed && styles.navToggleSectionCollapsed)}\n hiddenFrom={undefined}\n visibleFrom='sm'\n >\n <Tooltip label={effectiveCollapsed ? 'Expand sidebar' : 'Collapse sidebar'} position='right'>\n <ActionIcon onClick={onToggleCollapsed} size='md' aria-label='Toggle sidebar'>\n {effectiveCollapsed ? <ChevronsRight size={16} /> : <ChevronsLeft size={16} />}\n </ActionIcon>\n </Tooltip>\n </AppShell.Section>\n </>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Importing user defined packages
|
|
3
|
+
*/
|
|
4
|
+
import { type VoidFn } from '../../types';
|
|
5
|
+
import { type NavGroup } from './layout.types';
|
|
6
|
+
/**
|
|
7
|
+
* Defining types
|
|
8
|
+
*/
|
|
9
|
+
interface SideNavbarGroupProps {
|
|
10
|
+
group: NavGroup;
|
|
11
|
+
collapsed: boolean;
|
|
12
|
+
showDivider: boolean;
|
|
13
|
+
onNavigate?: VoidFn;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Declaring the constants
|
|
17
|
+
*/
|
|
18
|
+
export declare function SideNavbarGroup({ group, collapsed, showDivider, onNavigate }: SideNavbarGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Stack, Divider, Text } from '@mantine/core';
|
|
4
|
+
import styles from './AppLayout.module.css.js';
|
|
5
|
+
import { SideNavbarItem } from './SideNavbarItem.js';
|
|
6
|
+
|
|
7
|
+
function SideNavbarGroup({ group, collapsed, showDivider, onNavigate }) {
|
|
8
|
+
return /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
|
|
9
|
+
showDivider && /* @__PURE__ */ jsx(Divider, { className: styles.navGroupDivider }),
|
|
10
|
+
!collapsed && /* @__PURE__ */ jsx(Text, { size: "xs", fw: 600, c: "dimmed", tt: "uppercase", px: 4, pt: 4, style: { letterSpacing: "0.07em" }, children: group.group }),
|
|
11
|
+
group.items.map((item) => /* @__PURE__ */ jsx(SideNavbarItem, { item, collapsed, onNavigate }, item.key ?? item.path ?? item.label))
|
|
12
|
+
] });
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { SideNavbarGroup };
|
|
16
|
+
//# sourceMappingURL=SideNavbarGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SideNavbarGroup.js","sources":["../../../src/components/AppLayout/SideNavbarGroup.tsx"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { Divider, Stack, Text } from '@mantine/core';\n\n/**\n * Importing user defined packages\n */\nimport { type VoidFn } from '@/types';\n\nimport styles from './AppLayout.module.css';\nimport { type NavGroup } from './layout.types';\nimport { SideNavbarItem } from './SideNavbarItem';\n\n/**\n * Defining types\n */\n\ninterface SideNavbarGroupProps {\n group: NavGroup;\n collapsed: boolean;\n showDivider: boolean;\n onNavigate?: VoidFn;\n}\n\n/**\n * Declaring the constants\n */\n\nexport function SideNavbarGroup({ group, collapsed, showDivider, onNavigate }: SideNavbarGroupProps) {\n return (\n <Stack gap={4}>\n {showDivider && <Divider className={styles.navGroupDivider} />}\n {!collapsed && (\n <Text size='xs' fw={600} c='dimmed' tt='uppercase' px={4} pt={4} style={{ letterSpacing: '0.07em' }}>\n {group.group}\n </Text>\n )}\n {group.items.map(item => (\n <SideNavbarItem key={item.key ?? item.path ?? item.label} item={item} collapsed={collapsed} onNavigate={onNavigate} />\n ))}\n </Stack>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Importing user defined packages
|
|
3
|
+
*/
|
|
4
|
+
import { type VoidFn } from '../../types';
|
|
5
|
+
import { type NavItem } from './layout.types';
|
|
2
6
|
/**
|
|
3
7
|
* Defining types
|
|
4
8
|
*/
|
|
5
9
|
interface SideNavbarItemProps {
|
|
6
10
|
item: NavItem;
|
|
7
11
|
collapsed: boolean;
|
|
8
|
-
|
|
12
|
+
isChild?: boolean;
|
|
13
|
+
onNavigate?: VoidFn;
|
|
9
14
|
}
|
|
10
15
|
/**
|
|
11
16
|
* Declaring the constants
|
|
12
17
|
*/
|
|
13
|
-
export declare function SideNavbarItem({ item, collapsed, onNavigate }: SideNavbarItemProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function SideNavbarItem({ item, collapsed, isChild, onNavigate }: SideNavbarItemProps): import("react/jsx-runtime").JSX.Element;
|
|
14
19
|
export {};
|
|
@@ -1,31 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import
|
|
6
|
-
/**
|
|
7
|
-
* Importing user defined packages
|
|
8
|
-
*/
|
|
9
|
-
import styles from './AppLayout.module.css';
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Menu, ActionIcon, Tooltip, NavLink } from '@mantine/core';
|
|
4
|
+
import { Link } from '@tanstack/react-router';
|
|
5
|
+
import styles from './AppLayout.module.css.js';
|
|
10
6
|
import { useSideNavbarItem } from './hooks/use-side-navbar-item.js';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
7
|
+
|
|
8
|
+
function SideNavbarItem({ item, collapsed, isChild, onNavigate }) {
|
|
9
|
+
const { isActive, hasChildren, hasActiveChild, onClick } = useSideNavbarItem(item, onNavigate);
|
|
10
|
+
const routeProps = item.path ? { component: Link, to: item.path } : {};
|
|
11
|
+
if (collapsed) {
|
|
12
|
+
if (hasChildren) {
|
|
13
|
+
return /* @__PURE__ */ jsxs(Menu, { trigger: "hover", position: "right-start", offset: 4, children: [
|
|
14
|
+
/* @__PURE__ */ jsx(Menu.Target, { children: /* @__PURE__ */ jsx(
|
|
15
|
+
ActionIcon,
|
|
16
|
+
{
|
|
17
|
+
variant: hasActiveChild ? "light" : "subtle",
|
|
18
|
+
size: "xl",
|
|
19
|
+
onClick,
|
|
20
|
+
disabled: item.disabled,
|
|
21
|
+
className: styles.collapsedItem,
|
|
22
|
+
"aria-label": item.label,
|
|
23
|
+
...routeProps,
|
|
24
|
+
children: /* @__PURE__ */ jsx(item.icon, { size: 20 })
|
|
25
|
+
}
|
|
26
|
+
) }),
|
|
27
|
+
/* @__PURE__ */ jsxs(Menu.Dropdown, { children: [
|
|
28
|
+
/* @__PURE__ */ jsx(Menu.Label, { children: item.label }),
|
|
29
|
+
item.children?.map((child) => /* @__PURE__ */ jsx(
|
|
30
|
+
Menu.Item,
|
|
31
|
+
{
|
|
32
|
+
leftSection: /* @__PURE__ */ jsx(child.icon, { size: 16 }),
|
|
33
|
+
disabled: child.disabled,
|
|
34
|
+
onClick,
|
|
35
|
+
...child.path ? { component: Link, to: child.path } : {},
|
|
36
|
+
children: child.label
|
|
37
|
+
},
|
|
38
|
+
child.key ?? child.path ?? child.label
|
|
39
|
+
))
|
|
40
|
+
] })
|
|
41
|
+
] });
|
|
27
42
|
}
|
|
28
|
-
|
|
29
|
-
|
|
43
|
+
return /* @__PURE__ */ jsx(Tooltip, { label: item.label, position: "right", offset: 8, children: /* @__PURE__ */ jsx(
|
|
44
|
+
ActionIcon,
|
|
45
|
+
{
|
|
46
|
+
variant: isActive ? "light" : "subtle",
|
|
47
|
+
size: "xl",
|
|
48
|
+
onClick,
|
|
49
|
+
disabled: item.disabled,
|
|
50
|
+
className: styles.collapsedItem,
|
|
51
|
+
"aria-label": item.label,
|
|
52
|
+
...routeProps,
|
|
53
|
+
children: /* @__PURE__ */ jsx(item.icon, { size: 20 })
|
|
54
|
+
}
|
|
55
|
+
) });
|
|
56
|
+
}
|
|
57
|
+
return /* @__PURE__ */ jsx(
|
|
58
|
+
NavLink,
|
|
59
|
+
{
|
|
60
|
+
label: item.label,
|
|
61
|
+
leftSection: /* @__PURE__ */ jsx(item.icon, { size: 18 }),
|
|
62
|
+
active: isActive || hasActiveChild,
|
|
63
|
+
disabled: item.disabled,
|
|
64
|
+
onClick: hasChildren ? void 0 : onClick,
|
|
65
|
+
defaultOpened: hasActiveChild,
|
|
66
|
+
className: isChild ? styles.childNavLink : void 0,
|
|
67
|
+
...routeProps,
|
|
68
|
+
children: hasChildren && item.children?.map((child) => /* @__PURE__ */ jsx(SideNavbarItem, { item: child, collapsed: false, isChild: true, onNavigate }, child.key ?? child.path ?? child.label))
|
|
69
|
+
}
|
|
70
|
+
);
|
|
30
71
|
}
|
|
31
|
-
|
|
72
|
+
|
|
73
|
+
export { SideNavbarItem };
|
|
74
|
+
//# sourceMappingURL=SideNavbarItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavbarItem.js","sourceRoot":"","sources":["../../../src/components/AppLayout/SideNavbarItem.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SideNavbarItem.js","sources":["../../../src/components/AppLayout/SideNavbarItem.tsx"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { ActionIcon, Menu, NavLink, Tooltip } from '@mantine/core';\nimport { Link } from '@tanstack/react-router';\n\n/**\n * Importing user defined packages\n */\nimport { type VoidFn } from '@/types';\n\nimport styles from './AppLayout.module.css';\nimport { useSideNavbarItem } from './hooks/use-side-navbar-item';\nimport { type NavItem } from './layout.types';\n\n/**\n * Defining types\n */\n\ninterface SideNavbarItemProps {\n item: NavItem;\n collapsed: boolean;\n isChild?: boolean;\n onNavigate?: VoidFn;\n}\n\n/**\n * Declaring the constants\n */\n\nexport function SideNavbarItem({ item, collapsed, isChild, onNavigate }: SideNavbarItemProps) {\n const { isActive, hasChildren, hasActiveChild, onClick } = useSideNavbarItem(item, onNavigate);\n const routeProps = item.path ? { component: Link, to: item.path } : {};\n\n /** Collapsed mode — icon only */\n if (collapsed) {\n if (hasChildren) {\n return (\n <Menu trigger='hover' position='right-start' offset={4}>\n <Menu.Target>\n <ActionIcon\n variant={hasActiveChild ? 'light' : 'subtle'}\n size='xl'\n onClick={onClick}\n disabled={item.disabled}\n className={styles.collapsedItem}\n aria-label={item.label}\n {...routeProps}\n >\n <item.icon size={20} />\n </ActionIcon>\n </Menu.Target>\n <Menu.Dropdown>\n <Menu.Label>{item.label}</Menu.Label>\n {item.children?.map(child => (\n <Menu.Item\n key={child.key ?? child.path ?? child.label}\n leftSection={<child.icon size={16} />}\n disabled={child.disabled}\n onClick={onClick}\n {...(child.path ? { component: Link, to: child.path } : {})}\n >\n {child.label}\n </Menu.Item>\n ))}\n </Menu.Dropdown>\n </Menu>\n );\n }\n\n return (\n <Tooltip label={item.label} position='right' offset={8}>\n <ActionIcon\n variant={isActive ? 'light' : 'subtle'}\n size='xl'\n onClick={onClick}\n disabled={item.disabled}\n className={styles.collapsedItem}\n aria-label={item.label}\n {...routeProps}\n >\n <item.icon size={20} />\n </ActionIcon>\n </Tooltip>\n );\n }\n\n /** Expanded mode */\n return (\n <NavLink\n label={item.label}\n leftSection={<item.icon size={18} />}\n active={isActive || hasActiveChild}\n disabled={item.disabled}\n onClick={hasChildren ? undefined : onClick}\n defaultOpened={hasActiveChild}\n className={isChild ? styles.childNavLink : undefined}\n {...routeProps}\n >\n {hasChildren && item.children?.map(child => <SideNavbarItem key={child.key ?? child.path ?? child.label} item={child} collapsed={false} isChild onNavigate={onNavigate} />)}\n </NavLink>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type VoidFn } from '../../types';
|
|
3
|
+
import { type NavGroup, type NavItem, type NotificationsConfig, type UserInfo } from './layout.types';
|
|
2
4
|
/**
|
|
3
5
|
* Defining types
|
|
4
6
|
*/
|
|
5
7
|
interface TopNavbarProps {
|
|
8
|
+
navItems: (NavItem | NavGroup)[];
|
|
9
|
+
headerContent?: ReactNode;
|
|
6
10
|
user?: UserInfo;
|
|
7
11
|
notifications?: NotificationsConfig;
|
|
8
12
|
showThemeToggle?: boolean;
|
|
9
13
|
mobileOpened: boolean;
|
|
10
|
-
onToggleMobile:
|
|
14
|
+
onToggleMobile: VoidFn;
|
|
11
15
|
}
|
|
12
16
|
/**
|
|
13
17
|
* Declaring the constants
|
|
14
18
|
*/
|
|
15
|
-
export declare function TopNavbar({ user, notifications, showThemeToggle, mobileOpened, onToggleMobile }: TopNavbarProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare function TopNavbar({ navItems, headerContent, user, notifications, showThemeToggle, mobileOpened, onToggleMobile }: TopNavbarProps): import("react/jsx-runtime").JSX.Element;
|
|
16
20
|
export {};
|