@framingui/ui 0.6.2 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +22 -1090
  2. package/dist/chunk-7UBERMRE.mjs +180 -0
  3. package/dist/index.d.mts +1 -140
  4. package/dist/index.mjs +248 -1681
  5. package/dist/src/index.d.ts +0 -1
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/index.js +0 -1
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/templates/auth/forgot-password.d.ts +2 -2
  10. package/dist/src/templates/auth/forgot-password.d.ts.map +1 -1
  11. package/dist/src/templates/auth/forgot-password.js +2 -35
  12. package/dist/src/templates/auth/forgot-password.js.map +1 -1
  13. package/dist/src/templates/auth/login.d.ts +2 -2
  14. package/dist/src/templates/auth/login.d.ts.map +1 -1
  15. package/dist/src/templates/auth/login.js +2 -35
  16. package/dist/src/templates/auth/login.js.map +1 -1
  17. package/dist/src/templates/auth/signup.d.ts +2 -2
  18. package/dist/src/templates/auth/signup.d.ts.map +1 -1
  19. package/dist/src/templates/auth/signup.js +2 -35
  20. package/dist/src/templates/auth/signup.js.map +1 -1
  21. package/dist/src/templates/auth/verification.d.ts +2 -2
  22. package/dist/src/templates/auth/verification.d.ts.map +1 -1
  23. package/dist/src/templates/auth/verification.js +2 -35
  24. package/dist/src/templates/auth/verification.js.map +1 -1
  25. package/dist/src/templates/core/landing.d.ts +2 -2
  26. package/dist/src/templates/core/landing.d.ts.map +1 -1
  27. package/dist/src/templates/core/landing.js +2 -35
  28. package/dist/src/templates/core/landing.js.map +1 -1
  29. package/dist/src/templates/core/preferences.d.ts +2 -2
  30. package/dist/src/templates/core/preferences.d.ts.map +1 -1
  31. package/dist/src/templates/core/preferences.js +2 -41
  32. package/dist/src/templates/core/preferences.js.map +1 -1
  33. package/dist/src/templates/core/profile.d.ts +2 -2
  34. package/dist/src/templates/core/profile.d.ts.map +1 -1
  35. package/dist/src/templates/core/profile.js +2 -35
  36. package/dist/src/templates/core/profile.js.map +1 -1
  37. package/dist/src/templates/create-template.d.ts +4 -0
  38. package/dist/src/templates/create-template.d.ts.map +1 -0
  39. package/dist/src/templates/create-template.js +41 -0
  40. package/dist/src/templates/create-template.js.map +1 -0
  41. package/dist/src/templates/dashboard/overview.d.ts +2 -2
  42. package/dist/src/templates/dashboard/overview.d.ts.map +1 -1
  43. package/dist/src/templates/dashboard/overview.js +2 -56
  44. package/dist/src/templates/dashboard/overview.js.map +1 -1
  45. package/dist/src/templates/feedback/confirmation.d.ts +2 -2
  46. package/dist/src/templates/feedback/confirmation.d.ts.map +1 -1
  47. package/dist/src/templates/feedback/confirmation.js +2 -35
  48. package/dist/src/templates/feedback/confirmation.js.map +1 -1
  49. package/dist/src/templates/feedback/empty.d.ts +2 -2
  50. package/dist/src/templates/feedback/empty.d.ts.map +1 -1
  51. package/dist/src/templates/feedback/empty.js +2 -35
  52. package/dist/src/templates/feedback/empty.js.map +1 -1
  53. package/dist/src/templates/feedback/error.d.ts +2 -2
  54. package/dist/src/templates/feedback/error.d.ts.map +1 -1
  55. package/dist/src/templates/feedback/error.js +2 -35
  56. package/dist/src/templates/feedback/error.js.map +1 -1
  57. package/dist/src/templates/feedback/loading.d.ts +2 -2
  58. package/dist/src/templates/feedback/loading.d.ts.map +1 -1
  59. package/dist/src/templates/feedback/loading.js +2 -35
  60. package/dist/src/templates/feedback/loading.js.map +1 -1
  61. package/dist/src/templates/feedback/success.d.ts +2 -2
  62. package/dist/src/templates/feedback/success.d.ts.map +1 -1
  63. package/dist/src/templates/feedback/success.js +2 -35
  64. package/dist/src/templates/feedback/success.js.map +1 -1
  65. package/dist/templates/index.d.mts +142 -0
  66. package/dist/templates/index.mjs +905 -0
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +6 -1
@@ -0,0 +1,180 @@
1
+ 'use client';
2
+
3
+ // src/lib/utils.ts
4
+ import { clsx } from "clsx";
5
+ import { twMerge } from "tailwind-merge";
6
+ function cn(...inputs) {
7
+ return twMerge(clsx(inputs));
8
+ }
9
+
10
+ // src/components/button.tsx
11
+ import * as React from "react";
12
+ import { Slot } from "@radix-ui/react-slot";
13
+ import { cva } from "class-variance-authority";
14
+ import { jsx } from "react/jsx-runtime";
15
+ var buttonVariants = cva(
16
+ "inline-flex items-center justify-center whitespace-nowrap rounded-[var(--tekton-radius-xl)] text-sm font-medium ring-offset-[var(--tekton-bg-background)] transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
17
+ {
18
+ variants: {
19
+ variant: {
20
+ default: "bg-[var(--tekton-bg-primary)] text-[var(--tekton-bg-primary-foreground)] hover:bg-[var(--tekton-bg-primary)]/90",
21
+ destructive: "bg-[var(--tekton-bg-destructive)] text-[var(--tekton-bg-destructive-foreground)] hover:bg-[var(--tekton-bg-destructive)]/90",
22
+ outline: "border border-[var(--tekton-border-input)] bg-[var(--tekton-bg-background)] hover:bg-[var(--tekton-bg-accent)] hover:text-[var(--tekton-bg-accent-foreground)]",
23
+ secondary: "bg-[var(--tekton-bg-secondary)] text-[var(--tekton-bg-secondary-foreground)] hover:bg-[var(--tekton-bg-secondary)]/80",
24
+ ghost: "hover:bg-[var(--tekton-bg-accent)] hover:text-[var(--tekton-bg-accent-foreground)]",
25
+ link: "text-[var(--tekton-bg-primary)] underline-offset-4 hover:underline"
26
+ },
27
+ size: {
28
+ default: "h-10 px-[var(--tekton-spacing-4)] py-[var(--tekton-spacing-2)]",
29
+ sm: "h-9 rounded-[var(--tekton-radius-xl)] px-[var(--tekton-spacing-3)]",
30
+ lg: "h-11 rounded-[var(--tekton-radius-xl)] px-[var(--tekton-spacing-8)]",
31
+ icon: "h-10 w-10"
32
+ }
33
+ },
34
+ defaultVariants: {
35
+ variant: "default",
36
+ size: "default"
37
+ }
38
+ }
39
+ );
40
+ var Button = React.forwardRef(
41
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
42
+ const Comp = asChild ? Slot : "button";
43
+ return /* @__PURE__ */ jsx(Comp, { className: cn(buttonVariants({ variant, size, className })), ref, ...props });
44
+ }
45
+ );
46
+ Button.displayName = "Button";
47
+
48
+ // src/components/input.tsx
49
+ import * as React2 from "react";
50
+ import { jsx as jsx2 } from "react/jsx-runtime";
51
+ var Input = React2.forwardRef(
52
+ ({ className, type, ...props }, ref) => {
53
+ return /* @__PURE__ */ jsx2(
54
+ "input",
55
+ {
56
+ type,
57
+ className: cn(
58
+ "flex h-10 w-full rounded-[var(--tekton-radius-md)] border border-[var(--tekton-border-input)] bg-[var(--tekton-bg-background)] px-[var(--tekton-spacing-3)] py-[var(--tekton-spacing-2)] text-sm ring-offset-[var(--tekton-bg-background)] file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-[var(--tekton-bg-muted-foreground)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
59
+ className
60
+ ),
61
+ ref,
62
+ ...props
63
+ }
64
+ );
65
+ }
66
+ );
67
+ Input.displayName = "Input";
68
+
69
+ // src/components/label.tsx
70
+ import * as React3 from "react";
71
+ import * as LabelPrimitive from "@radix-ui/react-label";
72
+ import { cva as cva2 } from "class-variance-authority";
73
+ import { jsx as jsx3 } from "react/jsx-runtime";
74
+ var labelVariants = cva2(
75
+ "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
76
+ );
77
+ var Label = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
78
+ Label.displayName = LabelPrimitive.Root.displayName;
79
+
80
+ // src/components/card.tsx
81
+ import * as React4 from "react";
82
+ import { jsx as jsx4 } from "react/jsx-runtime";
83
+ var Card = React4.forwardRef(
84
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
85
+ "div",
86
+ {
87
+ ref,
88
+ className: cn(
89
+ "rounded-[var(--tekton-radius-lg)] border border-[var(--tekton-border-default)] bg-[var(--tekton-bg-card)] text-[var(--tekton-bg-card-foreground)] shadow-sm",
90
+ className
91
+ ),
92
+ ...props
93
+ }
94
+ )
95
+ );
96
+ Card.displayName = "Card";
97
+ var CardHeader = React4.forwardRef(
98
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
99
+ "div",
100
+ {
101
+ ref,
102
+ className: cn(
103
+ "flex flex-col space-y-[var(--tekton-spacing-2)] p-[var(--tekton-spacing-6)]",
104
+ className
105
+ ),
106
+ ...props
107
+ }
108
+ )
109
+ );
110
+ CardHeader.displayName = "CardHeader";
111
+ var CardTitle = React4.forwardRef(
112
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
113
+ "h3",
114
+ {
115
+ ref,
116
+ className: cn("text-2xl font-semibold leading-none tracking-tight", className),
117
+ ...props
118
+ }
119
+ )
120
+ );
121
+ CardTitle.displayName = "CardTitle";
122
+ var CardDescription = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
123
+ "p",
124
+ {
125
+ ref,
126
+ className: cn("text-sm text-[var(--tekton-bg-muted-foreground)]", className),
127
+ ...props
128
+ }
129
+ ));
130
+ CardDescription.displayName = "CardDescription";
131
+ var CardContent = React4.forwardRef(
132
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx4("div", { ref, className: cn("p-[var(--tekton-spacing-6)] pt-0", className), ...props })
133
+ );
134
+ CardContent.displayName = "CardContent";
135
+ var CardFooter = React4.forwardRef(
136
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
137
+ "div",
138
+ {
139
+ ref,
140
+ className: cn("flex items-center p-[var(--tekton-spacing-6)] pt-0", className),
141
+ ...props
142
+ }
143
+ )
144
+ );
145
+ CardFooter.displayName = "CardFooter";
146
+
147
+ // src/components/separator.tsx
148
+ import * as React5 from "react";
149
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
150
+ import { jsx as jsx5 } from "react/jsx-runtime";
151
+ var Separator = React5.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx5(
152
+ SeparatorPrimitive.Root,
153
+ {
154
+ ref,
155
+ decorative,
156
+ orientation,
157
+ className: cn(
158
+ "shrink-0 bg-[var(--tekton-border-default)]",
159
+ orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
160
+ className
161
+ ),
162
+ ...props
163
+ }
164
+ ));
165
+ Separator.displayName = SeparatorPrimitive.Root.displayName;
166
+
167
+ export {
168
+ cn,
169
+ buttonVariants,
170
+ Button,
171
+ Input,
172
+ Label,
173
+ Card,
174
+ CardHeader,
175
+ CardTitle,
176
+ CardDescription,
177
+ CardContent,
178
+ CardFooter,
179
+ Separator
180
+ };
package/dist/index.d.mts CHANGED
@@ -3,7 +3,6 @@ import { TokenReference } from '@framingui/tokens';
3
3
  import { Variants, Transition } from 'framer-motion';
