pelatform-ui 1.4.3 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,3 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import * as class_variance_authority_types from 'class-variance-authority/types';
3
2
  import * as React from 'react';
4
3
  import { VariantProps } from 'class-variance-authority';
@@ -6,10 +5,10 @@ import { VariantProps } from 'class-variance-authority';
6
5
  declare const alertVariants: (props?: ({
7
6
  variant?: "default" | "destructive" | "info" | "success" | "warning" | "invert" | null | undefined;
8
7
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
- declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): react_jsx_runtime.JSX.Element;
10
- declare function AlertTitle({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
11
- declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
12
- declare function AlertAction({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
8
+ declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): React.JSX.Element;
9
+ declare function AlertTitle({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
10
+ declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
11
+ declare function AlertAction({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
13
12
 
14
13
  declare const buttonVariants: (props?: ({
15
14
  variant?: "link" | "default" | "outline" | "secondary" | "ghost" | "destructive" | null | undefined;
@@ -17,6 +16,6 @@ declare const buttonVariants: (props?: ({
17
16
  } & class_variance_authority_types.ClassProp) | undefined) => string;
18
17
  declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
19
18
  asChild?: boolean;
20
- }): react_jsx_runtime.JSX.Element;
19
+ }): React.JSX.Element;
21
20
 
22
21
  export { Alert as A, Button as B, AlertAction as a, AlertDescription as b, AlertTitle as c, buttonVariants as d };
@@ -1,14 +1,19 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import * as React$1 from 'react';
3
2
  import React__default, { ReactNode, ComponentProps } from 'react';
4
3
  import { QueryClient } from '@tanstack/react-query';
5
4
  import { ThemeProvider as ThemeProvider$1 } from 'next-themes';
6
- import { A as Alert, B as Button } from './button-Bc3N6jWT.js';
7
- import { B as Badge } from './badge-CnQznr5B.js';
5
+ import { A as Alert, B as Button } from './button-BHmUZBYK.js';
6
+ import { B as Badge } from './badge-BScpb9q4.js';
8
7
  import { ThemeMode } from '@pelatform/utils';
9
8
  import 'class-variance-authority/types';
10
9
  import 'class-variance-authority';
11
10
 
11
+ /**
12
+ * Icon Collection Component
13
+ * Provides a comprehensive collection of SVG icons for common brands and services
14
+ * All icons are optimized for web use and support currentColor for theming
15
+ */
16
+
12
17
  /**
13
18
  * Props interface for icon components
14
19
  * Extends standard HTML SVG element attributes for full customization
@@ -38,54 +43,54 @@ type IconProps = React__default.HTMLAttributes<SVGElement>;
38
43
  * ```
39
44
  */
40
45
  declare const Icons: {
41
- Anthropic: (props: IconProps) => react_jsx_runtime.JSX.Element;
42
- Apple: (props: IconProps) => react_jsx_runtime.JSX.Element;
43
- Aria: (props: IconProps) => react_jsx_runtime.JSX.Element;
44
- Discord: (props: IconProps) => react_jsx_runtime.JSX.Element;
45
- Dropbox: (props: IconProps) => react_jsx_runtime.JSX.Element;
46
- Facebook: (props: IconProps) => react_jsx_runtime.JSX.Element;
47
- FacebookColorful: (props: IconProps) => react_jsx_runtime.JSX.Element;
48
- Github: (props: IconProps) => react_jsx_runtime.JSX.Element;
49
- Gitlab: (props: IconProps) => react_jsx_runtime.JSX.Element;
50
- Google: (props: IconProps) => react_jsx_runtime.JSX.Element;
51
- GoogleColorful: (props: IconProps) => react_jsx_runtime.JSX.Element;
52
- Huggingface: (props: IconProps) => react_jsx_runtime.JSX.Element;
53
- Instagram: (props: IconProps) => react_jsx_runtime.JSX.Element;
54
- Kick: (props: IconProps) => react_jsx_runtime.JSX.Element;
55
- Linear: (props: IconProps) => react_jsx_runtime.JSX.Element;
56
- Linkedin: (props: IconProps) => react_jsx_runtime.JSX.Element;
57
- LinkedinColorful: (props: IconProps) => react_jsx_runtime.JSX.Element;
58
- Microsoft: (props: IconProps) => react_jsx_runtime.JSX.Element;
59
- Nextjs: (props: IconProps) => react_jsx_runtime.JSX.Element;
60
- Notion: (props: IconProps) => react_jsx_runtime.JSX.Element;
61
- Npm: (props: IconProps) => react_jsx_runtime.JSX.Element;
62
- Openai: (props: IconProps) => react_jsx_runtime.JSX.Element;
63
- Paypal: (props: IconProps) => react_jsx_runtime.JSX.Element;
64
- Pelatform: (props: IconProps) => react_jsx_runtime.JSX.Element;
65
- Pnpm: (props: IconProps) => react_jsx_runtime.JSX.Element;
66
- Postgresql: (props: IconProps) => react_jsx_runtime.JSX.Element;
67
- Prisma: (props: IconProps) => react_jsx_runtime.JSX.Element;
68
- Radix: (props: IconProps) => react_jsx_runtime.JSX.Element;
69
- Radixui: (props: IconProps) => react_jsx_runtime.JSX.Element;
70
- React: (props: IconProps) => react_jsx_runtime.JSX.Element;
71
- Reddit: (props: IconProps) => react_jsx_runtime.JSX.Element;
72
- Roblox: (props: IconProps) => react_jsx_runtime.JSX.Element;
73
- Scira: (props: IconProps) => react_jsx_runtime.JSX.Element;
74
- Scribble: (props: IconProps) => react_jsx_runtime.JSX.Element;
75
- Slack: (props: IconProps) => react_jsx_runtime.JSX.Element;
76
- Spotify: (props: IconProps) => react_jsx_runtime.JSX.Element;
77
- Supabase: (props: IconProps) => react_jsx_runtime.JSX.Element;
78
- Tailwind: (props: IconProps) => react_jsx_runtime.JSX.Element;
79
- Telegram: (props: IconProps) => react_jsx_runtime.JSX.Element;
80
- Tiktok: (props: IconProps) => react_jsx_runtime.JSX.Element;
81
- Twitch: (props: IconProps) => react_jsx_runtime.JSX.Element;
82
- Twitter: (props: IconProps) => react_jsx_runtime.JSX.Element;
83
- Vk: (props: IconProps) => react_jsx_runtime.JSX.Element;
84
- WhatsApp: (props: IconProps) => react_jsx_runtime.JSX.Element;
85
- X: (props: IconProps) => react_jsx_runtime.JSX.Element;
86
- Yarn: (props: IconProps) => react_jsx_runtime.JSX.Element;
87
- Youtube: (props: IconProps) => react_jsx_runtime.JSX.Element;
88
- Zoom: (props: IconProps) => react_jsx_runtime.JSX.Element;
46
+ Anthropic: (props: IconProps) => React__default.JSX.Element;
47
+ Apple: (props: IconProps) => React__default.JSX.Element;
48
+ Aria: (props: IconProps) => React__default.JSX.Element;
49
+ Discord: (props: IconProps) => React__default.JSX.Element;
50
+ Dropbox: (props: IconProps) => React__default.JSX.Element;
51
+ Facebook: (props: IconProps) => React__default.JSX.Element;
52
+ FacebookColorful: (props: IconProps) => React__default.JSX.Element;
53
+ Github: (props: IconProps) => React__default.JSX.Element;
54
+ Gitlab: (props: IconProps) => React__default.JSX.Element;
55
+ Google: (props: IconProps) => React__default.JSX.Element;
56
+ GoogleColorful: (props: IconProps) => React__default.JSX.Element;
57
+ Huggingface: (props: IconProps) => React__default.JSX.Element;
58
+ Instagram: (props: IconProps) => React__default.JSX.Element;
59
+ Kick: (props: IconProps) => React__default.JSX.Element;
60
+ Linear: (props: IconProps) => React__default.JSX.Element;
61
+ Linkedin: (props: IconProps) => React__default.JSX.Element;
62
+ LinkedinColorful: (props: IconProps) => React__default.JSX.Element;
63
+ Microsoft: (props: IconProps) => React__default.JSX.Element;
64
+ Nextjs: (props: IconProps) => React__default.JSX.Element;
65
+ Notion: (props: IconProps) => React__default.JSX.Element;
66
+ Npm: (props: IconProps) => React__default.JSX.Element;
67
+ Openai: (props: IconProps) => React__default.JSX.Element;
68
+ Paypal: (props: IconProps) => React__default.JSX.Element;
69
+ Pelatform: (props: IconProps) => React__default.JSX.Element;
70
+ Pnpm: (props: IconProps) => React__default.JSX.Element;
71
+ Postgresql: (props: IconProps) => React__default.JSX.Element;
72
+ Prisma: (props: IconProps) => React__default.JSX.Element;
73
+ Radix: (props: IconProps) => React__default.JSX.Element;
74
+ Radixui: (props: IconProps) => React__default.JSX.Element;
75
+ React: (props: IconProps) => React__default.JSX.Element;
76
+ Reddit: (props: IconProps) => React__default.JSX.Element;
77
+ Roblox: (props: IconProps) => React__default.JSX.Element;
78
+ Scira: (props: IconProps) => React__default.JSX.Element;
79
+ Scribble: (props: IconProps) => React__default.JSX.Element;
80
+ Slack: (props: IconProps) => React__default.JSX.Element;
81
+ Spotify: (props: IconProps) => React__default.JSX.Element;
82
+ Supabase: (props: IconProps) => React__default.JSX.Element;
83
+ Tailwind: (props: IconProps) => React__default.JSX.Element;
84
+ Telegram: (props: IconProps) => React__default.JSX.Element;
85
+ Tiktok: (props: IconProps) => React__default.JSX.Element;
86
+ Twitch: (props: IconProps) => React__default.JSX.Element;
87
+ Twitter: (props: IconProps) => React__default.JSX.Element;
88
+ Vk: (props: IconProps) => React__default.JSX.Element;
89
+ WhatsApp: (props: IconProps) => React__default.JSX.Element;
90
+ X: (props: IconProps) => React__default.JSX.Element;
91
+ Yarn: (props: IconProps) => React__default.JSX.Element;
92
+ Youtube: (props: IconProps) => React__default.JSX.Element;
93
+ Zoom: (props: IconProps) => React__default.JSX.Element;
89
94
  };
90
95
 
91
96
  /**
@@ -133,7 +138,7 @@ declare const Icons: {
133
138
  */
134
139
  declare function Logo({ className }: {
135
140
  className?: string;
136
- }): react_jsx_runtime.JSX.Element;
141
+ }): React$1.JSX.Element;
137
142
 
138
143
  /**
139
144
  * Main Navigation Component
@@ -216,7 +221,7 @@ interface NavigationProps {
216
221
  * <MainNav items={navItems} />
217
222
  * ```
218
223
  */
219
- declare function MainNav({ pathname, items, className }: NavigationProps): react_jsx_runtime.JSX.Element;
224
+ declare function MainNav({ pathname, items, className }: NavigationProps): React$1.JSX.Element;
220
225
 
221
226
  /**
222
227
  * MobileNav Component
@@ -273,14 +278,14 @@ declare function MainNav({ pathname, items, className }: NavigationProps): react
273
278
  declare function MobileNav({ children, className }: {
274
279
  children: ReactNode;
275
280
  className?: string;
276
- }): react_jsx_runtime.JSX.Element;
281
+ }): React$1.JSX.Element;
277
282
  interface MobileNavItemRendererProps {
278
283
  item: NavItem;
279
284
  pathname: string | null;
280
285
  level: number;
281
286
  onOpenChange: (open: boolean) => void;
282
287
  }
283
- declare function MobileNavItemRenderer({ item, pathname, level, onOpenChange, }: MobileNavItemRendererProps): react_jsx_runtime.JSX.Element;
288
+ declare function MobileNavItemRenderer({ item, pathname, level, onOpenChange, }: MobileNavItemRendererProps): React$1.JSX.Element;
284
289
 
285
290
  /**
286
291
  * SiteFooter Component
@@ -338,7 +343,7 @@ declare function MobileNavItemRenderer({ item, pathname, level, onOpenChange, }:
338
343
  declare function SiteFooter({ children, className }: {
339
344
  children: ReactNode;
340
345
  className?: string;
341
- }): react_jsx_runtime.JSX.Element;
346
+ }): React$1.JSX.Element;
342
347
 
343
348
  /**
344
349
  * SiteHeader Component
@@ -394,7 +399,7 @@ declare function SiteFooter({ children, className }: {
394
399
  declare function SiteHeader({ children, className }: {
395
400
  children: ReactNode;
396
401
  className?: string;
397
- }): react_jsx_runtime.JSX.Element;
402
+ }): React$1.JSX.Element;
398
403
 
399
404
  /**
400
405
  * React Query provider component with optimized configuration
@@ -436,7 +441,13 @@ declare function SiteHeader({ children, className }: {
436
441
  declare const QueryProvider: ({ client: clientProps, children, }: {
437
442
  client?: QueryClient;
438
443
  children: ReactNode;
439
- }) => react_jsx_runtime.JSX.Element;
444
+ }) => React$1.JSX.Element;
445
+
446
+ /**
447
+ * Theme provider for application-wide theme management
448
+ * Integrates next-themes with custom theme configuration and tooltip provider
449
+ * Supports light, dark, and system theme modes with smooth transitions
450
+ */
440
451
 
441
452
  /**
442
453
  * Props interface for ThemeProvider component
@@ -499,7 +510,7 @@ interface ThemeProviderProps extends React$1.ComponentProps<typeof ThemeProvider
499
510
  * }
500
511
  * ```
501
512
  */
502
- declare function ThemeProvider({ children, ...props }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
513
+ declare function ThemeProvider({ children, ...props }: ThemeProviderProps): React$1.JSX.Element;
503
514
 
504
515
  /**
505
516
  * Configuration options for the alert toast notification
@@ -571,7 +582,7 @@ declare function AlertToast({ message, icon, variant, }: AlertToastOptions): voi
571
582
  * />
572
583
  * ```
573
584
  */
574
- declare function AlertNotification({ message, variant }: AlertToastOptions): react_jsx_runtime.JSX.Element | null;
585
+ declare function AlertNotification({ message, variant }: AlertToastOptions): React$1.JSX.Element | null;
575
586
  /**
576
587
  * Displays a standardized "coming soon" toast notification
577
588
  *
@@ -643,7 +654,7 @@ interface ComingSoonProps {
643
654
  * <ComingSoon title="Coming Soon" description="We are cooking something nice." />
644
655
  * ```
645
656
  */
646
- declare function ComingSoon({ className, title, description }: ComingSoonProps): react_jsx_runtime.JSX.Element;
657
+ declare function ComingSoon({ className, title, description }: ComingSoonProps): React$1.JSX.Element;
647
658
 
648
659
  /**
649
660
  * Confirm Dismiss Dialog Component
@@ -729,7 +740,7 @@ interface ConfirmDismissDialogProps {
729
740
  * />
730
741
  * ```
731
742
  */
732
- declare const ConfirmDismissDialog: ({ open, onOpenChange, onConfirm, onCancel, title, description, confirmText, cancelText, maxWidth, }: ConfirmDismissDialogProps) => react_jsx_runtime.JSX.Element;
743
+ declare const ConfirmDismissDialog: ({ open, onOpenChange, onConfirm, onCancel, title, description, confirmText, cancelText, maxWidth, }: ConfirmDismissDialogProps) => React$1.JSX.Element;
733
744
 
734
745
  /**
735
746
  * Locale option used by the LanguageSwitcher
@@ -775,7 +786,13 @@ interface LanguageSwitcherProps {
775
786
  /** Badge variant style */
776
787
  badgeVariant?: ComponentProps<typeof Badge>["variant"];
777
788
  }
778
- declare function LanguageSwitcher({ className, type, variant, size, showNames, showFlags, label, i18nEnabled, currentLocale, locales, onLocaleChange, customFlagUrl, badgeVariant, }: LanguageSwitcherProps): react_jsx_runtime.JSX.Element | null;
789
+ declare function LanguageSwitcher({ className, type, variant, size, showNames, showFlags, label, i18nEnabled, currentLocale, locales, onLocaleChange, customFlagUrl, badgeVariant, }: LanguageSwitcherProps): React$1.JSX.Element | null;
790
+
791
+ /**
792
+ * Theme Mode Switcher Component
793
+ * Provides a button to cycle through light, dark, and system theme modes
794
+ * Integrates with the application's color configuration and meta color management
795
+ */
779
796
 
780
797
  /**
781
798
  * Props interface for the ModeSwitcher component
@@ -790,7 +807,7 @@ interface ModeSwitcherProps {
790
807
  /** Custom cycle order for themes (defaults to system -> light -> dark) */
791
808
  cycleOrder?: ThemeMode[];
792
809
  /** Button type: 'toggle' for a single button or 'dropdown' and 'sub-dropdown' for a menu with options */
793
- type?: "toogle" | "dropdown" | "sub-dropdown";
810
+ type?: "toggle" | "dropdown" | "sub-dropdown";
794
811
  /** Labels for each theme mode (optional) */
795
812
  label?: {
796
813
  system?: string;
@@ -834,7 +851,7 @@ interface ModeSwitcherProps {
834
851
  * />
835
852
  * ```
836
853
  */
837
- declare function ModeSwitcher({ className, variant, size, cycleOrder, type, label, }: ModeSwitcherProps): react_jsx_runtime.JSX.Element;
854
+ declare function ModeSwitcher({ className, variant, size, cycleOrder, type, label, }: ModeSwitcherProps): React$1.JSX.Element;
838
855
 
839
856
  /**
840
857
  * Screen Loader Component
@@ -912,7 +929,7 @@ interface ScreenLoaderProps {
912
929
  * />
913
930
  * ```
914
931
  */
915
- declare function ScreenLoader({ loadingText, className, spinnerClassName, textClassName, contentLoader, }?: ScreenLoaderProps): react_jsx_runtime.JSX.Element;
932
+ declare function ScreenLoader({ loadingText, className, spinnerClassName, textClassName, contentLoader, }?: ScreenLoaderProps): React$1.JSX.Element;
916
933
 
917
934
  /**
918
935
  * Main Toolbar Component
@@ -942,7 +959,7 @@ declare function ScreenLoader({ loadingText, className, spinnerClassName, textCl
942
959
  */
943
960
  declare const Toolbar: ({ children }: {
944
961
  children: ReactNode;
945
- }) => react_jsx_runtime.JSX.Element;
962
+ }) => React$1.JSX.Element;
946
963
  /**
947
964
  * ToolbarHeading Component
948
965
  *
@@ -965,7 +982,7 @@ declare const Toolbar: ({ children }: {
965
982
  declare const ToolbarHeading: ({ children, className, }: {
966
983
  children: ReactNode;
967
984
  className?: string;
968
- }) => react_jsx_runtime.JSX.Element;
985
+ }) => React$1.JSX.Element;
969
986
  /**
970
987
  * ToolbarTitle Component
971
988
  *
@@ -988,7 +1005,7 @@ declare const ToolbarHeading: ({ children, className, }: {
988
1005
  declare const ToolbarTitle: ({ children, className, }: {
989
1006
  children: ReactNode;
990
1007
  className?: string;
991
- }) => react_jsx_runtime.JSX.Element;
1008
+ }) => React$1.JSX.Element;
992
1009
  /**
993
1010
  * ToolbarActions Component
994
1011
  *
@@ -1028,7 +1045,7 @@ declare const ToolbarTitle: ({ children, className, }: {
1028
1045
  */
1029
1046
  declare const ToolbarActions: ({ children }: {
1030
1047
  children: ReactNode;
1031
- }) => react_jsx_runtime.JSX.Element;
1048
+ }) => React$1.JSX.Element;
1032
1049
 
1033
1050
  /**
1034
1051
  * User Avatar Component
@@ -1118,7 +1135,7 @@ interface UserAvatarProps {
1118
1135
  * </div>
1119
1136
  * ```
1120
1137
  */
1121
- declare function UserAvatar({ className, indicator, src, alt }: UserAvatarProps): react_jsx_runtime.JSX.Element;
1138
+ declare function UserAvatar({ className, indicator, src, alt }: UserAvatarProps): React$1.JSX.Element;
1122
1139
  /**
1123
1140
  * Utility function to generate initials from a name
1124
1141
  *
@@ -57,7 +57,7 @@ var Icons = {
57
57
  "path",
58
58
  {
59
59
  d: "M216.856 16.597A208.5 208.5 0 0 0 164.042 0c-2.275 4.113-4.933 9.645-6.766 14.046q-29.538-4.442-58.533 0c-1.832-4.4-4.55-9.933-6.846-14.046a207.8 207.8 0 0 0-52.855 16.638C5.618 67.147-3.443 116.4 1.087 164.956c22.169 16.555 43.653 26.612 64.775 33.193A161 161 0 0 0 79.735 175.3a136.4 136.4 0 0 1-21.846-10.632a109 109 0 0 0 5.356-4.237c42.122 19.702 87.89 19.702 129.51 0a132 132 0 0 0 5.355 4.237a136 136 0 0 1-21.886 10.653c4.006 8.02 8.638 15.67 13.873 22.848c21.142-6.58 42.646-16.637 64.815-33.213c5.316-56.288-9.08-105.09-38.056-148.36M85.474 135.095c-12.645 0-23.015-11.805-23.015-26.18s10.149-26.2 23.015-26.2s23.236 11.804 23.015 26.2c.02 14.375-10.148 26.18-23.015 26.18m85.051 0c-12.645 0-23.014-11.805-23.014-26.18s10.148-26.2 23.014-26.2c12.867 0 23.236 11.804 23.015 26.2c0 14.375-10.148 26.18-23.015 26.18",
60
- fill: "#5865f2"
60
+ fill: "currentColor"
61
61
  }
62
62
  ) }),
63
63
  Dropbox: (props) => /* @__PURE__ */ jsx("svg", { viewBox: "0 0 256 218", ...props, children: /* @__PURE__ */ jsx(
@@ -105,32 +105,14 @@ var Icons = {
105
105
  d: "M409.132 114.573c-19.608-33.596-46.205-60.194-79.798-79.8-33.598-19.607-70.277-29.408-110.063-29.408-39.781 0-76.472 9.804-110.063 29.408-33.596 19.605-60.192 46.204-79.8 79.8C9.803 148.168 0 184.854 0 224.63c0 47.78 13.94 90.745 41.827 128.906 27.884 38.164 63.906 64.572 108.063 79.227 5.14.954 8.945.283 11.419-1.996 2.475-2.282 3.711-5.14 3.711-8.562 0-.571-.049-5.708-.144-15.417a2549.81 2549.81 0 01-.144-25.406l-6.567 1.136c-4.187.767-9.469 1.092-15.846 1-6.374-.089-12.991-.757-19.842-1.999-6.854-1.231-13.229-4.086-19.13-8.559-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-.951-2.568-2.098-3.711-3.429-1.142-1.331-1.997-2.663-2.568-3.997-.572-1.335-.098-2.43 1.427-3.289 1.525-.859 4.281-1.276 8.28-1.276l5.708.853c3.807.763 8.516 3.042 14.133 6.851 5.614 3.806 10.229 8.754 13.846 14.842 4.38 7.806 9.657 13.754 15.846 17.847 6.184 4.093 12.419 6.136 18.699 6.136 6.28 0 11.704-.476 16.274-1.423 4.565-.952 8.848-2.383 12.847-4.285 1.713-12.758 6.377-22.559 13.988-29.41-10.848-1.14-20.601-2.857-29.264-5.14-8.658-2.286-17.605-5.996-26.835-11.14-9.235-5.137-16.896-11.516-22.985-19.126-6.09-7.614-11.088-17.61-14.987-29.979-3.901-12.374-5.852-26.648-5.852-42.826 0-23.035 7.52-42.637 22.557-58.817-7.044-17.318-6.379-36.732 1.997-58.24 5.52-1.715 13.706-.428 24.554 3.853 10.85 4.283 18.794 7.952 23.84 10.994 5.046 3.041 9.089 5.618 12.135 7.708 17.705-4.947 35.976-7.421 54.818-7.421s37.117 2.474 54.823 7.421l10.849-6.849c7.419-4.57 16.18-8.758 26.262-12.565 10.088-3.805 17.802-4.853 23.134-3.138 8.562 21.509 9.325 40.922 2.279 58.24 15.036 16.18 22.559 35.787 22.559 58.817 0 16.178-1.958 30.497-5.853 42.966-3.9 12.471-8.941 22.457-15.125 29.979-6.191 7.521-13.901 13.85-23.131 18.986-9.232 5.14-18.182 8.85-26.84 11.136-8.662 2.286-18.415 4.004-29.263 5.146 9.894 8.562 14.842 22.077 14.842 40.539v60.237c0 3.422 1.19 6.279 3.572 8.562 2.379 2.279 6.136 2.95 11.276 1.995 44.163-14.653 80.185-41.062 108.068-79.226 27.88-38.161 41.825-81.126 41.825-128.906-.01-39.771-9.818-76.454-29.414-110.049z"
106
106
  }
107
107
  ) }),
108
- Gitlab: (props) => /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 256 236", ...props, children: [
109
- /* @__PURE__ */ jsx("path", { d: "m128.075 236.075l47.104-144.97H80.97z", fill: "#e24329" }),
110
- /* @__PURE__ */ jsx("path", { d: "M128.075 236.074L80.97 91.104H14.956z", fill: "#fc6d26" }),
111
- /* @__PURE__ */ jsx(
112
- "path",
113
- {
114
- d: "M14.956 91.104L.642 135.16a9.75 9.75 0 0 0 3.542 10.903l123.891 90.012z",
115
- fill: "#fca326"
116
- }
117
- ),
118
- /* @__PURE__ */ jsx("path", { d: "M14.956 91.105H80.97L52.601 3.79c-1.46-4.493-7.816-4.492-9.275 0z", fill: "#e24329" }),
119
- /* @__PURE__ */ jsx("path", { d: "m128.075 236.074l47.104-144.97h66.015z", fill: "#fc6d26" }),
120
- /* @__PURE__ */ jsx(
121
- "path",
122
- {
123
- d: "m241.194 91.104l14.314 44.056a9.75 9.75 0 0 1-3.543 10.903l-123.89 90.012z",
124
- fill: "#fca326"
125
- }
126
- ),
127
- /* @__PURE__ */ jsx(
128
- "path",
129
- {
130
- d: "M241.194 91.105h-66.015l28.37-87.315c1.46-4.493 7.816-4.492 9.275 0z",
131
- fill: "#e24329"
132
- }
133
- )
108
+ Gitlab: (props) => /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 256 236", fill: "currentColor", ...props, children: [
109
+ /* @__PURE__ */ jsx("path", { d: "m128.075 236.075l47.104-144.97H80.97z" }),
110
+ /* @__PURE__ */ jsx("path", { d: "M128.075 236.074L80.97 91.104H14.956z" }),
111
+ /* @__PURE__ */ jsx("path", { d: "M14.956 91.104L.642 135.16a9.75 9.75 0 0 0 3.542 10.903l123.891 90.012z" }),
112
+ /* @__PURE__ */ jsx("path", { d: "M14.956 91.105H80.97L52.601 3.79c-1.46-4.493-7.816-4.492-9.275 0z" }),
113
+ /* @__PURE__ */ jsx("path", { d: "m128.075 236.074l47.104-144.97h66.015z" }),
114
+ /* @__PURE__ */ jsx("path", { d: "m241.194 91.104l14.314 44.056a9.75 9.75 0 0 1-3.543 10.903l-123.89 90.012z" }),
115
+ /* @__PURE__ */ jsx("path", { d: "M241.194 91.105h-66.015l28.37-87.315c1.46-4.493 7.816-4.492 9.275 0z" })
134
116
  ] }),
135
117
  Google: (props) => /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsx(
136
118
  "path",
@@ -201,7 +183,9 @@ var Icons = {
201
183
  Linkedin: (props) => /* @__PURE__ */ jsx("svg", { viewBox: "0 0 32 32", fill: "none", ...props, children: /* @__PURE__ */ jsx(
202
184
  "path",
203
185
  {
204
- d: "M16 4C9.4 4 4 9.42714 4 16.0603C4 22.0121 8.404 26.9568 14.08 28V19.4372H11.08V16.0603H14.08V13.407C14.08 10.392 16 8.70352 18.76 8.70352C19.6 8.70352 20.56 8.82412 21.4 8.94472V12.0201H19.84C18.4 12.0201 18.04 12.7437 18.04 13.7085V16.0603H21.22L20.68 19.4372H18.04V27.9879C23.71 26.9387 28 22.0121 28 16.0603C28 9.42714 22.6 4 16 4Z",
186
+ fillRule: "evenodd",
187
+ clipRule: "evenodd",
188
+ d: "M25.3333 4H6.66667C5.19333 4 4 5.19333 4 6.66667V25.3333C4 26.8067 5.19333 28 6.66667 28H25.3333C26.8067 28 28 26.8067 28 25.3333V6.66667C28 5.19333 26.8067 4 25.3333 4ZM11.2567 24.6667H7.67667V13.11H11.2567V24.6667ZM9.45 11.5967C8.28 11.5967 7.33333 10.6433 7.33333 9.46333C7.33333 8.28333 8.28 7.33 9.45 7.33C10.62 7.33 11.5667 8.28333 11.5667 9.46333C11.5667 10.6433 10.62 11.5967 9.45 11.5967ZM24.6667 24.6667H21.1067V18.6C21.1067 16.9367 20.4733 16.0067 19.16 16.0067C17.7267 16.0067 16.98 16.9733 16.98 18.6V24.6667H13.5467V13.11H16.98V14.6667C16.98 14.6667 18.0133 12.7567 20.4633 12.7567C22.9133 12.7567 24.67 14.2533 24.67 17.35V24.6667H24.6667Z",
205
189
  fill: "currentColor"
206
190
  }
207
191
  ) }),
@@ -284,7 +268,7 @@ var Icons = {
284
268
  "path",
285
269
  {
286
270
  d: "M12 25a8 8 0 1 1 0-16v16zM12 0H4v8h8V0zM17 8a4 4 0 1 0 0-8 4 4 0 0 0 0 8z",
287
- fill: "currentcolor"
271
+ fill: "currentColor"
288
272
  }
289
273
  ) }),
290
274
  React: (props) => /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsx(
@@ -841,7 +825,6 @@ function MobileNavItemRenderer({
841
825
  ) ?? false)
842
826
  ) ?? false : item.href === pathname || item.href !== "/" && item.href && pathname?.startsWith(item.href);
843
827
  if (hasChildren && level <= 3) {
844
- console.log(item);
845
828
  return /* @__PURE__ */ jsxs3(Collapsible, { open: isOpen, onOpenChange: setIsOpen, children: [
846
829
  /* @__PURE__ */ jsxs3(
847
830
  CollapsibleTrigger,
@@ -882,8 +865,9 @@ function MobileNavItemRenderer({
882
865
  {
883
866
  href: item.href || "#",
884
867
  ...item.external ? { target: "_blank", rel: "noopener noreferrer" } : {},
885
- onClick: () => {
868
+ onClick: (e) => {
886
869
  if (!item.external && item.href) {
870
+ e.preventDefault();
887
871
  window.location.href = item.href.toString();
888
872
  }
889
873
  onOpenChange?.(false);
@@ -1161,7 +1145,7 @@ import { cn as cn7 } from "@pelatform/utils";
1161
1145
  import { jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
1162
1146
  function getFlagUrl(flag) {
1163
1147
  const flagCode = flag.toLowerCase();
1164
- return `"https://assets.pelatform.com"/media/flags/${flagCode}.svg`;
1148
+ return `https://assets.pelatform.com/media/flags/${flagCode}.svg`;
1165
1149
  }
1166
1150
  function LanguageSwitcher({
1167
1151
  className,
@@ -1313,7 +1297,7 @@ function ModeSwitcher({
1313
1297
  variant = "ghost",
1314
1298
  size = "default",
1315
1299
  cycleOrder = [THEME_MODES2.SYSTEM, THEME_MODES2.LIGHT, THEME_MODES2.DARK],
1316
- type = "toogle",
1300
+ type = "toggle",
1317
1301
  label = {
1318
1302
  system: "System",
1319
1303
  dark: "Dark",
@@ -1349,7 +1333,7 @@ function ModeSwitcher({
1349
1333
  ] });
1350
1334
  };
1351
1335
  const isActive = (val) => theme === val;
1352
- if (type === "toogle") {
1336
+ if (type === "toggle") {
1353
1337
  return /* @__PURE__ */ jsxs9(
1354
1338
  Button,
1355
1339
  {
package/dist/hooks.d.ts CHANGED
@@ -1,6 +1,10 @@
1
1
  import * as React from 'react';
2
- import React__default, { DragEvent, ChangeEvent, InputHTMLAttributes, ComponentType, SVGProps, RefObject } from 'react';
2
+ import React__default, { DragEvent, ChangeEvent, InputHTMLAttributes, RefObject } from 'react';
3
+ import { MenuItem, MenuConfig } from './index.js';
3
4
  import { META_THEME_COLORS } from '@pelatform/utils';
5
+ import './badge-BScpb9q4.js';
6
+ import 'class-variance-authority/types';
7
+ import 'class-variance-authority';
4
8
 
5
9
  /**
6
10
  * Analytics tracking hook for React components
@@ -554,47 +558,6 @@ declare const useMediaQuery: (query: string) => boolean;
554
558
  * Handles active states, breadcrumbs, and hierarchical menu structures
555
559
  */
556
560
 
557
- /**
558
- * Menu item interface
559
- */
560
- interface MenuItem {
561
- /** Heading text */
562
- heading?: string;
563
- /** Menu item title */
564
- title?: string;
565
- /** Navigation path */
566
- path?: string;
567
- /** Menu item icon component */
568
- icon?: ComponentType<SVGProps<SVGSVGElement>>;
569
- /** Whether to show separator */
570
- separator?: boolean;
571
- /** Root path for active state matching */
572
- rootPath?: string;
573
- /** Child menu items */
574
- children?: MenuConfig;
575
- /** Children index for nested items */
576
- childrenIndex?: number;
577
- /** Whether the item is external */
578
- external?: boolean;
579
- /** Whether the item is disabled */
580
- disabled?: boolean;
581
- /** Disable text */
582
- disabledText?: string;
583
- /** Badge text */
584
- badge?: string;
585
- /** Badge variant */
586
- badgeVariant?: "primary" | "destructive" | "success" | "info" | "warning" | "secondary" | "outline";
587
- /** Collapse configuration */
588
- collapse?: boolean;
589
- /** Title when collapsed */
590
- collapseTitle?: string;
591
- /** Title when expanded */
592
- expandTitle?: string;
593
- }
594
- /**
595
- * Type aliases for backward compatibility
596
- */
597
- type MenuConfig = MenuItem[];
598
561
  /** Return type interface for useMenu hook */
599
562
  interface UseMenuReturn {
600
563
  /** Check if a specific path is currently active */
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { ComponentType, SVGProps, ComponentProps } from 'react';
2
- import { B as Badge } from './badge-CnQznr5B.js';
3
- import 'react/jsx-runtime';
2
+ import { B as Badge } from './badge-BScpb9q4.js';
4
3
  import 'class-variance-authority/types';
5
4
  import 'class-variance-authority';
6
5