@amazecontinuityprojects/amazeui 1.0.2 → 1.1.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 +30 -1
- package/dist/index.d.ts +30 -1
- package/dist/index.js +192 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +182 -1
- package/dist/index.mjs.map +1 -1
- package/dist/tailwind.css +10 -0
- package/package.json +2 -1
package/dist/index.d.mts
CHANGED
|
@@ -3,6 +3,8 @@ import * as React from 'react';
|
|
|
3
3
|
import * as react_native from 'react-native';
|
|
4
4
|
import { PressableProps, ViewProps, TextProps, TextInputProps, SwitchProps as SwitchProps$1, Switch as Switch$1, ModalProps } from 'react-native';
|
|
5
5
|
import { VariantProps } from 'class-variance-authority';
|
|
6
|
+
import { ThemeProviderProps } from 'next-themes';
|
|
7
|
+
export { useTheme } from 'next-themes';
|
|
6
8
|
import { ClassValue } from 'clsx';
|
|
7
9
|
|
|
8
10
|
declare const buttonVariants: (props?: ({
|
|
@@ -22,6 +24,8 @@ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAtt
|
|
|
22
24
|
|
|
23
25
|
declare const Card: React.ForwardRefExoticComponent<ViewProps & {
|
|
24
26
|
className?: string;
|
|
27
|
+
onClick?: React.MouseEventHandler<HTMLDivElement>;
|
|
28
|
+
onPress?: any;
|
|
25
29
|
} & React.RefAttributes<any>>;
|
|
26
30
|
declare const CardHeader: React.ForwardRefExoticComponent<ViewProps & {
|
|
27
31
|
className?: string;
|
|
@@ -177,6 +181,31 @@ declare const PopoverContent: React.ForwardRefExoticComponent<ViewProps & {
|
|
|
177
181
|
className?: string;
|
|
178
182
|
} & React.RefAttributes<any>>;
|
|
179
183
|
|
|
184
|
+
declare function useSidebar(): {
|
|
185
|
+
isOpen: boolean;
|
|
186
|
+
setIsOpen: (open: boolean) => void;
|
|
187
|
+
};
|
|
188
|
+
interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
189
|
+
isOpen?: boolean;
|
|
190
|
+
onOpenChange?: (open: boolean) => void;
|
|
191
|
+
side?: "left" | "right";
|
|
192
|
+
}
|
|
193
|
+
declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLDivElement>>;
|
|
194
|
+
declare const SidebarHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
195
|
+
declare const SidebarContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
196
|
+
declare const SidebarGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
197
|
+
declare const SidebarGroupLabel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
198
|
+
interface SidebarItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
199
|
+
icon?: React.ReactNode;
|
|
200
|
+
isActive?: boolean;
|
|
201
|
+
label?: React.ReactNode;
|
|
202
|
+
rightElement?: React.ReactNode;
|
|
203
|
+
}
|
|
204
|
+
declare const SidebarItem: React.ForwardRefExoticComponent<SidebarItemProps & React.RefAttributes<HTMLButtonElement>>;
|
|
205
|
+
declare const SidebarFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
206
|
+
|
|
207
|
+
declare function ThemeProvider({ children, ...props }: ThemeProviderProps): React.JSX.Element;
|
|
208
|
+
|
|
180
209
|
declare function cn(...inputs: ClassValue[]): string;
|
|
181
210
|
|
|
182
|
-
export { Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, type DialogProps, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, type DropdownMenuProps, DropdownMenuSeparator, DropdownMenuTrigger, Input, type InputProps, Label, type LabelProps, Popover, PopoverContent, type PopoverProps, PopoverTrigger, Progress, type ProgressProps, Skeleton, type SkeletonProps, Switch, type SwitchProps, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, type TabsProps, TabsTrigger, buttonTextVariants, buttonVariants, cn };
|
|
211
|
+
export { Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, type DialogProps, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, type DropdownMenuProps, DropdownMenuSeparator, DropdownMenuTrigger, Input, type InputProps, Label, type LabelProps, Popover, PopoverContent, type PopoverProps, PopoverTrigger, Progress, type ProgressProps, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarItem, type SidebarItemProps, type SidebarProps, Skeleton, type SkeletonProps, Switch, type SwitchProps, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, type TabsProps, TabsTrigger, ThemeProvider, buttonTextVariants, buttonVariants, cn, useSidebar };
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import * as React from 'react';
|
|
|
3
3
|
import * as react_native from 'react-native';
|
|
4
4
|
import { PressableProps, ViewProps, TextProps, TextInputProps, SwitchProps as SwitchProps$1, Switch as Switch$1, ModalProps } from 'react-native';
|
|
5
5
|
import { VariantProps } from 'class-variance-authority';
|
|
6
|
+
import { ThemeProviderProps } from 'next-themes';
|
|
7
|
+
export { useTheme } from 'next-themes';
|
|
6
8
|
import { ClassValue } from 'clsx';
|
|
7
9
|
|
|
8
10
|
declare const buttonVariants: (props?: ({
|
|
@@ -22,6 +24,8 @@ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAtt
|
|
|
22
24
|
|
|
23
25
|
declare const Card: React.ForwardRefExoticComponent<ViewProps & {
|
|
24
26
|
className?: string;
|
|
27
|
+
onClick?: React.MouseEventHandler<HTMLDivElement>;
|
|
28
|
+
onPress?: any;
|
|
25
29
|
} & React.RefAttributes<any>>;
|
|
26
30
|
declare const CardHeader: React.ForwardRefExoticComponent<ViewProps & {
|
|
27
31
|
className?: string;
|
|
@@ -177,6 +181,31 @@ declare const PopoverContent: React.ForwardRefExoticComponent<ViewProps & {
|
|
|
177
181
|
className?: string;
|
|
178
182
|
} & React.RefAttributes<any>>;
|
|
179
183
|
|
|
184
|
+
declare function useSidebar(): {
|
|
185
|
+
isOpen: boolean;
|
|
186
|
+
setIsOpen: (open: boolean) => void;
|
|
187
|
+
};
|
|
188
|
+
interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
189
|
+
isOpen?: boolean;
|
|
190
|
+
onOpenChange?: (open: boolean) => void;
|
|
191
|
+
side?: "left" | "right";
|
|
192
|
+
}
|
|
193
|
+
declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLDivElement>>;
|
|
194
|
+
declare const SidebarHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
195
|
+
declare const SidebarContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
196
|
+
declare const SidebarGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
197
|
+
declare const SidebarGroupLabel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
198
|
+
interface SidebarItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
199
|
+
icon?: React.ReactNode;
|
|
200
|
+
isActive?: boolean;
|
|
201
|
+
label?: React.ReactNode;
|
|
202
|
+
rightElement?: React.ReactNode;
|
|
203
|
+
}
|
|
204
|
+
declare const SidebarItem: React.ForwardRefExoticComponent<SidebarItemProps & React.RefAttributes<HTMLButtonElement>>;
|
|
205
|
+
declare const SidebarFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
206
|
+
|
|
207
|
+
declare function ThemeProvider({ children, ...props }: ThemeProviderProps): React.JSX.Element;
|
|
208
|
+
|
|
180
209
|
declare function cn(...inputs: ClassValue[]): string;
|
|
181
210
|
|
|
182
|
-
export { Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, type DialogProps, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, type DropdownMenuProps, DropdownMenuSeparator, DropdownMenuTrigger, Input, type InputProps, Label, type LabelProps, Popover, PopoverContent, type PopoverProps, PopoverTrigger, Progress, type ProgressProps, Skeleton, type SkeletonProps, Switch, type SwitchProps, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, type TabsProps, TabsTrigger, buttonTextVariants, buttonVariants, cn };
|
|
211
|
+
export { Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, type DialogProps, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, type DropdownMenuProps, DropdownMenuSeparator, DropdownMenuTrigger, Input, type InputProps, Label, type LabelProps, Popover, PopoverContent, type PopoverProps, PopoverTrigger, Progress, type ProgressProps, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarItem, type SidebarItemProps, type SidebarProps, Skeleton, type SkeletonProps, Switch, type SwitchProps, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, type TabsProps, TabsTrigger, ThemeProvider, buttonTextVariants, buttonVariants, cn, useSidebar };
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
"use strict";
|
|
2
3
|
var __create = Object.create;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
@@ -56,6 +57,13 @@ __export(index_exports, {
|
|
|
56
57
|
PopoverContent: () => PopoverContent,
|
|
57
58
|
PopoverTrigger: () => PopoverTrigger,
|
|
58
59
|
Progress: () => Progress,
|
|
60
|
+
Sidebar: () => Sidebar,
|
|
61
|
+
SidebarContent: () => SidebarContent,
|
|
62
|
+
SidebarFooter: () => SidebarFooter,
|
|
63
|
+
SidebarGroup: () => SidebarGroup,
|
|
64
|
+
SidebarGroupLabel: () => SidebarGroupLabel,
|
|
65
|
+
SidebarHeader: () => SidebarHeader,
|
|
66
|
+
SidebarItem: () => SidebarItem,
|
|
59
67
|
Skeleton: () => Skeleton,
|
|
60
68
|
Switch: () => Switch,
|
|
61
69
|
Table: () => Table,
|
|
@@ -68,9 +76,12 @@ __export(index_exports, {
|
|
|
68
76
|
TabsContent: () => TabsContent,
|
|
69
77
|
TabsList: () => TabsList,
|
|
70
78
|
TabsTrigger: () => TabsTrigger,
|
|
79
|
+
ThemeProvider: () => ThemeProvider,
|
|
71
80
|
buttonTextVariants: () => buttonTextVariants,
|
|
72
81
|
buttonVariants: () => buttonVariants,
|
|
73
|
-
cn: () => cn
|
|
82
|
+
cn: () => cn,
|
|
83
|
+
useSidebar: () => useSidebar,
|
|
84
|
+
useTheme: () => import_next_themes2.useTheme
|
|
74
85
|
});
|
|
75
86
|
module.exports = __toCommonJS(index_exports);
|
|
76
87
|
|
|
@@ -685,6 +696,175 @@ var PopoverContent = React12.forwardRef(
|
|
|
685
696
|
}
|
|
686
697
|
);
|
|
687
698
|
PopoverContent.displayName = "PopoverContent";
|
|
699
|
+
|
|
700
|
+
// src/components/ui/sidebar.tsx
|
|
701
|
+
var React13 = __toESM(require("react"));
|
|
702
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
703
|
+
var SidebarContext = React13.createContext(null);
|
|
704
|
+
function useSidebar() {
|
|
705
|
+
const context = React13.useContext(SidebarContext);
|
|
706
|
+
if (!context) {
|
|
707
|
+
throw new Error("useSidebar must be used within a SidebarProvider");
|
|
708
|
+
}
|
|
709
|
+
return context;
|
|
710
|
+
}
|
|
711
|
+
var Sidebar = React13.forwardRef(
|
|
712
|
+
({ className, isOpen = true, onOpenChange, side = "left", children, ...props }, ref) => {
|
|
713
|
+
const [internalOpen, setInternalOpen] = React13.useState(isOpen);
|
|
714
|
+
const isControlled = onOpenChange !== void 0;
|
|
715
|
+
const openState = isControlled ? isOpen : internalOpen;
|
|
716
|
+
const handleToggle = React13.useCallback((open) => {
|
|
717
|
+
if (isControlled) {
|
|
718
|
+
onOpenChange(open);
|
|
719
|
+
} else {
|
|
720
|
+
setInternalOpen(open);
|
|
721
|
+
}
|
|
722
|
+
}, [isControlled, onOpenChange]);
|
|
723
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(SidebarContext.Provider, { value: { isOpen: openState, setIsOpen: handleToggle }, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
724
|
+
"aside",
|
|
725
|
+
{
|
|
726
|
+
ref,
|
|
727
|
+
"data-state": openState ? "expanded" : "collapsed",
|
|
728
|
+
className: cn(
|
|
729
|
+
"fixed top-4 z-50 hidden h-[calc(100vh-2rem)] flex-col rounded-[24px] border border-sidebar-border bg-sidebar text-sidebar-foreground shadow-lg dark:shadow-[0_8px_32px_rgba(0,0,0,0.3)] transition-all duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)] md:flex",
|
|
730
|
+
openState ? "overflow-hidden w-[280px]" : "overflow-visible w-[72px]",
|
|
731
|
+
side === "left" ? "left-4" : "right-4",
|
|
732
|
+
className
|
|
733
|
+
),
|
|
734
|
+
...props,
|
|
735
|
+
children
|
|
736
|
+
}
|
|
737
|
+
) });
|
|
738
|
+
}
|
|
739
|
+
);
|
|
740
|
+
Sidebar.displayName = "Sidebar";
|
|
741
|
+
var SidebarHeader = React13.forwardRef(
|
|
742
|
+
({ className, ...props }, ref) => {
|
|
743
|
+
const { isOpen } = useSidebar();
|
|
744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
745
|
+
"div",
|
|
746
|
+
{
|
|
747
|
+
ref,
|
|
748
|
+
className: cn(
|
|
749
|
+
"flex flex-col border-b border-sidebar-border shrink-0",
|
|
750
|
+
isOpen ? "px-4 pb-4 pt-5" : "px-3.5 py-4",
|
|
751
|
+
className
|
|
752
|
+
),
|
|
753
|
+
...props
|
|
754
|
+
}
|
|
755
|
+
);
|
|
756
|
+
}
|
|
757
|
+
);
|
|
758
|
+
SidebarHeader.displayName = "SidebarHeader";
|
|
759
|
+
var SidebarContent = React13.forwardRef(
|
|
760
|
+
({ className, ...props }, ref) => {
|
|
761
|
+
const { isOpen } = useSidebar();
|
|
762
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
763
|
+
"div",
|
|
764
|
+
{
|
|
765
|
+
ref,
|
|
766
|
+
style: { overflowY: "auto", overflowX: "hidden" },
|
|
767
|
+
className: cn(
|
|
768
|
+
"min-h-0 flex-1",
|
|
769
|
+
isOpen ? "px-3 py-4" : "px-2 py-4 items-center",
|
|
770
|
+
className
|
|
771
|
+
),
|
|
772
|
+
...props
|
|
773
|
+
}
|
|
774
|
+
);
|
|
775
|
+
}
|
|
776
|
+
);
|
|
777
|
+
SidebarContent.displayName = "SidebarContent";
|
|
778
|
+
var SidebarGroup = React13.forwardRef(
|
|
779
|
+
({ className, ...props }, ref) => {
|
|
780
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
781
|
+
"div",
|
|
782
|
+
{
|
|
783
|
+
ref,
|
|
784
|
+
className: cn("flex flex-col gap-1 w-full", className),
|
|
785
|
+
...props
|
|
786
|
+
}
|
|
787
|
+
);
|
|
788
|
+
}
|
|
789
|
+
);
|
|
790
|
+
SidebarGroup.displayName = "SidebarGroup";
|
|
791
|
+
var SidebarGroupLabel = React13.forwardRef(
|
|
792
|
+
({ className, ...props }, ref) => {
|
|
793
|
+
const { isOpen } = useSidebar();
|
|
794
|
+
if (!isOpen) return null;
|
|
795
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
796
|
+
"div",
|
|
797
|
+
{
|
|
798
|
+
ref,
|
|
799
|
+
className: cn("px-3 mb-1 mt-4 text-[10px] font-bold uppercase tracking-[0.1em] text-sidebar-foreground/50", className),
|
|
800
|
+
...props
|
|
801
|
+
}
|
|
802
|
+
);
|
|
803
|
+
}
|
|
804
|
+
);
|
|
805
|
+
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
806
|
+
var SidebarItem = React13.forwardRef(
|
|
807
|
+
({ className, icon, isActive, label, rightElement, ...props }, ref) => {
|
|
808
|
+
const { isOpen } = useSidebar();
|
|
809
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
810
|
+
"button",
|
|
811
|
+
{
|
|
812
|
+
ref,
|
|
813
|
+
"data-active": isActive,
|
|
814
|
+
className: cn(
|
|
815
|
+
"group relative flex items-center rounded-xl transition-all duration-150 w-full hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
816
|
+
isOpen ? "gap-3 px-3 py-2 justify-start text-sm" : "justify-center p-3 h-11 w-11 mt-1",
|
|
817
|
+
isActive ? "bg-sidebar-accent border border-sidebar-border text-info font-semibold shadow-sm" : "text-sidebar-foreground/70 border border-transparent",
|
|
818
|
+
className
|
|
819
|
+
),
|
|
820
|
+
...props,
|
|
821
|
+
children: [
|
|
822
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: cn("shrink-0", isActive ? "text-info" : "text-sidebar-foreground/60 group-hover:text-sidebar-foreground"), children: icon }),
|
|
823
|
+
isOpen && label && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: cn("truncate flex-1 text-left", isActive ? "font-semibold" : "font-medium"), children: label }),
|
|
824
|
+
isOpen && rightElement && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "shrink-0", children: rightElement }),
|
|
825
|
+
!isOpen && label && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "absolute left-full ml-4 hidden group-hover:block z-50 px-3 py-1.5 rounded-lg bg-gray-900 text-white dark:bg-gray-100 dark:text-gray-900 text-xs font-medium whitespace-nowrap shadow-xl", children: [
|
|
826
|
+
label,
|
|
827
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "absolute left-0 top-1/2 -translate-x-1 -translate-y-1/2 w-2 h-2 bg-gray-900 dark:bg-gray-100 rotate-45" })
|
|
828
|
+
] })
|
|
829
|
+
]
|
|
830
|
+
}
|
|
831
|
+
);
|
|
832
|
+
}
|
|
833
|
+
);
|
|
834
|
+
SidebarItem.displayName = "SidebarItem";
|
|
835
|
+
var SidebarFooter = React13.forwardRef(
|
|
836
|
+
({ className, ...props }, ref) => {
|
|
837
|
+
const { isOpen } = useSidebar();
|
|
838
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
839
|
+
"div",
|
|
840
|
+
{
|
|
841
|
+
ref,
|
|
842
|
+
className: cn(
|
|
843
|
+
"shrink-0 border-t border-sidebar-border bg-sidebar-accent/30 backdrop-blur-md",
|
|
844
|
+
isOpen ? "p-4" : "p-3 flex justify-center",
|
|
845
|
+
className
|
|
846
|
+
),
|
|
847
|
+
...props
|
|
848
|
+
}
|
|
849
|
+
);
|
|
850
|
+
}
|
|
851
|
+
);
|
|
852
|
+
SidebarFooter.displayName = "SidebarFooter";
|
|
853
|
+
|
|
854
|
+
// src/components/ui/theme-provider.tsx
|
|
855
|
+
var React14 = __toESM(require("react"));
|
|
856
|
+
var import_next_themes = require("next-themes");
|
|
857
|
+
var import_next_themes2 = require("next-themes");
|
|
858
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
859
|
+
function ThemeProvider({ children, ...props }) {
|
|
860
|
+
React14.useEffect(() => {
|
|
861
|
+
const legacyDarkTheme = ["mid", "night"].join("");
|
|
862
|
+
if (window.localStorage.getItem("theme") === legacyDarkTheme) {
|
|
863
|
+
window.localStorage.setItem("theme", "dark");
|
|
864
|
+
}
|
|
865
|
+
}, []);
|
|
866
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_next_themes.ThemeProvider, { ...props, children });
|
|
867
|
+
}
|
|
688
868
|
// Annotate the CommonJS export names for ESM import in node:
|
|
689
869
|
0 && (module.exports = {
|
|
690
870
|
Button,
|
|
@@ -713,6 +893,13 @@ PopoverContent.displayName = "PopoverContent";
|
|
|
713
893
|
PopoverContent,
|
|
714
894
|
PopoverTrigger,
|
|
715
895
|
Progress,
|
|
896
|
+
Sidebar,
|
|
897
|
+
SidebarContent,
|
|
898
|
+
SidebarFooter,
|
|
899
|
+
SidebarGroup,
|
|
900
|
+
SidebarGroupLabel,
|
|
901
|
+
SidebarHeader,
|
|
902
|
+
SidebarItem,
|
|
716
903
|
Skeleton,
|
|
717
904
|
Switch,
|
|
718
905
|
Table,
|
|
@@ -725,8 +912,11 @@ PopoverContent.displayName = "PopoverContent";
|
|
|
725
912
|
TabsContent,
|
|
726
913
|
TabsList,
|
|
727
914
|
TabsTrigger,
|
|
915
|
+
ThemeProvider,
|
|
728
916
|
buttonTextVariants,
|
|
729
917
|
buttonVariants,
|
|
730
|
-
cn
|
|
918
|
+
cn,
|
|
919
|
+
useSidebar,
|
|
920
|
+
useTheme
|
|
731
921
|
});
|
|
732
922
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/lib/primitives.tsx","../src/lib/utils.ts","../src/components/ui/button.tsx","../src/components/ui/card.tsx","../src/components/ui/input.tsx","../src/components/ui/label.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/switch.tsx","../src/components/ui/progress.tsx","../src/components/ui/tabs.tsx","../src/components/ui/table.tsx","../src/components/ui/dialog.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/popover.tsx"],"sourcesContent":["export * from \"./components/ui/button\";\nexport * from \"./components/ui/card\";\nexport * from \"./components/ui/input\";\nexport * from \"./components/ui/label\";\nexport * from \"./components/ui/skeleton\";\nexport * from \"./components/ui/switch\";\nexport * from \"./components/ui/progress\";\nexport * from \"./components/ui/tabs\";\nexport * from \"./components/ui/table\";\nexport * from \"./components/ui/dialog\";\nexport * from \"./components/ui/dropdown-menu\";\nexport * from \"./components/ui/popover\";\nexport * from \"./lib/utils\";\n","import * as React from \"react\";\nimport { Platform, View as RNView, Text as RNText, Pressable as RNPressable, TextInput as RNTextInput } from \"react-native\";\nimport type { ViewProps, TextProps, PressableProps, TextInputProps } from \"react-native\";\n\nimport { cn } from \"./utils\";\n\nexport const View = React.forwardRef<any, ViewProps & { className?: string }>(({ className, style, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"div\" as any;\n return <C ref={ref} className={cn(\"flex flex-col items-stretch justify-start min-w-0 min-h-0 relative\", className)} style={style as any} {...props as any} />;\n // Note: removed inline styles that override tailwind classes\n }\n return <RNView ref={ref} className={className} style={style} {...props} />;\n});\nView.displayName = \"View\";\n\nexport const Text = React.forwardRef<any, TextProps & { className?: string }>(({ className, style, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"span\" as any;\n return <C ref={ref} className={cn(\"inline m-0 p-0\", className)} style={style as any} {...props as any} />;\n }\n return <RNText ref={ref} className={className} style={style} {...props} />;\n});\nText.displayName = \"Text\";\n\nexport const Pressable = React.forwardRef<any, PressableProps & { className?: string, onClick?: any }>(({ className, style, onPress, onClick, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"button\" as any;\n return <C ref={ref} type=\"button\" onClick={onPress || onClick} className={cn(\"flex flex-col items-stretch justify-start bg-transparent border-none p-0 m-0 cursor-pointer outline-none relative\", className)} style={style as any} {...props as any} />;\n }\n return <RNPressable ref={ref} onPress={onPress || onClick} className={className} style={style} {...props} />;\n});\nPressable.displayName = \"Pressable\";\n\nexport const TextInput = React.forwardRef<any, TextInputProps & { className?: string, onChange?: any }>(({ className, style, onChangeText, onChange, value, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"input\" as any;\n return <C ref={ref} value={value} onChange={(e: any) => { onChangeText?.(e.target.value); onChange?.(e); }} className={className} style={{ ...(style as any) }} {...props as any} />;\n }\n return <RNTextInput ref={ref} value={value} onChangeText={onChangeText} onChange={onChange} className={className} style={style} {...props} />;\n});\nTextInput.displayName = \"TextInput\";\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type PressableProps, type TextProps } from \"react-native\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"flex flex-row items-center justify-center gap-2 rounded-md font-medium transition-all\",\n {\n variants: {\n variant: {\n default: \"bg-primary hover:bg-primary/90\",\n destructive: \"bg-danger hover:bg-danger/90\",\n outline: \"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"underline-offset-4 hover:underline\"},\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3\",\n lg: \"h-10 rounded-md px-6\",\n icon: \"h-9 w-9\"}},\n defaultVariants: {\n variant: \"default\",\n size: \"default\"}}\n)\n\nconst buttonTextVariants = cva(\n \"font-medium\",\n {\n variants: {\n variant: {\n default: \"text-primary-foreground\",\n destructive: \"text-white\",\n outline: \"text-foreground\",\n secondary: \"text-secondary-foreground\",\n ghost: \"text-foreground\",\n link: \"text-primary\"}},\n defaultVariants: {\n variant: \"default\"}}\n)\n\nexport interface ButtonProps\n extends PressableProps,\n VariantProps<typeof buttonVariants> {\n children: React.ReactNode;\n className?: string;\n textClassName?: string;\n onClick?: (event: any) => void;\n}\n\nconst Button = React.forwardRef<React.ElementRef<typeof Pressable>, ButtonProps>(\n ({ className, variant, size, children, textClassName, onClick, onPress, ...props }, ref) => {\n return (\n <Pressable onPress={onPress || onClick}\n ref={ref}\n {...({ className: cn(buttonVariants({ variant, size }), className) } as any)}\n {...props}\n >\n {React.Children.map(children, (child) => \n typeof child === 'string' || typeof child === 'number' ? (\n <Text {...({ className: cn(buttonTextVariants({ variant }), textClassName) } as any)}>{child}</Text>\n ) : (\n child\n )\n )}\n </Pressable>\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants, buttonTextVariants }\n","import { View, Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst Card = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"rounded-xl border border-border bg-card/60 backdrop-blur-xl shadow-sm dark:bg-card/40\", className) } as any)}\n {...props}\n />\n )\n)\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-col space-y-1.5 p-6\", className) } as any)}\n {...props}\n />\n )\n)\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(\"font-semibold text-lg leading-none tracking-tight text-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(\"text-sm text-muted-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"p-6 pt-0\", className) } as any)} {...props} />\n )\n)\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-row items-center p-6 pt-0\", className) } as any)}\n {...props}\n />\n )\n)\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","import { TextInput } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type TextInputProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface InputProps extends TextInputProps {\n className?: string;\n}\n\nconst Input = React.forwardRef<React.ElementRef<typeof TextInput>, InputProps>(\n ({ className, ...props }, ref) => {\n return (\n <TextInput\n ref={ref}\n placeholderTextColor=\"#a3a3a3\" // gray-400 equivalent for default placeholder\n {...({ className: cn(\"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm text-foreground\", className) } as any)}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n","import { Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none text-foreground peer-disabled:opacity-70\",\n {\n variants: {},\n defaultVariants: {}}\n)\n\nexport interface LabelProps extends TextProps, VariantProps<typeof labelVariants> {\n className?: string;\n}\n\nconst Label = React.forwardRef<React.ElementRef<typeof Text>, LabelProps>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(labelVariants(), className) } as any)}\n {...props}\n />\n )\n)\nLabel.displayName = \"Label\"\n\nexport { Label }\n","import { View } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface SkeletonProps extends ViewProps {\n className?: string;\n}\n\nfunction Skeleton({ className, ...props }: SkeletonProps) {\n return (\n <View\n {...({ className: cn(\"animate-pulse rounded-md bg-primary/10\", className) } as any)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n","import * as React from \"react\"\nimport { Switch as NativeSwitch, type SwitchProps as NativeSwitchProps } from \"react-native\"\n\nexport interface SwitchProps extends NativeSwitchProps {\n onCheckedChange?: (checked: boolean) => void;\n checked?: boolean;\n onChange?: (event: any) => void;\n className?: string; // Kept for interface compatibility, though Native Switch styling is limited via className\n}\n\nconst Switch = React.forwardRef<React.ElementRef<typeof NativeSwitch>, SwitchProps>(\n ({ className, onCheckedChange, onChange, onValueChange, checked, value, ...props }, ref) => {\n return (\n <NativeSwitch value={checked !== undefined ? checked : value} onValueChange={(val) => { onValueChange?.(val); onCheckedChange?.(val); onChange?.(val); }}\n ref={ref}\n {...props}\n />\n )\n }\n)\nSwitch.displayName = \"Switch\"\n\nexport { Switch }\n","import { View } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface ProgressProps extends ViewProps {\n className?: string;\n value?: number;\n}\n\nconst Progress = React.forwardRef<React.ElementRef<typeof View>, ProgressProps>(\n ({ className, value = 0, ...props }, ref) => {\n // Ensure value is between 0 and 100\n const boundedValue = Math.min(100, Math.max(0, value || 0));\n \n return (\n <View\n ref={ref}\n {...({ className: cn(\"relative h-2 w-full overflow-hidden rounded-full bg-primary/20\", className) } as any)}\n {...props}\n >\n <View \n {...({ className: \"h-full bg-primary flex-1 transition-all\" } as any)}\n style={{ width: `${boundedValue}%` }}\n />\n </View>\n )\n }\n)\nProgress.displayName = \"Progress\"\n\nexport { Progress }\n","import { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type PressableProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst TabsContext = React.createContext<{\n value: string\n onValueChange: (value: string) => void\n} | null>(null)\n\nexport interface TabsProps extends ViewProps {\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n className?: string\n}\n\nfunction Tabs({ value: controlledValue, defaultValue, onValueChange, className, children, ...props }: TabsProps) {\n const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue || \"\")\n \n const value = controlledValue !== undefined ? controlledValue : uncontrolledValue\n const handleValueChange = React.useCallback(\n (newValue: string) => {\n setUncontrolledValue(newValue)\n onValueChange?.(newValue)\n },\n [onValueChange]\n )\n\n return (\n <TabsContext.Provider value={{ value, onValueChange: handleValueChange }}>\n <View {...({ className } as any)} {...props}>\n {children}\n </View>\n </TabsContext.Provider>\n )\n}\n\nfunction useTabsContext() {\n const context = React.useContext(TabsContext)\n if (!context) {\n throw new Error(\"Tabs compound components must be rendered within the Tabs component\")\n }\n return context\n}\n\nconst TabsList = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex-row items-center justify-center rounded-md bg-muted p-1 text-muted-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nTabsList.displayName = \"TabsList\"\n\nconst TabsTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, PressableProps & { value: string; className?: string; textClassName?: string }>(\n ({ className, textClassName, value, children, ...props }, ref) => {\n const context = useTabsContext()\n const isSelected = context.value === value\n\n return (\n <Pressable\n ref={ref}\n onPress={() => context.onValueChange(value)}\n {...({ className: cn(\n \"flex-1 items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5\",\n isSelected ? \"bg-background shadow-sm\" : \"bg-transparent\",\n className\n ) } as any)}\n {...props}\n >\n {typeof children === 'string' ? (\n <Text {...({ className: cn(\"text-sm font-medium transition-all\", isSelected ? \"text-foreground\" : \"text-muted-foreground\", textClassName) } as any)}>\n {children}\n </Text>\n ) : (\n children\n )}\n </Pressable>\n )\n }\n)\nTabsTrigger.displayName = \"TabsTrigger\"\n\nconst TabsContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { value: string; className?: string }>(\n ({ className, value, children, ...props }, ref) => {\n const context = useTabsContext()\n\n if (context.value !== value) {\n return null\n }\n\n return (\n <View\n ref={ref}\n {...({ className: cn(\"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n )\n }\n)\nTabsContent.displayName = \"TabsContent\"\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n","import { View, Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst Table = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View {...({ className: \"w-full overflow-hidden\" } as any)}>\n <View\n ref={ref}\n {...({ className: cn(\"w-full text-sm\", className) } as any)}\n {...props}\n />\n </View>\n )\n)\nTable.displayName = \"Table\"\n\nconst TableHeader = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"flex flex-row items-center border-b border-border bg-muted/50\", className) } as any)} {...props} />\n )\n)\nTableHeader.displayName = \"TableHeader\"\n\nconst TableBody = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-col [&_>_view:last-child]:border-0\", className) } as any)}\n {...props}\n />\n )\n)\nTableBody.displayName = \"TableBody\"\n\nconst TableRow = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\n \"flex flex-row items-center border-b border-border transition-colors hover:bg-muted/50\",\n className\n ) } as any)}\n {...props}\n />\n )\n)\nTableRow.displayName = \"TableRow\"\n\nconst TableHead = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\n \"h-12 px-4 flex justify-center text-left align-middle font-medium text-muted-foreground\",\n className\n ) } as any)}\n {...props}\n >\n {typeof children === 'string' ? <Text {...({ className: \"font-semibold text-muted-foreground text-sm\" } as any)}>{children}</Text> : children}\n </View>\n )\n)\nTableHead.displayName = \"TableHead\"\n\nconst TableCell = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"p-4 align-middle\", className) } as any)}\n {...props}\n >\n {typeof children === 'string' ? <Text {...({ className: \"text-foreground text-sm\" } as any)}>{children}</Text> : children}\n </View>\n )\n)\nTableCell.displayName = \"TableCell\"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell}\n","import { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ModalProps, type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface DialogProps extends ModalProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: React.ReactNode;\n}\n\nconst DialogContext = React.createContext<{\n open: boolean;\n onOpenChange: (open: boolean) => void;\n} | null>(null)\n\nfunction useDialog() {\n const context = React.useContext(DialogContext)\n if (!context) throw new Error(\"Dialog components must be used within a Dialog\")\n return context\n}\n\nfunction Dialog({ open = false, onOpenChange, children, ...props }: DialogProps) {\n const [isOpen, setIsOpen] = React.useState(open)\n const isControlled = onOpenChange !== undefined\n \n const currentOpen = isControlled ? open : isOpen\n const setCurrentOpen = React.useCallback((val: boolean) => {\n if (!isControlled) setIsOpen(val)\n onOpenChange?.(val)\n }, [isControlled, onOpenChange])\n\n return (\n <DialogContext.Provider value={{ open: currentOpen, onOpenChange: setCurrentOpen }}>\n {children}\n </DialogContext.Provider>\n )\n}\n\nconst DialogTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const { onOpenChange } = useDialog()\n return (\n <Pressable ref={ref} onPress={(e) => { onOpenChange(true); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nDialogTrigger.displayName = \"DialogTrigger\"\n\nconst DialogContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const { open, onOpenChange } = useDialog()\n\n return (\n <Modal\n visible={open}\n transparent={true}\n animationType=\"fade\"\n onRequestClose={() => onOpenChange(false)}\n >\n <View {...({ className: \"flex-1 items-center justify-center bg-black/80\" } as any)}>\n <View\n ref={ref}\n {...({ className: cn(\"w-full max-w-lg rounded-xl border border-border bg-background p-6 shadow-lg sm:rounded-[1rem]\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </View>\n </Modal>\n )\n }\n)\nDialogContent.displayName = \"DialogContent\"\n\nconst DialogHeader = ({ className, ...props }: ViewProps & { className?: string }) => (\n <View {...({ className: cn(\"flex flex-col space-y-1.5 text-center sm:text-left\", className) } as any)} {...props} />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({ className, ...props }: ViewProps & { className?: string }) => (\n <View {...({ className: cn(\"flex flex-row flex-wrap items-center justify-end space-x-2 mt-4\", className) } as any)} {...props} />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"text-lg font-semibold leading-none tracking-tight text-foreground\", className) } as any)} {...props} />\n )\n)\nDialogTitle.displayName = \"DialogTitle\"\n\nconst DialogDescription = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"text-sm text-muted-foreground\", className) } as any)} {...props} />\n )\n)\nDialogDescription.displayName = \"DialogDescription\"\n\nexport {\n Dialog,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription}\n","import { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface DropdownMenuProps {\n children: React.ReactNode;\n}\n\nconst DropdownContext = React.createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null)\n\nfunction DropdownMenu({ children }: DropdownMenuProps) {\n const [open, setOpen] = React.useState(false)\n return (\n <DropdownContext.Provider value={{ open, setOpen }}>\n <View {...({ className: \"relative\" } as any)}>\n {children}\n </View>\n </DropdownContext.Provider>\n )\n}\n\nconst DropdownMenuTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n return (\n <Pressable ref={ref} onPress={(e) => { context?.setOpen(!context.open); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nDropdownMenuTrigger.displayName = \"DropdownMenuTrigger\"\n\nconst DropdownMenuContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n if (!context?.open) return null\n\n return (\n <Modal visible={context.open} transparent={true} animationType=\"fade\" onRequestClose={() => context.setOpen(false)}>\n <Pressable \n onPress={() => context.setOpen(false)} \n {...({ className: \"flex-1 bg-black/10 justify-end sm:justify-center items-center\" } as any)}\n >\n <Pressable onPress={(e) => e.stopPropagation()}>\n <View\n ref={ref}\n {...({ className: cn(\"z-50 min-w-[8rem] overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 zoom-in-95\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </Pressable>\n </Pressable>\n </Modal>\n )\n }\n)\nDropdownMenuContent.displayName = \"DropdownMenuContent\"\n\nconst DropdownMenuItem = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable> & { className?: string; textClassName?: string }>(\n ({ className, textClassName, onPress, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n return (\n <Pressable\n ref={ref}\n onPress={(e) => { context?.setOpen(false); onPress?.(e); (props as any).onClick?.(e) }}\n {...({ className: cn(\"relative flex-row items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent focus:bg-accent\", className) } as any)}\n {...props}\n >\n {typeof children === 'string' ? (\n <Text {...({ className: cn(\"text-foreground\", textClassName) } as any)}>{children}</Text>\n ) : children}\n </Pressable>\n )\n }\n)\nDropdownMenuItem.displayName = \"DropdownMenuItem\"\n\nconst DropdownMenuLabel = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"px-2 py-1.5 text-sm font-semibold text-foreground\", className) } as any)} {...props} />\n )\n)\nDropdownMenuLabel.displayName = \"DropdownMenuLabel\"\n\nconst DropdownMenuSeparator = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"-mx-1 my-1 h-px bg-muted\", className) } as any)} {...props} />\n )\n)\nDropdownMenuSeparator.displayName = \"DropdownMenuSeparator\"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator}\n","import { View, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface PopoverProps {\n children: React.ReactNode;\n}\n\nconst PopoverContext = React.createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null)\n\nfunction Popover({ children }: PopoverProps) {\n const [open, setOpen] = React.useState(false)\n return (\n <PopoverContext.Provider value={{ open, setOpen }}>\n <View {...({ className: \"relative\" } as any)}>\n {children}\n </View>\n </PopoverContext.Provider>\n )\n}\n\nconst PopoverTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const context = React.useContext(PopoverContext)\n return (\n <Pressable ref={ref} onPress={(e) => { context?.setOpen(!context.open); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nPopoverTrigger.displayName = \"PopoverTrigger\"\n\nconst PopoverContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const context = React.useContext(PopoverContext)\n if (!context?.open) return null\n\n return (\n <Modal visible={context.open} transparent={true} animationType=\"fade\" onRequestClose={() => context.setOpen(false)}>\n <Pressable \n onPress={() => context.setOpen(false)} \n {...({ className: \"flex-1 bg-transparent justify-center items-center\" } as any)}\n >\n <Pressable onPress={(e) => e.stopPropagation()}>\n <View\n ref={ref}\n {...({ className: cn(\"z-50 w-72 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </Pressable>\n </Pressable>\n </Modal>\n )\n }\n)\nPopoverContent.displayName = \"PopoverContent\"\n\nexport { Popover, PopoverTrigger, PopoverContent }\n"],"mappings":"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","names":["RNView","RNText","RNPressable","RNTextInput","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","React","import_react_native","import_jsx_runtime","NativeSwitch","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_react_native","import_jsx_runtime","React","import_react_native","import_jsx_runtime","React","import_react_native","import_jsx_runtime"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/lib/primitives.tsx","../src/lib/utils.ts","../src/components/ui/button.tsx","../src/components/ui/card.tsx","../src/components/ui/input.tsx","../src/components/ui/label.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/switch.tsx","../src/components/ui/progress.tsx","../src/components/ui/tabs.tsx","../src/components/ui/table.tsx","../src/components/ui/dialog.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/popover.tsx","../src/components/ui/sidebar.tsx","../src/components/ui/theme-provider.tsx"],"sourcesContent":["export * from \"./components/ui/button\";\nexport * from \"./components/ui/card\";\nexport * from \"./components/ui/input\";\nexport * from \"./components/ui/label\";\nexport * from \"./components/ui/skeleton\";\nexport * from \"./components/ui/switch\";\nexport * from \"./components/ui/progress\";\nexport * from \"./components/ui/tabs\";\nexport * from \"./components/ui/table\";\nexport * from \"./components/ui/dialog\";\nexport * from \"./components/ui/dropdown-menu\";\nexport * from \"./components/ui/popover\";\nexport * from \"./components/ui/sidebar\";\nexport * from \"./components/ui/theme-provider\";\nexport * from \"./lib/utils\";\n","import * as React from \"react\";\nimport { Platform, View as RNView, Text as RNText, Pressable as RNPressable, TextInput as RNTextInput } from \"react-native\";\nimport type { ViewProps, TextProps, PressableProps, TextInputProps } from \"react-native\";\n\nimport { cn } from \"./utils\";\n\nexport const View = React.forwardRef<any, ViewProps & { className?: string }>(({ className, style, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"div\" as any;\n return <C ref={ref} className={cn(\"flex flex-col items-stretch justify-start min-w-0 min-h-0 relative\", className)} style={style as any} {...props as any} />;\n // Note: removed inline styles that override tailwind classes\n }\n return <RNView ref={ref} className={className} style={style} {...props} />;\n});\nView.displayName = \"View\";\n\nexport const Text = React.forwardRef<any, TextProps & { className?: string }>(({ className, style, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"span\" as any;\n return <C ref={ref} className={cn(\"inline m-0 p-0\", className)} style={style as any} {...props as any} />;\n }\n return <RNText ref={ref} className={className} style={style} {...props} />;\n});\nText.displayName = \"Text\";\n\nexport const Pressable = React.forwardRef<any, PressableProps & { className?: string, onClick?: any }>(({ className, style, onPress, onClick, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"button\" as any;\n return <C ref={ref} type=\"button\" onClick={onPress || onClick} className={cn(\"flex flex-col items-stretch justify-start bg-transparent border-none p-0 m-0 cursor-pointer outline-none relative\", className)} style={style as any} {...props as any} />;\n }\n return <RNPressable ref={ref} onPress={onPress || onClick} className={className} style={style} {...props} />;\n});\nPressable.displayName = \"Pressable\";\n\nexport const TextInput = React.forwardRef<any, TextInputProps & { className?: string, onChange?: any }>(({ className, style, onChangeText, onChange, value, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"input\" as any;\n return <C ref={ref} value={value} onChange={(e: any) => { onChangeText?.(e.target.value); onChange?.(e); }} className={className} style={{ ...(style as any) }} {...props as any} />;\n }\n return <RNTextInput ref={ref} value={value} onChangeText={onChangeText} onChange={onChange} className={className} style={style} {...props} />;\n});\nTextInput.displayName = \"TextInput\";\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","\"use client\";\nimport { Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type PressableProps, type TextProps } from \"react-native\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"flex flex-row items-center justify-center gap-2 rounded-md font-medium transition-all\",\n {\n variants: {\n variant: {\n default: \"bg-primary hover:bg-primary/90\",\n destructive: \"bg-danger hover:bg-danger/90\",\n outline: \"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"underline-offset-4 hover:underline\"},\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3\",\n lg: \"h-10 rounded-md px-6\",\n icon: \"h-9 w-9\"}},\n defaultVariants: {\n variant: \"default\",\n size: \"default\"}}\n)\n\nconst buttonTextVariants = cva(\n \"font-medium\",\n {\n variants: {\n variant: {\n default: \"text-primary-foreground\",\n destructive: \"text-white\",\n outline: \"text-foreground\",\n secondary: \"text-secondary-foreground\",\n ghost: \"text-foreground\",\n link: \"text-primary\"}},\n defaultVariants: {\n variant: \"default\"}}\n)\n\nexport interface ButtonProps\n extends PressableProps,\n VariantProps<typeof buttonVariants> {\n children: React.ReactNode;\n className?: string;\n textClassName?: string;\n onClick?: (event: any) => void;\n}\n\nconst Button = React.forwardRef<React.ElementRef<typeof Pressable>, ButtonProps>(\n ({ className, variant, size, children, textClassName, onClick, onPress, ...props }, ref) => {\n return (\n <Pressable onPress={onPress || onClick}\n ref={ref}\n {...({ className: cn(buttonVariants({ variant, size }), className) } as any)}\n {...props}\n >\n {React.Children.map(children, (child) => \n typeof child === 'string' || typeof child === 'number' ? (\n <Text {...({ className: cn(buttonTextVariants({ variant }), textClassName) } as any)}>{child}</Text>\n ) : (\n child\n )\n )}\n </Pressable>\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants, buttonTextVariants }\n\n","\"use client\";\nimport { View, Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst Card = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string; onClick?: React.MouseEventHandler<HTMLDivElement>; onPress?: any }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"rounded-xl border border-border bg-card/60 backdrop-blur-xl shadow-sm dark:bg-card/40\", className) } as any)}\n {...props}\n />\n )\n)\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-col space-y-1.5 p-6\", className) } as any)}\n {...props}\n />\n )\n)\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(\"font-semibold text-lg leading-none tracking-tight text-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(\"text-sm text-muted-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"p-6 pt-0\", className) } as any)} {...props} />\n )\n)\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-row items-center p-6 pt-0\", className) } as any)}\n {...props}\n />\n )\n)\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n\n","\"use client\";\nimport { TextInput } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type TextInputProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface InputProps extends TextInputProps {\n className?: string;\n}\n\nconst Input = React.forwardRef<React.ElementRef<typeof TextInput>, InputProps>(\n ({ className, ...props }, ref) => {\n return (\n <TextInput\n ref={ref}\n placeholderTextColor=\"#a3a3a3\" // gray-400 equivalent for default placeholder\n {...({ className: cn(\"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm text-foreground\", className) } as any)}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n\n","\"use client\";\nimport { Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none text-foreground peer-disabled:opacity-70\",\n {\n variants: {},\n defaultVariants: {}}\n)\n\nexport interface LabelProps extends TextProps, VariantProps<typeof labelVariants> {\n className?: string;\n}\n\nconst Label = React.forwardRef<React.ElementRef<typeof Text>, LabelProps>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(labelVariants(), className) } as any)}\n {...props}\n />\n )\n)\nLabel.displayName = \"Label\"\n\nexport { Label }\n\n","\"use client\";\nimport { View } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface SkeletonProps extends ViewProps {\n className?: string;\n}\n\nfunction Skeleton({ className, ...props }: SkeletonProps) {\n return (\n <View\n {...({ className: cn(\"animate-pulse rounded-md bg-primary/10\", className) } as any)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n\n","\"use client\";\nimport * as React from \"react\"\nimport { Switch as NativeSwitch, type SwitchProps as NativeSwitchProps } from \"react-native\"\n\nexport interface SwitchProps extends NativeSwitchProps {\n onCheckedChange?: (checked: boolean) => void;\n checked?: boolean;\n onChange?: (event: any) => void;\n className?: string; // Kept for interface compatibility, though Native Switch styling is limited via className\n}\n\nconst Switch = React.forwardRef<React.ElementRef<typeof NativeSwitch>, SwitchProps>(\n ({ className, onCheckedChange, onChange, onValueChange, checked, value, ...props }, ref) => {\n return (\n <NativeSwitch value={checked !== undefined ? checked : value} onValueChange={(val) => { onValueChange?.(val); onCheckedChange?.(val); onChange?.(val); }}\n ref={ref}\n {...props}\n />\n )\n }\n)\nSwitch.displayName = \"Switch\"\n\nexport { Switch }\n\n","\"use client\";\nimport { View } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface ProgressProps extends ViewProps {\n className?: string;\n value?: number;\n}\n\nconst Progress = React.forwardRef<React.ElementRef<typeof View>, ProgressProps>(\n ({ className, value = 0, ...props }, ref) => {\n // Ensure value is between 0 and 100\n const boundedValue = Math.min(100, Math.max(0, value || 0));\n \n return (\n <View\n ref={ref}\n {...({ className: cn(\"relative h-2 w-full overflow-hidden rounded-full bg-primary/20\", className) } as any)}\n {...props}\n >\n <View \n {...({ className: \"h-full bg-primary flex-1 transition-all\" } as any)}\n style={{ width: `${boundedValue}%` }}\n />\n </View>\n )\n }\n)\nProgress.displayName = \"Progress\"\n\nexport { Progress }\n\n","\"use client\";\nimport { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type PressableProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst TabsContext = React.createContext<{\n value: string\n onValueChange: (value: string) => void\n} | null>(null)\n\nexport interface TabsProps extends ViewProps {\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n className?: string\n}\n\nfunction Tabs({ value: controlledValue, defaultValue, onValueChange, className, children, ...props }: TabsProps) {\n const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue || \"\")\n \n const value = controlledValue !== undefined ? controlledValue : uncontrolledValue\n const handleValueChange = React.useCallback(\n (newValue: string) => {\n setUncontrolledValue(newValue)\n onValueChange?.(newValue)\n },\n [onValueChange]\n )\n\n return (\n <TabsContext.Provider value={{ value, onValueChange: handleValueChange }}>\n <View {...({ className } as any)} {...props}>\n {children}\n </View>\n </TabsContext.Provider>\n )\n}\n\nfunction useTabsContext() {\n const context = React.useContext(TabsContext)\n if (!context) {\n throw new Error(\"Tabs compound components must be rendered within the Tabs component\")\n }\n return context\n}\n\nconst TabsList = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex-row items-center justify-center rounded-md bg-muted p-1 text-muted-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nTabsList.displayName = \"TabsList\"\n\nconst TabsTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, PressableProps & { value: string; className?: string; textClassName?: string }>(\n ({ className, textClassName, value, children, ...props }, ref) => {\n const context = useTabsContext()\n const isSelected = context.value === value\n\n return (\n <Pressable\n ref={ref}\n onPress={() => context.onValueChange(value)}\n {...({ className: cn(\n \"flex-1 items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5\",\n isSelected ? \"bg-background shadow-sm\" : \"bg-transparent\",\n className\n ) } as any)}\n {...props}\n >\n {typeof children === 'string' ? (\n <Text {...({ className: cn(\"text-sm font-medium transition-all\", isSelected ? \"text-foreground\" : \"text-muted-foreground\", textClassName) } as any)}>\n {children}\n </Text>\n ) : (\n children\n )}\n </Pressable>\n )\n }\n)\nTabsTrigger.displayName = \"TabsTrigger\"\n\nconst TabsContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { value: string; className?: string }>(\n ({ className, value, children, ...props }, ref) => {\n const context = useTabsContext()\n\n if (context.value !== value) {\n return null\n }\n\n return (\n <View\n ref={ref}\n {...({ className: cn(\"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n )\n }\n)\nTabsContent.displayName = \"TabsContent\"\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n\n","\"use client\";\nimport { View, Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst Table = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View {...({ className: \"w-full overflow-hidden\" } as any)}>\n <View\n ref={ref}\n {...({ className: cn(\"w-full text-sm\", className) } as any)}\n {...props}\n />\n </View>\n )\n)\nTable.displayName = \"Table\"\n\nconst TableHeader = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"flex flex-row items-center border-b border-border bg-muted/50\", className) } as any)} {...props} />\n )\n)\nTableHeader.displayName = \"TableHeader\"\n\nconst TableBody = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-col [&_>_view:last-child]:border-0\", className) } as any)}\n {...props}\n />\n )\n)\nTableBody.displayName = \"TableBody\"\n\nconst TableRow = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\n \"flex flex-row items-center border-b border-border transition-colors hover:bg-muted/50\",\n className\n ) } as any)}\n {...props}\n />\n )\n)\nTableRow.displayName = \"TableRow\"\n\nconst TableHead = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\n \"h-12 px-4 flex justify-center text-left align-middle font-medium text-muted-foreground\",\n className\n ) } as any)}\n {...props}\n >\n {typeof children === 'string' ? <Text {...({ className: \"font-semibold text-muted-foreground text-sm\" } as any)}>{children}</Text> : children}\n </View>\n )\n)\nTableHead.displayName = \"TableHead\"\n\nconst TableCell = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"p-4 align-middle\", className) } as any)}\n {...props}\n >\n {typeof children === 'string' ? <Text {...({ className: \"text-foreground text-sm\" } as any)}>{children}</Text> : children}\n </View>\n )\n)\nTableCell.displayName = \"TableCell\"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell}\n\n","\"use client\";\nimport { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ModalProps, type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface DialogProps extends ModalProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: React.ReactNode;\n}\n\nconst DialogContext = React.createContext<{\n open: boolean;\n onOpenChange: (open: boolean) => void;\n} | null>(null)\n\nfunction useDialog() {\n const context = React.useContext(DialogContext)\n if (!context) throw new Error(\"Dialog components must be used within a Dialog\")\n return context\n}\n\nfunction Dialog({ open = false, onOpenChange, children, ...props }: DialogProps) {\n const [isOpen, setIsOpen] = React.useState(open)\n const isControlled = onOpenChange !== undefined\n \n const currentOpen = isControlled ? open : isOpen\n const setCurrentOpen = React.useCallback((val: boolean) => {\n if (!isControlled) setIsOpen(val)\n onOpenChange?.(val)\n }, [isControlled, onOpenChange])\n\n return (\n <DialogContext.Provider value={{ open: currentOpen, onOpenChange: setCurrentOpen }}>\n {children}\n </DialogContext.Provider>\n )\n}\n\nconst DialogTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const { onOpenChange } = useDialog()\n return (\n <Pressable ref={ref} onPress={(e) => { onOpenChange(true); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nDialogTrigger.displayName = \"DialogTrigger\"\n\nconst DialogContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const { open, onOpenChange } = useDialog()\n\n return (\n <Modal\n visible={open}\n transparent={true}\n animationType=\"fade\"\n onRequestClose={() => onOpenChange(false)}\n >\n <View {...({ className: \"flex-1 items-center justify-center bg-black/80\" } as any)}>\n <View\n ref={ref}\n {...({ className: cn(\"w-full max-w-lg rounded-xl border border-border bg-background p-6 shadow-lg sm:rounded-[1rem]\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </View>\n </Modal>\n )\n }\n)\nDialogContent.displayName = \"DialogContent\"\n\nconst DialogHeader = ({ className, ...props }: ViewProps & { className?: string }) => (\n <View {...({ className: cn(\"flex flex-col space-y-1.5 text-center sm:text-left\", className) } as any)} {...props} />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({ className, ...props }: ViewProps & { className?: string }) => (\n <View {...({ className: cn(\"flex flex-row flex-wrap items-center justify-end space-x-2 mt-4\", className) } as any)} {...props} />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"text-lg font-semibold leading-none tracking-tight text-foreground\", className) } as any)} {...props} />\n )\n)\nDialogTitle.displayName = \"DialogTitle\"\n\nconst DialogDescription = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"text-sm text-muted-foreground\", className) } as any)} {...props} />\n )\n)\nDialogDescription.displayName = \"DialogDescription\"\n\nexport {\n Dialog,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription}\n\n","\"use client\";\nimport { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface DropdownMenuProps {\n children: React.ReactNode;\n}\n\nconst DropdownContext = React.createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null)\n\nfunction DropdownMenu({ children }: DropdownMenuProps) {\n const [open, setOpen] = React.useState(false)\n return (\n <DropdownContext.Provider value={{ open, setOpen }}>\n <View {...({ className: \"relative\" } as any)}>\n {children}\n </View>\n </DropdownContext.Provider>\n )\n}\n\nconst DropdownMenuTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n return (\n <Pressable ref={ref} onPress={(e) => { context?.setOpen(!context.open); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nDropdownMenuTrigger.displayName = \"DropdownMenuTrigger\"\n\nconst DropdownMenuContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n if (!context?.open) return null\n\n return (\n <Modal visible={context.open} transparent={true} animationType=\"fade\" onRequestClose={() => context.setOpen(false)}>\n <Pressable \n onPress={() => context.setOpen(false)} \n {...({ className: \"flex-1 bg-black/10 justify-end sm:justify-center items-center\" } as any)}\n >\n <Pressable onPress={(e) => e.stopPropagation()}>\n <View\n ref={ref}\n {...({ className: cn(\"z-50 min-w-[8rem] overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 zoom-in-95\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </Pressable>\n </Pressable>\n </Modal>\n )\n }\n)\nDropdownMenuContent.displayName = \"DropdownMenuContent\"\n\nconst DropdownMenuItem = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable> & { className?: string; textClassName?: string }>(\n ({ className, textClassName, onPress, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n return (\n <Pressable\n ref={ref}\n onPress={(e) => { context?.setOpen(false); onPress?.(e); (props as any).onClick?.(e) }}\n {...({ className: cn(\"relative flex-row items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent focus:bg-accent\", className) } as any)}\n {...props}\n >\n {typeof children === 'string' ? (\n <Text {...({ className: cn(\"text-foreground\", textClassName) } as any)}>{children}</Text>\n ) : children}\n </Pressable>\n )\n }\n)\nDropdownMenuItem.displayName = \"DropdownMenuItem\"\n\nconst DropdownMenuLabel = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"px-2 py-1.5 text-sm font-semibold text-foreground\", className) } as any)} {...props} />\n )\n)\nDropdownMenuLabel.displayName = \"DropdownMenuLabel\"\n\nconst DropdownMenuSeparator = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"-mx-1 my-1 h-px bg-muted\", className) } as any)} {...props} />\n )\n)\nDropdownMenuSeparator.displayName = \"DropdownMenuSeparator\"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator}\n\n","\"use client\";\nimport { View, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface PopoverProps {\n children: React.ReactNode;\n}\n\nconst PopoverContext = React.createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null)\n\nfunction Popover({ children }: PopoverProps) {\n const [open, setOpen] = React.useState(false)\n return (\n <PopoverContext.Provider value={{ open, setOpen }}>\n <View {...({ className: \"relative\" } as any)}>\n {children}\n </View>\n </PopoverContext.Provider>\n )\n}\n\nconst PopoverTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const context = React.useContext(PopoverContext)\n return (\n <Pressable ref={ref} onPress={(e) => { context?.setOpen(!context.open); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nPopoverTrigger.displayName = \"PopoverTrigger\"\n\nconst PopoverContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const context = React.useContext(PopoverContext)\n if (!context?.open) return null\n\n return (\n <Modal visible={context.open} transparent={true} animationType=\"fade\" onRequestClose={() => context.setOpen(false)}>\n <Pressable \n onPress={() => context.setOpen(false)} \n {...({ className: \"flex-1 bg-transparent justify-center items-center\" } as any)}\n >\n <Pressable onPress={(e) => e.stopPropagation()}>\n <View\n ref={ref}\n {...({ className: cn(\"z-50 w-72 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </Pressable>\n </Pressable>\n </Modal>\n )\n }\n)\nPopoverContent.displayName = \"PopoverContent\"\n\nexport { Popover, PopoverTrigger, PopoverContent }\n\n","\"use client\";\nimport * as React from \"react\"\nimport { cn } from \"../../lib/utils\"\n\nconst SidebarContext = React.createContext<{\n isOpen: boolean\n setIsOpen: (open: boolean) => void\n} | null>(null)\n\nexport function useSidebar() {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider\")\n }\n return context\n}\n\nexport interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {\n isOpen?: boolean\n onOpenChange?: (open: boolean) => void\n side?: \"left\" | \"right\"\n}\n\nexport const Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>(\n ({ className, isOpen = true, onOpenChange, side = \"left\", children, ...props }, ref) => {\n const [internalOpen, setInternalOpen] = React.useState(isOpen)\n const isControlled = onOpenChange !== undefined\n const openState = isControlled ? isOpen : internalOpen\n\n const handleToggle = React.useCallback((open: boolean) => {\n if (isControlled) {\n onOpenChange(open)\n } else {\n setInternalOpen(open)\n }\n }, [isControlled, onOpenChange])\n\n return (\n <SidebarContext.Provider value={{ isOpen: openState, setIsOpen: handleToggle }}>\n <aside\n ref={ref}\n data-state={openState ? \"expanded\" : \"collapsed\"}\n className={cn(\n \"fixed top-4 z-50 hidden h-[calc(100vh-2rem)] flex-col rounded-[24px] border border-sidebar-border bg-sidebar text-sidebar-foreground shadow-lg dark:shadow-[0_8px_32px_rgba(0,0,0,0.3)] transition-all duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)] md:flex\",\n openState ? \"overflow-hidden w-[280px]\" : \"overflow-visible w-[72px]\",\n side === \"left\" ? \"left-4\" : \"right-4\",\n className\n )}\n {...props}\n >\n {children}\n </aside>\n </SidebarContext.Provider>\n )\n }\n)\nSidebar.displayName = \"Sidebar\"\n\nexport const SidebarHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { isOpen } = useSidebar()\n return (\n <div\n ref={ref}\n className={cn(\n \"flex flex-col border-b border-sidebar-border shrink-0\",\n isOpen ? \"px-4 pb-4 pt-5\" : \"px-3.5 py-4\",\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarHeader.displayName = \"SidebarHeader\"\n\nexport const SidebarContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { isOpen } = useSidebar()\n return (\n <div\n ref={ref}\n style={{ overflowY: \"auto\", overflowX: \"hidden\" }}\n className={cn(\n \"min-h-0 flex-1\",\n isOpen ? \"px-3 py-4\" : \"px-2 py-4 items-center\",\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarContent.displayName = \"SidebarContent\"\n\nexport const SidebarGroup = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"flex flex-col gap-1 w-full\", className)}\n {...props}\n />\n )\n }\n)\nSidebarGroup.displayName = \"SidebarGroup\"\n\nexport const SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { isOpen } = useSidebar()\n if (!isOpen) return null\n return (\n <div\n ref={ref}\n className={cn(\"px-3 mb-1 mt-4 text-[10px] font-bold uppercase tracking-[0.1em] text-sidebar-foreground/50\", className)}\n {...props}\n />\n )\n }\n)\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\"\n\nexport interface SidebarItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n icon?: React.ReactNode\n isActive?: boolean\n label?: React.ReactNode\n rightElement?: React.ReactNode\n}\n\nexport const SidebarItem = React.forwardRef<HTMLButtonElement, SidebarItemProps>(\n ({ className, icon, isActive, label, rightElement, ...props }, ref) => {\n const { isOpen } = useSidebar()\n return (\n <button\n ref={ref}\n data-active={isActive}\n className={cn(\n \"group relative flex items-center rounded-xl transition-all duration-150 w-full hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n isOpen ? \"gap-3 px-3 py-2 justify-start text-sm\" : \"justify-center p-3 h-11 w-11 mt-1\",\n isActive \n ? \"bg-sidebar-accent border border-sidebar-border text-info font-semibold shadow-sm\" \n : \"text-sidebar-foreground/70 border border-transparent\",\n className\n )}\n {...props}\n >\n <div className={cn(\"shrink-0\", isActive ? \"text-info\" : \"text-sidebar-foreground/60 group-hover:text-sidebar-foreground\")}>\n {icon}\n </div>\n {isOpen && label && (\n <span className={cn(\"truncate flex-1 text-left\", isActive ? \"font-semibold\" : \"font-medium\")}>\n {label}\n </span>\n )}\n {isOpen && rightElement && (\n <div className=\"shrink-0\">\n {rightElement}\n </div>\n )}\n {!isOpen && label && (\n <div className=\"absolute left-full ml-4 hidden group-hover:block z-50 px-3 py-1.5 rounded-lg bg-gray-900 text-white dark:bg-gray-100 dark:text-gray-900 text-xs font-medium whitespace-nowrap shadow-xl\">\n {label}\n <div className=\"absolute left-0 top-1/2 -translate-x-1 -translate-y-1/2 w-2 h-2 bg-gray-900 dark:bg-gray-100 rotate-45\"></div>\n </div>\n )}\n </button>\n )\n }\n)\nSidebarItem.displayName = \"SidebarItem\"\n\nexport const SidebarFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { isOpen } = useSidebar()\n return (\n <div\n ref={ref}\n className={cn(\n \"shrink-0 border-t border-sidebar-border bg-sidebar-accent/30 backdrop-blur-md\",\n isOpen ? \"p-4\" : \"p-3 flex justify-center\",\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarFooter.displayName = \"SidebarFooter\"","\"use client\";\n\nimport * as React from \"react\";\nimport { ThemeProvider as NextThemesProvider, type ThemeProviderProps } from \"next-themes\";\n\nexport function ThemeProvider({ children, ...props }: ThemeProviderProps) {\n React.useEffect(() => {\n const legacyDarkTheme = [\"mid\", \"night\"].join(\"\");\n if (window.localStorage.getItem(\"theme\") === legacyDarkTheme) {\n window.localStorage.setItem(\"theme\", \"dark\");\n }\n }, []);\n\n return <NextThemesProvider {...props}>{children}</NextThemesProvider>;\n}\n\nexport { useTheme } from \"next-themes\";\n"],"mappings":"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","names":["RNView","RNText","RNPressable","RNTextInput","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","React","import_react_native","import_jsx_runtime","NativeSwitch","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_react_native","import_jsx_runtime","React","import_react_native","import_jsx_runtime","React","import_react_native","import_jsx_runtime","React","import_jsx_runtime","React","import_next_themes","import_jsx_runtime","NextThemesProvider"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
// src/lib/primitives.tsx
|
|
2
4
|
import * as React from "react";
|
|
3
5
|
import { Platform, View as RNView, Text as RNText, Pressable as RNPressable, TextInput as RNTextInput } from "react-native";
|
|
@@ -609,6 +611,175 @@ var PopoverContent = React12.forwardRef(
|
|
|
609
611
|
}
|
|
610
612
|
);
|
|
611
613
|
PopoverContent.displayName = "PopoverContent";
|
|
614
|
+
|
|
615
|
+
// src/components/ui/sidebar.tsx
|
|
616
|
+
import * as React13 from "react";
|
|
617
|
+
import { jsx as jsx14, jsxs } from "react/jsx-runtime";
|
|
618
|
+
var SidebarContext = React13.createContext(null);
|
|
619
|
+
function useSidebar() {
|
|
620
|
+
const context = React13.useContext(SidebarContext);
|
|
621
|
+
if (!context) {
|
|
622
|
+
throw new Error("useSidebar must be used within a SidebarProvider");
|
|
623
|
+
}
|
|
624
|
+
return context;
|
|
625
|
+
}
|
|
626
|
+
var Sidebar = React13.forwardRef(
|
|
627
|
+
({ className, isOpen = true, onOpenChange, side = "left", children, ...props }, ref) => {
|
|
628
|
+
const [internalOpen, setInternalOpen] = React13.useState(isOpen);
|
|
629
|
+
const isControlled = onOpenChange !== void 0;
|
|
630
|
+
const openState = isControlled ? isOpen : internalOpen;
|
|
631
|
+
const handleToggle = React13.useCallback((open) => {
|
|
632
|
+
if (isControlled) {
|
|
633
|
+
onOpenChange(open);
|
|
634
|
+
} else {
|
|
635
|
+
setInternalOpen(open);
|
|
636
|
+
}
|
|
637
|
+
}, [isControlled, onOpenChange]);
|
|
638
|
+
return /* @__PURE__ */ jsx14(SidebarContext.Provider, { value: { isOpen: openState, setIsOpen: handleToggle }, children: /* @__PURE__ */ jsx14(
|
|
639
|
+
"aside",
|
|
640
|
+
{
|
|
641
|
+
ref,
|
|
642
|
+
"data-state": openState ? "expanded" : "collapsed",
|
|
643
|
+
className: cn(
|
|
644
|
+
"fixed top-4 z-50 hidden h-[calc(100vh-2rem)] flex-col rounded-[24px] border border-sidebar-border bg-sidebar text-sidebar-foreground shadow-lg dark:shadow-[0_8px_32px_rgba(0,0,0,0.3)] transition-all duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)] md:flex",
|
|
645
|
+
openState ? "overflow-hidden w-[280px]" : "overflow-visible w-[72px]",
|
|
646
|
+
side === "left" ? "left-4" : "right-4",
|
|
647
|
+
className
|
|
648
|
+
),
|
|
649
|
+
...props,
|
|
650
|
+
children
|
|
651
|
+
}
|
|
652
|
+
) });
|
|
653
|
+
}
|
|
654
|
+
);
|
|
655
|
+
Sidebar.displayName = "Sidebar";
|
|
656
|
+
var SidebarHeader = React13.forwardRef(
|
|
657
|
+
({ className, ...props }, ref) => {
|
|
658
|
+
const { isOpen } = useSidebar();
|
|
659
|
+
return /* @__PURE__ */ jsx14(
|
|
660
|
+
"div",
|
|
661
|
+
{
|
|
662
|
+
ref,
|
|
663
|
+
className: cn(
|
|
664
|
+
"flex flex-col border-b border-sidebar-border shrink-0",
|
|
665
|
+
isOpen ? "px-4 pb-4 pt-5" : "px-3.5 py-4",
|
|
666
|
+
className
|
|
667
|
+
),
|
|
668
|
+
...props
|
|
669
|
+
}
|
|
670
|
+
);
|
|
671
|
+
}
|
|
672
|
+
);
|
|
673
|
+
SidebarHeader.displayName = "SidebarHeader";
|
|
674
|
+
var SidebarContent = React13.forwardRef(
|
|
675
|
+
({ className, ...props }, ref) => {
|
|
676
|
+
const { isOpen } = useSidebar();
|
|
677
|
+
return /* @__PURE__ */ jsx14(
|
|
678
|
+
"div",
|
|
679
|
+
{
|
|
680
|
+
ref,
|
|
681
|
+
style: { overflowY: "auto", overflowX: "hidden" },
|
|
682
|
+
className: cn(
|
|
683
|
+
"min-h-0 flex-1",
|
|
684
|
+
isOpen ? "px-3 py-4" : "px-2 py-4 items-center",
|
|
685
|
+
className
|
|
686
|
+
),
|
|
687
|
+
...props
|
|
688
|
+
}
|
|
689
|
+
);
|
|
690
|
+
}
|
|
691
|
+
);
|
|
692
|
+
SidebarContent.displayName = "SidebarContent";
|
|
693
|
+
var SidebarGroup = React13.forwardRef(
|
|
694
|
+
({ className, ...props }, ref) => {
|
|
695
|
+
return /* @__PURE__ */ jsx14(
|
|
696
|
+
"div",
|
|
697
|
+
{
|
|
698
|
+
ref,
|
|
699
|
+
className: cn("flex flex-col gap-1 w-full", className),
|
|
700
|
+
...props
|
|
701
|
+
}
|
|
702
|
+
);
|
|
703
|
+
}
|
|
704
|
+
);
|
|
705
|
+
SidebarGroup.displayName = "SidebarGroup";
|
|
706
|
+
var SidebarGroupLabel = React13.forwardRef(
|
|
707
|
+
({ className, ...props }, ref) => {
|
|
708
|
+
const { isOpen } = useSidebar();
|
|
709
|
+
if (!isOpen) return null;
|
|
710
|
+
return /* @__PURE__ */ jsx14(
|
|
711
|
+
"div",
|
|
712
|
+
{
|
|
713
|
+
ref,
|
|
714
|
+
className: cn("px-3 mb-1 mt-4 text-[10px] font-bold uppercase tracking-[0.1em] text-sidebar-foreground/50", className),
|
|
715
|
+
...props
|
|
716
|
+
}
|
|
717
|
+
);
|
|
718
|
+
}
|
|
719
|
+
);
|
|
720
|
+
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
721
|
+
var SidebarItem = React13.forwardRef(
|
|
722
|
+
({ className, icon, isActive, label, rightElement, ...props }, ref) => {
|
|
723
|
+
const { isOpen } = useSidebar();
|
|
724
|
+
return /* @__PURE__ */ jsxs(
|
|
725
|
+
"button",
|
|
726
|
+
{
|
|
727
|
+
ref,
|
|
728
|
+
"data-active": isActive,
|
|
729
|
+
className: cn(
|
|
730
|
+
"group relative flex items-center rounded-xl transition-all duration-150 w-full hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
731
|
+
isOpen ? "gap-3 px-3 py-2 justify-start text-sm" : "justify-center p-3 h-11 w-11 mt-1",
|
|
732
|
+
isActive ? "bg-sidebar-accent border border-sidebar-border text-info font-semibold shadow-sm" : "text-sidebar-foreground/70 border border-transparent",
|
|
733
|
+
className
|
|
734
|
+
),
|
|
735
|
+
...props,
|
|
736
|
+
children: [
|
|
737
|
+
/* @__PURE__ */ jsx14("div", { className: cn("shrink-0", isActive ? "text-info" : "text-sidebar-foreground/60 group-hover:text-sidebar-foreground"), children: icon }),
|
|
738
|
+
isOpen && label && /* @__PURE__ */ jsx14("span", { className: cn("truncate flex-1 text-left", isActive ? "font-semibold" : "font-medium"), children: label }),
|
|
739
|
+
isOpen && rightElement && /* @__PURE__ */ jsx14("div", { className: "shrink-0", children: rightElement }),
|
|
740
|
+
!isOpen && label && /* @__PURE__ */ jsxs("div", { className: "absolute left-full ml-4 hidden group-hover:block z-50 px-3 py-1.5 rounded-lg bg-gray-900 text-white dark:bg-gray-100 dark:text-gray-900 text-xs font-medium whitespace-nowrap shadow-xl", children: [
|
|
741
|
+
label,
|
|
742
|
+
/* @__PURE__ */ jsx14("div", { className: "absolute left-0 top-1/2 -translate-x-1 -translate-y-1/2 w-2 h-2 bg-gray-900 dark:bg-gray-100 rotate-45" })
|
|
743
|
+
] })
|
|
744
|
+
]
|
|
745
|
+
}
|
|
746
|
+
);
|
|
747
|
+
}
|
|
748
|
+
);
|
|
749
|
+
SidebarItem.displayName = "SidebarItem";
|
|
750
|
+
var SidebarFooter = React13.forwardRef(
|
|
751
|
+
({ className, ...props }, ref) => {
|
|
752
|
+
const { isOpen } = useSidebar();
|
|
753
|
+
return /* @__PURE__ */ jsx14(
|
|
754
|
+
"div",
|
|
755
|
+
{
|
|
756
|
+
ref,
|
|
757
|
+
className: cn(
|
|
758
|
+
"shrink-0 border-t border-sidebar-border bg-sidebar-accent/30 backdrop-blur-md",
|
|
759
|
+
isOpen ? "p-4" : "p-3 flex justify-center",
|
|
760
|
+
className
|
|
761
|
+
),
|
|
762
|
+
...props
|
|
763
|
+
}
|
|
764
|
+
);
|
|
765
|
+
}
|
|
766
|
+
);
|
|
767
|
+
SidebarFooter.displayName = "SidebarFooter";
|
|
768
|
+
|
|
769
|
+
// src/components/ui/theme-provider.tsx
|
|
770
|
+
import * as React14 from "react";
|
|
771
|
+
import { ThemeProvider as NextThemesProvider } from "next-themes";
|
|
772
|
+
import { useTheme } from "next-themes";
|
|
773
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
774
|
+
function ThemeProvider({ children, ...props }) {
|
|
775
|
+
React14.useEffect(() => {
|
|
776
|
+
const legacyDarkTheme = ["mid", "night"].join("");
|
|
777
|
+
if (window.localStorage.getItem("theme") === legacyDarkTheme) {
|
|
778
|
+
window.localStorage.setItem("theme", "dark");
|
|
779
|
+
}
|
|
780
|
+
}, []);
|
|
781
|
+
return /* @__PURE__ */ jsx15(NextThemesProvider, { ...props, children });
|
|
782
|
+
}
|
|
612
783
|
export {
|
|
613
784
|
Button,
|
|
614
785
|
Card,
|
|
@@ -636,6 +807,13 @@ export {
|
|
|
636
807
|
PopoverContent,
|
|
637
808
|
PopoverTrigger,
|
|
638
809
|
Progress,
|
|
810
|
+
Sidebar,
|
|
811
|
+
SidebarContent,
|
|
812
|
+
SidebarFooter,
|
|
813
|
+
SidebarGroup,
|
|
814
|
+
SidebarGroupLabel,
|
|
815
|
+
SidebarHeader,
|
|
816
|
+
SidebarItem,
|
|
639
817
|
Skeleton,
|
|
640
818
|
Switch,
|
|
641
819
|
Table,
|
|
@@ -648,8 +826,11 @@ export {
|
|
|
648
826
|
TabsContent,
|
|
649
827
|
TabsList,
|
|
650
828
|
TabsTrigger,
|
|
829
|
+
ThemeProvider,
|
|
651
830
|
buttonTextVariants,
|
|
652
831
|
buttonVariants,
|
|
653
|
-
cn
|
|
832
|
+
cn,
|
|
833
|
+
useSidebar,
|
|
834
|
+
useTheme
|
|
654
835
|
};
|
|
655
836
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/primitives.tsx","../src/lib/utils.ts","../src/components/ui/button.tsx","../src/components/ui/card.tsx","../src/components/ui/input.tsx","../src/components/ui/label.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/switch.tsx","../src/components/ui/progress.tsx","../src/components/ui/tabs.tsx","../src/components/ui/table.tsx","../src/components/ui/dialog.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/popover.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Platform, View as RNView, Text as RNText, Pressable as RNPressable, TextInput as RNTextInput } from \"react-native\";\nimport type { ViewProps, TextProps, PressableProps, TextInputProps } from \"react-native\";\n\nimport { cn } from \"./utils\";\n\nexport const View = React.forwardRef<any, ViewProps & { className?: string }>(({ className, style, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"div\" as any;\n return <C ref={ref} className={cn(\"flex flex-col items-stretch justify-start min-w-0 min-h-0 relative\", className)} style={style as any} {...props as any} />;\n // Note: removed inline styles that override tailwind classes\n }\n return <RNView ref={ref} className={className} style={style} {...props} />;\n});\nView.displayName = \"View\";\n\nexport const Text = React.forwardRef<any, TextProps & { className?: string }>(({ className, style, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"span\" as any;\n return <C ref={ref} className={cn(\"inline m-0 p-0\", className)} style={style as any} {...props as any} />;\n }\n return <RNText ref={ref} className={className} style={style} {...props} />;\n});\nText.displayName = \"Text\";\n\nexport const Pressable = React.forwardRef<any, PressableProps & { className?: string, onClick?: any }>(({ className, style, onPress, onClick, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"button\" as any;\n return <C ref={ref} type=\"button\" onClick={onPress || onClick} className={cn(\"flex flex-col items-stretch justify-start bg-transparent border-none p-0 m-0 cursor-pointer outline-none relative\", className)} style={style as any} {...props as any} />;\n }\n return <RNPressable ref={ref} onPress={onPress || onClick} className={className} style={style} {...props} />;\n});\nPressable.displayName = \"Pressable\";\n\nexport const TextInput = React.forwardRef<any, TextInputProps & { className?: string, onChange?: any }>(({ className, style, onChangeText, onChange, value, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"input\" as any;\n return <C ref={ref} value={value} onChange={(e: any) => { onChangeText?.(e.target.value); onChange?.(e); }} className={className} style={{ ...(style as any) }} {...props as any} />;\n }\n return <RNTextInput ref={ref} value={value} onChangeText={onChangeText} onChange={onChange} className={className} style={style} {...props} />;\n});\nTextInput.displayName = \"TextInput\";\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type PressableProps, type TextProps } from \"react-native\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"flex flex-row items-center justify-center gap-2 rounded-md font-medium transition-all\",\n {\n variants: {\n variant: {\n default: \"bg-primary hover:bg-primary/90\",\n destructive: \"bg-danger hover:bg-danger/90\",\n outline: \"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"underline-offset-4 hover:underline\"},\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3\",\n lg: \"h-10 rounded-md px-6\",\n icon: \"h-9 w-9\"}},\n defaultVariants: {\n variant: \"default\",\n size: \"default\"}}\n)\n\nconst buttonTextVariants = cva(\n \"font-medium\",\n {\n variants: {\n variant: {\n default: \"text-primary-foreground\",\n destructive: \"text-white\",\n outline: \"text-foreground\",\n secondary: \"text-secondary-foreground\",\n ghost: \"text-foreground\",\n link: \"text-primary\"}},\n defaultVariants: {\n variant: \"default\"}}\n)\n\nexport interface ButtonProps\n extends PressableProps,\n VariantProps<typeof buttonVariants> {\n children: React.ReactNode;\n className?: string;\n textClassName?: string;\n onClick?: (event: any) => void;\n}\n\nconst Button = React.forwardRef<React.ElementRef<typeof Pressable>, ButtonProps>(\n ({ className, variant, size, children, textClassName, onClick, onPress, ...props }, ref) => {\n return (\n <Pressable onPress={onPress || onClick}\n ref={ref}\n {...({ className: cn(buttonVariants({ variant, size }), className) } as any)}\n {...props}\n >\n {React.Children.map(children, (child) => \n typeof child === 'string' || typeof child === 'number' ? (\n <Text {...({ className: cn(buttonTextVariants({ variant }), textClassName) } as any)}>{child}</Text>\n ) : (\n child\n )\n )}\n </Pressable>\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants, buttonTextVariants }\n","import { View, Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst Card = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"rounded-xl border border-border bg-card/60 backdrop-blur-xl shadow-sm dark:bg-card/40\", className) } as any)}\n {...props}\n />\n )\n)\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-col space-y-1.5 p-6\", className) } as any)}\n {...props}\n />\n )\n)\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(\"font-semibold text-lg leading-none tracking-tight text-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(\"text-sm text-muted-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"p-6 pt-0\", className) } as any)} {...props} />\n )\n)\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-row items-center p-6 pt-0\", className) } as any)}\n {...props}\n />\n )\n)\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","import { TextInput } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type TextInputProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface InputProps extends TextInputProps {\n className?: string;\n}\n\nconst Input = React.forwardRef<React.ElementRef<typeof TextInput>, InputProps>(\n ({ className, ...props }, ref) => {\n return (\n <TextInput\n ref={ref}\n placeholderTextColor=\"#a3a3a3\" // gray-400 equivalent for default placeholder\n {...({ className: cn(\"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm text-foreground\", className) } as any)}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n","import { Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none text-foreground peer-disabled:opacity-70\",\n {\n variants: {},\n defaultVariants: {}}\n)\n\nexport interface LabelProps extends TextProps, VariantProps<typeof labelVariants> {\n className?: string;\n}\n\nconst Label = React.forwardRef<React.ElementRef<typeof Text>, LabelProps>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(labelVariants(), className) } as any)}\n {...props}\n />\n )\n)\nLabel.displayName = \"Label\"\n\nexport { Label }\n","import { View } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface SkeletonProps extends ViewProps {\n className?: string;\n}\n\nfunction Skeleton({ className, ...props }: SkeletonProps) {\n return (\n <View\n {...({ className: cn(\"animate-pulse rounded-md bg-primary/10\", className) } as any)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n","import * as React from \"react\"\nimport { Switch as NativeSwitch, type SwitchProps as NativeSwitchProps } from \"react-native\"\n\nexport interface SwitchProps extends NativeSwitchProps {\n onCheckedChange?: (checked: boolean) => void;\n checked?: boolean;\n onChange?: (event: any) => void;\n className?: string; // Kept for interface compatibility, though Native Switch styling is limited via className\n}\n\nconst Switch = React.forwardRef<React.ElementRef<typeof NativeSwitch>, SwitchProps>(\n ({ className, onCheckedChange, onChange, onValueChange, checked, value, ...props }, ref) => {\n return (\n <NativeSwitch value={checked !== undefined ? checked : value} onValueChange={(val) => { onValueChange?.(val); onCheckedChange?.(val); onChange?.(val); }}\n ref={ref}\n {...props}\n />\n )\n }\n)\nSwitch.displayName = \"Switch\"\n\nexport { Switch }\n","import { View } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface ProgressProps extends ViewProps {\n className?: string;\n value?: number;\n}\n\nconst Progress = React.forwardRef<React.ElementRef<typeof View>, ProgressProps>(\n ({ className, value = 0, ...props }, ref) => {\n // Ensure value is between 0 and 100\n const boundedValue = Math.min(100, Math.max(0, value || 0));\n \n return (\n <View\n ref={ref}\n {...({ className: cn(\"relative h-2 w-full overflow-hidden rounded-full bg-primary/20\", className) } as any)}\n {...props}\n >\n <View \n {...({ className: \"h-full bg-primary flex-1 transition-all\" } as any)}\n style={{ width: `${boundedValue}%` }}\n />\n </View>\n )\n }\n)\nProgress.displayName = \"Progress\"\n\nexport { Progress }\n","import { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type PressableProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst TabsContext = React.createContext<{\n value: string\n onValueChange: (value: string) => void\n} | null>(null)\n\nexport interface TabsProps extends ViewProps {\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n className?: string\n}\n\nfunction Tabs({ value: controlledValue, defaultValue, onValueChange, className, children, ...props }: TabsProps) {\n const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue || \"\")\n \n const value = controlledValue !== undefined ? controlledValue : uncontrolledValue\n const handleValueChange = React.useCallback(\n (newValue: string) => {\n setUncontrolledValue(newValue)\n onValueChange?.(newValue)\n },\n [onValueChange]\n )\n\n return (\n <TabsContext.Provider value={{ value, onValueChange: handleValueChange }}>\n <View {...({ className } as any)} {...props}>\n {children}\n </View>\n </TabsContext.Provider>\n )\n}\n\nfunction useTabsContext() {\n const context = React.useContext(TabsContext)\n if (!context) {\n throw new Error(\"Tabs compound components must be rendered within the Tabs component\")\n }\n return context\n}\n\nconst TabsList = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex-row items-center justify-center rounded-md bg-muted p-1 text-muted-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nTabsList.displayName = \"TabsList\"\n\nconst TabsTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, PressableProps & { value: string; className?: string; textClassName?: string }>(\n ({ className, textClassName, value, children, ...props }, ref) => {\n const context = useTabsContext()\n const isSelected = context.value === value\n\n return (\n <Pressable\n ref={ref}\n onPress={() => context.onValueChange(value)}\n {...({ className: cn(\n \"flex-1 items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5\",\n isSelected ? \"bg-background shadow-sm\" : \"bg-transparent\",\n className\n ) } as any)}\n {...props}\n >\n {typeof children === 'string' ? (\n <Text {...({ className: cn(\"text-sm font-medium transition-all\", isSelected ? \"text-foreground\" : \"text-muted-foreground\", textClassName) } as any)}>\n {children}\n </Text>\n ) : (\n children\n )}\n </Pressable>\n )\n }\n)\nTabsTrigger.displayName = \"TabsTrigger\"\n\nconst TabsContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { value: string; className?: string }>(\n ({ className, value, children, ...props }, ref) => {\n const context = useTabsContext()\n\n if (context.value !== value) {\n return null\n }\n\n return (\n <View\n ref={ref}\n {...({ className: cn(\"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n )\n }\n)\nTabsContent.displayName = \"TabsContent\"\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n","import { View, Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst Table = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View {...({ className: \"w-full overflow-hidden\" } as any)}>\n <View\n ref={ref}\n {...({ className: cn(\"w-full text-sm\", className) } as any)}\n {...props}\n />\n </View>\n )\n)\nTable.displayName = \"Table\"\n\nconst TableHeader = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"flex flex-row items-center border-b border-border bg-muted/50\", className) } as any)} {...props} />\n )\n)\nTableHeader.displayName = \"TableHeader\"\n\nconst TableBody = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-col [&_>_view:last-child]:border-0\", className) } as any)}\n {...props}\n />\n )\n)\nTableBody.displayName = \"TableBody\"\n\nconst TableRow = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\n \"flex flex-row items-center border-b border-border transition-colors hover:bg-muted/50\",\n className\n ) } as any)}\n {...props}\n />\n )\n)\nTableRow.displayName = \"TableRow\"\n\nconst TableHead = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\n \"h-12 px-4 flex justify-center text-left align-middle font-medium text-muted-foreground\",\n className\n ) } as any)}\n {...props}\n >\n {typeof children === 'string' ? <Text {...({ className: \"font-semibold text-muted-foreground text-sm\" } as any)}>{children}</Text> : children}\n </View>\n )\n)\nTableHead.displayName = \"TableHead\"\n\nconst TableCell = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"p-4 align-middle\", className) } as any)}\n {...props}\n >\n {typeof children === 'string' ? <Text {...({ className: \"text-foreground text-sm\" } as any)}>{children}</Text> : children}\n </View>\n )\n)\nTableCell.displayName = \"TableCell\"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell}\n","import { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ModalProps, type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface DialogProps extends ModalProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: React.ReactNode;\n}\n\nconst DialogContext = React.createContext<{\n open: boolean;\n onOpenChange: (open: boolean) => void;\n} | null>(null)\n\nfunction useDialog() {\n const context = React.useContext(DialogContext)\n if (!context) throw new Error(\"Dialog components must be used within a Dialog\")\n return context\n}\n\nfunction Dialog({ open = false, onOpenChange, children, ...props }: DialogProps) {\n const [isOpen, setIsOpen] = React.useState(open)\n const isControlled = onOpenChange !== undefined\n \n const currentOpen = isControlled ? open : isOpen\n const setCurrentOpen = React.useCallback((val: boolean) => {\n if (!isControlled) setIsOpen(val)\n onOpenChange?.(val)\n }, [isControlled, onOpenChange])\n\n return (\n <DialogContext.Provider value={{ open: currentOpen, onOpenChange: setCurrentOpen }}>\n {children}\n </DialogContext.Provider>\n )\n}\n\nconst DialogTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const { onOpenChange } = useDialog()\n return (\n <Pressable ref={ref} onPress={(e) => { onOpenChange(true); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nDialogTrigger.displayName = \"DialogTrigger\"\n\nconst DialogContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const { open, onOpenChange } = useDialog()\n\n return (\n <Modal\n visible={open}\n transparent={true}\n animationType=\"fade\"\n onRequestClose={() => onOpenChange(false)}\n >\n <View {...({ className: \"flex-1 items-center justify-center bg-black/80\" } as any)}>\n <View\n ref={ref}\n {...({ className: cn(\"w-full max-w-lg rounded-xl border border-border bg-background p-6 shadow-lg sm:rounded-[1rem]\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </View>\n </Modal>\n )\n }\n)\nDialogContent.displayName = \"DialogContent\"\n\nconst DialogHeader = ({ className, ...props }: ViewProps & { className?: string }) => (\n <View {...({ className: cn(\"flex flex-col space-y-1.5 text-center sm:text-left\", className) } as any)} {...props} />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({ className, ...props }: ViewProps & { className?: string }) => (\n <View {...({ className: cn(\"flex flex-row flex-wrap items-center justify-end space-x-2 mt-4\", className) } as any)} {...props} />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"text-lg font-semibold leading-none tracking-tight text-foreground\", className) } as any)} {...props} />\n )\n)\nDialogTitle.displayName = \"DialogTitle\"\n\nconst DialogDescription = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"text-sm text-muted-foreground\", className) } as any)} {...props} />\n )\n)\nDialogDescription.displayName = \"DialogDescription\"\n\nexport {\n Dialog,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription}\n","import { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface DropdownMenuProps {\n children: React.ReactNode;\n}\n\nconst DropdownContext = React.createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null)\n\nfunction DropdownMenu({ children }: DropdownMenuProps) {\n const [open, setOpen] = React.useState(false)\n return (\n <DropdownContext.Provider value={{ open, setOpen }}>\n <View {...({ className: \"relative\" } as any)}>\n {children}\n </View>\n </DropdownContext.Provider>\n )\n}\n\nconst DropdownMenuTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n return (\n <Pressable ref={ref} onPress={(e) => { context?.setOpen(!context.open); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nDropdownMenuTrigger.displayName = \"DropdownMenuTrigger\"\n\nconst DropdownMenuContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n if (!context?.open) return null\n\n return (\n <Modal visible={context.open} transparent={true} animationType=\"fade\" onRequestClose={() => context.setOpen(false)}>\n <Pressable \n onPress={() => context.setOpen(false)} \n {...({ className: \"flex-1 bg-black/10 justify-end sm:justify-center items-center\" } as any)}\n >\n <Pressable onPress={(e) => e.stopPropagation()}>\n <View\n ref={ref}\n {...({ className: cn(\"z-50 min-w-[8rem] overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 zoom-in-95\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </Pressable>\n </Pressable>\n </Modal>\n )\n }\n)\nDropdownMenuContent.displayName = \"DropdownMenuContent\"\n\nconst DropdownMenuItem = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable> & { className?: string; textClassName?: string }>(\n ({ className, textClassName, onPress, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n return (\n <Pressable\n ref={ref}\n onPress={(e) => { context?.setOpen(false); onPress?.(e); (props as any).onClick?.(e) }}\n {...({ className: cn(\"relative flex-row items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent focus:bg-accent\", className) } as any)}\n {...props}\n >\n {typeof children === 'string' ? (\n <Text {...({ className: cn(\"text-foreground\", textClassName) } as any)}>{children}</Text>\n ) : children}\n </Pressable>\n )\n }\n)\nDropdownMenuItem.displayName = \"DropdownMenuItem\"\n\nconst DropdownMenuLabel = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"px-2 py-1.5 text-sm font-semibold text-foreground\", className) } as any)} {...props} />\n )\n)\nDropdownMenuLabel.displayName = \"DropdownMenuLabel\"\n\nconst DropdownMenuSeparator = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"-mx-1 my-1 h-px bg-muted\", className) } as any)} {...props} />\n )\n)\nDropdownMenuSeparator.displayName = \"DropdownMenuSeparator\"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator}\n","import { View, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface PopoverProps {\n children: React.ReactNode;\n}\n\nconst PopoverContext = React.createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null)\n\nfunction Popover({ children }: PopoverProps) {\n const [open, setOpen] = React.useState(false)\n return (\n <PopoverContext.Provider value={{ open, setOpen }}>\n <View {...({ className: \"relative\" } as any)}>\n {children}\n </View>\n </PopoverContext.Provider>\n )\n}\n\nconst PopoverTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const context = React.useContext(PopoverContext)\n return (\n <Pressable ref={ref} onPress={(e) => { context?.setOpen(!context.open); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nPopoverTrigger.displayName = \"PopoverTrigger\"\n\nconst PopoverContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const context = React.useContext(PopoverContext)\n if (!context?.open) return null\n\n return (\n <Modal visible={context.open} transparent={true} animationType=\"fade\" onRequestClose={() => context.setOpen(false)}>\n <Pressable \n onPress={() => context.setOpen(false)} \n {...({ className: \"flex-1 bg-transparent justify-center items-center\" } as any)}\n >\n <Pressable onPress={(e) => e.stopPropagation()}>\n <View\n ref={ref}\n {...({ className: cn(\"z-50 w-72 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </Pressable>\n </Pressable>\n </Modal>\n )\n }\n)\nPopoverContent.displayName = \"PopoverContent\"\n\nexport { Popover, PopoverTrigger, PopoverContent }\n"],"mappings":"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","names":["React","jsx","React","jsx","React","jsx","React","cva","jsx","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","Modal","jsx","Modal","React","Modal","jsx","Modal"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/primitives.tsx","../src/lib/utils.ts","../src/components/ui/button.tsx","../src/components/ui/card.tsx","../src/components/ui/input.tsx","../src/components/ui/label.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/switch.tsx","../src/components/ui/progress.tsx","../src/components/ui/tabs.tsx","../src/components/ui/table.tsx","../src/components/ui/dialog.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/popover.tsx","../src/components/ui/sidebar.tsx","../src/components/ui/theme-provider.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Platform, View as RNView, Text as RNText, Pressable as RNPressable, TextInput as RNTextInput } from \"react-native\";\nimport type { ViewProps, TextProps, PressableProps, TextInputProps } from \"react-native\";\n\nimport { cn } from \"./utils\";\n\nexport const View = React.forwardRef<any, ViewProps & { className?: string }>(({ className, style, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"div\" as any;\n return <C ref={ref} className={cn(\"flex flex-col items-stretch justify-start min-w-0 min-h-0 relative\", className)} style={style as any} {...props as any} />;\n // Note: removed inline styles that override tailwind classes\n }\n return <RNView ref={ref} className={className} style={style} {...props} />;\n});\nView.displayName = \"View\";\n\nexport const Text = React.forwardRef<any, TextProps & { className?: string }>(({ className, style, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"span\" as any;\n return <C ref={ref} className={cn(\"inline m-0 p-0\", className)} style={style as any} {...props as any} />;\n }\n return <RNText ref={ref} className={className} style={style} {...props} />;\n});\nText.displayName = \"Text\";\n\nexport const Pressable = React.forwardRef<any, PressableProps & { className?: string, onClick?: any }>(({ className, style, onPress, onClick, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"button\" as any;\n return <C ref={ref} type=\"button\" onClick={onPress || onClick} className={cn(\"flex flex-col items-stretch justify-start bg-transparent border-none p-0 m-0 cursor-pointer outline-none relative\", className)} style={style as any} {...props as any} />;\n }\n return <RNPressable ref={ref} onPress={onPress || onClick} className={className} style={style} {...props} />;\n});\nPressable.displayName = \"Pressable\";\n\nexport const TextInput = React.forwardRef<any, TextInputProps & { className?: string, onChange?: any }>(({ className, style, onChangeText, onChange, value, ...props }, ref) => {\n if (Platform.OS === 'web') {\n const C = \"input\" as any;\n return <C ref={ref} value={value} onChange={(e: any) => { onChangeText?.(e.target.value); onChange?.(e); }} className={className} style={{ ...(style as any) }} {...props as any} />;\n }\n return <RNTextInput ref={ref} value={value} onChangeText={onChangeText} onChange={onChange} className={className} style={style} {...props} />;\n});\nTextInput.displayName = \"TextInput\";\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","\"use client\";\nimport { Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type PressableProps, type TextProps } from \"react-native\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"flex flex-row items-center justify-center gap-2 rounded-md font-medium transition-all\",\n {\n variants: {\n variant: {\n default: \"bg-primary hover:bg-primary/90\",\n destructive: \"bg-danger hover:bg-danger/90\",\n outline: \"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"underline-offset-4 hover:underline\"},\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3\",\n lg: \"h-10 rounded-md px-6\",\n icon: \"h-9 w-9\"}},\n defaultVariants: {\n variant: \"default\",\n size: \"default\"}}\n)\n\nconst buttonTextVariants = cva(\n \"font-medium\",\n {\n variants: {\n variant: {\n default: \"text-primary-foreground\",\n destructive: \"text-white\",\n outline: \"text-foreground\",\n secondary: \"text-secondary-foreground\",\n ghost: \"text-foreground\",\n link: \"text-primary\"}},\n defaultVariants: {\n variant: \"default\"}}\n)\n\nexport interface ButtonProps\n extends PressableProps,\n VariantProps<typeof buttonVariants> {\n children: React.ReactNode;\n className?: string;\n textClassName?: string;\n onClick?: (event: any) => void;\n}\n\nconst Button = React.forwardRef<React.ElementRef<typeof Pressable>, ButtonProps>(\n ({ className, variant, size, children, textClassName, onClick, onPress, ...props }, ref) => {\n return (\n <Pressable onPress={onPress || onClick}\n ref={ref}\n {...({ className: cn(buttonVariants({ variant, size }), className) } as any)}\n {...props}\n >\n {React.Children.map(children, (child) => \n typeof child === 'string' || typeof child === 'number' ? (\n <Text {...({ className: cn(buttonTextVariants({ variant }), textClassName) } as any)}>{child}</Text>\n ) : (\n child\n )\n )}\n </Pressable>\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants, buttonTextVariants }\n\n","\"use client\";\nimport { View, Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst Card = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string; onClick?: React.MouseEventHandler<HTMLDivElement>; onPress?: any }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"rounded-xl border border-border bg-card/60 backdrop-blur-xl shadow-sm dark:bg-card/40\", className) } as any)}\n {...props}\n />\n )\n)\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-col space-y-1.5 p-6\", className) } as any)}\n {...props}\n />\n )\n)\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(\"font-semibold text-lg leading-none tracking-tight text-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(\"text-sm text-muted-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"p-6 pt-0\", className) } as any)} {...props} />\n )\n)\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-row items-center p-6 pt-0\", className) } as any)}\n {...props}\n />\n )\n)\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n\n","\"use client\";\nimport { TextInput } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type TextInputProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface InputProps extends TextInputProps {\n className?: string;\n}\n\nconst Input = React.forwardRef<React.ElementRef<typeof TextInput>, InputProps>(\n ({ className, ...props }, ref) => {\n return (\n <TextInput\n ref={ref}\n placeholderTextColor=\"#a3a3a3\" // gray-400 equivalent for default placeholder\n {...({ className: cn(\"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm text-foreground\", className) } as any)}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n\n","\"use client\";\nimport { Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none text-foreground peer-disabled:opacity-70\",\n {\n variants: {},\n defaultVariants: {}}\n)\n\nexport interface LabelProps extends TextProps, VariantProps<typeof labelVariants> {\n className?: string;\n}\n\nconst Label = React.forwardRef<React.ElementRef<typeof Text>, LabelProps>(\n ({ className, ...props }, ref) => (\n <Text\n ref={ref}\n {...({ className: cn(labelVariants(), className) } as any)}\n {...props}\n />\n )\n)\nLabel.displayName = \"Label\"\n\nexport { Label }\n\n","\"use client\";\nimport { View } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface SkeletonProps extends ViewProps {\n className?: string;\n}\n\nfunction Skeleton({ className, ...props }: SkeletonProps) {\n return (\n <View\n {...({ className: cn(\"animate-pulse rounded-md bg-primary/10\", className) } as any)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n\n","\"use client\";\nimport * as React from \"react\"\nimport { Switch as NativeSwitch, type SwitchProps as NativeSwitchProps } from \"react-native\"\n\nexport interface SwitchProps extends NativeSwitchProps {\n onCheckedChange?: (checked: boolean) => void;\n checked?: boolean;\n onChange?: (event: any) => void;\n className?: string; // Kept for interface compatibility, though Native Switch styling is limited via className\n}\n\nconst Switch = React.forwardRef<React.ElementRef<typeof NativeSwitch>, SwitchProps>(\n ({ className, onCheckedChange, onChange, onValueChange, checked, value, ...props }, ref) => {\n return (\n <NativeSwitch value={checked !== undefined ? checked : value} onValueChange={(val) => { onValueChange?.(val); onCheckedChange?.(val); onChange?.(val); }}\n ref={ref}\n {...props}\n />\n )\n }\n)\nSwitch.displayName = \"Switch\"\n\nexport { Switch }\n\n","\"use client\";\nimport { View } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface ProgressProps extends ViewProps {\n className?: string;\n value?: number;\n}\n\nconst Progress = React.forwardRef<React.ElementRef<typeof View>, ProgressProps>(\n ({ className, value = 0, ...props }, ref) => {\n // Ensure value is between 0 and 100\n const boundedValue = Math.min(100, Math.max(0, value || 0));\n \n return (\n <View\n ref={ref}\n {...({ className: cn(\"relative h-2 w-full overflow-hidden rounded-full bg-primary/20\", className) } as any)}\n {...props}\n >\n <View \n {...({ className: \"h-full bg-primary flex-1 transition-all\" } as any)}\n style={{ width: `${boundedValue}%` }}\n />\n </View>\n )\n }\n)\nProgress.displayName = \"Progress\"\n\nexport { Progress }\n\n","\"use client\";\nimport { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type PressableProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst TabsContext = React.createContext<{\n value: string\n onValueChange: (value: string) => void\n} | null>(null)\n\nexport interface TabsProps extends ViewProps {\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n className?: string\n}\n\nfunction Tabs({ value: controlledValue, defaultValue, onValueChange, className, children, ...props }: TabsProps) {\n const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue || \"\")\n \n const value = controlledValue !== undefined ? controlledValue : uncontrolledValue\n const handleValueChange = React.useCallback(\n (newValue: string) => {\n setUncontrolledValue(newValue)\n onValueChange?.(newValue)\n },\n [onValueChange]\n )\n\n return (\n <TabsContext.Provider value={{ value, onValueChange: handleValueChange }}>\n <View {...({ className } as any)} {...props}>\n {children}\n </View>\n </TabsContext.Provider>\n )\n}\n\nfunction useTabsContext() {\n const context = React.useContext(TabsContext)\n if (!context) {\n throw new Error(\"Tabs compound components must be rendered within the Tabs component\")\n }\n return context\n}\n\nconst TabsList = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex-row items-center justify-center rounded-md bg-muted p-1 text-muted-foreground\", className) } as any)}\n {...props}\n />\n )\n)\nTabsList.displayName = \"TabsList\"\n\nconst TabsTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, PressableProps & { value: string; className?: string; textClassName?: string }>(\n ({ className, textClassName, value, children, ...props }, ref) => {\n const context = useTabsContext()\n const isSelected = context.value === value\n\n return (\n <Pressable\n ref={ref}\n onPress={() => context.onValueChange(value)}\n {...({ className: cn(\n \"flex-1 items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5\",\n isSelected ? \"bg-background shadow-sm\" : \"bg-transparent\",\n className\n ) } as any)}\n {...props}\n >\n {typeof children === 'string' ? (\n <Text {...({ className: cn(\"text-sm font-medium transition-all\", isSelected ? \"text-foreground\" : \"text-muted-foreground\", textClassName) } as any)}>\n {children}\n </Text>\n ) : (\n children\n )}\n </Pressable>\n )\n }\n)\nTabsTrigger.displayName = \"TabsTrigger\"\n\nconst TabsContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { value: string; className?: string }>(\n ({ className, value, children, ...props }, ref) => {\n const context = useTabsContext()\n\n if (context.value !== value) {\n return null\n }\n\n return (\n <View\n ref={ref}\n {...({ className: cn(\"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n )\n }\n)\nTabsContent.displayName = \"TabsContent\"\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n\n","\"use client\";\nimport { View, Text } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nconst Table = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View {...({ className: \"w-full overflow-hidden\" } as any)}>\n <View\n ref={ref}\n {...({ className: cn(\"w-full text-sm\", className) } as any)}\n {...props}\n />\n </View>\n )\n)\nTable.displayName = \"Table\"\n\nconst TableHeader = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"flex flex-row items-center border-b border-border bg-muted/50\", className) } as any)} {...props} />\n )\n)\nTableHeader.displayName = \"TableHeader\"\n\nconst TableBody = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"flex flex-col [&_>_view:last-child]:border-0\", className) } as any)}\n {...props}\n />\n )\n)\nTableBody.displayName = \"TableBody\"\n\nconst TableRow = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\n \"flex flex-row items-center border-b border-border transition-colors hover:bg-muted/50\",\n className\n ) } as any)}\n {...props}\n />\n )\n)\nTableRow.displayName = \"TableRow\"\n\nconst TableHead = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\n \"h-12 px-4 flex justify-center text-left align-middle font-medium text-muted-foreground\",\n className\n ) } as any)}\n {...props}\n >\n {typeof children === 'string' ? <Text {...({ className: \"font-semibold text-muted-foreground text-sm\" } as any)}>{children}</Text> : children}\n </View>\n )\n)\nTableHead.displayName = \"TableHead\"\n\nconst TableCell = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => (\n <View\n ref={ref}\n {...({ className: cn(\"p-4 align-middle\", className) } as any)}\n {...props}\n >\n {typeof children === 'string' ? <Text {...({ className: \"text-foreground text-sm\" } as any)}>{children}</Text> : children}\n </View>\n )\n)\nTableCell.displayName = \"TableCell\"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell}\n\n","\"use client\";\nimport { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ModalProps, type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface DialogProps extends ModalProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: React.ReactNode;\n}\n\nconst DialogContext = React.createContext<{\n open: boolean;\n onOpenChange: (open: boolean) => void;\n} | null>(null)\n\nfunction useDialog() {\n const context = React.useContext(DialogContext)\n if (!context) throw new Error(\"Dialog components must be used within a Dialog\")\n return context\n}\n\nfunction Dialog({ open = false, onOpenChange, children, ...props }: DialogProps) {\n const [isOpen, setIsOpen] = React.useState(open)\n const isControlled = onOpenChange !== undefined\n \n const currentOpen = isControlled ? open : isOpen\n const setCurrentOpen = React.useCallback((val: boolean) => {\n if (!isControlled) setIsOpen(val)\n onOpenChange?.(val)\n }, [isControlled, onOpenChange])\n\n return (\n <DialogContext.Provider value={{ open: currentOpen, onOpenChange: setCurrentOpen }}>\n {children}\n </DialogContext.Provider>\n )\n}\n\nconst DialogTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const { onOpenChange } = useDialog()\n return (\n <Pressable ref={ref} onPress={(e) => { onOpenChange(true); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nDialogTrigger.displayName = \"DialogTrigger\"\n\nconst DialogContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const { open, onOpenChange } = useDialog()\n\n return (\n <Modal\n visible={open}\n transparent={true}\n animationType=\"fade\"\n onRequestClose={() => onOpenChange(false)}\n >\n <View {...({ className: \"flex-1 items-center justify-center bg-black/80\" } as any)}>\n <View\n ref={ref}\n {...({ className: cn(\"w-full max-w-lg rounded-xl border border-border bg-background p-6 shadow-lg sm:rounded-[1rem]\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </View>\n </Modal>\n )\n }\n)\nDialogContent.displayName = \"DialogContent\"\n\nconst DialogHeader = ({ className, ...props }: ViewProps & { className?: string }) => (\n <View {...({ className: cn(\"flex flex-col space-y-1.5 text-center sm:text-left\", className) } as any)} {...props} />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({ className, ...props }: ViewProps & { className?: string }) => (\n <View {...({ className: cn(\"flex flex-row flex-wrap items-center justify-end space-x-2 mt-4\", className) } as any)} {...props} />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"text-lg font-semibold leading-none tracking-tight text-foreground\", className) } as any)} {...props} />\n )\n)\nDialogTitle.displayName = \"DialogTitle\"\n\nconst DialogDescription = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"text-sm text-muted-foreground\", className) } as any)} {...props} />\n )\n)\nDialogDescription.displayName = \"DialogDescription\"\n\nexport {\n Dialog,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription}\n\n","\"use client\";\nimport { View, Text, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ViewProps, type TextProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface DropdownMenuProps {\n children: React.ReactNode;\n}\n\nconst DropdownContext = React.createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null)\n\nfunction DropdownMenu({ children }: DropdownMenuProps) {\n const [open, setOpen] = React.useState(false)\n return (\n <DropdownContext.Provider value={{ open, setOpen }}>\n <View {...({ className: \"relative\" } as any)}>\n {children}\n </View>\n </DropdownContext.Provider>\n )\n}\n\nconst DropdownMenuTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n return (\n <Pressable ref={ref} onPress={(e) => { context?.setOpen(!context.open); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nDropdownMenuTrigger.displayName = \"DropdownMenuTrigger\"\n\nconst DropdownMenuContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n if (!context?.open) return null\n\n return (\n <Modal visible={context.open} transparent={true} animationType=\"fade\" onRequestClose={() => context.setOpen(false)}>\n <Pressable \n onPress={() => context.setOpen(false)} \n {...({ className: \"flex-1 bg-black/10 justify-end sm:justify-center items-center\" } as any)}\n >\n <Pressable onPress={(e) => e.stopPropagation()}>\n <View\n ref={ref}\n {...({ className: cn(\"z-50 min-w-[8rem] overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 zoom-in-95\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </Pressable>\n </Pressable>\n </Modal>\n )\n }\n)\nDropdownMenuContent.displayName = \"DropdownMenuContent\"\n\nconst DropdownMenuItem = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable> & { className?: string; textClassName?: string }>(\n ({ className, textClassName, onPress, children, ...props }, ref) => {\n const context = React.useContext(DropdownContext)\n return (\n <Pressable\n ref={ref}\n onPress={(e) => { context?.setOpen(false); onPress?.(e); (props as any).onClick?.(e) }}\n {...({ className: cn(\"relative flex-row items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent focus:bg-accent\", className) } as any)}\n {...props}\n >\n {typeof children === 'string' ? (\n <Text {...({ className: cn(\"text-foreground\", textClassName) } as any)}>{children}</Text>\n ) : children}\n </Pressable>\n )\n }\n)\nDropdownMenuItem.displayName = \"DropdownMenuItem\"\n\nconst DropdownMenuLabel = React.forwardRef<React.ElementRef<typeof Text>, TextProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <Text ref={ref} {...({ className: cn(\"px-2 py-1.5 text-sm font-semibold text-foreground\", className) } as any)} {...props} />\n )\n)\nDropdownMenuLabel.displayName = \"DropdownMenuLabel\"\n\nconst DropdownMenuSeparator = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, ...props }, ref) => (\n <View ref={ref} {...({ className: cn(\"-mx-1 my-1 h-px bg-muted\", className) } as any)} {...props} />\n )\n)\nDropdownMenuSeparator.displayName = \"DropdownMenuSeparator\"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator}\n\n","\"use client\";\nimport { View, Pressable } from \"../../lib/primitives\";\nimport * as React from \"react\"\nimport { Modal, type ViewProps } from \"react-native\"\nimport { cn } from \"../../lib/utils\"\n\nexport interface PopoverProps {\n children: React.ReactNode;\n}\n\nconst PopoverContext = React.createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null)\n\nfunction Popover({ children }: PopoverProps) {\n const [open, setOpen] = React.useState(false)\n return (\n <PopoverContext.Provider value={{ open, setOpen }}>\n <View {...({ className: \"relative\" } as any)}>\n {children}\n </View>\n </PopoverContext.Provider>\n )\n}\n\nconst PopoverTrigger = React.forwardRef<React.ElementRef<typeof Pressable>, React.ComponentProps<typeof Pressable>>(\n ({ onPress, children, ...props }, ref) => {\n const context = React.useContext(PopoverContext)\n return (\n <Pressable ref={ref} onPress={(e) => { context?.setOpen(!context.open); onPress?.(e); (props as any).onClick?.(e) }} {...props}>\n {children}\n </Pressable>\n )\n }\n)\nPopoverTrigger.displayName = \"PopoverTrigger\"\n\nconst PopoverContent = React.forwardRef<React.ElementRef<typeof View>, ViewProps & { className?: string }>(\n ({ className, children, ...props }, ref) => {\n const context = React.useContext(PopoverContext)\n if (!context?.open) return null\n\n return (\n <Modal visible={context.open} transparent={true} animationType=\"fade\" onRequestClose={() => context.setOpen(false)}>\n <Pressable \n onPress={() => context.setOpen(false)} \n {...({ className: \"flex-1 bg-transparent justify-center items-center\" } as any)}\n >\n <Pressable onPress={(e) => e.stopPropagation()}>\n <View\n ref={ref}\n {...({ className: cn(\"z-50 w-72 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none\", className) } as any)}\n {...props}\n >\n {children}\n </View>\n </Pressable>\n </Pressable>\n </Modal>\n )\n }\n)\nPopoverContent.displayName = \"PopoverContent\"\n\nexport { Popover, PopoverTrigger, PopoverContent }\n\n","\"use client\";\nimport * as React from \"react\"\nimport { cn } from \"../../lib/utils\"\n\nconst SidebarContext = React.createContext<{\n isOpen: boolean\n setIsOpen: (open: boolean) => void\n} | null>(null)\n\nexport function useSidebar() {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider\")\n }\n return context\n}\n\nexport interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {\n isOpen?: boolean\n onOpenChange?: (open: boolean) => void\n side?: \"left\" | \"right\"\n}\n\nexport const Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>(\n ({ className, isOpen = true, onOpenChange, side = \"left\", children, ...props }, ref) => {\n const [internalOpen, setInternalOpen] = React.useState(isOpen)\n const isControlled = onOpenChange !== undefined\n const openState = isControlled ? isOpen : internalOpen\n\n const handleToggle = React.useCallback((open: boolean) => {\n if (isControlled) {\n onOpenChange(open)\n } else {\n setInternalOpen(open)\n }\n }, [isControlled, onOpenChange])\n\n return (\n <SidebarContext.Provider value={{ isOpen: openState, setIsOpen: handleToggle }}>\n <aside\n ref={ref}\n data-state={openState ? \"expanded\" : \"collapsed\"}\n className={cn(\n \"fixed top-4 z-50 hidden h-[calc(100vh-2rem)] flex-col rounded-[24px] border border-sidebar-border bg-sidebar text-sidebar-foreground shadow-lg dark:shadow-[0_8px_32px_rgba(0,0,0,0.3)] transition-all duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)] md:flex\",\n openState ? \"overflow-hidden w-[280px]\" : \"overflow-visible w-[72px]\",\n side === \"left\" ? \"left-4\" : \"right-4\",\n className\n )}\n {...props}\n >\n {children}\n </aside>\n </SidebarContext.Provider>\n )\n }\n)\nSidebar.displayName = \"Sidebar\"\n\nexport const SidebarHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { isOpen } = useSidebar()\n return (\n <div\n ref={ref}\n className={cn(\n \"flex flex-col border-b border-sidebar-border shrink-0\",\n isOpen ? \"px-4 pb-4 pt-5\" : \"px-3.5 py-4\",\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarHeader.displayName = \"SidebarHeader\"\n\nexport const SidebarContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { isOpen } = useSidebar()\n return (\n <div\n ref={ref}\n style={{ overflowY: \"auto\", overflowX: \"hidden\" }}\n className={cn(\n \"min-h-0 flex-1\",\n isOpen ? \"px-3 py-4\" : \"px-2 py-4 items-center\",\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarContent.displayName = \"SidebarContent\"\n\nexport const SidebarGroup = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"flex flex-col gap-1 w-full\", className)}\n {...props}\n />\n )\n }\n)\nSidebarGroup.displayName = \"SidebarGroup\"\n\nexport const SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { isOpen } = useSidebar()\n if (!isOpen) return null\n return (\n <div\n ref={ref}\n className={cn(\"px-3 mb-1 mt-4 text-[10px] font-bold uppercase tracking-[0.1em] text-sidebar-foreground/50\", className)}\n {...props}\n />\n )\n }\n)\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\"\n\nexport interface SidebarItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n icon?: React.ReactNode\n isActive?: boolean\n label?: React.ReactNode\n rightElement?: React.ReactNode\n}\n\nexport const SidebarItem = React.forwardRef<HTMLButtonElement, SidebarItemProps>(\n ({ className, icon, isActive, label, rightElement, ...props }, ref) => {\n const { isOpen } = useSidebar()\n return (\n <button\n ref={ref}\n data-active={isActive}\n className={cn(\n \"group relative flex items-center rounded-xl transition-all duration-150 w-full hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n isOpen ? \"gap-3 px-3 py-2 justify-start text-sm\" : \"justify-center p-3 h-11 w-11 mt-1\",\n isActive \n ? \"bg-sidebar-accent border border-sidebar-border text-info font-semibold shadow-sm\" \n : \"text-sidebar-foreground/70 border border-transparent\",\n className\n )}\n {...props}\n >\n <div className={cn(\"shrink-0\", isActive ? \"text-info\" : \"text-sidebar-foreground/60 group-hover:text-sidebar-foreground\")}>\n {icon}\n </div>\n {isOpen && label && (\n <span className={cn(\"truncate flex-1 text-left\", isActive ? \"font-semibold\" : \"font-medium\")}>\n {label}\n </span>\n )}\n {isOpen && rightElement && (\n <div className=\"shrink-0\">\n {rightElement}\n </div>\n )}\n {!isOpen && label && (\n <div className=\"absolute left-full ml-4 hidden group-hover:block z-50 px-3 py-1.5 rounded-lg bg-gray-900 text-white dark:bg-gray-100 dark:text-gray-900 text-xs font-medium whitespace-nowrap shadow-xl\">\n {label}\n <div className=\"absolute left-0 top-1/2 -translate-x-1 -translate-y-1/2 w-2 h-2 bg-gray-900 dark:bg-gray-100 rotate-45\"></div>\n </div>\n )}\n </button>\n )\n }\n)\nSidebarItem.displayName = \"SidebarItem\"\n\nexport const SidebarFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { isOpen } = useSidebar()\n return (\n <div\n ref={ref}\n className={cn(\n \"shrink-0 border-t border-sidebar-border bg-sidebar-accent/30 backdrop-blur-md\",\n isOpen ? \"p-4\" : \"p-3 flex justify-center\",\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarFooter.displayName = \"SidebarFooter\"","\"use client\";\n\nimport * as React from \"react\";\nimport { ThemeProvider as NextThemesProvider, type ThemeProviderProps } from \"next-themes\";\n\nexport function ThemeProvider({ children, ...props }: ThemeProviderProps) {\n React.useEffect(() => {\n const legacyDarkTheme = [\"mid\", \"night\"].join(\"\");\n if (window.localStorage.getItem(\"theme\") === legacyDarkTheme) {\n window.localStorage.setItem(\"theme\", \"dark\");\n }\n }, []);\n\n return <NextThemesProvider {...props}>{children}</NextThemesProvider>;\n}\n\nexport { useTheme } from \"next-themes\";\n"],"mappings":"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","names":["React","jsx","React","jsx","React","jsx","React","cva","jsx","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","Modal","jsx","Modal","React","Modal","jsx","Modal","React","jsx","React","jsx"]}
|
package/dist/tailwind.css
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@import "tailwindcss";
|
|
2
|
+
@source "../src";
|
|
2
3
|
@plugin "@tailwindcss/typography";
|
|
3
4
|
@import "tw-animate-css";
|
|
4
5
|
|
|
@@ -53,6 +54,7 @@
|
|
|
53
54
|
--radius-lg: var(--radius);
|
|
54
55
|
--radius-xl: calc(var(--radius) + 4px);
|
|
55
56
|
|
|
57
|
+
--color-sidebar: var(--sidebar);
|
|
56
58
|
--color-sidebar-ring: var(--sidebar-ring);
|
|
57
59
|
--color-sidebar-border: var(--sidebar-border);
|
|
58
60
|
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
@@ -159,6 +161,14 @@
|
|
|
159
161
|
--neutral-950: oklch(0.13 0.027 255);
|
|
160
162
|
}
|
|
161
163
|
|
|
164
|
+
.hide-scrollbar::-webkit-scrollbar {
|
|
165
|
+
display: none;
|
|
166
|
+
}
|
|
167
|
+
.hide-scrollbar {
|
|
168
|
+
-ms-overflow-style: none;
|
|
169
|
+
scrollbar-width: none;
|
|
170
|
+
}
|
|
171
|
+
|
|
162
172
|
.dark {
|
|
163
173
|
--background: oklch(0.09 0.015 255);
|
|
164
174
|
--foreground: oklch(0.96 0.005 247);
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.0
|
|
6
|
+
"version": "1.1.0",
|
|
7
7
|
"description": "The design library for AmazeCC",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist"
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"clsx": "^2.1.1",
|
|
53
53
|
"lucide-react-native": "^1.23.0",
|
|
54
54
|
"nativewind": "^4.2.6",
|
|
55
|
+
"next-themes": "^0.4.6",
|
|
55
56
|
"react": "^19.2.7",
|
|
56
57
|
"react-dom": "^19.2.7",
|
|
57
58
|
"react-native": "^0.86.0",
|