related-ui-components 1.3.4 → 1.3.6

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 (197) hide show
  1. package/lib/commonjs/app.js +39 -20
  2. package/lib/commonjs/app.js.map +1 -1
  3. package/lib/commonjs/components/Banner/Banner.js +1 -1
  4. package/lib/commonjs/components/Banner/Banner.js.map +1 -1
  5. package/lib/commonjs/components/DateRangePicker/DateRangePicker.js +358 -0
  6. package/lib/commonjs/components/DateRangePicker/DateRangePicker.js.map +1 -0
  7. package/lib/commonjs/components/DateRangePicker/index.js +4 -0
  8. package/lib/commonjs/components/DateRangePicker/index.js.map +1 -0
  9. package/lib/commonjs/components/Filters/Filters.js +1 -1
  10. package/lib/commonjs/components/Filters/Filters.js.map +1 -1
  11. package/lib/commonjs/components/Input/Input.js +2 -2
  12. package/lib/commonjs/components/Input/Input.js.map +1 -1
  13. package/lib/commonjs/components/NumericStepper/NumericStepper.js +103 -0
  14. package/lib/commonjs/components/NumericStepper/NumericStepper.js.map +1 -0
  15. package/lib/commonjs/components/NumericStepper/index.js +29 -0
  16. package/lib/commonjs/components/NumericStepper/index.js.map +1 -0
  17. package/lib/commonjs/components/SelectAmount/SelectAmount.js +189 -0
  18. package/lib/commonjs/components/SelectAmount/SelectAmount.js.map +1 -0
  19. package/lib/commonjs/components/SelectAmount/index.js +4 -0
  20. package/lib/commonjs/components/SelectAmount/index.js.map +1 -0
  21. package/lib/commonjs/components/Suggestions/SuggestionList.js +98 -0
  22. package/lib/commonjs/components/Suggestions/SuggestionList.js.map +1 -0
  23. package/lib/commonjs/components/TravelBooking/CarRentalForm.js +370 -0
  24. package/lib/commonjs/components/TravelBooking/CarRentalForm.js.map +1 -0
  25. package/lib/commonjs/components/TravelBooking/FlightForm.js +347 -0
  26. package/lib/commonjs/components/TravelBooking/FlightForm.js.map +1 -0
  27. package/lib/commonjs/components/TravelBooking/FlightSummary.js +257 -0
  28. package/lib/commonjs/components/TravelBooking/FlightSummary.js.map +1 -0
  29. package/lib/commonjs/components/TravelBooking/HotelForm.js +290 -0
  30. package/lib/commonjs/components/TravelBooking/HotelForm.js.map +1 -0
  31. package/lib/commonjs/components/TravelBooking/HotelSummary.js +246 -0
  32. package/lib/commonjs/components/TravelBooking/HotelSummary.js.map +1 -0
  33. package/lib/commonjs/components/TravelBooking/README.md +421 -0
  34. package/lib/commonjs/components/TravelBooking/SummaryBar.js +181 -0
  35. package/lib/commonjs/components/TravelBooking/SummaryBar.js.map +1 -0
  36. package/lib/commonjs/components/TravelBooking/TabSelector.js +115 -0
  37. package/lib/commonjs/components/TravelBooking/TabSelector.js.map +1 -0
  38. package/lib/commonjs/components/TravelBooking/TravelBooking.js +261 -0
  39. package/lib/commonjs/components/TravelBooking/TravelBooking.js.map +1 -0
  40. package/lib/commonjs/components/TravelBooking/index.js +22 -0
  41. package/lib/commonjs/components/TravelBooking/index.js.map +1 -0
  42. package/lib/commonjs/components/TravelBooking/types.js +15 -0
  43. package/lib/commonjs/components/TravelBooking/types.js.map +1 -0
  44. package/lib/commonjs/components/UnlockRewards/UnlockRewards.js +2 -2
  45. package/lib/commonjs/components/UnlockRewards/UnlockRewards.js.map +1 -1
  46. package/lib/commonjs/index.js +0 -5
  47. package/lib/commonjs/index.js.map +1 -1
  48. package/lib/module/app.js +43 -24
  49. package/lib/module/app.js.map +1 -1
  50. package/lib/module/components/Banner/Banner.js +1 -1
  51. package/lib/module/components/Banner/Banner.js.map +1 -1
  52. package/lib/module/components/DateRangePicker/DateRangePicker.js +350 -0
  53. package/lib/module/components/DateRangePicker/DateRangePicker.js.map +1 -0
  54. package/lib/module/components/DateRangePicker/index.js +4 -0
  55. package/lib/module/components/DateRangePicker/index.js.map +1 -0
  56. package/lib/module/components/Filters/Filters.js +1 -1
  57. package/lib/module/components/Filters/Filters.js.map +1 -1
  58. package/lib/module/components/Input/Input.js +2 -2
  59. package/lib/module/components/Input/Input.js.map +1 -1
  60. package/lib/module/components/NumericStepper/NumericStepper.js +96 -0
  61. package/lib/module/components/NumericStepper/NumericStepper.js.map +1 -0
  62. package/lib/module/components/NumericStepper/index.js +5 -0
  63. package/lib/module/components/NumericStepper/index.js.map +1 -0
  64. package/lib/module/components/SelectAmount/SelectAmount.js +184 -0
  65. package/lib/module/components/SelectAmount/SelectAmount.js.map +1 -0
  66. package/lib/module/components/SelectAmount/index.js +4 -0
  67. package/lib/module/components/SelectAmount/index.js.map +1 -0
  68. package/lib/module/components/Suggestions/SuggestionList.js +92 -0
  69. package/lib/module/components/Suggestions/SuggestionList.js.map +1 -0
  70. package/lib/module/components/TravelBooking/CarRentalForm.js +363 -0
  71. package/lib/module/components/TravelBooking/CarRentalForm.js.map +1 -0
  72. package/lib/module/components/TravelBooking/FlightForm.js +340 -0
  73. package/lib/module/components/TravelBooking/FlightForm.js.map +1 -0
  74. package/lib/module/components/TravelBooking/FlightSummary.js +254 -0
  75. package/lib/module/components/TravelBooking/FlightSummary.js.map +1 -0
  76. package/lib/module/components/TravelBooking/HotelForm.js +286 -0
  77. package/lib/module/components/TravelBooking/HotelForm.js.map +1 -0
  78. package/lib/module/components/TravelBooking/HotelSummary.js +239 -0
  79. package/lib/module/components/TravelBooking/HotelSummary.js.map +1 -0
  80. package/lib/module/components/TravelBooking/README.md +421 -0
  81. package/lib/module/components/TravelBooking/SummaryBar.js +174 -0
  82. package/lib/module/components/TravelBooking/SummaryBar.js.map +1 -0
  83. package/lib/module/components/TravelBooking/TabSelector.js +110 -0
  84. package/lib/module/components/TravelBooking/TabSelector.js.map +1 -0
  85. package/lib/module/components/TravelBooking/TravelBooking.js +243 -0
  86. package/lib/module/components/TravelBooking/TravelBooking.js.map +1 -0
  87. package/lib/module/components/TravelBooking/index.js +22 -0
  88. package/lib/module/components/TravelBooking/index.js.map +1 -0
  89. package/lib/module/components/TravelBooking/types.js +11 -0
  90. package/lib/module/components/TravelBooking/types.js.map +1 -0
  91. package/lib/module/components/UnlockRewards/UnlockRewards.js +2 -2
  92. package/lib/module/components/UnlockRewards/UnlockRewards.js.map +1 -1
  93. package/lib/module/index.js +7 -4
  94. package/lib/module/index.js.map +1 -1
  95. package/lib/typescript/commonjs/app.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/components/Banner/Banner.d.ts +2 -2
  97. package/lib/typescript/commonjs/components/Banner/Banner.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/components/DateRangePicker/DateRangePicker.d.ts +25 -0
  99. package/lib/typescript/commonjs/components/DateRangePicker/DateRangePicker.d.ts.map +1 -0
  100. package/lib/typescript/commonjs/components/DateRangePicker/index.d.ts +1 -0
  101. package/lib/typescript/commonjs/components/DateRangePicker/index.d.ts.map +1 -0
  102. package/lib/typescript/commonjs/components/NumericStepper/NumericStepper.d.ts +19 -0
  103. package/lib/typescript/commonjs/components/NumericStepper/NumericStepper.d.ts.map +1 -0
  104. package/lib/typescript/commonjs/components/NumericStepper/index.d.ts +3 -0
  105. package/lib/typescript/commonjs/components/NumericStepper/index.d.ts.map +1 -0
  106. package/lib/typescript/commonjs/components/SelectAmount/SelectAmount.d.ts +29 -0
  107. package/lib/typescript/commonjs/components/SelectAmount/SelectAmount.d.ts.map +1 -0
  108. package/lib/typescript/commonjs/components/SelectAmount/index.d.ts +1 -0
  109. package/lib/typescript/commonjs/components/SelectAmount/index.d.ts.map +1 -0
  110. package/lib/typescript/commonjs/components/Suggestions/SuggestionList.d.ts +14 -0
  111. package/lib/typescript/commonjs/components/Suggestions/SuggestionList.d.ts.map +1 -0
  112. package/lib/typescript/commonjs/components/TravelBooking/CarRentalForm.d.ts +58 -0
  113. package/lib/typescript/commonjs/components/TravelBooking/CarRentalForm.d.ts.map +1 -0
  114. package/lib/typescript/commonjs/components/TravelBooking/FlightForm.d.ts +57 -0
  115. package/lib/typescript/commonjs/components/TravelBooking/FlightForm.d.ts.map +1 -0
  116. package/lib/typescript/commonjs/components/TravelBooking/FlightSummary.d.ts +41 -0
  117. package/lib/typescript/commonjs/components/TravelBooking/FlightSummary.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/components/TravelBooking/HotelForm.d.ts +52 -0
  119. package/lib/typescript/commonjs/components/TravelBooking/HotelForm.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/components/TravelBooking/HotelSummary.d.ts +44 -0
  121. package/lib/typescript/commonjs/components/TravelBooking/HotelSummary.d.ts.map +1 -0
  122. package/lib/typescript/commonjs/components/TravelBooking/SummaryBar.d.ts +17 -0
  123. package/lib/typescript/commonjs/components/TravelBooking/SummaryBar.d.ts.map +1 -0
  124. package/lib/typescript/commonjs/components/TravelBooking/TabSelector.d.ts +17 -0
  125. package/lib/typescript/commonjs/components/TravelBooking/TabSelector.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/components/TravelBooking/TravelBooking.d.ts +84 -0
  127. package/lib/typescript/commonjs/components/TravelBooking/TravelBooking.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/components/TravelBooking/index.d.ts +1 -0
  129. package/lib/typescript/commonjs/components/TravelBooking/index.d.ts.map +1 -0
  130. package/lib/typescript/commonjs/components/TravelBooking/types.d.ts +26 -0
  131. package/lib/typescript/commonjs/components/TravelBooking/types.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/index.d.ts +0 -1
  133. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  134. package/lib/typescript/module/app.d.ts.map +1 -1
  135. package/lib/typescript/module/components/Banner/Banner.d.ts +2 -2
  136. package/lib/typescript/module/components/Banner/Banner.d.ts.map +1 -1
  137. package/lib/typescript/module/components/DateRangePicker/DateRangePicker.d.ts +25 -0
  138. package/lib/typescript/module/components/DateRangePicker/DateRangePicker.d.ts.map +1 -0
  139. package/lib/typescript/module/components/DateRangePicker/index.d.ts +1 -0
  140. package/lib/typescript/module/components/DateRangePicker/index.d.ts.map +1 -0
  141. package/lib/typescript/module/components/NumericStepper/NumericStepper.d.ts +19 -0
  142. package/lib/typescript/module/components/NumericStepper/NumericStepper.d.ts.map +1 -0
  143. package/lib/typescript/module/components/NumericStepper/index.d.ts +3 -0
  144. package/lib/typescript/module/components/NumericStepper/index.d.ts.map +1 -0
  145. package/lib/typescript/module/components/SelectAmount/SelectAmount.d.ts +29 -0
  146. package/lib/typescript/module/components/SelectAmount/SelectAmount.d.ts.map +1 -0
  147. package/lib/typescript/module/components/SelectAmount/index.d.ts +1 -0
  148. package/lib/typescript/module/components/SelectAmount/index.d.ts.map +1 -0
  149. package/lib/typescript/module/components/Suggestions/SuggestionList.d.ts +14 -0
  150. package/lib/typescript/module/components/Suggestions/SuggestionList.d.ts.map +1 -0
  151. package/lib/typescript/module/components/TravelBooking/CarRentalForm.d.ts +58 -0
  152. package/lib/typescript/module/components/TravelBooking/CarRentalForm.d.ts.map +1 -0
  153. package/lib/typescript/module/components/TravelBooking/FlightForm.d.ts +57 -0
  154. package/lib/typescript/module/components/TravelBooking/FlightForm.d.ts.map +1 -0
  155. package/lib/typescript/module/components/TravelBooking/FlightSummary.d.ts +41 -0
  156. package/lib/typescript/module/components/TravelBooking/FlightSummary.d.ts.map +1 -0
  157. package/lib/typescript/module/components/TravelBooking/HotelForm.d.ts +52 -0
  158. package/lib/typescript/module/components/TravelBooking/HotelForm.d.ts.map +1 -0
  159. package/lib/typescript/module/components/TravelBooking/HotelSummary.d.ts +44 -0
  160. package/lib/typescript/module/components/TravelBooking/HotelSummary.d.ts.map +1 -0
  161. package/lib/typescript/module/components/TravelBooking/SummaryBar.d.ts +17 -0
  162. package/lib/typescript/module/components/TravelBooking/SummaryBar.d.ts.map +1 -0
  163. package/lib/typescript/module/components/TravelBooking/TabSelector.d.ts +17 -0
  164. package/lib/typescript/module/components/TravelBooking/TabSelector.d.ts.map +1 -0
  165. package/lib/typescript/module/components/TravelBooking/TravelBooking.d.ts +84 -0
  166. package/lib/typescript/module/components/TravelBooking/TravelBooking.d.ts.map +1 -0
  167. package/lib/typescript/module/components/TravelBooking/index.d.ts +1 -0
  168. package/lib/typescript/module/components/TravelBooking/index.d.ts.map +1 -0
  169. package/lib/typescript/module/components/TravelBooking/types.d.ts +26 -0
  170. package/lib/typescript/module/components/TravelBooking/types.d.ts.map +1 -0
  171. package/lib/typescript/module/index.d.ts +0 -1
  172. package/lib/typescript/module/index.d.ts.map +1 -1
  173. package/package.json +12 -8
  174. package/src/app.tsx +80 -13
  175. package/src/components/Banner/Banner.tsx +3 -2
  176. package/src/components/DateRangePicker/DateRangePicker.tsx +410 -0
  177. package/src/components/DateRangePicker/index.ts +2 -0
  178. package/src/components/Filters/Filters.tsx +1 -1
  179. package/src/components/Input/Input.tsx +1 -1
  180. package/src/components/NumericStepper/NumericStepper.tsx +117 -0
  181. package/src/components/NumericStepper/index.ts +2 -0
  182. package/src/components/SelectAmount/SelectAmount.tsx +217 -0
  183. package/src/components/SelectAmount/index.ts +2 -0
  184. package/src/components/Suggestions/SuggestionList.tsx +106 -0
  185. package/src/components/TravelBooking/CarRentalForm.tsx +440 -0
  186. package/src/components/TravelBooking/FlightForm.tsx +452 -0
  187. package/src/components/TravelBooking/FlightSummary.tsx +388 -0
  188. package/src/components/TravelBooking/HotelForm.tsx +365 -0
  189. package/src/components/TravelBooking/HotelSummary.tsx +340 -0
  190. package/src/components/TravelBooking/README.md +421 -0
  191. package/src/components/TravelBooking/SummaryBar.tsx +239 -0
  192. package/src/components/TravelBooking/TabSelector.tsx +158 -0
  193. package/src/components/TravelBooking/TravelBooking.tsx +407 -0
  194. package/src/components/TravelBooking/index.ts +20 -0
  195. package/src/components/TravelBooking/types.ts +28 -0
  196. package/src/components/UnlockRewards/UnlockRewards.tsx +2 -2
  197. package/src/index.ts +4 -4
