pelatform-ui 1.1.21 → 1.2.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.
Files changed (51) hide show
  1. package/css/animations.css +48 -0
  2. package/css/shadcn/gray.css +105 -0
  3. package/css/shadcn/neutral.css +105 -0
  4. package/css/shadcn/slate.css +105 -0
  5. package/css/shadcn/stone.css +105 -0
  6. package/css/shadcn/zinc.css +105 -0
  7. package/css/styles/style-lyra.css +1335 -0
  8. package/css/styles/style-maia.css +1360 -0
  9. package/css/styles/style-mira.css +1362 -0
  10. package/css/styles/style-nova.css +1360 -0
  11. package/css/styles/style-vega.css +1356 -0
  12. package/css/theme.css +122 -182
  13. package/dist/animation.d.ts +3 -7
  14. package/dist/animation.js +40 -2
  15. package/dist/base.d.ts +1 -1
  16. package/dist/base.js +873 -2
  17. package/dist/chunk-4OZO7TEB.js +57803 -0
  18. package/dist/chunk-4VNS5WPM.js +42 -0
  19. package/dist/{chunk-M2YFAZ2T.js → chunk-5YSCAE7Y.js} +9 -3
  20. package/dist/chunk-7EOSDFS3.js +10 -0
  21. package/dist/chunk-B3I74Y4P.js +11228 -0
  22. package/dist/chunk-BQXV2NHY.js +100 -0
  23. package/dist/chunk-FC24ZVEO.js +553 -0
  24. package/dist/chunk-HW52LCWN.js +22 -0
  25. package/dist/chunk-WFCSII5G.js +28043 -0
  26. package/dist/colors-CUDWvz1g.d.ts +42 -0
  27. package/dist/components-B1rw2xzN.d.ts +46 -0
  28. package/dist/components.d.ts +23 -224
  29. package/dist/components.js +2378 -730
  30. package/dist/hooks.d.ts +2 -2
  31. package/dist/hooks.js +896 -4
  32. package/dist/index.d.ts +130 -2
  33. package/dist/index.js +637 -3
  34. package/dist/radix.d.ts +1 -0
  35. package/dist/radix.js +20737 -0
  36. package/package.json +20 -32
  37. package/css/components/apexcharts.css +0 -101
  38. package/css/components/book.css +0 -19
  39. package/css/components/extra.css +0 -12
  40. package/css/components/image-input.css +0 -51
  41. package/css/components/leaflet.css +0 -25
  42. package/css/components/patterns.css +0 -34
  43. package/css/components/rating.css +0 -89
  44. package/css/components/scrollable.css +0 -118
  45. package/css/components/theme-transition.css +0 -51
  46. package/dist/aria.d.ts +0 -1
  47. package/dist/aria.js +0 -2
  48. package/dist/default.d.ts +0 -1
  49. package/dist/default.js +0 -2
  50. package/dist/server.d.ts +0 -1
  51. package/dist/server.js +0 -2
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Theme configuration for the application
3
+ * Handles light, dark, and system theme modes with their respective colors
4
+ */
5
+ /**
6
+ * Available theme modes in the application
7
+ * - light: Force light theme
8
+ * - dark: Force dark theme
9
+ * - system: Follow system/OS preference (auto-detect)
10
+ */
11
+ declare const THEME_MODES: {
12
+ readonly LIGHT: "light";
13
+ readonly DARK: "dark";
14
+ readonly SYSTEM: "system";
15
+ };
16
+ /**
17
+ * Type definition for theme modes
18
+ */
19
+ type ThemeMode = (typeof THEME_MODES)[keyof typeof THEME_MODES];
20
+ /**
21
+ * Meta theme colors for different theme modes
22
+ * Used for:
23
+ * - HTML meta theme-color tags
24
+ * - Browser address bar coloring
25
+ * - PWA theme colors
26
+ * - System theme integration
27
+ */
28
+ declare const META_THEME_COLORS: {
29
+ /** Light theme color - Pure white for clean, bright appearance */
30
+ readonly light: "#ffffff";
31
+ /** Dark theme color - Near black with slight warmth to reduce eye strain */
32
+ readonly dark: "#09090b";
33
+ /** System theme - Will be determined by user's OS preference */
34
+ readonly system: "auto";
35
+ };
36
+ /**
37
+ * Default theme mode when no preference is set
38
+ * Falls back to system preference to respect user's OS settings
39
+ */
40
+ declare const DEFAULT_THEME_MODE: ThemeMode;
41
+
42
+ export { DEFAULT_THEME_MODE as D, META_THEME_COLORS as M, THEME_MODES as T, type ThemeMode as a };
@@ -0,0 +1,46 @@
1
+ import { ComponentType, ReactNode } from 'react';
2
+
3
+ /**
4
+ * Base props interface for all components
5
+ * Includes common properties used across multiple components
6
+ */
7
+ interface BaseComponentProps {
8
+ /** Child elements to render inside the component */
9
+ children: ReactNode;
10
+ /** Additional CSS classes for the component */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * Image component type definition
15
+ * Defines the interface for image components used throughout the application
16
+ */
17
+ type ImageComponentProps = ComponentType<{
18
+ /** Source URL of the image */
19
+ src: string;
20
+ /** Alt text for accessibility */
21
+ alt: string;
22
+ /** Additional CSS classes */
23
+ className?: string;
24
+ /** Width of the image */
25
+ width?: number;
26
+ /** Height of the image */
27
+ height?: number;
28
+ }>;
29
+ /**
30
+ * Link component type definition
31
+ * Defines the interface for link components used throughout the application
32
+ */
33
+ type LinkComponentProps = ComponentType<{
34
+ /** Link content */
35
+ children: ReactNode;
36
+ /** Destination URL */
37
+ href: string;
38
+ /** Target attribute */
39
+ target?: "_blank" | "_self" | "_parent" | "_top";
40
+ /** Additional CSS classes */
41
+ className?: string;
42
+ /** Click handler */
43
+ onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
44
+ }>;
45
+
46
+ export type { BaseComponentProps as B, ImageComponentProps as I, LinkComponentProps as L };
@@ -1,25 +1,13 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React$1 from 'react';
3
- import React__default, { ReactNode, HTMLAttributes, ComponentProps, FC, DragEvent, RefObject } from 'react';
4
- import { BaseComponentProps, LinkComponent, ImageComponent, VariantProps } from '@pelatform/ui.general';
5
- import { DialogProps } from '@radix-ui/react-dialog';
3
+ import React__default, { ComponentProps, ReactNode, HTMLAttributes, FC, DragEvent, RefObject } from 'react';
4
+ import { Alert, badgeVariants, Button } from '@pelatform/ui.components/base';
5
+ import { B as BaseComponentProps, L as LinkComponentProps, I as ImageComponentProps } from './components-B1rw2xzN.js';
6
6
  import { QueryClient } from '@tanstack/react-query';
7
7
  import { ThemeProvider as ThemeProvider$1 } from 'next-themes';
8
- import { badgeVariants } from '@pelatform/ui.default';
9
- import { ThemeMode } from '@pelatform/utils';
8
+ import { VariantProps } from 'class-variance-authority';
9
+ import { a as ThemeMode } from './colors-CUDWvz1g.js';
10
10
 
11
- /**
12
- * Alert Toast Component
13
- *
14
- * This module provides a customizable toast notification system using Sonner
15
- * with integrated Alert components for consistent UI styling.
16
- *
17
- * Features:
18
- * - Multiple icon variants (primary, destructive, success, info, warning)
19
- * - Customizable alert variants for different visual styles
20
- * - Auto-dismiss after 4 seconds
21
- * - Unique ID generation for each toast
22
- */
23
11
  /**
24
12
  * Configuration options for the alert toast notification
25
13
  */
@@ -29,7 +17,7 @@ interface AlertToastOptions {
29
17
  /** Icon variant to display in the alert - determines which icon is shown */
30
18
  icon?: "primary" | "destructive" | "success" | "info" | "warning";
31
19
  /** Visual variant of the alert component - affects styling and colors */
32
- variant?: "secondary" | "primary" | "destructive" | "mono" | "success" | "info" | "warning";
20
+ variant?: ComponentProps<typeof Alert>["variant"];
33
21
  }
34
22
  /**
35
23
  * Creates and displays a customizable alert toast notification
@@ -37,7 +25,7 @@ interface AlertToastOptions {
37
25
  * @param options - Configuration options for the toast
38
26
  * @param options.message - The message to display (default: 'This is a toast')
39
27
  * @param options.icon - The icon variant to show (default: 'success')
40
- * @param options.variant - The visual style variant (default: 'mono')
28
+ * @param options.variant - The visual style variant (default: 'default')
41
29
  *
42
30
  * @example
43
31
  * ```tsx
@@ -129,7 +117,7 @@ declare function AlertNotification({ message, variant }: AlertToastOptions): rea
129
117
  * };
130
118
  * ```
131
119
  */
132
- declare const AlertComingsoon: ({ message, icon, variant, }?: AlertToastOptions) => void;
120
+ declare const AlertComingsoon: ({ message, variant, }?: AlertToastOptions) => void;
133
121
 
134
122
  /**
135
123
  * Confirm Dismiss Dialog Component
@@ -432,6 +420,8 @@ interface ErrorComponentsProps {
432
420
  textSubtitle?: ReactNode;
433
421
  /** Optional action button (e.g., retry) */
434
422
  button?: ReactNode;
423
+ /** Function to generate asset URLs (e.g., for CDN integration) */
424
+ assetsUrl?: (path: string) => string;
435
425
  }
