@campxdev/react-native-blueprint 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/app/_layout.js +1 -1
- package/lib/module/app/_layout.js.map +1 -1
- package/lib/module/components/ui/index.js +1 -0
- package/lib/module/components/ui/index.js.map +1 -1
- package/lib/module/global.css +417 -0
- package/lib/module/types/global.d.js +6 -0
- package/lib/module/types/global.d.js.map +1 -0
- package/lib/module/types/rn-primitives.d.js +6 -0
- package/lib/module/types/rn-primitives.d.js.map +1 -0
- package/lib/typescript/src/app/_layout.d.ts +7 -8
- package/lib/typescript/src/components/ui/Accordion.d.ts +103 -11
- package/lib/typescript/src/components/ui/Alert-Dialog.d.ts +167 -10
- package/lib/typescript/src/components/ui/Alert-Dialog.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Alert.d.ts +59 -10
- package/lib/typescript/src/components/ui/Avatar.d.ts +1350 -10
- package/lib/typescript/src/components/ui/Badge.d.ts +203 -10
- package/lib/typescript/src/components/ui/Bottom-Sheet.d.ts +43 -11
- package/lib/typescript/src/components/ui/Button.d.ts +175 -10
- package/lib/typescript/src/components/ui/Card.d.ts +853 -10
- package/lib/typescript/src/components/ui/Checkbox.d.ts +36 -11
- package/lib/typescript/src/components/ui/Collapsible.d.ts +1 -147
- package/lib/typescript/src/components/ui/Collapsible.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Context-Menu.d.ts +149 -10
- package/lib/typescript/src/components/ui/Context-Menu.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Custom-Card.d.ts +863 -10
- package/lib/typescript/src/components/ui/Dialog.d.ts +125 -10
- package/lib/typescript/src/components/ui/Dialog.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Dropdown-Menu.d.ts +283 -10
- package/lib/typescript/src/components/ui/Dropdown-Menu.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Greeting-Card.d.ts +152 -10
- package/lib/typescript/src/components/ui/Hover-Card.d.ts +67 -10
- package/lib/typescript/src/components/ui/Hover-Card.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Icon.d.ts +43 -11
- package/lib/typescript/src/components/ui/Input.d.ts +51 -10
- package/lib/typescript/src/components/ui/Label.d.ts +104 -10
- package/lib/typescript/src/components/ui/Menubar.d.ts +174 -10
- package/lib/typescript/src/components/ui/NavBar.d.ts +271 -9
- package/lib/typescript/src/components/ui/Popover.d.ts +70 -10
- package/lib/typescript/src/components/ui/Popover.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Progress.d.ts +27 -11
- package/lib/typescript/src/components/ui/Radio-Group.d.ts +47 -11
- package/lib/typescript/src/components/ui/Select.d.ts +106 -10
- package/lib/typescript/src/components/ui/Separator.d.ts +165 -10
- package/lib/typescript/src/components/ui/Skeleton.d.ts +40 -11
- package/lib/typescript/src/components/ui/Slider.d.ts +52 -8
- package/lib/typescript/src/components/ui/Switch.d.ts +34 -11
- package/lib/typescript/src/components/ui/Table.d.ts +69 -10
- package/lib/typescript/src/components/ui/Tabs.d.ts +51 -11
- package/lib/typescript/src/components/ui/Text.d.ts +115 -10
- package/lib/typescript/src/components/ui/Textarea.d.ts +60 -10
- package/lib/typescript/src/components/ui/Theme-Toggle.d.ts +193 -10
- package/lib/typescript/src/components/ui/Toast.d.ts +54 -10
- package/lib/typescript/src/components/ui/Toggle-Group.d.ts +48 -10
- package/lib/typescript/src/components/ui/Toggle.d.ts +52 -10
- package/lib/typescript/src/components/ui/Tooltip.d.ts +70 -10
- package/lib/typescript/src/components/ui/Tooltip.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/index.d.ts +7 -2
- package/lib/typescript/src/components/ui/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +7 -93
- package/lib/typescript/src/lib/ThemeProvider.d.ts +136 -13
- package/lib/typescript/src/lib/cornerRadius.d.ts +112 -21
- package/lib/typescript/src/lib/fonts.d.ts +21 -30
- package/lib/typescript/src/lib/theme.d.ts +86 -8
- package/lib/typescript/src/lib/utils.d.ts +111 -1
- package/package.json +2 -9
- package/src/app/_layout.tsx +1 -1
- package/src/components/ui/index.ts +1 -0
- package/src/global.css +417 -0
- package/src/types/global.d.ts +44 -0
- package/src/types/rn-primitives.d.ts +70 -0
- package/lib/typescript/babel.config.d.ts +0 -13
- package/lib/typescript/babel.config.d.ts.map +0 -1
- package/lib/typescript/metro.config.d.ts +0 -3
- package/lib/typescript/metro.config.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Floating-Action-Button.d.ts +0 -11
- package/lib/typescript/src/components/ui.d.ts +0 -49
- package/lib/typescript/tailwind.config.d.ts +0 -3
- package/lib/typescript/tailwind.config.d.ts.map +0 -1
|
@@ -1,11 +1,126 @@
|
|
|
1
|
+
import * as DialogPrimitive from '@rn-primitives/dialog';
|
|
1
2
|
import * as React from 'react';
|
|
2
|
-
import { ViewProps } from 'react-native';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
import { type ViewProps } from 'react-native';
|
|
4
|
+
/**
|
|
5
|
+
* Root dialog container
|
|
6
|
+
*
|
|
7
|
+
* A modal window that overlays the main content and requires user interaction.
|
|
8
|
+
* Unlike AlertDialog, this is for non-critical content that doesn't require immediate action.
|
|
9
|
+
*
|
|
10
|
+
* @component
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <Dialog>
|
|
14
|
+
* <DialogTrigger asChild>
|
|
15
|
+
* <Button><Text>Open Dialog</Text></Button>
|
|
16
|
+
* </DialogTrigger>
|
|
17
|
+
* <DialogContent>
|
|
18
|
+
* <DialogHeader>
|
|
19
|
+
* <DialogTitle><Text>Edit Profile</Text></DialogTitle>
|
|
20
|
+
* <DialogDescription><Text>Make changes to your profile</Text></DialogDescription>
|
|
21
|
+
* </DialogHeader>
|
|
22
|
+
* <DialogFooter>
|
|
23
|
+
* <Button><Text>Save</Text></Button>
|
|
24
|
+
* </DialogFooter>
|
|
25
|
+
* </DialogContent>
|
|
26
|
+
* </Dialog>
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
declare const Dialog: React.ForwardRefExoticComponent<ViewProps & {
|
|
30
|
+
asChild?: boolean;
|
|
31
|
+
} & {
|
|
32
|
+
open?: boolean;
|
|
33
|
+
defaultOpen?: boolean;
|
|
34
|
+
onOpenChange?: (value: boolean) => void;
|
|
35
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
36
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
37
|
+
}> & {
|
|
38
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
39
|
+
}) => React.ReactNode>>;
|
|
40
|
+
/**
|
|
41
|
+
* Trigger button that opens the dialog
|
|
42
|
+
*/
|
|
43
|
+
declare const DialogTrigger: React.ForwardRefExoticComponent<Omit<import("react-native").PressableProps & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
44
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
45
|
+
}> & {
|
|
46
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
47
|
+
}) => React.ReactNode>, "ref"> & {
|
|
48
|
+
asChild?: boolean;
|
|
49
|
+
} & {
|
|
50
|
+
onKeyDown?: (ev: React.KeyboardEvent) => void;
|
|
51
|
+
onKeyUp?: (ev: React.KeyboardEvent) => void;
|
|
52
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
53
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
54
|
+
}> & {
|
|
55
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
56
|
+
}) => React.ReactNode>>;
|
|
57
|
+
/**
|
|
58
|
+
* Portal component for rendering dialog outside DOM hierarchy
|
|
59
|
+
*/
|
|
60
|
+
declare const DialogPortal: typeof DialogPrimitive.Portal;
|
|
61
|
+
/**
|
|
62
|
+
* Close button component for manually closing the dialog
|
|
63
|
+
*/
|
|
64
|
+
declare const DialogClose: React.ForwardRefExoticComponent<Omit<import("react-native").PressableProps & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
65
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
66
|
+
}> & {
|
|
67
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
68
|
+
}) => React.ReactNode>, "ref"> & {
|
|
69
|
+
asChild?: boolean;
|
|
70
|
+
} & {
|
|
71
|
+
onKeyDown?: (ev: React.KeyboardEvent) => void;
|
|
72
|
+
onKeyUp?: (ev: React.KeyboardEvent) => void;
|
|
73
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
74
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
75
|
+
}> & {
|
|
76
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
77
|
+
}) => React.ReactNode>>;
|
|
78
|
+
/**
|
|
79
|
+
* Semi-transparent overlay behind the dialog
|
|
80
|
+
*
|
|
81
|
+
* Provides backdrop that dims background content. Uses platform-specific
|
|
82
|
+
* full window overlay on iOS for proper z-index layering.
|
|
83
|
+
*/
|
|
84
|
+
declare function DialogOverlay({ className, children, ...props }: Omit<DialogPrimitive.OverlayProps, 'asChild'> & React.RefAttributes<DialogPrimitive.OverlayRef> & {
|
|
85
|
+
children?: React.ReactNode;
|
|
86
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
87
|
+
/**
|
|
88
|
+
* Main dialog content container
|
|
89
|
+
*
|
|
90
|
+
* Contains the actual dialog UI with automatic close button in top-right corner.
|
|
91
|
+
* Includes smooth fade and zoom animations.
|
|
92
|
+
*
|
|
93
|
+
* @param {string} [portalHost] - Optional portal host name for custom rendering location
|
|
94
|
+
* @param {string} [className] - Additional Tailwind classes
|
|
95
|
+
*/
|
|
96
|
+
declare function DialogContent({ className, portalHost, children, ...props }: DialogPrimitive.ContentProps & React.RefAttributes<DialogPrimitive.ContentRef> & {
|
|
97
|
+
portalHost?: string;
|
|
98
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
99
|
+
/**
|
|
100
|
+
* Dialog header container
|
|
101
|
+
*
|
|
102
|
+
* Contains title and description with appropriate spacing and alignment.
|
|
103
|
+
* Centered on mobile, left-aligned on larger screens.
|
|
104
|
+
*/
|
|
105
|
+
declare function DialogHeader({ className, ...props }: ViewProps): import("react/jsx-runtime").JSX.Element;
|
|
106
|
+
/**
|
|
107
|
+
* Dialog footer container
|
|
108
|
+
*
|
|
109
|
+
* Contains action buttons. Stacked vertically on mobile (reverse order),
|
|
110
|
+
* horizontal row on larger screens (right-aligned).
|
|
111
|
+
*/
|
|
112
|
+
declare function DialogFooter({ className, ...props }: ViewProps): import("react/jsx-runtime").JSX.Element;
|
|
113
|
+
/**
|
|
114
|
+
* Dialog title component
|
|
115
|
+
*
|
|
116
|
+
* Large, semibold heading for the dialog. Automatically announced by screen readers.
|
|
117
|
+
*/
|
|
118
|
+
declare function DialogTitle({ className, ...props }: DialogPrimitive.TitleProps & React.RefAttributes<DialogPrimitive.TitleRef>): import("react/jsx-runtime").JSX.Element;
|
|
119
|
+
/**
|
|
120
|
+
* Dialog description component
|
|
121
|
+
*
|
|
122
|
+
* Muted text providing additional context or instructions for the dialog.
|
|
123
|
+
*/
|
|
124
|
+
declare function DialogDescription({ className, ...props }: DialogPrimitive.DescriptionProps & React.RefAttributes<DialogPrimitive.DescriptionRef>): import("react/jsx-runtime").JSX.Element;
|
|
125
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
|
|
126
|
+
//# sourceMappingURL=Dialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Dialog.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAQpE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,QAAA,MAAM,MAAM;;;;;;;OAnBF,CAAC;;OAKJ,CAAC;uBAc2B,CAAC;AAEpC;;GAEG;AACH,QAAA,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Dialog.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAQpE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,QAAA,MAAM,MAAM;;;;;;;OAnBF,CAAC;;OAKJ,CAAC;uBAc2B,CAAC;AAEpC;;GAEG;AACH,QAAA,MAAM,aAAa;OAxBT,CAAC;;OAKJ,CAAC;;;;;;;OALE,CAAC;;OAKJ,CAAC;uBAmBqC,CAAC;AAE9C;;GAEG;AACH,QAAA,MAAM,YAAY,+BAAyB,CAAC;AAE5C;;GAEG;AACH,QAAA,MAAM,WAAW;OAlCP,CAAC;;OAKJ,CAAC;;;;;;;OALE,CAAC;;OAKJ,CAAC;uBA6BiC,CAAC;AAK1C;;;;;GAKG;AACH,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,GAC9C,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG;IAChD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,2CA4BF;AAED;;;;;;;;GAQG;AACH,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,UAAU,EACV,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,YAAY,GAC7B,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,2CAoCF;AAED;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,2CAOvD;AAED;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,2CAUvD;AAED;;;;GAIG;AACH,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,2CAU5E;AAED;;;;GAIG;AACH,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,gBAAgB,GACjC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,cAAc,CAAC,2CAOpD;AAED,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAC"}
|
|
@@ -1,11 +1,284 @@
|
|
|
1
|
+
import * as DropdownMenuPrimitive from '@rn-primitives/dropdown-menu';
|
|
1
2
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
import { type StyleProp, Text, type TextProps, type ViewStyle } from 'react-native';
|
|
4
|
+
/**
|
|
5
|
+
* Root component for dropdown menu - provides context for all dropdown menu children
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <DropdownMenu>
|
|
11
|
+
* <DropdownMenuTrigger>
|
|
12
|
+
* <Button variant="outline">
|
|
13
|
+
* <Text>Open Menu</Text>
|
|
14
|
+
* </Button>
|
|
15
|
+
* </DropdownMenuTrigger>
|
|
16
|
+
* <DropdownMenuContent>
|
|
17
|
+
* <DropdownMenuItem>
|
|
18
|
+
* <Text>Profile</Text>
|
|
19
|
+
* </DropdownMenuItem>
|
|
20
|
+
* </DropdownMenuContent>
|
|
21
|
+
* </DropdownMenu>
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
declare const DropdownMenu: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
|
|
25
|
+
asChild?: boolean;
|
|
26
|
+
} & {
|
|
27
|
+
onOpenChange?: (open: boolean) => void;
|
|
28
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
29
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
30
|
+
}> & {
|
|
31
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
32
|
+
}) => React.ReactNode>>;
|
|
33
|
+
/**
|
|
34
|
+
* Trigger component that opens the dropdown menu when pressed
|
|
35
|
+
*
|
|
36
|
+
* @component
|
|
37
|
+
*/
|
|
38
|
+
declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<Omit<import("react-native").PressableProps & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
39
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
40
|
+
}> & {
|
|
41
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
42
|
+
}) => React.ReactNode>, "ref"> & {
|
|
43
|
+
asChild?: boolean;
|
|
44
|
+
} & {
|
|
45
|
+
onKeyDown?: (ev: React.KeyboardEvent) => void;
|
|
46
|
+
onKeyUp?: (ev: React.KeyboardEvent) => void;
|
|
47
|
+
} & React.RefAttributes<import("@rn-primitives/dropdown-menu").TriggerRef>>;
|
|
48
|
+
/**
|
|
49
|
+
* Groups related menu items together
|
|
50
|
+
*
|
|
51
|
+
* @component
|
|
52
|
+
*/
|
|
53
|
+
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
|
|
54
|
+
asChild?: boolean;
|
|
55
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
56
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
57
|
+
}> & {
|
|
58
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
59
|
+
}) => React.ReactNode>>;
|
|
60
|
+
/**
|
|
61
|
+
* Portal component to render menu content outside the DOM hierarchy
|
|
62
|
+
*
|
|
63
|
+
* @component
|
|
64
|
+
*/
|
|
65
|
+
declare const DropdownMenuPortal: typeof DropdownMenuPrimitive.Portal;
|
|
66
|
+
/**
|
|
67
|
+
* Root component for nested submenu
|
|
68
|
+
*
|
|
69
|
+
* @component
|
|
70
|
+
*/
|
|
71
|
+
declare const DropdownMenuSub: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
|
|
72
|
+
asChild?: boolean;
|
|
73
|
+
} & {
|
|
74
|
+
defaultOpen?: boolean;
|
|
75
|
+
open?: boolean;
|
|
76
|
+
onOpenChange?: (value: boolean) => void;
|
|
77
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
78
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
79
|
+
}> & {
|
|
80
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
81
|
+
}) => React.ReactNode>>;
|
|
82
|
+
/**
|
|
83
|
+
* Groups radio items together with single selection
|
|
84
|
+
*
|
|
85
|
+
* @component
|
|
86
|
+
*/
|
|
87
|
+
declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
|
|
88
|
+
asChild?: boolean;
|
|
89
|
+
} & {
|
|
90
|
+
value: string | undefined;
|
|
91
|
+
onValueChange: (value: string) => void;
|
|
92
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
93
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
94
|
+
}> & {
|
|
95
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
96
|
+
}) => React.ReactNode>>;
|
|
97
|
+
/**
|
|
98
|
+
* Trigger for opening a nested submenu
|
|
99
|
+
*
|
|
100
|
+
* Displays a chevron icon that indicates expandable content. The icon direction
|
|
101
|
+
* changes based on platform and submenu state.
|
|
102
|
+
*
|
|
103
|
+
* @component
|
|
104
|
+
* @example
|
|
105
|
+
* ```tsx
|
|
106
|
+
* <DropdownMenuSub>
|
|
107
|
+
* <DropdownMenuSubTrigger>
|
|
108
|
+
* <Text>More Options</Text>
|
|
109
|
+
* </DropdownMenuSubTrigger>
|
|
110
|
+
* <DropdownMenuSubContent>
|
|
111
|
+
* <DropdownMenuItem>
|
|
112
|
+
* <Text>Nested Item</Text>
|
|
113
|
+
* </DropdownMenuItem>
|
|
114
|
+
* </DropdownMenuSubContent>
|
|
115
|
+
* </DropdownMenuSub>
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
declare function DropdownMenuSubTrigger({ className: _className, inset, children, iconClassName, ...props }: DropdownMenuPrimitive.SubTriggerProps & React.RefAttributes<DropdownMenuPrimitive.SubTriggerRef> & {
|
|
119
|
+
children?: React.ReactNode;
|
|
120
|
+
iconClassName?: string;
|
|
121
|
+
inset?: boolean;
|
|
122
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
123
|
+
/**
|
|
124
|
+
* Content container for nested submenu items
|
|
125
|
+
*
|
|
126
|
+
* @component
|
|
127
|
+
* @example
|
|
128
|
+
* ```tsx
|
|
129
|
+
* <DropdownMenuSubContent>
|
|
130
|
+
* <DropdownMenuItem>
|
|
131
|
+
* <Text>Submenu Item</Text>
|
|
132
|
+
* </DropdownMenuItem>
|
|
133
|
+
* </DropdownMenuSubContent>
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
declare function DropdownMenuSubContent({ className, ...props }: DropdownMenuPrimitive.SubContentProps & React.RefAttributes<DropdownMenuPrimitive.SubContentRef>): import("react/jsx-runtime").JSX.Element;
|
|
137
|
+
/**
|
|
138
|
+
* Main content container for dropdown menu items
|
|
139
|
+
*
|
|
140
|
+
* Renders menu items in a popover with proper positioning, animations,
|
|
141
|
+
* and overlay handling. Uses a portal to render outside the parent hierarchy.
|
|
142
|
+
*
|
|
143
|
+
* @component
|
|
144
|
+
* @example
|
|
145
|
+
* ```tsx
|
|
146
|
+
* <DropdownMenuContent>
|
|
147
|
+
* <DropdownMenuItem>
|
|
148
|
+
* <Text>Profile</Text>
|
|
149
|
+
* </DropdownMenuItem>
|
|
150
|
+
* <DropdownMenuSeparator />
|
|
151
|
+
* <DropdownMenuItem>
|
|
152
|
+
* <Text>Settings</Text>
|
|
153
|
+
* </DropdownMenuItem>
|
|
154
|
+
* </DropdownMenuContent>
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* @accessibility
|
|
158
|
+
* - Properly handles focus management
|
|
159
|
+
* - Supports keyboard navigation
|
|
160
|
+
* - Screen reader friendly menu structure
|
|
161
|
+
*/
|
|
162
|
+
declare function DropdownMenuContent({ className, overlayClassName, overlayStyle, portalHost, ...props }: DropdownMenuPrimitive.ContentProps & React.RefAttributes<DropdownMenuPrimitive.ContentRef> & {
|
|
163
|
+
overlayStyle?: StyleProp<ViewStyle>;
|
|
164
|
+
overlayClassName?: string;
|
|
165
|
+
portalHost?: string;
|
|
166
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
167
|
+
/**
|
|
168
|
+
* Individual menu item component
|
|
169
|
+
*
|
|
170
|
+
* Supports both default and destructive variants for different actions.
|
|
171
|
+
* Includes proper hover, active, and focus states.
|
|
172
|
+
*
|
|
173
|
+
* @component
|
|
174
|
+
* @example
|
|
175
|
+
* ```tsx
|
|
176
|
+
* <DropdownMenuItem onSelect={() => console.log('Selected')}>
|
|
177
|
+
* <Text>Edit Profile</Text>
|
|
178
|
+
* </DropdownMenuItem>
|
|
179
|
+
*
|
|
180
|
+
* <DropdownMenuItem variant="destructive">
|
|
181
|
+
* <Text>Delete Account</Text>
|
|
182
|
+
* </DropdownMenuItem>
|
|
183
|
+
* ```
|
|
184
|
+
*
|
|
185
|
+
* @accessibility
|
|
186
|
+
* - Disabled items cannot be interacted with
|
|
187
|
+
* - Proper focus indicators on web
|
|
188
|
+
*/
|
|
189
|
+
declare function DropdownMenuItem({ className, inset, variant, ...props }: DropdownMenuPrimitive.ItemProps & React.RefAttributes<DropdownMenuPrimitive.ItemRef> & {
|
|
190
|
+
className?: string;
|
|
191
|
+
inset?: boolean;
|
|
192
|
+
variant?: 'default' | 'destructive';
|
|
193
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
194
|
+
/**
|
|
195
|
+
* Menu item with checkbox for multi-selection
|
|
196
|
+
*
|
|
197
|
+
* Shows a checkmark when selected. Useful for toggling multiple options.
|
|
198
|
+
*
|
|
199
|
+
* @component
|
|
200
|
+
* @example
|
|
201
|
+
* ```tsx
|
|
202
|
+
* <DropdownMenuCheckboxItem
|
|
203
|
+
* checked={showPanel}
|
|
204
|
+
* onCheckedChange={setShowPanel}
|
|
205
|
+
* >
|
|
206
|
+
* <Text>Show Side Panel</Text>
|
|
207
|
+
* </DropdownMenuCheckboxItem>
|
|
208
|
+
* ```
|
|
209
|
+
*/
|
|
210
|
+
declare function DropdownMenuCheckboxItem({ className, children, ...props }: DropdownMenuPrimitive.CheckboxItemProps & React.RefAttributes<DropdownMenuPrimitive.CheckboxItemRef> & {
|
|
211
|
+
children?: React.ReactNode;
|
|
212
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
213
|
+
/**
|
|
214
|
+
* Menu item with radio button for single selection within a group
|
|
215
|
+
*
|
|
216
|
+
* Shows a filled circle when selected. Use within DropdownMenuRadioGroup.
|
|
217
|
+
*
|
|
218
|
+
* @component
|
|
219
|
+
* @example
|
|
220
|
+
* ```tsx
|
|
221
|
+
* <DropdownMenuRadioGroup value={sortBy} onValueChange={setSortBy}>
|
|
222
|
+
* <DropdownMenuRadioItem value="name">
|
|
223
|
+
* <Text>Sort by Name</Text>
|
|
224
|
+
* </DropdownMenuRadioItem>
|
|
225
|
+
* <DropdownMenuRadioItem value="date">
|
|
226
|
+
* <Text>Sort by Date</Text>
|
|
227
|
+
* </DropdownMenuRadioItem>
|
|
228
|
+
* </DropdownMenuRadioGroup>
|
|
229
|
+
* ```
|
|
230
|
+
*/
|
|
231
|
+
declare function DropdownMenuRadioItem({ className, children, ...props }: DropdownMenuPrimitive.RadioItemProps & React.RefAttributes<DropdownMenuPrimitive.RadioItemRef> & {
|
|
232
|
+
children?: React.ReactNode;
|
|
233
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
234
|
+
/**
|
|
235
|
+
* Label component for grouping and describing menu sections
|
|
236
|
+
*
|
|
237
|
+
* @component
|
|
238
|
+
* @example
|
|
239
|
+
* ```tsx
|
|
240
|
+
* <DropdownMenuLabel>
|
|
241
|
+
* <Text>Account</Text>
|
|
242
|
+
* </DropdownMenuLabel>
|
|
243
|
+
* <DropdownMenuItem>
|
|
244
|
+
* <Text>Profile</Text>
|
|
245
|
+
* </DropdownMenuItem>
|
|
246
|
+
* ```
|
|
247
|
+
*/
|
|
248
|
+
declare function DropdownMenuLabel({ className, inset, ...props }: DropdownMenuPrimitive.LabelProps & React.RefAttributes<DropdownMenuPrimitive.LabelRef> & {
|
|
249
|
+
className?: string;
|
|
250
|
+
inset?: boolean;
|
|
251
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
252
|
+
/**
|
|
253
|
+
* Visual separator between menu items or sections
|
|
254
|
+
*
|
|
255
|
+
* @component
|
|
256
|
+
* @example
|
|
257
|
+
* ```tsx
|
|
258
|
+
* <DropdownMenuItem>
|
|
259
|
+
* <Text>Edit</Text>
|
|
260
|
+
* </DropdownMenuItem>
|
|
261
|
+
* <DropdownMenuSeparator />
|
|
262
|
+
* <DropdownMenuItem variant="destructive">
|
|
263
|
+
* <Text>Delete</Text>
|
|
264
|
+
* </DropdownMenuItem>
|
|
265
|
+
* ```
|
|
266
|
+
*/
|
|
267
|
+
declare function DropdownMenuSeparator({ className, ...props }: DropdownMenuPrimitive.SeparatorProps & React.RefAttributes<DropdownMenuPrimitive.SeparatorRef>): import("react/jsx-runtime").JSX.Element;
|
|
268
|
+
/**
|
|
269
|
+
* Displays keyboard shortcut hint for menu items
|
|
270
|
+
*
|
|
271
|
+
* @component
|
|
272
|
+
* @example
|
|
273
|
+
* ```tsx
|
|
274
|
+
* <DropdownMenuItem>
|
|
275
|
+
* <Text>Save</Text>
|
|
276
|
+
* <DropdownMenuShortcut>
|
|
277
|
+
* <Text>⌘S</Text>
|
|
278
|
+
* </DropdownMenuShortcut>
|
|
279
|
+
* </DropdownMenuItem>
|
|
280
|
+
* ```
|
|
281
|
+
*/
|
|
282
|
+
declare function DropdownMenuShortcut({ className, ...props }: TextProps & React.RefAttributes<Text>): import("react/jsx-runtime").JSX.Element;
|
|
283
|
+
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, };
|
|
284
|
+
//# sourceMappingURL=Dropdown-Menu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown-Menu.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Dropdown-Menu.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AAOtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEL,KAAK,SAAS,EAEd,IAAI,EACJ,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,YAAY;;;;;OAnByC,CAAC;;OAKpD,CAAC;uBAcsC,CAAC;AAEhD;;;;GAIG;AACH,QAAA,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"Dropdown-Menu.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Dropdown-Menu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,153 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export interface
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Weather data structure for the greeting card
|
|
3
|
+
*/
|
|
4
|
+
export interface Weather {
|
|
5
|
+
/** Temperature in Celsius */
|
|
6
|
+
temperature: number;
|
|
7
|
+
/** Human-readable weather description (e.g., "Clear Sky", "Rainy") */
|
|
8
|
+
weatherDescription: string;
|
|
9
|
+
/** Path to the weather icon image */
|
|
10
|
+
weatherImage: any;
|
|
11
|
+
/** Weather code from Open-Meteo API */
|
|
12
|
+
weatherCode: number;
|
|
13
|
+
/** Timestamp of last weather update */
|
|
14
|
+
lastUpdated: Date;
|
|
8
15
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Weather icon mappings for different weather conditions
|
|
18
|
+
*/
|
|
19
|
+
declare const WEATHER_ICONS: {
|
|
20
|
+
sunny: any;
|
|
21
|
+
partlyCloudy: any;
|
|
22
|
+
foggy: any;
|
|
23
|
+
drizzle: any;
|
|
24
|
+
rainy: any;
|
|
25
|
+
freezingRain: any;
|
|
26
|
+
showers: any;
|
|
27
|
+
thunderstorm: any;
|
|
28
|
+
thunderstormHail: any;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Converts a weather code from Open-Meteo API to a description and icon
|
|
32
|
+
*
|
|
33
|
+
* @param {number} code - Weather code from Open-Meteo API (0-99)
|
|
34
|
+
* @returns {Object} Object containing description and icon path
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```tsx
|
|
38
|
+
* const weatherInfo = getWeatherDescription(0);
|
|
39
|
+
* // Returns: { description: 'Clear Sky (Sunny)', weatherImage: ... }
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function getWeatherDescription(code: number): {
|
|
43
|
+
description: string;
|
|
44
|
+
weatherImage: any;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Returns a greeting based on the current time of day
|
|
48
|
+
*
|
|
49
|
+
* @returns {string} Time-appropriate greeting
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```tsx
|
|
53
|
+
* const greeting = getTimeBasedGreeting();
|
|
54
|
+
* // Returns: "Good Morning" (if it's morning)
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare function getTimeBasedGreeting(): string;
|
|
58
|
+
/**
|
|
59
|
+
* Formats a date to a readable string format
|
|
60
|
+
*
|
|
61
|
+
* @param {Date} date - Date to format
|
|
62
|
+
* @returns {string} Formatted date string (e.g., "Monday, 16 October")
|
|
63
|
+
*/
|
|
64
|
+
export declare function formatDate(date: Date): string;
|
|
65
|
+
/**
|
|
66
|
+
* Fetches weather data from Open-Meteo API
|
|
67
|
+
*
|
|
68
|
+
* @param {number} latitude - Latitude coordinate
|
|
69
|
+
* @param {number} longitude - Longitude coordinate
|
|
70
|
+
* @returns {Promise<Weather | null>} Weather data or null if fetch fails
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```tsx
|
|
74
|
+
* const weather = await fetchWeather(37.7749, -122.4194);
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export declare function fetchWeather(latitude: number, longitude: number): Promise<Weather | null>;
|
|
78
|
+
/**
|
|
79
|
+
* Props for the GreetingCard component
|
|
80
|
+
*/
|
|
81
|
+
export interface GreetingCardProps {
|
|
82
|
+
/** User's full name to display in the greeting (required) */
|
|
83
|
+
userName: string;
|
|
84
|
+
/** Latitude coordinate for weather fetching (optional - weather shown only when both lat and lng provided) */
|
|
85
|
+
lat?: number;
|
|
86
|
+
/** Longitude coordinate for weather fetching (optional - weather shown only when both lat and lng provided) */
|
|
87
|
+
lng?: number;
|
|
88
|
+
/** Custom greeting message (overrides time-based greeting) */
|
|
89
|
+
customGreeting?: string;
|
|
90
|
+
/** Custom date to display (defaults to current date) */
|
|
91
|
+
date?: Date;
|
|
92
|
+
/** Action button text (e.g., "View Schedule") */
|
|
93
|
+
actionText?: string;
|
|
94
|
+
/** Callback when the card or action button is pressed */
|
|
95
|
+
onPress?: () => void;
|
|
96
|
+
/** Additional CSS classes for the card container */
|
|
97
|
+
className?: string;
|
|
98
|
+
/** Whether to show the action button section */
|
|
99
|
+
showAction?: boolean;
|
|
100
|
+
/** Cache duration in milliseconds (default: 15 minutes) */
|
|
101
|
+
cacheDuration?: number;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* GreetingCard - A personalized greeting card with weather information
|
|
105
|
+
*
|
|
106
|
+
* Displays a personalized greeting with the user's name, current date, and optional
|
|
107
|
+
* weather information fetched from Open-Meteo API. Includes an optional action button
|
|
108
|
+
* (e.g., "View Schedule"). Weather data is automatically cached for 15 minutes.
|
|
109
|
+
*
|
|
110
|
+
* @component
|
|
111
|
+
* @example
|
|
112
|
+
* ```tsx
|
|
113
|
+
* // Basic usage without weather
|
|
114
|
+
* <GreetingCard
|
|
115
|
+
* userName="John Doe"
|
|
116
|
+
* actionText="View Schedule"
|
|
117
|
+
* onPress={() => navigation.navigate('Schedule')}
|
|
118
|
+
* />
|
|
119
|
+
*
|
|
120
|
+
* // With automatic weather fetching (provide both lat and lng)
|
|
121
|
+
* <GreetingCard
|
|
122
|
+
* userName="Jane Smith"
|
|
123
|
+
* lat={37.7749}
|
|
124
|
+
* lng={-122.4194}
|
|
125
|
+
* actionText="View Dashboard"
|
|
126
|
+
* onPress={() => console.log('Card pressed')}
|
|
127
|
+
* />
|
|
128
|
+
*
|
|
129
|
+
* // Custom greeting without action
|
|
130
|
+
* <GreetingCard
|
|
131
|
+
* userName="Alice"
|
|
132
|
+
* customGreeting="Welcome back"
|
|
133
|
+
* showAction={false}
|
|
134
|
+
* />
|
|
135
|
+
* ```
|
|
136
|
+
*
|
|
137
|
+
* @property {string} userName - User's full name to display in greeting (required)
|
|
138
|
+
* @property {number} [lat] - Latitude coordinate for weather fetching (optional)
|
|
139
|
+
* @property {number} [lng] - Longitude coordinate for weather fetching (optional)
|
|
140
|
+
* @property {string} [customGreeting] - Override the time-based greeting
|
|
141
|
+
* @property {Date} [date] - Custom date to display (defaults to current date)
|
|
142
|
+
* @property {string} [actionText="View Details"] - Text for the action button
|
|
143
|
+
* @property {Function} [onPress] - Handler called when card or action is pressed
|
|
144
|
+
* @property {string} [className] - Additional Tailwind classes for styling
|
|
145
|
+
* @property {boolean} [showAction=true] - Whether to show the action button section
|
|
146
|
+
* @property {number} [cacheDuration=900000] - Cache duration in ms (default: 15 min)
|
|
147
|
+
*/
|
|
148
|
+
export declare function GreetingCard({ userName, lat, lng, customGreeting, date, actionText, onPress, className, showAction, cacheDuration, }: GreetingCardProps): import("react/jsx-runtime").JSX.Element;
|
|
149
|
+
export declare namespace GreetingCard {
|
|
150
|
+
var displayName: string;
|
|
151
|
+
}
|
|
152
|
+
export { WEATHER_ICONS };
|
|
153
|
+
//# sourceMappingURL=Greeting-Card.d.ts.map
|