@gradeui/ui 0.2.0 → 0.4.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.ts CHANGED
@@ -2,10 +2,12 @@ import * as React$1 from 'react';
2
2
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
5
+ import { DayPicker, DayButton, DateRange } from 'react-day-picker';
5
6
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
6
7
  import * as DialogPrimitive from '@radix-ui/react-dialog';
7
8
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
8
9
  import * as LabelPrimitive from '@radix-ui/react-label';
10
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
9
11
  import * as ProgressPrimitive from '@radix-ui/react-progress';
10
12
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
11
13
  import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
@@ -15,6 +17,7 @@ import * as SliderPrimitive from '@radix-ui/react-slider';
15
17
  import * as SwitchPrimitives from '@radix-ui/react-switch';
16
18
  import * as TabsPrimitive from '@radix-ui/react-tabs';
17
19
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
20
+ import * as THREE from 'three';
18
21
  import { ClassValue } from 'clsx';
19
22
 
20
23
  declare const Accordion: React$1.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React$1.RefAttributes<HTMLDivElement>>;
@@ -45,6 +48,11 @@ interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, V
45
48
  }
46
49
  declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
47
50
 
51
+ declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React$1.ComponentProps<typeof DayPicker> & {
52
+ buttonVariant?: React$1.ComponentProps<typeof Button>["variant"];
53
+ }): React$1.JSX.Element;
54
+ declare function CalendarDayButton({ className, day, modifiers, ...props }: React$1.ComponentProps<typeof DayButton>): React$1.JSX.Element;
55
+
48
56
  declare const Card: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
49
57
  declare const CardHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
50
58
  declare const CardTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
@@ -54,6 +62,71 @@ declare const CardFooter: React$1.ForwardRefExoticComponent<React$1.HTMLAttribut
54
62
 
55
63
  declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
56
64
 
65
+ /**
66
+ * DatePicker + DateRangePicker
67
+ *
68
+ * Sealed complex components built on top of the Popover + Button + Calendar
69
+ * primitives. Consumers get a single import with a `value` / `onChange`
70
+ * contract — no need to know about Popover, DayPicker, or date-fns.
71
+ *
72
+ * The primitives remain exported from the barrel so anyone who needs a
73
+ * different trigger, different positioning, or a custom layout can still
74
+ * compose their own — see `apps/docs/app/components/date-picker/page.tsx`
75
+ * for the hand-assembled recipe.
76
+ *
77
+ * API:
78
+ * <DatePicker value={date} onChange={setDate} />
79
+ * <DatePicker value={date} onChange={setDate} format="PP" placeholder="..." />
80
+ * <DateRangePicker value={range} onChange={setRange} numberOfMonths={2} />
81
+ *
82
+ * The `value` / `onChange` shape matches react-day-picker's `selected` /
83
+ * `onSelect` internally — we just rename them so consumers speak form.
84
+ */
85
+
86
+ type PopoverAlign = "start" | "center" | "end";
87
+ type PopoverSide = "top" | "right" | "bottom" | "left";
88
+ interface DatePickerBaseProps {
89
+ /** Placeholder text shown when no date is selected. */
90
+ placeholder?: string;
91
+ /** Disable the trigger. */
92
+ disabled?: boolean;
93
+ /** Classes on the outer trigger button. */
94
+ className?: string;
95
+ /** Classes forwarded to PopoverContent. */
96
+ contentClassName?: string;
97
+ /** Forwarded to PopoverContent — which edge to align to. Defaults to "start". */
98
+ align?: PopoverAlign;
99
+ /** Forwarded to PopoverContent — which side of the trigger to render on. */
100
+ side?: PopoverSide;
101
+ /**
102
+ * date-fns format string for the trigger label. Defaults to "PPP"
103
+ * (e.g. "April 19th, 2026"). Pass "PP" for shorter "Apr 19, 2026".
104
+ */
105
+ format?: string;
106
+ /** Forwarded to the underlying `react-day-picker` Calendar. */
107
+ captionLayout?: React$1.ComponentProps<typeof Calendar>["captionLayout"];
108
+ /** Icon shown in the trigger. Defaults to lucide's CalendarIcon. */
109
+ icon?: React$1.ReactNode;
110
+ /** Accessible label for screen readers when no date is selected. */
111
+ "aria-label"?: string;
112
+ }
113
+ interface DatePickerProps extends DatePickerBaseProps {
114
+ /** The selected date, or undefined when empty. */
115
+ value?: Date;
116
+ /** Called when the user selects or clears the date. */
117
+ onChange?: (date: Date | undefined) => void;
118
+ }
119
+ interface DateRangePickerProps extends DatePickerBaseProps {
120
+ /** The selected range, or undefined when empty. */
121
+ value?: DateRange;
122
+ /** Called when the user selects or clears the range. */
123
+ onChange?: (range: DateRange | undefined) => void;
124
+ /** Number of months to show side-by-side. Defaults to 2. */
125
+ numberOfMonths?: number;
126
+ }
127
+ declare function DatePicker({ value, onChange, placeholder, disabled, className, contentClassName, align, side, format, captionLayout, icon, "aria-label": ariaLabel, }: DatePickerProps): React$1.JSX.Element;
128
+ declare function DateRangePicker({ value, onChange, placeholder, disabled, className, contentClassName, align, side, format, captionLayout, icon, numberOfMonths, "aria-label": ariaLabel, }: DateRangePickerProps): React$1.JSX.Element;
129
+
57
130
  declare const Dialog: React$1.FC<DialogPrimitive.DialogProps>;
