@saasflare/ui 3.2.0 → 3.3.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/dist/index.d.mts +1131 -2
- package/dist/index.d.ts +1131 -2
- package/dist/index.js +2178 -4
- package/dist/index.mjs +2140 -9
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -324,6 +324,32 @@ declare function useInterval(callback: () => void, delay: number | null, options
|
|
|
324
324
|
*/
|
|
325
325
|
declare function useFocusTrap<T extends HTMLElement = HTMLElement>(active: boolean): (node: T | null) => void;
|
|
326
326
|
|
|
327
|
+
/** Return value of the useCountdown hook. */
|
|
328
|
+
interface CountdownValue {
|
|
329
|
+
/** Days remaining. */
|
|
330
|
+
days: number;
|
|
331
|
+
/** Hours remaining (0–23). */
|
|
332
|
+
hours: number;
|
|
333
|
+
/** Minutes remaining (0–59). */
|
|
334
|
+
minutes: number;
|
|
335
|
+
/** Seconds remaining (0–59). */
|
|
336
|
+
seconds: number;
|
|
337
|
+
/** Total milliseconds remaining. */
|
|
338
|
+
totalMs: number;
|
|
339
|
+
/** Whether the target date has passed. */
|
|
340
|
+
isExpired: boolean;
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Returns a live countdown to a target date, updating every second.
|
|
344
|
+
*
|
|
345
|
+
* @param {Date | string | number} target - The target date/time
|
|
346
|
+
* @returns {CountdownValue} The current countdown values
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* const { days, hours, minutes, seconds } = useCountdown('2026-12-31T00:00:00');
|
|
350
|
+
*/
|
|
351
|
+
declare function useCountdown(target: Date | string | number): CountdownValue;
|
|
352
|
+
|
|
327
353
|
/** Options for {@link useFileDialog}. */
|
|
328
354
|
interface UseFileDialogOptions {
|
|
329
355
|
/** MIME types or extensions to filter (matches `<input accept>`). */
|
|
@@ -369,7 +395,7 @@ declare function useFileDialog(options?: UseFileDialogOptions): UseFileDialogRet
|
|
|
369
395
|
* Use `useReducedMotion()` to disable springs when the user prefers reduced motion.
|
|
370
396
|
*
|
|
371
397
|
* @example
|
|
372
|
-
* import { spring, useReducedMotion } from "@saasflare/
|
|
398
|
+
* import { spring, useReducedMotion } from "@saasflare/ui";
|
|
373
399
|
* const reduced = useReducedMotion();
|
|
374
400
|
* <motion.div transition={reduced ? { duration: 0 } : spring} />
|
|
375
401
|
*/
|
|
@@ -2400,6 +2426,1109 @@ interface AuroraBackgroundProps extends Omit<ComponentProps<"div">, keyof Saasfl
|
|
|
2400
2426
|
*/
|
|
2401
2427
|
declare function AuroraBackground({ colors, intensity, className, children, surface, radius, animated, ...props }: AuroraBackgroundProps): react_jsx_runtime.JSX.Element;
|
|
2402
2428
|
|
|
2429
|
+
/** Props for the AudioPlayer component. */
|
|
2430
|
+
interface AudioPlayerProps extends SaasflareComponentProps {
|
|
2431
|
+
/** Audio source URL. */
|
|
2432
|
+
src: string;
|
|
2433
|
+
/** Track title. */
|
|
2434
|
+
title?: string;
|
|
2435
|
+
/** Additional class names. */
|
|
2436
|
+
className?: string;
|
|
2437
|
+
}
|
|
2438
|
+
/**
|
|
2439
|
+
* Styled audio player with play/pause, seek, and time display.
|
|
2440
|
+
*
|
|
2441
|
+
* @component
|
|
2442
|
+
* @package ui
|
|
2443
|
+
*/
|
|
2444
|
+
declare function AudioPlayer({ src, title, className, surface, radius, animated, }: AudioPlayerProps): react_jsx_runtime.JSX.Element;
|
|
2445
|
+
|
|
2446
|
+
/** Props for the BentoGrid container. */
|
|
2447
|
+
interface BentoGridProps {
|
|
2448
|
+
/** Grid items. */
|
|
2449
|
+
children: ReactNode;
|
|
2450
|
+
/** Number of columns at md+ breakpoint. Default: `3` */
|
|
2451
|
+
columns?: 2 | 3 | 4;
|
|
2452
|
+
/** Gap between items in Tailwind spacing units (4 = 1rem). Default: `4` */
|
|
2453
|
+
gap?: number;
|
|
2454
|
+
/** Additional class names. */
|
|
2455
|
+
className?: string;
|
|
2456
|
+
}
|
|
2457
|
+
/**
|
|
2458
|
+
* Responsive bento-style grid container with staggered item entrance.
|
|
2459
|
+
*
|
|
2460
|
+
* - Items animate in with a staggered fade+slide
|
|
2461
|
+
* - Supports 2, 3, or 4 column layouts (1 column on mobile)
|
|
2462
|
+
* - Items can span multiple columns/rows via BentoGridItem
|
|
2463
|
+
*
|
|
2464
|
+
* @component
|
|
2465
|
+
* @package ui
|
|
2466
|
+
*/
|
|
2467
|
+
declare function BentoGrid({ children, columns, gap, className, }: BentoGridProps): react_jsx_runtime.JSX.Element;
|
|
2468
|
+
/** Props for a BentoGridItem. */
|
|
2469
|
+
interface BentoGridItemProps extends SaasflareComponentProps {
|
|
2470
|
+
/** Item content. */
|
|
2471
|
+
children: ReactNode;
|
|
2472
|
+
/** Number of columns to span (1–4). Default: `1` */
|
|
2473
|
+
colSpan?: 1 | 2 | 3 | 4;
|
|
2474
|
+
/** Number of rows to span (1–3). Default: `1` */
|
|
2475
|
+
rowSpan?: 1 | 2 | 3;
|
|
2476
|
+
/** Stagger delay index (multiply by 0.08 for delay). Default: `0` */
|
|
2477
|
+
index?: number;
|
|
2478
|
+
/** Additional class names. */
|
|
2479
|
+
className?: string;
|
|
2480
|
+
}
|
|
2481
|
+
/**
|
|
2482
|
+
* Individual item within a BentoGrid.
|
|
2483
|
+
*
|
|
2484
|
+
* - Supports column and row spanning
|
|
2485
|
+
* - Animates in with a staggered fade + vertical slide
|
|
2486
|
+
* - Pass `index` for stagger ordering
|
|
2487
|
+
*
|
|
2488
|
+
* @component
|
|
2489
|
+
* @package ui
|
|
2490
|
+
*/
|
|
2491
|
+
declare function BentoGridItem({ children, colSpan, rowSpan, index, className, surface, radius, animated, }: BentoGridItemProps): react_jsx_runtime.JSX.Element;
|
|
2492
|
+
|
|
2493
|
+
/** Props for the BlurFade component. */
|
|
2494
|
+
interface BlurFadeProps {
|
|
2495
|
+
/** Content to animate. */
|
|
2496
|
+
children: ReactNode;
|
|
2497
|
+
/** Animation delay in seconds (use for staggering). Default: `0` */
|
|
2498
|
+
delay?: number;
|
|
2499
|
+
/** Initial blur amount in pixels. Default: `8` */
|
|
2500
|
+
blur?: number;
|
|
2501
|
+
/** Vertical offset in pixels. Default: `12` */
|
|
2502
|
+
yOffset?: number;
|
|
2503
|
+
/** Animation duration in seconds. Default: `0.5` */
|
|
2504
|
+
duration?: number;
|
|
2505
|
+
/** Whether animation triggers only once. Default: `true` */
|
|
2506
|
+
once?: boolean;
|
|
2507
|
+
/** Additional class names. */
|
|
2508
|
+
className?: string;
|
|
2509
|
+
}
|
|
2510
|
+
/**
|
|
2511
|
+
* Entrance animation that combines blur, opacity, and vertical slide.
|
|
2512
|
+
*
|
|
2513
|
+
* - Great for staggered reveals: pass incrementing `delay` values
|
|
2514
|
+
* - Blur clears simultaneously with the fade for a cohesive effect
|
|
2515
|
+
* - Renders children statically when reduced motion is preferred
|
|
2516
|
+
* - Uses Intersection Observer to trigger on viewport entry
|
|
2517
|
+
*
|
|
2518
|
+
* @component
|
|
2519
|
+
* @package ui
|
|
2520
|
+
*/
|
|
2521
|
+
declare function BlurFade({ children, delay, blur, yOffset, duration, once, className, }: BlurFadeProps): react_jsx_runtime.JSX.Element;
|
|
2522
|
+
|
|
2523
|
+
/** Props for the BorderBeam component. */
|
|
2524
|
+
interface BorderBeamProps {
|
|
2525
|
+
/** Beam color. Default: `"hsl(var(--primary))"` */
|
|
2526
|
+
color?: string;
|
|
2527
|
+
/** Tail fade color. Default: `"transparent"` */
|
|
2528
|
+
colorFrom?: string;
|
|
2529
|
+
/** Animation cycle duration in seconds. Default: `6` */
|
|
2530
|
+
duration?: number;
|
|
2531
|
+
/** Beam length in pixels. Default: `150` */
|
|
2532
|
+
size?: number;
|
|
2533
|
+
/** Border radius to follow (CSS value). Default: `"inherit"` */
|
|
2534
|
+
borderRadius?: string;
|
|
2535
|
+
/** Additional class names. */
|
|
2536
|
+
className?: string;
|
|
2537
|
+
}
|
|
2538
|
+
/**
|
|
2539
|
+
* Glowing beam that orbits the border of its parent container.
|
|
2540
|
+
*
|
|
2541
|
+
* - Place inside a `position: relative; overflow: hidden` parent
|
|
2542
|
+
* - CSS-only animation (no JS animation loop)
|
|
2543
|
+
* - Renders nothing when reduced motion is preferred
|
|
2544
|
+
*
|
|
2545
|
+
* @component
|
|
2546
|
+
* @package ui
|
|
2547
|
+
*/
|
|
2548
|
+
declare function BorderBeam({ color, colorFrom, duration, size, borderRadius, className, }: BorderBeamProps): react_jsx_runtime.JSX.Element | null;
|
|
2549
|
+
|
|
2550
|
+
/** Props for the Compare component. */
|
|
2551
|
+
interface CompareProps {
|
|
2552
|
+
/** Content shown on the left (before) side. */
|
|
2553
|
+
before: ReactNode;
|
|
2554
|
+
/** Content shown on the right (after) side. */
|
|
2555
|
+
after: ReactNode;
|
|
2556
|
+
/** Label for the before side. */
|
|
2557
|
+
beforeLabel?: string;
|
|
2558
|
+
/** Label for the after side. */
|
|
2559
|
+
afterLabel?: string;
|
|
2560
|
+
/** Initial divider position as percentage (0–100). Default: `50` */
|
|
2561
|
+
initialPosition?: number;
|
|
2562
|
+
/** CSS aspect-ratio for the container. Default: `"16/9"` */
|
|
2563
|
+
aspectRatio?: string;
|
|
2564
|
+
/** Additional class names. */
|
|
2565
|
+
className?: string;
|
|
2566
|
+
}
|
|
2567
|
+
/**
|
|
2568
|
+
* Draggable before/after comparison slider.
|
|
2569
|
+
*
|
|
2570
|
+
* - Pointer-based dragging (works on mouse and touch)
|
|
2571
|
+
* - Optional before/after labels
|
|
2572
|
+
* - Content is clipped, not resized
|
|
2573
|
+
* - Fully accessible with keyboard support
|
|
2574
|
+
*
|
|
2575
|
+
* @component
|
|
2576
|
+
* @package ui
|
|
2577
|
+
*/
|
|
2578
|
+
declare function Compare({ before, after, beforeLabel, afterLabel, initialPosition, aspectRatio, className, }: CompareProps): react_jsx_runtime.JSX.Element;
|
|
2579
|
+
|
|
2580
|
+
/** Props for the Confetti component. */
|
|
2581
|
+
interface ConfettiProps {
|
|
2582
|
+
/** Whether the confetti burst is active. */
|
|
2583
|
+
active: boolean;
|
|
2584
|
+
/** Number of confetti particles. Default: `40` */
|
|
2585
|
+
count?: number;
|
|
2586
|
+
/** Array of CSS colors for particles. */
|
|
2587
|
+
colors?: string[];
|
|
2588
|
+
/** Duration in milliseconds before auto-cleanup. Default: `3000` */
|
|
2589
|
+
duration?: number;
|
|
2590
|
+
/** Callback when animation completes. */
|
|
2591
|
+
onComplete?: () => void;
|
|
2592
|
+
/** Additional class names. */
|
|
2593
|
+
className?: string;
|
|
2594
|
+
}
|
|
2595
|
+
/**
|
|
2596
|
+
* Confetti burst animation overlay.
|
|
2597
|
+
*
|
|
2598
|
+
* - CSS-only particles with randomized trajectories
|
|
2599
|
+
* - Fires once when `active` becomes `true`
|
|
2600
|
+
* - Calls `onComplete` when the animation finishes
|
|
2601
|
+
* - Renders nothing when reduced motion is preferred
|
|
2602
|
+
*
|
|
2603
|
+
* @component
|
|
2604
|
+
* @package ui
|
|
2605
|
+
*/
|
|
2606
|
+
declare function Confetti({ active, count, colors, duration, onComplete, className, }: ConfettiProps): react_jsx_runtime.JSX.Element | null;
|
|
2607
|
+
|
|
2608
|
+
/** Props for the Countdown component. */
|
|
2609
|
+
interface CountdownProps {
|
|
2610
|
+
/** Number of days remaining. */
|
|
2611
|
+
days: number;
|
|
2612
|
+
/** Number of hours remaining (0–23). */
|
|
2613
|
+
hours: number;
|
|
2614
|
+
/** Number of minutes remaining (0–59). */
|
|
2615
|
+
minutes: number;
|
|
2616
|
+
/** Number of seconds remaining (0–59). */
|
|
2617
|
+
seconds: number;
|
|
2618
|
+
/** Show the labels below each box. Default: `true` */
|
|
2619
|
+
showLabels?: boolean;
|
|
2620
|
+
/** Additional class names. */
|
|
2621
|
+
className?: string;
|
|
2622
|
+
}
|
|
2623
|
+
/**
|
|
2624
|
+
* Countdown display with segmented boxes for each time unit.
|
|
2625
|
+
*
|
|
2626
|
+
* @component
|
|
2627
|
+
* @package ui
|
|
2628
|
+
*/
|
|
2629
|
+
declare function Countdown({ days, hours, minutes, seconds, showLabels, className, }: CountdownProps): react_jsx_runtime.JSX.Element;
|
|
2630
|
+
|
|
2631
|
+
/** Props for the SafariMock component. */
|
|
2632
|
+
interface SafariMockProps {
|
|
2633
|
+
/** Content to display inside the browser frame. */
|
|
2634
|
+
children: ReactNode;
|
|
2635
|
+
/** URL text shown in the address bar. Default: `"https://example.com"` */
|
|
2636
|
+
url?: string;
|
|
2637
|
+
/** Additional class names. */
|
|
2638
|
+
className?: string;
|
|
2639
|
+
}
|
|
2640
|
+
/**
|
|
2641
|
+
* Safari-style browser frame for wrapping screenshots.
|
|
2642
|
+
*
|
|
2643
|
+
* - CSS-only traffic lights (red/yellow/green dots)
|
|
2644
|
+
* - Address bar with optional URL text
|
|
2645
|
+
* - Rounded corners matching macOS window chrome
|
|
2646
|
+
*
|
|
2647
|
+
* @component
|
|
2648
|
+
* @package ui
|
|
2649
|
+
*/
|
|
2650
|
+
declare function SafariMock({ children, url, className, }: SafariMockProps): react_jsx_runtime.JSX.Element;
|
|
2651
|
+
/** Props for the IPhoneMock component. */
|
|
2652
|
+
interface IPhoneMockProps {
|
|
2653
|
+
/** Content to display inside the phone frame. */
|
|
2654
|
+
children: ReactNode;
|
|
2655
|
+
/** Additional class names. */
|
|
2656
|
+
className?: string;
|
|
2657
|
+
}
|
|
2658
|
+
/**
|
|
2659
|
+
* iPhone-style device frame for wrapping mobile screenshots.
|
|
2660
|
+
*
|
|
2661
|
+
* - CSS-only frame with rounded corners and notch
|
|
2662
|
+
* - Status bar with time and signal indicators
|
|
2663
|
+
* - Aspect ratio matches iPhone 15 Pro proportions
|
|
2664
|
+
*
|
|
2665
|
+
* @component
|
|
2666
|
+
* @package ui
|
|
2667
|
+
*/
|
|
2668
|
+
declare function IPhoneMock({ children, className, }: IPhoneMockProps): react_jsx_runtime.JSX.Element;
|
|
2669
|
+
|
|
2670
|
+
/** Props for the Dock container. */
|
|
2671
|
+
interface DockProps extends SaasflareComponentProps {
|
|
2672
|
+
/** Dock items. */
|
|
2673
|
+
children: ReactNode;
|
|
2674
|
+
/** Maximum scale factor for magnified items. Default: `1.5` */
|
|
2675
|
+
magnification?: number;
|
|
2676
|
+
/** Mouse proximity distance in pixels that triggers magnification. Default: `100` */
|
|
2677
|
+
distance?: number;
|
|
2678
|
+
/** Additional class names. */
|
|
2679
|
+
className?: string;
|
|
2680
|
+
}
|
|
2681
|
+
/**
|
|
2682
|
+
* Horizontal dock bar with proximity-based item magnification.
|
|
2683
|
+
*
|
|
2684
|
+
* - Items scale up as the mouse approaches them
|
|
2685
|
+
* - Uses spring physics for smooth, elastic scaling
|
|
2686
|
+
* - Falls back to a static icon bar when reduced motion is preferred
|
|
2687
|
+
* - Tracks mouse X position across the entire dock
|
|
2688
|
+
*
|
|
2689
|
+
* @component
|
|
2690
|
+
* @package ui
|
|
2691
|
+
*/
|
|
2692
|
+
declare function Dock({ children, magnification, distance, className, surface, radius, animated, }: DockProps): react_jsx_runtime.JSX.Element;
|
|
2693
|
+
/** Props for a DockItem. */
|
|
2694
|
+
interface DockItemProps {
|
|
2695
|
+
/** Icon or content inside the dock item. */
|
|
2696
|
+
children: ReactNode;
|
|
2697
|
+
/** Tooltip label for the item. */
|
|
2698
|
+
label: string;
|
|
2699
|
+
/** Click handler. */
|
|
2700
|
+
onClick?: () => void;
|
|
2701
|
+
/** Additional class names. */
|
|
2702
|
+
className?: string;
|
|
2703
|
+
}
|
|
2704
|
+
/**
|
|
2705
|
+
* Individual item within a Dock.
|
|
2706
|
+
*
|
|
2707
|
+
* - Magnifies based on mouse proximity using spring interpolation
|
|
2708
|
+
* - Shows a tooltip label on hover
|
|
2709
|
+
* - Renders at static base size when reduced motion is preferred
|
|
2710
|
+
*
|
|
2711
|
+
* @component
|
|
2712
|
+
* @package ui
|
|
2713
|
+
*/
|
|
2714
|
+
declare function DockItem({ children, label, onClick, className, }: DockItemProps): react_jsx_runtime.JSX.Element;
|
|
2715
|
+
|
|
2716
|
+
/** Props for the FeatureCard component. */
|
|
2717
|
+
interface FeatureCardProps extends SaasflareComponentProps {
|
|
2718
|
+
/** Icon element displayed at the top. */
|
|
2719
|
+
icon?: ReactNode;
|
|
2720
|
+
/** Feature title. */
|
|
2721
|
+
title: string;
|
|
2722
|
+
/** Feature description text. */
|
|
2723
|
+
description: string;
|
|
2724
|
+
/** Additional class names. */
|
|
2725
|
+
className?: string;
|
|
2726
|
+
}
|
|
2727
|
+
/**
|
|
2728
|
+
* Feature card with icon, title, and description.
|
|
2729
|
+
*
|
|
2730
|
+
* @component
|
|
2731
|
+
* @package ui
|
|
2732
|
+
*/
|
|
2733
|
+
declare function FeatureCard({ icon, title, description, className, surface, radius, animated, }: FeatureCardProps): react_jsx_runtime.JSX.Element;
|
|
2734
|
+
|
|
2735
|
+
/** Props for the FlipWords component. */
|
|
2736
|
+
interface FlipWordsProps {
|
|
2737
|
+
/** Array of words to cycle through. */
|
|
2738
|
+
words: string[];
|
|
2739
|
+
/** Cycle interval in milliseconds. Default: `2500` */
|
|
2740
|
+
interval?: number;
|
|
2741
|
+
/** Additional class names. */
|
|
2742
|
+
className?: string;
|
|
2743
|
+
}
|
|
2744
|
+
/**
|
|
2745
|
+
* Inline word rotator with vertical flip animation.
|
|
2746
|
+
*
|
|
2747
|
+
* - Words flip upward with a spring transition
|
|
2748
|
+
* - Container width matches the longest word to prevent layout shifts
|
|
2749
|
+
* - Falls back to showing the first word statically when reduced motion is preferred
|
|
2750
|
+
* - Renders inline, so it can be placed mid-sentence
|
|
2751
|
+
*
|
|
2752
|
+
* @component
|
|
2753
|
+
* @package ui
|
|
2754
|
+
*/
|
|
2755
|
+
declare function FlipWords({ words, interval, className, }: FlipWordsProps): react_jsx_runtime.JSX.Element;
|
|
2756
|
+
|
|
2757
|
+
/** Props for the GalleryLightbox component. */
|
|
2758
|
+
interface GalleryLightboxProps {
|
|
2759
|
+
/** Array of image URLs. */
|
|
2760
|
+
images: string[];
|
|
2761
|
+
/** Whether the lightbox is open. */
|
|
2762
|
+
open: boolean;
|
|
2763
|
+
/** Current image index. */
|
|
2764
|
+
index: number;
|
|
2765
|
+
/** Called when the lightbox should close. */
|
|
2766
|
+
onClose: () => void;
|
|
2767
|
+
/** Called when the index changes. */
|
|
2768
|
+
onIndexChange: (index: number) => void;
|
|
2769
|
+
/** Additional class names. */
|
|
2770
|
+
className?: string;
|
|
2771
|
+
}
|
|
2772
|
+
/**
|
|
2773
|
+
* Fullscreen image lightbox with keyboard navigation.
|
|
2774
|
+
*
|
|
2775
|
+
* @component
|
|
2776
|
+
* @package ui
|
|
2777
|
+
*/
|
|
2778
|
+
declare function GalleryLightbox({ images, open, index, onClose, onIndexChange, className, }: GalleryLightboxProps): react_jsx_runtime.JSX.Element;
|
|
2779
|
+
|
|
2780
|
+
/** Props for the GlowingEffect component. */
|
|
2781
|
+
interface GlowingEffectProps {
|
|
2782
|
+
/** Glow color. Default: `"hsl(var(--primary))"` */
|
|
2783
|
+
color?: string;
|
|
2784
|
+
/** Glow spread diameter in pixels. Default: `150` */
|
|
2785
|
+
spread?: number;
|
|
2786
|
+
/** Blur radius in pixels. Default: `20` */
|
|
2787
|
+
blur?: number;
|
|
2788
|
+
/** Glow opacity (0–1). Default: `0.4` */
|
|
2789
|
+
opacity?: number;
|
|
2790
|
+
/** Border radius to match parent (CSS value). Default: `"inherit"` */
|
|
2791
|
+
borderRadius?: string;
|
|
2792
|
+
/** Additional class names. */
|
|
2793
|
+
className?: string;
|
|
2794
|
+
}
|
|
2795
|
+
/**
|
|
2796
|
+
* Mouse-following glow effect for container borders.
|
|
2797
|
+
*
|
|
2798
|
+
* - Tracks mouse position and renders a radial gradient at cursor
|
|
2799
|
+
* - Only glows along the border (uses inset mask to hollow out center)
|
|
2800
|
+
* - Fades out when the mouse leaves
|
|
2801
|
+
* - Renders nothing when reduced motion is preferred
|
|
2802
|
+
*
|
|
2803
|
+
* @component
|
|
2804
|
+
* @package ui
|
|
2805
|
+
*/
|
|
2806
|
+
declare function GlowingEffect({ color, spread, blur, opacity, borderRadius, className, }: GlowingEffectProps): react_jsx_runtime.JSX.Element | null;
|
|
2807
|
+
|
|
2808
|
+
/** Props for the GradientText component. */
|
|
2809
|
+
interface GradientTextProps {
|
|
2810
|
+
/** Text content to apply the gradient to. */
|
|
2811
|
+
children: ReactNode;
|
|
2812
|
+
/** Gradient color stops. Default: primary → chart-1 → chart-2 tokens */
|
|
2813
|
+
colors?: string[];
|
|
2814
|
+
/** Whether to animate the gradient position. Default: `true` */
|
|
2815
|
+
animate?: boolean;
|
|
2816
|
+
/** Animation cycle duration in seconds. Default: `6` */
|
|
2817
|
+
speed?: number;
|
|
2818
|
+
/** Gradient direction in degrees. Default: `90` */
|
|
2819
|
+
angle?: number;
|
|
2820
|
+
/** Additional class names. */
|
|
2821
|
+
className?: string;
|
|
2822
|
+
}
|
|
2823
|
+
/**
|
|
2824
|
+
* Text with a vibrant gradient fill, optionally animated.
|
|
2825
|
+
*
|
|
2826
|
+
* - Uses `background-clip: text` for the gradient effect
|
|
2827
|
+
* - Animates via CSS `@keyframes` (no JS frames)
|
|
2828
|
+
* - Falls back to primary color when reduced motion is preferred
|
|
2829
|
+
* - Renders as an inline `<span>` to nest inside any heading or paragraph
|
|
2830
|
+
*
|
|
2831
|
+
* @component
|
|
2832
|
+
* @package ui
|
|
2833
|
+
*/
|
|
2834
|
+
declare function GradientText({ children, colors, animate, speed, angle, className, }: GradientTextProps): react_jsx_runtime.JSX.Element;
|
|
2835
|
+
|
|
2836
|
+
/** Props for the HeroVideoDialog component. */
|
|
2837
|
+
interface HeroVideoDialogProps {
|
|
2838
|
+
/** Video embed URL (YouTube/Vimeo embed or direct video URL). */
|
|
2839
|
+
videoSrc: string;
|
|
2840
|
+
/** Poster thumbnail image URL. */
|
|
2841
|
+
thumbnailSrc: string;
|
|
2842
|
+
/** Alt text for the thumbnail image. */
|
|
2843
|
+
thumbnailAlt: string;
|
|
2844
|
+
/** CSS aspect-ratio for the thumbnail. Default: `"16/9"` */
|
|
2845
|
+
aspectRatio?: string;
|
|
2846
|
+
/** Additional class names for the container. */
|
|
2847
|
+
className?: string;
|
|
2848
|
+
}
|
|
2849
|
+
/**
|
|
2850
|
+
* Hero video section with click-to-play dialog.
|
|
2851
|
+
*
|
|
2852
|
+
* - Shows a thumbnail with a centered play button
|
|
2853
|
+
* - Opens a modal dialog with the embedded video on click
|
|
2854
|
+
* - Animated with spring physics (scale + fade)
|
|
2855
|
+
* - Accessible: focus management, keyboard close, aria labels
|
|
2856
|
+
*
|
|
2857
|
+
* @component
|
|
2858
|
+
* @package ui
|
|
2859
|
+
*/
|
|
2860
|
+
declare function HeroVideoDialog({ videoSrc, thumbnailSrc, thumbnailAlt, aspectRatio, className, }: HeroVideoDialogProps): react_jsx_runtime.JSX.Element;
|
|
2861
|
+
|
|
2862
|
+
/** Props for the Hotspot container. */
|
|
2863
|
+
interface HotspotProps {
|
|
2864
|
+
/** Background content (image, illustration, etc.) plus HotspotMarker children. */
|
|
2865
|
+
children: ReactNode;
|
|
2866
|
+
/** Additional class names. */
|
|
2867
|
+
className?: string;
|
|
2868
|
+
}
|
|
2869
|
+
/**
|
|
2870
|
+
* Container for positioned hotspot markers.
|
|
2871
|
+
*
|
|
2872
|
+
* @component
|
|
2873
|
+
* @package ui
|
|
2874
|
+
*/
|
|
2875
|
+
declare function Hotspot({ children, className }: HotspotProps): react_jsx_runtime.JSX.Element;
|
|
2876
|
+
/** Props for a HotspotMarker. */
|
|
2877
|
+
interface HotspotMarkerProps {
|
|
2878
|
+
/** Horizontal position as percentage (0–100). */
|
|
2879
|
+
x: number;
|
|
2880
|
+
/** Vertical position as percentage (0–100). */
|
|
2881
|
+
y: number;
|
|
2882
|
+
/** Tooltip label text. */
|
|
2883
|
+
label: string;
|
|
2884
|
+
/** Detailed description shown in the tooltip. */
|
|
2885
|
+
description?: string;
|
|
2886
|
+
/** Marker dot color. Default: `"hsl(var(--primary))"` */
|
|
2887
|
+
color?: string;
|
|
2888
|
+
/** Additional class names. */
|
|
2889
|
+
className?: string;
|
|
2890
|
+
}
|
|
2891
|
+
/**
|
|
2892
|
+
* Pulsing dot marker with hover tooltip at an absolute position.
|
|
2893
|
+
*
|
|
2894
|
+
* @component
|
|
2895
|
+
* @package ui
|
|
2896
|
+
*/
|
|
2897
|
+
declare function HotspotMarker({ x, y, label, description, color, className, }: HotspotMarkerProps): react_jsx_runtime.JSX.Element;
|
|
2898
|
+
|
|
2899
|
+
/**
|
|
2900
|
+
* @fileoverview Image that swaps to an alternate source on hover.
|
|
2901
|
+
* @author Saasflare™
|
|
2902
|
+
* Crossfades between a primary and alternate image on mouse hover.
|
|
2903
|
+
* @module packages/ui/components/ui/image-swap-hover
|
|
2904
|
+
* @package ui
|
|
2905
|
+
*
|
|
2906
|
+
* @component
|
|
2907
|
+
* @example
|
|
2908
|
+
* import { ImageSwapHover } from '@saasflare/ui';
|
|
2909
|
+
* <ImageSwapHover
|
|
2910
|
+
* src="/product-front.jpg"
|
|
2911
|
+
* hoverSrc="/product-back.jpg"
|
|
2912
|
+
* alt="Product view"
|
|
2913
|
+
* />
|
|
2914
|
+
*/
|
|
2915
|
+
/** Props for the ImageSwapHover component. */
|
|
2916
|
+
interface ImageSwapHoverProps {
|
|
2917
|
+
/** Default image source. */
|
|
2918
|
+
src: string;
|
|
2919
|
+
/** Image source to show on hover. */
|
|
2920
|
+
hoverSrc: string;
|
|
2921
|
+
/** Alt text for both images. */
|
|
2922
|
+
alt: string;
|
|
2923
|
+
/** CSS aspect-ratio. Default: `"1/1"` */
|
|
2924
|
+
aspectRatio?: string;
|
|
2925
|
+
/** Additional class names. */
|
|
2926
|
+
className?: string;
|
|
2927
|
+
}
|
|
2928
|
+
/**
|
|
2929
|
+
* Image that crossfades to an alternate source on hover.
|
|
2930
|
+
*
|
|
2931
|
+
* @component
|
|
2932
|
+
* @package ui
|
|
2933
|
+
*/
|
|
2934
|
+
declare function ImageSwapHover({ src, hoverSrc, alt, aspectRatio, className, }: ImageSwapHoverProps): react_jsx_runtime.JSX.Element;
|
|
2935
|
+
|
|
2936
|
+
/** Props for the Marquee component. */
|
|
2937
|
+
interface MarqueeProps {
|
|
2938
|
+
/** Items to scroll infinitely. */
|
|
2939
|
+
children: ReactNode;
|
|
2940
|
+
/** Reverse scroll direction. Default: `false` */
|
|
2941
|
+
reverse?: boolean;
|
|
2942
|
+
/** Scroll duration in seconds for one full cycle. Default: `40` */
|
|
2943
|
+
speed?: number;
|
|
2944
|
+
/** Pause scrolling on hover. Default: `true` */
|
|
2945
|
+
pauseOnHover?: boolean;
|
|
2946
|
+
/** Gap between items in pixels. Default: `48` */
|
|
2947
|
+
gap?: number;
|
|
2948
|
+
/** Number of times to duplicate the content strip. Default: `2` */
|
|
2949
|
+
repeat?: number;
|
|
2950
|
+
/** Enable vertical scrolling instead of horizontal. Default: `false` */
|
|
2951
|
+
vertical?: boolean;
|
|
2952
|
+
/** Additional class names for the container. */
|
|
2953
|
+
className?: string;
|
|
2954
|
+
}
|
|
2955
|
+
/**
|
|
2956
|
+
* Infinite-scrolling content ticker.
|
|
2957
|
+
*
|
|
2958
|
+
* - Pure CSS animation (no JS frames, no Framer Motion overhead)
|
|
2959
|
+
* - Duplicates children to create a seamless loop
|
|
2960
|
+
* - Pauses on hover for readability (configurable)
|
|
2961
|
+
* - Falls back to static flex row when reduced motion is preferred
|
|
2962
|
+
*
|
|
2963
|
+
* @component
|
|
2964
|
+
* @package ui
|
|
2965
|
+
*/
|
|
2966
|
+
declare function Marquee({ children, reverse, speed, pauseOnHover, gap, repeat, vertical, className, }: MarqueeProps): react_jsx_runtime.JSX.Element;
|
|
2967
|
+
|
|
2968
|
+
/** Props for the MouseGradientBlob component. */
|
|
2969
|
+
interface MouseGradientBlobProps {
|
|
2970
|
+
/** Diameter of the blob in pixels. Default: `500` */
|
|
2971
|
+
size?: number;
|
|
2972
|
+
/** Gradient color stops. Default: primary + chart-2 tokens */
|
|
2973
|
+
colors?: [string, string];
|
|
2974
|
+
/** Opacity of the blob (0–1). Default: `0.15` */
|
|
2975
|
+
opacity?: number;
|
|
2976
|
+
/** Blur radius in pixels. Default: `80` */
|
|
2977
|
+
blur?: number;
|
|
2978
|
+
/** Additional class names for the container */
|
|
2979
|
+
className?: string;
|
|
2980
|
+
}
|
|
2981
|
+
/**
|
|
2982
|
+
* Ambient gradient blob that follows the mouse.
|
|
2983
|
+
*
|
|
2984
|
+
* - Uses spring physics for smooth, organic motion
|
|
2985
|
+
* - Fades out when the mouse leaves the container
|
|
2986
|
+
* - Renders nothing when reduced motion is preferred
|
|
2987
|
+
* - Uses `pointer-events: none` so it never blocks interaction
|
|
2988
|
+
*
|
|
2989
|
+
* @component
|
|
2990
|
+
* @package ui
|
|
2991
|
+
*/
|
|
2992
|
+
declare function MouseGradientBlob({ size, colors, opacity, blur, className, }: MouseGradientBlobProps): react_jsx_runtime.JSX.Element | null;
|
|
2993
|
+
|
|
2994
|
+
/** Props for the MovingBorder component. */
|
|
2995
|
+
interface MovingBorderProps {
|
|
2996
|
+
/** Content inside the border. */
|
|
2997
|
+
children: ReactNode;
|
|
2998
|
+
/** Gradient colors for the rotating border. */
|
|
2999
|
+
colors?: string[];
|
|
3000
|
+
/** Rotation cycle duration in seconds. Default: `6` */
|
|
3001
|
+
duration?: number;
|
|
3002
|
+
/** Border width in pixels. Default: `1.5` */
|
|
3003
|
+
borderWidth?: number;
|
|
3004
|
+
/** Border radius (CSS value). Default: `"0.75rem"` */
|
|
3005
|
+
borderRadius?: string;
|
|
3006
|
+
/** Additional class names for the outer wrapper. */
|
|
3007
|
+
className?: string;
|
|
3008
|
+
}
|
|
3009
|
+
/**
|
|
3010
|
+
* Wrapper with a continuously rotating gradient border.
|
|
3011
|
+
*
|
|
3012
|
+
* - Uses a conic-gradient that rotates via CSS animation
|
|
3013
|
+
* - Inner content sits on top with a solid background
|
|
3014
|
+
* - Renders a static border when reduced motion is preferred
|
|
3015
|
+
* - Works on any element (buttons, cards, containers)
|
|
3016
|
+
*
|
|
3017
|
+
* @component
|
|
3018
|
+
* @package ui
|
|
3019
|
+
*/
|
|
3020
|
+
declare function MovingBorder({ children, colors, duration, borderWidth, borderRadius, className, }: MovingBorderProps): react_jsx_runtime.JSX.Element;
|
|
3021
|
+
|
|
3022
|
+
/** Animation variant presets for page transitions. */
|
|
3023
|
+
declare const VARIANTS: {
|
|
3024
|
+
readonly fade: {
|
|
3025
|
+
readonly initial: {
|
|
3026
|
+
readonly opacity: 0;
|
|
3027
|
+
};
|
|
3028
|
+
readonly animate: {
|
|
3029
|
+
readonly opacity: 1;
|
|
3030
|
+
};
|
|
3031
|
+
readonly exit: {
|
|
3032
|
+
readonly opacity: 0;
|
|
3033
|
+
};
|
|
3034
|
+
};
|
|
3035
|
+
readonly slideUp: {
|
|
3036
|
+
readonly initial: {
|
|
3037
|
+
readonly opacity: 0;
|
|
3038
|
+
readonly y: 16;
|
|
3039
|
+
};
|
|
3040
|
+
readonly animate: {
|
|
3041
|
+
readonly opacity: 1;
|
|
3042
|
+
readonly y: 0;
|
|
3043
|
+
};
|
|
3044
|
+
readonly exit: {
|
|
3045
|
+
readonly opacity: 0;
|
|
3046
|
+
readonly y: -16;
|
|
3047
|
+
};
|
|
3048
|
+
};
|
|
3049
|
+
readonly slideDown: {
|
|
3050
|
+
readonly initial: {
|
|
3051
|
+
readonly opacity: 0;
|
|
3052
|
+
readonly y: -16;
|
|
3053
|
+
};
|
|
3054
|
+
readonly animate: {
|
|
3055
|
+
readonly opacity: 1;
|
|
3056
|
+
readonly y: 0;
|
|
3057
|
+
};
|
|
3058
|
+
readonly exit: {
|
|
3059
|
+
readonly opacity: 0;
|
|
3060
|
+
readonly y: 16;
|
|
3061
|
+
};
|
|
3062
|
+
};
|
|
3063
|
+
readonly scale: {
|
|
3064
|
+
readonly initial: {
|
|
3065
|
+
readonly opacity: 0;
|
|
3066
|
+
readonly scale: 0.96;
|
|
3067
|
+
};
|
|
3068
|
+
readonly animate: {
|
|
3069
|
+
readonly opacity: 1;
|
|
3070
|
+
readonly scale: 1;
|
|
3071
|
+
};
|
|
3072
|
+
readonly exit: {
|
|
3073
|
+
readonly opacity: 0;
|
|
3074
|
+
readonly scale: 0.96;
|
|
3075
|
+
};
|
|
3076
|
+
};
|
|
3077
|
+
};
|
|
3078
|
+
/** Props for the PageTransition component. */
|
|
3079
|
+
interface PageTransitionProps {
|
|
3080
|
+
/** Child content to animate. */
|
|
3081
|
+
children: ReactNode;
|
|
3082
|
+
/** Animation preset. Default: `"fade"` */
|
|
3083
|
+
variant?: keyof typeof VARIANTS;
|
|
3084
|
+
/** Transition duration in seconds. Default: `0.3` */
|
|
3085
|
+
duration?: number;
|
|
3086
|
+
/** Unique key for AnimatePresence (use pathname). Default: none */
|
|
3087
|
+
transitionKey?: string;
|
|
3088
|
+
/** Additional class names for the motion wrapper. */
|
|
3089
|
+
className?: string;
|
|
3090
|
+
}
|
|
3091
|
+
/**
|
|
3092
|
+
* Page transition wrapper with configurable enter/exit animations.
|
|
3093
|
+
*
|
|
3094
|
+
* - Provides `fade`, `slideUp`, `slideDown`, and `scale` presets
|
|
3095
|
+
* - Renders children directly (no animation) when reduced motion is preferred
|
|
3096
|
+
* - Use `transitionKey` (typically the pathname) to trigger re-animation on route changes
|
|
3097
|
+
*
|
|
3098
|
+
* @component
|
|
3099
|
+
* @package ui
|
|
3100
|
+
*/
|
|
3101
|
+
declare function PageTransition({ children, variant, duration, transitionKey, className, }: PageTransitionProps): react_jsx_runtime.JSX.Element;
|
|
3102
|
+
|
|
3103
|
+
/** Props for the ParallaxSection component. */
|
|
3104
|
+
interface ParallaxSectionProps {
|
|
3105
|
+
/** Content to apply parallax to. */
|
|
3106
|
+
children: ReactNode;
|
|
3107
|
+
/** Parallax speed factor. 0 = fixed, 0.5 = half speed, 1 = no parallax. Default: `0.5` */
|
|
3108
|
+
speed?: number;
|
|
3109
|
+
/** Additional class names. */
|
|
3110
|
+
className?: string;
|
|
3111
|
+
}
|
|
3112
|
+
/**
|
|
3113
|
+
* Section wrapper that applies scroll-based parallax to its children.
|
|
3114
|
+
*
|
|
3115
|
+
* - Children translate vertically based on scroll position and speed factor
|
|
3116
|
+
* - Falls back to static rendering when reduced motion is preferred
|
|
3117
|
+
* - Overflow hidden to prevent content leaking during parallax
|
|
3118
|
+
*
|
|
3119
|
+
* @component
|
|
3120
|
+
* @package ui
|
|
3121
|
+
*/
|
|
3122
|
+
declare function ParallaxSection({ children, speed, className, }: ParallaxSectionProps): react_jsx_runtime.JSX.Element;
|
|
3123
|
+
|
|
3124
|
+
/** Props for the ParticlesBackground component. */
|
|
3125
|
+
interface ParticlesBackgroundProps {
|
|
3126
|
+
/** Number of particles. Default: `20` */
|
|
3127
|
+
count?: number;
|
|
3128
|
+
/** CSS color of particles. Default: `"hsl(var(--primary))"` */
|
|
3129
|
+
color?: string;
|
|
3130
|
+
/** Maximum particle diameter in pixels. Default: `4` */
|
|
3131
|
+
maxSize?: number;
|
|
3132
|
+
/** Minimum particle diameter in pixels. Default: `1` */
|
|
3133
|
+
minSize?: number;
|
|
3134
|
+
/** Maximum particle opacity (0–1). Default: `0.3` */
|
|
3135
|
+
maxOpacity?: number;
|
|
3136
|
+
/** Animation speed multiplier. Default: `1` */
|
|
3137
|
+
speed?: number;
|
|
3138
|
+
/** Additional class names for the container. */
|
|
3139
|
+
className?: string;
|
|
3140
|
+
}
|
|
3141
|
+
/**
|
|
3142
|
+
* Ambient floating particles background.
|
|
3143
|
+
*
|
|
3144
|
+
* - CSS-only animation (no JS animation loop, GPU-composited)
|
|
3145
|
+
* - Deterministic positions (no layout shift between renders)
|
|
3146
|
+
* - Renders nothing when reduced motion is preferred
|
|
3147
|
+
* - Lightweight: no canvas, no WebGL
|
|
3148
|
+
*
|
|
3149
|
+
* @component
|
|
3150
|
+
* @package ui
|
|
3151
|
+
*/
|
|
3152
|
+
declare function ParticlesBackground({ count, color, maxSize, minSize, maxOpacity, speed, className, }: ParticlesBackgroundProps): react_jsx_runtime.JSX.Element | null;
|
|
3153
|
+
|
|
3154
|
+
/**
|
|
3155
|
+
* @fileoverview Perspective grid background with retro/cyberpunk aesthetic.
|
|
3156
|
+
* @author Saasflare™
|
|
3157
|
+
* A CSS-only perspective grid that fades toward the horizon. Ideal for
|
|
3158
|
+
* hero sections and feature backgrounds.
|
|
3159
|
+
* @module packages/ui/components/ui/retro-grid
|
|
3160
|
+
* @package ui
|
|
3161
|
+
*
|
|
3162
|
+
* @component
|
|
3163
|
+
* @example
|
|
3164
|
+
* import { RetroGrid } from '@saasflare/ui';
|
|
3165
|
+
* <div className="relative min-h-[500px]">
|
|
3166
|
+
* <RetroGrid />
|
|
3167
|
+
* <div className="relative z-10">Hero content</div>
|
|
3168
|
+
* </div>
|
|
3169
|
+
*
|
|
3170
|
+
* @example
|
|
3171
|
+
* // Custom grid color and size
|
|
3172
|
+
* <RetroGrid gridColor="hsl(var(--primary))" gridSize={40} angle={70} />
|
|
3173
|
+
*/
|
|
3174
|
+
/** Props for the RetroGrid component. */
|
|
3175
|
+
interface RetroGridProps {
|
|
3176
|
+
/** Grid line color. Default: `"hsl(var(--border))"` */
|
|
3177
|
+
gridColor?: string;
|
|
3178
|
+
/** Grid cell size in pixels. Default: `60` */
|
|
3179
|
+
gridSize?: number;
|
|
3180
|
+
/** Perspective tilt angle in degrees. Default: `65` */
|
|
3181
|
+
angle?: number;
|
|
3182
|
+
/** Grid line opacity (0–1). Default: `0.4` */
|
|
3183
|
+
opacity?: number;
|
|
3184
|
+
/** Additional class names. */
|
|
3185
|
+
className?: string;
|
|
3186
|
+
}
|
|
3187
|
+
/**
|
|
3188
|
+
* Perspective grid background with vanishing-point effect.
|
|
3189
|
+
*
|
|
3190
|
+
* - CSS-only (repeating linear gradients + perspective transform)
|
|
3191
|
+
* - Fades to transparent at the horizon via mask-image
|
|
3192
|
+
* - No JS, no canvas, no animation — pure visual
|
|
3193
|
+
*
|
|
3194
|
+
* @component
|
|
3195
|
+
* @package ui
|
|
3196
|
+
*/
|
|
3197
|
+
declare function RetroGrid({ gridColor, gridSize, angle, opacity, className, }: RetroGridProps): react_jsx_runtime.JSX.Element;
|
|
3198
|
+
|
|
3199
|
+
/** Direction the element slides in from. */
|
|
3200
|
+
type RevealDirection = "up" | "down" | "left" | "right" | "none";
|
|
3201
|
+
/** Props for the RevealOnScroll component. */
|
|
3202
|
+
interface RevealOnScrollProps {
|
|
3203
|
+
/** Content to reveal. */
|
|
3204
|
+
children: ReactNode;
|
|
3205
|
+
/** Direction the element slides in from. Default: `"up"` */
|
|
3206
|
+
direction?: RevealDirection;
|
|
3207
|
+
/** Animation delay in seconds. Default: `0` */
|
|
3208
|
+
delay?: number;
|
|
3209
|
+
/** Intersection Observer root margin. Default: `"-80px"` */
|
|
3210
|
+
rootMargin?: string;
|
|
3211
|
+
/** Whether the animation triggers only once. Default: `true` */
|
|
3212
|
+
once?: boolean;
|
|
3213
|
+
/** Additional class names. */
|
|
3214
|
+
className?: string;
|
|
3215
|
+
}
|
|
3216
|
+
/**
|
|
3217
|
+
* Wrapper that animates children into view on scroll intersection.
|
|
3218
|
+
*
|
|
3219
|
+
* - Fades in with an optional directional slide
|
|
3220
|
+
* - Uses a gentle spring for natural motion
|
|
3221
|
+
* - Renders children statically when reduced motion is preferred
|
|
3222
|
+
* - Triggers once by default (configurable via `once`)
|
|
3223
|
+
*
|
|
3224
|
+
* @component
|
|
3225
|
+
* @package ui
|
|
3226
|
+
*/
|
|
3227
|
+
declare function RevealOnScroll({ children, direction, delay, rootMargin, once, className, }: RevealOnScrollProps): react_jsx_runtime.JSX.Element;
|
|
3228
|
+
|
|
3229
|
+
/** Props for the ShimmerButton component. */
|
|
3230
|
+
interface ShimmerButtonProps extends ComponentProps<"button"> {
|
|
3231
|
+
/** Button content. */
|
|
3232
|
+
children: ReactNode;
|
|
3233
|
+
/** Color of the shimmer highlight. Default: `"rgba(255,255,255,0.2)"` */
|
|
3234
|
+
shimmerColor?: string;
|
|
3235
|
+
/** Shimmer cycle duration in seconds. Default: `2.5` */
|
|
3236
|
+
speed?: number;
|
|
3237
|
+
/** Background color. Default: `"hsl(var(--primary))"` */
|
|
3238
|
+
background?: string;
|
|
3239
|
+
}
|
|
3240
|
+
/**
|
|
3241
|
+
* CTA button with a continuously sweeping shimmer effect.
|
|
3242
|
+
*
|
|
3243
|
+
* - Diagonal light sweep loops infinitely
|
|
3244
|
+
* - CSS-only animation (no JS frames)
|
|
3245
|
+
* - Falls back to a static button when reduced motion is preferred
|
|
3246
|
+
* - Inherits standard button props (onClick, disabled, etc.)
|
|
3247
|
+
*
|
|
3248
|
+
* @component
|
|
3249
|
+
* @package ui
|
|
3250
|
+
*/
|
|
3251
|
+
declare function ShimmerButton({ children, shimmerColor, speed, background, className, ...props }: ShimmerButtonProps): react_jsx_runtime.JSX.Element;
|
|
3252
|
+
|
|
3253
|
+
/** Supported social login providers. */
|
|
3254
|
+
type SocialProvider$1 = "google" | "apple" | "github" | "microsoft" | "twitter";
|
|
3255
|
+
/** Props for the SocialButton component. */
|
|
3256
|
+
interface SocialButtonProps extends Omit<ComponentProps<"button">, "children"> {
|
|
3257
|
+
/** Social provider to render. */
|
|
3258
|
+
provider: SocialProvider$1;
|
|
3259
|
+
/** Override the default label text. */
|
|
3260
|
+
label?: string;
|
|
3261
|
+
/** Show only the icon (no text). Default: `false` */
|
|
3262
|
+
iconOnly?: boolean;
|
|
3263
|
+
}
|
|
3264
|
+
/**
|
|
3265
|
+
* Branded social login button. Visual only — no auth wiring.
|
|
3266
|
+
*
|
|
3267
|
+
* @component
|
|
3268
|
+
* @package ui
|
|
3269
|
+
*/
|
|
3270
|
+
declare function SocialButton({ provider, label: labelOverride, iconOnly, className, ...props }: SocialButtonProps): react_jsx_runtime.JSX.Element;
|
|
3271
|
+
|
|
3272
|
+
/** Props for the SpotlightCard component. */
|
|
3273
|
+
interface SpotlightCardProps extends SaasflareComponentProps {
|
|
3274
|
+
/** Card content. */
|
|
3275
|
+
children: ReactNode;
|
|
3276
|
+
/** Spotlight gradient color. Default: `"hsl(var(--primary))"` */
|
|
3277
|
+
spotlightColor?: string;
|
|
3278
|
+
/** Spotlight diameter in pixels. Default: `250` */
|
|
3279
|
+
spotlightSize?: number;
|
|
3280
|
+
/** Spotlight opacity (0–1). Default: `0.08` */
|
|
3281
|
+
spotlightOpacity?: number;
|
|
3282
|
+
/** Additional class names. */
|
|
3283
|
+
className?: string;
|
|
3284
|
+
}
|
|
3285
|
+
/**
|
|
3286
|
+
* Card with a radial gradient that follows the mouse cursor.
|
|
3287
|
+
*
|
|
3288
|
+
* - Gradient overlay tracks the mouse within the card boundaries
|
|
3289
|
+
* - Fades out when the mouse leaves
|
|
3290
|
+
* - Uses CSS for the gradient (no canvas, no heavy re-renders)
|
|
3291
|
+
* - Falls back to a plain card when reduced motion is preferred
|
|
3292
|
+
*
|
|
3293
|
+
* @component
|
|
3294
|
+
* @package ui
|
|
3295
|
+
*/
|
|
3296
|
+
declare function SpotlightCard({ children, spotlightColor, spotlightSize, spotlightOpacity, className, surface, radius, animated, }: SpotlightCardProps): react_jsx_runtime.JSX.Element;
|
|
3297
|
+
|
|
3298
|
+
/** Props for the StatCard component. */
|
|
3299
|
+
interface StatCardProps extends SaasflareComponentProps {
|
|
3300
|
+
/** The stat value (e.g. "10K+", "99.9%", "$2.4M"). */
|
|
3301
|
+
value: string;
|
|
3302
|
+
/** Label describing the stat. */
|
|
3303
|
+
label: string;
|
|
3304
|
+
/** Optional icon displayed above the value. */
|
|
3305
|
+
icon?: ReactNode;
|
|
3306
|
+
/** Additional class names. */
|
|
3307
|
+
className?: string;
|
|
3308
|
+
}
|
|
3309
|
+
/**
|
|
3310
|
+
* Simple statistic display card for marketing sections.
|
|
3311
|
+
*
|
|
3312
|
+
* @component
|
|
3313
|
+
* @package ui
|
|
3314
|
+
*/
|
|
3315
|
+
declare function StatCard({ value, label, icon, className, surface, radius, animated, }: StatCardProps): react_jsx_runtime.JSX.Element;
|
|
3316
|
+
|
|
3317
|
+
/** Props for the Steps container. */
|
|
3318
|
+
interface StepsProps {
|
|
3319
|
+
/** Step children. */
|
|
3320
|
+
children: ReactNode;
|
|
3321
|
+
/** Index of the current active step (0-based). Default: `0` */
|
|
3322
|
+
current?: number;
|
|
3323
|
+
/** Layout direction. Default: `"horizontal"` */
|
|
3324
|
+
direction?: "horizontal" | "vertical";
|
|
3325
|
+
/** Additional class names. */
|
|
3326
|
+
className?: string;
|
|
3327
|
+
}
|
|
3328
|
+
/** Props for an individual Step. */
|
|
3329
|
+
interface StepProps {
|
|
3330
|
+
/** Step title text. */
|
|
3331
|
+
title: string;
|
|
3332
|
+
/** Optional description below the title. */
|
|
3333
|
+
description?: string;
|
|
3334
|
+
/** Optional icon to replace the step number. */
|
|
3335
|
+
icon?: ReactNode;
|
|
3336
|
+
/** Additional class names. */
|
|
3337
|
+
className?: string;
|
|
3338
|
+
}
|
|
3339
|
+
/**
|
|
3340
|
+
* Step sequence indicator with numbered circles and connector lines.
|
|
3341
|
+
*
|
|
3342
|
+
* @component
|
|
3343
|
+
* @package ui
|
|
3344
|
+
*/
|
|
3345
|
+
declare function Steps({ children, current, direction, className, }: StepsProps): react_jsx_runtime.JSX.Element;
|
|
3346
|
+
/**
|
|
3347
|
+
* Individual step within a Steps container.
|
|
3348
|
+
* This component is a data carrier — it renders nothing on its own.
|
|
3349
|
+
*
|
|
3350
|
+
* @component
|
|
3351
|
+
* @package ui
|
|
3352
|
+
*/
|
|
3353
|
+
declare function Step(_props: StepProps): null;
|
|
3354
|
+
|
|
3355
|
+
/** A single item in the sticky scroll reveal. */
|
|
3356
|
+
interface StickyScrollItem {
|
|
3357
|
+
/** Section title. */
|
|
3358
|
+
title: string;
|
|
3359
|
+
/** Section description text. */
|
|
3360
|
+
description: string;
|
|
3361
|
+
/** Visual content (image, component, etc.) shown in the right column. */
|
|
3362
|
+
content?: ReactNode;
|
|
3363
|
+
}
|
|
3364
|
+
/** Props for the StickyScrollReveal component. */
|
|
3365
|
+
interface StickyScrollRevealProps {
|
|
3366
|
+
/** Array of scroll items. */
|
|
3367
|
+
items: StickyScrollItem[];
|
|
3368
|
+
/** Additional class names. */
|
|
3369
|
+
className?: string;
|
|
3370
|
+
}
|
|
3371
|
+
/**
|
|
3372
|
+
* Split layout with sticky left text and scrolling right content.
|
|
3373
|
+
*
|
|
3374
|
+
* - Left column text stays fixed during scroll
|
|
3375
|
+
* - Right column content transitions between items
|
|
3376
|
+
* - Each item fades in based on scroll position
|
|
3377
|
+
* - Falls back to stacked layout when reduced motion is preferred
|
|
3378
|
+
*
|
|
3379
|
+
* @component
|
|
3380
|
+
* @package ui
|
|
3381
|
+
*/
|
|
3382
|
+
declare function StickyScrollReveal({ items, className, }: StickyScrollRevealProps): react_jsx_runtime.JSX.Element;
|
|
3383
|
+
|
|
3384
|
+
/** A social link entry. */
|
|
3385
|
+
interface SocialLink {
|
|
3386
|
+
/** Accessible label for the link. */
|
|
3387
|
+
label: string;
|
|
3388
|
+
/** URL to the social profile. */
|
|
3389
|
+
url: string;
|
|
3390
|
+
/** Icon element. */
|
|
3391
|
+
icon: ReactNode;
|
|
3392
|
+
}
|
|
3393
|
+
/** Props for the TeamCard component. */
|
|
3394
|
+
interface TeamCardProps extends SaasflareComponentProps {
|
|
3395
|
+
/** Person's name. */
|
|
3396
|
+
name: string;
|
|
3397
|
+
/** Role or job title. */
|
|
3398
|
+
role: string;
|
|
3399
|
+
/** Photo URL. */
|
|
3400
|
+
photo?: string;
|
|
3401
|
+
/** Short bio text. */
|
|
3402
|
+
bio?: string;
|
|
3403
|
+
/** Social media links. */
|
|
3404
|
+
socials?: SocialLink[];
|
|
3405
|
+
/** Additional class names. */
|
|
3406
|
+
className?: string;
|
|
3407
|
+
}
|
|
3408
|
+
/**
|
|
3409
|
+
* Team member card with photo, name, role, and social links.
|
|
3410
|
+
*
|
|
3411
|
+
* @component
|
|
3412
|
+
* @package ui
|
|
3413
|
+
*/
|
|
3414
|
+
declare function TeamCard({ name, role, photo, bio, socials, className, surface, radius, animated, }: TeamCardProps): react_jsx_runtime.JSX.Element;
|
|
3415
|
+
|
|
3416
|
+
/** Props for the TestimonialCard component. */
|
|
3417
|
+
interface TestimonialCardProps extends SaasflareComponentProps {
|
|
3418
|
+
/** The testimonial quote text. */
|
|
3419
|
+
quote: string;
|
|
3420
|
+
/** Name of the person. */
|
|
3421
|
+
name: string;
|
|
3422
|
+
/** Role/title of the person. */
|
|
3423
|
+
role?: string;
|
|
3424
|
+
/** Avatar image URL. */
|
|
3425
|
+
avatar?: string;
|
|
3426
|
+
/** Star rating (1–5). Omit to hide stars. */
|
|
3427
|
+
rating?: 1 | 2 | 3 | 4 | 5;
|
|
3428
|
+
/** Additional class names. */
|
|
3429
|
+
className?: string;
|
|
3430
|
+
}
|
|
3431
|
+
/**
|
|
3432
|
+
* Testimonial card with avatar, quote, attribution, and optional star rating.
|
|
3433
|
+
*
|
|
3434
|
+
* @component
|
|
3435
|
+
* @package ui
|
|
3436
|
+
*/
|
|
3437
|
+
declare function TestimonialCard({ quote, name, role, avatar, rating, className, surface, radius, animated, }: TestimonialCardProps): react_jsx_runtime.JSX.Element;
|
|
3438
|
+
|
|
3439
|
+
/** Props for the TextGenerateEffect component. */
|
|
3440
|
+
interface TextGenerateEffectProps {
|
|
3441
|
+
/** Text string to animate word by word. */
|
|
3442
|
+
text: string;
|
|
3443
|
+
/** Delay between each word in seconds. Default: `0.05` */
|
|
3444
|
+
stagger?: number;
|
|
3445
|
+
/** Duration per word fade-in in seconds. Default: `0.4` */
|
|
3446
|
+
duration?: number;
|
|
3447
|
+
/** Whether animation triggers only once. Default: `true` */
|
|
3448
|
+
once?: boolean;
|
|
3449
|
+
/** HTML element to render. Default: `"p"` */
|
|
3450
|
+
as?: "p" | "h1" | "h2" | "h3" | "h4" | "span";
|
|
3451
|
+
/** Additional class names. */
|
|
3452
|
+
className?: string;
|
|
3453
|
+
}
|
|
3454
|
+
/**
|
|
3455
|
+
* Text that reveals word by word with staggered fade-in.
|
|
3456
|
+
*
|
|
3457
|
+
* - Each word fades from transparent to opaque sequentially
|
|
3458
|
+
* - Triggers when the element scrolls into view
|
|
3459
|
+
* - Renders full text immediately when reduced motion is preferred
|
|
3460
|
+
* - Preserves natural text wrapping and spacing
|
|
3461
|
+
*
|
|
3462
|
+
* @component
|
|
3463
|
+
* @package ui
|
|
3464
|
+
*/
|
|
3465
|
+
declare function TextGenerateEffect({ text, stagger, duration, once, as: Tag, className, }: TextGenerateEffectProps): react_jsx_runtime.JSX.Element;
|
|
3466
|
+
|
|
3467
|
+
/** Props for the Timeline container. */
|
|
3468
|
+
interface TimelineProps {
|
|
3469
|
+
/** TimelineItem children. */
|
|
3470
|
+
children: ReactNode;
|
|
3471
|
+
/** Additional class names. */
|
|
3472
|
+
className?: string;
|
|
3473
|
+
}
|
|
3474
|
+
/**
|
|
3475
|
+
* Vertical timeline with a scroll-driven progress beam.
|
|
3476
|
+
*
|
|
3477
|
+
* - Beam fills as the user scrolls through the timeline
|
|
3478
|
+
* - Each item fades in on scroll intersection
|
|
3479
|
+
* - Falls back to a static timeline when reduced motion is preferred
|
|
3480
|
+
*
|
|
3481
|
+
* @component
|
|
3482
|
+
* @package ui
|
|
3483
|
+
*/
|
|
3484
|
+
declare function Timeline({ children, className }: TimelineProps): react_jsx_runtime.JSX.Element;
|
|
3485
|
+
/** Props for a TimelineItem. */
|
|
3486
|
+
interface TimelineItemProps {
|
|
3487
|
+
/** Item title. */
|
|
3488
|
+
title: string;
|
|
3489
|
+
/** Date or time label. */
|
|
3490
|
+
date?: string;
|
|
3491
|
+
/** Item content/description. */
|
|
3492
|
+
children: ReactNode;
|
|
3493
|
+
/** Additional class names. */
|
|
3494
|
+
className?: string;
|
|
3495
|
+
}
|
|
3496
|
+
/**
|
|
3497
|
+
* Individual item within a Timeline.
|
|
3498
|
+
*
|
|
3499
|
+
* - Positioned alternating left/right on desktop, left-aligned on mobile
|
|
3500
|
+
* - Dot indicator on the timeline track
|
|
3501
|
+
* - Fades in when scrolled into view
|
|
3502
|
+
*
|
|
3503
|
+
* @component
|
|
3504
|
+
* @package ui
|
|
3505
|
+
*/
|
|
3506
|
+
declare function TimelineItem({ title, date, children, className, }: TimelineItemProps): react_jsx_runtime.JSX.Element;
|
|
3507
|
+
|
|
3508
|
+
/** Props for the TracingBeam component. */
|
|
3509
|
+
interface TracingBeamProps {
|
|
3510
|
+
/** Content alongside the beam. */
|
|
3511
|
+
children: ReactNode;
|
|
3512
|
+
/** Beam color. Default: `"hsl(var(--primary))"` */
|
|
3513
|
+
color?: string;
|
|
3514
|
+
/** Track (background line) color. Default: `"hsl(var(--border))"` */
|
|
3515
|
+
trackColor?: string;
|
|
3516
|
+
/** Additional class names. */
|
|
3517
|
+
className?: string;
|
|
3518
|
+
}
|
|
3519
|
+
/**
|
|
3520
|
+
* Vertical scroll-progress beam alongside content.
|
|
3521
|
+
*
|
|
3522
|
+
* - Fills from top to bottom as the user scrolls
|
|
3523
|
+
* - Renders on the left side with content offset
|
|
3524
|
+
* - Includes a dot indicator at the current scroll position
|
|
3525
|
+
* - Falls back to a simple left border when reduced motion is preferred
|
|
3526
|
+
*
|
|
3527
|
+
* @component
|
|
3528
|
+
* @package ui
|
|
3529
|
+
*/
|
|
3530
|
+
declare function TracingBeam({ children, color, trackColor, className, }: TracingBeamProps): react_jsx_runtime.JSX.Element;
|
|
3531
|
+
|
|
2403
3532
|
/**
|
|
2404
3533
|
* Props for the ScrollToTopButton component.
|
|
2405
3534
|
*
|
|
@@ -2682,4 +3811,4 @@ interface UserAvatarProps {
|
|
|
2682
3811
|
*/
|
|
2683
3812
|
declare function UserAvatar({ src, name, initials, size, className }: UserAvatarProps): react_jsx_runtime.JSX.Element;
|
|
2684
3813
|
|
|
2685
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, AnimatedTooltip, AppleAuthButton, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, AspectRatio, AuroraBackground, type AuroraBackgroundProps, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, type BadgeProps, BarList, type BarListItem, type BarListProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonProps, Callout, type CalloutIntent, type CalloutProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CaretDownIcon, CaretLeftIcon, CaretRightIcon, CaretUpIcon, CategoryBar, type CategoryBarProps, type CategoryBarSegment, CheckCircleIcon, CheckIcon, Checkbox, CircleIcon, CircleNotchIcon, CodeBlock, type CodeBlockProps, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataToolbar, DataToolbarActions, DataToolbarFilters, DataToolbarSearch, DatePicker, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type Density, DirectionProvider, DiscordAuthButton, DotsSixVerticalIcon, DotsThreeIcon, DribbbleAuthButton, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Dropzone, type DropzoneProps, type DropzoneRejection, type DropzoneRejectionReason, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, FacebookAuthButton, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GitHubAuthButton, GitLabAuthButton, GoogleAuthButton, HoverCard, HoverCardContent, HoverCardTrigger, IconWeight, Icons, InfoIcon, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Intent, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, LinkedInAuthButton, MagnifyingGlassIcon, type Measurement, MediumAuthButton, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricCard, type MetricCardProps, type MetricTrend, MicrosoftAuthButton, MinusIcon, MonitorIcon, MoonIcon, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotificationCenter, type NotificationCenterProps, type NotificationItem, NumberInput, type NumberInputProps, PageHeader, type PageHeaderProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type PaginationRangeItem, Palette, PauseIcon, PayPalAuthButton, PhosphorIconProps, PlayIcon, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type PossibleRef, PricingCard, type PricingCardProps, Progress, ProgressCircle, type ProgressCircleProps, type ProgressCircleSize, QuotesIcon, RadioGroup, RadioGroupItem, Radius, RadiusProp, Rating, type RatingProps, type RatingSize, RedditAuthButton, PROVIDERS as SOCIAL_AUTH_PROVIDERS, SaasflareComponentProps, type SaasflareMotion, SaasflareProvider, type SaasflareProviderProps, SaasflareScript, type SaasflareScriptProps, SaasflareShell, type SaasflareShellProps, ScrollArea, ScrollBar, ScrollToTopButton, SearchField, type SearchFieldProps, SectionCard, type SectionCardProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsSection, type SettingsSectionProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarSimpleIcon, SidebarTrigger, type Size, Skeleton, SlackAuthButton, Slider, SmoothScrollProvider, type SmoothScrollProviderProps, SocialAuthButton, type SocialAuthButtonProps, type SocialProvider, SparkChart, type SparkChartProps, type SparkChartVariant, Spinner, StatefulButton, type StatefulButtonProps, StripeAuthButton, StyleVariant, SunIcon, Surface, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, Textarea, ThemeModeMultiToggle, type ThemeModeMultiToggleAppearance, type ThemeModeMultiToggleProps, ThemeModeToggle, TikTokAuthButton, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, type TooltipItem, TooltipProvider, TooltipTrigger, TopLoadingBar, type TopLoadingBarProps, Tracker, type TrackerBlock, type TrackerProps, type TreeNode, TreeView, type TreeViewProps, TypewriterText, type UseDisclosureOptions, type UseDisclosureReturn, type UseFileDialogOptions, type UseFileDialogReturn, type UseIntervalOptions, type UseIntervalReturn, type UseLocalStorageOptions, type UseMeasureReturn, type UsePaginationOptions, type UsePaginationReturn, UserAvatar, type UserAvatarProps, WarningIcon, XAuthButton, XCircleIcon, XIcon, badgeVariants, buttonGroupVariants, cn, fadeIn, navigationMenuTriggerStyle, noMotion, scaleIn, slideDown, slideUp, spring, springBouncy, springGentle, springStiff, toggleVariants, useAnimation, useDirection, useDisclosure, useFileDialog, useFocusTrap, useFormField, useInterval, useIsMobile, useLocalStorage, useMeasure, useMergedRef, usePagination, useReducedMotion, useSaasflareMotion, useSaasflareTheme, useSidebar };
|
|
3814
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, AnimatedTooltip, AppleAuthButton, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, AspectRatio, AudioPlayer, type AudioPlayerProps, AuroraBackground, type AuroraBackgroundProps, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, type BadgeProps, BarList, type BarListItem, type BarListProps, BentoGrid, BentoGridItem, type BentoGridItemProps, type BentoGridProps, BlurFade, type BlurFadeProps, BorderBeam, type BorderBeamProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonProps, Callout, type CalloutIntent, type CalloutProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CaretDownIcon, CaretLeftIcon, CaretRightIcon, CaretUpIcon, CategoryBar, type CategoryBarProps, type CategoryBarSegment, CheckCircleIcon, CheckIcon, Checkbox, CircleIcon, CircleNotchIcon, CodeBlock, type CodeBlockProps, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxTrigger, Compare, type CompareProps, Confetti, type ConfettiProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Countdown, type CountdownProps, type CountdownValue, DataToolbar, DataToolbarActions, DataToolbarFilters, DataToolbarSearch, DatePicker, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type Density, DirectionProvider, DiscordAuthButton, Dock, DockItem, type DockItemProps, type DockProps, DotsSixVerticalIcon, DotsThreeIcon, DribbbleAuthButton, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Dropzone, type DropzoneProps, type DropzoneRejection, type DropzoneRejectionReason, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, FacebookAuthButton, FeatureCard, type FeatureCardProps, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FlipWords, type FlipWordsProps, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GalleryLightbox, type GalleryLightboxProps, GitHubAuthButton, GitLabAuthButton, GlowingEffect, type GlowingEffectProps, GoogleAuthButton, GradientText, type GradientTextProps, HeroVideoDialog, type HeroVideoDialogProps, Hotspot, HotspotMarker, type HotspotMarkerProps, type HotspotProps, HoverCard, HoverCardContent, HoverCardTrigger, IPhoneMock, type IPhoneMockProps, IconWeight, Icons, ImageSwapHover, type ImageSwapHoverProps, InfoIcon, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Intent, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, LinkedInAuthButton, MagnifyingGlassIcon, Marquee, type MarqueeProps, type Measurement, MediumAuthButton, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricCard, type MetricCardProps, type MetricTrend, MicrosoftAuthButton, MinusIcon, MonitorIcon, MoonIcon, MouseGradientBlob, type MouseGradientBlobProps, MovingBorder, type MovingBorderProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotificationCenter, type NotificationCenterProps, type NotificationItem, NumberInput, type NumberInputProps, PageHeader, type PageHeaderProps, PageTransition, type PageTransitionProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type PaginationRangeItem, Palette, ParallaxSection, type ParallaxSectionProps, ParticlesBackground, type ParticlesBackgroundProps, PauseIcon, PayPalAuthButton, PhosphorIconProps, PlayIcon, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type PossibleRef, PricingCard, type PricingCardProps, Progress, ProgressCircle, type ProgressCircleProps, type ProgressCircleSize, QuotesIcon, RadioGroup, RadioGroupItem, Radius, RadiusProp, Rating, type RatingProps, type RatingSize, RedditAuthButton, RetroGrid, type RetroGridProps, RevealOnScroll, type RevealOnScrollProps, PROVIDERS as SOCIAL_AUTH_PROVIDERS, SaasflareComponentProps, type SaasflareMotion, SaasflareProvider, type SaasflareProviderProps, SaasflareScript, type SaasflareScriptProps, SaasflareShell, type SaasflareShellProps, SafariMock, type SafariMockProps, ScrollArea, ScrollBar, ScrollToTopButton, SearchField, type SearchFieldProps, SectionCard, type SectionCardProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsSection, type SettingsSectionProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, ShimmerButton, type ShimmerButtonProps, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarSimpleIcon, SidebarTrigger, type Size, Skeleton, SlackAuthButton, Slider, SmoothScrollProvider, type SmoothScrollProviderProps, SocialAuthButton, type SocialAuthButtonProps, SocialButton, type SocialButtonProps, type SocialLink, type SocialProvider, SparkChart, type SparkChartProps, type SparkChartVariant, Spinner, SpotlightCard, type SpotlightCardProps, StatCard, type StatCardProps, StatefulButton, type StatefulButtonProps, Step, type StepProps, Steps, type StepsProps, type StickyScrollItem, StickyScrollReveal, type StickyScrollRevealProps, StripeAuthButton, StyleVariant, SunIcon, Surface, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, TeamCard, type TeamCardProps, TestimonialCard, type TestimonialCardProps, TextGenerateEffect, type TextGenerateEffectProps, Textarea, ThemeModeMultiToggle, type ThemeModeMultiToggleAppearance, type ThemeModeMultiToggleProps, ThemeModeToggle, TikTokAuthButton, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, type TooltipItem, TooltipProvider, TooltipTrigger, TopLoadingBar, type TopLoadingBarProps, TracingBeam, type TracingBeamProps, Tracker, type TrackerBlock, type TrackerProps, type TreeNode, TreeView, type TreeViewProps, TypewriterText, type UseDisclosureOptions, type UseDisclosureReturn, type UseFileDialogOptions, type UseFileDialogReturn, type UseIntervalOptions, type UseIntervalReturn, type UseLocalStorageOptions, type UseMeasureReturn, type UsePaginationOptions, type UsePaginationReturn, UserAvatar, type UserAvatarProps, WarningIcon, XAuthButton, XCircleIcon, XIcon, badgeVariants, buttonGroupVariants, cn, fadeIn, navigationMenuTriggerStyle, noMotion, scaleIn, slideDown, slideUp, spring, springBouncy, springGentle, springStiff, toggleVariants, useAnimation, useCountdown, useDirection, useDisclosure, useFileDialog, useFocusTrap, useFormField, useInterval, useIsMobile, useLocalStorage, useMeasure, useMergedRef, usePagination, useReducedMotion, useSaasflareMotion, useSaasflareTheme, useSidebar };
|