@react-native-reusables/cli 0.0.13 → 0.0.15
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/generated → __generated}/components/primitives/portal.tsx +27 -12
- package/{dist/generated → __generated}/components/ui/alert-dialog.tsx +3 -3
- package/{dist/generated → __generated}/components/ui/context-menu.tsx +4 -3
- package/{dist/generated → __generated}/components/ui/dialog.tsx +3 -3
- package/{dist/generated → __generated}/components/ui/dropdown-menu.tsx +4 -3
- package/{dist/generated → __generated}/components/ui/menubar.tsx +3 -3
- package/{dist/generated → __generated}/components/ui/navigation-menu.tsx +5 -3
- package/{dist/generated → __generated}/components/ui/popover.tsx +3 -3
- package/{dist/generated → __generated}/components/ui/select.tsx +3 -3
- package/{dist/generated → __generated}/components/ui/tooltip.tsx +3 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +7 -6
- /package/{dist/generated → __generated}/components/primitives/accordion/accordion.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/accordion/accordion.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/accordion/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/accordion/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/alert-dialog/alert-dialog.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/alert-dialog/alert-dialog.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/alert-dialog/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/alert-dialog/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/aspect-ratio.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/avatar/index.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/avatar/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/checkbox/checkbox.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/checkbox/checkbox.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/checkbox/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/checkbox/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/collapsible/collapsible.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/collapsible/collapsible.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/collapsible/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/collapsible/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/context-menu/context-menu.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/context-menu/context-menu.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/context-menu/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/context-menu/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/dialog/dialog.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/dialog/dialog.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/dialog/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/dialog/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/dropdown-menu/dropdown-menu.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/dropdown-menu/dropdown-menu.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/dropdown-menu/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/dropdown-menu/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/hooks/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/hooks/useAugmentedRef.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/hooks/useControllableState.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/hooks/useRelativePosition.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/hover-card/hover-card.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/hover-card/hover-card.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/hover-card/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/hover-card/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/label/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/label/label.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/label/label.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/label/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/menubar/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/menubar/menubar.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/menubar/menubar.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/menubar/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/navigation-menu/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/navigation-menu/navigation-menu.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/navigation-menu/navigation-menu.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/navigation-menu/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/popover/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/popover/popover.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/popover/popover.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/popover/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/progress/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/progress/progress.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/progress/progress.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/progress/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/radio-group/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/radio-group/radio-group.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/radio-group/radio-group.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/radio-group/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/select/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/select/select.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/select/select.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/select/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/separator/index.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/separator/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/slider/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/slider/slider.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/slider/slider.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/slider/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/slot.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/switch/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/switch/switch.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/switch/switch.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/switch/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/table.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/tabs/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/tabs/tabs.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/tabs/tabs.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/tabs/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/toast/index.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/toast/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/toggle/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/toggle/toggle.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/toggle/toggle.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/toggle/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/toggle-group/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/toggle-group/toggle-group.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/toggle-group/toggle-group.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/toggle-group/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/toolbar/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/toolbar/toolbar.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/toolbar/toolbar.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/toolbar/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/tooltip/index.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/tooltip/tooltip.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/tooltip/tooltip.web.tsx +0 -0
- /package/{dist/generated → __generated}/components/primitives/tooltip/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/types.ts +0 -0
- /package/{dist/generated → __generated}/components/primitives/utils.ts +0 -0
- /package/{dist/generated → __generated}/components/ui/accordion.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/aspect-ratio.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/avatar.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/badge.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/button.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/card.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/checkbox.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/collapsible.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/hover-card.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/input.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/label.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/radio-group.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/separator.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/skeleton.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/switch.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/table.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/tabs.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/text.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/textarea.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/toggle-group.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/toggle.tsx +0 -0
- /package/{dist/generated → __generated}/components/ui/typography.tsx +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { Platform, type View, type ViewStyle } from 'react-native';
|
|
2
3
|
import { create } from 'zustand';
|
|
3
4
|
|
|
4
5
|
const DEFAULT_PORTAL_HOST = 'INTERNAL_PRIMITIVE_DEFAULT_HOST_NAME';
|
|
@@ -7,17 +8,10 @@ type PortalMap = Map<string, React.ReactNode>;
|
|
|
7
8
|
type PortalHostMap = Map<string, PortalMap>;
|
|
8
9
|
|
|
9
10
|
const usePortal = create<{ map: PortalHostMap }>(() => ({
|
|
10
|
-
map: new Map<string, PortalMap>().set(
|
|
11
|
-
DEFAULT_PORTAL_HOST,
|
|
12
|
-
new Map<string, React.ReactNode>()
|
|
13
|
-
),
|
|
11
|
+
map: new Map<string, PortalMap>().set(DEFAULT_PORTAL_HOST, new Map<string, React.ReactNode>()),
|
|
14
12
|
}));
|
|
15
13
|
|
|
16
|
-
const updatePortal = (
|
|
17
|
-
hostName: string,
|
|
18
|
-
name: string,
|
|
19
|
-
children: React.ReactNode
|
|
20
|
-
) => {
|
|
14
|
+
const updatePortal = (hostName: string, name: string, children: React.ReactNode) => {
|
|
21
15
|
usePortal.setState((prev) => {
|
|
22
16
|
const next = new Map(prev.map);
|
|
23
17
|
const portal = next.get(hostName) ?? new Map<string, React.ReactNode>();
|
|
@@ -37,9 +31,7 @@ const removePortal = (hostName: string, name: string) => {
|
|
|
37
31
|
};
|
|
38
32
|
|
|
39
33
|
export function PortalHost({ name = DEFAULT_PORTAL_HOST }: { name?: string }) {
|
|
40
|
-
const portalMap =
|
|
41
|
-
usePortal((state) => state.map).get(name) ??
|
|
42
|
-
new Map<string, React.ReactNode>();
|
|
34
|
+
const portalMap = usePortal((state) => state.map).get(name) ?? new Map<string, React.ReactNode>();
|
|
43
35
|
if (portalMap.size === 0) return null;
|
|
44
36
|
return <>{Array.from(portalMap.values())}</>;
|
|
45
37
|
}
|
|
@@ -65,3 +57,26 @@ export function Portal({
|
|
|
65
57
|
|
|
66
58
|
return null;
|
|
67
59
|
}
|
|
60
|
+
|
|
61
|
+
const ROOT: ViewStyle = {
|
|
62
|
+
flex: 1,
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export function useModalPortalRoot() {
|
|
66
|
+
const ref = React.useRef<View>(null);
|
|
67
|
+
const [sideOffset, setSideOffSet] = React.useState(0);
|
|
68
|
+
|
|
69
|
+
const onLayout = React.useCallback(() => {
|
|
70
|
+
if (Platform.OS === 'web') return;
|
|
71
|
+
ref.current?.measure((_x, _y, _width, _height, _pageX, pageY) => {
|
|
72
|
+
setSideOffSet(-pageY);
|
|
73
|
+
});
|
|
74
|
+
}, []);
|
|
75
|
+
|
|
76
|
+
return {
|
|
77
|
+
ref,
|
|
78
|
+
sideOffset,
|
|
79
|
+
onLayout,
|
|
80
|
+
style: ROOT,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
@@ -61,12 +61,12 @@ const AlertDialogOverlay = Platform.select({
|
|
|
61
61
|
|
|
62
62
|
const AlertDialogContent = React.forwardRef<
|
|
63
63
|
React.ElementRef<typeof AlertDialogPrimitive.Content>,
|
|
64
|
-
React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>
|
|
65
|
-
>(({ className, ...props }, ref) => {
|
|
64
|
+
React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content> & { portalHost?: string }
|
|
65
|
+
>(({ className, portalHost, ...props }, ref) => {
|
|
66
66
|
const { open } = AlertDialogPrimitive.useRootContext();
|
|
67
67
|
|
|
68
68
|
return (
|
|
69
|
-
<AlertDialogPortal>
|
|
69
|
+
<AlertDialogPortal hostName={portalHost}>
|
|
70
70
|
<AlertDialogOverlay>
|
|
71
71
|
<AlertDialogPrimitive.Content
|
|
72
72
|
ref={ref}
|
|
@@ -76,18 +76,19 @@ const ContextMenuContent = React.forwardRef<
|
|
|
76
76
|
React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content> & {
|
|
77
77
|
overlayStyle?: StyleProp<ViewStyle>;
|
|
78
78
|
overlayClassName?: string;
|
|
79
|
+
portalHost?: string;
|
|
79
80
|
}
|
|
80
|
-
>(({ className, overlayClassName, overlayStyle, ...props }, ref) => {
|
|
81
|
+
>(({ className, overlayClassName, overlayStyle, portalHost, ...props }, ref) => {
|
|
81
82
|
const { open } = ContextMenuPrimitive.useRootContext();
|
|
82
83
|
return (
|
|
83
|
-
<ContextMenuPrimitive.Portal>
|
|
84
|
+
<ContextMenuPrimitive.Portal hostName={portalHost}>
|
|
84
85
|
<ContextMenuPrimitive.Overlay
|
|
85
86
|
style={
|
|
86
87
|
overlayStyle
|
|
87
88
|
? StyleSheet.flatten([
|
|
88
89
|
Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined,
|
|
89
90
|
overlayStyle,
|
|
90
|
-
])
|
|
91
|
+
] as ViewStyle)
|
|
91
92
|
: Platform.OS !== 'web'
|
|
92
93
|
? StyleSheet.absoluteFill
|
|
93
94
|
: undefined
|
|
@@ -61,11 +61,11 @@ const DialogOverlay = Platform.select({
|
|
|
61
61
|
|
|
62
62
|
const DialogContent = React.forwardRef<
|
|
63
63
|
React.ElementRef<typeof DialogPrimitive.Content>,
|
|
64
|
-
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>
|
|
65
|
-
>(({ className, children, ...props }, ref) => {
|
|
64
|
+
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & { portalHost?: string }
|
|
65
|
+
>(({ className, children, portalHost, ...props }, ref) => {
|
|
66
66
|
const { open } = DialogPrimitive.useRootContext();
|
|
67
67
|
return (
|
|
68
|
-
<DialogPortal>
|
|
68
|
+
<DialogPortal hostName={portalHost}>
|
|
69
69
|
<DialogOverlay>
|
|
70
70
|
<DialogPrimitive.Content
|
|
71
71
|
ref={ref}
|
|
@@ -76,18 +76,19 @@ const DropdownMenuContent = React.forwardRef<
|
|
|
76
76
|
React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> & {
|
|
77
77
|
overlayStyle?: StyleProp<ViewStyle>;
|
|
78
78
|
overlayClassName?: string;
|
|
79
|
+
portalHost?: string;
|
|
79
80
|
}
|
|
80
|
-
>(({ className, overlayClassName, overlayStyle, ...props }, ref) => {
|
|
81
|
+
>(({ className, overlayClassName, overlayStyle, portalHost, ...props }, ref) => {
|
|
81
82
|
const { open } = DropdownMenuPrimitive.useRootContext();
|
|
82
83
|
return (
|
|
83
|
-
<DropdownMenuPrimitive.Portal>
|
|
84
|
+
<DropdownMenuPrimitive.Portal hostName={portalHost}>
|
|
84
85
|
<DropdownMenuPrimitive.Overlay
|
|
85
86
|
style={
|
|
86
87
|
overlayStyle
|
|
87
88
|
? StyleSheet.flatten([
|
|
88
89
|
Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined,
|
|
89
90
|
overlayStyle,
|
|
90
|
-
])
|
|
91
|
+
] as ViewStyle)
|
|
91
92
|
: Platform.OS !== 'web'
|
|
92
93
|
? StyleSheet.absoluteFill
|
|
93
94
|
: undefined
|
|
@@ -107,12 +107,12 @@ MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
|
|
|
107
107
|
|
|
108
108
|
const MenubarContent = React.forwardRef<
|
|
109
109
|
React.ElementRef<typeof MenubarPrimitive.Content>,
|
|
110
|
-
React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>
|
|
111
|
-
>(({ className, ...props }, ref) => {
|
|
110
|
+
React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content> & { portalHost?: string }
|
|
111
|
+
>(({ className, portalHost, ...props }, ref) => {
|
|
112
112
|
const { value } = MenubarPrimitive.useRootContext();
|
|
113
113
|
const { value: itemValue } = MenubarPrimitive.useMenuContext();
|
|
114
114
|
return (
|
|
115
|
-
<MenubarPrimitive.Portal>
|
|
115
|
+
<MenubarPrimitive.Portal hostName={portalHost}>
|
|
116
116
|
<MenubarPrimitive.Content
|
|
117
117
|
ref={ref}
|
|
118
118
|
className={cn(
|
|
@@ -91,12 +91,14 @@ NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
|
91
91
|
|
|
92
92
|
const NavigationMenuContent = React.forwardRef<
|
|
93
93
|
React.ElementRef<typeof NavigationMenuPrimitive.Content>,
|
|
94
|
-
React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>
|
|
95
|
-
|
|
94
|
+
React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content> & {
|
|
95
|
+
portalHost?: string;
|
|
96
|
+
}
|
|
97
|
+
>(({ className, children, portalHost, ...props }, ref) => {
|
|
96
98
|
const { value } = NavigationMenuPrimitive.useRootContext();
|
|
97
99
|
const { value: itemValue } = NavigationMenuPrimitive.useItemContext();
|
|
98
100
|
return (
|
|
99
|
-
<NavigationMenuPrimitive.Portal>
|
|
101
|
+
<NavigationMenuPrimitive.Portal hostName={portalHost}>
|
|
100
102
|
<NavigationMenuPrimitive.Content
|
|
101
103
|
ref={ref}
|
|
102
104
|
className={cn(
|
|
@@ -11,10 +11,10 @@ const PopoverTrigger = PopoverPrimitive.Trigger;
|
|
|
11
11
|
|
|
12
12
|
const PopoverContent = React.forwardRef<
|
|
13
13
|
React.ElementRef<typeof PopoverPrimitive.Content>,
|
|
14
|
-
React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>
|
|
15
|
-
>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => {
|
|
14
|
+
React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & { portalHost?: string }
|
|
15
|
+
>(({ className, align = 'center', sideOffset = 4, portalHost, ...props }, ref) => {
|
|
16
16
|
return (
|
|
17
|
-
<PopoverPrimitive.Portal>
|
|
17
|
+
<PopoverPrimitive.Portal hostName={portalHost}>
|
|
18
18
|
<PopoverPrimitive.Overlay style={Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined}>
|
|
19
19
|
<Animated.View entering={FadeIn.duration(200)} exiting={FadeOut}>
|
|
20
20
|
<TextClassContext.Provider value='text-popover-foreground'>
|
|
@@ -74,12 +74,12 @@ const SelectScrollDownButton = ({
|
|
|
74
74
|
|
|
75
75
|
const SelectContent = React.forwardRef<
|
|
76
76
|
React.ElementRef<typeof SelectPrimitive.Content>,
|
|
77
|
-
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>
|
|
78
|
-
>(({ className, children, position = 'popper', ...props }, ref) => {
|
|
77
|
+
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> & { portalHost?: string }
|
|
78
|
+
>(({ className, children, position = 'popper', portalHost, ...props }, ref) => {
|
|
79
79
|
const { open } = SelectPrimitive.useRootContext();
|
|
80
80
|
|
|
81
81
|
return (
|
|
82
|
-
<SelectPrimitive.Portal>
|
|
82
|
+
<SelectPrimitive.Portal hostName={portalHost}>
|
|
83
83
|
<SelectPrimitive.Overlay style={Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined}>
|
|
84
84
|
<Animated.View entering={FadeIn} exiting={FadeOut}>
|
|
85
85
|
<SelectPrimitive.Content
|
|
@@ -11,9 +11,9 @@ const TooltipTrigger = TooltipPrimitive.Trigger;
|
|
|
11
11
|
|
|
12
12
|
const TooltipContent = React.forwardRef<
|
|
13
13
|
React.ElementRef<typeof TooltipPrimitive.Content>,
|
|
14
|
-
React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>
|
|
15
|
-
>(({ className, sideOffset = 4, ...props }, ref) => (
|
|
16
|
-
<TooltipPrimitive.Portal>
|
|
14
|
+
React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & { portalHost?: string }
|
|
15
|
+
>(({ className, sideOffset = 4, portalHost, ...props }, ref) => (
|
|
16
|
+
<TooltipPrimitive.Portal hostName={portalHost}>
|
|
17
17
|
<TooltipPrimitive.Overlay style={Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined}>
|
|
18
18
|
<Animated.View entering={FadeIn} exiting={FadeOut}>
|
|
19
19
|
<TextClassContext.Provider value='text-sm native:text-base text-popover-foreground'>
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createMatchPath as U}from"tsconfig-paths";async function h(e,o){return U(o.absoluteBaseUrl,o.paths)(e,void 0,()=>!0,[".ts",".tsx"])}import{cosmiconfig as W}from"cosmiconfig";import{loadConfig as z}from"tsconfig-paths";import{z as m}from"zod";var E="~/components",N="~/lib",J=W("components",{searchPlaces:["components.json"]}),g=m.object({platforms:m.string().optional(),aliases:m.object({components:m.string(),lib:m.string()})}).strict(),B=g.extend({platforms:m.string().optional(),resolvedPaths:m.object({lib:m.string(),components:m.string()})});async function S(e){let o=await V(e);return o?await _(e,o):null}async function _(e,o){let t=await z(e);if(t.resultType==="failed")throw new Error(`Failed to load tsconfig.json. ${t.message??""}`.trim());return B.parse({...o,resolvedPaths:{lib:await h(o.aliases.lib,t),components:await h(o.aliases.components,t)}})}async function V(e){try{let o=await J.search(e);return o?g.parse(o.config):null}catch{throw new Error(`Invalid configuration found in ${e}/components.json.`)}}import{detect as G}from"@antfu/ni";async function I(e){let o=await G({programmatic:!0,cwd:e});return o==="yarn@berry"?"yarn":o==="pnpm@6"?"pnpm":o==="bun"?"bun":o??"npm"}import x from"chalk";var l={error(...e){console.log(x.red(...e))},warn(...e){console.log(x.yellow(...e))},info(...e){console.log(x.cyan(...e))},success(...e){console.log(x.green(...e))},break(){console.log("")}};function w(e){typeof e=="string"&&(l.error(e),process.exit(1)),e instanceof Error&&(l.error(e.message),process.exit(1)),l.error("Something went wrong. Please try again."),process.exit(1)}import P from"chalk";import{Command as H}from"commander";import{execa as K}from"execa";import{existsSync as F,promises as b}from"fs";import M from"ora";import p from"path";import C from"prompts";import{z as f}from"zod";var k=[{name:"accordion",dependencies:["accordion-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/accordion.tsx",to:{folder:"ui",file:"accordion.tsx"}}]},{name:"alert-dialog",dependencies:["alert-dialog-primitive","button","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/alert-dialog.tsx",to:{folder:"ui",file:"alert-dialog.tsx"}}]},{name:"aspect-ratio",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/aspect-ratio.tsx",to:{folder:"ui",file:"aspect-ratio.tsx"}}]},{name:"avatar",dependencies:["avatar-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/avatar.tsx",to:{folder:"ui",file:"avatar.tsx"}}]},{name:"badge",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/badge.tsx",to:{folder:"ui",file:"badge.tsx"}}]},{name:"button",dependencies:["text","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/button.tsx",to:{folder:"ui",file:"button.tsx"}}]},{name:"card",dependencies:["text","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/card.tsx",to:{folder:"ui",file:"card.tsx"}}]},{name:"checkbox",dependencies:["checkbox-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/checkbox.tsx",to:{folder:"ui",file:"checkbox.tsx"}}]},{name:"collapsible",dependencies:["collapsible-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/collapsible.tsx",to:{folder:"ui",file:"collapsible.tsx"}}]},{name:"context-menu",dependencies:["context-menu-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/context-menu.tsx",to:{folder:"ui",file:"context-menu.tsx"}}]},{name:"dialog",dependencies:["dialog-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/dialog.tsx",to:{folder:"ui",file:"dialog.tsx"}}]},{name:"dropdown-menu",dependencies:["dropdown-menu-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/dropdown-menu.tsx",to:{folder:"ui",file:"dropdown-menu.tsx"}}]},{name:"hover-card",dependencies:["hover-card-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/hover-card.tsx",to:{folder:"ui",file:"hover-card.tsx"}}]},{name:"input",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/input.tsx",to:{folder:"ui",file:"input.tsx"}}]},{name:"label",dependencies:["label-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/label.tsx",to:{folder:"ui",file:"label.tsx"}}]},{name:"menubar",dependencies:["menubar-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/menubar.tsx",to:{folder:"ui",file:"menubar.tsx"}}]},{name:"navigation-menu",dependencies:["navigation-menu-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/navigation-menu.tsx",to:{folder:"ui",file:"navigation-menu.tsx"}}]},{name:"popover",dependencies:["popover-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/popover.tsx",to:{folder:"ui",file:"popover.tsx"}}]},{name:"radio-group",dependencies:["radio-group-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/radio-group.tsx",to:{folder:"ui",file:"radio-group.tsx"}}]},{name:"select",dependencies:["select-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/select.tsx",to:{folder:"ui",file:"select.tsx"}}]},{name:"separator",dependencies:["separator-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/separator.tsx",to:{folder:"ui",file:"separator.tsx"}}]},{name:"skeleton",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/skeleton.tsx",to:{folder:"ui",file:"skeleton.tsx"}}]},{name:"switch",dependencies:["switch-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/switch.tsx",to:{folder:"ui",file:"switch.tsx"}}]},{name:"table",dependencies:["table-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/table.tsx",to:{folder:"ui",file:"table.tsx"}}]},{name:"tabs",dependencies:["tabs-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/tabs.tsx",to:{folder:"ui",file:"tabs.tsx"}}]},{name:"text",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/text.tsx",to:{folder:"ui",file:"text.tsx"}}]},{name:"textarea",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/textarea.tsx",to:{folder:"ui",file:"textarea.tsx"}}]},{name:"toggle",dependencies:["toggle-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/toggle.tsx",to:{folder:"ui",file:"toggle.tsx"}}]},{name:"toggle-group",dependencies:["toggle-group-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/toggle-group.tsx",to:{folder:"ui",file:"toggle-group.tsx"}}]},{name:"tooltip",dependencies:["tooltip-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/tooltip.tsx",to:{folder:"ui",file:"tooltip.tsx"}}]},{name:"typography",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/typography.tsx",to:{folder:"ui",file:"typography.tsx"}}]}],q=[{name:"accordion-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-accordion"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/accordion/src/index.ts",to:{folder:"primitives/accordion",file:"index.ts"}},{from:"./node_modules/@rnr/accordion/src/accordion.web.tsx",to:{folder:"primitives/accordion",file:"accordion.web.tsx"}},{from:"./node_modules/@rnr/accordion/src/accordion.tsx",to:{folder:"primitives/accordion",file:"accordion.tsx"}},{from:"./node_modules/@rnr/accordion/src/types.ts",to:{folder:"primitives/accordion",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/accordion/src/accordion.tsx",distFrom:"primitives/accordion/accordion.tsx",to:{folder:"primitives/accordion",file:"index.tsx"}},{from:"./node_modules/@rnr/accordion/src/types.ts",distFrom:"primitives/accordion/types.ts",to:{folder:"primitives/accordion",file:"types.ts"}}]}},{name:"alert-dialog-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-alert-dialog"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/alert-dialog/src/index.ts",to:{folder:"primitives/alert-dialog",file:"index.ts"}},{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.web.tsx",to:{folder:"primitives/alert-dialog",file:"alert-dialog.web.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.tsx",to:{folder:"primitives/alert-dialog",file:"alert-dialog.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/types.ts",to:{folder:"primitives/alert-dialog",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.tsx",distFrom:"primitives/alert-dialog/alert-dialog.tsx",to:{folder:"primitives/alert-dialog",file:"index.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/types.ts",distFrom:"primitives/alert-dialog/types.ts",to:{folder:"primitives/alert-dialog",file:"types.ts"}}]}},{name:"aspect-ratio-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/aspect-ratio/src/aspect-ratio.tsx",to:{folder:"primitives",file:"aspect-ratio.tsx"}}]},{name:"avatar-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/avatar/src/avatar.tsx",to:{folder:"primitives/avatar",file:"index.tsx"}},{from:"./node_modules/@rnr/avatar/src/types.ts",to:{folder:"primitives/avatar",file:"types.ts"}}]},{name:"checkbox-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-checkbox"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/checkbox/src/index.ts",to:{folder:"primitives/checkbox",file:"index.ts"}},{from:"./node_modules/@rnr/checkbox/src/checkbox.web.tsx",to:{folder:"primitives/checkbox",file:"checkbox.web.tsx"}},{from:"./node_modules/@rnr/checkbox/src/checkbox.tsx",to:{folder:"primitives/checkbox",file:"checkbox.tsx"}},{from:"./node_modules/@rnr/checkbox/src/types.ts",to:{folder:"primitives/checkbox",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/checkbox/src/checkbox.tsx",distFrom:"primitives/checkbox/checkbox.tsx",to:{folder:"primitives/checkbox",file:"index.tsx"}},{from:"./node_modules/@rnr/checkbox/src/types.ts",distFrom:"primitives/checkbox/types.ts",to:{folder:"primitives/checkbox",file:"types.ts"}}]}},{name:"collapsible-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-collapsible"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/collapsible/src/index.ts",to:{folder:"primitives/collapsible",file:"index.ts"}},{from:"./node_modules/@rnr/collapsible/src/collapsible.web.tsx",to:{folder:"primitives/collapsible",file:"collapsible.web.tsx"}},{from:"./node_modules/@rnr/collapsible/src/collapsible.tsx",to:{folder:"primitives/collapsible",file:"collapsible.tsx"}},{from:"./node_modules/@rnr/collapsible/src/types.ts",to:{folder:"primitives/collapsible",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/collapsible/src/collapsible.tsx",distFrom:"primitives/collapsible/collapsible.tsx",to:{folder:"primitives/collapsible",file:"index.tsx"}},{from:"./node_modules/@rnr/collapsible/src/types.ts",distFrom:"primitives/collapsible/types.ts",to:{folder:"primitives/collapsible",file:"types.ts"}}]}},{name:"context-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-context-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/context-menu/src/index.ts",to:{folder:"primitives/context-menu",file:"index.ts"}},{from:"./node_modules/@rnr/context-menu/src/context-menu.web.tsx",to:{folder:"primitives/context-menu",file:"context-menu.web.tsx"}},{from:"./node_modules/@rnr/context-menu/src/context-menu.tsx",to:{folder:"primitives/context-menu",file:"context-menu.tsx"}},{from:"./node_modules/@rnr/context-menu/src/types.ts",to:{folder:"primitives/context-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/context-menu/src/context-menu.tsx",distFrom:"primitives/context-menu/context-menu.tsx",to:{folder:"primitives/context-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/context-menu/src/types.ts",distFrom:"primitives/context-menu/types.ts",to:{folder:"primitives/context-menu",file:"types.ts"}}]}},{name:"dialog-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-dialog"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/dialog/src/index.ts",to:{folder:"primitives/dialog",file:"index.ts"}},{from:"./node_modules/@rnr/dialog/src/dialog.web.tsx",to:{folder:"primitives/dialog",file:"dialog.web.tsx"}},{from:"./node_modules/@rnr/dialog/src/dialog.tsx",to:{folder:"primitives/dialog",file:"dialog.tsx"}},{from:"./node_modules/@rnr/dialog/src/types.ts",to:{folder:"primitives/dialog",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/dialog/src/dialog.tsx",distFrom:"primitives/dialog/dialog.tsx",to:{folder:"primitives/dialog",file:"index.tsx"}},{from:"./node_modules/@rnr/dialog/src/types.ts",distFrom:"primitives/dialog/types.ts",to:{folder:"primitives/dialog",file:"types.ts"}}]}},{name:"dropdown-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-dropdown-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/dropdown-menu/src/index.ts",to:{folder:"primitives/dropdown-menu",file:"index.ts"}},{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.web.tsx",to:{folder:"primitives/dropdown-menu",file:"dropdown-menu.web.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx",to:{folder:"primitives/dropdown-menu",file:"dropdown-menu.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/types.ts",to:{folder:"primitives/dropdown-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx",distFrom:"primitives/dropdown-menu/dropdown-menu.tsx",to:{folder:"primitives/dropdown-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/types.ts",distFrom:"primitives/dropdown-menu/types.ts",to:{folder:"primitives/dropdown-menu",file:"types.ts"}}]}},{name:"hover-card-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-hover-card"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/hover-card/src/index.ts",to:{folder:"primitives/hover-card",file:"index.ts"}},{from:"./node_modules/@rnr/hover-card/src/hover-card.web.tsx",to:{folder:"primitives/hover-card",file:"hover-card.web.tsx"}},{from:"./node_modules/@rnr/hover-card/src/hover-card.tsx",to:{folder:"primitives/hover-card",file:"hover-card.tsx"}},{from:"./node_modules/@rnr/hover-card/src/types.ts",to:{folder:"primitives/hover-card",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/hover-card/src/hover-card.tsx",distFrom:"primitives/hover-card/hover-card.tsx",to:{folder:"primitives/hover-card",file:"index.tsx"}},{from:"./node_modules/@rnr/hover-card/src/types.ts",distFrom:"primitives/hover-card/types.ts",to:{folder:"primitives/hover-card",file:"types.ts"}}]}},{name:"label-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-label"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/label/src/index.ts",to:{folder:"primitives/label",file:"index.ts"}},{from:"./node_modules/@rnr/label/src/label.web.tsx",to:{folder:"primitives/label",file:"label.web.tsx"}},{from:"./node_modules/@rnr/label/src/label.tsx",to:{folder:"primitives/label",file:"label.tsx"}},{from:"./node_modules/@rnr/label/src/types.ts",to:{folder:"primitives/label",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/label/src/label.tsx",distFrom:"primitives/label/label.tsx",to:{folder:"primitives/label",file:"index.tsx"}},{from:"./node_modules/@rnr/label/src/types.ts",distFrom:"primitives/label/types.ts",to:{folder:"primitives/label",file:"types.ts"}}]}},{name:"menubar-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-menubar"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/menubar/src/index.ts",to:{folder:"primitives/menubar",file:"index.ts"}},{from:"./node_modules/@rnr/menubar/src/menubar.web.tsx",to:{folder:"primitives/menubar",file:"menubar.web.tsx"}},{from:"./node_modules/@rnr/menubar/src/menubar.tsx",to:{folder:"primitives/menubar",file:"menubar.tsx"}},{from:"./node_modules/@rnr/menubar/src/types.ts",to:{folder:"primitives/menubar",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/menubar/src/menubar.tsx",distFrom:"primitives/menubar/menubar.tsx",to:{folder:"primitives/menubar",file:"index.tsx"}},{from:"./node_modules/@rnr/menubar/src/types.ts",distFrom:"primitives/menubar/types.ts",to:{folder:"primitives/menubar",file:"types.ts"}}]}},{name:"navigation-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-navigation-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/navigation-menu/src/index.ts",to:{folder:"primitives/navigation-menu",file:"index.ts"}},{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.web.tsx",to:{folder:"primitives/navigation-menu",file:"navigation-menu.web.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.tsx",to:{folder:"primitives/navigation-menu",file:"navigation-menu.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/types.ts",to:{folder:"primitives/navigation-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.tsx",distFrom:"primitives/navigation-menu/navigation-menu.tsx",to:{folder:"primitives/navigation-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/types.ts",distFrom:"primitives/navigation-menu/types.ts",to:{folder:"primitives/navigation-menu",file:"types.ts"}}]}},{name:"popover-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-popover"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/popover/src/index.ts",to:{folder:"primitives/popover",file:"index.ts"}},{from:"./node_modules/@rnr/popover/src/popover.web.tsx",to:{folder:"primitives/popover",file:"popover.web.tsx"}},{from:"./node_modules/@rnr/popover/src/popover.tsx",to:{folder:"primitives/popover",file:"popover.tsx"}},{from:"./node_modules/@rnr/popover/src/types.ts",to:{folder:"primitives/popover",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/popover/src/popover.tsx",distFrom:"primitives/popover/popover.tsx",to:{folder:"primitives/popover",file:"index.tsx"}},{from:"./node_modules/@rnr/popover/src/types.ts",distFrom:"primitives/popover/types.ts",to:{folder:"primitives/popover",file:"types.ts"}}]}},{name:"progress-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-progress"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/progress/src/index.ts",to:{folder:"primitives/progress",file:"index.ts"}},{from:"./node_modules/@rnr/progress/src/progress.web.tsx",to:{folder:"primitives/progress",file:"progress.web.tsx"}},{from:"./node_modules/@rnr/progress/src/progress.tsx",to:{folder:"primitives/progress",file:"progress.tsx"}},{from:"./node_modules/@rnr/progress/src/types.ts",to:{folder:"primitives/progress",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/progress/src/progress.tsx",distFrom:"primitives/progress/progress.tsx",to:{folder:"primitives/progress",file:"index.tsx"}},{from:"./node_modules/@rnr/progress/src/types.ts",distFrom:"primitives/progress/types.ts",to:{folder:"primitives/progress",file:"types.ts"}}]}},{name:"radio-group-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-radio-group"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/radio-group/src/index.ts",to:{folder:"primitives/radio-group",file:"index.ts"}},{from:"./node_modules/@rnr/radio-group/src/radio-group.web.tsx",to:{folder:"primitives/radio-group",file:"radio-group.web.tsx"}},{from:"./node_modules/@rnr/radio-group/src/radio-group.tsx",to:{folder:"primitives/radio-group",file:"radio-group.tsx"}},{from:"./node_modules/@rnr/radio-group/src/types.ts",to:{folder:"primitives/radio-group",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/radio-group/src/radio-group.tsx",distFrom:"primitives/radio-group/radio-group.tsx",to:{folder:"primitives/radio-group",file:"index.tsx"}},{from:"./node_modules/@rnr/radio-group/src/types.ts",distFrom:"primitives/radio-group/types.ts",to:{folder:"primitives/radio-group",file:"types.ts"}}]}},{name:"select-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-select"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/select/src/index.ts",to:{folder:"primitives/select",file:"index.ts"}},{from:"./node_modules/@rnr/select/src/select.web.tsx",to:{folder:"primitives/select",file:"select.web.tsx"}},{from:"./node_modules/@rnr/select/src/select.tsx",to:{folder:"primitives/select",file:"select.tsx"}},{from:"./node_modules/@rnr/select/src/types.ts",to:{folder:"primitives/select",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/select/src/select.tsx",distFrom:"primitives/select/select.tsx",to:{folder:"primitives/select",file:"index.tsx"}},{from:"./node_modules/@rnr/select/src/types.ts",distFrom:"primitives/select/types.ts",to:{folder:"primitives/select",file:"types.ts"}}]}},{name:"separator-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/separator/src/separator.tsx",to:{folder:"primitives/separator",file:"index.tsx"}},{from:"./node_modules/@rnr/separator/src/types.ts",to:{folder:"primitives/separator",file:"types.ts"}}]},{name:"slider-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-slider"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/slider/src/index.ts",to:{folder:"primitives/slider",file:"index.ts"}},{from:"./node_modules/@rnr/slider/src/slider.web.tsx",to:{folder:"primitives/slider",file:"slider.web.tsx"}},{from:"./node_modules/@rnr/slider/src/slider.tsx",to:{folder:"primitives/slider",file:"slider.tsx"}},{from:"./node_modules/@rnr/slider/src/types.ts",to:{folder:"primitives/slider",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/slider/src/slider.tsx",distFrom:"primitives/slider/slider.tsx",to:{folder:"primitives/slider",file:"index.tsx"}},{from:"./node_modules/@rnr/slider/src/types.ts",distFrom:"primitives/slider/types.ts",to:{folder:"primitives/slider",file:"types.ts"}}]}},{name:"switch-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-switch"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/switch/src/index.ts",to:{folder:"primitives/switch",file:"index.ts"}},{from:"./node_modules/@rnr/switch/src/switch.web.tsx",to:{folder:"primitives/switch",file:"switch.web.tsx"}},{from:"./node_modules/@rnr/switch/src/switch.tsx",to:{folder:"primitives/switch",file:"switch.tsx"}},{from:"./node_modules/@rnr/switch/src/types.ts",to:{folder:"primitives/switch",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/switch/src/switch.tsx",distFrom:"primitives/switch/switch.tsx",to:{folder:"primitives/switch",file:"index.tsx"}},{from:"./node_modules/@rnr/switch/src/types.ts",distFrom:"primitives/switch/types.ts",to:{folder:"primitives/switch",file:"types.ts"}}]}},{name:"table-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/table/src/table.tsx",to:{folder:"primitives",file:"table.tsx"}}]},{name:"tabs-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-tabs"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/tabs/src/index.ts",to:{folder:"primitives/tabs",file:"index.ts"}},{from:"./node_modules/@rnr/tabs/src/tabs.web.tsx",to:{folder:"primitives/tabs",file:"tabs.web.tsx"}},{from:"./node_modules/@rnr/tabs/src/tabs.tsx",to:{folder:"primitives/tabs",file:"tabs.tsx"}},{from:"./node_modules/@rnr/tabs/src/types.ts",to:{folder:"primitives/tabs",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/tabs/src/tabs.tsx",distFrom:"primitives/tabs/tabs.tsx",to:{folder:"primitives/tabs",file:"index.tsx"}},{from:"./node_modules/@rnr/tabs/src/types.ts",distFrom:"primitives/tabs/types.ts",to:{folder:"primitives/tabs",file:"types.ts"}}]}},{name:"toast-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/toast/src/toast.tsx",to:{folder:"primitives/toast",file:"index.tsx"}},{from:"./node_modules/@rnr/toast/src/types.ts",to:{folder:"primitives/toast",file:"types.ts"}}]},{name:"toggle-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-toggle"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toggle/src/index.ts",to:{folder:"primitives/toggle",file:"index.ts"}},{from:"./node_modules/@rnr/toggle/src/toggle.web.tsx",to:{folder:"primitives/toggle",file:"toggle.web.tsx"}},{from:"./node_modules/@rnr/toggle/src/toggle.tsx",to:{folder:"primitives/toggle",file:"toggle.tsx"}},{from:"./node_modules/@rnr/toggle/src/types.ts",to:{folder:"primitives/toggle",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toggle/src/toggle.tsx",distFrom:"primitives/toggle/toggle.tsx",to:{folder:"primitives/toggle",file:"index.tsx"}},{from:"./node_modules/@rnr/toggle/src/types.ts",distFrom:"primitives/toggle/types.ts",to:{folder:"primitives/toggle",file:"types.ts"}}]}},{name:"toggle-group-primitive",dependencies:["slot-primitive","types-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-toggle-group"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toggle-group/src/index.ts",to:{folder:"primitives/toggle-group",file:"index.ts"}},{from:"./node_modules/@rnr/toggle-group/src/toggle-group.web.tsx",to:{folder:"primitives/toggle-group",file:"toggle-group.web.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/toggle-group.tsx",to:{folder:"primitives/toggle-group",file:"toggle-group.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/types.ts",to:{folder:"primitives/toggle-group",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toggle-group/src/toggle-group.tsx",distFrom:"primitives/toggle-group/toggle-group.tsx",to:{folder:"primitives/toggle-group",file:"index.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/types.ts",distFrom:"primitives/toggle-group/types.ts",to:{folder:"primitives/toggle-group",file:"types.ts"}}]}},{name:"toolbar-primitive",dependencies:["slot-primitive","types-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-toolbar"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toolbar/src/index.ts",to:{folder:"primitives/toolbar",file:"index.ts"}},{from:"./node_modules/@rnr/toolbar/src/toolbar.web.tsx",to:{folder:"primitives/toolbar",file:"toolbar.web.tsx"}},{from:"./node_modules/@rnr/toolbar/src/toolbar.tsx",to:{folder:"primitives/toolbar",file:"toolbar.tsx"}},{from:"./node_modules/@rnr/toolbar/src/types.ts",to:{folder:"primitives/toolbar",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toolbar/src/toolbar.tsx",distFrom:"primitives/toolbar/toolbar.tsx",to:{folder:"primitives/toolbar",file:"index.tsx"}},{from:"./node_modules/@rnr/toolbar/src/types.ts",distFrom:"primitives/toolbar/types.ts",to:{folder:"primitives/toolbar",file:"types.ts"}}]}},{name:"tooltip-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-tooltip"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/tooltip/src/index.ts",to:{folder:"primitives/tooltip",file:"index.ts"}},{from:"./node_modules/@rnr/tooltip/src/tooltip.web.tsx",to:{folder:"primitives/tooltip",file:"tooltip.web.tsx"}},{from:"./node_modules/@rnr/tooltip/src/tooltip.tsx",to:{folder:"primitives/tooltip",file:"tooltip.tsx"}},{from:"./node_modules/@rnr/tooltip/src/types.ts",to:{folder:"primitives/tooltip",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/tooltip/src/tooltip.tsx",distFrom:"primitives/tooltip/tooltip.tsx",to:{folder:"primitives/tooltip",file:"index.tsx"}},{from:"./node_modules/@rnr/tooltip/src/types.ts",distFrom:"primitives/tooltip/types.ts",to:{folder:"primitives/tooltip",file:"types.ts"}}]}},{name:"hooks-primitive",dependencies:["types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/hooks/src/index.ts",to:{folder:"primitives/hooks",file:"index.ts"}},{from:"./node_modules/@rnr/hooks/src/useAugmentedRef.tsx",to:{folder:"primitives/hooks",file:"useAugmentedRef.tsx"}},{from:"./node_modules/@rnr/hooks/src/useControllableState.tsx",to:{folder:"primitives/hooks",file:"useControllableState.tsx"}},{from:"./node_modules/@rnr/hooks/src/useRelativePosition.tsx",to:{folder:"primitives/hooks",file:"useRelativePosition.tsx"}}]},{name:"portal-primitive",dependencies:[],npmPackages:{universal:["zustand"],"native-only":["zustand"]},paths:[{from:"./node_modules/@rnr/portal/src/portal.tsx",to:{folder:"primitives",file:"portal.tsx"}}]},{name:"slot-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/slot/src/slot.tsx",to:{folder:"primitives",file:"slot.tsx"}}]},{name:"types-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/types/src/index.ts",to:{folder:"primitives",file:"types.ts"}}]},{name:"utils-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/utils/src/index.ts",to:{folder:"primitives",file:"utils.ts"}}]}],c=[...k,...q];function T(e,o=new Set){let t=c.find(i=>i.name===e);if(!t)return[];o.add(e);let r=t.dependencies.slice();return t.dependencies.forEach(i=>{if(!o.has(i)){let s=T(i,o);r=r.concat(s)}}),r}var y="invalid component";function j(e){let o=new Set;if(e.some(t=>!c.find(r=>r.name===t)))throw new Error(y);return e.forEach(t=>{let r=T(t);r.unshift(t),r.forEach(i=>{o.add(i)})}),Array.from(o).map(t=>{let r=c.find(i=>i.name===t);if(!r)throw new Error(y);return r})}import{fileURLToPath as Q}from"url";var X=Q(import.meta.url),A=p.dirname(X),Y=f.object({components:f.array(f.string()).optional(),overwrite:f.boolean(),cwd:f.string(),path:f.string().optional()}),$=new H().name("add").description("add components to your project").argument("[components...]","the components to add").option("-o, --overwrite","overwrite existing files.",!1).option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,o)=>{try{let t=Y.parse({components:e,...o}),r=p.resolve(t.cwd);F(r)||(l.error(`The path ${r} does not exist. Please try again.`),process.exit(1));let i=await S(r);i||(i=await ee(r));let s=t.components??[];if(!s?.length){let{components:n}=await C({type:"multiselect",name:"components",message:"Which components would you like to add?",hint:"Space to select. A to toggle all. Enter to submit.",instructions:!1,choices:k.map(v=>({title:v.name,value:v.name,selected:!1}))});s=n}s?.length||(l.warn("No components selected. Exiting."),process.exit(0));let a=M("Installing components...").start(),d=[];try{d=j(s)}catch(n){n instanceof Error&&n.message===y&&(l.error(`Invalid component(s): ${s.filter(v=>!c.find(L=>L.name===v)).join(", ")}`),process.exit(1)),l.error(n)}let u=[];for(let n of d)a.text=`Installing ${n.name}...`,Array.isArray(n.paths)?await R(n,n.paths,i,a):await R(n,n.paths[i.platforms==="universal"?"universal":"native-only"],i,a),u.push(...n.npmPackages[i.platforms==="universal"?"universal":"native-only"]);let O=await I(r);u.length&&(a.text=`Installing ${u.join(", ")}...`,await K(O,[O==="npm"?"install":"add",...u],{cwd:r})),a.succeed("Done.")}catch(t){w(t)}});async function R(e,o,t,r){for(let i of o){let s=p.join(t.resolvedPaths.components,i.to.folder);if(F(s)||await b.mkdir(s,{recursive:!0}),r.stop(),F(p.join(s,i.to.file))){l.info(`File already exists: ${P.bgCyan([i.to.folder,i.to.file].join("/"))} was skipped. To overwrite, run with the ${P.green("--overwrite")} flag.`);continue}r.start(`Installing ${e.name}...`);let a=i.distFrom?p.join(A,"generated/components",i.distFrom):p.join(A,"generated/components",i.to.folder,i.to.file);try{let d=await b.readFile(p.resolve(a),"utf8");await b.writeFile(p.join(s,i.to.file),Z(d,t.aliases.components,t.aliases.lib))}catch(d){w(d)}}}function Z(e,o,t){return e.replace("../Icons",`${o}/Icons`).replace("./typography",`${o}/ui/typography`).replace("./text",`${o}/ui/text`).replaceAll("../../components",o).replaceAll("../../lib",t).replaceAll("@rnr",`${o}/primitives`)}async function ee(e){let o=s=>P.cyan(s),t=await C([{type:"select",name:"platforms",message:`Which ${o("platforms")} do you support?`,choices:[{title:"Universal (Web, iOS, and Android)",value:"universal"},{title:"Native Only (iOS and Android)",value:"native-only"}]},{type:"text",name:"components",message:`Configure the import alias for ${o("components")}:`,initial:E},{type:"text",name:"lib",message:`Configure the import alias for ${o("lib")}:`,initial:N}]),r=g.parse({platforms:t.platforms,aliases:{lib:t.lib,components:t.components}}),{proceed:i}=await C({type:"confirm",name:"proceed",message:`Write configuration to ${o("components.json")}. Proceed?`,initial:!0});if(i){l.info("");let s=M("Writing components.json...").start(),a=p.resolve(e,"components.json");await b.writeFile(a,JSON.stringify(r,null,2),"utf8"),s.succeed()}return await _(e,r)}import{Command as ie}from"commander";import oe from"path";import te from"fs-extra";function D(){let e=oe.join("package.json");return te.readJSONSync(e)}process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function re(){let e=await D(),o=new ie().name("rnr-cli").description("add components and dependencies to your project").version(e.version||"0.0.0-rc.0","-v, --version","display the version number");o.addCommand($),o.parse()}re();
|
|
2
|
+
import{createMatchPath as U}from"tsconfig-paths";async function k(e,o){return U(o.absoluteBaseUrl,o.paths)(e,void 0,()=>!0,[".ts",".tsx"])}import{cosmiconfig as W}from"cosmiconfig";import{loadConfig as z}from"tsconfig-paths";import{z as p}from"zod";var E="~/components",N="~/lib",J=W("components",{searchPlaces:["components.json"]}),x=p.object({platforms:p.string().optional(),aliases:p.object({components:p.string(),lib:p.string()})}).strict(),B=x.extend({platforms:p.string().optional(),resolvedPaths:p.object({lib:p.string(),components:p.string()})});async function S(e){let o=await V(e);return o?await P(e,o):null}async function P(e,o){let t=await z(e);if(t.resultType==="failed")throw new Error(`Failed to load tsconfig.json. ${t.message??""}`.trim());return B.parse({...o,resolvedPaths:{lib:await k(o.aliases.lib,t),components:await k(o.aliases.components,t)}})}async function V(e){try{let o=await J.search(e);return o?x.parse(o.config):null}catch{throw new Error(`Invalid configuration found in ${e}/components.json.`)}}import{detect as G}from"@antfu/ni";async function I(e){let o=await G({programmatic:!0,cwd:e});return o==="yarn@berry"?"yarn":o==="pnpm@6"?"pnpm":o==="bun"?"bun":o??"npm"}import y from"chalk";var a={error(...e){console.log(y.red(...e))},warn(...e){console.log(y.yellow(...e))},info(...e){console.log(y.cyan(...e))},success(...e){console.log(y.green(...e))},break(){console.log("")}};function F(e){typeof e=="string"&&(a.error(e),process.exit(1)),e instanceof Error&&(a.error(e.message),process.exit(1)),a.error("Something went wrong. Please try again."),process.exit(1)}import h from"chalk";import{Command as H}from"commander";import{execa as K}from"execa";import{existsSync as O,promises as _}from"fs";import M from"ora";import d from"path";import w from"prompts";import{z as f}from"zod";var C=[{name:"accordion",dependencies:["accordion-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/accordion.tsx",to:{folder:"ui",file:"accordion.tsx"}}]},{name:"alert-dialog",dependencies:["alert-dialog-primitive","button","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/alert-dialog.tsx",to:{folder:"ui",file:"alert-dialog.tsx"}}]},{name:"aspect-ratio",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/aspect-ratio.tsx",to:{folder:"ui",file:"aspect-ratio.tsx"}}]},{name:"avatar",dependencies:["avatar-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/avatar.tsx",to:{folder:"ui",file:"avatar.tsx"}}]},{name:"badge",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/badge.tsx",to:{folder:"ui",file:"badge.tsx"}}]},{name:"button",dependencies:["text","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/button.tsx",to:{folder:"ui",file:"button.tsx"}}]},{name:"card",dependencies:["text","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/card.tsx",to:{folder:"ui",file:"card.tsx"}}]},{name:"checkbox",dependencies:["checkbox-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/checkbox.tsx",to:{folder:"ui",file:"checkbox.tsx"}}]},{name:"collapsible",dependencies:["collapsible-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/collapsible.tsx",to:{folder:"ui",file:"collapsible.tsx"}}]},{name:"context-menu",dependencies:["context-menu-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/context-menu.tsx",to:{folder:"ui",file:"context-menu.tsx"}}]},{name:"dialog",dependencies:["dialog-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/dialog.tsx",to:{folder:"ui",file:"dialog.tsx"}}]},{name:"dropdown-menu",dependencies:["dropdown-menu-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/dropdown-menu.tsx",to:{folder:"ui",file:"dropdown-menu.tsx"}}]},{name:"hover-card",dependencies:["hover-card-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/hover-card.tsx",to:{folder:"ui",file:"hover-card.tsx"}}]},{name:"input",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/input.tsx",to:{folder:"ui",file:"input.tsx"}}]},{name:"label",dependencies:["label-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/label.tsx",to:{folder:"ui",file:"label.tsx"}}]},{name:"menubar",dependencies:["menubar-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/menubar.tsx",to:{folder:"ui",file:"menubar.tsx"}}]},{name:"navigation-menu",dependencies:["navigation-menu-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/navigation-menu.tsx",to:{folder:"ui",file:"navigation-menu.tsx"}}]},{name:"popover",dependencies:["popover-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/popover.tsx",to:{folder:"ui",file:"popover.tsx"}}]},{name:"radio-group",dependencies:["radio-group-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/radio-group.tsx",to:{folder:"ui",file:"radio-group.tsx"}}]},{name:"select",dependencies:["select-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/select.tsx",to:{folder:"ui",file:"select.tsx"}}]},{name:"separator",dependencies:["separator-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/separator.tsx",to:{folder:"ui",file:"separator.tsx"}}]},{name:"skeleton",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/skeleton.tsx",to:{folder:"ui",file:"skeleton.tsx"}}]},{name:"switch",dependencies:["switch-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/switch.tsx",to:{folder:"ui",file:"switch.tsx"}}]},{name:"table",dependencies:["table-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/table.tsx",to:{folder:"ui",file:"table.tsx"}}]},{name:"tabs",dependencies:["tabs-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/tabs.tsx",to:{folder:"ui",file:"tabs.tsx"}}]},{name:"text",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/text.tsx",to:{folder:"ui",file:"text.tsx"}}]},{name:"textarea",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/textarea.tsx",to:{folder:"ui",file:"textarea.tsx"}}]},{name:"toggle",dependencies:["toggle-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/toggle.tsx",to:{folder:"ui",file:"toggle.tsx"}}]},{name:"toggle-group",dependencies:["toggle-group-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/toggle-group.tsx",to:{folder:"ui",file:"toggle-group.tsx"}}]},{name:"tooltip",dependencies:["tooltip-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/tooltip.tsx",to:{folder:"ui",file:"tooltip.tsx"}}]},{name:"typography",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/typography.tsx",to:{folder:"ui",file:"typography.tsx"}}]}],q=[{name:"accordion-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-accordion"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/accordion/src/index.ts",to:{folder:"primitives/accordion",file:"index.ts"}},{from:"./node_modules/@rnr/accordion/src/accordion.web.tsx",to:{folder:"primitives/accordion",file:"accordion.web.tsx"}},{from:"./node_modules/@rnr/accordion/src/accordion.tsx",to:{folder:"primitives/accordion",file:"accordion.tsx"}},{from:"./node_modules/@rnr/accordion/src/types.ts",to:{folder:"primitives/accordion",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/accordion/src/accordion.tsx",distFrom:"primitives/accordion/accordion.tsx",to:{folder:"primitives/accordion",file:"index.tsx"}},{from:"./node_modules/@rnr/accordion/src/types.ts",distFrom:"primitives/accordion/types.ts",to:{folder:"primitives/accordion",file:"types.ts"}}]}},{name:"alert-dialog-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-alert-dialog"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/alert-dialog/src/index.ts",to:{folder:"primitives/alert-dialog",file:"index.ts"}},{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.web.tsx",to:{folder:"primitives/alert-dialog",file:"alert-dialog.web.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.tsx",to:{folder:"primitives/alert-dialog",file:"alert-dialog.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/types.ts",to:{folder:"primitives/alert-dialog",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.tsx",distFrom:"primitives/alert-dialog/alert-dialog.tsx",to:{folder:"primitives/alert-dialog",file:"index.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/types.ts",distFrom:"primitives/alert-dialog/types.ts",to:{folder:"primitives/alert-dialog",file:"types.ts"}}]}},{name:"aspect-ratio-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/aspect-ratio/src/aspect-ratio.tsx",to:{folder:"primitives",file:"aspect-ratio.tsx"}}]},{name:"avatar-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/avatar/src/avatar.tsx",to:{folder:"primitives/avatar",file:"index.tsx"}},{from:"./node_modules/@rnr/avatar/src/types.ts",to:{folder:"primitives/avatar",file:"types.ts"}}]},{name:"checkbox-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-checkbox"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/checkbox/src/index.ts",to:{folder:"primitives/checkbox",file:"index.ts"}},{from:"./node_modules/@rnr/checkbox/src/checkbox.web.tsx",to:{folder:"primitives/checkbox",file:"checkbox.web.tsx"}},{from:"./node_modules/@rnr/checkbox/src/checkbox.tsx",to:{folder:"primitives/checkbox",file:"checkbox.tsx"}},{from:"./node_modules/@rnr/checkbox/src/types.ts",to:{folder:"primitives/checkbox",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/checkbox/src/checkbox.tsx",distFrom:"primitives/checkbox/checkbox.tsx",to:{folder:"primitives/checkbox",file:"index.tsx"}},{from:"./node_modules/@rnr/checkbox/src/types.ts",distFrom:"primitives/checkbox/types.ts",to:{folder:"primitives/checkbox",file:"types.ts"}}]}},{name:"collapsible-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-collapsible"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/collapsible/src/index.ts",to:{folder:"primitives/collapsible",file:"index.ts"}},{from:"./node_modules/@rnr/collapsible/src/collapsible.web.tsx",to:{folder:"primitives/collapsible",file:"collapsible.web.tsx"}},{from:"./node_modules/@rnr/collapsible/src/collapsible.tsx",to:{folder:"primitives/collapsible",file:"collapsible.tsx"}},{from:"./node_modules/@rnr/collapsible/src/types.ts",to:{folder:"primitives/collapsible",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/collapsible/src/collapsible.tsx",distFrom:"primitives/collapsible/collapsible.tsx",to:{folder:"primitives/collapsible",file:"index.tsx"}},{from:"./node_modules/@rnr/collapsible/src/types.ts",distFrom:"primitives/collapsible/types.ts",to:{folder:"primitives/collapsible",file:"types.ts"}}]}},{name:"context-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-context-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/context-menu/src/index.ts",to:{folder:"primitives/context-menu",file:"index.ts"}},{from:"./node_modules/@rnr/context-menu/src/context-menu.web.tsx",to:{folder:"primitives/context-menu",file:"context-menu.web.tsx"}},{from:"./node_modules/@rnr/context-menu/src/context-menu.tsx",to:{folder:"primitives/context-menu",file:"context-menu.tsx"}},{from:"./node_modules/@rnr/context-menu/src/types.ts",to:{folder:"primitives/context-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/context-menu/src/context-menu.tsx",distFrom:"primitives/context-menu/context-menu.tsx",to:{folder:"primitives/context-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/context-menu/src/types.ts",distFrom:"primitives/context-menu/types.ts",to:{folder:"primitives/context-menu",file:"types.ts"}}]}},{name:"dialog-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-dialog"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/dialog/src/index.ts",to:{folder:"primitives/dialog",file:"index.ts"}},{from:"./node_modules/@rnr/dialog/src/dialog.web.tsx",to:{folder:"primitives/dialog",file:"dialog.web.tsx"}},{from:"./node_modules/@rnr/dialog/src/dialog.tsx",to:{folder:"primitives/dialog",file:"dialog.tsx"}},{from:"./node_modules/@rnr/dialog/src/types.ts",to:{folder:"primitives/dialog",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/dialog/src/dialog.tsx",distFrom:"primitives/dialog/dialog.tsx",to:{folder:"primitives/dialog",file:"index.tsx"}},{from:"./node_modules/@rnr/dialog/src/types.ts",distFrom:"primitives/dialog/types.ts",to:{folder:"primitives/dialog",file:"types.ts"}}]}},{name:"dropdown-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-dropdown-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/dropdown-menu/src/index.ts",to:{folder:"primitives/dropdown-menu",file:"index.ts"}},{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.web.tsx",to:{folder:"primitives/dropdown-menu",file:"dropdown-menu.web.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx",to:{folder:"primitives/dropdown-menu",file:"dropdown-menu.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/types.ts",to:{folder:"primitives/dropdown-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx",distFrom:"primitives/dropdown-menu/dropdown-menu.tsx",to:{folder:"primitives/dropdown-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/types.ts",distFrom:"primitives/dropdown-menu/types.ts",to:{folder:"primitives/dropdown-menu",file:"types.ts"}}]}},{name:"hover-card-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-hover-card"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/hover-card/src/index.ts",to:{folder:"primitives/hover-card",file:"index.ts"}},{from:"./node_modules/@rnr/hover-card/src/hover-card.web.tsx",to:{folder:"primitives/hover-card",file:"hover-card.web.tsx"}},{from:"./node_modules/@rnr/hover-card/src/hover-card.tsx",to:{folder:"primitives/hover-card",file:"hover-card.tsx"}},{from:"./node_modules/@rnr/hover-card/src/types.ts",to:{folder:"primitives/hover-card",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/hover-card/src/hover-card.tsx",distFrom:"primitives/hover-card/hover-card.tsx",to:{folder:"primitives/hover-card",file:"index.tsx"}},{from:"./node_modules/@rnr/hover-card/src/types.ts",distFrom:"primitives/hover-card/types.ts",to:{folder:"primitives/hover-card",file:"types.ts"}}]}},{name:"label-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-label"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/label/src/index.ts",to:{folder:"primitives/label",file:"index.ts"}},{from:"./node_modules/@rnr/label/src/label.web.tsx",to:{folder:"primitives/label",file:"label.web.tsx"}},{from:"./node_modules/@rnr/label/src/label.tsx",to:{folder:"primitives/label",file:"label.tsx"}},{from:"./node_modules/@rnr/label/src/types.ts",to:{folder:"primitives/label",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/label/src/label.tsx",distFrom:"primitives/label/label.tsx",to:{folder:"primitives/label",file:"index.tsx"}},{from:"./node_modules/@rnr/label/src/types.ts",distFrom:"primitives/label/types.ts",to:{folder:"primitives/label",file:"types.ts"}}]}},{name:"menubar-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-menubar"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/menubar/src/index.ts",to:{folder:"primitives/menubar",file:"index.ts"}},{from:"./node_modules/@rnr/menubar/src/menubar.web.tsx",to:{folder:"primitives/menubar",file:"menubar.web.tsx"}},{from:"./node_modules/@rnr/menubar/src/menubar.tsx",to:{folder:"primitives/menubar",file:"menubar.tsx"}},{from:"./node_modules/@rnr/menubar/src/types.ts",to:{folder:"primitives/menubar",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/menubar/src/menubar.tsx",distFrom:"primitives/menubar/menubar.tsx",to:{folder:"primitives/menubar",file:"index.tsx"}},{from:"./node_modules/@rnr/menubar/src/types.ts",distFrom:"primitives/menubar/types.ts",to:{folder:"primitives/menubar",file:"types.ts"}}]}},{name:"navigation-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-navigation-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/navigation-menu/src/index.ts",to:{folder:"primitives/navigation-menu",file:"index.ts"}},{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.web.tsx",to:{folder:"primitives/navigation-menu",file:"navigation-menu.web.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.tsx",to:{folder:"primitives/navigation-menu",file:"navigation-menu.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/types.ts",to:{folder:"primitives/navigation-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.tsx",distFrom:"primitives/navigation-menu/navigation-menu.tsx",to:{folder:"primitives/navigation-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/types.ts",distFrom:"primitives/navigation-menu/types.ts",to:{folder:"primitives/navigation-menu",file:"types.ts"}}]}},{name:"popover-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-popover"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/popover/src/index.ts",to:{folder:"primitives/popover",file:"index.ts"}},{from:"./node_modules/@rnr/popover/src/popover.web.tsx",to:{folder:"primitives/popover",file:"popover.web.tsx"}},{from:"./node_modules/@rnr/popover/src/popover.tsx",to:{folder:"primitives/popover",file:"popover.tsx"}},{from:"./node_modules/@rnr/popover/src/types.ts",to:{folder:"primitives/popover",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/popover/src/popover.tsx",distFrom:"primitives/popover/popover.tsx",to:{folder:"primitives/popover",file:"index.tsx"}},{from:"./node_modules/@rnr/popover/src/types.ts",distFrom:"primitives/popover/types.ts",to:{folder:"primitives/popover",file:"types.ts"}}]}},{name:"progress-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-progress"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/progress/src/index.ts",to:{folder:"primitives/progress",file:"index.ts"}},{from:"./node_modules/@rnr/progress/src/progress.web.tsx",to:{folder:"primitives/progress",file:"progress.web.tsx"}},{from:"./node_modules/@rnr/progress/src/progress.tsx",to:{folder:"primitives/progress",file:"progress.tsx"}},{from:"./node_modules/@rnr/progress/src/types.ts",to:{folder:"primitives/progress",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/progress/src/progress.tsx",distFrom:"primitives/progress/progress.tsx",to:{folder:"primitives/progress",file:"index.tsx"}},{from:"./node_modules/@rnr/progress/src/types.ts",distFrom:"primitives/progress/types.ts",to:{folder:"primitives/progress",file:"types.ts"}}]}},{name:"radio-group-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-radio-group"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/radio-group/src/index.ts",to:{folder:"primitives/radio-group",file:"index.ts"}},{from:"./node_modules/@rnr/radio-group/src/radio-group.web.tsx",to:{folder:"primitives/radio-group",file:"radio-group.web.tsx"}},{from:"./node_modules/@rnr/radio-group/src/radio-group.tsx",to:{folder:"primitives/radio-group",file:"radio-group.tsx"}},{from:"./node_modules/@rnr/radio-group/src/types.ts",to:{folder:"primitives/radio-group",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/radio-group/src/radio-group.tsx",distFrom:"primitives/radio-group/radio-group.tsx",to:{folder:"primitives/radio-group",file:"index.tsx"}},{from:"./node_modules/@rnr/radio-group/src/types.ts",distFrom:"primitives/radio-group/types.ts",to:{folder:"primitives/radio-group",file:"types.ts"}}]}},{name:"select-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-select"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/select/src/index.ts",to:{folder:"primitives/select",file:"index.ts"}},{from:"./node_modules/@rnr/select/src/select.web.tsx",to:{folder:"primitives/select",file:"select.web.tsx"}},{from:"./node_modules/@rnr/select/src/select.tsx",to:{folder:"primitives/select",file:"select.tsx"}},{from:"./node_modules/@rnr/select/src/types.ts",to:{folder:"primitives/select",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/select/src/select.tsx",distFrom:"primitives/select/select.tsx",to:{folder:"primitives/select",file:"index.tsx"}},{from:"./node_modules/@rnr/select/src/types.ts",distFrom:"primitives/select/types.ts",to:{folder:"primitives/select",file:"types.ts"}}]}},{name:"separator-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/separator/src/separator.tsx",to:{folder:"primitives/separator",file:"index.tsx"}},{from:"./node_modules/@rnr/separator/src/types.ts",to:{folder:"primitives/separator",file:"types.ts"}}]},{name:"slider-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-slider"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/slider/src/index.ts",to:{folder:"primitives/slider",file:"index.ts"}},{from:"./node_modules/@rnr/slider/src/slider.web.tsx",to:{folder:"primitives/slider",file:"slider.web.tsx"}},{from:"./node_modules/@rnr/slider/src/slider.tsx",to:{folder:"primitives/slider",file:"slider.tsx"}},{from:"./node_modules/@rnr/slider/src/types.ts",to:{folder:"primitives/slider",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/slider/src/slider.tsx",distFrom:"primitives/slider/slider.tsx",to:{folder:"primitives/slider",file:"index.tsx"}},{from:"./node_modules/@rnr/slider/src/types.ts",distFrom:"primitives/slider/types.ts",to:{folder:"primitives/slider",file:"types.ts"}}]}},{name:"switch-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-switch"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/switch/src/index.ts",to:{folder:"primitives/switch",file:"index.ts"}},{from:"./node_modules/@rnr/switch/src/switch.web.tsx",to:{folder:"primitives/switch",file:"switch.web.tsx"}},{from:"./node_modules/@rnr/switch/src/switch.tsx",to:{folder:"primitives/switch",file:"switch.tsx"}},{from:"./node_modules/@rnr/switch/src/types.ts",to:{folder:"primitives/switch",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/switch/src/switch.tsx",distFrom:"primitives/switch/switch.tsx",to:{folder:"primitives/switch",file:"index.tsx"}},{from:"./node_modules/@rnr/switch/src/types.ts",distFrom:"primitives/switch/types.ts",to:{folder:"primitives/switch",file:"types.ts"}}]}},{name:"table-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/table/src/table.tsx",to:{folder:"primitives",file:"table.tsx"}}]},{name:"tabs-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-tabs"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/tabs/src/index.ts",to:{folder:"primitives/tabs",file:"index.ts"}},{from:"./node_modules/@rnr/tabs/src/tabs.web.tsx",to:{folder:"primitives/tabs",file:"tabs.web.tsx"}},{from:"./node_modules/@rnr/tabs/src/tabs.tsx",to:{folder:"primitives/tabs",file:"tabs.tsx"}},{from:"./node_modules/@rnr/tabs/src/types.ts",to:{folder:"primitives/tabs",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/tabs/src/tabs.tsx",distFrom:"primitives/tabs/tabs.tsx",to:{folder:"primitives/tabs",file:"index.tsx"}},{from:"./node_modules/@rnr/tabs/src/types.ts",distFrom:"primitives/tabs/types.ts",to:{folder:"primitives/tabs",file:"types.ts"}}]}},{name:"toast-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/toast/src/toast.tsx",to:{folder:"primitives/toast",file:"index.tsx"}},{from:"./node_modules/@rnr/toast/src/types.ts",to:{folder:"primitives/toast",file:"types.ts"}}]},{name:"toggle-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-toggle"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toggle/src/index.ts",to:{folder:"primitives/toggle",file:"index.ts"}},{from:"./node_modules/@rnr/toggle/src/toggle.web.tsx",to:{folder:"primitives/toggle",file:"toggle.web.tsx"}},{from:"./node_modules/@rnr/toggle/src/toggle.tsx",to:{folder:"primitives/toggle",file:"toggle.tsx"}},{from:"./node_modules/@rnr/toggle/src/types.ts",to:{folder:"primitives/toggle",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toggle/src/toggle.tsx",distFrom:"primitives/toggle/toggle.tsx",to:{folder:"primitives/toggle",file:"index.tsx"}},{from:"./node_modules/@rnr/toggle/src/types.ts",distFrom:"primitives/toggle/types.ts",to:{folder:"primitives/toggle",file:"types.ts"}}]}},{name:"toggle-group-primitive",dependencies:["slot-primitive","types-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-toggle-group"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toggle-group/src/index.ts",to:{folder:"primitives/toggle-group",file:"index.ts"}},{from:"./node_modules/@rnr/toggle-group/src/toggle-group.web.tsx",to:{folder:"primitives/toggle-group",file:"toggle-group.web.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/toggle-group.tsx",to:{folder:"primitives/toggle-group",file:"toggle-group.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/types.ts",to:{folder:"primitives/toggle-group",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toggle-group/src/toggle-group.tsx",distFrom:"primitives/toggle-group/toggle-group.tsx",to:{folder:"primitives/toggle-group",file:"index.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/types.ts",distFrom:"primitives/toggle-group/types.ts",to:{folder:"primitives/toggle-group",file:"types.ts"}}]}},{name:"toolbar-primitive",dependencies:["slot-primitive","types-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-toolbar"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toolbar/src/index.ts",to:{folder:"primitives/toolbar",file:"index.ts"}},{from:"./node_modules/@rnr/toolbar/src/toolbar.web.tsx",to:{folder:"primitives/toolbar",file:"toolbar.web.tsx"}},{from:"./node_modules/@rnr/toolbar/src/toolbar.tsx",to:{folder:"primitives/toolbar",file:"toolbar.tsx"}},{from:"./node_modules/@rnr/toolbar/src/types.ts",to:{folder:"primitives/toolbar",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toolbar/src/toolbar.tsx",distFrom:"primitives/toolbar/toolbar.tsx",to:{folder:"primitives/toolbar",file:"index.tsx"}},{from:"./node_modules/@rnr/toolbar/src/types.ts",distFrom:"primitives/toolbar/types.ts",to:{folder:"primitives/toolbar",file:"types.ts"}}]}},{name:"tooltip-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-tooltip"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/tooltip/src/index.ts",to:{folder:"primitives/tooltip",file:"index.ts"}},{from:"./node_modules/@rnr/tooltip/src/tooltip.web.tsx",to:{folder:"primitives/tooltip",file:"tooltip.web.tsx"}},{from:"./node_modules/@rnr/tooltip/src/tooltip.tsx",to:{folder:"primitives/tooltip",file:"tooltip.tsx"}},{from:"./node_modules/@rnr/tooltip/src/types.ts",to:{folder:"primitives/tooltip",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/tooltip/src/tooltip.tsx",distFrom:"primitives/tooltip/tooltip.tsx",to:{folder:"primitives/tooltip",file:"index.tsx"}},{from:"./node_modules/@rnr/tooltip/src/types.ts",distFrom:"primitives/tooltip/types.ts",to:{folder:"primitives/tooltip",file:"types.ts"}}]}},{name:"hooks-primitive",dependencies:["types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/hooks/src/index.ts",to:{folder:"primitives/hooks",file:"index.ts"}},{from:"./node_modules/@rnr/hooks/src/useAugmentedRef.tsx",to:{folder:"primitives/hooks",file:"useAugmentedRef.tsx"}},{from:"./node_modules/@rnr/hooks/src/useControllableState.tsx",to:{folder:"primitives/hooks",file:"useControllableState.tsx"}},{from:"./node_modules/@rnr/hooks/src/useRelativePosition.tsx",to:{folder:"primitives/hooks",file:"useRelativePosition.tsx"}}]},{name:"portal-primitive",dependencies:[],npmPackages:{universal:["zustand"],"native-only":["zustand"]},paths:[{from:"./node_modules/@rnr/portal/src/portal.tsx",to:{folder:"primitives",file:"portal.tsx"}}]},{name:"slot-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/slot/src/slot.tsx",to:{folder:"primitives",file:"slot.tsx"}}]},{name:"types-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/types/src/index.ts",to:{folder:"primitives",file:"types.ts"}}]},{name:"utils-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/utils/src/index.ts",to:{folder:"primitives",file:"utils.ts"}}]}],c=[...C,...q];function T(e,o=new Set){let t=c.find(s=>s.name===e);if(!t)return[];o.add(e);let i=t.dependencies.slice();return t.dependencies.forEach(s=>{if(!o.has(s)){let r=T(s,o);i=i.concat(r)}}),i}var b="invalid component";function j(e){let o=new Set;if(e.some(t=>!c.find(i=>i.name===t)))throw new Error(b);return e.forEach(t=>{let i=T(t);i.unshift(t),i.forEach(s=>{o.add(s)})}),Array.from(o).map(t=>{let i=c.find(s=>s.name===t);if(!i)throw new Error(b);return i})}import{fileURLToPath as Q}from"url";var X=Q(import.meta.url),A=d.dirname(X),Y=f.object({components:f.array(f.string()).optional(),overwrite:f.boolean(),cwd:f.string(),path:f.string().optional()}),$=new H().name("add").description("add components to your project").argument("[components...]","the components to add").option("-o, --overwrite","overwrite existing files.",!1).option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,o)=>{try{let t=Y.parse({components:e,...o}),i=d.resolve(t.cwd);O(i)||(a.error(`The path ${i} does not exist. Please try again.`),process.exit(1));let s=await S(i);s||(s=await ee(i));let r=t.components??[];if(!r?.length){let{components:n}=await w({type:"multiselect",name:"components",message:"Which components would you like to add?",hint:"Space to select. A to toggle all. Enter to submit.",instructions:!1,choices:C.map(g=>({title:g.name,value:g.name,selected:!1}))});r=n}r?.length||(a.warn("No components selected. Exiting."),process.exit(0));let l=M("Installing components...").start(),u=[];try{u=j(r)}catch(n){n instanceof Error&&n.message===b&&(a.error(`Invalid component(s): ${r.filter(g=>!c.find(L=>L.name===g)).join(", ")}`),process.exit(1)),a.error(n)}let m=[];for(let n of u)l.text=`Installing ${n.name}...`,Array.isArray(n.paths)?await R(n,n.paths,s,l,t.overwrite):await R(n,n.paths[s.platforms==="universal"?"universal":"native-only"],s,l,t.overwrite),m.push(...n.npmPackages[s.platforms==="universal"?"universal":"native-only"]);let v=await I(i);m.length&&(l.text=`Installing ${m.join(", ")}...`,await K(v,[v==="npm"?"install":"add",...m],{cwd:i})),l.succeed("Done.")}catch(t){F(t)}});async function R(e,o,t,i,s){for(let r of o){let l=d.join(t.resolvedPaths.components,r.to.folder);if(O(l)||await _.mkdir(l,{recursive:!0}),i.stop(),O(d.join(l,r.to.file))){let m=[r.to.folder,r.to.file].join("/");if(!s){a.info(`File already exists: ${h.bgCyan(m)} was skipped. To overwrite, run with the ${h.green("--overwrite")} flag.`);continue}let{overwrite:v}=await w({type:"confirm",name:"overwrite",message:`File already exists: ${h.yellow(m)}. Would you like to overwrite?`,initial:!1});if(!v){a.info("Skipped");continue}}i.start(`Installing ${e.name}...`);let u=r.distFrom?d.join(A,"../__generated/components",r.distFrom):d.join(A,"../__generated/components",r.to.folder,r.to.file);try{let m=await _.readFile(d.resolve(u),"utf8");await _.writeFile(d.join(l,r.to.file),Z(m,t.aliases.components,t.aliases.lib))}catch(m){F(m)}}}function Z(e,o,t){return e.replace("../Icons",`${o}/Icons`).replace("./typography",`${o}/ui/typography`).replace("./text",`${o}/ui/text`).replaceAll("../../components",o).replaceAll("../../lib",t).replaceAll("@rnr",`${o}/primitives`)}async function ee(e){let o=r=>h.cyan(r),t=await w([{type:"select",name:"platforms",message:`Which ${o("platforms")} do you support?`,choices:[{title:"Universal (Web, iOS, and Android)",value:"universal"},{title:"Native Only (iOS and Android)",value:"native-only"}]},{type:"text",name:"components",message:`Configure the import alias for ${o("components")}:`,initial:E},{type:"text",name:"lib",message:`Configure the import alias for ${o("lib")}:`,initial:N}]),i=x.parse({platforms:t.platforms,aliases:{lib:t.lib,components:t.components}}),{proceed:s}=await w({type:"confirm",name:"proceed",message:`Write configuration to ${o("components.json")}. Proceed?`,initial:!0});if(s){a.info("");let r=M("Writing components.json...").start(),l=d.resolve(e,"components.json");await _.writeFile(l,JSON.stringify(i,null,2),"utf8"),r.succeed()}return await P(e,i)}import{Command as ie}from"commander";import oe from"path";import te from"fs-extra";function D(){let e=oe.join("package.json");return te.readJSONSync(e)}process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function re(){let e=await D(),o=new ie().name("rnr-cli").description("add components and dependencies to your project").version(e.version||"0.0.0-rc.0","-v, --version","display the version number");o.addCommand($),o.parse()}re();
|
|
3
3
|
//# sourceMappingURL=index.js.map
|