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.
- package/README.md +1 -1
- package/dist/animation.d.ts +16 -17
- package/dist/animation.js +3 -2
- package/dist/{badge-CnQznr5B.d.ts → badge-BScpb9q4.d.ts} +1 -2
- package/dist/base.d.ts +404 -401
- package/dist/{button-Bc3N6jWT.d.ts → button-BHmUZBYK.d.ts} +5 -6
- package/dist/components.d.ts +88 -71
- package/dist/components.js +18 -34
- package/dist/hooks.d.ts +5 -42
- package/dist/index.d.ts +1 -2
- package/dist/radix.d.ts +415 -414
- package/package.json +11 -11
|
@@ -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>):
|
|
10
|
-
declare function AlertTitle({ className, ...props }: React.ComponentProps<"div">):
|
|
11
|
-
declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">):
|
|
12
|
-
declare function AlertAction({ className, ...props }: React.ComponentProps<"div">):
|
|
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
|
-
}):
|
|
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 };
|
package/dist/components.d.ts
CHANGED
|
@@ -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-
|
|
7
|
-
import { B as Badge } from './badge-
|
|
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) =>
|
|
42
|
-
Apple: (props: IconProps) =>
|
|
43
|
-
Aria: (props: IconProps) =>
|
|
44
|
-
Discord: (props: IconProps) =>
|
|
45
|
-
Dropbox: (props: IconProps) =>
|
|
46
|
-
Facebook: (props: IconProps) =>
|
|
47
|
-
FacebookColorful: (props: IconProps) =>
|
|
48
|
-
Github: (props: IconProps) =>
|
|
49
|
-
Gitlab: (props: IconProps) =>
|
|
50
|
-
Google: (props: IconProps) =>
|
|
51
|
-
GoogleColorful: (props: IconProps) =>
|
|
52
|
-
Huggingface: (props: IconProps) =>
|
|
53
|
-
Instagram: (props: IconProps) =>
|
|
54
|
-
Kick: (props: IconProps) =>
|
|
55
|
-
Linear: (props: IconProps) =>
|
|
56
|
-
Linkedin: (props: IconProps) =>
|
|
57
|
-
LinkedinColorful: (props: IconProps) =>
|
|
58
|
-
Microsoft: (props: IconProps) =>
|
|
59
|
-
Nextjs: (props: IconProps) =>
|
|
60
|
-
Notion: (props: IconProps) =>
|
|
61
|
-
Npm: (props: IconProps) =>
|
|
62
|
-
Openai: (props: IconProps) =>
|
|
63
|
-
Paypal: (props: IconProps) =>
|
|
64
|
-
Pelatform: (props: IconProps) =>
|
|
65
|
-
Pnpm: (props: IconProps) =>
|
|
66
|
-
Postgresql: (props: IconProps) =>
|
|
67
|
-
Prisma: (props: IconProps) =>
|
|
68
|
-
Radix: (props: IconProps) =>
|
|
69
|
-
Radixui: (props: IconProps) =>
|
|
70
|
-
React: (props: IconProps) =>
|
|
71
|
-
Reddit: (props: IconProps) =>
|
|
72
|
-
Roblox: (props: IconProps) =>
|
|
73
|
-
Scira: (props: IconProps) =>
|
|
74
|
-
Scribble: (props: IconProps) =>
|
|
75
|
-
Slack: (props: IconProps) =>
|
|
76
|
-
Spotify: (props: IconProps) =>
|
|
77
|
-
Supabase: (props: IconProps) =>
|
|
78
|
-
Tailwind: (props: IconProps) =>
|
|
79
|
-
Telegram: (props: IconProps) =>
|
|
80
|
-
Tiktok: (props: IconProps) =>
|
|
81
|
-
Twitch: (props: IconProps) =>
|
|
82
|
-
Twitter: (props: IconProps) =>
|
|
83
|
-
Vk: (props: IconProps) =>
|
|
84
|
-
WhatsApp: (props: IconProps) =>
|
|
85
|
-
X: (props: IconProps) =>
|
|
86
|
-
Yarn: (props: IconProps) =>
|
|
87
|
-
Youtube: (props: IconProps) =>
|
|
88
|
-
Zoom: (props: IconProps) =>
|
|
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
|
-
}):
|
|
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):
|
|
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
|
-
}):
|
|
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):
|
|
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
|
-
}):
|
|
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
|
-
}):
|
|
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
|
-
}) =>
|
|
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):
|
|
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):
|
|
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):
|
|
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) =>
|
|
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):
|
|
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?: "
|
|
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):
|
|
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):
|
|
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
|
-
}) =>
|
|
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
|
-
}) =>
|
|
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
|
-
}) =>
|
|
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
|
-
}) =>
|
|
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):
|
|
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
|
*
|
package/dist/components.js
CHANGED
|
@@ -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: "
|
|
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"
|
|
110
|
-
/* @__PURE__ */ jsx("path", { d: "M128.075 236.074L80.97 91.104H14.956z"
|
|
111
|
-
/* @__PURE__ */ jsx(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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
|
-
|
|
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: "
|
|
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 `
|
|
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 = "
|
|
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 === "
|
|
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,
|
|
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-
|
|
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
|
|