@campxdev/react-native-blueprint 0.1.14 → 0.1.16

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 (222) hide show
  1. package/global.css +672 -0
  2. package/lib/module/assets/Loading Animation.json +1 -0
  3. package/lib/module/assets/Success-Tick.json +1 -0
  4. package/lib/module/assets/lotties/index.js +3 -1
  5. package/lib/module/assets/lotties/index.js.map +1 -1
  6. package/lib/module/components/DataDisplay/Accordion/Accordion.js +1 -0
  7. package/lib/module/components/DataDisplay/Accordion/Accordion.js.map +1 -1
  8. package/lib/module/components/DataDisplay/AccordionItem/AccordionItem.js +1 -0
  9. package/lib/module/components/DataDisplay/AccordionItem/AccordionItem.js.map +1 -1
  10. package/lib/module/components/DataDisplay/Badge/Badge.figma.js +1 -0
  11. package/lib/module/components/DataDisplay/Badge/Badge.figma.js.map +1 -1
  12. package/lib/module/components/DataDisplay/Badge/Badge.js +1 -0
  13. package/lib/module/components/DataDisplay/Badge/Badge.js.map +1 -1
  14. package/lib/module/components/DataDisplay/Banner/Banner.figma.js +25 -0
  15. package/lib/module/components/DataDisplay/Banner/Banner.figma.js.map +1 -0
  16. package/lib/module/components/DataDisplay/Banner/Banner.js +101 -0
  17. package/lib/module/components/DataDisplay/Banner/Banner.js.map +1 -0
  18. package/lib/module/components/DataDisplay/BannerRow/BannerRow.js +1 -0
  19. package/lib/module/components/DataDisplay/BannerRow/BannerRow.js.map +1 -1
  20. package/lib/module/components/DataDisplay/CalendarItem/CalendarItem.js +1 -0
  21. package/lib/module/components/DataDisplay/CalendarItem/CalendarItem.js.map +1 -1
  22. package/lib/module/components/DataDisplay/Card/Card.js +1 -0
  23. package/lib/module/components/DataDisplay/Card/Card.js.map +1 -1
  24. package/lib/module/components/DataDisplay/Chips/Chips.js +1 -0
  25. package/lib/module/components/DataDisplay/Chips/Chips.js.map +1 -1
  26. package/lib/module/components/DataDisplay/ChipsRow/ChipsRow.js +1 -0
  27. package/lib/module/components/DataDisplay/ChipsRow/ChipsRow.js.map +1 -1
  28. package/lib/module/components/DataDisplay/DataListItem/DataListItem.js +1 -0
  29. package/lib/module/components/DataDisplay/DataListItem/DataListItem.js.map +1 -1
  30. package/lib/module/components/DataDisplay/Datalist/Datalist.js +1 -0
  31. package/lib/module/components/DataDisplay/Datalist/Datalist.js.map +1 -1
  32. package/lib/module/components/DataDisplay/Greeting/Greeting.figma.js +15 -0
  33. package/lib/module/components/DataDisplay/Greeting/Greeting.figma.js.map +1 -0
  34. package/lib/module/components/DataDisplay/Greeting/Greeting.js +121 -0
  35. package/lib/module/components/DataDisplay/Greeting/Greeting.js.map +1 -0
  36. package/lib/module/components/DataDisplay/MonthCalendar/MonthCalendar.figma.js +5 -7
  37. package/lib/module/components/DataDisplay/MonthCalendar/MonthCalendar.figma.js.map +1 -1
  38. package/lib/module/components/DataDisplay/Separator/Separator.js +1 -0
  39. package/lib/module/components/DataDisplay/Separator/Separator.js.map +1 -1
  40. package/lib/module/components/DataDisplay/Skeleton/Skeleton.js +1 -0
  41. package/lib/module/components/DataDisplay/Skeleton/Skeleton.js.map +1 -1
  42. package/lib/module/components/DataDisplay/Tooltip/Tooltip.figma.js +1 -0
  43. package/lib/module/components/DataDisplay/Tooltip/Tooltip.figma.js.map +1 -1
  44. package/lib/module/components/DataDisplay/Tooltip/Tooltip.js +1 -0
  45. package/lib/module/components/DataDisplay/Tooltip/Tooltip.js.map +1 -1
  46. package/lib/module/components/Feedback/InfoBar/InfoBar.figma.js +32 -0
  47. package/lib/module/components/Feedback/InfoBar/InfoBar.figma.js.map +1 -0
  48. package/lib/module/components/Feedback/InfoBar/InfoBar.js +107 -0
  49. package/lib/module/components/Feedback/InfoBar/InfoBar.js.map +1 -0
  50. package/lib/module/components/Feedback/ProgressCircular/Progress-circular.js +1 -0
  51. package/lib/module/components/Feedback/ProgressCircular/Progress-circular.js.map +1 -1
  52. package/lib/module/components/Feedback/ProgressLinear/Progress-linear.js +1 -0
  53. package/lib/module/components/Feedback/ProgressLinear/Progress-linear.js.map +1 -1
  54. package/lib/module/components/Input/Button/Button.js +99 -43
  55. package/lib/module/components/Input/Button/Button.js.map +1 -1
  56. package/lib/module/components/Input/Checkbox/Checkbox.js +1 -0
  57. package/lib/module/components/Input/Checkbox/Checkbox.js.map +1 -1
  58. package/lib/module/components/Input/RadioGroup/Radio-Group.figma.js +3 -3
  59. package/lib/module/components/Input/RadioGroup/Radio-Group.figma.js.map +1 -1
  60. package/lib/module/components/Input/RadioGroup/Radio-Group.js +1 -0
  61. package/lib/module/components/Input/RadioGroup/Radio-Group.js.map +1 -1
  62. package/lib/module/components/Input/Select/Select.js +1 -0
  63. package/lib/module/components/Input/Select/Select.js.map +1 -1
  64. package/lib/module/components/Input/TextField/Textfield.figma.js +4 -2
  65. package/lib/module/components/Input/TextField/Textfield.figma.js.map +1 -1
  66. package/lib/module/components/Input/TextField/Textfield.js +219 -43
  67. package/lib/module/components/Input/TextField/Textfield.js.map +1 -1
  68. package/lib/module/components/Input/Toggle/Toggle.figma.js +32 -0
  69. package/lib/module/components/Input/Toggle/Toggle.figma.js.map +1 -0
  70. package/lib/module/components/Input/Toggle/Toggle.js +52 -23
  71. package/lib/module/components/Input/Toggle/Toggle.js.map +1 -1
  72. package/lib/module/components/Input/ToggleGroup/Toggle-Group.js +1 -0
  73. package/lib/module/components/Input/ToggleGroup/Toggle-Group.js.map +1 -1
  74. package/lib/module/components/Input/switch/Switch.figma.js +1 -0
  75. package/lib/module/components/Input/switch/Switch.figma.js.map +1 -1
  76. package/lib/module/components/Input/switch/Switch.js +1 -0
  77. package/lib/module/components/Input/switch/Switch.js.map +1 -1
  78. package/lib/module/components/Layout/Tabs/Tabs.figma.js +1 -0
  79. package/lib/module/components/Layout/Tabs/Tabs.figma.js.map +1 -1
  80. package/lib/module/components/Layout/Tabs/Tabs.js +1 -0
  81. package/lib/module/components/Layout/Tabs/Tabs.js.map +1 -1
  82. package/lib/module/components/Navigation/Appbar/AppBar.figma.js +1 -0
  83. package/lib/module/components/Navigation/Appbar/AppBar.figma.js.map +1 -1
  84. package/lib/module/components/Navigation/FloatingAction/Floating-Action.js +1 -0
  85. package/lib/module/components/Navigation/FloatingAction/Floating-Action.js.map +1 -1
  86. package/lib/module/components/Navigation/Popover/Popover.figma.js +1 -0
  87. package/lib/module/components/Navigation/Popover/Popover.figma.js.map +1 -1
  88. package/lib/module/components/Navigation/Popover/Popover.js +1 -0
  89. package/lib/module/components/Navigation/Popover/Popover.js.map +1 -1
  90. package/lib/module/components/ui/Custom-Card.js +1 -0
  91. package/lib/module/components/ui/Custom-Card.js.map +1 -1
  92. package/lib/module/components/ui/Dropdown-Menu.js +1 -0
  93. package/lib/module/components/ui/Dropdown-Menu.js.map +1 -1
  94. package/lib/module/components/ui/Hover-Card.js +1 -0
  95. package/lib/module/components/ui/Hover-Card.js.map +1 -1
  96. package/lib/module/components/ui/Icon.js +1 -0
  97. package/lib/module/components/ui/Icon.js.map +1 -1
  98. package/lib/module/components/ui/Input.js +1 -0
  99. package/lib/module/components/ui/Input.js.map +1 -1
  100. package/lib/module/components/ui/Menubar.js +1 -0
  101. package/lib/module/components/ui/Menubar.js.map +1 -1
  102. package/lib/module/components/ui/Slider.js +1 -0
  103. package/lib/module/components/ui/Slider.js.map +1 -1
  104. package/lib/module/components/ui/Table.js +1 -0
  105. package/lib/module/components/ui/Table.js.map +1 -1
  106. package/lib/module/components/ui/Toast.js +1 -0
  107. package/lib/module/components/ui/Toast.js.map +1 -1
  108. package/lib/module/components/ui/index.js +4 -1
  109. package/lib/module/components/ui/index.js.map +1 -1
  110. package/lib/module/index.js +3 -0
  111. package/lib/module/index.js.map +1 -1
  112. package/lib/module/patterns/pattern-components/AlertDialogPattern/AlertDialogPattern.js +1 -0
  113. package/lib/module/patterns/pattern-components/AlertDialogPattern/AlertDialogPattern.js.map +1 -1
  114. package/lib/module/patterns/pattern-components/AlertPattern/AlertPattern.js +1 -0
  115. package/lib/module/patterns/pattern-components/AlertPattern/AlertPattern.js.map +1 -1
  116. package/lib/module/patterns/pattern-components/BottomSheetPattern/index.js +4 -0
  117. package/lib/module/patterns/pattern-components/BottomSheetPattern/index.js.map +1 -0
  118. package/lib/module/patterns/pattern-components/CalendarPattern/CalendarPattern.figma.js +1 -0
  119. package/lib/module/patterns/pattern-components/CalendarPattern/CalendarPattern.figma.js.map +1 -1
  120. package/lib/module/patterns/pattern-components/CalendarPattern/CalendarPattern.js +1 -0
  121. package/lib/module/patterns/pattern-components/CalendarPattern/CalendarPattern.js.map +1 -1
  122. package/lib/module/patterns/pattern-components/CalendarPattern/index.js +4 -0
  123. package/lib/module/patterns/pattern-components/CalendarPattern/index.js.map +1 -0
  124. package/lib/module/patterns/pattern-components/DashboardPattern/index.js +4 -0
  125. package/lib/module/patterns/pattern-components/DashboardPattern/index.js.map +1 -0
  126. package/lib/module/patterns/pattern-components/EmptyState/EmptyState.js +1 -0
  127. package/lib/module/patterns/pattern-components/EmptyState/EmptyState.js.map +1 -1
  128. package/lib/module/patterns/pattern-components/EntityPatternGuided/EntityPatternGuided.js +1 -0
  129. package/lib/module/patterns/pattern-components/EntityPatternGuided/EntityPatternGuided.js.map +1 -1
  130. package/lib/module/patterns/pattern-components/EntityPatternGuided/index.js +4 -0
  131. package/lib/module/patterns/pattern-components/EntityPatternGuided/index.js.map +1 -0
  132. package/lib/module/patterns/pattern-components/EntityPatternOverview/EntityPatternOverview.js +1 -0
  133. package/lib/module/patterns/pattern-components/EntityPatternOverview/EntityPatternOverview.js.map +1 -1
  134. package/lib/module/patterns/pattern-components/EntityPatternStructured/EntityPatternStructured.js +1 -0
  135. package/lib/module/patterns/pattern-components/EntityPatternStructured/EntityPatternStructured.js.map +1 -1
  136. package/lib/module/patterns/pattern-components/FormPattern/FormPattern.js +1 -0
  137. package/lib/module/patterns/pattern-components/FormPattern/FormPattern.js.map +1 -1
  138. package/lib/module/patterns/pattern-components/SuccessPattern/SuccessPattern.figma.js +38 -0
  139. package/lib/module/patterns/pattern-components/SuccessPattern/SuccessPattern.figma.js.map +1 -0
  140. package/lib/module/patterns/pattern-components/SuccessPattern/SuccessPattern.js +91 -0
  141. package/lib/module/patterns/pattern-components/SuccessPattern/SuccessPattern.js.map +1 -0
  142. package/lib/module/patterns/pattern-components/SuccessPattern/index.js +4 -0
  143. package/lib/module/patterns/pattern-components/SuccessPattern/index.js.map +1 -0
  144. package/lib/module/patterns/pattern-components/index.js +5 -3
  145. package/lib/module/patterns/pattern-components/index.js.map +1 -1
  146. package/package.json +4 -3
  147. package/src/assets/Loading Animation.json +1 -0
  148. package/src/assets/Success-Tick.json +1 -0
  149. package/src/assets/lotties/index.ts +2 -0
  150. package/src/components/DataDisplay/Accordion/Accordion.tsx +1 -0
  151. package/src/components/DataDisplay/AccordionItem/AccordionItem.tsx +1 -0
  152. package/src/components/DataDisplay/Badge/Badge.figma.tsx +1 -0
  153. package/src/components/DataDisplay/Badge/Badge.tsx +1 -0
  154. package/src/components/DataDisplay/Banner/Banner.figma.tsx +26 -0
  155. package/src/components/DataDisplay/Banner/Banner.tsx +108 -0
  156. package/src/components/DataDisplay/BannerRow/BannerRow.tsx +1 -0
  157. package/src/components/DataDisplay/CalendarItem/CalendarItem.tsx +1 -0
  158. package/src/components/DataDisplay/Card/Card.tsx +1 -0
  159. package/src/components/DataDisplay/Chips/Chips.tsx +1 -0
  160. package/src/components/DataDisplay/ChipsRow/ChipsRow.tsx +1 -0
  161. package/src/components/DataDisplay/DataListItem/DataListItem.tsx +1 -0
  162. package/src/components/DataDisplay/Datalist/Datalist.tsx +1 -0
  163. package/src/components/DataDisplay/Greeting/Greeting.figma.tsx +12 -0
  164. package/src/components/DataDisplay/Greeting/Greeting.tsx +154 -0
  165. package/src/components/DataDisplay/MonthCalendar/MonthCalendar.figma.tsx +7 -11
  166. package/src/components/DataDisplay/Separator/Separator.tsx +1 -0
  167. package/src/components/DataDisplay/Skeleton/Skeleton.tsx +1 -0
  168. package/src/components/DataDisplay/Tooltip/Tooltip.figma.tsx +1 -0
  169. package/src/components/DataDisplay/Tooltip/Tooltip.tsx +1 -0
  170. package/src/components/Feedback/InfoBar/InfoBar.figma.tsx +31 -0
  171. package/src/components/Feedback/InfoBar/InfoBar.tsx +127 -0
  172. package/src/components/Feedback/ProgressCircular/Progress-circular.tsx +1 -0
  173. package/src/components/Feedback/ProgressLinear/Progress-linear.tsx +1 -0
  174. package/src/components/Input/Button/Button.tsx +110 -43
  175. package/src/components/Input/Checkbox/Checkbox.tsx +1 -0
  176. package/src/components/Input/RadioGroup/Radio-Group.figma.tsx +3 -3
  177. package/src/components/Input/RadioGroup/Radio-Group.tsx +1 -0
  178. package/src/components/Input/Select/Select.tsx +1 -0
  179. package/src/components/Input/TextField/Textfield.figma.tsx +2 -0
  180. package/src/components/Input/TextField/Textfield.tsx +280 -48
  181. package/src/components/Input/Toggle/Toggle.figma.tsx +37 -0
  182. package/src/components/Input/Toggle/Toggle.tsx +49 -22
  183. package/src/components/Input/ToggleGroup/Toggle-Group.tsx +1 -0
  184. package/src/components/Input/switch/Switch.figma.tsx +1 -0
  185. package/src/components/Input/switch/Switch.tsx +1 -0
  186. package/src/components/Layout/Tabs/Tabs.figma.tsx +1 -0
  187. package/src/components/Layout/Tabs/Tabs.tsx +1 -0
  188. package/src/components/Navigation/Appbar/AppBar.figma.tsx +1 -0
  189. package/src/components/Navigation/FloatingAction/Floating-Action.tsx +1 -0
  190. package/src/components/Navigation/Popover/Popover.figma.tsx +1 -0
  191. package/src/components/Navigation/Popover/Popover.tsx +1 -0
  192. package/src/components/ui/Custom-Card.tsx +1 -0
  193. package/src/components/ui/Dropdown-Menu.tsx +1 -0
  194. package/src/components/ui/Hover-Card.tsx +1 -0
  195. package/src/components/ui/Icon.tsx +1 -0
  196. package/src/components/ui/Input.tsx +1 -0
  197. package/src/components/ui/Menubar.tsx +1 -0
  198. package/src/components/ui/Slider.tsx +1 -0
  199. package/src/components/ui/Table.tsx +1 -0
  200. package/src/components/ui/Toast.tsx +1 -0
  201. package/src/components/ui/index.ts +5 -1
  202. package/src/index.tsx +3 -0
  203. package/src/patterns/pattern-components/AlertDialogPattern/AlertDialogPattern.tsx +1 -0
  204. package/src/patterns/pattern-components/AlertPattern/AlertPattern.tsx +1 -0
  205. package/src/patterns/pattern-components/BottomSheetPattern/index.ts +1 -0
  206. package/src/patterns/pattern-components/CalendarPattern/CalendarPattern.figma.tsx +1 -0
  207. package/src/patterns/pattern-components/CalendarPattern/CalendarPattern.tsx +1 -0
  208. package/src/patterns/pattern-components/CalendarPattern/index.ts +1 -0
  209. package/src/patterns/pattern-components/DashboardPattern/index.ts +1 -0
  210. package/src/patterns/pattern-components/EmptyState/EmptyState.tsx +1 -0
  211. package/src/patterns/pattern-components/EntityPatternGuided/EntityPatternGuided.tsx +1 -0
  212. package/src/patterns/pattern-components/EntityPatternGuided/index.ts +1 -0
  213. package/src/patterns/pattern-components/EntityPatternOverview/EntityPatternOverview.tsx +1 -0
  214. package/src/patterns/pattern-components/EntityPatternStructured/EntityPatternStructured.tsx +1 -0
  215. package/src/patterns/pattern-components/FormPattern/FormPattern.tsx +1 -0
  216. package/src/patterns/pattern-components/SuccessPattern/SuccessPattern.figma.tsx +38 -0
  217. package/src/patterns/pattern-components/SuccessPattern/SuccessPattern.tsx +119 -0
  218. package/src/patterns/pattern-components/SuccessPattern/index.ts +2 -0
  219. package/src/patterns/pattern-components/index.ts +3 -1
  220. package/lib/module/components/ui/Greeting-Card.js +0 -392
  221. package/lib/module/components/ui/Greeting-Card.js.map +0 -1
  222. package/src/components/ui/Greeting-Card.tsx +0 -471