436
426
  /**
437
427
  * ErrorComponents Component
@@ -451,7 +441,7 @@ interface ErrorComponentsProps {
451
441
  * />
452
442
  * ```
453
443
  */
454
- declare function ErrorComponents({ className, type, textTitle, textSubtitle, button, }: ErrorComponentsProps): react_jsx_runtime.JSX.Element;
444
+ declare function ErrorComponents({ className, type, textTitle, textSubtitle, button, assetsUrl, }: ErrorComponentsProps): react_jsx_runtime.JSX.Element;
455
445
 
456
446
  /**
457
447
  * Grid Component
@@ -860,7 +850,7 @@ declare function DownloadFile({ children, className, href }: BaseComponentProps
860
850
  */
861
851
  interface SharedImage {
862
852
  /** Custom Image component implementation */
863
- Image?: ImageComponent;
853
+ Image?: ImageComponentProps;
864
854
  }
865
855
  /**
866
856
  * Interface for components that accept a custom Link component
@@ -868,7 +858,7 @@ interface SharedImage {
868
858
  */
869
859
  interface SharedLink {
870
860
  /** Custom Link component implementation */
871
- Link?: LinkComponent;
861
+ Link?: LinkComponentProps;
872
862
  }
873
863
  /**
874
864
  * Interface for components that accept a custom navigation function
@@ -901,7 +891,7 @@ interface SharedNavigate {
901
891
  * />
902
892
  * ```
903
893
  */
