@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.
Files changed (81) hide show
  1. package/components/AppLayout/AppLayout.d.ts +9 -7
  2. package/components/AppLayout/AppLayout.js +28 -22
  3. package/components/AppLayout/AppLayout.js.map +1 -1
  4. package/components/AppLayout/AppLayout.module.css.js +4 -0
  5. package/components/AppLayout/AppLayout.module.css.js.map +1 -0
  6. package/components/AppLayout/ContentFooter.d.ts +3 -4
  7. package/components/AppLayout/ContentFooter.js +10 -15
  8. package/components/AppLayout/ContentFooter.js.map +1 -1
  9. package/components/AppLayout/SideNavbar.d.ts +8 -8
  10. package/components/AppLayout/SideNavbar.js +41 -17
  11. package/components/AppLayout/SideNavbar.js.map +1 -1
  12. package/components/AppLayout/SideNavbarGroup.d.ts +19 -0
  13. package/components/AppLayout/SideNavbarGroup.js +16 -0
  14. package/components/AppLayout/SideNavbarGroup.js.map +1 -0
  15. package/components/AppLayout/SideNavbarItem.d.ts +8 -3
  16. package/components/AppLayout/SideNavbarItem.js +71 -28
  17. package/components/AppLayout/SideNavbarItem.js.map +1 -1
  18. package/components/AppLayout/TopNavbar.d.ts +7 -3
  19. package/components/AppLayout/TopNavbar.js +37 -18
  20. package/components/AppLayout/TopNavbar.js.map +1 -1
  21. package/components/AppLayout/app-layout.utils.d.ts +14 -0
  22. package/components/AppLayout/app-layout.utils.js +6 -0
  23. package/components/AppLayout/app-layout.utils.js.map +1 -0
  24. package/components/AppLayout/hooks/use-active-nav-label.d.ts +2 -0
  25. package/components/AppLayout/hooks/use-active-nav-label.js +29 -0
  26. package/components/AppLayout/hooks/use-active-nav-label.js.map +1 -0
  27. package/components/AppLayout/hooks/use-layout-state.js +11 -13
  28. package/components/AppLayout/hooks/use-layout-state.js.map +1 -1
  29. package/components/AppLayout/hooks/use-side-navbar-item.d.ts +4 -4
  30. package/components/AppLayout/hooks/use-side-navbar-item.js +21 -32
  31. package/components/AppLayout/hooks/use-side-navbar-item.js.map +1 -1
  32. package/components/AppLayout/index.d.ts +1 -1
  33. package/components/AppLayout/layout.types.d.ts +9 -9
  34. package/components/Logo/Alphabets.d.ts +2 -7
  35. package/components/Logo/Alphabets.js +119 -31
  36. package/components/Logo/Alphabets.js.map +1 -1
  37. package/components/Logo/BrandMark.js +38 -16
  38. package/components/Logo/BrandMark.js.map +1 -1
  39. package/components/Logo/Logo.js +17 -13
  40. package/components/Logo/Logo.js.map +1 -1
  41. package/components/Logo/Logo.module.css.js +4 -0
  42. package/components/Logo/Logo.module.css.js.map +1 -0
  43. package/components/Logo/hooks/use-logo.js +13 -15
  44. package/components/Logo/hooks/use-logo.js.map +1 -1
  45. package/hooks/useSearchParams.js +16 -19
  46. package/hooks/useSearchParams.js.map +1 -1
  47. package/index.d.ts +6 -4
  48. package/index.js +10 -5
  49. package/index.js.map +1 -1
  50. package/lib/api-error.js +16 -20
  51. package/lib/api-error.js.map +1 -1
  52. package/lib/api-request.d.ts +2 -2
  53. package/lib/api-request.js +105 -117
  54. package/lib/api-request.js.map +1 -1
  55. package/lib/generate-api.js +193 -230
  56. package/lib/generate-api.js.map +1 -1
  57. package/lib/utils.js +5 -21
  58. package/lib/utils.js.map +1 -1
  59. package/package.json +12 -5
  60. package/styles/AppLayout.module.css +82 -0
  61. package/{components/Logo → styles}/Logo.module.css +6 -0
  62. package/styles.css +2 -0
  63. package/styles.css.map +1 -0
  64. package/styles.layer.css +4 -0
  65. package/theme.d.ts +6 -6
  66. package/theme.js +111 -114
  67. package/theme.js.map +1 -1
  68. package/types.d.ts +1 -0
  69. package/components/AppLayout/AppLayout.module.css +0 -47
  70. package/components/AppLayout/index.js +0 -3
  71. package/components/AppLayout/index.js.map +0 -1
  72. package/components/AppLayout/layout.types.js +0 -2
  73. package/components/AppLayout/layout.types.js.map +0 -1
  74. package/components/Logo/index.js +0 -3
  75. package/components/Logo/index.js.map +0 -1
  76. package/hooks/index.js +0 -2
  77. package/hooks/index.js.map +0 -1
  78. package/lib/index.js +0 -5
  79. package/lib/index.js.map +0 -1
  80. package/types.js +0 -5
  81. package/types.js.map +0 -1