@@ -1,392 +0,0 @@
1
- "use strict";
2
-
3
- import * as React from 'react';
4
- import { Image, Pressable, StyleSheet, View, useColorScheme } from 'react-native';
5
- import { cssInterop } from 'nativewind';
6
- import { cn } from "../../lib/utils.js";
7
- import { CustomCard } from "./Custom-Card.js";
8
- import { Text } from "../Input/Text/Text.js";
9
- import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
10
- cssInterop(View, {
11
- className: 'style'
12
- });
13
- cssInterop(Pressable, {
14
- className: 'style'
15
- });
16
-
17
- /**
18
- * Weather data structure for the greeting card
19
- */
20
-
21
- /**
22
- * Weather icon mappings for different weather conditions
23
- */
24
- const WEATHER_ICONS = {
25
- sunny: require('../../assets/icons/weather_icons/sunny_weather.png'),
26
- partlyCloudy: require('../../assets/icons/weather_icons/partly_cloudy.png'),
27
- foggy: require('../../assets/icons/weather_icons/foggy.png'),
28
- drizzle: require('../../assets/icons/weather_icons/drizzle.png'),
29
- rainy: require('../../assets/icons/weather_icons/rainy.png'),
30
- freezingRain: require('../../assets/icons/weather_icons/freezing_rain.png'),
31
- showers: require('../../assets/icons/weather_icons/showers.png'),
32
- thunderstorm: require('../../assets/icons/weather_icons/thunderstorm.png'),
33
- thunderstormHail: require('../../assets/icons/weather_icons/thunderstorm_hail.png')
34
- };
35
-
36
- /**
37
- * Converts a weather code from Open-Meteo API to a description and icon
38
- *
39
- * @param {number} code - Weather code from Open-Meteo API (0-99)
40
- * @returns {Object} Object containing description and icon path
41
- *
42
- * @example
43
- * ```tsx
44
- * const weatherInfo = getWeatherDescription(0);
45
- * // Returns: { description: 'Clear Sky (Sunny)', weatherImage: ... }
46
- * ```
47
- */
48
- export function getWeatherDescription(code) {
49
- const weatherMap = {
50
- '0': {
51
- description: 'Clear Sky (Sunny)',
52
- icon: 'sunny'
53
- },
54
- '1,2,3': {
55
- description: 'Partly Cloudy',
56
- icon: 'partlyCloudy'
57
- },
58
- '45,48': {
59
- description: 'Foggy',
60
- icon: 'foggy'
61
- },
62
- '51,53,55': {
63
- description: 'Drizzle',
64
- icon: 'drizzle'
65
- },
66
- '56,57': {
67
- description: 'Freezing Drizzle',
68
- icon: 'drizzle'
69
- },
70
- '61,63,65': {
71
- description: 'Rainy',
72
- icon: 'rainy'
73
- },
74
- '66,67': {
75
- description: 'Freezing Rain',
76
- icon: 'freezingRain'
77
- },
78
- '80,81,82': {
79
- description: 'Showers',
80
- icon: 'showers'
81
- },
82
- '95': {
83
- description: 'Thunderstorm',
84
- icon: 'thunderstorm'
85
- },
86
- '96,99': {
87
- description: 'Thunderstorm with Hail',
88
- icon: 'thunderstormHail'
89
- }
90
- };
91
- for (const [codes, info] of Object.entries(weatherMap)) {
92
- if (codes.split(',').map(Number).includes(code)) {
93
- return {
94
- description: info.description,
95
- weatherImage: WEATHER_ICONS[info.icon]
96
- };
97
- }
98
- }
99
- return {
100
- description: 'Unknown Weather',
101
- weatherImage: WEATHER_ICONS.sunny
102
- };
103
- }
104
-
105
- /**
106
- * Returns a greeting based on the current time of day
107
- *
108
- * @returns {string} Time-appropriate greeting
109
- *
110
- * @example
111
- * ```tsx
112
- * const greeting = getTimeBasedGreeting();
113
- * // Returns: "Good Morning" (if it's morning)
114
- * ```
115
- */
116
- export function getTimeBasedGreeting() {
117
- const hour = new Date().getHours();
118
- if (hour >= 5 && hour < 12) {
119
- return 'Good Morning';
120
- } else if (hour >= 12 && hour < 17) {
121
- return 'Good Afternoon';
122
- } else if (hour >= 17 && hour < 21) {
123
- return 'Good Evening';
124
- } else {
125
- return 'Good Night';
126
- }
127
- }
128
-
129
- /**
130
- * Formats a date to a readable string format
131
- *
132
- * @param {Date} date - Date to format
133
- * @returns {string} Formatted date string (e.g., "Monday, 16 October")
134
- */
135
- export function formatDate(date) {
136
- const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
137
- const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
138
- const dayName = days[date.getDay()];
139
- const day = date.getDate();
140
- const monthName = months[date.getMonth()];
141
- return `${dayName}, ${day} ${monthName}`;
142
- }
143
-
144
- /**
145
- * Fetches weather data from Open-Meteo API
146
- *
147
- * @param {number} latitude - Latitude coordinate
148
- * @param {number} longitude - Longitude coordinate
149
- * @returns {Promise<Weather | null>} Weather data or null if fetch fails
150
- *
151
- * @example
152
- * ```tsx
153
- * const weather = await fetchWeather(37.7749, -122.4194);
154
- * ```
155
- */
156
- export async function fetchWeather(latitude, longitude) {
157
- const url = `https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}&current=temperature_2m,weathercode`;
158
- try {
159
- const response = await fetch(url);
160
- if (response.ok) {
161
- const data = await response.json();
162
- const temperature = data.current?.temperature_2m ?? 0;
163
- const weatherCode = data.current?.weathercode ?? 0;
164
- const weatherInfo = getWeatherDescription(weatherCode);
165
- return {
166
- temperature,
167
- weatherDescription: weatherInfo.description,
168
- weatherImage: weatherInfo.weatherImage,
169
- weatherCode,
170
- lastUpdated: new Date()
171
- };
172
- }
173
- return null;
174
- } catch (error) {
175
- console.error('Failed to fetch weather:', error);
176
- return null;
177
- }
178
- }
179
-
180
- /**
181
- * Props for the GreetingCard component
182
- */
183
-
184
- /**
185
- * GreetingCard - A personalized greeting card with weather information
186
- *
187
- * Displays a personalized greeting with the user's name, current date, and optional
188
- * weather information fetched from Open-Meteo API. Includes an optional action button
189
- * (e.g., "View Schedule"). Weather data is automatically cached for 15 minutes.
190
- *
191
- * @component
192
- * @example
193
- * ```tsx
194
- * // Basic usage without weather
195
- * <GreetingCard
196
- * userName="John Doe"
197
- * actionText="View Schedule"
198
- * onPress={() => navigation.navigate('Schedule')}
199
- * />
200
- *
201
- * // With automatic weather fetching (provide both lat and lng)
202
- * <GreetingCard
203
- * userName="Jane Smith"
204
- * lat={37.7749}
205
- * lng={-122.4194}
206
- * actionText="View Dashboard"
207
- * onPress={() => console.log('Card pressed')}
208
- * />
209
- *
210
- * // Custom greeting without action
211
- * <GreetingCard
212
- * userName="Alice"
213
- * customGreeting="Welcome back"
214
- * showAction={false}
215
- * />
216
- * ```
217
- *
218
- * @property {string} userName - User's full name to display in greeting (required)
219
- * @property {number} [lat] - Latitude coordinate for weather fetching (optional)
220
- * @property {number} [lng] - Longitude coordinate for weather fetching (optional)
221
- * @property {string} [customGreeting] - Override the time-based greeting
222
- * @property {Date} [date] - Custom date to display (defaults to current date)
223
- * @property {string} [actionText="View Details"] - Text for the action button
224
- * @property {Function} [onPress] - Handler called when card or action is pressed
225
- * @property {string} [className] - Additional Tailwind classes for styling
226
- * @property {boolean} [showAction=true] - Whether to show the action button section
227
- * @property {number} [cacheDuration=900000] - Cache duration in ms (default: 15 min)
228
- */
229
- export function GreetingCard({
230
- userName,
231
- lat,
232
- lng,
233
- customGreeting,
234
- date = new Date(),
235
- actionText = 'View Details',
236
- onPress,
237
- className,
238
- showAction = true,
239
- cacheDuration = 15 * 60 * 1000 // 15 minutes
240
- }) {
241
- const colorScheme = useColorScheme();
242
- const isDark = colorScheme === 'dark';
243
- const [weather, setWeather] = React.useState(null);
244
- const [isLoading, setIsLoading] = React.useState(false);
245
- const cacheRef = React.useRef(null);
246
-
247
- // Dynamic styles based on theme
248
- const dynamicStyles = React.useMemo(() => ({
249
- separator: {
250
- ...styles.separator,
251
- backgroundColor: isDark ? 'rgba(255, 255, 255, 0.15)' : 'rgba(0, 0, 0, 0.1)'
252
- }
253
- }), [isDark]);
254
- React.useEffect(() => {
255
- const loadWeather = async () => {
256
- if (lat === undefined || lng === undefined) {
257
- return;
258
- }
259
- const now = Date.now();
260
-
261
- // Check cache
262
- if (cacheRef.current && now - cacheRef.current.timestamp < cacheDuration) {
263
- setWeather(cacheRef.current.data);
264
- return;
265
- }
266
- setIsLoading(true);
267
- try {
268
- const weatherData = await fetchWeather(lat, lng);
269
- setWeather(weatherData);
270
- cacheRef.current = {
271
- data: weatherData,
272
- timestamp: now
273
- };
274
- } catch (error) {
275
- console.error('Error loading weather:', error);
276
- } finally {
277
- setIsLoading(false);
278
- }
279
- };
280
- loadWeather();
281
- }, [lat, lng, cacheDuration]);
282
- const greeting = customGreeting || getTimeBasedGreeting();
283
- const formattedDate = formatDate(date);
284
- const CardWrapper = onPress ? Pressable : View;
285
- const wrapperProps = onPress ? {
286
- onPress,
287
- android_ripple: {
288
- color: 'rgba(0, 0, 0, 0.1)'
289
- }
290
- } : {};
291
- return /*#__PURE__*/_jsx(CardWrapper, {
292
- ...wrapperProps,
293
- children: /*#__PURE__*/_jsx(CustomCard, {
294
- cornerRadius: 20,
295
- cornerSmoothing: 1,
296
- className: cn('border-primary/20 dark:border-primary/30', className),
297
- children: /*#__PURE__*/_jsxs(View, {
298
- style: styles.contentWrapper,
299
- children: [/*#__PURE__*/_jsxs(View, {
300
- style: styles.headerSection,
301
- children: [/*#__PURE__*/_jsxs(View, {
302
- style: styles.greetingText,
303
- children: [/*#__PURE__*/_jsxs(Text, {
304
- className: "text-sm font-semibold text-card-foreground dark:text-card-foreground",
305
- children: ["Hi ", userName, ","]
306
- }), /*#__PURE__*/_jsxs(Text, {
307
- className: "mt-1.5 text-xs tracking-wider text-muted-foreground dark:text-muted-foreground",
308
- children: [greeting, ", ", formattedDate]
309
- })]
310
- }), (weather || isLoading) && /*#__PURE__*/_jsx(View, {
311
- style: styles.weatherContainer,
312
- children: isLoading ? /*#__PURE__*/_jsx(Text, {
313
- className: "text-xs text-muted-foreground dark:text-muted-foreground",
314
- children: "Loading..."
315
- }) : weather && /*#__PURE__*/_jsxs(_Fragment, {
316
- children: [/*#__PURE__*/_jsxs(View, {
317
- style: styles.weatherRow,
318
- children: [/*#__PURE__*/_jsx(Image, {
319
- source: weather.weatherImage,
320
- style: styles.weatherIcon,
321
- resizeMode: "contain"
322
- }), /*#__PURE__*/_jsxs(Text, {
323
- className: "ml-1 text-xs text-card-foreground dark:text-card-foreground",
324
- children: [Math.round(weather.temperature), "\xB0 C"]
325
- })]
326
- }), /*#__PURE__*/_jsx(Text, {
327
- className: "mt-0.5 text-xs text-muted-foreground/70 dark:text-muted-foreground/70",
328
- children: weather.weatherDescription
329
- })]
330
- })
331
- })]
332
- }), showAction && /*#__PURE__*/_jsxs(_Fragment, {
333
- children: [/*#__PURE__*/_jsx(View, {
334
- style: dynamicStyles.separator
335
- }), /*#__PURE__*/_jsxs(View, {
336
- style: styles.actionSection,
337
- children: [/*#__PURE__*/_jsx(Text, {
338
- className: "text-sm font-semibold text-card-foreground dark:text-card-foreground",
339
- children: actionText
340
- }), /*#__PURE__*/_jsx(Text, {
341
- className: "text-2xl text-primary dark:text-primary",
342
- children: "\u203A"
343
- })]
344
- })]
345
- })]
346
- })
347
- })
348
- });
349
- }
350
- GreetingCard.displayName = 'GreetingCard';
351
- const styles = StyleSheet.create({
352
- weatherIcon: {
353
- width: 40,
354
- height: 35
355
- },
356
- contentWrapper: {
357
- margin: -24 // Counteract CustomCard's default padding of 24
358
- },
359
- headerSection: {
360
- flexDirection: 'row',
361
- alignItems: 'flex-start',
362
- justifyContent: 'space-between',
363
- paddingHorizontal: 20,
364
- paddingTop: 20,
365
- paddingBottom: 16
366
- },
367
- greetingText: {
368
- flex: 1
369
- },
370
- weatherContainer: {
371
- marginLeft: 12,
372
- alignItems: 'flex-end'
373
- },
374
- weatherRow: {
375
- flexDirection: 'row',
376
- alignItems: 'center'
377
- },
378
- separator: {
379
- height: 1,
380
- marginVertical: 8
381
- },
382
- actionSection: {
383
- flexDirection: 'row',
384
- alignItems: 'center',
385
- justifyContent: 'space-between',
386
- paddingHorizontal: 20,
387
- paddingBottom: 12,
388
- paddingTop: 4
389
- }
390
- });
391
- export { WEATHER_ICONS };
392
- //# sourceMappingURL=Greeting-Card.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Image","Pressable","StyleSheet","View","useColorScheme","cssInterop","cn","CustomCard","Text","jsxs","_jsxs","jsx","_jsx","Fragment","_Fragment","className","WEATHER_ICONS","sunny","require","partlyCloudy","foggy","drizzle","rainy","freezingRain","showers","thunderstorm","thunderstormHail","getWeatherDescription","code","weatherMap","description","icon","codes","info","Object","entries","split","map","Number","includes","weatherImage","getTimeBasedGreeting","hour","Date","getHours","formatDate","date","days","months","dayName","getDay","day","getDate","monthName","getMonth","fetchWeather","latitude","longitude","url","response","fetch","ok","data","json","temperature","current","temperature_2m","weatherCode","weathercode","weatherInfo","weatherDescription","lastUpdated","error","console","GreetingCard","userName","lat","lng","customGreeting","actionText","onPress","showAction","cacheDuration","colorScheme","isDark","weather","setWeather","useState","isLoading","setIsLoading","cacheRef","useRef","dynamicStyles","useMemo","separator","styles","backgroundColor","useEffect","loadWeather","undefined","now","timestamp","weatherData","greeting","formattedDate","CardWrapper","wrapperProps","android_ripple","color","children","cornerRadius","cornerSmoothing","style","contentWrapper","headerSection","greetingText","weatherContainer","weatherRow","source","weatherIcon","resizeMode","Math","round","actionSection","displayName","create","width","height","margin","flexDirection","alignItems","justifyContent","paddingHorizontal","paddingTop","paddingBottom","flex","marginLeft","marginVertical"],"sourceRoot":"../../../../src","sources":["components/ui/Greeting-Card.tsx"],"mappings":"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","ignoreList":[]}