@@ -0,0 +1,363 @@
1
+ "use strict";
2
+
3
+ import { useTheme } from "@/theme";
4
+ import React, { useCallback, useMemo, useRef, useState } from "react";
5
+ import { View, Text, TouchableOpacity, StyleSheet } from "react-native";
6
+ import { Ionicons } from "@expo/vector-icons";
7
+ import CustomInput from "../Input/Input.js";
8
+ import DateRangePicker from "../DateRangePicker/DateRangePicker.js";
9
+ import { Picker } from "@react-native-picker/picker";
10
+ import SuggestionList from "../Suggestions/SuggestionList.js";
11
+ import { FormInputType } from "./types.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ export const mockCarSuggestions = [{
14
+ id: 1,
15
+ city: "Beirut",
16
+ country: "Lebanon",
17
+ value: "BEIRUT, LEBANON"
18
+ }, {
19
+ id: 2,
20
+ city: "Dubai",
21
+ country: "UAE",
22
+ value: "DUBAI, UAE"
23
+ }, {
24
+ id: 3,
25
+ city: "London",
26
+ country: "UK",
27
+ value: "LONDON, UK"
28
+ }, {
29
+ id: 4,
30
+ city: "Paris",
31
+ country: "France",
32
+ value: "PARIS, FRANCE"
33
+ }, {
34
+ id: 5,
35
+ city: "New York",
36
+ country: "USA",
37
+ value: "NEW YORK, USA"
38
+ }];
39
+
40
+ // --- Helper Types ---
41
+
42
+ // --- Component Props ---
43
+
44
+ // --- Component ---
45
+ const CarRentalForm = ({
46
+ initialFromLocation,
47
+ initialToLocation,
48
+ initialPickupDate,
49
+ initialDropoffDate,
50
+ onSwapPress,
51
+ onSearchPress,
52
+ fromLabel = "PICK-UP",
53
+ toLabel = "DROP-OFF",
54
+ fromPlaceholder = "From Where?",
55
+ toPlaceholder = "To Where?",
56
+ pickupLabel = "PICK-UP DATE",
57
+ dropoffLabel = "DROP-OFF DATE",
58
+ swapIconName = "swap-horizontal",
59
+ searchIconName = "search",
60
+ calendarThemeOverrides = {},
61
+ containerStyle,
62
+ inputGroupContainerStyle,
63
+ // Added
64
+ inputWrapperStyle,
65
+ // Added
66
+ inputGroupStyle,
67
+ labelStyle,
68
+ swapButtonContainerStyle,
69
+ swapButtonStyle,
70
+ swapIconStyle,
71
+ pickupRowStyle,
72
+ searchButtonStyle,
73
+ searchIconStyle,
74
+ isOneWay,
75
+ suggestionData,
76
+ onInputFocus,
77
+ onTextChange,
78
+ dateRangePickerOuterContainerStyle,
79
+ dateRangePickerLabelStyle,
80
+ dateRangePickerInputGroupStyle,
81
+ dateRangePickerCalendarContainerStyle,
82
+ suggestionListContainerStyle,
83
+ suggestionItemStyle,
84
+ suggestionItemTextStyle,
85
+ agePickerWrapperStyle,
86
+ agePickerLabelStyle,
87
+ pickerContainerStyle,
88
+ pickerStyle
89
+ }) => {
90
+ const {
91
+ theme,
92
+ isRTL
93
+ } = useTheme();
94
+ const styles = useMemo(() => themedStyles(theme, isRTL), [theme, isRTL]);
95
+ const fromInputRef = useRef(null);
96
+ const toInputRef = useRef(null);
97
+
98
+ // --- State ---
99
+ const [fromLocation, setFromLocation] = useState(initialFromLocation);
100
+ const [toLocation, setToLocation] = useState(initialToLocation);
101
+ const [pickupDate, setPickupDate] = useState(initialPickupDate);
102
+ const [dropoffDate, setDropoffDate] = useState(initialDropoffDate);
103
+ const [age, setAge] = useState();
104
+ const [focusedInput, setFocusedInput] = useState();
105
+
106
+ // --- Handlers ---
107
+ const handleSwap = useCallback(() => {
108
+ const currentFrom = fromLocation;
109
+ const currentTo = toLocation;
110
+ setFromLocation(currentTo);
111
+ setToLocation(currentFrom);
112
+ onSwapPress?.(currentFrom, currentTo);
113
+ }, [fromLocation, toLocation, onSwapPress]);
114
+ const handleSearch = useCallback(() => {
115
+ onSearchPress?.({
116
+ from: fromLocation,
117
+ to: toLocation,
118
+ pickup: pickupDate,
119
+ dropoff: dropoffDate,
120
+ driverAge: age
121
+ });
122
+ }, [fromLocation, toLocation, pickupDate, dropoffDate, age, onSearchPress]);
123
+
124
+ // --- Shared Suggestion Render Item ---
125
+ const suggestionRenderItem = item => /*#__PURE__*/_jsx(TouchableOpacity, {
126
+ onPress: () => {
127
+ if (focusedInput === FormInputType.CAR_PICKUP) {
128
+ setFromLocation(item.value);
129
+ fromInputRef.current?.blur();
130
+ } else if (focusedInput === FormInputType.CAR_DROP_OFF) {
131
+ setToLocation(item.value);
132
+ toInputRef.current?.blur();
133
+ }
134
+ // setFocusedInput(undefined); // Hide suggestions after selection
135
+ },
136
+ style: [styles.suggestionItem, suggestionItemStyle] // Use new prop
137
+ ,
138
+ children: /*#__PURE__*/_jsx(Text, {
139
+ style: [styles.suggestionItemText, suggestionItemTextStyle],
140
+ children: item.value
141
+ })
142
+ }, item.id);
143
+ return /*#__PURE__*/_jsxs(View, {
144
+ style: [styles.container, containerStyle],
145
+ children: [/*#__PURE__*/_jsxs(View, {
146
+ style: [styles.inputGroupContainer, inputGroupContainerStyle],
147
+ children: [/*#__PURE__*/_jsxs(View, {
148
+ style: [styles.inputWrapper, inputWrapperStyle],
149
+ children: [/*#__PURE__*/_jsx(CustomInput, {
150
+ ref: fromInputRef,
151
+ onChangeText: t => {
152
+ onTextChange?.(t);
153
+ setFromLocation(t);
154
+ },
155
+ label: fromLabel,
156
+ value: fromLocation,
157
+ labelStyle: [styles.label, labelStyle],
158
+ placeholder: fromPlaceholder,
159
+ onFocus: () => {
160
+ onInputFocus?.(FormInputType.CAR_PICKUP);
161
+ setFocusedInput(FormInputType.CAR_PICKUP);
162
+ },
163
+ onBlur: () => {
164
+ // Delay blur slightly to allow suggestion press
165
+ setTimeout(() => {
166
+ if (focusedInput === FormInputType.CAR_PICKUP) {
167
+ setFocusedInput(undefined);
168
+ }
169
+ }, 150);
170
+ },
171
+ containerStyle: inputGroupStyle
172
+ }), suggestionData && /*#__PURE__*/_jsx(SuggestionList, {
173
+ data: suggestionData,
174
+ visible: focusedInput === FormInputType.CAR_PICKUP,
175
+ renderItemContent: suggestionRenderItem,
176
+ containerStyle: suggestionListContainerStyle
177
+ })]
178
+ }), /*#__PURE__*/_jsx(View, {
179
+ style: [styles.swapButtonContainer, swapButtonContainerStyle],
180
+ children: /*#__PURE__*/_jsx(TouchableOpacity, {
181
+ style: [styles.swapButton, swapButtonStyle],
182
+ onPress: handleSwap,
183
+ activeOpacity: 0.7,
184
+ children: /*#__PURE__*/_jsx(Ionicons, {
185
+ name: swapIconName,
186
+ size: 20,
187
+ color: theme.onSurface,
188
+ style: swapIconStyle
189
+ })
190
+ })
191
+ }), /*#__PURE__*/_jsxs(View, {
192
+ style: [styles.inputWrapper, inputWrapperStyle],
193
+ children: [/*#__PURE__*/_jsx(CustomInput, {
194
+ ref: toInputRef,
195
+ onChangeText: t => {
196
+ setToLocation(t);
197
+ onTextChange?.(t);
198
+ },
199
+ label: toLabel,
200
+ value: toLocation,
201
+ labelStyle: [styles.label, labelStyle],
202
+ placeholder: toPlaceholder,
203
+ onFocus: () => {
204
+ onInputFocus?.(FormInputType.CAR_DROP_OFF);
205
+ setFocusedInput(FormInputType.CAR_DROP_OFF);
206
+ },
207
+ onBlur: () => {
208
+ setTimeout(() => {
209
+ if (focusedInput === FormInputType.CAR_DROP_OFF) {
210
+ setFocusedInput(undefined);
211
+ }
212
+ }, 150);
213
+ },
214
+ containerStyle: inputGroupStyle
215
+ }), suggestionData && /*#__PURE__*/_jsx(SuggestionList, {
216
+ data: suggestionData,
217
+ visible: focusedInput === FormInputType.CAR_DROP_OFF,
218
+ renderItemContent: suggestionRenderItem,
219
+ containerStyle: suggestionListContainerStyle // Use new prop
220
+ })]
221
+ })]
222
+ }), /*#__PURE__*/_jsx(DateRangePicker, {
223
+ departureLabel: pickupLabel,
224
+ returnLabel: dropoffLabel,
225
+ outerContainerStyle: [styles.dateRangePickerOuterContainer, dateRangePickerOuterContainerStyle],
226
+ labelStyle: [labelStyle, dateRangePickerLabelStyle],
227
+ inputGroupStyle: dateRangePickerInputGroupStyle,
228
+ calendarContainerStyle: dateRangePickerCalendarContainerStyle,
229
+ calendarThemeOverrides: calendarThemeOverrides,
230
+ onDatesChange: d => {
231
+ setDropoffDate(d.return);
232
+ setPickupDate(d.departure);
233
+ },
234
+ isOneWay: isOneWay
235
+ }), /*#__PURE__*/_jsxs(View, {
236
+ style: [styles.pickupRow, pickupRowStyle],
237
+ children: [/*#__PURE__*/_jsxs(View, {
238
+ style: [styles.agePickerWrapper, agePickerWrapperStyle],
239
+ children: [/*#__PURE__*/_jsx(Text, {
240
+ style: [styles.label, labelStyle, agePickerLabelStyle],
241
+ children: "Driver's Age"
242
+ }), /*#__PURE__*/_jsx(View, {
243
+ style: [styles.pickerContainer, pickerContainerStyle],
244
+ children: /*#__PURE__*/_jsxs(Picker, {
245
+ selectedValue: age,
246
+ onValueChange: setAge,
247
+ style: [styles.picker, pickerStyle],
248
+ dropdownIconColor: theme.onSurface,
249
+ children: [/*#__PURE__*/_jsx(Picker.Item, {
250
+ label: "Select Age",
251
+ value: undefined,
252
+ enabled: false
253
+ }), Array.from({
254
+ length: 80 - 21 + 1
255
+ }, (_, i) => i + 21).map(n => /*#__PURE__*/_jsx(Picker.Item, {
256
+ label: n.toString(),
257
+ value: n
258
+ }, n))]
259
+ })
260
+ })]
261
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
262
+ style: [styles.searchButton, searchButtonStyle],
263
+ onPress: handleSearch,
264
+ activeOpacity: 0.8,
265
+ children: /*#__PURE__*/_jsx(Ionicons, {
266
+ name: searchIconName,
267
+ size: 24,
268
+ color: theme.onPrimary,
269
+ style: searchIconStyle
270
+ })
271
+ })]
272
+ })]
273
+ });
274
+ };
275
+
276
+ // --- Styles ---
277
+ const themedStyles = (theme, isRTL) => StyleSheet.create({
278
+ container: {
279
+ padding: 16,
280
+ backgroundColor: theme.surface,
281
+ borderBottomRightRadius: 8,
282
+ borderBottomLeftRadius: 8
283
+ },
284
+ inputGroupContainer: {
285
+ position: "relative"
286
+ },
287
+ inputWrapper: {
288
+ marginBottom: 15,
289
+ position: "relative"
290
+ },
291
+ label: {
292
+ color: theme.labelText,
293
+ fontSize: 12,
294
+ fontWeight: "600",
295
+ textTransform: "uppercase",
296
+ textAlign: isRTL ? "right" : "left",
297
+ marginBottom: 6
298
+ },
299
+ swapButtonContainer: {
300
+ // // Centering the button between the input wrappers
301
+ // position: "absolute",
302
+ // left: 0,
303
+ // right: 0,
304
+ // top: "50%", // Position roughly in the middle vertically
305
+ // transform: [{ translateY: -18 }], // Adjust based on button height / 2
306
+ alignItems: "center"
307
+ // zIndex: 1, // Ensure swap button is above inputs if they overlap slightly
308
+ },
309
+ swapButton: {
310
+ width: 36,
311
+ height: 36,
312
+ borderRadius: 18,
313
+ backgroundColor: theme.surface,
314
+ borderColor: theme.border,
315
+ borderWidth: 1,
316
+ justifyContent: "center",
317
+ alignItems: "center"
318
+ },
319
+ dateRangePickerOuterContainer: {
320
+ marginTop: 10 // Default margin, can be overridden
321
+ },
322
+ pickupRow: {
323
+ flexDirection: isRTL ? "row-reverse" : "row",
324
+ alignItems: "flex-end",
325
+ marginTop: 20,
326
+ gap: 10
327
+ },
328
+ agePickerWrapper: {
329
+ flex: 1
330
+ },
331
+ pickerContainer: {
332
+ borderWidth: 1,
333
+ borderColor: theme.border,
334
+ borderRadius: 8,
335
+ backgroundColor: theme.surface,
336
+ justifyContent: "center",
337
+ height: 50
338
+ },
339
+ picker: {
340
+ width: "100%",
341
+ color: theme.onSurface
342
+ },
343
+ searchButton: {
344
+ backgroundColor: theme.primary,
345
+ width: 50,
346
+ height: 50,
347
+ borderRadius: 8,
348
+ justifyContent: "center",
349
+ alignItems: "center"
350
+ },
351
+ suggestionItem: {
352
+ padding: 12,
353
+ borderBottomWidth: StyleSheet.hairlineWidth,
354
+ borderBottomColor: theme.border,
355
+ backgroundColor: theme.surface
356
+ },
357
+ suggestionItemText: {
358
+ fontSize: 14,
359
+ color: theme.onSurface
360
+ }
361
+ });
362
+ export default CarRentalForm;
363
+ //# sourceMappingURL=CarRentalForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useTheme","React","useCallback","useMemo","useRef","useState","View","Text","TouchableOpacity","StyleSheet","Ionicons","CustomInput","DateRangePicker","Picker","SuggestionList","FormInputType","jsx","_jsx","jsxs","_jsxs","mockCarSuggestions","id","city","country","value","CarRentalForm","initialFromLocation","initialToLocation","initialPickupDate","initialDropoffDate","onSwapPress","onSearchPress","fromLabel","toLabel","fromPlaceholder","toPlaceholder","pickupLabel","dropoffLabel","swapIconName","searchIconName","calendarThemeOverrides","containerStyle","inputGroupContainerStyle","inputWrapperStyle","inputGroupStyle","labelStyle","swapButtonContainerStyle","swapButtonStyle","swapIconStyle","pickupRowStyle","searchButtonStyle","searchIconStyle","isOneWay","suggestionData","onInputFocus","onTextChange","dateRangePickerOuterContainerStyle","dateRangePickerLabelStyle","dateRangePickerInputGroupStyle","dateRangePickerCalendarContainerStyle","suggestionListContainerStyle","suggestionItemStyle","suggestionItemTextStyle","agePickerWrapperStyle","agePickerLabelStyle","pickerContainerStyle","pickerStyle","theme","isRTL","styles","themedStyles","fromInputRef","toInputRef","fromLocation","setFromLocation","toLocation","setToLocation","pickupDate","setPickupDate","dropoffDate","setDropoffDate","age","setAge","focusedInput","setFocusedInput","handleSwap","currentFrom","currentTo","handleSearch","from","to","pickup","dropoff","driverAge","suggestionRenderItem","item","onPress","CAR_PICKUP","current","blur","CAR_DROP_OFF","style","suggestionItem","children","suggestionItemText","container","inputGroupContainer","inputWrapper","ref","onChangeText","t","label","placeholder","onFocus","onBlur","setTimeout","undefined","data","visible","renderItemContent","swapButtonContainer","swapButton","activeOpacity","name","size","color","onSurface","departureLabel","returnLabel","outerContainerStyle","dateRangePickerOuterContainer","calendarContainerStyle","onDatesChange","d","return","departure","pickupRow","agePickerWrapper","pickerContainer","selectedValue","onValueChange","picker","dropdownIconColor","Item","enabled","Array","length","_","i","map","n","toString","searchButton","onPrimary","create","padding","backgroundColor","surface","borderBottomRightRadius","borderBottomLeftRadius","position","marginBottom","labelText","fontSize","fontWeight","textTransform","textAlign","alignItems","width","height","borderRadius","borderColor","border","borderWidth","justifyContent","marginTop","flexDirection","gap","flex","primary","borderBottomWidth","hairlineWidth","borderBottomColor"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/TravelBooking/CarRentalForm.tsx"],"mappings":"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","ignoreList":[]}