4
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
5
5
  import * as React$1 from 'react';
6
- import { ComponentType, ReactNode } from 'react';
7
6
  import { VariantProps } from 'class-variance-authority';
8
7
  import * as LabelPrimitive from '@radix-ui/react-label';
9
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -580,142 +579,4 @@ declare namespace Calendar {
580
579
  var displayName: string;
581
580
  }
582
581
 
583
- type ScreenCategory = 'auth' | 'dashboard' | 'form' | 'marketing' | 'feedback';
584
- type TemplateLayout = 'centered' | 'sidebar' | 'full';
585
- interface ResponsiveBreakpoints {
586
- mobile: number;
587
- tablet: number;
588
- desktop: number;
589
- }
590
- interface ResponsiveLayout {
591
- mobile: {
592
- padding: string;
593
- gap: string;
594
- columns: number;
595
- };
596
- tablet: {
597
- padding: string;
598
- gap: string;
599
- columns: number;
600
- };
601
- desktop: {
602
- padding: string;
603
- gap: string;
604
- columns: number;
605
- };
606
- }
607
- interface TemplateLayoutConfig {
608
- type: TemplateLayout;
609
- responsive: ResponsiveLayout;
610
- }
611
- interface SectionTemplate {
612
- id: string;
613
- name: string;
614
- slot: string;
615
- required: boolean;
616
- Component: ComponentType<any>;
617
- }
618
- interface CustomizationBoundaries {
619
- texts: string[];
620
- optional: string[];
621
- slots: string[];
622
- }
623
- interface TemplateSkeleton {
624
- shell: string;
625
- page: string;
626
- sections: SectionTemplate[];
627
- }
628
- interface ScreenTemplateProps {
629
- children?: ReactNode;
630
- className?: string;
631
- slots?: Record<string, ReactNode>;
632
- texts?: Record<string, string>;
633
- options?: Record<string, string | boolean | number>;
634
- }
635
- interface ScreenTemplate {
636
- id: string;
637
- name: string;
638
- category: ScreenCategory;
639
- description: string;
640
- skeleton: TemplateSkeleton;
641
- layout: TemplateLayoutConfig;
642
- customizable: CustomizationBoundaries;
643
- requiredComponents: string[];
644
- Component: ComponentType<ScreenTemplateProps>;
645
- version: string;
646
- created: string;
647
- updated: string;
648
- tags?: string[];
649
- }
650
- interface TemplateRegistryEntry {
651
- template: ScreenTemplate;
652
- metadata: {
653
- usageCount: number;
654
- lastUsed?: string;
655
- };
656
- }
657
- declare const DEFAULT_RESPONSIVE_LAYOUT: ResponsiveLayout;
658
- declare const DEFAULT_BREAKPOINTS: ResponsiveBreakpoints;
659
-
660
- declare class TemplateRegistry {
661
- private static instance;
662
- private templates;
663
- private constructor();
664
- static getInstance(): TemplateRegistry;
665
- register(template: ScreenTemplate): void;
666
- registerMany(templates: ScreenTemplate[]): void;
667
- get(id: string): ScreenTemplate | undefined;
668
- getAll(): ScreenTemplate[];
669
- getByCategory(category: ScreenCategory): ScreenTemplate[];
670
- findByRequiredComponents(components: string[]): ScreenTemplate[];
671
- search(keyword: string): ScreenTemplate[];
672
- getMetadata(id: string): TemplateRegistryEntry['metadata'] | undefined;
673
- getMostUsed(limit?: number): ScreenTemplate[];
674
- getRecentlyUsed(limit?: number): ScreenTemplate[];
675
- clear(): void;
676
- count(): number;
677
- has(id: string): boolean;
678
- remove(id: string): boolean;
679
- }
680
- declare const templateRegistry: TemplateRegistry;
681
-
682
- declare function LoginTemplateComponent({ children, className, slots, texts, options, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
683
- declare const LoginTemplate: ScreenTemplate;
684
-
685
- declare function SignupTemplateComponent({ children, className, slots, texts, options, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
686
- declare const SignupTemplate: ScreenTemplate;
687
-
688
- declare function ForgotPasswordTemplateComponent({ children, className, slots, texts, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
689
- declare const ForgotPasswordTemplate: ScreenTemplate;
690
-
691
- declare function VerificationTemplateComponent({ children, className, slots, texts, options, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
692
- declare const VerificationTemplate: ScreenTemplate;
693
-
694
- declare function LandingTemplateComponent({ children, className, slots, texts, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
695
- declare const LandingTemplate: ScreenTemplate;
696
-
697
- declare function PreferencesTemplateComponent({ children, className, slots, texts, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
698
- declare const PreferencesTemplate: ScreenTemplate;
699
-
700
- declare function ProfileTemplateComponent({ children, className, slots, texts, options, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
701
- declare const ProfileTemplate: ScreenTemplate;
702
-
703
- declare function LoadingTemplateComponent({ children, className, slots, texts, options, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
704
- declare const LoadingTemplate: ScreenTemplate;
705
-
706
- declare function ErrorTemplateComponent({ children, className, slots, texts, options, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
707
- declare const ErrorTemplate: ScreenTemplate;
708
-
709
- declare function EmptyTemplateComponent({ children, className, slots, texts, options, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
710
- declare const EmptyTemplate: ScreenTemplate;
711
-
712
- declare function ConfirmationTemplateComponent({ children, className, slots, texts, options, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
713
- declare const ConfirmationTemplate: ScreenTemplate;
714
-
715
- declare function SuccessTemplateComponent({ children, className, slots, texts, options, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
716
- declare const SuccessTemplate: ScreenTemplate;
717
-
718
- declare function DashboardTemplateComponent({ children, className, slots, texts, }: ScreenTemplateProps): react_jsx_runtime.JSX.Element;
719
- declare const DashboardTemplate: ScreenTemplate;
720
-
721
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, BreadcrumbPage, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, Button, type ButtonProps, Calendar, type CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmationTemplate, ConfirmationTemplateComponent, type CustomizationBoundaries, DEFAULT_BREAKPOINTS, DEFAULT_RESPONSIVE_LAYOUT, DashboardTemplate, DashboardTemplateComponent, 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, EmptyTemplate, EmptyTemplateComponent, ErrorTemplate, ErrorTemplateComponent, ForgotPasswordTemplate, ForgotPasswordTemplateComponent, Input, type InputProps, Label, LandingTemplate, LandingTemplateComponent, LoadingTemplate, LoadingTemplateComponent, LoginTemplate, LoginTemplateComponent, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, type OKLCHColor, Popover, PopoverContent, PopoverTrigger, PreferencesTemplate, PreferencesTemplateComponent, ProfileTemplate, ProfileTemplateComponent, Progress, RadioGroup, RadioGroupItem, type ResponsiveBreakpoints, type ResponsiveLayout, type ScreenCategory, type ScreenTemplate, type ScreenTemplateProps, ScrollArea, ScrollBar, type SectionTemplate, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, type SidebarContentProps, SidebarFooter, SidebarHeader, type SidebarHeaderProps, SidebarItem, type SidebarItemProps, type SidebarProps, SidebarSection, type SidebarSectionProps, SidebarSectionTitle, SignupTemplate, SignupTemplateComponent, Skeleton, SuccessTemplate, SuccessTemplateComponent, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, type TektonTokenVars, type TemplateLayout, type TemplateLayoutConfig, TemplateRegistry, type TemplateRegistryEntry, type TemplateSkeleton, Textarea, type TextareaProps, type ThemeDefinition, Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, VerificationTemplate, VerificationTemplateComponent, badgeVariants, buttonVariants, cn, extractTokenName, fadeVariants, getCurrentThemeId, getMotionTransition, injectThemeCSS, isTokenReference, motionTokens, navigationMenuTriggerStyle, oklchToCSS, resolveSemanticToken, scaleVariants, setThemeId, sidebarVariants, slideVariants, templateRegistry, themeToCSS, tokenVars, transitions, useMotionSafe };
582
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, BreadcrumbPage, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, Button, type ButtonProps, Calendar, type CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, 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, Input, type InputProps, Label, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, type OKLCHColor, Popover, PopoverContent, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, type SidebarContentProps, SidebarFooter, SidebarHeader, type SidebarHeaderProps, SidebarItem, type SidebarItemProps, type SidebarProps, SidebarSection, type SidebarSectionProps, SidebarSectionTitle, Skeleton, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, type TektonTokenVars, Textarea, type TextareaProps, type ThemeDefinition, Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, extractTokenName, fadeVariants, getCurrentThemeId, getMotionTransition, injectThemeCSS, isTokenReference, motionTokens, navigationMenuTriggerStyle, oklchToCSS, resolveSemanticToken, scaleVariants, setThemeId, sidebarVariants, slideVariants, themeToCSS, tokenVars, transitions, useMotionSafe };