904
- declare const DefaultImage: ImageComponent;
894
+ declare const DefaultImage: ImageComponentProps;
905
895
  /**
906
896
  * Default Link Component
907
897
  *
@@ -926,7 +916,7 @@ declare const DefaultImage: ImageComponent;
926
916
  * </DefaultLink>
927
917
  * ```
928
918
  */
929
- declare const DefaultLink: LinkComponent;
919
+ declare const DefaultLink: LinkComponentProps;
930
920
  /**
931
921
  * Default Navigation Function
932
922
  *
@@ -997,7 +987,7 @@ declare const DefaultNavigate: (href: string) => void;
997
987
  * </ExtraLink>
998
988
  * ```
999
989
  */
1000
- declare function ExtraLink({ Link, href, target, className, children, }: SharedLink & ComponentProps<LinkComponent>): react_jsx_runtime.JSX.Element;
990
+ declare function ExtraLink({ Link, href, target, className, children, }: SharedLink & ComponentProps<LinkComponentProps>): react_jsx_runtime.JSX.Element;
1001
991
 
1002
992
  /**
1003
993
  * Video Component
@@ -1225,7 +1215,7 @@ declare function BackLink({ Link, children, href, className }: BackLinkProps): r
1225
1215
  * Props interface for the CommandMenu component
1226
1216
  * Extends DialogProps from Radix UI for full dialog customization
1227
1217
  */