@@ -1,19 +1,38 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Importing npm packages
4
- */
5
- import { ActionIcon, Avatar, Burger, Group, Indicator, Menu, Text, useComputedColorScheme, useMantineColorScheme } from '@mantine/core';
6
- import { Bell, Moon, Sun } from 'lucide-react';
7
- /**
8
- * Importing user defined packages
9
- */
10
- import { getInitials } from '../../lib/index.js';
11
- /**
12
- * Declaring the constants
13
- */
14
- export function TopNavbar({ user, notifications, showThemeToggle = true, mobileOpened, onToggleMobile }) {
15
- const theme = useComputedColorScheme();
16
- const { toggleColorScheme } = useMantineColorScheme();
17
- return (_jsxs(Group, { h: '100%', px: 'md', justify: 'space-between', wrap: 'nowrap', children: [_jsx(Group, { gap: 'sm', wrap: 'nowrap', children: _jsx(Burger, { opened: mobileOpened, onClick: onToggleMobile, hiddenFrom: 'sm', size: 'sm' }) }), _jsxs(Group, { gap: 'xs', wrap: 'nowrap', children: [showThemeToggle && (_jsx(ActionIcon, { onClick: toggleColorScheme, size: 'lg', "aria-label": 'Toggle color scheme', children: theme === 'dark' ? _jsx(Sun, { size: 18 }) : _jsx(Moon, { size: 18 }) })), notifications && (_jsx(Indicator, { label: notifications.count, size: 16, disabled: notifications.count === 0, offset: 4, children: _jsx(ActionIcon, { onClick: notifications.onClick, size: 'lg', "aria-label": 'Notifications', children: _jsx(Bell, { size: 18 }) }) })), user && (_jsxs(Menu, { position: 'bottom-end', offset: 8, width: 200, children: [_jsx(Menu.Target, { children: _jsx(ActionIcon, { variant: 'transparent', size: 'lg', radius: 'xl', children: _jsx(Avatar, { src: user.avatarUrl, size: 'sm', radius: 'xl', color: 'initials', children: !user.avatarUrl && getInitials(user.name) }) }) }), _jsxs(Menu.Dropdown, { children: [_jsxs(Menu.Label, { children: [_jsx(Text, { size: 'sm', fw: 500, children: user.name }), user.email && (_jsx(Text, { size: 'xs', c: 'dimmed', children: user.email }))] }), user.actions?.map((action, index) => (_jsxs("div", { children: [(action.divider || index === 0) && _jsx(Menu.Divider, {}), _jsx(Menu.Item, { leftSection: action.icon && _jsx(action.icon, { size: 14 }), color: action.color, onClick: action.onClick, children: action.label })] }, action.label)))] })] }))] })] }));
1
+ 'use client';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { useComputedColorScheme, useMantineColorScheme, Group, Burger, Box, Text, ActionIcon, Indicator, Menu, Avatar } from '@mantine/core';
4
+ import { Sun, Moon, Bell } from 'lucide-react';
5
+ import { getInitials } from '../../lib/utils.js';
6
+ import { useActiveNavLabel } from './hooks/use-active-nav-label.js';
7
+
8
+ function TopNavbar({ navItems, headerContent, user, notifications, showThemeToggle = true, mobileOpened, onToggleMobile }) {
9
+ const theme = useComputedColorScheme();
10
+ const { toggleColorScheme } = useMantineColorScheme();
11
+ const activeLabel = useActiveNavLabel(navItems);
12
+ return /* @__PURE__ */ jsxs(Group, { h: "100%", px: "md", justify: "space-between", wrap: "nowrap", children: [
13
+ /* @__PURE__ */ jsxs(Group, { gap: "sm", wrap: "nowrap", children: [
14
+ /* @__PURE__ */ jsx(Burger, { opened: mobileOpened, onClick: onToggleMobile, hiddenFrom: "sm", size: "sm", "aria-label": "Toggle navigation" }),
15
+ /* @__PURE__ */ jsx(Box, { visibleFrom: "sm", children: headerContent ?? (activeLabel && /* @__PURE__ */ jsx(Text, { fw: 500, size: "sm", c: "dimmed", children: activeLabel })) })
16
+ ] }),
17
+ /* @__PURE__ */ jsxs(Group, { gap: "sm", wrap: "nowrap", children: [
18
+ showThemeToggle && /* @__PURE__ */ jsx(ActionIcon, { onClick: toggleColorScheme, size: "lg", "aria-label": "Toggle color scheme", children: theme === "dark" ? /* @__PURE__ */ jsx(Sun, { size: 18 }) : /* @__PURE__ */ jsx(Moon, { size: 18 }) }),
19
+ notifications && /* @__PURE__ */ jsx(Indicator, { label: notifications.count, size: 16, disabled: notifications.count === 0, offset: 4, children: /* @__PURE__ */ jsx(ActionIcon, { onClick: notifications.onClick, size: "lg", "aria-label": "Notifications", children: /* @__PURE__ */ jsx(Bell, { size: 18 }) }) }),
20
+ user && /* @__PURE__ */ jsxs(Menu, { position: "bottom-end", offset: 8, width: 200, children: [
21
+ /* @__PURE__ */ jsx(Menu.Target, { children: /* @__PURE__ */ jsx(ActionIcon, { variant: "transparent", size: "lg", radius: "xl", "aria-label": "User menu", ml: "md", children: /* @__PURE__ */ jsx(Avatar, { src: user.avatarUrl, size: "sm", radius: "xl", color: "initials", children: !user.avatarUrl && getInitials(user.name) }) }) }),
22
+ /* @__PURE__ */ jsxs(Menu.Dropdown, { children: [
23
+ /* @__PURE__ */ jsxs(Menu.Label, { children: [
24
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, children: user.name }),
25
+ user.email && /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: user.email })
26
+ ] }),
27
+ user.actions?.map((action, index) => /* @__PURE__ */ jsxs("div", { children: [
28
+ (action.divider || index === 0) && /* @__PURE__ */ jsx(Menu.Divider, {}),
29
+ /* @__PURE__ */ jsx(Menu.Item, { leftSection: action.icon && /* @__PURE__ */ jsx(action.icon, { size: 14 }), color: action.color, onClick: action.onClick, children: action.label })
30
+ ] }, action.label))
31
+ ] })
32
+ ] })
33
+ ] })
34
+ ] });
18
35
  }
