@moontra/moonui-pro 2.2.3 → 2.2.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moontra/moonui-pro",
3
- "version": "2.2.3",
3
+ "version": "2.2.4",
4
4
  "description": "Premium React components for MoonUI - Advanced UI library with 50+ pro components including performance, interactive, and gesture components",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",
@@ -71,7 +71,6 @@
71
71
  },
72
72
  "homepage": "https://moonui.dev",
73
73
  "peerDependencies": {
74
- "@moontra/moonui": "^2.0.10",
75
74
  "react": ">=18.0.0 || ^19.0.0",
76
75
  "react-dom": ">=18.0.0 || ^19.0.0"
77
76
  },
@@ -1,5 +1,8 @@
1
1
  // Pro Components Export - Source of Truth: packages/moonui-pro
2
2
 
3
+ // UI Components (Enhanced versions with Pro suffix)
4
+ export * from "./ui"
5
+
3
6
  // Animated Button
4
7
  export * from "./animated-button"
5
8
 
@@ -54,8 +57,7 @@ export * from "./draggable-list"
54
57
  // Advanced Forms
55
58
  export * from "./advanced-forms"
56
59
 
57
- // Color Picker
58
- export * from "./color-picker"
60
+ // Note: ColorPicker is available in UI components
59
61
 
60
62
  // GitHub Stars
61
63
  export * from "./github-stars"