58
131
  declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
59
132
  declare const DialogPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
@@ -100,6 +173,11 @@ declare const Input: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTML
100
173
 
101
174
  declare const Label: React$1.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React$1.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: class_variance_authority_types.ClassProp | undefined) => string> & React$1.RefAttributes<HTMLLabelElement>>;
102
175
 
176
+ declare const Popover: React$1.FC<PopoverPrimitive.PopoverProps>;
177
+ declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
178
+ declare const PopoverAnchor: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React$1.RefAttributes<HTMLDivElement>>;
179
+ declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
180
+
103
181
  declare const Progress: React$1.ForwardRefExoticComponent<Omit<ProgressPrimitive.ProgressProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
104
182
 
105
183
  declare const RadioGroup: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
@@ -127,7 +205,7 @@ declare const SheetClose: React$1.ForwardRefExoticComponent<DialogPrimitive.Dial
127
205
  declare const SheetPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
128
206
  declare const SheetOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
129
207
  declare const sheetVariants: (props?: ({
130
- side?: "top" | "right" | "bottom" | "left" | null | undefined;
208
+ side?: "left" | "right" | "top" | "bottom" | null | undefined;
131
209
  } & class_variance_authority_types.ClassProp) | undefined) => string;
132
210
  interface SheetContentProps extends React$1.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof sheetVariants> {
133
211
  }
@@ -349,6 +427,314 @@ declare const Tooltip: React$1.FC<TooltipPrimitive.TooltipProps>;
349
427
  declare const TooltipTrigger: React$1.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
350
428
  declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
351
429
 