19
- //# sourceMappingURL=TopNavbar.js.map
36
+
37
+ export { TopNavbar };
38
+ //# sourceMappingURL=TopNavbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TopNavbar.js","sourceRoot":"","sources":["../../../src/components/AppLayout/TopNavbar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TopNavbar.js","sources":["../../../src/components/AppLayout/TopNavbar.tsx"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { ActionIcon, Avatar, Box, Burger, Group, Indicator, Menu, Text, useComputedColorScheme, useMantineColorScheme } from '@mantine/core';\nimport { Bell, Moon, Sun } from 'lucide-react';\nimport { type ReactNode } from 'react';\n\n/**\n * Importing user defined packages\n */\nimport { getInitials } from '@/lib';\nimport { type VoidFn } from '@/types';\n\nimport { useActiveNavLabel } from './hooks/use-active-nav-label';\nimport { type NavGroup, type NavItem, type NotificationsConfig, type UserInfo } from './layout.types';\n\n/**\n * Defining types\n */\n\ninterface TopNavbarProps {\n navItems: (NavItem | NavGroup)[];\n headerContent?: ReactNode;\n user?: UserInfo;\n notifications?: NotificationsConfig;\n showThemeToggle?: boolean;\n mobileOpened: boolean;\n onToggleMobile: VoidFn;\n}\n\n/**\n * Declaring the constants\n */\n\nexport function TopNavbar({ navItems, headerContent, user, notifications, showThemeToggle = true, mobileOpened, onToggleMobile }: TopNavbarProps) {\n const theme = useComputedColorScheme();\n const { toggleColorScheme } = useMantineColorScheme();\n const activeLabel = useActiveNavLabel(navItems);\n\n return (\n <Group h='100%' px='md' justify='space-between' wrap='nowrap'>\n {/* Left section */}\n <Group gap='sm' wrap='nowrap'>\n <Burger opened={mobileOpened} onClick={onToggleMobile} hiddenFrom='sm' size='sm' aria-label='Toggle navigation' />\n <Box visibleFrom='sm'>\n {headerContent ??\n (activeLabel && (\n <Text fw={500} size='sm' c='dimmed'>\n {activeLabel}\n </Text>\n ))}\n </Box>\n </Group>\n\n {/* Right section */}\n <Group gap='sm' wrap='nowrap'>\n {showThemeToggle && (\n <ActionIcon onClick={toggleColorScheme} size='lg' aria-label='Toggle color scheme'>\n {theme === 'dark' ? <Sun size={18} /> : <Moon size={18} />}\n </ActionIcon>\n )}\n\n {notifications && (\n <Indicator label={notifications.count} size={16} disabled={notifications.count === 0} offset={4}>\n <ActionIcon onClick={notifications.onClick} size='lg' aria-label='Notifications'>\n <Bell size={18} />\n </ActionIcon>\n </Indicator>\n )}\n\n {user && (\n <Menu position='bottom-end' offset={8} width={200}>\n <Menu.Target>\n <ActionIcon variant='transparent' size='lg' radius='xl' aria-label='User menu' ml='md'>\n <Avatar src={user.avatarUrl} size='sm' radius='xl' color='initials'>\n {!user.avatarUrl && getInitials(user.name)}\n </Avatar>\n </ActionIcon>\n </Menu.Target>\n <Menu.Dropdown>\n <Menu.Label>\n <Text size='sm' fw={500}>\n {user.name}\n </Text>\n {user.email && (\n <Text size='xs' c='dimmed'>\n {user.email}\n </Text>\n )}\n </Menu.Label>\n {user.actions?.map((action, index) => (\n <div key={action.label}>\n {(action.divider || index === 0) && <Menu.Divider />}\n <Menu.Item leftSection={action.icon && <action.icon size={14} />} color={action.color} onClick={action.onClick}>\n {action.label}\n </Menu.Item>\n </div>\n ))}\n </Menu.Dropdown>\n </Menu>\n )}\n </Group>\n </Group>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Importing npm packages
3
+ */
4
+ /**
5
+ * Importing user defined packages
6
+ */
7
+ import { type NavGroup, type NavItem } from './layout.types';
8
+ /**
9
+ * Defining types
10
+ */
11
+ /**
12
+ * Declaring the constants
13
+ */
14
+ export declare function isNavGroup(item: NavItem | NavGroup): item is NavGroup;
@@ -0,0 +1,6 @@
1
+ function isNavGroup(item) {
2
+ return "group" in item && "items" in item;
3
+ }
4
+
5
+ export { isNavGroup };
6
+ //# sourceMappingURL=app-layout.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-layout.utils.js","sources":["../../../src/components/AppLayout/app-layout.utils.ts"],"sourcesContent":["/**\n * Importing npm packages\n */\n\n/**\n * Importing user defined packages\n */\nimport { type NavGroup, type NavItem } from './layout.types';\n\n/**\n * Defining types\n */\n\n/**\n * Declaring the constants\n */\n\nexport function isNavGroup(item: NavItem | NavGroup): item is NavGroup {\n return 'group' in item && 'items' in item;\n}\n"],"names":[],"mappings":"AAiBO,SAAS,WAAW,IAAA,EAA4C;AACrE,EAAA,OAAO,OAAA,IAAW,QAAQ,OAAA,IAAW,IAAA;AACvC;;;;"}
@@ -0,0 +1,2 @@
1
+ import { type NavGroup, type NavItem } from '../layout.types';
2
+ export declare function useActiveNavLabel(navItems: (NavItem | NavGroup)[]): string | null;
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+ import { useLocation } from '@tanstack/react-router';
3
+ import { isNavGroup } from '../app-layout.utils.js';
4
+
5
+ function isRouteActive(path, current, exact) {
6
+ return exact ? current === path : current === path || current.startsWith(`${path}/`);
7
+ }
8
+ function findActiveLabel(items, current) {
9
+ for (const item of items) {
10
+ if (item.children?.length) {
11
+ const childLabel = findActiveLabel(item.children, current);
12
+ if (childLabel) return childLabel;
13
+ }
14
+ if (item.path && isRouteActive(item.path, current, item.exactMatch ?? false)) {
15
+ return item.label;
16
+ }
17
+ }
18
+ return null;
19
+ }
20
+ function flattenNavItems(navItems) {
21
+ return navItems.flatMap((item) => isNavGroup(item) ? item.items : [item]);
22
+ }
23
+ function useActiveNavLabel(navItems) {
24
+ const { pathname } = useLocation();
25
+ return findActiveLabel(flattenNavItems(navItems), pathname);
26
+ }
27
+
28
+ export { useActiveNavLabel };
29
+ //# sourceMappingURL=use-active-nav-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-active-nav-label.js","sources":["../../../../src/components/AppLayout/hooks/use-active-nav-label.ts"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { useLocation } from '@tanstack/react-router';\n\n/**\n * Importing user defined packages\n */\nimport { isNavGroup } from '../app-layout.utils';\nimport { type NavGroup, type NavItem } from '../layout.types';\n\n/**\n * Declaring the constants\n */\n\nfunction isRouteActive(path: string, current: string, exact: boolean): boolean {\n return exact ? current === path : current === path || current.startsWith(`${path}/`);\n}\n\nfunction findActiveLabel(items: NavItem[], current: string): string | null {\n for (const item of items) {\n if (item.children?.length) {\n const childLabel = findActiveLabel(item.children, current);\n if (childLabel) return childLabel;\n }\n if (item.path && isRouteActive(item.path, current, item.exactMatch ?? false)) {\n return item.label;\n }\n }\n return null;\n}\n\nfunction flattenNavItems(navItems: (NavItem | NavGroup)[]): NavItem[] {\n return navItems.flatMap(item => (isNavGroup(item) ? item.items : [item]));\n}\n\nexport function useActiveNavLabel(navItems: (NavItem | NavGroup)[]): string | null {\n const { pathname } = useLocation();\n return findActiveLabel(flattenNavItems(navItems), pathname);\n}\n"],"names":[],"mappings":"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"}
@@ -1,16 +1,14 @@
1
- /**
2
- * Importing npm packages
3
- */
1
+ 'use client';
4
2
  import { useDisclosure } from '@mantine/hooks';
