@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.
Files changed (78) hide show
  1. package/lib/module/app/_layout.js +1 -1
  2. package/lib/module/app/_layout.js.map +1 -1
  3. package/lib/module/components/ui/index.js +1 -0
  4. package/lib/module/components/ui/index.js.map +1 -1
  5. package/lib/module/global.css +417 -0
  6. package/lib/module/types/global.d.js +6 -0
  7. package/lib/module/types/global.d.js.map +1 -0
  8. package/lib/module/types/rn-primitives.d.js +6 -0
  9. package/lib/module/types/rn-primitives.d.js.map +1 -0
  10. package/lib/typescript/src/app/_layout.d.ts +7 -8
  11. package/lib/typescript/src/components/ui/Accordion.d.ts +103 -11
  12. package/lib/typescript/src/components/ui/Alert-Dialog.d.ts +167 -10
  13. package/lib/typescript/src/components/ui/Alert-Dialog.d.ts.map +1 -1
  14. package/lib/typescript/src/components/ui/Alert.d.ts +59 -10
  15. package/lib/typescript/src/components/ui/Avatar.d.ts +1350 -10
  16. package/lib/typescript/src/components/ui/Badge.d.ts +203 -10
  17. package/lib/typescript/src/components/ui/Bottom-Sheet.d.ts +43 -11
  18. package/lib/typescript/src/components/ui/Button.d.ts +175 -10
  19. package/lib/typescript/src/components/ui/Card.d.ts +853 -10
  20. package/lib/typescript/src/components/ui/Checkbox.d.ts +36 -11
  21. package/lib/typescript/src/components/ui/Collapsible.d.ts +1 -147
  22. package/lib/typescript/src/components/ui/Collapsible.d.ts.map +1 -1
  23. package/lib/typescript/src/components/ui/Context-Menu.d.ts +149 -10
  24. package/lib/typescript/src/components/ui/Context-Menu.d.ts.map +1 -1
  25. package/lib/typescript/src/components/ui/Custom-Card.d.ts +863 -10
  26. package/lib/typescript/src/components/ui/Dialog.d.ts +125 -10
  27. package/lib/typescript/src/components/ui/Dialog.d.ts.map +1 -1
  28. package/lib/typescript/src/components/ui/Dropdown-Menu.d.ts +283 -10
  29. package/lib/typescript/src/components/ui/Dropdown-Menu.d.ts.map +1 -1
  30. package/lib/typescript/src/components/ui/Greeting-Card.d.ts +152 -10
  31. package/lib/typescript/src/components/ui/Hover-Card.d.ts +67 -10
  32. package/lib/typescript/src/components/ui/Hover-Card.d.ts.map +1 -1
  33. package/lib/typescript/src/components/ui/Icon.d.ts +43 -11
  34. package/lib/typescript/src/components/ui/Input.d.ts +51 -10
  35. package/lib/typescript/src/components/ui/Label.d.ts +104 -10
  36. package/lib/typescript/src/components/ui/Menubar.d.ts +174 -10
  37. package/lib/typescript/src/components/ui/NavBar.d.ts +271 -9
  38. package/lib/typescript/src/components/ui/Popover.d.ts +70 -10
  39. package/lib/typescript/src/components/ui/Popover.d.ts.map +1 -1
  40. package/lib/typescript/src/components/ui/Progress.d.ts +27 -11
  41. package/lib/typescript/src/components/ui/Radio-Group.d.ts +47 -11
  42. package/lib/typescript/src/components/ui/Select.d.ts +106 -10
  43. package/lib/typescript/src/components/ui/Separator.d.ts +165 -10
  44. package/lib/typescript/src/components/ui/Skeleton.d.ts +40 -11
  45. package/lib/typescript/src/components/ui/Slider.d.ts +52 -8
  46. package/lib/typescript/src/components/ui/Switch.d.ts +34 -11
  47. package/lib/typescript/src/components/ui/Table.d.ts +69 -10
  48. package/lib/typescript/src/components/ui/Tabs.d.ts +51 -11
  49. package/lib/typescript/src/components/ui/Text.d.ts +115 -10
  50. package/lib/typescript/src/components/ui/Textarea.d.ts +60 -10
  51. package/lib/typescript/src/components/ui/Theme-Toggle.d.ts +193 -10
  52. package/lib/typescript/src/components/ui/Toast.d.ts +54 -10
  53. package/lib/typescript/src/components/ui/Toggle-Group.d.ts +48 -10
  54. package/lib/typescript/src/components/ui/Toggle.d.ts +52 -10
  55. package/lib/typescript/src/components/ui/Tooltip.d.ts +70 -10
  56. package/lib/typescript/src/components/ui/Tooltip.d.ts.map +1 -1
  57. package/lib/typescript/src/components/ui/index.d.ts +7 -2
  58. package/lib/typescript/src/components/ui/index.d.ts.map +1 -1
  59. package/lib/typescript/src/index.d.ts +7 -93
  60. package/lib/typescript/src/lib/ThemeProvider.d.ts +136 -13
  61. package/lib/typescript/src/lib/cornerRadius.d.ts +112 -21
  62. package/lib/typescript/src/lib/fonts.d.ts +21 -30
  63. package/lib/typescript/src/lib/theme.d.ts +86 -8
  64. package/lib/typescript/src/lib/utils.d.ts +111 -1
  65. package/package.json +2 -9
  66. package/src/app/_layout.tsx +1 -1
  67. package/src/components/ui/index.ts +1 -0
  68. package/src/global.css +417 -0
  69. package/src/types/global.d.ts +44 -0
  70. package/src/types/rn-primitives.d.ts +70 -0
  71. package/lib/typescript/babel.config.d.ts +0 -13
  72. package/lib/typescript/babel.config.d.ts.map +0 -1
  73. package/lib/typescript/metro.config.d.ts +0 -3
  74. package/lib/typescript/metro.config.d.ts.map +0 -1
  75. package/lib/typescript/src/components/ui/Floating-Action-Button.d.ts +0 -11
  76. package/lib/typescript/src/components/ui.d.ts +0 -49
  77. package/lib/typescript/tailwind.config.d.ts +0 -3
  78. 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