430
+ /**
431
+ * MediaSurface — the shared shell used by VideoPlayer, RivePlayer,
432
+ * and ThreeScene. Not exported publicly.
433
+ *
434
+ * Handles the surface area that's identical across all media types:
435
+ * - aspect ratio / radius / border (driven by CSS variables for theming)
436
+ * - loading skeleton
437
+ * - intersection-observer (for pause-when-offscreen)
438
+ * - reduced-motion query
439
+ *
440
+ * Design-system note: all visual dimensions are backed by CSS vars so
441
+ * consumers can retheme via `--rds-media-radius`, `--rds-media-border`, etc.
442
+ * (These will rename to `--gds-*` when the broader codebase rename lands.)
443
+ */
444
+
445
+ type MediaAspect = "video" | "square" | "portrait" | "wide" | "auto";
446
+ type MediaRadius = "none" | "sm" | "md" | "lg" | "xl";
447
+ interface MediaSurfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
448
+ aspect?: MediaAspect;
449
+ radius?: MediaRadius;
450
+ border?: boolean;
451
+ loading?: boolean;
452
+ /** Callback fires when the surface enters / leaves the viewport. */
453
+ onVisibilityChange?: (visible: boolean) => void;
454
+ /** Fallback shown before `onReady` is signalled by the child. */
455
+ fallback?: React$1.ReactNode;
456
+ children?: React$1.ReactNode;
457
+ }
458
+ declare const MediaSurface: React$1.ForwardRefExoticComponent<MediaSurfaceProps & React$1.RefAttributes<HTMLDivElement>>;
459
+ /** Shared prop interface extended by each media primitive. */
460
+ interface BaseMediaProps {
461
+ /** src for the media — url or path. */
462
+ src?: string;
463
+ /** Show native-ish play/pause/scrubber controls. Default: `true` for video, `false` for Rive/three. */
464
+ controls?: boolean;
465
+ /** Autoplay when mounted (respects reduced-motion). */
466
+ autoPlay?: boolean;
467
+ /** Loop on end. */
468
+ loop?: boolean;
469
+ /** Pause rendering / playback when offscreen. Default `true` (big perf win for WebGL). */
470
+ pauseOffscreen?: boolean;
471
+ /** Aspect ratio of the surface. */
472
+ aspect?: MediaAspect;
473
+ /** Corner radius. */
474
+ radius?: MediaRadius;
475
+ /** Draw a subtle border around the surface. */
476
+ border?: boolean;
477
+ /** Poster / fallback image while loading. */
478
+ poster?: string;
479
+ /** Accessible label — used as `aria-label` on the surface. */
480
+ label?: string;
481
+ className?: string;
482
+ style?: React$1.CSSProperties;
483
+ }
484
+ /** Hook — returns `true` when the OS reports reduced-motion preference. */
485
+ declare function usePrefersReducedMotion(): boolean;
486
+
487
+ /**
488
+ * VideoPlayer — native HTML5 video wrapped in a MediaSurface.
489
+ *
490
+ * Modes:
491
+ * controls={true} (default) — shows native video controls
492
+ * controls={false} — bare viewer: hides chrome, muted autoplay/loop
493
+ */
494
+
495
+ interface VideoPlayerProps extends BaseMediaProps {
496
+ /** Mute audio. Required `true` if `autoPlay` (browser restriction). */
497
+ muted?: boolean;
498
+ /** Playback rate. Defaults to 1. */
499
+ playbackRate?: number;
500
+ /** Object-fit. Defaults to "cover" — matches typical hero/background use. */
501
+ objectFit?: "cover" | "contain" | "fill";
502
+ }
503
+ declare const VideoPlayer: React$1.ForwardRefExoticComponent<VideoPlayerProps & React$1.RefAttributes<HTMLVideoElement>>;
504
+
505
+ /**
506
+ * RivePlayer — Rive runtime wrapped in a MediaSurface.
507
+ *
508
+ * The @rive-app/react-canvas dep is marked `optional` in package.json — this
509
+ * component lazy-imports it so consumers who don't use Rive don't fail at
510
+ * install time and don't pay the bundle cost unless they render one.
511
+ *
512
+ * Modes:
513
+ * controls={true} — shows a small play/pause overlay
514
+ * controls={false} (default) — bare viewer: zero chrome
515
+ */
516
+
517
+ interface RivePlayerProps extends BaseMediaProps {
518
+ /** State machine to run. */
519
+ stateMachines?: string | string[];
520
+ /** Artboard name — omit to use the default. */
521
+ artboard?: string;
522
+ /** Object-fit equivalent — how the art sits inside the surface. */
523
+ fit?: "contain" | "cover" | "fill" | "fitWidth" | "fitHeight" | "none";
524
+ /** Inputs to pass to the state machine. */
525
+ stateMachineInputs?: Record<string, number | boolean | string>;
526
+ }
527
+ declare const RivePlayer: React$1.ForwardRefExoticComponent<RivePlayerProps & React$1.RefAttributes<HTMLDivElement>>;
528
+
529
+ /**
530
+ * Shared types for the three.js layer of the design system.
531
+ *
532
+ * Presets are structured data so the same registry can drive both the
533
+ * runtime `<ThreeScene preset="..." />` and the `<ShaderPresetPicker />`
534
+ * preview gallery without duplicating shaders.
535
+ */
536
+
537
+ /** Minimal context passed to a scene factory. */
538
+ interface SceneContext {
539
+ renderer: THREE.WebGLRenderer;
540
+ width: number;
541
+ height: number;
542
+ /** Palette to drive the scene — all presets map their colors onto these slots. */
543
+ palette: Palette;
544
+ }
545
+ /** The four palette slots every preset opts into. */
546
+ interface Palette {
547
+ primary: string;
548
+ secondary: string;
549
+ accent: string;
550
+ background: string;
551
+ }
552
+ /** A scene factory returns everything needed to run and tear down a scene. */
553
+ interface SceneHandle {
554
+ scene: THREE.Scene;
555
+ camera: THREE.Camera;
556
+ /** Called every frame with elapsed seconds + delta seconds. */
557
+ update?: (elapsed: number, delta: number) => void;
558
+ /** Called on container resize. */
559
+ resize?: (width: number, height: number) => void;
560
+ /** Called when palette changes at runtime. */
561
+ setPalette?: (palette: Palette) => void;
562
+ /** Release GPU + CPU resources. */
563
+ dispose?: () => void;
564
+ }
565
+ type SceneFactory = (ctx: SceneContext) => SceneHandle;
566
+ /** Declarative description of a post-FX stack. Specific pass types are strings
567
+ * so consumers can author presets without importing postprocessing types. */
568
+ interface PostPreset {
569
+ id: string;
570
+ label: string;
571
+ /** Per-pass options keyed by effect name (bloom, noise, scanlines, vignette, chromatic, glitch). */
572
+ effects: {
573
+ bloom?: {
574
+ intensity?: number;
575
+ luminanceThreshold?: number;
576
+ radius?: number;
577
+ };
578
+ noise?: {
579
+ intensity?: number;
580
+ };
581
+ scanlines?: {
582
+ density?: number;
583
+ opacity?: number;
584
+ };
585
+ vignette?: {
586
+ darkness?: number;
587
+ offset?: number;
588
+ };
589
+ chromatic?: {
590
+ offset?: number;
591
+ };
592
+ glitch?: {
593
+ chromatic?: boolean;
594
+ strength?: [number, number];
595
+ };
596
+ };
597
+ }
598
+ /** A shader preset is the data needed to instantiate one of the canned scenes. */
599
+ interface ShaderPreset {
600
+ id: string;
601
+ /** Short human label for picker cards. */
602
+ label: string;
603
+ /** One-line description an LLM can use to pick this preset. */
604
+ description: string;
605
+ /** Semantic tags — consumer filters ("space", "retro", "abstract") and LLM hints. */
606
+ tags: string[];
607
+ /** Name of the scene factory in the scene registry. */
608
+ scene: string;
609
+ /** Default post-FX preset id for this preset. */
610
+ defaultPostPreset?: string;
611
+ /** Optional palette overrides — otherwise uses the theme palette. */
612
+ defaultPalette?: Partial<Palette>;
613
+ /** Static poster image path for non-hover previews. Served from /public. */
614
+ poster?: string;
615
+ }
616
+
617
+ /**
618
+ * ThreeScene — the WebGL media primitive.
619
+ *
620
+ * Supports two modes:
621
+ * 1. Preset mode: <ThreeScene preset="space" postPreset="vhs" />
622
+ * 2. Custom mode: <ThreeScene createScene={({ renderer, width, height, palette }) => ({ scene, camera, update, dispose })} />
623
+ *
624
+ * Post-FX composer is always applied; use postPreset="none" for a clean render.
625
+ *
626
+ * Zero-chrome viewer mode: the default. Pass `controls` to show a minimal
627
+ * play/pause overlay. Scene pauses when offscreen (pauseOffscreen default `true`).
628
+ */
629
+
630
+ interface ThreeSceneProps extends Omit<BaseMediaProps, "src" | "poster"> {
631
+ /** Preset id from the shader preset registry. */
632
+ preset?: string;
633
+ /** Post-FX preset id. Defaults to the preset's `defaultPostPreset` or "vhs". */
634
+ postPreset?: string;
635
+ /** Palette overrides. Unset slots fall back to `DEFAULT_PALETTE`. */
636
+ palette?: Partial<Palette>;
637
+ /**
638
+ * Custom scene factory. Takes precedence over `preset`.
639
+ * Use for bespoke three.js scenes that don't fit a preset.
640
+ */
641
+ createScene?: SceneFactory;
642
+ /** Static poster to show while the GL context warms up. */
643
+ poster?: string;
644
+ /** Pixel-ratio cap. Defaults to `Math.min(window.devicePixelRatio, 2)`. */
645
+ maxDpr?: number;
646
+ }
647
+ declare const ThreeScene: React$1.ForwardRefExoticComponent<ThreeSceneProps & React$1.RefAttributes<HTMLDivElement>>;
648
+
649
+ /**
650
+ * ShaderPresetPreview — a thumbnail-sized preview of a shader preset.
651
+ *
652
+ * Default behaviour: static poster until hovered, then kick in a live
653
+ * `<ThreeScene>` render. Keeps gallery pages cheap (ten live shaders on
654
+ * one page eats FPS fast, Safari caps WebGL contexts ~8).
655
+ *
656
+ * Props:
657
+ * live: "never" → always show poster, no canvas
658
+ * live: "hover" → (default) canvas spins up on hover, tears down on leave
659
+ * live: "always" → canvas always rendering
660
+ */
661
+
662
+ interface ShaderPresetPreviewProps {
663
+ preset: string;
664
+ live?: "never" | "hover" | "always";
665
+ postPreset?: string;
666
+ palette?: Partial<Palette>;
667
+ className?: string;
668
+ aspect?: "video" | "square" | "portrait" | "wide";
669
+ radius?: "none" | "sm" | "md" | "lg" | "xl";
670
+ /** Text label shown on the card. Defaults to preset label. */
671
+ label?: string;
672
+ /** Hide the label strip. */
673
+ hideLabel?: boolean;
674
+ onClick?: () => void;
675
+ }
676
+ declare const ShaderPresetPreview: React$1.ForwardRefExoticComponent<ShaderPresetPreviewProps & React$1.RefAttributes<HTMLDivElement>>;
677
+
678
+ /**
679
+ * ShaderPresetPicker — runtime preset gallery + selection.
680
+ *
681
+ * A grid of `<ShaderPresetPreview>` cards. Click to select. Used for
682
+ * things like "pick a vibe for your course background".
683
+ *
684
+ * For a browsing-only catalogue with no selection, just lay out
685
+ * `<ShaderPresetPreview>` directly.
686
+ *
687
+ * TODO(phase 2): static catalogue page for the docs site mirroring this.
688
+ */
689
+
690
+ interface ShaderPresetPickerProps {
691
+ /** Currently selected preset id (controlled). */
692
+ value?: string;
693
+ /** Called when the user clicks a preset. */
694
+ onChange?: (presetId: string) => void;
695
+ /** Filter by tag — e.g. only show `"space"` or `"retro"` presets. */
696
+ filterTags?: string[];
697
+ /** Live-render mode for thumbnails. Default "hover". */
698
+ live?: "never" | "hover" | "always";
699
+ /** Shared post-FX preset applied to all thumbnails. Default: each preset's own. */
700
+ postPreset?: string;
701
+ /** Shared palette for all thumbnails. */
702
+ palette?: Partial<Palette>;
703
+ /** Columns at md+ breakpoint. Default 3. */
704
+ columns?: 2 | 3 | 4;
705
+ className?: string;
706
+ }
707
+ declare function ShaderPresetPicker({ value, onChange, filterTags, live, postPreset, palette, columns, className, }: ShaderPresetPickerProps): React$1.JSX.Element;
708
+
709
+ /**
710
+ * Shader preset registry — maps semantic preset ids to scene factories
711
+ * plus metadata for the picker UI.
712
+ *
713
+ * Adding a new preset:
714
+ * 1. Write a SceneFactory in `./scenes/<name>.ts`
715
+ * 2. Register it in `sceneRegistry` below
716
+ * 3. Add a `ShaderPreset` entry in `shaderPresets`
717
+ *
718
+ * Both `<ThreeScene preset="space" />` and `<ShaderPresetPicker />` read
719
+ * from this registry so they stay in lockstep.
720
+ */
721
+
722
+ declare const sceneRegistry: Record<string, SceneFactory>;
723
+ declare const shaderPresets: ShaderPreset[];
724
+ declare const shaderPresetById: Record<string, ShaderPreset>;
725
+
726
+ /**
727
+ * Post-FX preset registry.
728
+ *
729
+ * Each preset is a tunable description of the post-FX stack. Lives as data
730
+ * so the same registry drives `<ThreeScene postPreset="vhs" />` and the
731
+ * preset picker's preview thumbnails.
732
+ */
733
+
734
+ declare const postPresets: Record<string, PostPreset>;
735
+ type PostPresetId = keyof typeof postPresets;
736
+ declare const defaultPostPreset: PostPresetId;
737
+
352
738
  declare function cn(...inputs: ClassValue[]): string;