5
3
  import { useState } from 'react';
6
- /**
7
- * Declaring the constants
8
- */
9
- export function useLayoutState(options = {}) {
10
- const { defaultCollapsed = false } = options;
11
- const [collapsed, setCollapsed] = useState(defaultCollapsed);
12
- const [mobileOpened, { toggle: toggleMobile, close: closeMobile }] = useDisclosure(false);
13
- const toggleCollapsed = () => setCollapsed(prev => !prev);
14
- return { collapsed, toggleCollapsed, mobileOpened, toggleMobile, closeMobile };
4
+
5
+ function useLayoutState(options = {}) {
6
+ const { defaultCollapsed = false } = options;
7
+ const [collapsed, setCollapsed] = useState(defaultCollapsed);
8
+ const [mobileOpened, { toggle: toggleMobile, close: closeMobile }] = useDisclosure(false);
9
+ const toggleCollapsed = () => setCollapsed((prev) => !prev);
10
+ return { collapsed, toggleCollapsed, mobileOpened, toggleMobile, closeMobile };
15
11
  }
16
- //# sourceMappingURL=use-layout-state.js.map
12
+
13
+ export { useLayoutState };
14
+ //# sourceMappingURL=use-layout-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-layout-state.js","sourceRoot":"","sources":["../../../../src/components/AppLayout/hooks/use-layout-state.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAcjC;;GAEG;AAEH,MAAM,UAAU,cAAc,CAAC,UAAiC,EAAE;IAChE,MAAM,EAAE,gBAAgB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAE7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC7D,MAAM,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAE1F,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE1D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"use-layout-state.js","sources":["../../../../src/components/AppLayout/hooks/use-layout-state.ts"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { useDisclosure } from '@mantine/hooks';\nimport { useState } from 'react';\n\n/**\n * Importing user defined packages\n */\n\n/**\n * Defining types\n */\n\ninterface UseLayoutStateOptions {\n defaultCollapsed?: boolean;\n}\n\n/**\n * Declaring the constants\n */\n\nexport function useLayoutState(options: UseLayoutStateOptions = {}) {\n const { defaultCollapsed = false } = options;\n\n const [collapsed, setCollapsed] = useState(defaultCollapsed);\n const [mobileOpened, { toggle: toggleMobile, close: closeMobile }] = useDisclosure(false);\n\n const toggleCollapsed = () => setCollapsed(prev => !prev);\n\n return { collapsed, toggleCollapsed, mobileOpened, toggleMobile, closeMobile };\n}\n"],"names":[],"mappings":";;;;AAsBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAC,CAAA,CAAG,CAAA;AAClE,CAAA,CAAA,MAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAErC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA;AAC3D,CAAA,CAAA,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,GAAO,WAAA,CAAA,CAAa,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,KAAK,CAAA,CAAA;AAExF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA;AAExD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA;AAC/E,CAAA;;"}
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Importing user defined packages
3
3
  */
4
- import { type NavItem } from '../layout.types.js';
5
- export declare function useSideNavbarItem(item: NavItem, onNavigate?: () => void): {
4
+ import { type VoidFn } from '../../../types';
5
+ import { type NavItem } from '../layout.types';
6
+ export declare function useSideNavbarItem(item: NavItem, onNavigate?: VoidFn): {
6
7
  isActive: boolean;
7
8
  hasChildren: boolean | undefined;
8
9
  hasActiveChild: boolean;
9
- handleClick: () => void;
10
- navigate: import("@tanstack/router-core").UseNavigateResult<string>;
10
+ onClick: (e: React.MouseEvent) => void;
11
11
  };
@@ -1,37 +1,26 @@
1
- /**
2
- * Importing npm packages
3
- */
4
- import { useLocation, useNavigate } from '@tanstack/react-router';
5
- /**
6
- * Defining types
7
- */
8
- /**
9
- * Declaring the constants
10
- */
1
+ 'use client';
2
+ import { useLocation } from '@tanstack/react-router';
3
+
11
4
  function isRouteActive(itemPath, currentPath, exactMatch) {
12
- if (exactMatch)
13
- return currentPath === itemPath;
14
- return currentPath === itemPath || currentPath.startsWith(`${itemPath}/`);
5
+ if (exactMatch) return currentPath === itemPath;
6
+ return currentPath === itemPath || currentPath.startsWith(`${itemPath}/`);
15
7
  }
16
8
  function isItemOrChildActive(item, currentPath) {
17
- if (item.path && isRouteActive(item.path, currentPath, item.exactMatch ?? false))
18
- return true;
19
- return item.children?.some(child => isItemOrChildActive(child, currentPath)) ?? false;
9
+ if (item.path && isRouteActive(item.path, currentPath, item.exactMatch ?? false)) return true;
10
+ return item.children?.some((child) => isItemOrChildActive(child, currentPath)) ?? false;
20
11
  }
21
- export function useSideNavbarItem(item, onNavigate) {
22
- const location = useLocation();
23
- const navigate = useNavigate();
24
- const currentPath = location.pathname;
25
- const isActive = item.path ? isRouteActive(item.path, currentPath, item.exactMatch ?? false) : false;
26
- const hasChildren = item.children && item.children.length > 0;
27
- const hasActiveChild = hasChildren ? isItemOrChildActive(item, currentPath) : false;
28
- const handleClick = () => {
29
- item.onClick?.();
30
- if (item.path)
31
- navigate({ to: item.path });
32
- if (!hasChildren)
33
- onNavigate?.();
34
- };
35
- return { isActive, hasChildren, hasActiveChild, handleClick, navigate };
12
+ function useSideNavbarItem(item, onNavigate) {
13
+ const location = useLocation();
14
+ const currentPath = location.pathname;
15
+ const isActive = item.path ? isRouteActive(item.path, currentPath, item.exactMatch ?? false) : false;
16
+ const hasChildren = item.children && item.children.length > 0;
17
+ const hasActiveChild = hasChildren ? isItemOrChildActive(item, currentPath) : false;
18
+ const onClick = (e) => {
19
+ item.onClick?.(e);
20
+ if (item.path) onNavigate?.();
21
+ };
22
+ return { isActive, hasChildren, hasActiveChild, onClick };
36
23
  }
37
- //# sourceMappingURL=use-side-navbar-item.js.map
24
+
25
+ export { useSideNavbarItem };
26
+ //# sourceMappingURL=use-side-navbar-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-side-navbar-item.js","sourceRoot":"","sources":["../../../../src/components/AppLayout/hooks/use-side-navbar-item.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAOlE;;GAEG;AAEH;;GAEG;AAEH,SAAS,aAAa,CAAC,QAAgB,EAAE,WAAmB,EAAE,UAAmB;IAC/E,IAAI,UAAU;QAAE,OAAO,WAAW,KAAK,QAAQ,CAAC;IAChD,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAa,EAAE,WAAmB;IAC7D,IAAI,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9F,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAa,EAAE,UAAuB;IACtE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrG,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACpF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI;YAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW;YAAE,UAAU,EAAE,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"use-side-navbar-item.js","sources":["../../../../src/components/AppLayout/hooks/use-side-navbar-item.ts"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { useLocation } from '@tanstack/react-router';\n\n/**\n * Importing user defined packages\n */\nimport { type VoidFn } from '@/types';\n\nimport { type NavItem } from '../layout.types';\n\n/**\n * Defining types\n */\n\n/**\n * Declaring the constants\n */\n\nfunction isRouteActive(itemPath: string, currentPath: string, exactMatch: boolean): boolean {\n if (exactMatch) return currentPath === itemPath;\n return currentPath === itemPath || currentPath.startsWith(`${itemPath}/`);\n}\n\nfunction isItemOrChildActive(item: NavItem, currentPath: string): boolean {\n if (item.path && isRouteActive(item.path, currentPath, item.exactMatch ?? false)) return true;\n return item.children?.some(child => isItemOrChildActive(child, currentPath)) ?? false;\n}\n\nexport function useSideNavbarItem(item: NavItem, onNavigate?: VoidFn) {\n const location = useLocation();\n const currentPath = location.pathname;\n\n const isActive = item.path ? isRouteActive(item.path, currentPath, item.exactMatch ?? false) : false;\n const hasChildren = item.children && item.children.length > 0;\n const hasActiveChild = hasChildren ? isItemOrChildActive(item, currentPath) : false;\n const onClick = (e: React.MouseEvent) => {\n item.onClick?.(e);\n if (item.path) onNavigate?.();\n };\n\n return { isActive, hasChildren, hasActiveChild, onClick };\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export * from './AppLayout.js';
2
- export * from './layout.types.js';
2
+ export * from './layout.types';
@@ -2,7 +2,7 @@
2
2
  * Importing npm packages
3
3
  */
4
4
  import { type LucideIcon } from 'lucide-react';
5
- import { type ReactNode } from 'react';
5
+ import { type MouseEventHandler } from 'react';
6
6
  /**
7
7
  * Importing user defined packages
8
8
  */
@@ -19,7 +19,7 @@ export interface NavItem {
19
19
  /** Route path — used for navigation and active-state matching */
20
20
  path?: string;
21
21
  /** Click handler — called in addition to navigation when `path` is set */
22
- onClick?: () => void;
22
+ onClick?: MouseEventHandler;
23
23
  /** Nested children — renders accordion (expanded) or flyout (collapsed) */
24
24
  children?: NavItem[];
25
25
  /** If true, active match uses exact equality; otherwise prefix match. @default false */
@@ -30,7 +30,7 @@ export interface NavItem {
30
30
  export interface UserMenuAction {
31
31
  label: string;
32
32
  icon?: LucideIcon;
33
- onClick: () => void;
33
+ onClick: MouseEventHandler<HTMLButtonElement>;
34
34
  color?: string;
35
35
  /** If true, a divider is rendered before this action */
36
36
  divider?: boolean;
@@ -49,11 +49,11 @@ export interface NotificationsConfig {
49
49
  /** Unread count displayed as badge; 0 hides badge */
50
50
  count: number;
51
51
  /** Called when the bell icon is clicked */
52
- onClick: () => void;
52
+ onClick: MouseEventHandler<HTMLButtonElement>;
53
53
  }
54
- export interface FooterConfig {
55
- /** Version string, e.g. "v1.2.3" */
56
- version?: string;
57
- /** Completely custom footer content overrides default rendering */
58
- content?: ReactNode;
54
+ export interface NavGroup {
55
+ /** Section header label displayed above the grouped items */
56
+ group: string;
57
+ /** Nav items belonging to this group */
58
+ items: NavItem[];
59
59
  }
@@ -8,13 +8,9 @@ import { type ReactElement } from 'react';
8
8
  /**
9
9
  * Defining types
10
10
  */
11
- declare const AlphabetBrand: unique symbol;
12
- export type Alphabet = (props: React.SVGProps<SVGSVGElement>) => ReactElement<SVGSVGElement> & {
13
- [AlphabetBrand]: undefined;
11
+ export type Alphabet = ((props: React.SVGProps<SVGSVGElement>) => ReactElement<SVGSVGElement>) & {
12
+ char: string;
14
13
  };
15
- /**
16
- * Declaring the constants
17
- */
18
14
  export declare const A: Alphabet;
19
15
  export declare const B: Alphabet;
20
16
  export declare const C: Alphabet;
@@ -41,4 +37,3 @@ export declare const W: Alphabet;
41
37
  export declare const X: Alphabet;
42
38
  export declare const Y: Alphabet;
43
39
  export declare const Z: Alphabet;
44
- export {};
@@ -1,31 +1,119 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Declaring the constants
4
- */
5
- export const A = ((props) => (_jsxs("svg", { ...props, viewBox: '2 -70 58 70', children: [_jsx("title", { children: "A" }), _jsx("path", { d: 'M2 0L27-70L35-70L60 0L52 0L46-19L16-19L10 0L2 0ZM19-26L43-26L31-61L31-61L19-26Z' })] })));
6
- export const B = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 51.6 70', children: [_jsx("title", { children: "B" }), _jsx("path", { d: 'M8 0L8-70L47-70L57-61L57-41L52-37L60-29L60-10L50 0L8 0ZM15-38L44-38L49-43L49-59L44-63L15-63L15-38ZM15-7L46-7L52-12L52-26L46-32L15-32L15-7Z' })] })));
7
- export const C = ((props) => (_jsxs("svg", { ...props, viewBox: '7 -70 51.6 70', children: [_jsx("title", { children: "C" }), _jsx("path", { d: 'M18 0L7-11L7-59L18-70L48-70L59-59L59-53L51-53L51-57L45-63L21-63L15-57L15-14L21-7L45-7L51-13L51-17L59-17L59-11L48 0L18 0Z' })] })));
8
- export const D = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 51.400000000000006 70', children: [_jsx("title", { children: "D" }), _jsx("path", { d: 'M8 0L8-70L48-70L59-59L59-11L48 0L8 0ZM16-7L45-7L52-14L52-57L45-63L16-63L16-7Z' })] })));
9
- export const E = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 45.2 70', children: [_jsx("title", { children: "E" }), _jsx("path", { d: 'M8 0L8-70L53-70L53-63L16-63L16-39L50-39L50-32L16-32L16-7L53-7L53 0L8 0Z' })] })));
10
- export const F = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 44.2 70', children: [_jsx("title", { children: "F" }), _jsx("path", { d: 'M8 0L8-70L52-70L52-63L16-63L16-38L47-38L47-31L16-31L16 0L8 0Z' })] })));
11
- export const G = ((props) => (_jsxs("svg", { ...props, viewBox: '7 -70 52.2 70', children: [_jsx("title", { children: "G" }), _jsx("path", { d: 'M18 0L7-11L7-59L18-70L49-70L59-59L59-53L52-53L52-57L45-63L21-63L15-57L15-14L21-7L45-7L52-14L52-30L36-30L36-37L59-37L59-11L48 0L18 0Z' })] })));
12
- export const H = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 51.400000000000006 70', children: [_jsx("title", { children: "H" }), _jsx("path", { d: 'M8 0L8-70L16-70L16-38L52-38L52-70L59-70L59 0L52 0L52-32L16-32L16 0L8 0Z' })] })));
13
- export const I = ((props) => (_jsxs("svg", { ...props, viewBox: '8.5 -70 7.600000000000001 70', children: [_jsx("title", { children: "I" }), _jsx("path", { d: 'M9 0L9-70L16-70L16 0L9 0Z' })] })));
14
- export const J = ((props) => (_jsxs("svg", { ...props, viewBox: '3.5 -70 44.6 70', children: [_jsx("title", { children: "J" }), _jsx("path", { d: 'M15 0L4-11L4-21L11-21L11-14L18-7L35-7L41-12L41-70L48-70L48-10L38 0L15 0Z' })] })));
15
- export const K = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 51.7 70', children: [_jsx("title", { children: "K" }), _jsx("path", { d: 'M8 0L8-70L16-70L16-38L32-38L50-70L58-70L38-35L60 0L51 0L32-32L16-32L16 0L8 0Z' })] })));
16
- export const L = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 43.2 70', children: [_jsx("title", { children: "L" }), _jsx("path", { d: 'M8 0L8-70L16-70L16-7L51-7L51 0L8 0Z' })] })));
17
- export const M = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 61.7 70', children: [_jsx("title", { children: "M" }), _jsx("path", { d: 'M8 0L8-70L16-70L39-16L39-16L61-70L70-70L70 0L63 0L63-55L62-55L42-7L36-7L15-55L15-55L15 0L8 0Z' })] })));
18
- export const N = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 51.300000000000004 70', children: [_jsx("title", { children: "N" }), _jsx("path", { d: 'M8 0L8-70L15-70L52-12L52-12L52-70L59-70L59 0L52 0L15-58L15-58L15 0L8 0Z' })] })));
19
- export const O = ((props) => (_jsxs("svg", { ...props, viewBox: '7 -70 53.6 70', children: [_jsx("title", { children: "O" }), _jsx("path", { d: 'M18 0L7-11L7-59L18-70L50-70L61-59L61-11L50 0L18 0ZM21-7L46-7L53-14L53-57L46-63L21-63L15-57L15-14L21-7Z' })] })));
20
- export const P = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 49.2 70', children: [_jsx("title", { children: "P" }), _jsx("path", { d: 'M8 0L8-70L48-70L57-61L57-38L48-29L16-29L16 0L8 0ZM16-36L45-36L50-41L50-59L45-63L16-63L16-36Z' })] })));
21
- export const Q = ((props) => (_jsxs("svg", { ...props, viewBox: '7 -70 56 80.8', children: [_jsx("title", { children: "Q" }), _jsx("path", { d: 'M53-4L63 6L58 11L48 0L18 0L7-11L7-59L18-70L50-70L61-59L61-11L53-4ZM46-7L53-14L53-57L46-63L21-63L15-57L15-14L21-7L46-7Z' })] })));
22
- export const R = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 49.6 70', children: [_jsx("title", { children: "R" }), _jsx("path", { d: 'M49-31L58-21L58 0L50 0L50-19L40-29L16-29L16 0L8 0L8-70L48-70L57-61L57-39L49-31ZM16-63L16-36L45-36L50-41L50-59L45-63L16-63Z' })] })));
23
- export const S = ((props) => (_jsxs("svg", { ...props, viewBox: '6.5 -70 48.800000000000004 70', children: [_jsx("title", { children: "S" }), _jsx("path", { d: 'M16 0L7-9L7-16L14-16L14-12L19-7L43-7L48-12L48-28L43-33L16-33L7-42L7-61L16-70L45-70L55-61L55-54L47-54L47-58L42-63L19-63L14-58L14-44L19-39L46-39L55-30L55-9L46 0L16 0Z' })] })));
24
- export const T = ((props) => (_jsxs("svg", { ...props, viewBox: '3 -70 50 70', children: [_jsx("title", { children: "T" }), _jsx("path", { d: 'M24 0L24-63L3-63L3-70L53-70L53-63L32-63L32 0L24 0Z' })] })));
25
- export const U = ((props) => (_jsxs("svg", { ...props, viewBox: '8 -70 51.6 70', children: [_jsx("title", { children: "U" }), _jsx("path", { d: 'M19 0L8-11L8-70L16-70L16-14L22-7L45-7L52-14L52-70L60-70L60-11L49 0L19 0Z' })] })));
26
- export const V = ((props) => (_jsxs("svg", { ...props, viewBox: '2.5 -70 57.6 70', children: [_jsx("title", { children: "V" }), _jsx("path", { d: 'M27 0L3-70L10-70L31-9L31-9L52-70L60-70L35 0L27 0Z' })] })));
27
- export const W = ((props) => (_jsxs("svg", { ...props, viewBox: '4 -70 78.30000000000001 70', children: [_jsx("title", { children: "W" }), _jsx("path", { d: 'M18 0L4-70L12-70L23-11L23-11L40-70L47-70L64-11L64-11L75-70L82-70L68 0L60 0L44-59L44-59L26 0L18 0Z' })] })));
28
- export const X = ((props) => (_jsxs("svg", { ...props, viewBox: '2 -70 56.400000000000006 70', children: [_jsx("title", { children: "X" }), _jsx("path", { d: 'M2 0L26-36L3-70L12-70L30-42L49-70L57-70L35-36L58 0L50 0L30-30L11 0L2 0Z' })] })));
29
- export const Y = ((props) => (_jsxs("svg", { ...props, viewBox: '1.5 -70 56.2 70', children: [_jsx("title", { children: "Y" }), _jsx("path", { d: 'M26 0L26-29L2-70L10-70L30-36L30-36L50-70L58-70L33-29L33 0L26 0Z' })] })));
30
- export const Z = ((props) => (_jsxs("svg", { ...props, viewBox: '5 -70 46.800000000000004 70', children: [_jsx("title", { children: "Z" }), _jsx("path", { d: 'M5 0L5-8L44-63L44-64L6-64L6-70L52-70L52-63L13-7L13-7L52-7L52 0L5 0Z' })] })));
31
- //# sourceMappingURL=Alphabets.js.map
1
+ 'use client';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+
4
+ function createAlphabet(char, { viewBox, d }) {
5
+ return Object.assign(
6
+ (props) => /* @__PURE__ */ jsxs("svg", { ...props, viewBox, children: [
7
+ /* @__PURE__ */ jsx("title", { children: char }),
8
+ /* @__PURE__ */ jsx("path", { d })
9
+ ] }),
10
+ { char }
11
+ );
12
+ }
13
+ const A = createAlphabet("A", {
14
+ viewBox: "2 -70 58 70",
15
+ d: "M2 0L27-70L35-70L60 0L52 0L46-19L16-19L10 0L2 0ZM19-26L43-26L31-61L31-61L19-26Z"
16
+ });
17
+ const B = createAlphabet("B", {
18
+ viewBox: "8 -70 51.6 70",
19
+ d: "M8 0L8-70L47-70L57-61L57-41L52-37L60-29L60-10L50 0L8 0ZM15-38L44-38L49-43L49-59L44-63L15-63L15-38ZM15-7L46-7L52-12L52-26L46-32L15-32L15-7Z"
20
+ });
21
+ const C = createAlphabet("C", {
22
+ viewBox: "7 -70 51.6 70",
23
+ d: "M18 0L7-11L7-59L18-70L48-70L59-59L59-53L51-53L51-57L45-63L21-63L15-57L15-14L21-7L45-7L51-13L51-17L59-17L59-11L48 0L18 0Z"
24
+ });
25
+ const D = createAlphabet("D", {
26
+ viewBox: "8 -70 51.400000000000006 70",
27
+ d: "M8 0L8-70L48-70L59-59L59-11L48 0L8 0ZM16-7L45-7L52-14L52-57L45-63L16-63L16-7Z"
28
+ });
29
+ const E = createAlphabet("E", {
30
+ viewBox: "8 -70 45.2 70",
31
+ d: "M8 0L8-70L53-70L53-63L16-63L16-39L50-39L50-32L16-32L16-7L53-7L53 0L8 0Z"
32
+ });
33
+ const F = createAlphabet("F", {
34
+ viewBox: "8 -70 44.2 70",
35
+ d: "M8 0L8-70L52-70L52-63L16-63L16-38L47-38L47-31L16-31L16 0L8 0Z"
36
+ });
37
+ const G = createAlphabet("G", {
38
+ viewBox: "7 -70 52.2 70",
39
+ d: "M18 0L7-11L7-59L18-70L49-70L59-59L59-53L52-53L52-57L45-63L21-63L15-57L15-14L21-7L45-7L52-14L52-30L36-30L36-37L59-37L59-11L48 0L18 0Z"
40
+ });
41
+ const H = createAlphabet("H", {
42
+ viewBox: "8 -70 51.400000000000006 70",
43
+ d: "M8 0L8-70L16-70L16-38L52-38L52-70L59-70L59 0L52 0L52-32L16-32L16 0L8 0Z"
44
+ });
45
+ const I = createAlphabet("I", {
46
+ viewBox: "8.5 -70 7.600000000000001 70",
47
+ d: "M9 0L9-70L16-70L16 0L9 0Z"
48
+ });
49
+ const J = createAlphabet("J", {
50
+ viewBox: "3.5 -70 44.6 70",
51
+ d: "M15 0L4-11L4-21L11-21L11-14L18-7L35-7L41-12L41-70L48-70L48-10L38 0L15 0Z"
52
+ });
53
+ const K = createAlphabet("K", {
54
+ viewBox: "8 -70 51.7 70",
55
+ d: "M8 0L8-70L16-70L16-38L32-38L50-70L58-70L38-35L60 0L51 0L32-32L16-32L16 0L8 0Z"
56
+ });
57
+ const L = createAlphabet("L", {
58
+ viewBox: "8 -70 43.2 70",
59
+ d: "M8 0L8-70L16-70L16-7L51-7L51 0L8 0Z"
60
+ });
61
+ const M = createAlphabet("M", {
62
+ viewBox: "8 -70 61.7 70",
63
+ d: "M8 0L8-70L16-70L39-16L39-16L61-70L70-70L70 0L63 0L63-55L62-55L42-7L36-7L15-55L15-55L15 0L8 0Z"
64
+ });
65
+ const N = createAlphabet("N", {
66
+ viewBox: "8 -70 51.300000000000004 70",
67
+ d: "M8 0L8-70L15-70L52-12L52-12L52-70L59-70L59 0L52 0L15-58L15-58L15 0L8 0Z"
68
+ });
69
+ const O = createAlphabet("O", {
70
+ viewBox: "7 -70 53.6 70",
71
+ d: "M18 0L7-11L7-59L18-70L50-70L61-59L61-11L50 0L18 0ZM21-7L46-7L53-14L53-57L46-63L21-63L15-57L15-14L21-7Z"
72
+ });
73
+ const P = createAlphabet("P", {
74
+ viewBox: "8 -70 49.2 70",
75
+ d: "M8 0L8-70L48-70L57-61L57-38L48-29L16-29L16 0L8 0ZM16-36L45-36L50-41L50-59L45-63L16-63L16-36Z"
76
+ });
77
+ const Q = createAlphabet("Q", {
78
+ viewBox: "7 -70 56 80.8",
79
+ d: "M53-4L63 6L58 11L48 0L18 0L7-11L7-59L18-70L50-70L61-59L61-11L53-4ZM46-7L53-14L53-57L46-63L21-63L15-57L15-14L21-7L46-7Z"
80
+ });
81
+ const R = createAlphabet("R", {
82
+ viewBox: "8 -70 49.6 70",
83
+ d: "M49-31L58-21L58 0L50 0L50-19L40-29L16-29L16 0L8 0L8-70L48-70L57-61L57-39L49-31ZM16-63L16-36L45-36L50-41L50-59L45-63L16-63Z"
84
+ });
85
+ const S = createAlphabet("S", {
86
+ viewBox: "6.5 -70 48.800000000000004 70",
87
+ d: "M16 0L7-9L7-16L14-16L14-12L19-7L43-7L48-12L48-28L43-33L16-33L7-42L7-61L16-70L45-70L55-61L55-54L47-54L47-58L42-63L19-63L14-58L14-44L19-39L46-39L55-30L55-9L46 0L16 0Z"
88
+ });
89
+ const T = createAlphabet("T", {
90
+ viewBox: "3 -70 50 70",
91
+ d: "M24 0L24-63L3-63L3-70L53-70L53-63L32-63L32 0L24 0Z"
92
+ });
93
+ const U = createAlphabet("U", {
94
+ viewBox: "8 -70 51.6 70",
95
+ d: "M19 0L8-11L8-70L16-70L16-14L22-7L45-7L52-14L52-70L60-70L60-11L49 0L19 0Z"
96
+ });
97
+ const V = createAlphabet("V", {
98
+ viewBox: "2.5 -70 57.6 70",
99
+ d: "M27 0L3-70L10-70L31-9L31-9L52-70L60-70L35 0L27 0Z"
100
+ });
101
+ const W = createAlphabet("W", {
102
+ viewBox: "4 -70 78.30000000000001 70",
103
+ d: "M18 0L4-70L12-70L23-11L23-11L40-70L47-70L64-11L64-11L75-70L82-70L68 0L60 0L44-59L44-59L26 0L18 0Z"
104
+ });
105
+ const X = createAlphabet("X", {
106
+ viewBox: "2 -70 56.400000000000006 70",
107
+ d: "M2 0L26-36L3-70L12-70L30-42L49-70L57-70L35-36L58 0L50 0L30-30L11 0L2 0Z"
108
+ });
109
+ const Y = createAlphabet("Y", {
110
+ viewBox: "1.5 -70 56.2 70",
111
+ d: "M26 0L26-29L2-70L10-70L30-36L30-36L50-70L58-70L33-29L33 0L26 0Z"
112
+ });
113
+ const Z = createAlphabet("Z", {
114
+ viewBox: "5 -70 46.800000000000004 70",
115
+ d: "M5 0L5-8L44-63L44-64L6-64L6-70L52-70L52-63L13-7L13-7L52-7L52 0L5 0Z"
116
+ });
117
+
118
+ export { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z };
119
+ //# sourceMappingURL=Alphabets.js.map