- export interface DialogProps extends ViewProps {
5
- className?: string;
6
- children?: React.ReactNode;
7
- [key: string]: any;
8
- }
9
-
10
- export const Dialog: React.ComponentType<DialogProps>;
11
- export default Dialog;
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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
+ {"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 { ViewProps } from 'react-native';
3
-
4
- export interface Dropdown-MenuProps extends ViewProps {
5
- className?: string;
6
- children?: React.ReactNode;
7
- [key: string]: any;
8
- }
9
-
10
- export const Dropdown-Menu: React.ComponentType<Dropdown-MenuProps>;
11
- export default Dropdown-Menu;
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA1BkC,CAAC;;OAKpD,CAAC;;;;;;2EAqBgD,CAAC;AAE1D;;;;GAIG;AACH,QAAA,MAAM,iBAAiB;;;OAjCoC,CAAC;;OAKpD,CAAC;uBA4B4C,CAAC;AAEtD;;;;GAIG;AACH,QAAA,MAAM,kBAAkB,qCAA+B,CAAC;AAExD;;;;GAIG;AACH,QAAA,MAAM,eAAe;;;;;;;OA/CsC,CAAC;;OAKpD,CAAC;uBA0CwC,CAAC;AAElD;;;;GAIG;AACH,QAAA,MAAM,sBAAsB;;;;;;OAtD+B,CAAC;;OAKpD,CAAC;uBAiDsD,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EAAE,UAAU,EACrB,KAAK,EACL,QAAQ,EACR,aAAa,EACb,GAAG,KAAK,EACT,EAAE,qBAAqB,CAAC,eAAe,GACtC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,aAAa,CAAC,GAAG;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAiCF;AAED;;;;;;;;;;;;GAYG;AACH,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,qBAAqB,CAAC,eAAe,GACtC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,aAAa,CAAC,2CAezD;AAQD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,GAAG,KAAK,EACT,EAAE,qBAAqB,CAAC,YAAY,GACnC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG;IACtD,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,2CAsCF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,KAAK,EACL,OAAO,EACP,GAAG,KAAK,EACT,EAAE,qBAAqB,CAAC,SAAS,GAChC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CACrC,2CA6BF;AAED;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,wBAAwB,CAAC,EAChC,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,qBAAqB,CAAC,iBAAiB,GACxC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,eAAe,CAAC,GAAG;IAC3D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,2CA6BF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,qBAAqB,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,qBAAqB,CAAC,cAAc,GACrC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,YAAY,CAAC,GAAG;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,2CAuBF;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,qBAAqB,CAAC,UAAU,GACjC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAWF;AAED;;;;;;;;;;;;;;GAcG;AACH,iBAAS,qBAAqB,CAAC,EAC7B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,qBAAqB,CAAC,cAAc,GACrC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,YAAY,CAAC,2CAOxD;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,2CAUvC;AAED,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,CAAC"}
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
- import * as React from 'react';
2
- import { ViewProps } from 'react-native';
3
-
4
- export interface Greeting-CardProps extends ViewProps {
5
- className?: string;
6
- children?: React.ReactNode;
7
- [key: string]: any;
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
- export const Greeting-Card: React.ComponentType<Greeting-CardProps>;
11
- export default Greeting-Card;
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