1228
- interface CommandMenuProps extends DialogProps {
1218
+ interface CommandMenuProps {
1229
1219
  /** Child elements to render inside the command list (command items, groups, etc.) */
1230
1220
  children: React$1.ReactNode;
1231
1221
  /** Additional CSS classes for the trigger button */
@@ -1393,7 +1383,6 @@ interface NavigationProps extends SharedLink {
1393
1383
  * ```
1394
1384
  */
1395
1385
  declare function MainNav({ Link, pathname, items, className }: NavigationProps): react_jsx_runtime.JSX.Element;
1396
- declare function handleMenuClick(item: NavItem): void;
1397
1386
 
1398
1387
  /**
1399
1388
  * MobileNav Component
@@ -1995,8 +1984,6 @@ interface HexagonBadgeProps {
1995
1984
  * @example
1996
1985
  * ```tsx
1997
1986
  * // Basic usage with an icon
1998
- * import { StarIcon } from '@pelatform/ui.general';
1999
- *
2000
1987
  * <HexagonBadge>
2001
1988
  * <StarIcon className="w-6 h-6" />
2002
1989
  * </HexagonBadge>
@@ -2285,7 +2272,7 @@ interface LanguageSwitcherProps extends SharedImage {
2285
2272
  /** Button variant style (for toggle type) */
2286
2273
  variant?: "ghost" | "outline" | "secondary";
2287
2274
  /** Button size (for toggle type) */
2288
- size?: "sm" | "md" | "lg";
2275
+ size?: ComponentProps<typeof Button>["size"];
2289
2276
  /** Whether to show language names */
2290
2277
  showNames?: boolean;
2291
2278
  /** Whether to show flag icons */
@@ -2361,7 +2348,7 @@ interface ModeSwitcherProps {
2361
2348
  /** Button variant style */
2362
2349
  variant?: "ghost" | "outline" | "secondary";
2363
2350
  /** Button size */
2364
- size?: "sm" | "md" | "lg";
2351
+ size?: React$1.ComponentProps<typeof Button>["size"];
2365
2352
  /** Custom cycle order for themes (defaults to system -> light -> dark) */
2366
2353
  cycleOrder?: ThemeMode[];
2367
2354
  /** Button type: 'toggle' for a single button or 'dropdown' and 'sub-dropdown' for a menu with options */
@@ -2539,90 +2526,6 @@ interface MovingBorderProps {
2539
2526
  */
2540
2527
  declare const MovingBorder: ({ children, duration, rx, ry, ...otherProps }: MovingBorderProps) => react_jsx_runtime.JSX.Element;
2541
2528
 
2542
- /**
2543
- * Newsletter Subscribe Component
2544
- * Provides a complete newsletter subscription form with reCAPTCHA verification,
2545
- * email validation, analytics tracking, and customizable messaging
2546
- */
2547
- /**
2548
- * Props interface for the Subscribe component
2549
- */
2550
- interface SubscribeProps {
2551
- /** Main heading text for the subscription section */
2552
- heading?: string;
2553
- /** Subheading or description text */
2554
- subheading?: string;
2555
- /** Button text when not loading */
2556
- buttonText?: string;
2557
- /** Button text when loading/submitting */
2558
- loadingButtonText?: string;
2559
- /** Placeholder text for email input */
2560
- inputPlaceholder?: string;
2561
- /** Success message shown after successful subscription */
2562
- successMessage?: string;
2563
- /** Error message for invalid email format */
2564
- invalidEmailMessage?: string;
2565
- /** Error message for reCAPTCHA verification failure */
2566
- recaptchaMessage?: string;
2567
- /** Generic error message for API failures */
2568
- errorMessage?: string;
2569
- /** API endpoint for subscription requests */
2570
- apiEndpoint?: string;
2571
- /** Text for the verify button in reCAPTCHA popover */
2572
- verifyButtonText?: string;
2573
- /** Additional CSS classes for the container */
2574
- className?: string;
2575
- }
2576
- /**
2577
- * Subscribe Component
2578
- *
2579
- * A complete newsletter subscription form with the following features:
2580
- * - Email validation with regex pattern matching
2581
- * - reCAPTCHA v2 verification for bot protection
2582
- * - Analytics tracking for conversion metrics
2583
- * - Customizable messaging and styling
2584
- * - Toast notifications for user feedback
2585
- * - Loading states and error handling
2586
- *
2587
- * The component automatically tracks subscription events for analytics
2588
- * and provides a seamless user experience with proper accessibility.
2589
- *
2590
- * @param props - Component props
2591
- * @returns JSX element containing the subscription form
2592
- *
2593
- * @example
2594
- * ```tsx
2595
- * // Basic usage with default settings
2596
- * <Subscribe />
2597
- *
2598
- * // Custom messaging and endpoint
2599
- * <Subscribe
2600
- * heading="Join Our Community"
2601
- * subheading="Get exclusive updates and early access"
2602
- * buttonText="Join Now"
2603
- * apiEndpoint="/api/newsletter/subscribe"
2604
- * successMessage="Welcome to our community!"
2605
- * />
2606
- *
2607
- * // Multilingual support
2608
- * <Subscribe
2609
- * heading="Tetap terinformasi dengan rilis terbaru"
2610
- * subheading="Hanya update yang layak diketahui"
2611
- * buttonText="Berlangganan"
2612
- * loadingButtonText="Berlangganan..."
2613
- * inputPlaceholder="Alamat email Anda"
2614
- * successMessage="Terima kasih atas langganan Anda!"
2615
- * invalidEmailMessage="Alamat email tidak valid. Silakan periksa dan coba lagi."
2616
- * />
2617
- *
2618
- * // Custom styling
2619
- * <Subscribe
2620
- * className="bg-gradient-to-r from-blue-600 to-purple-600"
2621
- * />
2622
- * ```
2623
- */
2624
- declare function Subscribe({ heading, subheading, buttonText, loadingButtonText, inputPlaceholder, successMessage, invalidEmailMessage, recaptchaMessage, errorMessage, apiEndpoint, verifyButtonText, className, }?: SubscribeProps): react_jsx_runtime.JSX.Element;
2625
-
2626
2529
  /**
2627
2530
  * Main Toolbar Component
2628
2531
  *
@@ -2731,7 +2634,7 @@ declare const ToolbarActions: ({ children }: BaseComponentProps) => react_jsx_ru
2731
2634
 
2732
2635
  /**
2733
2636
  * User Avatar Component
2734
- * Displays user profile pictures with fallback initials and optional status indicators
2637
+ * Displays user profile pictures with fallback initials
2735
2638
  * Built on top of the base Avatar component with enhanced user-specific features
2736
2639
  */
2737
2640
  /**
@@ -2740,8 +2643,6 @@ declare const ToolbarActions: ({ children }: BaseComponentProps) => react_jsx_ru
2740
2643
  interface UserAvatarProps {
2741
2644
  /** Additional CSS classes for styling */
2742
2645
  className?: string;
2743
- /** Whether to show online status indicator */
2744
- indicator?: boolean;
2745
2646
  /** Source URL for the user's profile image */
2746
2647
  src?: string | null | undefined;
2747
2648
  /** Alt text for the image, also used to generate initials */
@@ -2751,19 +2652,16 @@ interface UserAvatarProps {
2751
2652
  * UserAvatar Component
2752
2653
  *
2753
2654
  * Displays a user's profile picture with automatic fallback to initials
2754
- * when no image is available. Supports optional online status indicators
2755
- * and follows accessibility best practices.
2655
+ * when no image is available.
2756
2656
  *
2757
2657
  * Features:
2758
2658
  * - Automatic initials generation from name
2759
2659
  * - Fallback handling for missing images
2760
- * - Optional online status indicator
2761
2660
  * - Accessible alt text support
2762
2661
  * - Customizable styling
2763
2662
  *
2764
2663
  * @param props - Component props
2765
2664
  * @param props.className - Additional CSS classes for styling
2766
- * @param props.indicator - Whether to show online status indicator (default: false)
2767
2665
  * @param props.src - Source URL for the user's profile image
2768
2666
  * @param props.alt - Alt text for the image, also used to generate initials
2769
2667
  * @returns JSX element containing the user avatar
@@ -2776,13 +2674,6 @@ interface UserAvatarProps {
2776
2674
  * alt="John Doe"
2777
2675
  * />
2778
2676
  *
2779
- * // Avatar with online indicator
2780
- * <UserAvatar
2781
- * src="https://example.com/avatar.jpg"
2782
- * alt="Jane Smith"
2783
- * indicator={true}
2784
- * />
2785
- *
2786
2677
  * // Avatar with fallback initials (no image)
2787
2678
  * <UserAvatar
2788
2679
  * alt="Bob Johnson"
@@ -2796,7 +2687,6 @@ interface UserAvatarProps {
2796
2687
  * key={user.id}
2797
2688
  * src={user.avatar}
2798
2689
  * alt={user.name}
2799
- * indicator={user.isOnline}
2800
2690
  * className="w-8 h-8"
2801
2691
  * />
2802
2692
  * ))}
@@ -2807,7 +2697,6 @@ interface UserAvatarProps {
2807
2697
  * <UserAvatar
2808
2698
  * src={currentUser.avatar}
2809
2699
  * alt={currentUser.name}
2810
- * indicator={true}
2811
2700
  * className="w-16 h-16"
2812
2701
  * />
2813
2702
  * <div>
@@ -2817,7 +2706,7 @@ interface UserAvatarProps {
2817
2706
  * </div>
2818
2707
  * ```
2819
2708
  */
2820
- declare function UserAvatar({ className, indicator, src, alt }: UserAvatarProps): react_jsx_runtime.JSX.Element;
2709
+ declare function UserAvatar({ className, src, alt }: UserAvatarProps): react_jsx_runtime.JSX.Element;
2821
2710
  /**
2822
2711
  * Utility function to generate initials from a name
2823
2712
  *
@@ -2893,94 +2782,4 @@ declare const cssFontFace = "\n @font-face {\n font-family: 'Satoshi';\n
2893
2782
  */
2894
2783
  declare function SatoshiFontCSS(): react_jsx_runtime.JSX.Element;
2895
2784
 
2896
- /**
2897
- * Props interface for the RecaptchaPopover component
2898
- */
2899
- interface RecaptchaPopoverProps {
2900
- /** Whether the popover is open */
2901
- open: boolean;
2902
- /** Callback when popover open state changes */
2903
- onOpenChange: (open: boolean) => void;
2904
- /** Callback when reCAPTCHA verification succeeds */
2905
- onVerify: (token: string) => void;
2906
- /** Trigger element that opens the popover */
2907
- trigger: ReactNode;
2908
- /** Custom text for the verify button (default: "Verify & Submit") */
2909
- verifyButtonText?: string;
2910
- }
2911
- /**
2912
- * RecaptchaPopover Component
2913
- *
2914
- * A popover component that displays Google reCAPTCHA v2 verification.
2915
- * Provides a clean, accessible interface for bot protection without
2916
- * disrupting the main page flow. Automatically handles reCAPTCHA
2917
- * initialization, token retrieval, and error states.
2918
- *
2919
- * @param props - Component props
2920
- * @returns JSX element containing the popover with reCAPTCHA
2921
- *
2922
- * @example
2923
- * ```tsx
2924
- * // Basic usage with form submission
2925
- * function ContactForm() {
2926
- * const [showRecaptcha, setShowRecaptcha] = useState(false);
2927
- * const [formData, setFormData] = useState({ email: '', message: '' });
2928
- *
2929
- * const handleSubmit = (e: FormEvent) => {
2930
- * e.preventDefault();
2931
- * setShowRecaptcha(true);
2932
- * };
2933
- *
2934
- * const handleRecaptchaVerify = async (token: string) => {
2935
- * try {
2936
- * await submitForm({ ...formData, recaptchaToken: token });
2937
- * setShowRecaptcha(false);
2938
- * toast.success('Form submitted successfully!');
2939
- * } catch (error) {
2940
- * toast.error('Submission failed. Please try again.');
2941
- * }
2942
- * };
2943
- *
2944
- * return (
2945
- * <form onSubmit={handleSubmit}>
2946
- * <input
2947
- * type="email"
2948
- * value={formData.email}
2949
- * onChange={(e) => setFormData(prev => ({ ...prev, email: e.target.value }))}
2950
- * placeholder="Email"
2951
- * required
2952
- * />
2953
- * <textarea
2954
- * value={formData.message}
2955
- * onChange={(e) => setFormData(prev => ({ ...prev, message: e.target.value }))}
2956
- * placeholder="Message"
2957
- * required
2958
- * />
2959
- *
2960
- * <RecaptchaPopover
2961
- * open={showRecaptcha}
2962
- * onOpenChange={setShowRecaptcha}
2963
- * onVerify={handleRecaptchaVerify}
2964
- * trigger={
2965
- * <Button type="submit">
2966
- * Send Message
2967
- * </Button>
2968
- * }
2969
- * />
2970
- * </form>
2971
- * );
2972
- * }
2973
- *
2974
- * // Custom verification button text
2975
- * <RecaptchaPopover
2976
- * open={showVerification}
2977
- * onOpenChange={setShowVerification}
2978
- * onVerify={handleVerification}
2979
- * verifyButtonText="Complete Verification"
2980
- * trigger={<Button>Verify Account</Button>}
2981
- * />
2982
- * ```
2983
- */
2984
- declare function RecaptchaPopover({ open, onOpenChange, onVerify, trigger, verifyButtonText, }: RecaptchaPopoverProps): react_jsx_runtime.JSX.Element;
2985
-
2986
- export { AlertComingsoon, AlertNotification, AlertToast, type AlertToastOptions, Announcement, AnnouncementTag, AnnouncementTitle, BackLink, BackgroundPaths, Body, Book, CodeDisplay, ComingSoon, type ComingSoonProps, CommandMenu, type CommandMenuProps, ConfirmDismissDialog, type ConfirmDismissDialogProps, DEFAULT_DATA_URL_KEY, DEFAULT_NULL_INDEX, DefaultImage, DefaultLink, DefaultNavigate, DotsPattern, DownloadFile, ErrorComponents, type ErrorComponentsProps, ExtraLink, FloatingPaths, Grid, GridBackground, HexagonBadge, ImageInput, type ImageInputFile, type ImageInputFiles, type ImageInputProps, LanguageSwitcher, type LanguageSwitcherProps, LayoutAuth, LayoutBlank, type LayoutBlankProps, type LocaleOption, Logo, MainNav, MaxWidthWrapper, MobileNav, MobileNavItemRenderer, ModeSwitcher, type ModeSwitcherProps, MovingBorder, MovingLabel, type NavItem, type NavigationProps, QueryProvider, RecaptchaPopover, SatoshiFontCSS, ScreenLoader, type ScreenLoaderProps, Section, type SharedImage, type SharedLink, type SharedNavigate, SiteFooter, SiteHeader, Stack, Subscribe, type SubscribeProps, ThemeProvider, Toolbar, ToolbarActions, ToolbarHeading, ToolbarTitle, UserAvatar, Video, Wrapper, Youtube, cssFontFace, getAcceptTypeString, getBase64, getImage, getInitials, getListFiles, handleMenuClick, openFileDialog, satoshiFontUrl };
2785
+ export { AlertComingsoon, AlertNotification, AlertToast, type AlertToastOptions, Announcement, AnnouncementTag, AnnouncementTitle, BackLink, BackgroundPaths, Body, Book, CodeDisplay, ComingSoon, type ComingSoonProps, CommandMenu, type CommandMenuProps, ConfirmDismissDialog, type ConfirmDismissDialogProps, DEFAULT_DATA_URL_KEY, DEFAULT_NULL_INDEX, DefaultImage, DefaultLink, DefaultNavigate, DotsPattern, DownloadFile, ErrorComponents, type ErrorComponentsProps, ExtraLink, FloatingPaths, Grid, GridBackground, HexagonBadge, ImageInput, type ImageInputFile, type ImageInputFiles, type ImageInputProps, LanguageSwitcher, type LanguageSwitcherProps, LayoutAuth, LayoutBlank, type LayoutBlankProps, type LocaleOption, Logo, MainNav, MaxWidthWrapper, MobileNav, MobileNavItemRenderer, ModeSwitcher, type ModeSwitcherProps, MovingBorder, MovingLabel, type NavItem, type NavigationProps, QueryProvider, SatoshiFontCSS, ScreenLoader, type ScreenLoaderProps, Section, type SharedImage, type SharedLink, type SharedNavigate, SiteFooter, SiteHeader, Stack, ThemeProvider, Toolbar, ToolbarActions, ToolbarHeading, ToolbarTitle, UserAvatar, Video, Wrapper, Youtube, cssFontFace, getAcceptTypeString, getBase64, getImage, getInitials, getListFiles, openFileDialog, satoshiFontUrl };