@@ -0,0 +1,78 @@
1
+ // Internal Components - Used by Pro components internally
2
+ // These are not exported to the public API
3
+
4
+ // Simple re-exports of basic components for internal use
5
+ export {
6
+ MoonUIAccordionPro as Accordion,
7
+ MoonUIAccordionItemPro as AccordionItem,
8
+ MoonUIAccordionTriggerPro as AccordionTrigger,
9
+ MoonUIAccordionContentPro as AccordionContent,
10
+ } from "../ui/accordion"
11
+
12
+ export {
13
+ MoonUIAlertPro as Alert,
14
+ MoonUIAlertDescriptionPro as AlertDescription,
15
+ MoonUIAlertTitlePro as AlertTitle,
16
+ } from "../ui/alert"
17
+
18
+ export {
19
+ MoonUIAspectRatioPro as AspectRatio,
20
+ } from "../ui/aspect-ratio"
21
+
22
+ export {
23
+ MoonUIBreadcrumbPro as Breadcrumb,
24
+ MoonUIBreadcrumbListPro as BreadcrumbList,
25
+ MoonUIBreadcrumbItemPro as BreadcrumbItem,
26
+ MoonUIBreadcrumbLinkPro as BreadcrumbLink,
27
+ MoonUIBreadcrumbPagePro as BreadcrumbPage,
28
+ MoonUIBreadcrumbSeparatorPro as BreadcrumbSeparator,
29
+ MoonUIBreadcrumbEllipsisPro as BreadcrumbEllipsis,
30
+ } from "../ui/breadcrumb"
31
+
32
+ export {
33
+ MoonUICollapsiblePro as Collapsible,
34
+ MoonUICollapsibleTriggerPro as CollapsibleTrigger,
35
+ MoonUICollapsibleContentPro as CollapsibleContent,
36
+ } from "../ui/collapsible"
37
+
38
+ export {
39
+ MoonUICommandPro as Command,
40
+ MoonUICommandDialogPro as CommandDialog,
41
+ MoonUICommandInputPro as CommandInput,
42
+ MoonUICommandListPro as CommandList,
43
+ MoonUICommandEmptyPro as CommandEmpty,
44
+ MoonUICommandGroupPro as CommandGroup,
45
+ MoonUICommandItemPro as CommandItem,
46
+ MoonUICommandShortcutPro as CommandShortcut,
47
+ MoonUICommandSeparatorPro as CommandSeparator,
48
+ } from "../ui/command"
49
+
50
+ export {
51
+ MoonUITablePro as Table,
52
+ MoonUITableHeaderPro as TableHeader,
53
+ MoonUITableBodyPro as TableBody,
54
+ MoonUITableFooterPro as TableFooter,
55
+ MoonUITableHeadPro as TableHead,
56
+ MoonUITableRowPro as TableRow,
57
+ MoonUITableCellPro as TableCell,
58
+ MoonUITableCaptionPro as TableCaption,
59
+ } from "../ui/table"
60
+
61
+ export {
62
+ MoonUITogglePro as Toggle,
63
+ } from "../ui/toggle"
64
+
65
+ export {
66
+ MoonUIPaginationPro as Pagination,
67
+ MoonUIPaginationContentPro as PaginationContent,
68
+ MoonUIPaginationEllipsisPro as PaginationEllipsis,
69
+ MoonUIPaginationItemPro as PaginationItem,
70
+ MoonUIPaginationLinkPro as PaginationLink,
71
+ MoonUIPaginationNextPro as PaginationNext,
72
+ MoonUIPaginationPreviousPro as PaginationPrevious,
73
+ } from "../ui/pagination"
74
+
75
+ export {
76
+ MoonUIRadioGroupPro as RadioGroup,
77
+ MoonUIRadioGroupItemPro as RadioGroupItem,
78
+ } from "../ui/radio-group"
@@ -0,0 +1,73 @@
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import * as AccordionPrimitive from "@radix-ui/react-accordion"
5
+ import { ChevronDown } from "lucide-react"
6
+
7
+ import { cn } from "../../lib/utils"
8
+
9
+ const MoonUIAccordionPro = AccordionPrimitive.Root
10
+
11
+ const MoonUIAccordionItemPro = React.forwardRef<
12
+ React.ElementRef<typeof AccordionPrimitive.Item>,
13
+ React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>
14
+ >(({ className, ...props }, ref) => (
15
+ <AccordionPrimitive.Item
16
+ ref={ref}
17
+ className={cn("border-b border-gray-200 dark:border-gray-800", className)}
18
+ {...props}
19
+ />
20
+ ))
21
+ MoonUIAccordionItemPro.displayName = "MoonUIAccordionItemPro"
22
+
23
+ const MoonUIAccordionTriggerPro = React.forwardRef<
24
+ React.ElementRef<typeof AccordionPrimitive.Trigger>,
25
+ React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>
26
+ >(({ className, children, ...props }, ref) => (
27
+ <AccordionPrimitive.Header className="flex">
28
+ <AccordionPrimitive.Trigger
29
+ ref={ref}
30
+ className={cn(
31
+ "flex flex-1 items-center justify-between py-4 font-medium transition-all dark:text-gray-100",
32
+ "hover:underline hover:text-primary dark:hover:text-primary-400",
33
+ "[&[data-state=open]>svg]:rotate-180",
34
+ className
35
+ )}
36
+ {...props}
37
+ >
38
+ {children}
39
+ <ChevronDown className="h-4 w-4 shrink-0 transition-transform duration-200 opacity-70 group-hover:opacity-100" />
40
+ </AccordionPrimitive.Trigger>
41
+ </AccordionPrimitive.Header>
42
+ ))
43
+ MoonUIAccordionTriggerPro.displayName = "MoonUIAccordionTriggerPro"
44
+
45
+ const MoonUIAccordionContentPro = React.forwardRef<
46
+ React.ElementRef<typeof AccordionPrimitive.Content>,
47
+ React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>
48
+ >(({ className, children, ...props }, ref) => (
49
+ <AccordionPrimitive.Content
50
+ ref={ref}
51
+ className={cn(
52
+ "overflow-hidden text-sm text-gray-700 dark:text-gray-300 transition-all",
53
+ "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
54
+ className
55
+ )}
56
+ {...props}
57
+ >
58
+ <div className="pb-4 pt-0">{children}</div>
59
+ </AccordionPrimitive.Content>
60
+ ))
61
+ MoonUIAccordionContentPro.displayName = "MoonUIAccordionContentPro"
62
+
63
+ // Internal aliases for Pro component usage
64
+ export const AccordionInternal = MoonUIAccordionPro
65
+ export const AccordionItemInternal = MoonUIAccordionItemPro
66
+ export const AccordionTriggerInternal = MoonUIAccordionTriggerPro
67
+ export const AccordionContentInternal = MoonUIAccordionContentPro
68
+
69
+ // Pro exports
70
+ export { MoonUIAccordionPro, MoonUIAccordionItemPro, MoonUIAccordionTriggerPro, MoonUIAccordionContentPro }
71
+
72
+ // Clean exports (without MoonUI prefix for easier usage)
73
+ export { MoonUIAccordionPro as Accordion, MoonUIAccordionItemPro as AccordionItem, MoonUIAccordionTriggerPro as AccordionTrigger, MoonUIAccordionContentPro as AccordionContent }
@@ -0,0 +1,142 @@
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import { cva, type VariantProps } from "class-variance-authority";
5
+ import { AlertCircle, AlertTriangle, Info, Check, X } from "lucide-react";
6
+
7
+ import { cn } from "../../lib/utils";
8
+
9
+ /**
10
+ * Alert Component
11
+ *
12
+ * Yüksek kaliteli, özelleştirilebilir ve erişilebilir alert bileşeni.
13
+ * Bildirim, uyarı ve dikkat çekmek gereken içerikler için kullanılır.
14
+ */
15
+
16
+ const MoonUIalertVariantsPro = cva(
17
+ "relative w-full flex items-center gap-3 p-4 border text-foreground [&>svg]:shrink-0",
18
+ {
19
+ variants: {
20
+ variant: {
21
+ default: "bg-background text-foreground border-border",
22
+ primary: "bg-primary/10 text-primary border-primary/30",
23
+ success: "bg-success/10 text-success border-success/30",
24
+ warning: "bg-warning/10 text-warning border-warning/30",
25
+ error: "bg-destructive/10 text-destructive border-destructive/30",
26
+ info: "bg-blue-500/10 text-blue-500 border-blue-500/30",
27
+ },
28
+ size: {
29
+ sm: "py-2 text-xs",
30
+ default: "py-3 text-sm",
31
+ lg: "py-4 text-base",
32
+ },
33
+ radius: {
34
+ none: "rounded-none",
35
+ sm: "rounded-sm",
36
+ default: "rounded-md",
37
+ lg: "rounded-lg",
38
+ full: "rounded-full",
39
+ },
40
+ withClose: {
41
+ true: "pr-10",
42
+ },
43
+ },
44
+ defaultVariants: {
45
+ variant: "default",
46
+ size: "default",
47
+ radius: "default",
48
+ withClose: false,
49
+ },
50
+ }
51
+ );
52
+
53
+ export interface AlertProps
54
+ extends React.HTMLAttributes<HTMLDivElement>,
55
+ VariantProps<typeof MoonUIalertVariantsPro> {
56
+ /** Alert ikonunu gizler */
57
+ hideIcon?: boolean;
58
+ /** Kapatma butonu ekler */
59
+ closable?: boolean;
60
+ /** Kapatma butonu tıklandığında çalışacak fonksiyon */
61
+ onClose?: () => void;
62
+ }
63
+
64
+ const MoonUIAlertPro = React.forwardRef<HTMLDivElement, AlertProps>(
65
+ ({ className, variant = "default", size, radius, hideIcon = false, closable = false, onClose, children, ...props }, ref) => {
66
+ // Alert türüne göre ikon belirleme
67
+ const MoonUIIconPro = React.useMemo(() => {
68
+ switch (variant) {
69
+ case "success":
70
+ return Check;
71
+ case "warning":
72
+ return AlertTriangle;
73
+ case "error":
74
+ return AlertCircle;
75
+ case "info":
76
+ return Info;
77
+ default:
78
+ return Info;
79
+ }
80
+ }, [variant]);
81
+
82
+ return (
83
+ <div
84
+ ref={ref}
85
+ role="alert"
86
+ className={cn(MoonUIalertVariantsPro({ variant, size, radius, withClose: closable }), className)}
87
+ {...props}
88
+ >
89
+ {!hideIcon && <MoonUIIconPro className="h-5 w-5" />}
90
+ <div className="flex-1">{children}</div>
91
+ {closable && onClose && (
92
+ <button
93
+ onClick={onClose}
94
+ className="absolute right-3 top-3 inline-flex h-6 w-6 items-center justify-center rounded-full opacity-70 transition-opacity hover:opacity-100"
95
+ aria-label="Kapat"
96
+ >
97
+ <X className="h-4 w-4" />
98
+ </button>
99
+ )}
100
+ </div>
101
+ );
102
+ }
103
+ );
104
+ MoonUIAlertPro.displayName = "AlertPro";
105
+
106
+ const MoonUIAlertTitlePro = React.forwardRef<
107
+ HTMLParagraphElement,
108
+ React.HTMLAttributes<HTMLHeadingElement>
109
+ >(({ className, ...props }, ref) => (
110
+ <h5
111
+ ref={ref}
112
+ className={cn("font-semibold leading-tight tracking-tight mb-1", className)}
113
+ {...props}
114
+ />
115
+ ));
116
+ MoonUIAlertTitlePro.displayName = "AlertTitlePro";
117
+
118
+ const MoonUIAlertDescriptionPro = React.forwardRef<
119
+ HTMLParagraphElement,
120
+ React.HTMLAttributes<HTMLParagraphElement>
121
+ >(({ className, ...props }, ref) => (
122
+ <div
123
+ ref={ref}
124
+ className={cn("text-sm leading-5 text-muted-foreground", className)}
125
+ {...props}
126
+ />
127
+ ));
128
+ MoonUIAlertDescriptionPro.displayName = "AlertDescriptionPro";
129
+
130
+
131
+ // Internal aliases for Pro component usage
132
+ export const alertVariantsInternal = MoonUIalertVariantsPro
133
+ export const AlertInternal = MoonUIAlertPro
134
+ export const IconInternal = MoonUIIconPro
135
+ export const AlertTitleInternal = MoonUIAlertTitlePro
136
+ export const AlertDescriptionInternal = MoonUIAlertDescriptionPro
137
+
138
+ // Pro exports
139
+ export { MoonUIalertVariantsPro, MoonUIAlertPro, MoonUIIconPro, MoonUIAlertTitlePro, MoonUIAlertDescriptionPro }
140
+
141
+ // Clean exports (without MoonUI prefix for easier usage)
142
+ export { MoonUIalertVariantsPro as alertVariants, MoonUIAlertPro as Alert, MoonUIIconPro as Icon, MoonUIAlertTitlePro as AlertTitle, MoonUIAlertDescriptionPro as AlertDescription };
@@ -0,0 +1,81 @@
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import { cva, type VariantProps } from "class-variance-authority"
5
+
6
+ import { cn } from "../../lib/utils"
7
+
8
+ /**
9
+ * Aspect Ratio Component
10
+ *
11
+ * A component that maintains a specific aspect ratio for content.
12
+ * Particularly useful for images, videos, and media content in responsive designs.
13
+ * Fully integrated with the theme system, accessible and customizable.
14
+ */
15
+
16
+ const MoonUIaspectRatioVariantsPro = cva(
17
+ "relative overflow-hidden",
18
+ {
19
+ variants: {
20
+ variant: {
21
+ default: "rounded-md bg-muted/10",
22
+ ghost: "bg-transparent",
23
+ outline: "rounded-md border border-border",
24
+ card: "rounded-md bg-card shadow-sm",
25
+ },
26
+ radius: {
27
+ none: "rounded-none",
28
+ sm: "rounded-sm",
29
+ md: "rounded-md",
30
+ lg: "rounded-lg",
31
+ full: "rounded-full",
32
+ },
33
+ },
34
+ defaultVariants: {
35
+ variant: "default",
36
+ },
37
+ }
38
+ )
39
+
40
+ interface AspectRatioProps
41
+ extends React.HTMLAttributes<HTMLDivElement>,
42
+ VariantProps<typeof MoonUIaspectRatioVariantsPro> {
43
+ /**
44
+ * Aspect ratio (width/height). For example 16/9, 4/3, 1/1 etc.
45
+ * @default 16/9
46
+ */
47
+ ratio?: number
48
+ }
49
+
50
+ const MoonUIAspectRatioPro = React.forwardRef<
51
+ HTMLDivElement,
52
+ AspectRatioProps
53
+ >(({ className, variant, radius, ratio = 16 / 9, style, children, ...props }, ref) => (
54
+ <div
55
+ ref={ref}
56
+ className={cn(MoonUIaspectRatioVariantsPro({ variant, radius }), className)}
57
+ style={{
58
+ position: "relative",
59
+ paddingBottom: `${(1 / ratio) * 100}%`,
60
+ ...style
61
+ }}
62
+ {...props}
63
+ >
64
+ <div className="absolute inset-0">
65
+ {children}
66
+ </div>
67
+ </div>
68
+ ))
69
+ MoonUIAspectRatioPro.displayName = "AspectRatioPro"
70
+
71
+
72
+ // Internal aliases for Pro component usage
73
+ export const aspectRatioVariantsInternal = MoonUIaspectRatioVariantsPro
74
+ export const AspectRatioInternal = MoonUIAspectRatioPro
75
+
76
+ // Pro exports
77
+ export { MoonUIaspectRatioVariantsPro, MoonUIAspectRatioPro }
78
+
79
+ // Clean exports (without MoonUI prefix for easier usage)
80
+ export { MoonUIaspectRatioVariantsPro as aspectRatioVariants, MoonUIAspectRatioPro as AspectRatio }
81
+ export type { AspectRatioProps }
@@ -0,0 +1,221 @@
1
+ import * as React from "react";
2
+ import { ChevronRight, MoreHorizontal } from "lucide-react";
3
+ import { cva, type VariantProps } from "class-variance-authority";
4
+
5
+ import { cn } from "../../lib/utils";
6
+
7
+ const MoonUIbreadcrumbVariantsPro = cva(
8
+ "flex items-center gap-1.5 text-sm",
9
+ {
10
+ variants: {
11
+ variant: {
12
+ default: "dark:text-gray-100 transition-colors",
13
+ muted: "text-muted-foreground dark:text-gray-400 transition-colors",
14
+ ghost: "text-foreground/60 dark:text-gray-300/60 transition-colors",
15
+ },
16
+ size: {
17
+ default: "text-sm",
18
+ sm: "text-xs",
19
+ lg: "text-base",
20
+ },
21
+ },
22
+ defaultVariants: {
23
+ variant: "default",
24
+ size: "default",
25
+ },
26
+ }
27
+ );
28
+
29
+ interface BreadcrumbProps
30
+ extends React.HTMLAttributes<HTMLElement>,
31
+ VariantProps<typeof MoonUIbreadcrumbVariantsPro> {
32
+ separator?: React.ReactNode;
33
+ showHomeIcon?: boolean;
34
+ }
35
+
36
+ interface BreadcrumbListProps extends React.HTMLAttributes<HTMLOListElement> {
37
+ collapsed?: boolean;
38
+ collapsedWidth?: number;
39
+ }
40
+
41
+ interface BreadcrumbItemProps extends React.HTMLAttributes<HTMLLIElement> {
42
+ isCurrent?: boolean;
43
+ href?: string;
44
+ asChild?: boolean;
45
+ }
46
+
47
+ interface BreadcrumbSeparatorProps extends React.HTMLAttributes<HTMLSpanElement> {
48
+ /** Custom separator icon or text */
49
+ icon?: React.ReactNode;
50
+ }
51
+
52
+ interface BreadcrumbEllipsisProps extends React.HTMLAttributes<HTMLSpanElement> {
53
+ /** Custom ellipsis icon */
54
+ icon?: React.ReactNode;
55
+ }
56
+
57
+ const MoonUIBreadcrumbPro = React.forwardRef<HTMLElement, BreadcrumbProps>(
58
+ ({ className, variant, size, ...props }, ref) => (
59
+ <nav
60
+ ref={ref}
61
+ className={cn(MoonUIbreadcrumbVariantsPro({ variant, size }), className)}
62
+ aria-label="breadcrumb"
63
+ {...props}
64
+ />
65
+ )
66
+ );
67
+ MoonUIBreadcrumbPro.displayName = "BreadcrumbPro";
68
+
69
+ const MoonUIBreadcrumbListPro = React.forwardRef<HTMLOListElement, BreadcrumbListProps>(
70
+ ({ className, collapsed, collapsedWidth = 3, ...props }, ref) => {
71
+ const MoonUIchildrenArrayPro = React.Children.toArray(props.children).filter(Boolean);
72
+ const MoonUIchildCountPro = childrenArray.length;
73
+
74
+ if (collapsed && childCount > collapsedWidth) {
75
+ const MoonUIfirstItemPro = childrenArray[0];
76
+ // const MoonUImiddleItemsPro = childrenArray.slice(1, -2); // Uncomment when needed
77
+ const MoonUIlastTwoItemsPro = childrenArray.slice(-2);
78
+
79
+ return (
80
+ <ol
81
+ ref={ref}
82
+ className={cn(
83
+ "flex flex-wrap items-center gap-1.5 sm:gap-2.5",
84
+ className
85
+ )}
86
+ {...props}
87
+ >
88
+ {firstItem}
89
+ <BreadcrumbEllipsis />
90
+ {lastTwoItems}
91
+ </ol>
92
+ );
93
+ }
94
+
95
+ return (
96
+ <ol
97
+ ref={ref}
98
+ className={cn(
99
+ "flex flex-wrap items-center gap-1.5 sm:gap-2.5",
100
+ className
101
+ )}
102
+ {...props}
103
+ />
104
+ );
105
+ }
106
+ );
107
+ MoonUIBreadcrumbListPro.displayName = "BreadcrumbListPro";
108
+
109
+ const MoonUIBreadcrumbItemPro = React.forwardRef<HTMLLIElement, BreadcrumbItemProps>(
110
+ ({ className, isCurrent, href, asChild = false, ...props }, ref) => {
111
+ const MoonUICompPro = asChild ? React.Fragment : href ? "a" : "span";
112
+ const MoonUIitemPropsPro = asChild ? {} : href ? { href } : {};
113
+
114
+ return (
115
+ <li
116
+ ref={ref}
117
+ className={cn("inline-flex items-center gap-1.5", className)}
118
+ aria-current={isCurrent ? "page" : undefined}
119
+ {...props}
120
+ >
121
+ <Comp
122
+ className={cn(
123
+ "transition-colors duration-200 hover:text-foreground",
124
+ isCurrent
125
+ ? "font-medium text-foreground dark:text-white dark:text-opacity-95"
126
+ : "text-muted-foreground hover:text-foreground dark:text-gray-400 dark:hover:text-gray-200 dark:hover:text-opacity-95 hover:underline hover:underline-offset-4 hover:decoration-gray-300/30"
127
+ )}
128
+ {...itemProps}
129
+ >
130
+ {props.children}
131
+ </Comp>
132
+ </li>
133
+ );
134
+ }
135
+ );
136
+ MoonUIBreadcrumbItemPro.displayName = "BreadcrumbItemPro";
137
+
138
+ const MoonUIBreadcrumbSeparatorPro = ({
139
+ children,
140
+ className,
141
+ ...props
142
+ }: BreadcrumbSeparatorProps) => (
143
+ <span
144
+ role="presentation"
145
+ aria-hidden="true"
146
+ className={cn("text-muted-foreground dark:text-gray-500 opacity-70", className)}
147
+ {...props}
148
+ >
149
+ {children || <ChevronRight className="h-3.5 w-3.5" />}
150
+ </span>
151
+ );
152
+ MoonUIBreadcrumbSeparatorPro.displayName = "BreadcrumbSeparatorPro";
153
+
154
+ const MoonUIBreadcrumbEllipsisPro = ({
155
+ className,
156
+ ...props
157
+ }: BreadcrumbEllipsisProps) => (
158
+ <span
159
+ role="presentation"
160
+ aria-hidden="true"
161
+ className={cn("flex items-center text-muted-foreground dark:text-gray-500 dark:hover:text-gray-400 transition-colors duration-200", className)}
162
+ {...props}
163
+ >
164
+ <MoreHorizontal className="h-4 w-4" />
165
+ <span className="sr-only">More pages</span>
166
+ </span>
167
+ );
168
+ MoonUIBreadcrumbEllipsisPro.displayName = "BreadcrumbEllipsisPro";
169
+
170
+ const MoonUIBreadcrumbLinkPro = React.forwardRef<HTMLAnchorElement, React.AnchorHTMLAttributes<HTMLAnchorElement>>(
171
+ ({ className, href, ...props }, ref) => (
172
+ <a
173
+ ref={ref}
174
+ href={href}
175
+ className={cn(
176
+ "transition-colors duration-200 hover:text-foreground text-muted-foreground hover:underline hover:underline-offset-4 hover:decoration-gray-300/30 dark:text-gray-400 dark:hover:text-gray-200",
177
+ className
178
+ )}
179
+ {...props}
180
+ />
181
+ )
182
+ );
183
+ MoonUIBreadcrumbLinkPro.displayName = "BreadcrumbLinkPro";
184
+
185
+ const MoonUIBreadcrumbPagePro = React.forwardRef<HTMLSpanElement, React.HTMLAttributes<HTMLSpanElement>>(
186
+ ({ className, ...props }, ref) => (
187
+ <span
188
+ ref={ref}
189
+ className={cn(
190
+ "font-medium text-foreground dark:text-white dark:text-opacity-95",
191
+ className
192
+ )}
193
+ {...props}
194
+ />
195
+ )
196
+ );
197
+ MoonUIBreadcrumbPagePro.displayName = "BreadcrumbPagePro";
198
+
199
+
200
+ // Internal aliases for Pro component usage
201
+ export const breadcrumbVariantsInternal = MoonUIbreadcrumbVariantsPro
202
+ export const BreadcrumbInternal = MoonUIBreadcrumbPro
203
+ export const BreadcrumbListInternal = MoonUIBreadcrumbListPro
204
+ export const childrenArrayInternal = MoonUIchildrenArrayPro
205
+ export const childCountInternal = MoonUIchildCountPro
206
+ export const firstItemInternal = MoonUIfirstItemPro
207
+ export const middleItemsInternal = MoonUImiddleItemsPro
208
+ export const lastTwoItemsInternal = MoonUIlastTwoItemsPro
209
+ export const BreadcrumbItemInternal = MoonUIBreadcrumbItemPro
210
+ export const CompInternal = MoonUICompPro
211
+ export const itemPropsInternal = MoonUIitemPropsPro
212
+ export const BreadcrumbSeparatorInternal = MoonUIBreadcrumbSeparatorPro
213
+ export const BreadcrumbEllipsisInternal = MoonUIBreadcrumbEllipsisPro
214
+ export const BreadcrumbLinkInternal = MoonUIBreadcrumbLinkPro
215
+ export const BreadcrumbPageInternal = MoonUIBreadcrumbPagePro
216
+
217
+ // Pro exports
218
+ export { MoonUIbreadcrumbVariantsPro, MoonUIBreadcrumbPro, MoonUIBreadcrumbListPro, MoonUIchildrenArrayPro, MoonUIchildCountPro, MoonUIfirstItemPro, MoonUImiddleItemsPro, MoonUIlastTwoItemsPro, MoonUIBreadcrumbItemPro, MoonUICompPro, MoonUIitemPropsPro, MoonUIBreadcrumbSeparatorPro, MoonUIBreadcrumbEllipsisPro, MoonUIBreadcrumbLinkPro, MoonUIBreadcrumbPagePro }
219
+
220
+ // Clean exports (without MoonUI prefix for easier usage)
221
+ export { MoonUIbreadcrumbVariantsPro as breadcrumbVariants, MoonUIBreadcrumbPro as Breadcrumb, MoonUIBreadcrumbListPro as BreadcrumbList, MoonUIchildrenArrayPro as childrenArray, MoonUIchildCountPro as childCount, MoonUIfirstItemPro as firstItem, MoonUImiddleItemsPro as middleItems, MoonUIlastTwoItemsPro as lastTwoItems, MoonUIBreadcrumbItemPro as BreadcrumbItem, MoonUICompPro as Comp, MoonUIitemPropsPro as itemProps, MoonUIBreadcrumbSeparatorPro as BreadcrumbSeparator, MoonUIBreadcrumbEllipsisPro as BreadcrumbEllipsis, MoonUIBreadcrumbLinkPro as BreadcrumbLink, MoonUIBreadcrumbPagePro as BreadcrumbPage };
@@ -255,5 +255,5 @@ MoonUICheckboxWithLabel.displayName = "CheckboxWithLabel";
255
255
 
256
256
  export { MoonUICheckboxPro, CheckboxGroup, CheckboxLabel, CheckboxWithLabel };
257
257
 
258
- // Backward compatibility exports
259
- export { MoonUICheckboxPro as Checkbox, MoonUILabelPro as Label };
258
+ // Clean exports (only checkbox specific)
259
+ export { MoonUICheckboxPro as Checkbox };