353
739
 
354
740
  interface LenisProviderProps {
@@ -831,4 +1217,4 @@ declare function GradeModeSwitcher({ className, variant }: GradeModeSwitcherProp
831
1217
  */
832
1218
  declare function ThemeToggle(): React$1.JSX.Element;
833
1219
 
834
- export { ALL_MODES, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, BUILT_IN_INPUTS, Badge, type BreadcrumbItem, Button, type ButtonShape, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardStyle, CardTitle, type ChartPalette, Checkbox, type ColorIntensity, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type FontKey, GRADE_PRE_HYDRATION_SCRIPT, type GeneratedTheme, GradeModeSwitcher, GradeThemeProvider, type GradeThemeProviderProps, GradeThemeSwitcher, Input, type InputStyle, Label, LenisProvider, type ModeName, type OKLCHTriplet, Progress, RadioGroup, RadioGroupItem, type RadiusStyle, type Ramp, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type ShadowIntensity, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SideMenu, type SideMenuItem, type SideMenuProps, type SideMenuSection, type SimpleTab, SimpleTabs, SimpleTabsContent, SimpleTabsList, type SimpleTabsListProps, SimpleTabsPanel, type SimpleTabsPanelProps, type SimpleTabsProps, SimpleTabsRoot, type SimpleTabsRootProps, SimpleTabsTrigger, type SimpleTabsTriggerProps, Skeleton, Slider, type SpacingDensity, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type ThemeInput, ThemeToggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TopMenu, type TopMenuProps, TopMenuUser, TopMenuUserItem, type TopMenuUserItemProps, type TopMenuUserProps, TopMenuUserSection, type TypeScalePreset, applyThemeToRoot, badgeVariants, builtInThemes, buttonVariants, calmInput, cn, defaultThemeId, deleteUserTheme, duplicateTheme, energyInput, generateTheme, getTheme, listThemes, listUserThemes, loadUserThemeInput, saveUserTheme, themeToCSSVars, useGradeTheme, useMaybeGradeTheme };
1220
+ export { ALL_MODES, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, BUILT_IN_INPUTS, Badge, type BaseMediaProps, type BreadcrumbItem, Button, type ButtonShape, Calendar, CalendarDayButton, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardStyle, CardTitle, type ChartPalette, Checkbox, type ColorIntensity, DatePicker, type DatePickerProps, DateRangePicker, type DateRangePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type FontKey, GRADE_PRE_HYDRATION_SCRIPT, type GeneratedTheme, GradeModeSwitcher, GradeThemeProvider, type GradeThemeProviderProps, GradeThemeSwitcher, Input, type InputStyle, Label, LenisProvider, type MediaAspect, type MediaRadius, MediaSurface, type MediaSurfaceProps, type ModeName, type OKLCHTriplet, type Palette, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type PostPreset, Progress, RadioGroup, RadioGroupItem, type RadiusStyle, type Ramp, RivePlayer, type RivePlayerProps, type SceneContext, type SceneFactory, type SceneHandle, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type ShaderPreset, ShaderPresetPicker, type ShaderPresetPickerProps, ShaderPresetPreview, type ShaderPresetPreviewProps, type ShadowIntensity, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SideMenu, type SideMenuItem, type SideMenuProps, type SideMenuSection, type SimpleTab, SimpleTabs, SimpleTabsContent, SimpleTabsList, type SimpleTabsListProps, SimpleTabsPanel, type SimpleTabsPanelProps, type SimpleTabsProps, SimpleTabsRoot, type SimpleTabsRootProps, SimpleTabsTrigger, type SimpleTabsTriggerProps, Skeleton, Slider, type SpacingDensity, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type ThemeInput, ThemeToggle, ThreeScene, type ThreeSceneProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TopMenu, type TopMenuProps, TopMenuUser, TopMenuUserItem, type TopMenuUserItemProps, type TopMenuUserProps, TopMenuUserSection, type TypeScalePreset, VideoPlayer, type VideoPlayerProps, applyThemeToRoot, badgeVariants, builtInThemes, buttonVariants, calmInput, cn, defaultPostPreset, defaultThemeId, deleteUserTheme, duplicateTheme, energyInput, generateTheme, getTheme, listThemes, listUserThemes, loadUserThemeInput, postPresets, saveUserTheme, sceneRegistry, shaderPresetById, shaderPresets, themeToCSSVars, useGradeTheme, useMaybeGradeTheme, usePrefersReducedMotion };