ordering-ui-react-native 0.17.86 → 0.17.87-release

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 (1362) hide show
  1. package/README.md +3 -3
  2. package/package.json +163 -162
  3. package/src/AppContainer.tsx +96 -96
  4. package/src/DeliveryApp.tsx +194 -152
  5. package/src/assets/json/order.json +204 -204
  6. package/src/assets/json/orders.json +3591 -3591
  7. package/src/components/Account/index.tsx +200 -200
  8. package/src/components/Account/styles.tsx +21 -21
  9. package/src/components/ActiveOrders/index.tsx +169 -169
  10. package/src/components/ActiveOrders/styles.tsx +45 -45
  11. package/src/components/AddressDetails/index.tsx +74 -74
  12. package/src/components/AddressDetails/styles.tsx +26 -26
  13. package/src/components/AddressForm/index.tsx +750 -750
  14. package/src/components/AddressForm/styles.tsx +29 -29
  15. package/src/components/AddressList/index.tsx +336 -336
  16. package/src/components/AddressList/styles.tsx +20 -20
  17. package/src/components/Analytics/index.tsx +83 -83
  18. package/src/components/AppleLogin/index.tsx +148 -148
  19. package/src/components/AppleLogin/styles.tsx +22 -22
  20. package/src/components/BusinessBasicInformation/index.tsx +251 -251
  21. package/src/components/BusinessBasicInformation/styles.tsx +38 -38
  22. package/src/components/BusinessController/index.tsx +227 -227
  23. package/src/components/BusinessController/styles.tsx +52 -52
  24. package/src/components/BusinessInformation/index.tsx +143 -142
  25. package/src/components/BusinessInformation/styles.tsx +37 -37
  26. package/src/components/BusinessItemAccordion/index.tsx +148 -148
  27. package/src/components/BusinessItemAccordion/styles.tsx +61 -61
  28. package/src/components/BusinessProductsCategories/index.tsx +73 -73
  29. package/src/components/BusinessProductsCategories/styles.tsx +7 -7
  30. package/src/components/BusinessProductsList/index.tsx +149 -149
  31. package/src/components/BusinessProductsList/styles.tsx +13 -13
  32. package/src/components/BusinessProductsListing/index.tsx +318 -318
  33. package/src/components/BusinessProductsListing/styles.tsx +33 -33
  34. package/src/components/BusinessReviews/index.tsx +121 -121
  35. package/src/components/BusinessReviews/styles.tsx +33 -33
  36. package/src/components/BusinessTypeFilter/index.tsx +210 -210
  37. package/src/components/BusinessTypeFilter/styles.tsx +32 -32
  38. package/src/components/BusinessesListing/index.tsx +254 -254
  39. package/src/components/BusinessesListing/styles.tsx +60 -60
  40. package/src/components/Cart/index.tsx +420 -420
  41. package/src/components/Cart/styles.tsx +35 -35
  42. package/src/components/CartContent/index.tsx +50 -50
  43. package/src/components/CartContent/styles.tsx +19 -19
  44. package/src/components/Checkout/index.tsx +851 -851
  45. package/src/components/Checkout/styles.tsx +111 -111
  46. package/src/components/CouponControl/index.tsx +133 -133
  47. package/src/components/CouponControl/styles.tsx +22 -22
  48. package/src/components/DriverTips/index.tsx +158 -158
  49. package/src/components/DriverTips/styles.tsx +62 -62
  50. package/src/components/FacebookLogin/index.tsx +123 -123
  51. package/src/components/FacebookLogin/styles.tsx +23 -23
  52. package/src/components/FacebookPixel/index.tsx +81 -81
  53. package/src/components/FloatingButton/index.tsx +74 -74
  54. package/src/components/FloatingButton/styles.tsx +32 -32
  55. package/src/components/ForgotPasswordForm/index.tsx +150 -150
  56. package/src/components/ForgotPasswordForm/styles.tsx +11 -11
  57. package/src/components/GoogleLogin/index.tsx +133 -133
  58. package/src/components/GoogleLogin/styles.tsx +23 -23
  59. package/src/components/GoogleMap/index.tsx +247 -247
  60. package/src/components/Help/index.tsx +54 -54
  61. package/src/components/Help/styles.tsx +11 -11
  62. package/src/components/HelpAccountAndPayment/index.tsx +67 -67
  63. package/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  64. package/src/components/HelpGuide/index.tsx +66 -66
  65. package/src/components/HelpGuide/styles.tsx +6 -6
  66. package/src/components/HelpOrder/index.tsx +78 -78
  67. package/src/components/HelpOrder/styles.tsx +5 -5
  68. package/src/components/Home/index.tsx +114 -114
  69. package/src/components/Home/styles.tsx +18 -18
  70. package/src/components/LanguageSelector/index.tsx +127 -127
  71. package/src/components/LanguageSelector/styles.tsx +10 -10
  72. package/src/components/LastOrders/index.tsx +104 -104
  73. package/src/components/LastOrders/styles.tsx +17 -17
  74. package/src/components/LoginForm/index.tsx +535 -535
  75. package/src/components/LoginForm/styles.tsx +74 -74
  76. package/src/components/LogoutButton/index.tsx +74 -74
  77. package/src/components/Messages/index.tsx +443 -443
  78. package/src/components/Messages/styles.tsx +24 -24
  79. package/src/components/MomentOption/index.tsx +238 -238
  80. package/src/components/MomentOption/styles.tsx +61 -61
  81. package/src/components/NavBar/index.tsx +122 -122
  82. package/src/components/NotFoundSource/index.tsx +56 -56
  83. package/src/components/NotFoundSource/styles.tsx +16 -16
  84. package/src/components/NotificationSetting/index.tsx +85 -85
  85. package/src/components/OrderCreating/index.tsx +158 -178
  86. package/src/components/OrderCreating/styles.tsx +22 -22
  87. package/src/components/OrderDetails/index.tsx +714 -714
  88. package/src/components/OrderDetails/styles.tsx +128 -128
  89. package/src/components/OrderSuccess/index.tsx +89 -89
  90. package/src/components/OrderSuccess/styles.tsx +22 -22
  91. package/src/components/OrderSummary/index.tsx +351 -351
  92. package/src/components/OrderSummary/styles.tsx +45 -45
  93. package/src/components/OrderTypeSelector/index.tsx +159 -159
  94. package/src/components/OrderTypeSelector/styles.tsx +22 -22
  95. package/src/components/OrdersOption/index.tsx +228 -228
  96. package/src/components/OrdersOption/styles.tsx +5 -5
  97. package/src/components/PaymentOptionCash/index.tsx +102 -102
  98. package/src/components/PaymentOptionCash/styles.tsx +18 -18
  99. package/src/components/PaymentOptionStripe/index.tsx +244 -244
  100. package/src/components/PaymentOptionStripe/styles.tsx +62 -62
  101. package/src/components/PaymentOptions/index.tsx +415 -415
  102. package/src/components/PaymentOptions/styles.tsx +52 -52
  103. package/src/components/PaymentOptionsWebView/index.tsx +172 -151
  104. package/src/components/PhoneInputNumber/index.tsx +115 -111
  105. package/src/components/PhoneInputNumber/styles.tsx +3 -3
  106. package/src/components/PreviousOrders/index.tsx +167 -167
  107. package/src/components/PreviousOrders/styles.tsx +34 -34
  108. package/src/components/ProductForm/index.tsx +442 -442
  109. package/src/components/ProductForm/styles.tsx +85 -85
  110. package/src/components/ProductIngredient/index.tsx +44 -44
  111. package/src/components/ProductIngredient/styles.tsx +7 -7
  112. package/src/components/ProductItemAccordion/index.tsx +315 -315
  113. package/src/components/ProductItemAccordion/styles.tsx +81 -81
  114. package/src/components/ProductOption/index.tsx +49 -49
  115. package/src/components/ProductOption/styles.tsx +14 -14
  116. package/src/components/ProductOptionSubOption/index.tsx +146 -146
  117. package/src/components/ProductOptionSubOption/styles.tsx +33 -33
  118. package/src/components/ReviewDriver/index.tsx +313 -313
  119. package/src/components/ReviewDriver/styles.tsx +38 -38
  120. package/src/components/ReviewOrder/index.tsx +339 -339
  121. package/src/components/ReviewOrder/styles.tsx +44 -44
  122. package/src/components/ReviewProducts/index.tsx +124 -124
  123. package/src/components/ReviewProducts/styles.tsx +16 -16
  124. package/src/components/SearchBar/index.tsx +99 -99
  125. package/src/components/ShareComponent/index.tsx +32 -32
  126. package/src/components/SignupForm/index.tsx +676 -676
  127. package/src/components/SignupForm/styles.tsx +27 -27
  128. package/src/components/SingleProductCard/index.tsx +114 -114
  129. package/src/components/SingleProductCard/styles.tsx +27 -27
  130. package/src/components/SingleProductReview/index.tsx +169 -169
  131. package/src/components/SingleProductReview/styles.tsx +26 -26
  132. package/src/components/StripeCardForm/index.tsx +97 -97
  133. package/src/components/StripeCardForm/naked.tsx +128 -128
  134. package/src/components/StripeCardForm/styles.tsx +27 -27
  135. package/src/components/StripeCardsList/index.tsx +158 -158
  136. package/src/components/StripeElementsForm/index.tsx +233 -233
  137. package/src/components/StripeElementsForm/naked.tsx +90 -90
  138. package/src/components/StripeElementsForm/styles.tsx +9 -9
  139. package/src/components/StripeMethodForm/index.tsx +207 -173
  140. package/src/components/StripeRedirectForm/index.tsx +159 -159
  141. package/src/components/StripeRedirectForm/styles.tsx +23 -23
  142. package/src/components/TaxInformation/index.tsx +83 -83
  143. package/src/components/TaxInformation/styles.tsx +9 -9
  144. package/src/components/UpsellingProducts/index.tsx +167 -167
  145. package/src/components/UpsellingProducts/styles.tsx +31 -31
  146. package/src/components/UserDetails/index.tsx +139 -139
  147. package/src/components/UserDetails/styles.tsx +21 -21
  148. package/src/components/UserFormDetails/index.tsx +302 -302
  149. package/src/components/UserFormDetails/styles.tsx +38 -38
  150. package/src/components/UserProfileForm/index.tsx +197 -197
  151. package/src/components/UserProfileForm/styles.tsx +45 -45
  152. package/src/components/VerifyPhone/index.tsx +255 -255
  153. package/src/components/VerifyPhone/styles.tsx +43 -44
  154. package/src/components/shared/OAlert.tsx +48 -48
  155. package/src/components/shared/OBottomPopup.tsx +74 -74
  156. package/src/components/shared/OButton.tsx +134 -134
  157. package/src/components/shared/ODropDown.tsx +167 -167
  158. package/src/components/shared/OIcon.tsx +55 -55
  159. package/src/components/shared/OIconButton.tsx +134 -134
  160. package/src/components/shared/OInput.tsx +122 -122
  161. package/src/components/shared/OModal.tsx +168 -168
  162. package/src/components/shared/OText.tsx +52 -52
  163. package/src/components/shared/OToast.tsx +95 -94
  164. package/src/components/shared/index.tsx +23 -23
  165. package/src/config/constants.tsx +73 -73
  166. package/src/config.json +16 -16
  167. package/src/context/Theme/index.tsx +25 -25
  168. package/src/hooks/DeviceOrientation.tsx +40 -40
  169. package/src/hooks/useCountdownTimer.tsx +26 -26
  170. package/src/index.tsx +197 -197
  171. package/src/layouts/Container.tsx +27 -27
  172. package/src/layouts/FloatingBottomContainer.tsx +26 -26
  173. package/src/layouts/SafeAreaContainer.tsx +6 -6
  174. package/src/providers/AlertProvider.tsx +46 -46
  175. package/src/providers/StoreUtil.tsx +54 -54
  176. package/src/theme.json +135 -135
  177. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -1
  178. package/src/types/@stripe/stripe-react-native/index.d.ts +1 -1
  179. package/src/types/index.tsx +498 -493
  180. package/src/types/ordering-api-sdk/index.d.ts +1 -1
  181. package/src/types/ordering-components/index.d.ts +1 -1
  182. package/src/types/react-hook-form/index.d.ts +1 -1
  183. package/src/types/react-native-background-timer/index.d.ts +1 -1
  184. package/src/types/react-native-color-matrix-image-filters/index.d.ts +1 -1
  185. package/src/types/react-native-country-picker-modal/index.d.ts +1 -1
  186. package/src/types/react-native-credit-card-input/index.d.ts +1 -1
  187. package/src/types/react-native-fbsdk-next/index.d.ts +1 -1
  188. package/src/types/react-native-gesture-handler/index.d.ts +1 -1
  189. package/src/types/react-native-gifted-chat/index.d.ts +1 -1
  190. package/src/types/react-native-image-picker/index.d.ts +1 -1
  191. package/src/types/react-native-restart/index.d.ts +1 -1
  192. package/src/types/styled-components/index.d.ts +1 -1
  193. package/src/utils/index.tsx +462 -457
  194. package/themes/business/.prettierrc.js +9 -9
  195. package/themes/business/index.tsx +133 -131
  196. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +536 -529
  197. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +45 -45
  198. package/themes/business/src/components/BusinessController/index.tsx +155 -156
  199. package/themes/business/src/components/BusinessController/styles.tsx +19 -19
  200. package/themes/business/src/components/Chat/index.tsx +1216 -1176
  201. package/themes/business/src/components/Chat/styles.tsx +15 -15
  202. package/themes/business/src/components/Contacts/index.tsx +299 -299
  203. package/themes/business/src/components/Contacts/styles.tsx +42 -42
  204. package/themes/business/src/components/DriverMap/index.tsx +557 -546
  205. package/themes/business/src/components/DriverSchedule/index.tsx +108 -71
  206. package/themes/business/src/components/DriverSchedule/styles.tsx +6 -6
  207. package/themes/business/src/components/FloatingButton/index.tsx +144 -141
  208. package/themes/business/src/components/FloatingButton/styles.tsx +35 -35
  209. package/themes/business/src/components/ForgotPasswordForm/index.tsx +204 -204
  210. package/themes/business/src/components/ForgotPasswordForm/styles.tsx +11 -11
  211. package/themes/business/src/components/GoogleMap/index.tsx +422 -421
  212. package/themes/business/src/components/Home/index.tsx +184 -184
  213. package/themes/business/src/components/Home/styles.tsx +34 -34
  214. package/themes/business/src/components/LanguageSelector/index.tsx +124 -124
  215. package/themes/business/src/components/LanguageSelector/lang_country.json +152 -152
  216. package/themes/business/src/components/LanguageSelector/styles.tsx +17 -17
  217. package/themes/business/src/components/LoginForm/Otp/index.tsx +120 -92
  218. package/themes/business/src/components/LoginForm/Otp/styles.tsx +7 -7
  219. package/themes/business/src/components/LoginForm/index.tsx +946 -953
  220. package/themes/business/src/components/LoginForm/styles.tsx +64 -64
  221. package/themes/business/src/components/LogoutButton/index.tsx +63 -63
  222. package/themes/business/src/components/MapView/index.tsx +328 -328
  223. package/themes/business/src/components/MessagesOption/index.tsx +273 -346
  224. package/themes/business/src/components/MessagesOption/styles.tsx +27 -27
  225. package/themes/business/src/components/NetworkError/index.tsx +61 -61
  226. package/themes/business/src/components/NetworkError/styles.tsx +10 -10
  227. package/themes/business/src/components/NewOrderNotification/index.tsx +206 -179
  228. package/themes/business/src/components/NewOrderNotification/styles.tsx +8 -8
  229. package/themes/business/src/components/NotFoundSource/index.tsx +52 -52
  230. package/themes/business/src/components/NotFoundSource/styles.tsx +17 -17
  231. package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
  232. package/themes/business/src/components/OrderDetails/Delivery.tsx +202 -12
  233. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +670 -623
  234. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +315 -300
  235. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +200 -0
  236. package/themes/business/src/components/OrderDetailsLogistic/styles.tsx +5 -0
  237. package/themes/business/src/components/OrderMessage/index.tsx +345 -344
  238. package/themes/business/src/components/OrderMessage/styles.tsx +5 -5
  239. package/themes/business/src/components/OrderSummary/index.tsx +691 -700
  240. package/themes/business/src/components/OrderSummary/styles.tsx +61 -61
  241. package/themes/business/src/components/OrdersListManager/index.tsx +881 -881
  242. package/themes/business/src/components/OrdersListManager/styles.tsx +123 -123
  243. package/themes/business/src/components/OrdersListManager/utils.tsx +216 -216
  244. package/themes/business/src/components/OrdersOption/index.tsx +1051 -1051
  245. package/themes/business/src/components/OrdersOption/styles.tsx +156 -156
  246. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +65 -65
  247. package/themes/business/src/components/OrdersOptionBusiness/styles.tsx +8 -8
  248. package/themes/business/src/components/OrdersOptionCity/index.tsx +66 -66
  249. package/themes/business/src/components/OrdersOptionCity/styles.tsx +8 -8
  250. package/themes/business/src/components/OrdersOptionDate/index.tsx +66 -66
  251. package/themes/business/src/components/OrdersOptionDate/styles.tsx +8 -8
  252. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +49 -49
  253. package/themes/business/src/components/OrdersOptionDelivery/styles.tsx +8 -8
  254. package/themes/business/src/components/OrdersOptionDriver/index.tsx +64 -64
  255. package/themes/business/src/components/OrdersOptionDriver/styles.tsx +8 -8
  256. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +63 -63
  257. package/themes/business/src/components/OrdersOptionPaymethod/styles.tsx +8 -8
  258. package/themes/business/src/components/OrdersOptionStatus/index.tsx +55 -55
  259. package/themes/business/src/components/OrdersOptionStatus/styles.tsx +8 -8
  260. package/themes/business/src/components/PhoneInputNumber/index.tsx +160 -160
  261. package/themes/business/src/components/PhoneInputNumber/styles.tsx +3 -3
  262. package/themes/business/src/components/PreviousMessages/FooterMessageComponent.tsx +103 -0
  263. package/themes/business/src/components/PreviousMessages/index.tsx +357 -315
  264. package/themes/business/src/components/PreviousMessages/styles.tsx +32 -32
  265. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +255 -250
  266. package/themes/business/src/components/PreviousOrders/OrderList.tsx +93 -0
  267. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -115
  268. package/themes/business/src/components/PreviousOrders/index.tsx +480 -503
  269. package/themes/business/src/components/PreviousOrders/styles.tsx +73 -73
  270. package/themes/business/src/components/ProductItemAccordion/index.tsx +325 -319
  271. package/themes/business/src/components/ProductItemAccordion/styles.tsx +61 -61
  272. package/themes/business/src/components/ReviewCustomer/index.tsx +344 -339
  273. package/themes/business/src/components/ReviewCustomer/styles.tsx +28 -28
  274. package/themes/business/src/components/ScheduleBlocked/index.tsx +53 -53
  275. package/themes/business/src/components/SearchBar/index.tsx +112 -112
  276. package/themes/business/src/components/SignupForm/index.tsx +530 -530
  277. package/themes/business/src/components/SignupForm/styles.tsx +16 -16
  278. package/themes/business/src/components/StoresList/index.tsx +223 -224
  279. package/themes/business/src/components/StoresList/styles.tsx +26 -26
  280. package/themes/business/src/components/UserFormDetails/index.tsx +516 -516
  281. package/themes/business/src/components/UserFormDetails/styles.tsx +40 -40
  282. package/themes/business/src/components/UserProfileForm/index.tsx +519 -520
  283. package/themes/business/src/components/UserProfileForm/styles.tsx +36 -36
  284. package/themes/business/src/components/VerifyPhone/index.tsx +201 -201
  285. package/themes/business/src/components/VerifyPhone/styles.tsx +43 -43
  286. package/themes/business/src/components/shared/OAlert.tsx +52 -52
  287. package/themes/business/src/components/shared/OButton.tsx +148 -148
  288. package/themes/business/src/components/shared/OChatBubble.tsx +100 -100
  289. package/themes/business/src/components/shared/ODropDown.tsx +229 -229
  290. package/themes/business/src/components/shared/ODropDownCalendar.tsx +359 -359
  291. package/themes/business/src/components/shared/OFab.tsx +54 -54
  292. package/themes/business/src/components/shared/OIcon.tsx +67 -67
  293. package/themes/business/src/components/shared/OIconButton.tsx +127 -127
  294. package/themes/business/src/components/shared/OInput.tsx +144 -144
  295. package/themes/business/src/components/shared/OLink.tsx +96 -96
  296. package/themes/business/src/components/shared/OModal.tsx +16 -9
  297. package/themes/business/src/components/shared/OSegment.tsx +86 -86
  298. package/themes/business/src/components/shared/OText.tsx +61 -61
  299. package/themes/business/src/components/shared/OTextarea.tsx +47 -47
  300. package/themes/business/src/components/shared/OToast.tsx +92 -92
  301. package/themes/business/src/components/shared/index.tsx +27 -27
  302. package/themes/business/src/config/constants.tsx +10 -10
  303. package/themes/business/src/hooks/useLocation.tsx +109 -109
  304. package/themes/business/src/layouts/Container.tsx +56 -56
  305. package/themes/business/src/layouts/SafeAreaContainer.tsx +49 -49
  306. package/themes/business/src/providers/AlertProvider.tsx +38 -38
  307. package/themes/business/src/providers/Responsive.tsx +15 -15
  308. package/themes/business/src/providers/StoreUtil.tsx +54 -54
  309. package/themes/business/src/types/@react-navigation/material-bottom-tabs/index.d.ts +1 -1
  310. package/themes/business/src/types/index.tsx +628 -613
  311. package/themes/business/src/types/ordering-api-sdk/index.d.ts +1 -1
  312. package/themes/business/src/types/ordering-components/index.d.ts +1 -1
  313. package/themes/business/src/types/react-hook-form/index.d.ts +1 -1
  314. package/themes/business/src/types/react-native-credit-card-input/index.d.ts +1 -1
  315. package/themes/business/src/types/react-native-fbsdk/index.d.ts +1 -1
  316. package/themes/business/src/types/react-native-gesture-handler/index.d.ts +1 -1
  317. package/themes/business/src/types/react-native-html-to-pdf/index.d.ts +1 -1
  318. package/themes/business/src/types/react-native-loading-spinner-overlay/index.d.ts +1 -1
  319. package/themes/business/src/types/react-native-vector-icons/index.d.ts +5 -5
  320. package/themes/business/src/types/styled-components/index.d.ts +1 -1
  321. package/themes/business/src/types/toggle-switch-react-native/index.d.ts +1 -1
  322. package/themes/business/src/utils/index.tsx +398 -371
  323. package/themes/doordash/index.tsx +103 -103
  324. package/themes/doordash/src/components/ActiveOrders/index.tsx +120 -120
  325. package/themes/doordash/src/components/ActiveOrders/styles.tsx +43 -43
  326. package/themes/doordash/src/components/AddressDetails/index.tsx +72 -72
  327. package/themes/doordash/src/components/AddressDetails/styles.tsx +26 -26
  328. package/themes/doordash/src/components/AddressForm/index.tsx +669 -669
  329. package/themes/doordash/src/components/AddressForm/styles.tsx +38 -38
  330. package/themes/doordash/src/components/AddressList/index.tsx +332 -332
  331. package/themes/doordash/src/components/AddressList/styles.tsx +22 -22
  332. package/themes/doordash/src/components/AppleLogin/index.tsx +130 -130
  333. package/themes/doordash/src/components/AppleLogin/styles.tsx +5 -5
  334. package/themes/doordash/src/components/BusinessBasicInformation/index.tsx +221 -221
  335. package/themes/doordash/src/components/BusinessBasicInformation/styles.tsx +35 -35
  336. package/themes/doordash/src/components/BusinessController/index.tsx +183 -183
  337. package/themes/doordash/src/components/BusinessController/styles.tsx +49 -49
  338. package/themes/doordash/src/components/BusinessInformation/index.tsx +113 -113
  339. package/themes/doordash/src/components/BusinessInformation/styles.tsx +36 -36
  340. package/themes/doordash/src/components/BusinessItemAccordion/index.tsx +126 -126
  341. package/themes/doordash/src/components/BusinessItemAccordion/styles.tsx +62 -62
  342. package/themes/doordash/src/components/BusinessProductsCategories/index.tsx +139 -139
  343. package/themes/doordash/src/components/BusinessProductsCategories/styles.tsx +7 -7
  344. package/themes/doordash/src/components/BusinessProductsList/index.tsx +221 -221
  345. package/themes/doordash/src/components/BusinessProductsList/styles.tsx +13 -13
  346. package/themes/doordash/src/components/BusinessProductsListing/index.tsx +425 -425
  347. package/themes/doordash/src/components/BusinessProductsListing/styles.tsx +61 -61
  348. package/themes/doordash/src/components/BusinessReviews/index.tsx +122 -122
  349. package/themes/doordash/src/components/BusinessReviews/styles.tsx +34 -34
  350. package/themes/doordash/src/components/BusinessTypeFilter/index.tsx +130 -130
  351. package/themes/doordash/src/components/BusinessTypeFilter/styles.tsx +42 -42
  352. package/themes/doordash/src/components/BusinessesListing/index.tsx +304 -304
  353. package/themes/doordash/src/components/BusinessesListing/styles.tsx +68 -68
  354. package/themes/doordash/src/components/BusinessesSortBy/index.tsx +25 -25
  355. package/themes/doordash/src/components/BusinessesSortBy/styles.ts +19 -19
  356. package/themes/doordash/src/components/Cart/index.tsx +333 -333
  357. package/themes/doordash/src/components/Cart/styles.tsx +28 -28
  358. package/themes/doordash/src/components/CartContent/index.tsx +56 -56
  359. package/themes/doordash/src/components/CartContent/styles.tsx +19 -19
  360. package/themes/doordash/src/components/Checkout/index.tsx +643 -643
  361. package/themes/doordash/src/components/Checkout/styles.tsx +95 -95
  362. package/themes/doordash/src/components/CouponControl/index.tsx +122 -122
  363. package/themes/doordash/src/components/CouponControl/styles.tsx +23 -23
  364. package/themes/doordash/src/components/DriverTips/index.tsx +171 -171
  365. package/themes/doordash/src/components/DriverTips/styles.tsx +62 -62
  366. package/themes/doordash/src/components/FacebookLogin/index.tsx +124 -124
  367. package/themes/doordash/src/components/FacebookLogin/styles.tsx +21 -21
  368. package/themes/doordash/src/components/FloatingButton/index.tsx +72 -72
  369. package/themes/doordash/src/components/FloatingButton/styles.tsx +28 -28
  370. package/themes/doordash/src/components/ForgotPasswordForm/index.tsx +151 -151
  371. package/themes/doordash/src/components/ForgotPasswordForm/styles.tsx +17 -17
  372. package/themes/doordash/src/components/GoogleLogin/index.tsx +117 -117
  373. package/themes/doordash/src/components/GoogleLogin/styles.tsx +21 -21
  374. package/themes/doordash/src/components/GoogleMap/index.tsx +233 -233
  375. package/themes/doordash/src/components/Help/index.tsx +54 -54
  376. package/themes/doordash/src/components/Help/styles.tsx +11 -11
  377. package/themes/doordash/src/components/HelpAccountAndPayment/index.tsx +67 -67
  378. package/themes/doordash/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  379. package/themes/doordash/src/components/HelpGuide/index.tsx +66 -66
  380. package/themes/doordash/src/components/HelpGuide/styles.tsx +6 -6
  381. package/themes/doordash/src/components/HelpOrder/index.tsx +78 -78
  382. package/themes/doordash/src/components/HelpOrder/styles.tsx +5 -5
  383. package/themes/doordash/src/components/Home/index.tsx +211 -211
  384. package/themes/doordash/src/components/Home/styles.tsx +21 -21
  385. package/themes/doordash/src/components/LanguageSelector/index.tsx +109 -109
  386. package/themes/doordash/src/components/LanguageSelector/styles.tsx +7 -7
  387. package/themes/doordash/src/components/LastOrders/index.tsx +102 -102
  388. package/themes/doordash/src/components/LastOrders/styles.tsx +17 -17
  389. package/themes/doordash/src/components/LoginForm/index.tsx +514 -515
  390. package/themes/doordash/src/components/LoginForm/styles.tsx +78 -78
  391. package/themes/doordash/src/components/LogoutButton/index.tsx +57 -57
  392. package/themes/doordash/src/components/Messages/index.tsx +461 -461
  393. package/themes/doordash/src/components/Messages/styles.tsx +24 -24
  394. package/themes/doordash/src/components/MomentOption/index.tsx +237 -237
  395. package/themes/doordash/src/components/MomentOption/styles.tsx +62 -62
  396. package/themes/doordash/src/components/NavBar/index.tsx +125 -125
  397. package/themes/doordash/src/components/NotFoundSource/index.tsx +51 -51
  398. package/themes/doordash/src/components/NotFoundSource/styles.tsx +16 -16
  399. package/themes/doordash/src/components/OrderDetails/index.tsx +491 -491
  400. package/themes/doordash/src/components/OrderDetails/styles.tsx +128 -128
  401. package/themes/doordash/src/components/OrderSummary/index.tsx +318 -318
  402. package/themes/doordash/src/components/OrderSummary/styles.tsx +37 -37
  403. package/themes/doordash/src/components/OrderTypeSelector/index.tsx +122 -122
  404. package/themes/doordash/src/components/OrderTypeSelector/styles.tsx +6 -6
  405. package/themes/doordash/src/components/OrdersOption/index.tsx +225 -225
  406. package/themes/doordash/src/components/OrdersOption/styles.tsx +4 -4
  407. package/themes/doordash/src/components/PaymentOptionCash/index.tsx +102 -102
  408. package/themes/doordash/src/components/PaymentOptionCash/styles.tsx +18 -18
  409. package/themes/doordash/src/components/PaymentOptionStripe/index.tsx +232 -232
  410. package/themes/doordash/src/components/PaymentOptionStripe/styles.tsx +73 -73
  411. package/themes/doordash/src/components/PaymentOptions/index.tsx +511 -511
  412. package/themes/doordash/src/components/PaymentOptions/styles.tsx +51 -51
  413. package/themes/doordash/src/components/PaypalPaymethod/index.tsx +38 -38
  414. package/themes/doordash/src/components/PhoneInputNumber/index.tsx +113 -113
  415. package/themes/doordash/src/components/PhoneInputNumber/styles.tsx +5 -5
  416. package/themes/doordash/src/components/PreviousOrders/index.tsx +135 -135
  417. package/themes/doordash/src/components/PreviousOrders/styles.tsx +36 -36
  418. package/themes/doordash/src/components/ProductForm/index.tsx +439 -439
  419. package/themes/doordash/src/components/ProductForm/styles.tsx +76 -76
  420. package/themes/doordash/src/components/ProductIngredient/index.tsx +44 -44
  421. package/themes/doordash/src/components/ProductIngredient/styles.tsx +7 -7
  422. package/themes/doordash/src/components/ProductItemAccordion/index.tsx +294 -294
  423. package/themes/doordash/src/components/ProductItemAccordion/styles.tsx +56 -56
  424. package/themes/doordash/src/components/ProductOption/index.tsx +55 -55
  425. package/themes/doordash/src/components/ProductOption/styles.tsx +13 -13
  426. package/themes/doordash/src/components/ProductOptionSubOption/index.tsx +137 -137
  427. package/themes/doordash/src/components/ProductOptionSubOption/styles.tsx +34 -34
  428. package/themes/doordash/src/components/ReviewOrder/index.tsx +202 -202
  429. package/themes/doordash/src/components/ReviewOrder/styles.tsx +36 -36
  430. package/themes/doordash/src/components/SearchBar/index.tsx +105 -105
  431. package/themes/doordash/src/components/SignupForm/index.tsx +580 -580
  432. package/themes/doordash/src/components/SignupForm/styles.tsx +32 -32
  433. package/themes/doordash/src/components/SingleProductCard/index.tsx +96 -96
  434. package/themes/doordash/src/components/SingleProductCard/styles.tsx +22 -22
  435. package/themes/doordash/src/components/SocialShare/index.tsx +160 -160
  436. package/themes/doordash/src/components/SocialShare/styles.ts +20 -20
  437. package/themes/doordash/src/components/StripeCardForm/index.tsx +97 -97
  438. package/themes/doordash/src/components/StripeCardForm/naked.tsx +128 -128
  439. package/themes/doordash/src/components/StripeCardForm/styles.tsx +32 -32
  440. package/themes/doordash/src/components/StripeCardsList/index.tsx +130 -130
  441. package/themes/doordash/src/components/StripeElementsForm/index.tsx +195 -195
  442. package/themes/doordash/src/components/StripeElementsForm/naked.tsx +90 -90
  443. package/themes/doordash/src/components/StripeElementsForm/styles.tsx +13 -13
  444. package/themes/doordash/src/components/StripeRedirectForm/index.tsx +157 -157
  445. package/themes/doordash/src/components/StripeRedirectForm/styles.tsx +23 -23
  446. package/themes/doordash/src/components/TaxInformation/index.tsx +51 -51
  447. package/themes/doordash/src/components/TaxInformation/styles.tsx +9 -9
  448. package/themes/doordash/src/components/UpsellingProducts/index.tsx +184 -184
  449. package/themes/doordash/src/components/UpsellingProducts/styles.tsx +39 -39
  450. package/themes/doordash/src/components/UserDetails/index.tsx +124 -124
  451. package/themes/doordash/src/components/UserDetails/styles.tsx +24 -24
  452. package/themes/doordash/src/components/UserFormDetails/index.tsx +268 -268
  453. package/themes/doordash/src/components/UserFormDetails/styles.tsx +37 -37
  454. package/themes/doordash/src/components/UserProfileForm/index.tsx +354 -354
  455. package/themes/doordash/src/components/UserProfileForm/styles.tsx +40 -40
  456. package/themes/doordash/src/components/VerifyPhone/index.tsx +185 -185
  457. package/themes/doordash/src/components/VerifyPhone/styles.tsx +43 -43
  458. package/themes/doordash/src/components/shared/OAlert.tsx +55 -55
  459. package/themes/doordash/src/components/shared/OBottomPopup.tsx +75 -75
  460. package/themes/doordash/src/components/shared/OButton.tsx +139 -139
  461. package/themes/doordash/src/components/shared/OButtonGroup.tsx +53 -53
  462. package/themes/doordash/src/components/shared/OChatBubble.tsx +53 -53
  463. package/themes/doordash/src/components/shared/OCheckbox.tsx +79 -79
  464. package/themes/doordash/src/components/shared/ODropDown.tsx +167 -167
  465. package/themes/doordash/src/components/shared/OIcon.tsx +54 -54
  466. package/themes/doordash/src/components/shared/OIconButton.tsx +135 -135
  467. package/themes/doordash/src/components/shared/OIconText.tsx +53 -53
  468. package/themes/doordash/src/components/shared/OInput.tsx +126 -126
  469. package/themes/doordash/src/components/shared/OKeyButton.tsx +34 -34
  470. package/themes/doordash/src/components/shared/OModal.tsx +173 -173
  471. package/themes/doordash/src/components/shared/OText.tsx +52 -52
  472. package/themes/doordash/src/components/shared/OTextarea.tsx +35 -35
  473. package/themes/doordash/src/components/shared/OToast.tsx +93 -93
  474. package/themes/doordash/src/components/shared/OToggle.tsx +157 -157
  475. package/themes/doordash/src/components/shared/index.tsx +37 -37
  476. package/themes/doordash/src/config/constants.tsx +14 -14
  477. package/themes/doordash/src/layouts/Container.tsx +26 -26
  478. package/themes/doordash/src/layouts/SafeAreaContainer.tsx +6 -6
  479. package/themes/doordash/src/providers/AlertProvider.tsx +49 -49
  480. package/themes/doordash/src/providers/StoreUtil.tsx +50 -50
  481. package/themes/doordash/src/types/index.tsx +435 -435
  482. package/themes/doordash/src/utils/index.tsx +192 -192
  483. package/themes/instacart/index.tsx +88 -88
  484. package/themes/instacart/src/components/ActiveOrders/index.tsx +135 -135
  485. package/themes/instacart/src/components/ActiveOrders/styles.tsx +51 -51
  486. package/themes/instacart/src/components/AddressDetails/index.tsx +69 -69
  487. package/themes/instacart/src/components/AddressDetails/styles.tsx +22 -22
  488. package/themes/instacart/src/components/AddressForm/index.tsx +664 -664
  489. package/themes/instacart/src/components/AddressForm/styles.tsx +33 -33
  490. package/themes/instacart/src/components/AddressList/index.tsx +326 -326
  491. package/themes/instacart/src/components/AddressList/styles.tsx +20 -20
  492. package/themes/instacart/src/components/BusinessBasicInformation/index.tsx +261 -261
  493. package/themes/instacart/src/components/BusinessBasicInformation/styles.tsx +43 -43
  494. package/themes/instacart/src/components/BusinessController/index.tsx +205 -205
  495. package/themes/instacart/src/components/BusinessController/styles.tsx +53 -53
  496. package/themes/instacart/src/components/BusinessInformation/index.tsx +101 -101
  497. package/themes/instacart/src/components/BusinessInformation/styles.tsx +35 -35
  498. package/themes/instacart/src/components/BusinessItemAccordion/index.tsx +112 -112
  499. package/themes/instacart/src/components/BusinessItemAccordion/styles.tsx +59 -59
  500. package/themes/instacart/src/components/BusinessProductsCategories/index.tsx +71 -71
  501. package/themes/instacart/src/components/BusinessProductsCategories/styles.tsx +7 -7
  502. package/themes/instacart/src/components/BusinessProductsList/index.tsx +181 -181
  503. package/themes/instacart/src/components/BusinessProductsList/styles.tsx +19 -19
  504. package/themes/instacart/src/components/BusinessProductsListing/index.tsx +372 -372
  505. package/themes/instacart/src/components/BusinessProductsListing/styles.tsx +35 -35
  506. package/themes/instacart/src/components/BusinessReviews/index.tsx +121 -121
  507. package/themes/instacart/src/components/BusinessReviews/styles.tsx +33 -33
  508. package/themes/instacart/src/components/BusinessTypeFilter/index.tsx +135 -135
  509. package/themes/instacart/src/components/BusinessTypeFilter/styles.tsx +30 -30
  510. package/themes/instacart/src/components/BusinessesListing/index.tsx +254 -254
  511. package/themes/instacart/src/components/BusinessesListing/styles.tsx +62 -62
  512. package/themes/instacart/src/components/Cart/index.tsx +357 -357
  513. package/themes/instacart/src/components/Cart/styles.tsx +39 -39
  514. package/themes/instacart/src/components/CartContent/index.tsx +51 -51
  515. package/themes/instacart/src/components/CartContent/styles.tsx +19 -19
  516. package/themes/instacart/src/components/CartSingle/index.tsx +194 -194
  517. package/themes/instacart/src/components/CartSingle/styles.tsx +55 -55
  518. package/themes/instacart/src/components/Checkout/index.tsx +632 -632
  519. package/themes/instacart/src/components/Checkout/styles.tsx +105 -105
  520. package/themes/instacart/src/components/CouponControl/index.tsx +121 -121
  521. package/themes/instacart/src/components/CouponControl/styles.tsx +23 -23
  522. package/themes/instacart/src/components/DriverTips/index.tsx +153 -153
  523. package/themes/instacart/src/components/DriverTips/styles.tsx +58 -58
  524. package/themes/instacart/src/components/FacebookLogin/index.tsx +117 -117
  525. package/themes/instacart/src/components/FacebookLogin/styles.tsx +16 -16
  526. package/themes/instacart/src/components/FloatingButton/index.tsx +81 -81
  527. package/themes/instacart/src/components/FloatingButton/styles.tsx +30 -30
  528. package/themes/instacart/src/components/ForgotPasswordForm/index.tsx +155 -155
  529. package/themes/instacart/src/components/ForgotPasswordForm/styles.tsx +11 -11
  530. package/themes/instacart/src/components/GoogleMap/index.tsx +236 -236
  531. package/themes/instacart/src/components/Home/index.tsx +337 -337
  532. package/themes/instacart/src/components/Home/styles.tsx +24 -24
  533. package/themes/instacart/src/components/LanguageSelector/index.tsx +109 -109
  534. package/themes/instacart/src/components/LanguageSelector/styles.tsx +7 -7
  535. package/themes/instacart/src/components/LoginForm/index.tsx +445 -445
  536. package/themes/instacart/src/components/LoginForm/styles.tsx +69 -69
  537. package/themes/instacart/src/components/LogoutButton/index.tsx +61 -61
  538. package/themes/instacart/src/components/Messages/index.tsx +430 -430
  539. package/themes/instacart/src/components/Messages/styles.tsx +23 -23
  540. package/themes/instacart/src/components/MomentOption/index.tsx +320 -320
  541. package/themes/instacart/src/components/MomentOption/styles.tsx +71 -71
  542. package/themes/instacart/src/components/NavBar/index.tsx +131 -131
  543. package/themes/instacart/src/components/NotFoundSource/index.tsx +55 -55
  544. package/themes/instacart/src/components/NotFoundSource/styles.tsx +16 -16
  545. package/themes/instacart/src/components/OrderDetails/index.tsx +531 -531
  546. package/themes/instacart/src/components/OrderDetails/styles.tsx +146 -146
  547. package/themes/instacart/src/components/OrderSummary/index.tsx +297 -297
  548. package/themes/instacart/src/components/OrderSummary/styles.tsx +41 -41
  549. package/themes/instacart/src/components/OrderTypeSelector/index.tsx +130 -130
  550. package/themes/instacart/src/components/OrderTypeSelector/styles.tsx +6 -6
  551. package/themes/instacart/src/components/OrdersOption/index.tsx +222 -222
  552. package/themes/instacart/src/components/OrdersOption/styles.tsx +3 -3
  553. package/themes/instacart/src/components/PaymentOptionCash/index.tsx +102 -102
  554. package/themes/instacart/src/components/PaymentOptionCash/styles.tsx +15 -15
  555. package/themes/instacart/src/components/PaymentOptionStripe/index.tsx +232 -232
  556. package/themes/instacart/src/components/PaymentOptionStripe/styles.tsx +62 -62
  557. package/themes/instacart/src/components/PaymentOptions/index.tsx +496 -496
  558. package/themes/instacart/src/components/PaymentOptions/styles.tsx +43 -43
  559. package/themes/instacart/src/components/PaypalPaymethod/index.tsx +38 -38
  560. package/themes/instacart/src/components/PhoneInputNumber/index.tsx +112 -112
  561. package/themes/instacart/src/components/PhoneInputNumber/styles.tsx +5 -5
  562. package/themes/instacart/src/components/PreviousOrders/index.tsx +134 -134
  563. package/themes/instacart/src/components/PreviousOrders/styles.tsx +38 -38
  564. package/themes/instacart/src/components/ProductForm/index.tsx +444 -444
  565. package/themes/instacart/src/components/ProductForm/styles.tsx +73 -73
  566. package/themes/instacart/src/components/ProductIngredient/index.tsx +44 -44
  567. package/themes/instacart/src/components/ProductIngredient/styles.tsx +7 -7
  568. package/themes/instacart/src/components/ProductItemAccordion/index.tsx +285 -285
  569. package/themes/instacart/src/components/ProductItemAccordion/styles.tsx +52 -52
  570. package/themes/instacart/src/components/ProductOption/index.tsx +49 -49
  571. package/themes/instacart/src/components/ProductOption/styles.tsx +12 -12
  572. package/themes/instacart/src/components/ProductOptionSubOption/index.tsx +146 -146
  573. package/themes/instacart/src/components/ProductOptionSubOption/styles.tsx +33 -33
  574. package/themes/instacart/src/components/ReviewDriver/index.tsx +221 -221
  575. package/themes/instacart/src/components/ReviewDriver/styles.tsx +45 -45
  576. package/themes/instacart/src/components/ReviewOrder/index.tsx +325 -325
  577. package/themes/instacart/src/components/ReviewOrder/styles.tsx +45 -45
  578. package/themes/instacart/src/components/ReviewProduct/index.tsx +275 -275
  579. package/themes/instacart/src/components/ReviewProduct/styles.tsx +52 -52
  580. package/themes/instacart/src/components/SearchBar/index.tsx +104 -104
  581. package/themes/instacart/src/components/SearchList/index.tsx +357 -357
  582. package/themes/instacart/src/components/SearchList/styles.tsx +61 -61
  583. package/themes/instacart/src/components/SignupForm/index.tsx +587 -587
  584. package/themes/instacart/src/components/SignupForm/styles.tsx +39 -39
  585. package/themes/instacart/src/components/SingleProductCard/index.tsx +104 -104
  586. package/themes/instacart/src/components/SingleProductCard/styles.tsx +19 -19
  587. package/themes/instacart/src/components/SocialShare/index.tsx +160 -160
  588. package/themes/instacart/src/components/SocialShare/styles.ts +20 -20
  589. package/themes/instacart/src/components/StripeCardForm/index.tsx +97 -97
  590. package/themes/instacart/src/components/StripeCardForm/naked.tsx +128 -128
  591. package/themes/instacart/src/components/StripeCardForm/styles.tsx +27 -27
  592. package/themes/instacart/src/components/StripeCardsList/index.tsx +144 -144
  593. package/themes/instacart/src/components/StripeElementsForm/index.tsx +192 -192
  594. package/themes/instacart/src/components/StripeElementsForm/naked.tsx +90 -90
  595. package/themes/instacart/src/components/StripeElementsForm/styles.tsx +9 -9
  596. package/themes/instacart/src/components/StripeRedirectForm/index.tsx +159 -159
  597. package/themes/instacart/src/components/StripeRedirectForm/styles.tsx +23 -23
  598. package/themes/instacart/src/components/TagSelector/index.tsx +94 -94
  599. package/themes/instacart/src/components/TaxInformation/index.tsx +51 -51
  600. package/themes/instacart/src/components/TaxInformation/styles.tsx +9 -9
  601. package/themes/instacart/src/components/UpsellingProducts/index.tsx +230 -230
  602. package/themes/instacart/src/components/UpsellingProducts/styles.tsx +31 -31
  603. package/themes/instacart/src/components/UserDetails/index.tsx +135 -135
  604. package/themes/instacart/src/components/UserDetails/styles.tsx +21 -21
  605. package/themes/instacart/src/components/UserFormDetails/index.tsx +307 -307
  606. package/themes/instacart/src/components/UserFormDetails/styles.tsx +38 -38
  607. package/themes/instacart/src/components/UserProfileForm/index.tsx +106 -106
  608. package/themes/instacart/src/components/UserProfileForm/styles.tsx +37 -37
  609. package/themes/instacart/src/components/VerifyPhone/index.tsx +187 -187
  610. package/themes/instacart/src/components/VerifyPhone/styles.tsx +43 -43
  611. package/themes/instacart/src/components/shared/OAlert.tsx +53 -53
  612. package/themes/instacart/src/components/shared/OBottomPopup.tsx +118 -118
  613. package/themes/instacart/src/components/shared/OBottomStickBar.tsx +62 -62
  614. package/themes/instacart/src/components/shared/OButton.tsx +133 -133
  615. package/themes/instacart/src/components/shared/ODropDown.tsx +170 -170
  616. package/themes/instacart/src/components/shared/OIcon.tsx +53 -53
  617. package/themes/instacart/src/components/shared/OIconButton.tsx +134 -134
  618. package/themes/instacart/src/components/shared/OInput.tsx +122 -122
  619. package/themes/instacart/src/components/shared/OModal.tsx +156 -156
  620. package/themes/instacart/src/components/shared/OText.tsx +58 -58
  621. package/themes/instacart/src/components/shared/OToast.tsx +92 -92
  622. package/themes/instacart/src/components/shared/index.tsx +23 -23
  623. package/themes/instacart/src/config/constants.tsx +28 -28
  624. package/themes/instacart/src/layouts/Container.tsx +29 -29
  625. package/themes/instacart/src/layouts/SafeAreaContainer.tsx +6 -6
  626. package/themes/instacart/src/providers/AlertProvider.tsx +43 -43
  627. package/themes/instacart/src/providers/CartBottomSheetProvider.tsx +37 -37
  628. package/themes/instacart/src/providers/StoreUtil.tsx +50 -50
  629. package/themes/instacart/src/types/index.tsx +458 -458
  630. package/themes/instacart/src/utils/index.tsx +192 -192
  631. package/themes/kiosk/index.tsx +130 -130
  632. package/themes/kiosk/src/components/BusinessController/index.tsx +88 -88
  633. package/themes/kiosk/src/components/BusinessController/styles.tsx +23 -23
  634. package/themes/kiosk/src/components/BusinessItemAccordion/index.tsx +137 -137
  635. package/themes/kiosk/src/components/BusinessItemAccordion/styles.tsx +60 -60
  636. package/themes/kiosk/src/components/BusinessMenu/index.tsx +174 -174
  637. package/themes/kiosk/src/components/BusinessProductsListing/index.tsx +254 -254
  638. package/themes/kiosk/src/components/BusinessProductsListing/styles.tsx +35 -35
  639. package/themes/kiosk/src/components/BusinessesListing/index.tsx +119 -119
  640. package/themes/kiosk/src/components/BusinessesListing/styles.tsx +24 -24
  641. package/themes/kiosk/src/components/Cart/index.tsx +489 -489
  642. package/themes/kiosk/src/components/Cart/styles.tsx +76 -76
  643. package/themes/kiosk/src/components/CartBottomSheet/index.tsx +281 -281
  644. package/themes/kiosk/src/components/CartBottomSheet/styles.tsx +53 -53
  645. package/themes/kiosk/src/components/CartContent/index.tsx +75 -75
  646. package/themes/kiosk/src/components/CartContent/styles.tsx +15 -15
  647. package/themes/kiosk/src/components/CartItem/index.tsx +222 -222
  648. package/themes/kiosk/src/components/CartItem/styles.tsx +33 -33
  649. package/themes/kiosk/src/components/CategoriesMenu/index.tsx +281 -281
  650. package/themes/kiosk/src/components/Checkout/index.tsx +175 -169
  651. package/themes/kiosk/src/components/Checkout/styles.tsx +94 -94
  652. package/themes/kiosk/src/components/CouponControl/index.tsx +138 -138
  653. package/themes/kiosk/src/components/CouponControl/styles.tsx +22 -22
  654. package/themes/kiosk/src/components/CustomerName/index.tsx +175 -175
  655. package/themes/kiosk/src/components/CustomerName/styles.tsx +10 -10
  656. package/themes/kiosk/src/components/DrawerView/index.tsx +58 -58
  657. package/themes/kiosk/src/components/DrawerView/styles.tsx +30 -30
  658. package/themes/kiosk/src/components/Intro/index.tsx +165 -150
  659. package/themes/kiosk/src/components/LanguageSelector/index.tsx +131 -131
  660. package/themes/kiosk/src/components/LanguageSelector/lang_country.json +140 -140
  661. package/themes/kiosk/src/components/LanguageSelector/styles.tsx +12 -12
  662. package/themes/kiosk/src/components/LoginForm/Otp/index.tsx +92 -92
  663. package/themes/kiosk/src/components/LoginForm/Otp/styles.tsx +7 -7
  664. package/themes/kiosk/src/components/LoginForm/index.tsx +767 -769
  665. package/themes/kiosk/src/components/LoginForm/styles.tsx +27 -27
  666. package/themes/kiosk/src/components/LogoutButton/index.tsx +74 -74
  667. package/themes/kiosk/src/components/LogoutPopup/index.tsx +185 -185
  668. package/themes/kiosk/src/components/LogoutPopup/styles.tsx +26 -26
  669. package/themes/kiosk/src/components/NavBar/index.tsx +147 -147
  670. package/themes/kiosk/src/components/NetworkError/index.tsx +60 -60
  671. package/themes/kiosk/src/components/NetworkError/styles.tsx +10 -10
  672. package/themes/kiosk/src/components/NotFoundSource/index.tsx +51 -51
  673. package/themes/kiosk/src/components/NotFoundSource/styles.tsx +16 -16
  674. package/themes/kiosk/src/components/OptionCard/index.tsx +107 -107
  675. package/themes/kiosk/src/components/OptionCard/styles.tsx +22 -22
  676. package/themes/kiosk/src/components/OrderDetails/index.tsx +693 -693
  677. package/themes/kiosk/src/components/OrderDetails/styles.tsx +58 -58
  678. package/themes/kiosk/src/components/OrderSummary/index.tsx +195 -195
  679. package/themes/kiosk/src/components/OrderSummary/styles.tsx +33 -33
  680. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +151 -153
  681. package/themes/kiosk/src/components/OrderTypeCardSelector/styles.tsx +6 -6
  682. package/themes/kiosk/src/components/OrderTypeSelector/index.tsx +98 -98
  683. package/themes/kiosk/src/components/OrderTypeSelector/styles.tsx +6 -6
  684. package/themes/kiosk/src/components/PaymentOptionCash/index.tsx +100 -100
  685. package/themes/kiosk/src/components/PaymentOptionCash/styles.tsx +18 -18
  686. package/themes/kiosk/src/components/PaymentOptionStripe/index.tsx +70 -70
  687. package/themes/kiosk/src/components/PaymentOptionStripe/styles.tsx +7 -7
  688. package/themes/kiosk/src/components/PaymentOptions/index.tsx +281 -281
  689. package/themes/kiosk/src/components/PaymentOptions/styles.tsx +55 -55
  690. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +113 -113
  691. package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +3 -3
  692. package/themes/kiosk/src/components/ProductForm/index.tsx +588 -588
  693. package/themes/kiosk/src/components/ProductForm/styles.tsx +83 -83
  694. package/themes/kiosk/src/components/ProductIngredient/index.tsx +44 -44
  695. package/themes/kiosk/src/components/ProductIngredient/styles.tsx +7 -7
  696. package/themes/kiosk/src/components/ProductItemAccordion/index.tsx +244 -244
  697. package/themes/kiosk/src/components/ProductItemAccordion/styles.tsx +71 -71
  698. package/themes/kiosk/src/components/ProductOption/index.tsx +55 -55
  699. package/themes/kiosk/src/components/ProductOption/styles.tsx +16 -16
  700. package/themes/kiosk/src/components/ProductOptionSubOption/index.tsx +176 -176
  701. package/themes/kiosk/src/components/ProductOptionSubOption/styles.tsx +42 -42
  702. package/themes/kiosk/src/components/PromoCard/index.tsx +117 -117
  703. package/themes/kiosk/src/components/QuantityControl/index.tsx +92 -92
  704. package/themes/kiosk/src/components/QuantityControl/styles.tsx +9 -9
  705. package/themes/kiosk/src/components/UpsellingProducts/index.tsx +364 -364
  706. package/themes/kiosk/src/components/UpsellingProducts/styles.tsx +26 -26
  707. package/themes/kiosk/src/components/shared/OAlert.tsx +55 -55
  708. package/themes/kiosk/src/components/shared/OBottomPopup.tsx +77 -77
  709. package/themes/kiosk/src/components/shared/OButton.tsx +132 -145
  710. package/themes/kiosk/src/components/shared/OCard.tsx +144 -144
  711. package/themes/kiosk/src/components/shared/OChatBubble.tsx +52 -52
  712. package/themes/kiosk/src/components/shared/OCheckbox.tsx +77 -77
  713. package/themes/kiosk/src/components/shared/ODropDown.tsx +161 -161
  714. package/themes/kiosk/src/components/shared/OIcon.tsx +51 -51
  715. package/themes/kiosk/src/components/shared/OIconButton.tsx +134 -134
  716. package/themes/kiosk/src/components/shared/OIconText.tsx +53 -53
  717. package/themes/kiosk/src/components/shared/OImage.tsx +31 -31
  718. package/themes/kiosk/src/components/shared/OInput.tsx +121 -121
  719. package/themes/kiosk/src/components/shared/OKeyButton.tsx +34 -34
  720. package/themes/kiosk/src/components/shared/OModal.tsx +162 -162
  721. package/themes/kiosk/src/components/shared/OOptionToggle.tsx +130 -130
  722. package/themes/kiosk/src/components/shared/OSegment.tsx +66 -66
  723. package/themes/kiosk/src/components/shared/OText.tsx +51 -51
  724. package/themes/kiosk/src/components/shared/OTextarea.tsx +36 -36
  725. package/themes/kiosk/src/components/shared/OToast.tsx +94 -94
  726. package/themes/kiosk/src/components/shared/OToggle.tsx +157 -157
  727. package/themes/kiosk/src/components/shared/index.tsx +37 -37
  728. package/themes/kiosk/src/layouts/Container.tsx +45 -45
  729. package/themes/kiosk/src/layouts/GridContainer.tsx +25 -25
  730. package/themes/kiosk/src/layouts/SafeAreaContainer.tsx +6 -6
  731. package/themes/kiosk/src/providers/CartBottomSheetProvider.tsx +35 -35
  732. package/themes/kiosk/src/types/index.d.ts +497 -497
  733. package/themes/kiosk/src/utils/index.tsx +15 -15
  734. package/themes/original/index.tsx +344 -344
  735. package/themes/original/src/components/ActiveOrders/index.tsx +52 -52
  736. package/themes/original/src/components/ActiveOrders/styles.tsx +5 -5
  737. package/themes/original/src/components/AddressDetails/index.tsx +95 -79
  738. package/themes/original/src/components/AddressDetails/styles.tsx +21 -21
  739. package/themes/original/src/components/AddressForm/index.tsx +904 -886
  740. package/themes/original/src/components/AddressForm/styles.tsx +28 -28
  741. package/themes/original/src/components/AddressList/index.tsx +360 -363
  742. package/themes/original/src/components/AddressList/styles.tsx +21 -21
  743. package/themes/original/src/components/AnalyticsSegment/index.tsx +310 -127
  744. package/themes/original/src/components/AppleLogin/index.tsx +188 -188
  745. package/themes/original/src/components/AppleLogin/styles.tsx +23 -21
  746. package/themes/original/src/components/BottomWrapper/index.tsx +29 -29
  747. package/themes/original/src/components/BusinessBasicInformation/index.tsx +539 -503
  748. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +72 -74
  749. package/themes/original/src/components/BusinessCart/index.tsx +182 -182
  750. package/themes/original/src/components/BusinessCart/styles.tsx +46 -46
  751. package/themes/original/src/components/BusinessController/index.tsx +387 -396
  752. package/themes/original/src/components/BusinessController/styles.tsx +94 -87
  753. package/themes/original/src/components/BusinessFeaturedController/index.tsx +175 -208
  754. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +81 -73
  755. package/themes/original/src/components/BusinessInformation/index.tsx +241 -186
  756. package/themes/original/src/components/BusinessInformation/styles.tsx +38 -38
  757. package/themes/original/src/components/BusinessItemAccordion/index.tsx +168 -173
  758. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +64 -64
  759. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -57
  760. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -59
  761. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -13
  762. package/themes/original/src/components/BusinessListingSearch/index.tsx +597 -586
  763. package/themes/original/src/components/BusinessListingSearch/styles.tsx +76 -94
  764. package/themes/original/src/components/BusinessMenuList/index.tsx +135 -135
  765. package/themes/original/src/components/BusinessPreorder/index.tsx +585 -501
  766. package/themes/original/src/components/BusinessPreorder/styles.tsx +44 -44
  767. package/themes/original/src/components/BusinessProductsCategories/index.tsx +151 -152
  768. package/themes/original/src/components/BusinessProductsCategories/styles.tsx +7 -7
  769. package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -44
  770. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -87
  771. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -12
  772. package/themes/original/src/components/BusinessProductsList/index.tsx +368 -360
  773. package/themes/original/src/components/BusinessProductsList/styles.tsx +49 -44
  774. package/themes/original/src/components/BusinessProductsListing/UpsellingRedirect.tsx +35 -35
  775. package/themes/original/src/components/BusinessProductsListing/index.tsx +718 -623
  776. package/themes/original/src/components/BusinessProductsListing/styles.tsx +68 -69
  777. package/themes/original/src/components/BusinessReviews/index.tsx +241 -239
  778. package/themes/original/src/components/BusinessReviews/styles.tsx +59 -59
  779. package/themes/original/src/components/BusinessTypeFilter/index.tsx +280 -280
  780. package/themes/original/src/components/BusinessTypeFilter/styles.tsx +43 -43
  781. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +561 -561
  782. package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +107 -107
  783. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListFooter.tsx +69 -0
  784. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListHeader.tsx +406 -0
  785. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListing.tsx +76 -0
  786. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +329 -696
  787. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +129 -129
  788. package/themes/original/src/components/BusinessesListing/index.tsx +105 -106
  789. package/themes/original/src/components/Cart/index.tsx +573 -601
  790. package/themes/original/src/components/Cart/styles.tsx +39 -39
  791. package/themes/original/src/components/CartContent/index.tsx +167 -78
  792. package/themes/original/src/components/CartContent/styles.tsx +29 -19
  793. package/themes/original/src/components/CartStoresListing/index.tsx +98 -98
  794. package/themes/original/src/components/CartStoresListing/styles.tsx +30 -30
  795. package/themes/original/src/components/Checkout/index.tsx +1222 -977
  796. package/themes/original/src/components/Checkout/styles.tsx +115 -115
  797. package/themes/original/src/components/CitiesControl/index.tsx +89 -89
  798. package/themes/original/src/components/CitiesControl/styles.tsx +17 -17
  799. package/themes/original/src/components/CouponControl/index.tsx +127 -120
  800. package/themes/original/src/components/CouponControl/styles.tsx +22 -22
  801. package/themes/original/src/components/DriverTips/index.tsx +164 -146
  802. package/themes/original/src/components/DriverTips/styles.tsx +67 -67
  803. package/themes/original/src/components/FacebookLogin/index.tsx +122 -122
  804. package/themes/original/src/components/FacebookLogin/styles.tsx +23 -21
  805. package/themes/original/src/components/Favorite/index.tsx +95 -99
  806. package/themes/original/src/components/Favorite/styles.tsx +22 -22
  807. package/themes/original/src/components/FavoriteList/index.tsx +288 -288
  808. package/themes/original/src/components/FavoriteList/styles.tsx +5 -5
  809. package/themes/original/src/components/FloatingButton/index.tsx +100 -100
  810. package/themes/original/src/components/FloatingButton/styles.tsx +26 -26
  811. package/themes/original/src/components/ForgotPasswordForm/index.tsx +232 -232
  812. package/themes/original/src/components/ForgotPasswordForm/styles.tsx +11 -11
  813. package/themes/original/src/components/GPSButton/index.tsx +94 -92
  814. package/themes/original/src/components/GPSButton/styles.ts +6 -6
  815. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +100 -95
  816. package/themes/original/src/components/GiftCard/GiftCardUI/styles.tsx +5 -5
  817. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +132 -95
  818. package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +8 -6
  819. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +254 -178
  820. package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +8 -8
  821. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +165 -165
  822. package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +9 -9
  823. package/themes/original/src/components/GoogleLogin/index.tsx +119 -119
  824. package/themes/original/src/components/GoogleLogin/styles.tsx +23 -23
  825. package/themes/original/src/components/GoogleMap/index.tsx +294 -238
  826. package/themes/original/src/components/Help/index.tsx +72 -72
  827. package/themes/original/src/components/Help/styles.tsx +11 -11
  828. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +62 -62
  829. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +12 -12
  830. package/themes/original/src/components/HelpGuide/index.tsx +68 -68
  831. package/themes/original/src/components/HelpGuide/styles.tsx +12 -12
  832. package/themes/original/src/components/HelpOrder/index.tsx +71 -71
  833. package/themes/original/src/components/HelpOrder/styles.tsx +13 -13
  834. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +165 -165
  835. package/themes/original/src/components/HighestRatedBusinesses/styles.tsx +7 -7
  836. package/themes/original/src/components/Home/index.tsx +113 -104
  837. package/themes/original/src/components/Home/styles.tsx +18 -18
  838. package/themes/original/src/components/LanguageSelector/index.tsx +97 -97
  839. package/themes/original/src/components/LanguageSelector/styles.tsx +10 -10
  840. package/themes/original/src/components/LastOrder/index.tsx +138 -137
  841. package/themes/original/src/components/LastOrder/styles.tsx +16 -16
  842. package/themes/original/src/components/LastOrders/index.tsx +124 -123
  843. package/themes/original/src/components/LastOrders/styles.tsx +17 -17
  844. package/themes/original/src/components/LoginForm/Otp/index.tsx +173 -107
  845. package/themes/original/src/components/LoginForm/Otp/styles.tsx +6 -6
  846. package/themes/original/src/components/LoginForm/index.tsx +890 -860
  847. package/themes/original/src/components/LoginForm/styles.tsx +85 -85
  848. package/themes/original/src/components/LogoutButton/index.tsx +42 -42
  849. package/themes/original/src/components/LottieAnimation/index.tsx +103 -78
  850. package/themes/original/src/components/MessageListing/index.tsx +294 -287
  851. package/themes/original/src/components/MessageListing/styles.tsx +16 -16
  852. package/themes/original/src/components/Messages/index.tsx +585 -574
  853. package/themes/original/src/components/Messages/styles.tsx +40 -40
  854. package/themes/original/src/components/MomentOption/index.tsx +484 -383
  855. package/themes/original/src/components/MomentOption/styles.tsx +42 -42
  856. package/themes/original/src/components/MomentSelector/index.tsx +196 -196
  857. package/themes/original/src/components/MomentSelector/styles.tsx +6 -6
  858. package/themes/original/src/components/MultiCart/index.tsx +50 -63
  859. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +354 -242
  860. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/styles.tsx +46 -46
  861. package/themes/original/src/components/MultiCheckout/index.tsx +657 -324
  862. package/themes/original/src/components/MultiCheckout/styles.tsx +61 -59
  863. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +185 -185
  864. package/themes/original/src/components/MultiOrdersDetails/index.tsx +309 -305
  865. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -50
  866. package/themes/original/src/components/MyOrders/index.tsx +221 -212
  867. package/themes/original/src/components/MyOrders/styles.tsx +13 -13
  868. package/themes/original/src/components/NavBar/index.tsx +142 -135
  869. package/themes/original/src/components/NetworkError/index.tsx +63 -63
  870. package/themes/original/src/components/NetworkError/styles.tsx +10 -10
  871. package/themes/original/src/components/NotFoundSource/index.tsx +55 -51
  872. package/themes/original/src/components/NotFoundSource/styles.tsx +16 -16
  873. package/themes/original/src/components/Notifications/index.tsx +144 -144
  874. package/themes/original/src/components/Notifications/styles.tsx +20 -20
  875. package/themes/original/src/components/OrderDetails/OrderEta.tsx +76 -0
  876. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +183 -167
  877. package/themes/original/src/components/OrderDetails/index.tsx +1095 -1089
  878. package/themes/original/src/components/OrderDetails/styles.tsx +142 -143
  879. package/themes/original/src/components/OrderItAgain/index.tsx +77 -75
  880. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -10
  881. package/themes/original/src/components/OrderProgress/index.tsx +217 -208
  882. package/themes/original/src/components/OrderProgress/styles.tsx +36 -36
  883. package/themes/original/src/components/OrderSummary/index.tsx +404 -378
  884. package/themes/original/src/components/OrderSummary/styles.tsx +48 -48
  885. package/themes/original/src/components/OrderTypeSelector/index.tsx +144 -145
  886. package/themes/original/src/components/OrderTypeSelector/styles.tsx +45 -45
  887. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +149 -149
  888. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +6 -6
  889. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +56 -56
  890. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +6 -6
  891. package/themes/original/src/components/OrdersOption/index.tsx +368 -355
  892. package/themes/original/src/components/OrdersOption/styles.tsx +14 -14
  893. package/themes/original/src/components/PageBanner/index.tsx +182 -119
  894. package/themes/original/src/components/PageBanner/styles.tsx +8 -18
  895. package/themes/original/src/components/PaymentOptionCard/index.tsx +180 -0
  896. package/themes/original/src/components/PaymentOptionCash/index.tsx +102 -102
  897. package/themes/original/src/components/PaymentOptionCash/styles.tsx +18 -18
  898. package/themes/original/src/components/PaymentOptionStripe/index.tsx +234 -234
  899. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +72 -69
  900. package/themes/original/src/components/PaymentOptionWallet/index.tsx +174 -174
  901. package/themes/original/src/components/PaymentOptionWallet/styles.tsx +39 -39
  902. package/themes/original/src/components/PaymentOptions/index.tsx +534 -468
  903. package/themes/original/src/components/PaymentOptions/styles.tsx +55 -55
  904. package/themes/original/src/components/PhoneInputNumber/index.tsx +156 -142
  905. package/themes/original/src/components/PhoneInputNumber/styles.tsx +3 -3
  906. package/themes/original/src/components/PlaceSpot/index.tsx +316 -316
  907. package/themes/original/src/components/PlaceSpot/styles.tsx +9 -9
  908. package/themes/original/src/components/PreviousOrders/index.tsx +59 -59
  909. package/themes/original/src/components/PreviousOrders/styles.tsx +34 -34
  910. package/themes/original/src/components/ProductForm/index.tsx +1117 -1060
  911. package/themes/original/src/components/ProductForm/styles.tsx +101 -101
  912. package/themes/original/src/components/ProductIngredient/index.tsx +44 -44
  913. package/themes/original/src/components/ProductIngredient/styles.tsx +7 -7
  914. package/themes/original/src/components/ProductItemAccordion/index.tsx +351 -349
  915. package/themes/original/src/components/ProductItemAccordion/styles.tsx +57 -57
  916. package/themes/original/src/components/ProductOption/index.tsx +50 -50
  917. package/themes/original/src/components/ProductOption/styles.tsx +11 -11
  918. package/themes/original/src/components/ProductOptionSubOption/index.tsx +201 -172
  919. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +39 -38
  920. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  921. package/themes/original/src/components/ProfessionalFilter/index.tsx +99 -129
  922. package/themes/original/src/components/ProfessionalProfile/index.tsx +338 -309
  923. package/themes/original/src/components/ProfessionalProfile/styles.tsx +45 -45
  924. package/themes/original/src/components/Promotions/index.tsx +264 -264
  925. package/themes/original/src/components/Promotions/styles.tsx +67 -65
  926. package/themes/original/src/components/ReviewDriver/index.tsx +315 -315
  927. package/themes/original/src/components/ReviewDriver/styles.tsx +38 -38
  928. package/themes/original/src/components/ReviewOrder/index.tsx +356 -356
  929. package/themes/original/src/components/ReviewOrder/styles.tsx +51 -51
  930. package/themes/original/src/components/ReviewProducts/index.tsx +128 -119
  931. package/themes/original/src/components/ReviewProducts/styles.tsx +16 -16
  932. package/themes/original/src/components/ReviewTrigger/index.tsx +136 -136
  933. package/themes/original/src/components/ReviewTrigger/styles.tsx +41 -41
  934. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -68
  935. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -14
  936. package/themes/original/src/components/SearchBar/index.tsx +124 -124
  937. package/themes/original/src/components/ServiceForm/index.tsx +686 -643
  938. package/themes/original/src/components/ServiceForm/styles.tsx +49 -49
  939. package/themes/original/src/components/Sessions/index.tsx +163 -163
  940. package/themes/original/src/components/Sessions/styles.tsx +20 -19
  941. package/themes/original/src/components/SignupForm/index.tsx +1010 -994
  942. package/themes/original/src/components/SignupForm/styles.tsx +27 -27
  943. package/themes/original/src/components/SingleOrderCard/index.tsx +408 -387
  944. package/themes/original/src/components/SingleOrderCard/styles.tsx +56 -56
  945. package/themes/original/src/components/SingleProductCard/index.tsx +353 -342
  946. package/themes/original/src/components/SingleProductCard/styles.tsx +69 -63
  947. package/themes/original/src/components/SingleProductReview/index.tsx +199 -199
  948. package/themes/original/src/components/SingleProductReview/styles.tsx +39 -39
  949. package/themes/original/src/components/StripeCardForm/index.tsx +97 -97
  950. package/themes/original/src/components/StripeCardForm/naked.tsx +128 -128
  951. package/themes/original/src/components/StripeCardForm/styles.tsx +32 -32
  952. package/themes/original/src/components/StripeCardsList/index.tsx +199 -143
  953. package/themes/original/src/components/StripeElementsForm/index.tsx +293 -279
  954. package/themes/original/src/components/StripeElementsForm/naked.tsx +101 -90
  955. package/themes/original/src/components/StripeElementsForm/styles.tsx +13 -13
  956. package/themes/original/src/components/StripeRedirectForm/index.tsx +159 -159
  957. package/themes/original/src/components/StripeRedirectForm/styles.tsx +23 -23
  958. package/themes/original/src/components/TaxInformation/index.tsx +93 -93
  959. package/themes/original/src/components/TaxInformation/styles.tsx +9 -9
  960. package/themes/original/src/components/UpsellingProducts/index.tsx +266 -244
  961. package/themes/original/src/components/UpsellingProducts/styles.tsx +61 -50
  962. package/themes/original/src/components/UserDetails/index.tsx +244 -242
  963. package/themes/original/src/components/UserDetails/styles.tsx +25 -25
  964. package/themes/original/src/components/UserFormDetails/index.tsx +509 -440
  965. package/themes/original/src/components/UserFormDetails/styles.tsx +34 -34
  966. package/themes/original/src/components/UserProfile/index.tsx +291 -309
  967. package/themes/original/src/components/UserProfile/styles.ts +58 -58
  968. package/themes/original/src/components/UserProfileForm/index.tsx +348 -349
  969. package/themes/original/src/components/UserProfileForm/styles.tsx +36 -36
  970. package/themes/original/src/components/UserVerification/index.tsx +505 -500
  971. package/themes/original/src/components/UserVerification/styles.tsx +83 -83
  972. package/themes/original/src/components/VerifyPhone/index.tsx +195 -195
  973. package/themes/original/src/components/VerifyPhone/styles.tsx +42 -42
  974. package/themes/original/src/components/WalletTransactionItem/index.tsx +69 -69
  975. package/themes/original/src/components/WalletTransactionItem/styles.tsx +37 -37
  976. package/themes/original/src/components/WalletTransactions/index.tsx +76 -76
  977. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -13
  978. package/themes/original/src/components/Wallets/index.tsx +349 -359
  979. package/themes/original/src/components/Wallets/styles.tsx +66 -68
  980. package/themes/original/src/components/shared/CardAnimation.tsx +47 -47
  981. package/themes/original/src/components/shared/HeaderTitle.tsx +26 -26
  982. package/themes/original/src/components/shared/OAlert.tsx +55 -55
  983. package/themes/original/src/components/shared/OBottomPopup.tsx +109 -109
  984. package/themes/original/src/components/shared/OButton.tsx +149 -149
  985. package/themes/original/src/components/shared/ODropDown.tsx +168 -168
  986. package/themes/original/src/components/shared/OIcon.tsx +66 -66
  987. package/themes/original/src/components/shared/OIconButton.tsx +127 -127
  988. package/themes/original/src/components/shared/OIconText.tsx +53 -53
  989. package/themes/original/src/components/shared/OInput.tsx +133 -134
  990. package/themes/original/src/components/shared/OKeyButton.tsx +34 -34
  991. package/themes/original/src/components/shared/OModal.tsx +191 -191
  992. package/themes/original/src/components/shared/OText.tsx +52 -52
  993. package/themes/original/src/components/shared/OTextarea.tsx +36 -36
  994. package/themes/original/src/components/shared/OToast.tsx +93 -93
  995. package/themes/original/src/components/shared/OToggle.tsx +157 -157
  996. package/themes/original/src/components/shared/index.tsx +31 -31
  997. package/themes/original/src/config/constants.tsx +33 -33
  998. package/themes/original/src/layouts/Container.tsx +30 -30
  999. package/themes/original/src/layouts/FloatingBottomContainer.tsx +30 -30
  1000. package/themes/original/src/layouts/SafeAreaContainer.tsx +6 -6
  1001. package/themes/original/src/providers/AlertProvider.tsx +43 -43
  1002. package/themes/original/src/providers/StoreUtil.tsx +50 -50
  1003. package/themes/original/src/types/index.tsx +823 -794
  1004. package/themes/original/src/utils/index.tsx +738 -567
  1005. package/themes/single-business/index.tsx +207 -207
  1006. package/themes/single-business/src/components/ActiveOrders/index.tsx +135 -135
  1007. package/themes/single-business/src/components/ActiveOrders/styles.tsx +44 -44
  1008. package/themes/single-business/src/components/AddressDetails/index.tsx +77 -77
  1009. package/themes/single-business/src/components/AddressDetails/styles.tsx +21 -21
  1010. package/themes/single-business/src/components/AddressForm/index.tsx +856 -856
  1011. package/themes/single-business/src/components/AddressForm/styles.tsx +27 -27
  1012. package/themes/single-business/src/components/AddressList/index.tsx +338 -338
  1013. package/themes/single-business/src/components/AddressList/styles.tsx +20 -20
  1014. package/themes/single-business/src/components/AppleLogin/index.tsx +108 -108
  1015. package/themes/single-business/src/components/AppleLogin/styles.tsx +21 -21
  1016. package/themes/single-business/src/components/BottomWrapper/index.tsx +29 -29
  1017. package/themes/single-business/src/components/BusinessBasicInformation/index.tsx +315 -315
  1018. package/themes/single-business/src/components/BusinessBasicInformation/styles.tsx +65 -65
  1019. package/themes/single-business/src/components/BusinessController/index.tsx +186 -186
  1020. package/themes/single-business/src/components/BusinessController/styles.tsx +56 -56
  1021. package/themes/single-business/src/components/BusinessFeaturedController/index.tsx +189 -189
  1022. package/themes/single-business/src/components/BusinessFeaturedController/styles.tsx +50 -50
  1023. package/themes/single-business/src/components/BusinessInformation/index.tsx +244 -244
  1024. package/themes/single-business/src/components/BusinessInformation/styles.tsx +39 -39
  1025. package/themes/single-business/src/components/BusinessItemAccordion/index.tsx +125 -125
  1026. package/themes/single-business/src/components/BusinessItemAccordion/styles.tsx +54 -54
  1027. package/themes/single-business/src/components/BusinessProductsCategories/index.tsx +160 -160
  1028. package/themes/single-business/src/components/BusinessProductsCategories/styles.tsx +7 -7
  1029. package/themes/single-business/src/components/BusinessProductsList/index.tsx +213 -213
  1030. package/themes/single-business/src/components/BusinessProductsList/styles.tsx +14 -14
  1031. package/themes/single-business/src/components/BusinessProductsListing/index.tsx +338 -338
  1032. package/themes/single-business/src/components/BusinessProductsListing/styles.tsx +30 -30
  1033. package/themes/single-business/src/components/BusinessReviews/index.tsx +255 -255
  1034. package/themes/single-business/src/components/BusinessReviews/styles.tsx +59 -59
  1035. package/themes/single-business/src/components/BusinessTypeFilter/index.tsx +127 -127
  1036. package/themes/single-business/src/components/BusinessTypeFilter/styles.tsx +40 -40
  1037. package/themes/single-business/src/components/BusinessesListing/index.tsx +384 -384
  1038. package/themes/single-business/src/components/BusinessesListing/styles.tsx +108 -108
  1039. package/themes/single-business/src/components/Cart/index.tsx +490 -490
  1040. package/themes/single-business/src/components/Cart/styles.tsx +111 -111
  1041. package/themes/single-business/src/components/CartContent/index.tsx +64 -64
  1042. package/themes/single-business/src/components/CartContent/styles.tsx +5 -5
  1043. package/themes/single-business/src/components/Checkout/index.tsx +662 -662
  1044. package/themes/single-business/src/components/Checkout/styles.tsx +89 -89
  1045. package/themes/single-business/src/components/CouponControl/index.tsx +119 -119
  1046. package/themes/single-business/src/components/CouponControl/styles.tsx +22 -22
  1047. package/themes/single-business/src/components/DriverTips/index.tsx +163 -163
  1048. package/themes/single-business/src/components/DriverTips/styles.tsx +63 -63
  1049. package/themes/single-business/src/components/FacebookLogin/index.tsx +107 -107
  1050. package/themes/single-business/src/components/FacebookLogin/styles.tsx +21 -21
  1051. package/themes/single-business/src/components/FloatingButton/index.tsx +100 -100
  1052. package/themes/single-business/src/components/FloatingButton/styles.tsx +26 -26
  1053. package/themes/single-business/src/components/ForgotPasswordForm/index.tsx +156 -156
  1054. package/themes/single-business/src/components/ForgotPasswordForm/styles.tsx +11 -11
  1055. package/themes/single-business/src/components/GPSButton/index.tsx +84 -84
  1056. package/themes/single-business/src/components/GPSButton/styles.ts +5 -5
  1057. package/themes/single-business/src/components/GoogleLogin/index.tsx +114 -114
  1058. package/themes/single-business/src/components/GoogleLogin/styles.tsx +23 -23
  1059. package/themes/single-business/src/components/GoogleMap/index.tsx +229 -229
  1060. package/themes/single-business/src/components/Help/index.tsx +55 -55
  1061. package/themes/single-business/src/components/Help/styles.tsx +11 -11
  1062. package/themes/single-business/src/components/HelpAccountAndPayment/index.tsx +69 -69
  1063. package/themes/single-business/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  1064. package/themes/single-business/src/components/HelpGuide/index.tsx +68 -68
  1065. package/themes/single-business/src/components/HelpGuide/styles.tsx +6 -6
  1066. package/themes/single-business/src/components/HelpOrder/index.tsx +80 -80
  1067. package/themes/single-business/src/components/HelpOrder/styles.tsx +5 -5
  1068. package/themes/single-business/src/components/Home/index.tsx +102 -102
  1069. package/themes/single-business/src/components/Home/styles.tsx +18 -18
  1070. package/themes/single-business/src/components/LanguageSelector/index.tsx +109 -109
  1071. package/themes/single-business/src/components/LanguageSelector/styles.tsx +7 -7
  1072. package/themes/single-business/src/components/LastOrder/index.tsx +170 -170
  1073. package/themes/single-business/src/components/LastOrder/styles.tsx +16 -16
  1074. package/themes/single-business/src/components/LastOrders/index.tsx +104 -104
  1075. package/themes/single-business/src/components/LastOrders/styles.tsx +17 -17
  1076. package/themes/single-business/src/components/LoginForm/index.tsx +587 -587
  1077. package/themes/single-business/src/components/LoginForm/styles.tsx +82 -82
  1078. package/themes/single-business/src/components/LogoutButton/index.tsx +36 -36
  1079. package/themes/single-business/src/components/Messages/index.tsx +350 -350
  1080. package/themes/single-business/src/components/Messages/styles.tsx +20 -20
  1081. package/themes/single-business/src/components/MomentOption/index.tsx +290 -290
  1082. package/themes/single-business/src/components/MomentOption/styles.tsx +65 -65
  1083. package/themes/single-business/src/components/NavBar/index.tsx +129 -129
  1084. package/themes/single-business/src/components/NotFoundSource/index.tsx +50 -50
  1085. package/themes/single-business/src/components/NotFoundSource/styles.tsx +16 -16
  1086. package/themes/single-business/src/components/Notifications/index.tsx +120 -120
  1087. package/themes/single-business/src/components/Notifications/styles.ts +20 -20
  1088. package/themes/single-business/src/components/OrderDetails/index.tsx +871 -871
  1089. package/themes/single-business/src/components/OrderDetails/styles.tsx +120 -120
  1090. package/themes/single-business/src/components/OrderListOption/index.tsx +231 -231
  1091. package/themes/single-business/src/components/OrderListOption/styles.tsx +62 -62
  1092. package/themes/single-business/src/components/OrderSummary/index.tsx +267 -267
  1093. package/themes/single-business/src/components/OrderSummary/styles.tsx +40 -40
  1094. package/themes/single-business/src/components/OrderTypeSelector/index.tsx +126 -126
  1095. package/themes/single-business/src/components/OrderTypeSelector/styles.tsx +26 -26
  1096. package/themes/single-business/src/components/OrdersListing/index.tsx +112 -112
  1097. package/themes/single-business/src/components/OrdersOption/index.tsx +245 -245
  1098. package/themes/single-business/src/components/OrdersOption/styles.tsx +5 -5
  1099. package/themes/single-business/src/components/PaymentOptionCash/index.tsx +102 -102
  1100. package/themes/single-business/src/components/PaymentOptionCash/styles.tsx +18 -18
  1101. package/themes/single-business/src/components/PaymentOptionStripe/index.tsx +234 -234
  1102. package/themes/single-business/src/components/PaymentOptionStripe/styles.tsx +69 -69
  1103. package/themes/single-business/src/components/PaymentOptions/index.tsx +431 -431
  1104. package/themes/single-business/src/components/PaymentOptions/styles.tsx +74 -74
  1105. package/themes/single-business/src/components/PhoneInputNumber/index.tsx +118 -118
  1106. package/themes/single-business/src/components/PhoneInputNumber/styles.tsx +3 -3
  1107. package/themes/single-business/src/components/PreviousOrders/index.tsx +195 -195
  1108. package/themes/single-business/src/components/PreviousOrders/styles.tsx +33 -33
  1109. package/themes/single-business/src/components/ProductForm/index.tsx +694 -694
  1110. package/themes/single-business/src/components/ProductForm/styles.tsx +82 -82
  1111. package/themes/single-business/src/components/ProductIngredient/index.tsx +43 -43
  1112. package/themes/single-business/src/components/ProductIngredient/styles.tsx +7 -7
  1113. package/themes/single-business/src/components/ProductItemAccordion/index.tsx +276 -276
  1114. package/themes/single-business/src/components/ProductItemAccordion/styles.tsx +57 -57
  1115. package/themes/single-business/src/components/ProductOption/index.tsx +50 -50
  1116. package/themes/single-business/src/components/ProductOption/styles.tsx +11 -11
  1117. package/themes/single-business/src/components/ProductOptionSubOption/index.tsx +146 -146
  1118. package/themes/single-business/src/components/ProductOptionSubOption/styles.tsx +32 -32
  1119. package/themes/single-business/src/components/PromotionCard/index.tsx +103 -103
  1120. package/themes/single-business/src/components/PromotionCard/styles.tsx +28 -28
  1121. package/themes/single-business/src/components/Promotions/index.tsx +78 -78
  1122. package/themes/single-business/src/components/Promotions/styles.tsx +3 -3
  1123. package/themes/single-business/src/components/ReviewOrder/index.tsx +346 -346
  1124. package/themes/single-business/src/components/ReviewOrder/styles.tsx +44 -44
  1125. package/themes/single-business/src/components/SearchBar/index.tsx +108 -108
  1126. package/themes/single-business/src/components/SignupForm/index.tsx +642 -642
  1127. package/themes/single-business/src/components/SignupForm/styles.tsx +27 -27
  1128. package/themes/single-business/src/components/SingleProductCard/index.tsx +124 -124
  1129. package/themes/single-business/src/components/SingleProductCard/styles.tsx +23 -23
  1130. package/themes/single-business/src/components/StripeCardForm/index.tsx +97 -97
  1131. package/themes/single-business/src/components/StripeCardForm/naked.tsx +128 -128
  1132. package/themes/single-business/src/components/StripeCardForm/styles.tsx +32 -32
  1133. package/themes/single-business/src/components/StripeCardsList/index.tsx +143 -143
  1134. package/themes/single-business/src/components/StripeElementsForm/index.tsx +204 -204
  1135. package/themes/single-business/src/components/StripeElementsForm/naked.tsx +90 -90
  1136. package/themes/single-business/src/components/StripeElementsForm/styles.tsx +13 -13
  1137. package/themes/single-business/src/components/StripeRedirectForm/index.tsx +159 -159
  1138. package/themes/single-business/src/components/StripeRedirectForm/styles.tsx +23 -23
  1139. package/themes/single-business/src/components/TagSelector/index.tsx +94 -94
  1140. package/themes/single-business/src/components/TaxInformation/index.tsx +56 -56
  1141. package/themes/single-business/src/components/TaxInformation/styles.tsx +10 -10
  1142. package/themes/single-business/src/components/UpsellingProducts/index.tsx +259 -259
  1143. package/themes/single-business/src/components/UpsellingProducts/styles.tsx +57 -57
  1144. package/themes/single-business/src/components/UserDetails/index.tsx +130 -130
  1145. package/themes/single-business/src/components/UserDetails/styles.tsx +21 -21
  1146. package/themes/single-business/src/components/UserFormDetails/index.tsx +304 -304
  1147. package/themes/single-business/src/components/UserFormDetails/styles.tsx +37 -37
  1148. package/themes/single-business/src/components/UserProfile/index.tsx +185 -185
  1149. package/themes/single-business/src/components/UserProfile/styles.ts +42 -42
  1150. package/themes/single-business/src/components/UserProfileForm/index.tsx +254 -254
  1151. package/themes/single-business/src/components/UserProfileForm/styles.tsx +29 -29
  1152. package/themes/single-business/src/components/VerifyPhone/index.tsx +188 -188
  1153. package/themes/single-business/src/components/VerifyPhone/styles.tsx +43 -43
  1154. package/themes/single-business/src/components/shared/OAlert.tsx +55 -55
  1155. package/themes/single-business/src/components/shared/OBottomPopup.tsx +73 -73
  1156. package/themes/single-business/src/components/shared/OButton.tsx +132 -132
  1157. package/themes/single-business/src/components/shared/ODropDown.tsx +169 -169
  1158. package/themes/single-business/src/components/shared/OIcon.tsx +53 -53
  1159. package/themes/single-business/src/components/shared/OIconButton.tsx +127 -127
  1160. package/themes/single-business/src/components/shared/OIconText.tsx +53 -53
  1161. package/themes/single-business/src/components/shared/OInput.tsx +114 -114
  1162. package/themes/single-business/src/components/shared/OKeyButton.tsx +34 -34
  1163. package/themes/single-business/src/components/shared/OLink.tsx +80 -80
  1164. package/themes/single-business/src/components/shared/OModal.tsx +172 -172
  1165. package/themes/single-business/src/components/shared/OText.tsx +52 -52
  1166. package/themes/single-business/src/components/shared/OTextarea.tsx +36 -36
  1167. package/themes/single-business/src/components/shared/OToast.tsx +93 -93
  1168. package/themes/single-business/src/components/shared/OToggle.tsx +157 -157
  1169. package/themes/single-business/src/components/shared/index.tsx +33 -33
  1170. package/themes/single-business/src/config/constants.tsx +41 -41
  1171. package/themes/single-business/src/layouts/Container.tsx +23 -23
  1172. package/themes/single-business/src/layouts/SafeAreaContainer.tsx +6 -6
  1173. package/themes/single-business/src/providers/AlertProvider.tsx +43 -43
  1174. package/themes/single-business/src/providers/StoreUtil.tsx +50 -50
  1175. package/themes/single-business/src/types/index.tsx +445 -445
  1176. package/themes/single-business/src/utils/index.tsx +286 -286
  1177. package/themes/uber-eats/index.tsx +127 -127
  1178. package/themes/uber-eats/src/components/Account/index.tsx +201 -201
  1179. package/themes/uber-eats/src/components/Account/styles.tsx +21 -21
  1180. package/themes/uber-eats/src/components/ActiveOrders/index.tsx +135 -135
  1181. package/themes/uber-eats/src/components/ActiveOrders/styles.tsx +50 -50
  1182. package/themes/uber-eats/src/components/AddressDetails/index.tsx +71 -71
  1183. package/themes/uber-eats/src/components/AddressDetails/styles.tsx +13 -13
  1184. package/themes/uber-eats/src/components/AddressForm/index.tsx +715 -715
  1185. package/themes/uber-eats/src/components/AddressForm/styles.tsx +31 -31
  1186. package/themes/uber-eats/src/components/AddressList/index.tsx +315 -315
  1187. package/themes/uber-eats/src/components/AddressList/styles.tsx +23 -23
  1188. package/themes/uber-eats/src/components/BusinessBasicInformation/index.tsx +226 -226
  1189. package/themes/uber-eats/src/components/BusinessBasicInformation/styles.tsx +41 -41
  1190. package/themes/uber-eats/src/components/BusinessController/index.tsx +201 -201
  1191. package/themes/uber-eats/src/components/BusinessController/styles.tsx +58 -58
  1192. package/themes/uber-eats/src/components/BusinessInformation/index.tsx +101 -101
  1193. package/themes/uber-eats/src/components/BusinessInformation/styles.tsx +36 -36
  1194. package/themes/uber-eats/src/components/BusinessItemAccordion/index.tsx +145 -145
  1195. package/themes/uber-eats/src/components/BusinessItemAccordion/styles.tsx +61 -61
  1196. package/themes/uber-eats/src/components/BusinessProductsCategories/index.tsx +141 -141
  1197. package/themes/uber-eats/src/components/BusinessProductsCategories/styles.tsx +7 -7
  1198. package/themes/uber-eats/src/components/BusinessProductsList/index.tsx +195 -195
  1199. package/themes/uber-eats/src/components/BusinessProductsList/styles.tsx +13 -13
  1200. package/themes/uber-eats/src/components/BusinessProductsListing/index.tsx +411 -411
  1201. package/themes/uber-eats/src/components/BusinessProductsListing/styles.tsx +52 -52
  1202. package/themes/uber-eats/src/components/BusinessReviews/index.tsx +121 -121
  1203. package/themes/uber-eats/src/components/BusinessReviews/styles.tsx +33 -33
  1204. package/themes/uber-eats/src/components/BusinessTypeFilter/index.tsx +194 -194
  1205. package/themes/uber-eats/src/components/BusinessTypeFilter/styles.tsx +28 -28
  1206. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +247 -247
  1207. package/themes/uber-eats/src/components/BusinessesListing/styles.tsx +62 -62
  1208. package/themes/uber-eats/src/components/Cart/index.tsx +346 -346
  1209. package/themes/uber-eats/src/components/Cart/styles.tsx +26 -26
  1210. package/themes/uber-eats/src/components/CartContent/index.tsx +50 -50
  1211. package/themes/uber-eats/src/components/CartContent/styles.tsx +19 -19
  1212. package/themes/uber-eats/src/components/Checkout/index.tsx +709 -709
  1213. package/themes/uber-eats/src/components/Checkout/styles.tsx +72 -72
  1214. package/themes/uber-eats/src/components/CouponControl/index.tsx +120 -120
  1215. package/themes/uber-eats/src/components/CouponControl/styles.tsx +22 -22
  1216. package/themes/uber-eats/src/components/DriverTips/index.tsx +167 -167
  1217. package/themes/uber-eats/src/components/DriverTips/styles.tsx +47 -47
  1218. package/themes/uber-eats/src/components/FacebookLogin/index.tsx +124 -124
  1219. package/themes/uber-eats/src/components/FacebookLogin/styles.tsx +21 -21
  1220. package/themes/uber-eats/src/components/FloatingButton/index.tsx +74 -74
  1221. package/themes/uber-eats/src/components/FloatingButton/styles.tsx +31 -31
  1222. package/themes/uber-eats/src/components/GoogleMap/index.tsx +236 -236
  1223. package/themes/uber-eats/src/components/Help/index.tsx +54 -54
  1224. package/themes/uber-eats/src/components/Help/styles.tsx +11 -11
  1225. package/themes/uber-eats/src/components/HelpAccountAndPayment/index.tsx +67 -67
  1226. package/themes/uber-eats/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  1227. package/themes/uber-eats/src/components/HelpGuide/index.tsx +66 -66
  1228. package/themes/uber-eats/src/components/HelpGuide/styles.tsx +6 -6
  1229. package/themes/uber-eats/src/components/HelpOrder/index.tsx +78 -78
  1230. package/themes/uber-eats/src/components/HelpOrder/styles.tsx +5 -5
  1231. package/themes/uber-eats/src/components/HighestRatedBusinesses/index.tsx +132 -132
  1232. package/themes/uber-eats/src/components/HighestRatedBusinesses/styles.tsx +6 -6
  1233. package/themes/uber-eats/src/components/Home/index.tsx +117 -117
  1234. package/themes/uber-eats/src/components/Home/styles.tsx +13 -13
  1235. package/themes/uber-eats/src/components/LanguageSelector/index.tsx +154 -154
  1236. package/themes/uber-eats/src/components/LanguageSelector/styles.tsx +18 -18
  1237. package/themes/uber-eats/src/components/LastOrders/index.tsx +104 -104
  1238. package/themes/uber-eats/src/components/LastOrders/styles.tsx +17 -17
  1239. package/themes/uber-eats/src/components/LoginForm/index.tsx +440 -440
  1240. package/themes/uber-eats/src/components/LoginForm/styles.tsx +65 -65
  1241. package/themes/uber-eats/src/components/LogoutButton/index.tsx +67 -67
  1242. package/themes/uber-eats/src/components/Messages/index.tsx +422 -422
  1243. package/themes/uber-eats/src/components/Messages/styles.tsx +23 -23
  1244. package/themes/uber-eats/src/components/MomentOption/index.tsx +211 -211
  1245. package/themes/uber-eats/src/components/MomentOption/styles.tsx +66 -66
  1246. package/themes/uber-eats/src/components/NavBar/index.tsx +122 -122
  1247. package/themes/uber-eats/src/components/NotFoundSource/index.tsx +55 -55
  1248. package/themes/uber-eats/src/components/NotFoundSource/styles.tsx +16 -16
  1249. package/themes/uber-eats/src/components/OrderDetails/index.tsx +513 -513
  1250. package/themes/uber-eats/src/components/OrderDetails/styles.tsx +140 -140
  1251. package/themes/uber-eats/src/components/OrderSummary/index.tsx +266 -266
  1252. package/themes/uber-eats/src/components/OrderSummary/styles.tsx +36 -36
  1253. package/themes/uber-eats/src/components/OrderTypeSelector/index.tsx +130 -130
  1254. package/themes/uber-eats/src/components/OrderTypeSelector/styles.tsx +6 -6
  1255. package/themes/uber-eats/src/components/OrdersOption/index.tsx +225 -225
  1256. package/themes/uber-eats/src/components/OrdersOption/styles.tsx +3 -3
  1257. package/themes/uber-eats/src/components/PaymentOptionCash/index.tsx +102 -102
  1258. package/themes/uber-eats/src/components/PaymentOptionCash/styles.tsx +18 -18
  1259. package/themes/uber-eats/src/components/PaymentOptionStripe/index.tsx +232 -232
  1260. package/themes/uber-eats/src/components/PaymentOptionStripe/styles.tsx +62 -62
  1261. package/themes/uber-eats/src/components/PaymentOptions/index.tsx +547 -547
  1262. package/themes/uber-eats/src/components/PaymentOptions/styles.tsx +41 -41
  1263. package/themes/uber-eats/src/components/PhoneInputNumber/index.tsx +108 -108
  1264. package/themes/uber-eats/src/components/PhoneInputNumber/styles.tsx +4 -4
  1265. package/themes/uber-eats/src/components/PreviousOrders/index.tsx +149 -149
  1266. package/themes/uber-eats/src/components/PreviousOrders/styles.tsx +34 -34
  1267. package/themes/uber-eats/src/components/ProductForm/index.tsx +480 -480
  1268. package/themes/uber-eats/src/components/ProductForm/styles.tsx +91 -91
  1269. package/themes/uber-eats/src/components/ProductIngredient/index.tsx +44 -44
  1270. package/themes/uber-eats/src/components/ProductIngredient/styles.tsx +7 -7
  1271. package/themes/uber-eats/src/components/ProductItemAccordion/index.tsx +252 -252
  1272. package/themes/uber-eats/src/components/ProductItemAccordion/styles.tsx +61 -61
  1273. package/themes/uber-eats/src/components/ProductOption/index.tsx +109 -109
  1274. package/themes/uber-eats/src/components/ProductOption/styles.tsx +27 -27
  1275. package/themes/uber-eats/src/components/ProductOptionSubOption/index.tsx +159 -159
  1276. package/themes/uber-eats/src/components/ProductOptionSubOption/styles.tsx +32 -32
  1277. package/themes/uber-eats/src/components/SearchBar/index.tsx +106 -106
  1278. package/themes/uber-eats/src/components/SignupForm/index.tsx +574 -574
  1279. package/themes/uber-eats/src/components/SignupForm/styles.tsx +29 -29
  1280. package/themes/uber-eats/src/components/SingleProductCard/index.tsx +88 -88
  1281. package/themes/uber-eats/src/components/SingleProductCard/styles.tsx +26 -26
  1282. package/themes/uber-eats/src/components/StripeCardsList/index.tsx +144 -144
  1283. package/themes/uber-eats/src/components/StripeElementsForm/index.tsx +188 -188
  1284. package/themes/uber-eats/src/components/StripeElementsForm/naked.tsx +90 -90
  1285. package/themes/uber-eats/src/components/StripeElementsForm/styles.tsx +9 -9
  1286. package/themes/uber-eats/src/components/TaxInformation/index.tsx +51 -51
  1287. package/themes/uber-eats/src/components/TaxInformation/styles.tsx +9 -9
  1288. package/themes/uber-eats/src/components/UpsellingProducts/index.tsx +189 -189
  1289. package/themes/uber-eats/src/components/UpsellingProducts/styles.tsx +37 -37
  1290. package/themes/uber-eats/src/components/UserDetails/index.tsx +125 -125
  1291. package/themes/uber-eats/src/components/UserDetails/styles.tsx +21 -21
  1292. package/themes/uber-eats/src/components/UserFormDetails/index.tsx +304 -304
  1293. package/themes/uber-eats/src/components/UserFormDetails/styles.tsx +38 -38
  1294. package/themes/uber-eats/src/components/UserProfileForm/index.tsx +106 -106
  1295. package/themes/uber-eats/src/components/UserProfileForm/styles.tsx +37 -37
  1296. package/themes/uber-eats/src/components/VerifyPhone/index.tsx +187 -187
  1297. package/themes/uber-eats/src/components/VerifyPhone/styles.tsx +43 -43
  1298. package/themes/uber-eats/src/components/shared/OAlert.tsx +53 -53
  1299. package/themes/uber-eats/src/components/shared/OBottomPopup.tsx +118 -118
  1300. package/themes/uber-eats/src/components/shared/OButton.tsx +133 -133
  1301. package/themes/uber-eats/src/components/shared/ODropDown.tsx +168 -168
  1302. package/themes/uber-eats/src/components/shared/OIcon.tsx +53 -53
  1303. package/themes/uber-eats/src/components/shared/OIconButton.tsx +134 -134
  1304. package/themes/uber-eats/src/components/shared/OInput.tsx +122 -122
  1305. package/themes/uber-eats/src/components/shared/OModal.tsx +151 -151
  1306. package/themes/uber-eats/src/components/shared/OText.tsx +52 -52
  1307. package/themes/uber-eats/src/components/shared/OToast.tsx +94 -94
  1308. package/themes/uber-eats/src/components/shared/index.tsx +22 -22
  1309. package/themes/uber-eats/src/config/constants.tsx +10 -10
  1310. package/themes/uber-eats/src/layouts/Container.tsx +26 -26
  1311. package/themes/uber-eats/src/layouts/SafeAreaContainer.tsx +6 -6
  1312. package/themes/uber-eats/src/providers/AlertProvider.tsx +43 -43
  1313. package/themes/uber-eats/src/providers/StoreUtil.tsx +58 -58
  1314. package/themes/uber-eats/src/types/@stripe/stripe-react-native/index.d.ts +1 -1
  1315. package/themes/uber-eats/src/types/index.tsx +451 -451
  1316. package/themes/uber-eats/src/types/ordering-api-sdk/index.d.ts +1 -1
  1317. package/themes/uber-eats/src/types/ordering-components/index.d.ts +1 -1
  1318. package/themes/uber-eats/src/types/react-hook-form/index.d.ts +1 -1
  1319. package/themes/uber-eats/src/types/react-native-credit-card-input/index.d.ts +1 -1
  1320. package/themes/uber-eats/src/types/react-native-fbsdk/index.d.ts +1 -1
  1321. package/themes/uber-eats/src/types/react-native-gesture-handler/index.d.ts +1 -1
  1322. package/themes/uber-eats/src/types/react-native-gifted-chat/index.d.ts +1 -1
  1323. package/themes/uber-eats/src/types/react-native-image-picker/index.d.ts +1 -1
  1324. package/themes/uber-eats/src/types/react-native-restart/index.d.ts +1 -1
  1325. package/themes/uber-eats/src/types/styled-components/index.d.ts +1 -1
  1326. package/themes/uber-eats/src/utils/index.tsx +191 -191
  1327. package/src/navigators/BottomNavigator.tsx +0 -117
  1328. package/src/navigators/CheckoutNavigator.tsx +0 -66
  1329. package/src/navigators/HomeNavigator.tsx +0 -202
  1330. package/src/navigators/NavigationRef.tsx +0 -7
  1331. package/src/navigators/RootNavigator.tsx +0 -269
  1332. package/src/pages/Account.tsx +0 -34
  1333. package/src/pages/AddressForm.tsx +0 -62
  1334. package/src/pages/AddressList.tsx +0 -24
  1335. package/src/pages/BusinessProductsList.tsx +0 -81
  1336. package/src/pages/BusinessesListing.tsx +0 -43
  1337. package/src/pages/CartList.tsx +0 -49
  1338. package/src/pages/Checkout.tsx +0 -101
  1339. package/src/pages/ForgotPassword.tsx +0 -24
  1340. package/src/pages/Help.tsx +0 -23
  1341. package/src/pages/HelpAccountAndPayment.tsx +0 -23
  1342. package/src/pages/HelpGuide.tsx +0 -23
  1343. package/src/pages/HelpOrder.tsx +0 -23
  1344. package/src/pages/Home.tsx +0 -36
  1345. package/src/pages/IntroductoryTutorial.tsx +0 -170
  1346. package/src/pages/Login.tsx +0 -47
  1347. package/src/pages/MomentOption.tsx +0 -30
  1348. package/src/pages/MultiCheckout.tsx +0 -31
  1349. package/src/pages/MultiOrdersDetails.tsx +0 -27
  1350. package/src/pages/MyOrders.tsx +0 -40
  1351. package/src/pages/NetworkError.tsx +0 -24
  1352. package/src/pages/NotFound.tsx +0 -22
  1353. package/src/pages/OrderDetails.tsx +0 -25
  1354. package/src/pages/ProductDetails.tsx +0 -55
  1355. package/src/pages/Profile.tsx +0 -36
  1356. package/src/pages/ReviewDriver.tsx +0 -30
  1357. package/src/pages/ReviewOrder.tsx +0 -32
  1358. package/src/pages/ReviewProducts.tsx +0 -30
  1359. package/src/pages/Sessions.tsx +0 -22
  1360. package/src/pages/Signup.tsx +0 -53
  1361. package/src/pages/SpinnerLoader.tsx +0 -10
  1362. package/src/pages/Splash.tsx +0 -21
@@ -1,643 +1,686 @@
1
- import React, { useState, useEffect, useRef } from 'react'
2
- import { useTheme } from 'styled-components/native'
3
- import { Platform, View, StyleSheet, Dimensions, ScrollView, TouchableOpacity } from 'react-native'
4
- import { OText, OButton, OModal, OIcon } from '../shared'
5
- import FastImage from 'react-native-fast-image'
6
- import IconAntDesign from 'react-native-vector-icons/AntDesign'
7
- import SelectDropdown from 'react-native-select-dropdown'
8
- import moment from 'moment'
9
- import CalendarPicker from 'react-native-calendar-picker'
10
- import FeatherIcon from 'react-native-vector-icons/Feather';
11
- import { useSafeAreaInsets } from 'react-native-safe-area-context'
12
- import { ServiceFormParams } from '../../types'
13
- import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
14
-
15
- import {
16
- ProductForm as ProductFormController,
17
- useUtils,
18
- useLanguage,
19
- useConfig,
20
- useOrder,
21
- useSession
22
- } from 'ordering-components/native'
23
-
24
- import {
25
- Container,
26
- ProfessionalPhoto,
27
- InfoWrapper,
28
- Divider,
29
- ProfessionalWrapper,
30
- ScheduleWrapper,
31
- CalendarWrapper,
32
- ButtonWrapper
33
- } from './styles'
34
-
35
- const screenWidth = Dimensions.get('window').width
36
-
37
- const ServiceFormUI = (props: ServiceFormParams) => {
38
- const {
39
- professionalSelected,
40
- productObject,
41
- handleSave,
42
- productCart,
43
- navigation,
44
- isSoldOut,
45
- maxProductQuantity,
46
- onClose,
47
- professionalListState,
48
- isCartProduct
49
- } = props
50
-
51
- const theme = useTheme()
52
- const [, t] = useLanguage()
53
- const [{ optimizeImage, parsePrice, parseDate }] = useUtils()
54
- const { top } = useSafeAreaInsets()
55
- const [{ configs }] = useConfig()
56
- const [orderState] = useOrder()
57
- const [{ auth }] = useSession()
58
- const { product, loading, error } = productObject;
59
-
60
- const [selectDate, setSelectedDate] = useState<any>(new Date())
61
- const [timeList, setTimeList] = useState<any>([])
62
- const [isEnabled, setIsEnabled] = useState(false)
63
- const [timeSelected, setTimeSelected] = useState<string | null>(null)
64
- const [dateSelected, setDateSelected] = useState<any>(null)
65
- const [isOpen, setIsOpen] = useState(false)
66
- const [currentProfessional, setCurrentProfessional] = useState<any>(null)
67
-
68
- const dropdownRef = useRef<any>(null)
69
-
70
- const styles = StyleSheet.create({
71
- photoStyle: {
72
- width: 45,
73
- height: 45,
74
- borderRadius: 7.6
75
- },
76
- buttonStyle: {
77
- borderRadius: 7.6,
78
- height: 44,
79
- borderWidth: 0
80
- },
81
- professionalSelect: {
82
- borderRadius: 7.6,
83
- padding: 11,
84
- borderWidth: 1,
85
- borderColor: theme.colors.backgroundGray200,
86
- flexDirection: 'row',
87
- alignItems: 'center',
88
- justifyContent: 'space-between'
89
- },
90
- professionalItem: {
91
- paddingVertical: 11,
92
- borderColor: theme.colors.backgroundGray200,
93
- borderTopWidth: 1
94
- },
95
- selectOption: {
96
- width: '100%',
97
- backgroundColor: theme.colors.backgroundGray100,
98
- paddingVertical: 5,
99
- paddingHorizontal: 14,
100
- flexDirection: 'row-reverse',
101
- alignItems: 'center',
102
- justifyContent: 'space-between',
103
- height: 40,
104
- marginBottom: 30
105
- },
106
- professionalList: {
107
- paddingHorizontal: 40,
108
- paddingVertical: 30
109
- }
110
- })
111
-
112
- const isBusyTime = (professional: any) => {
113
- if (professional?.busy_times?.length === 0 || !dateSelected) return false
114
- const duration = product?.duration ?? 0
115
- const busyTimes = isCartProduct
116
- ? professional?.busy_times.filter((item: any) => !(item.start === productCart?.calendar_event?.start && item.end === productCart?.calendar_event?.end))
117
- : [...professional?.busy_times]
118
- const valid = busyTimes.some((item: any) => {
119
- return (moment.utc(item?.start).local().valueOf() <= moment(dateSelected).valueOf() &&
120
- moment(dateSelected).valueOf() <= moment.utc(item?.end).local().valueOf()) ||
121
- (moment.utc(item?.start).local().valueOf() <= moment(dateSelected).add(duration, 'minutes').valueOf() &&
122
- moment(dateSelected).add(duration, 'minutes').valueOf() <= moment.utc(item?.end).local().valueOf())
123
- })
124
- return valid
125
- }
126
-
127
- const onDateChange = (date: any) => {
128
- setSelectedDate(date)
129
- setTimeSelected(null)
130
- dropdownRef?.current && dropdownRef.current.reset()
131
- }
132
-
133
- const dropDownIcon = () => {
134
- return (
135
- <IconAntDesign
136
- name='down'
137
- color={theme.colors.textThird}
138
- size={12}
139
- />
140
- )
141
- }
142
-
143
- const customDayHeaderStylesCallback = () => {
144
- return {
145
- textStyle: {
146
- color: theme.colors.disabled,
147
- fontSize: 12,
148
- },
149
- };
150
- };
151
-
152
- const handleSaveService = () => {
153
- const updated = {
154
- serviceTime: moment(dateSelected).utc().format('YYYY-MM-DD HH:mm:00'),
155
- professional: currentProfessional
156
- }
157
- handleSave && handleSave(updated)
158
- }
159
-
160
- const validateSelectedDate = (curdate: any, menu: any) => {
161
- const day = moment(curdate).format('d')
162
- setIsEnabled(menu?.schedule?.[day]?.enabled || false)
163
- }
164
-
165
- const handleRedirectLogin = () => {
166
- navigation && navigation.navigate('Login', {
167
- store_slug: props.businessSlug
168
- });
169
- onClose && onClose()
170
- };
171
-
172
- const getTimes = (curdate: any, menu: any) => {
173
- validateSelectedDate(curdate, menu)
174
- const date = new Date()
175
- var dateSeleted = new Date(curdate)
176
- var times = []
177
- for (var k = 0; k < menu.schedule[dateSeleted.getDay()].lapses.length; k++) {
178
- var open = {
179
- hour: menu.schedule[dateSeleted.getDay()].lapses[k].open.hour,
180
- minute: menu.schedule[dateSeleted.getDay()].lapses[k].open.minute
181
- }
182
- var close = {
183
- hour: menu.schedule[dateSeleted.getDay()].lapses[k].close.hour,
184
- minute: menu.schedule[dateSeleted.getDay()].lapses[k].close.minute
185
- }
186
- for (var i = open.hour; i <= close.hour; i++) {
187
- if (date.getDate() !== dateSeleted.getDate() || i >= date.getHours()) {
188
- let hour = ''
189
- let meridian = ''
190
- if (configs?.format_time?.value === '12') {
191
- if (i === 0) {
192
- hour = '12'
193
- meridian = ' ' + t('AM', 'AM')
194
- } else if (i > 0 && i < 12) {
195
- hour = (i < 10 ? '0' + i : i)
196
- meridian = ' ' + t('AM', 'AM')
197
- } else if (i === 12) {
198
- hour = '12'
199
- meridian = ' ' + t('PM', 'PM')
200
- } else {
201
- hour = ((i - 12 < 10) ? '0' + (i - 12) : `${(i - 12)}`)
202
- meridian = ' ' + t('PM', 'PM')
203
- }
204
- } else {
205
- hour = i < 10 ? '0' + i : i
206
- }
207
- for (let j = (i === open.hour ? open.minute : 0); j <= (i === close.hour ? close.minute : 59); j += 15) {
208
- if (i !== date.getHours() || j >= date.getMinutes() || date.getDate() !== dateSeleted.getDate()) {
209
- times.push({
210
- text: hour + ':' + (j < 10 ? '0' + j : j) + meridian,
211
- value: (i < 10 ? '0' + i : i) + ':' + (j < 10 ? '0' + j : j)
212
- })
213
- }
214
- }
215
- }
216
- }
217
- }
218
- return times
219
- }
220
-
221
- const addressRedirect = () => {
222
- navigation && navigation.navigate('AddressList')
223
- onClose && onClose()
224
- }
225
-
226
- const handleChangeProfessional = (professional: any) => {
227
- setCurrentProfessional(professional)
228
- setIsOpen(false)
229
- }
230
-
231
- useEffect(() => {
232
- if (selectDate === null || currentProfessional === null) return
233
- const _times = getTimes(selectDate, currentProfessional)
234
- setTimeList(_times)
235
- }, [selectDate, currentProfessional])
236
-
237
- useEffect(() => {
238
- if (!selectDate || !timeSelected) {
239
- setDateSelected(null)
240
- return
241
- }
242
- const date = `${moment(selectDate).format('YYYY-MM-DD')} ${timeSelected}:00`
243
- setDateSelected(date)
244
- }, [selectDate, timeSelected])
245
-
246
- useEffect(() => {
247
- if (!professionalSelected?.schedule) return
248
- setCurrentProfessional(professionalSelected)
249
- }, [professionalSelected])
250
-
251
- useEffect(() => {
252
- if (isCartProduct && professionalListState?.professionals?.length > 0) {
253
- const professional = professionalListState?.professionals?.find((item: any) => item.id === professionalSelected?.id)
254
- setCurrentProfessional(professional)
255
- }
256
- }, [isCartProduct, professionalListState?.professionals])
257
-
258
- useEffect(() => {
259
- if (!productCart?.calendar_event?.start) return
260
- setSelectedDate(moment.utc(productCart?.calendar_event?.start).local())
261
- setTimeSelected(moment.utc(productCart?.calendar_event?.start).local().format('HH:mm'))
262
- }, [productCart])
263
-
264
- return (
265
- <>
266
- {loading && !error && (
267
- <Placeholder Animation={Fade}>
268
- <PlaceholderLine
269
- height={258}
270
- style={{ borderRadius: 0 }}
271
- width={screenWidth}
272
- />
273
- </Placeholder>
274
- )}
275
- {!loading && !error && (
276
- <Container>
277
- {!!product?.images ? (
278
- <ProfessionalPhoto
279
- source={{
280
- uri: product?.images
281
- }}
282
- />
283
- ) : (
284
- <OIcon
285
- src={theme?.images?.dummies?.product}
286
- cover={false}
287
- style={{ alignSelf: 'center' }}
288
- width={200}
289
- height={200}
290
- />
291
- )}
292
- <InfoWrapper>
293
- <OText
294
- size={20}
295
- style={{ marginBottom: 4 }}
296
- weight={Platform.OS === 'ios' ? '600' : 'bold'}
297
- >
298
- {product?.name}
299
- </OText>
300
- <OText
301
- size={16}
302
- style={{ marginBottom: 10 }}
303
- weight={'400'}
304
- >
305
- {parsePrice(product?.price)} {product?.duration}min
306
- </OText>
307
- <OText
308
- size={14}
309
- weight={'400'}
310
- color={theme?.colors?.disabled}
311
- >
312
- {product?.description}
313
- </OText>
314
- </InfoWrapper>
315
- <Divider />
316
- <ProfessionalWrapper>
317
- <View
318
- style={{
319
- flexDirection: 'row',
320
- justifyContent: 'space-between',
321
- alignItems: 'center',
322
- marginBottom: 23
323
- }}
324
- >
325
- <OText
326
- size={16}
327
- weight={Platform.OS === 'ios' ? '600' : 'bold'}
328
- >
329
- {t('PROFESSIONAL', 'Professional')}
330
- </OText>
331
- <OText
332
- size={10}
333
- weight={'400'}
334
- color={theme.colors?.danger5}
335
- >
336
- {t('REQUIRED', 'Required')}
337
- </OText>
338
- </View>
339
- <TouchableOpacity
340
- style={styles.professionalSelect}
341
- onPress={() => setIsOpen(true)}
342
- >
343
- {!!currentProfessional ? (
344
- <>
345
- <View style={{ flexDirection: 'row' }}>
346
- {!!currentProfessional?.photo ? (
347
- <FastImage
348
- style={styles.photoStyle}
349
- source={{
350
- uri: optimizeImage(currentProfessional?.photo, 'h_250,c_limit'),
351
- priority: FastImage.priority.normal,
352
- }}
353
- resizeMode={FastImage.resizeMode.cover}
354
- />
355
- ) : (
356
- <OIcon
357
- src={theme?.images?.general?.user}
358
- cover={false}
359
- style={styles.photoStyle}
360
- />
361
- )}
362
- <View style={{ marginLeft: 14 }}>
363
- <OText
364
- size={14}
365
- weight={'400'}
366
- lineHeight={22}
367
- >
368
- {currentProfessional?.name} {currentProfessional?.lastname}
369
- </OText>
370
- <OText
371
- size={12}
372
- weight={'400'}
373
- lineHeight={17}
374
- color={isBusyTime(currentProfessional) ? theme.colors.danger5 : theme.colors.success500}
375
- >
376
- {isBusyTime(currentProfessional)
377
- ? t('BUSY_ON_SELECTED_TIME', 'Busy on selected time')
378
- : t('AVAILABLE', 'Available')
379
- }
380
- </OText>
381
- </View>
382
- </View>
383
- </>
384
- ) : (
385
- <OText size={12}>{t('SELECT_PROFESSIONAL', 'Select professional')}</OText>
386
- )}
387
- <View style={{ marginLeft: 5 }}>
388
- <IconAntDesign
389
- name='down'
390
- color={theme.colors.textThird}
391
- size={12}
392
- />
393
- </View>
394
- </TouchableOpacity>
395
- </ProfessionalWrapper>
396
- <ScheduleWrapper>
397
- <View
398
- style={{
399
- flexDirection: 'row',
400
- justifyContent: 'space-between',
401
- alignItems: 'center',
402
- marginBottom: 23
403
- }}
404
- >
405
- <OText
406
- size={16}
407
- weight={Platform.OS === 'ios' ? '600' : 'bold'}
408
- >
409
- {t('SCHEDULE', 'Schedule')}
410
- </OText>
411
- <OText
412
- size={10}
413
- weight={'400'}
414
- color={theme.colors?.danger5}
415
- >
416
- {t('REQUIRED', 'Required')}
417
- </OText>
418
- </View>
419
- {!!currentProfessional?.schedule ? (
420
- <CalendarWrapper>
421
- {(timeList?.length > 0 && isEnabled) ? (
422
- <SelectDropdown
423
- ref={dropdownRef}
424
- defaultValueByIndex={timeList.findIndex((item: any) => item.value === timeSelected)}
425
- data={timeList}
426
- onSelect={(selectedItem, index) => {
427
- setTimeSelected(selectedItem?.value)
428
- }}
429
- buttonTextAfterSelection={(selectedItem, index) => {
430
- return selectedItem?.text
431
- }}
432
- rowTextForSelection={(item, index) => {
433
- return item.text
434
- }}
435
- buttonStyle={{borderRadius: 7.6, ...styles.selectOption}}
436
- buttonTextStyle={{
437
- color: theme.colors.disabled,
438
- fontSize: 14,
439
- textAlign: 'left',
440
- marginHorizontal: 0
441
- }}
442
- dropdownStyle={{
443
- borderRadius: 8,
444
- borderColor: theme.colors.lightGray,
445
- marginTop: Platform.OS === 'ios' ? 12 : -top
446
- }}
447
- rowStyle={{
448
- borderBottomColor: theme.colors.backgroundGray100,
449
- backgroundColor: theme.colors.backgroundGray100,
450
- height: 30,
451
- flexDirection: 'column',
452
- alignItems: 'flex-start',
453
- paddingTop: 8,
454
- paddingHorizontal: 12
455
- }}
456
- rowTextStyle={{
457
- color: theme.colors.disabled,
458
- fontSize: 14,
459
- marginHorizontal: 0
460
- }}
461
- renderDropdownIcon={() => dropDownIcon()}
462
- dropdownOverlayColor='transparent'
463
- />
464
- ) : (
465
- <OText
466
- size={12}
467
- style={{ marginBottom: 30 }}
468
- weight={'400'}
469
- color={theme.colors?.danger5}
470
- >
471
- {t('PROFESSIONAL_NOT_AVAILABLE', 'Professional is not available at the moment')}
472
- </OText>
473
- )}
474
- <CalendarPicker
475
- previousComponent={
476
- <FeatherIcon
477
- name='chevron-left'
478
- color={theme.colors.disabled}
479
- size={24}
480
- style={{ marginHorizontal: 4 }}
481
- />
482
- }
483
- nextComponent={
484
- <FeatherIcon
485
- name='chevron-right'
486
- color={theme.colors.disabled}
487
- size={24}
488
- style={{ marginHorizontal: 4 }}
489
- />
490
- }
491
- width={screenWidth - 110}
492
- selectedDayTextColor={theme.colors.white}
493
- selectedDayColor={theme.colors.primary}
494
- todayBackgroundColor={theme.colors.border}
495
- dayLabelsWrapper={{ borderColor: theme.colors.clear }}
496
- onDateChange={onDateChange}
497
- minDate={new Date()}
498
- customDayHeaderStyles={customDayHeaderStylesCallback}
499
- selectedStartDate={selectDate}
500
- />
501
- </CalendarWrapper>
502
- ) : (
503
- <OText
504
- size={16}
505
- style={{ marginBottom: 30, textAlign: 'center' }}
506
- color={theme?.colors?.disabled}
507
- weight={Platform.OS === 'ios' ? '600' : 'bold'}
508
- >
509
- {t('NO_SCHEDULE', 'No schedule')}
510
- </OText>
511
- )}
512
- </ScheduleWrapper>
513
- <ButtonWrapper>
514
- <OText
515
- size={14}
516
- weight={Platform.OS === 'ios' ? '600' : 'bold'}
517
- >
518
- {dateSelected && moment(dateSelected).format('hh:mm A')}
519
- </OText>
520
- {((productCart &&
521
- auth &&
522
- orderState.options?.address_id)) && (
523
- <OButton
524
- bgColor={theme.colors.primary}
525
- onClick={() => handleSaveService()}
526
- text={orderState.loading
527
- ? t('LOADING', 'Loading')
528
- : ((isSoldOut || maxProductQuantity <= 0)
529
- ? t('SOLD_OUT', 'Sold out')
530
- : t('BOOK', 'Book'))}
531
- style={styles.buttonStyle}
532
- isDisabled={isSoldOut || maxProductQuantity <= 0 || !currentProfessional?.id || !dateSelected || isBusyTime(currentProfessional)}
533
- textStyle={{ fontSize: 14, color: theme.colors.white }}
534
- />
535
- )}
536
- {auth &&
537
- !orderState.options?.address_id &&
538
- (orderState.loading ? (
539
- <OButton
540
- isDisabled
541
- text={t('LOADING', 'Loading')}
542
- imgRightSrc=""
543
- textStyle={{ fontSize: 10 }}
544
- />
545
- ) : (
546
- <OButton onClick={() => addressRedirect()} />
547
- ))}
548
- {!auth && (
549
- <OButton
550
- isDisabled={isSoldOut || maxProductQuantity <= 0}
551
- onClick={() => handleRedirectLogin()}
552
- text={
553
- isSoldOut || maxProductQuantity <= 0
554
- ? t('SOLD_OUT', 'Sold out')
555
- : t('LOGIN_SIGNUP', 'Login / Sign Up')
556
- }
557
- imgRightSrc=""
558
- textStyle={{ color: theme.colors.primary, fontSize: 14 }}
559
- style={{
560
- height: 44,
561
- borderColor: theme.colors.primary,
562
- backgroundColor: theme.colors.white,
563
- }}
564
- />
565
- )}
566
- </ButtonWrapper>
567
- </Container>
568
- )}
569
-
570
- <OModal
571
- open={isOpen}
572
- onClose={() => setIsOpen(false)}
573
- entireModal
574
- >
575
- <ScrollView contentContainerStyle={styles.professionalList}>
576
- <View style={{ paddingVertical: 11 }}>
577
- <OText
578
- size={14}
579
- weight={'400'}
580
- >
581
- {t('ANY_OROFESSIONAL_MEMBER', 'Any professional member')}
582
- </OText>
583
- </View>
584
- {professionalListState?.professionals?.map((professional: any) => (
585
- <TouchableOpacity
586
- key={professional?.id}
587
- style={styles.professionalItem}
588
- onPress={() => handleChangeProfessional(professional)}
589
- >
590
- <View style={{ flexDirection: 'row' }}>
591
- {!!professional?.photo ? (
592
- <FastImage
593
- style={styles.photoStyle}
594
- source={{
595
- uri: optimizeImage(professional?.photo, 'h_250,c_limit'),
596
- priority: FastImage.priority.normal,
597
- }}
598
- resizeMode={FastImage.resizeMode.cover}
599
- />
600
- ) : (
601
- <OIcon
602
- src={theme?.images?.general?.user}
603
- cover={false}
604
- style={styles.photoStyle}
605
- />
606
- )}
607
- <View style={{ marginLeft: 14 }}>
608
- <OText
609
- size={14}
610
- weight={'400'}
611
- lineHeight={22}
612
- >
613
- {professional?.name} {professional?.lastname}
614
- </OText>
615
- <OText
616
- size={12}
617
- weight={'400'}
618
- lineHeight={17}
619
- color={isBusyTime(professional) ? theme.colors.danger5 : theme.colors.success500}
620
- >
621
- {isBusyTime(professional)
622
- ? t('BUSY_ON_SELECTED_TIME', 'Busy on selected time')
623
- : t('AVAILABLE', 'Available')
624
- }
625
- </OText>
626
- </View>
627
- </View>
628
- </TouchableOpacity>
629
- ))}
630
- </ScrollView>
631
- </OModal>
632
- </>
633
- )
634
- }
635
-
636
- export const ServiceForm = (props: any) => {
637
- const serviceFormProps = {
638
- ...props,
639
- UIComponent: ServiceFormUI,
640
- isService: true
641
- }
642
- return <ProductFormController {...serviceFormProps} />
643
- }
1
+ import React, { useState, useEffect, useRef } from 'react'
2
+ import { useTheme } from 'styled-components/native'
3
+ import { Platform, View, StyleSheet, Dimensions, ScrollView, TouchableOpacity, Text } from 'react-native'
4
+ import { OText, OButton, OModal, OIcon } from '../shared'
5
+ import FastImage from 'react-native-fast-image'
6
+ import IconAntDesign from 'react-native-vector-icons/AntDesign'
7
+ import SelectDropdown from 'react-native-select-dropdown'
8
+ import moment from 'moment'
9
+ import CalendarPicker from 'react-native-calendar-picker'
10
+ import FeatherIcon from 'react-native-vector-icons/Feather';
11
+ import { useSafeAreaInsets } from 'react-native-safe-area-context'
12
+ import { ServiceFormParams } from '../../types'
13
+ import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
14
+ import uuid from 'react-native-uuid';
15
+ import { orderTypeList } from '../../utils'
16
+
17
+ import {
18
+ ProductForm as ProductFormController,
19
+ useUtils,
20
+ useLanguage,
21
+ useConfig,
22
+ useOrder,
23
+ useSession
24
+ } from 'ordering-components/native'
25
+
26
+ import {
27
+ Container,
28
+ ProfessionalPhoto,
29
+ InfoWrapper,
30
+ Divider,
31
+ ProfessionalWrapper,
32
+ ScheduleWrapper,
33
+ CalendarWrapper,
34
+ ButtonWrapper
35
+ } from './styles'
36
+
37
+ const screenWidth = Dimensions.get('window').width
38
+
39
+ const ServiceFormUI = (props: ServiceFormParams) => {
40
+ const {
41
+ professionalSelected,
42
+ productObject,
43
+ handleSave,
44
+ productCart,
45
+ navigation,
46
+ isSoldOut,
47
+ maxProductQuantity,
48
+ onClose,
49
+ professionalListState,
50
+ isCartProduct,
51
+ actionStatus,
52
+ handleCreateGuestUser
53
+ } = props
54
+
55
+ const theme = useTheme()
56
+ const [, t] = useLanguage()
57
+ const [{ optimizeImage, parsePrice, parseDate }] = useUtils()
58
+ const { top } = useSafeAreaInsets()
59
+ const [{ configs }] = useConfig()
60
+ const [orderState] = useOrder()
61
+ const [{ auth }] = useSession()
62
+ const { product, loading, error } = productObject;
63
+
64
+ const [selectDate, setSelectedDate] = useState<any>(new Date())
65
+ const [timeList, setTimeList] = useState<any>([])
66
+ const [isEnabled, setIsEnabled] = useState(false)
67
+ const [timeSelected, setTimeSelected] = useState<string | null>(null)
68
+ const [dateSelected, setDateSelected] = useState<any>(null)
69
+ const [isOpen, setIsOpen] = useState(false)
70
+ const [currentProfessional, setCurrentProfessional] = useState<any>(null)
71
+
72
+ const guestCheckoutEnabled = configs?.guest_checkout_enabled?.value === '1'
73
+ const orderTypeEnabled = !orderTypeList[orderState?.options?.type - 1] || configs?.allowed_order_types_guest_checkout?.value?.includes(orderTypeList[orderState?.options?.type - 1])
74
+
75
+ const dropdownRef = useRef<any>(null)
76
+
77
+ const styles = StyleSheet.create({
78
+ photoStyle: {
79
+ width: 45,
80
+ height: 45,
81
+ borderRadius: 7.6
82
+ },
83
+ buttonStyle: {
84
+ borderRadius: 7.6,
85
+ height: 44,
86
+ borderWidth: 0
87
+ },
88
+ professionalSelect: {
89
+ borderRadius: 7.6,
90
+ padding: 11,
91
+ borderWidth: 1,
92
+ borderColor: theme.colors.backgroundGray200,
93
+ flexDirection: 'row',
94
+ alignItems: 'center',
95
+ justifyContent: 'space-between'
96
+ },
97
+ professionalItem: {
98
+ paddingVertical: 11,
99
+ borderColor: theme.colors.backgroundGray200,
100
+ borderTopWidth: 1
101
+ },
102
+ selectOption: {
103
+ width: '100%',
104
+ backgroundColor: theme.colors.backgroundGray100,
105
+ paddingVertical: 5,
106
+ paddingHorizontal: 14,
107
+ flexDirection: 'row-reverse',
108
+ alignItems: 'center',
109
+ justifyContent: 'space-between',
110
+ height: 40,
111
+ marginBottom: 30
112
+ },
113
+ dropDownRow: {
114
+ color: theme.colors.primary,
115
+ fontSize: 14,
116
+ marginHorizontal: 0
117
+ },
118
+ professionalList: {
119
+ paddingHorizontal: 40,
120
+ paddingVertical: 30,
121
+ }
122
+ })
123
+
124
+ const getMomentTime = (time) => {
125
+ const _moment = moment(`${moment(selectDate).format('YYYY-MM-DD')} ${time}`, 'YYYY-MM-DD HH:mm').toDate()
126
+ return _moment
127
+ }
128
+
129
+ const isBusyTime = (professional, selectedMoment) => {
130
+ if (!selectedMoment) return false
131
+ const startDay = moment(selectedMoment).utc().format('d')
132
+ const isStartScheduleEnabled = professional?.schedule?.[startDay]?.enabled
133
+ const duration = product?.duration ?? 0
134
+ const endDay = moment(selectedMoment).add(duration - 1, 'minutes').utc().format('d')
135
+ const isEndScheduleEnabled = professional?.schedule?.[endDay]?.enabled
136
+ if (!isStartScheduleEnabled || !isEndScheduleEnabled) return true
137
+
138
+ if (professional?.busy_times?.length === 0) return false
139
+
140
+ const busyTimes = isCartProduct
141
+ ? professional?.busy_times.filter(item => !(item.start === productCart?.calendar_event?.start && item.end === productCart?.calendar_event?.end))
142
+ : [...professional?.busy_times]
143
+ const valid = busyTimes.some(item => {
144
+ return (moment.utc(item?.start).local().valueOf() <= moment(selectedMoment).valueOf() &&
145
+ moment(selectedMoment).valueOf() < moment.utc(item?.end).local().valueOf()) ||
146
+ (moment.utc(item?.start).local().valueOf() < moment(selectedMoment).add(duration, 'minutes').valueOf() &&
147
+ moment(selectedMoment).add(duration, 'minutes').valueOf() < moment.utc(item?.end).local().valueOf())
148
+ })
149
+ return valid
150
+ }
151
+
152
+ const onDateChange = (date: any) => {
153
+ setSelectedDate(date)
154
+ setTimeSelected(null)
155
+ dropdownRef?.current && dropdownRef.current.reset()
156
+ }
157
+
158
+ const dropDownIcon = () => {
159
+ return (
160
+ <IconAntDesign
161
+ name='down'
162
+ color={theme.colors.textThird}
163
+ size={12}
164
+ />
165
+ )
166
+ }
167
+
168
+ const handleUpdateGuest = () => {
169
+ const guestToken = uuid.v4()
170
+ if (guestToken) handleCreateGuestUser({ guest_token: guestToken })
171
+ }
172
+
173
+ const customDayHeaderStylesCallback = () => {
174
+ return {
175
+ textStyle: {
176
+ color: theme.colors.disabled,
177
+ fontSize: 12,
178
+ },
179
+ };
180
+ };
181
+
182
+ const handleSaveService = () => {
183
+ const updated = {
184
+ serviceTime: moment(dateSelected).utc().format('YYYY-MM-DD HH:mm:00'),
185
+ professional: currentProfessional
186
+ }
187
+ handleSave && handleSave(updated)
188
+ }
189
+
190
+ const validateSelectedDate = (curdate: any, menu: any) => {
191
+ const day = moment(curdate).format('d')
192
+ setIsEnabled(menu?.schedule?.[day]?.enabled || false)
193
+ }
194
+
195
+ const handleRedirectLogin = () => {
196
+ navigation && navigation.navigate('Login', {
197
+ store_slug: props.businessSlug
198
+ });
199
+ onClose && onClose()
200
+ };
201
+
202
+ const getTimes = (curdate: any, menu: any) => {
203
+ validateSelectedDate(curdate, menu)
204
+ const date = new Date()
205
+ var dateSeleted = new Date(curdate)
206
+ var times = []
207
+ for (var k = 0; k < menu.schedule[dateSeleted.getDay()].lapses.length; k++) {
208
+ var open = {
209
+ hour: menu.schedule[dateSeleted.getDay()].lapses[k].open.hour,
210
+ minute: menu.schedule[dateSeleted.getDay()].lapses[k].open.minute
211
+ }
212
+ var close = {
213
+ hour: menu.schedule[dateSeleted.getDay()].lapses[k].close.hour,
214
+ minute: menu.schedule[dateSeleted.getDay()].lapses[k].close.minute
215
+ }
216
+ for (var i = open.hour; i <= close.hour; i++) {
217
+ if (date.getDate() !== dateSeleted.getDate() || i >= date.getHours()) {
218
+ let hour = ''
219
+ let meridian = ''
220
+ if (configs?.format_time?.value === '12') {
221
+ if (i === 0) {
222
+ hour = '12'
223
+ meridian = ' ' + t('AM', 'AM')
224
+ } else if (i > 0 && i < 12) {
225
+ hour = (i < 10 ? '0' + i : i)
226
+ meridian = ' ' + t('AM', 'AM')
227
+ } else if (i === 12) {
228
+ hour = '12'
229
+ meridian = ' ' + t('PM', 'PM')
230
+ } else {
231
+ hour = ((i - 12 < 10) ? '0' + (i - 12) : `${(i - 12)}`)
232
+ meridian = ' ' + t('PM', 'PM')
233
+ }
234
+ } else {
235
+ hour = i < 10 ? '0' + i : i
236
+ }
237
+ for (let j = (i === open.hour ? open.minute : 0); j <= (i === close.hour ? close.minute : 59); j += 15) {
238
+ if (i !== date.getHours() || j >= date.getMinutes() || date.getDate() !== dateSeleted.getDate()) {
239
+ times.push({
240
+ text: hour + ':' + (j < 10 ? '0' + j : j) + meridian,
241
+ value: (i < 10 ? '0' + i : i) + ':' + (j < 10 ? '0' + j : j)
242
+ })
243
+ }
244
+ }
245
+ }
246
+ }
247
+ }
248
+ return times
249
+ }
250
+
251
+ const addressRedirect = () => {
252
+ navigation && navigation.navigate('AddressList')
253
+ onClose && onClose()
254
+ }
255
+
256
+ const handleChangeProfessional = (professional: any) => {
257
+ setCurrentProfessional(professional)
258
+ setIsOpen(false)
259
+ }
260
+
261
+ useEffect(() => {
262
+ if (selectDate === null || currentProfessional === null) return
263
+ const _times = getTimes(selectDate, currentProfessional)
264
+ setTimeList(_times)
265
+ }, [selectDate, currentProfessional])
266
+
267
+ useEffect(() => {
268
+ if (!selectDate || !timeSelected) {
269
+ setDateSelected(null)
270
+ return
271
+ }
272
+ const date = `${moment(selectDate).format('YYYY-MM-DD')} ${timeSelected}:00`
273
+ setDateSelected(date)
274
+ }, [selectDate, timeSelected])
275
+
276
+ useEffect(() => {
277
+ if (!professionalSelected?.schedule) return
278
+ setCurrentProfessional(professionalSelected)
279
+ }, [professionalSelected])
280
+
281
+ useEffect(() => {
282
+ if (isCartProduct && professionalListState?.professionals?.length > 0) {
283
+ const professional = professionalListState?.professionals?.find((item: any) => item.id === professionalSelected?.id)
284
+ setCurrentProfessional(professional)
285
+ }
286
+ }, [isCartProduct, professionalListState?.professionals])
287
+
288
+ useEffect(() => {
289
+ if (!productCart?.calendar_event?.start) return
290
+ setSelectedDate(moment.utc(productCart?.calendar_event?.start).local())
291
+ setTimeSelected(moment.utc(productCart?.calendar_event?.start).local().format('HH:mm'))
292
+ }, [productCart])
293
+
294
+ return (
295
+ <>
296
+ {loading && !error && (
297
+ <Placeholder Animation={Fade}>
298
+ <PlaceholderLine
299
+ height={258}
300
+ style={{ borderRadius: 0 }}
301
+ width={screenWidth}
302
+ />
303
+ </Placeholder>
304
+ )}
305
+ {!loading && !error && (
306
+ <Container>
307
+ {!!product?.images ? (
308
+ <ProfessionalPhoto
309
+ source={{
310
+ uri: product?.images
311
+ }}
312
+ />
313
+ ) : (
314
+ <OIcon
315
+ src={theme?.images?.dummies?.product}
316
+ cover={false}
317
+ style={{ alignSelf: 'center' }}
318
+ width={200}
319
+ height={200}
320
+ />
321
+ )}
322
+ <InfoWrapper>
323
+ <OText
324
+ size={20}
325
+ style={{ marginBottom: 4 }}
326
+ weight={Platform.OS === 'ios' ? '600' : 'bold'}
327
+ >
328
+ {product?.name}
329
+ </OText>
330
+ <OText
331
+ size={16}
332
+ style={{ marginBottom: 10 }}
333
+ weight={'400'}
334
+ >
335
+ {parsePrice(product?.price)} • {product?.duration}min
336
+ </OText>
337
+ <OText
338
+ size={14}
339
+ weight={'400'}
340
+ color={theme?.colors?.disabled}
341
+ >
342
+ {product?.description}
343
+ </OText>
344
+ </InfoWrapper>
345
+ <Divider />
346
+ <ProfessionalWrapper>
347
+ <View
348
+ style={{
349
+ flexDirection: 'row',
350
+ justifyContent: 'space-between',
351
+ alignItems: 'center',
352
+ marginBottom: 23
353
+ }}
354
+ >
355
+ <OText
356
+ size={16}
357
+ weight={Platform.OS === 'ios' ? '600' : 'bold'}
358
+ >
359
+ {t('PROFESSIONAL', 'Professional')}
360
+ </OText>
361
+ <OText
362
+ size={10}
363
+ weight={'400'}
364
+ color={theme.colors?.danger5}
365
+ >
366
+ {t('REQUIRED', 'Required')}
367
+ </OText>
368
+ </View>
369
+ <TouchableOpacity
370
+ style={styles.professionalSelect}
371
+ onPress={() => setIsOpen(true)}
372
+ >
373
+ {!!currentProfessional ? (
374
+ <>
375
+ <View style={{ flexDirection: 'row' }}>
376
+ {!!currentProfessional?.photo ? (
377
+ <FastImage
378
+ style={styles.photoStyle}
379
+ source={{
380
+ uri: optimizeImage(currentProfessional?.photo, 'h_250,c_limit'),
381
+ priority: FastImage.priority.normal,
382
+ }}
383
+ resizeMode={FastImage.resizeMode.cover}
384
+ />
385
+ ) : (
386
+ <OIcon
387
+ src={theme?.images?.general?.user}
388
+ cover={false}
389
+ style={styles.photoStyle}
390
+ />
391
+ )}
392
+ <View style={{ marginLeft: 14 }}>
393
+ <OText
394
+ size={14}
395
+ weight={'400'}
396
+ lineHeight={22}
397
+ >
398
+ {currentProfessional?.name} {currentProfessional?.lastname}
399
+ </OText>
400
+ <OText
401
+ size={12}
402
+ weight={'400'}
403
+ lineHeight={17}
404
+ color={isBusyTime(currentProfessional, dateSelected) ? theme.colors.danger5 : theme.colors.success500}
405
+ >
406
+ {isBusyTime(currentProfessional, dateSelected)
407
+ ? t('BUSY_ON_SELECTED_TIME', 'Busy on selected time')
408
+ : t('AVAILABLE', 'Available')
409
+ }
410
+ </OText>
411
+ </View>
412
+ </View>
413
+ </>
414
+ ) : (
415
+ <OText size={12}>{t('SELECT_PROFESSIONAL', 'Select professional')}</OText>
416
+ )}
417
+ <View style={{ marginLeft: 5 }}>
418
+ <IconAntDesign
419
+ name='down'
420
+ color={theme.colors.textThird}
421
+ size={12}
422
+ />
423
+ </View>
424
+ </TouchableOpacity>
425
+ </ProfessionalWrapper>
426
+ <ScheduleWrapper>
427
+ <View
428
+ style={{
429
+ flexDirection: 'row',
430
+ justifyContent: 'space-between',
431
+ alignItems: 'center',
432
+ marginBottom: 23
433
+ }}
434
+ >
435
+ <OText
436
+ size={16}
437
+ weight={Platform.OS === 'ios' ? '600' : 'bold'}
438
+ >
439
+ {t('SCHEDULE', 'Schedule')}
440
+ </OText>
441
+ <OText
442
+ size={10}
443
+ weight={'400'}
444
+ color={theme.colors?.danger5}
445
+ >
446
+ {t('REQUIRED', 'Required')}
447
+ </OText>
448
+ </View>
449
+ {!!currentProfessional?.schedule ? (
450
+ <CalendarWrapper>
451
+ {(timeList?.length > 0 && isEnabled) ? (
452
+ <SelectDropdown
453
+ ref={dropdownRef}
454
+ defaultValueByIndex={timeList.findIndex((item: any) => item.value === timeSelected)}
455
+ data={timeList}
456
+ onSelect={(selectedItem, index) => {
457
+ setTimeSelected(selectedItem?.value)
458
+ }}
459
+ buttonTextAfterSelection={(selectedItem, index) => {
460
+ return selectedItem?.text
461
+ }}
462
+ rowTextForSelection={(item, index) => {
463
+ return item.text
464
+ }}
465
+ buttonStyle={{borderRadius: 7.6, ...styles.selectOption}}
466
+ buttonTextStyle={{
467
+ color: theme.colors.disabled,
468
+ fontSize: 14,
469
+ textAlign: 'left',
470
+ marginHorizontal: 0
471
+ }}
472
+ dropdownStyle={{
473
+ borderRadius: 8,
474
+ borderColor: theme.colors.lightGray,
475
+ marginTop: Platform.OS === 'ios' ? 12 : -top
476
+ }}
477
+ rowStyle={{
478
+ borderBottomColor: theme.colors.backgroundGray100,
479
+ backgroundColor: theme.colors.backgroundGray100,
480
+ height: 30,
481
+ flexDirection: 'column',
482
+ alignItems: 'flex-start',
483
+ paddingTop: 8,
484
+ paddingHorizontal: 12
485
+ }}
486
+ renderCustomizedRowChild={(item, index) => {
487
+ return (
488
+ <Text style={[styles.dropDownRow, { color: isBusyTime(currentProfessional, getMomentTime(item.value)) ? theme.colors.lightGray : theme.colors.primary } ]}>
489
+ {item.text}
490
+ </Text>
491
+ )
492
+ }}
493
+ renderDropdownIcon={() => dropDownIcon()}
494
+ dropdownOverlayColor='transparent'
495
+ />
496
+ ) : (
497
+ <OText
498
+ size={12}
499
+ style={{ marginBottom: 30 }}
500
+ weight={'400'}
501
+ color={theme.colors?.danger5}
502
+ >
503
+ {t('PROFESSIONAL_NOT_AVAILABLE', 'Professional is not available at the moment')}
504
+ </OText>
505
+ )}
506
+ <CalendarPicker
507
+ previousComponent={
508
+ <FeatherIcon
509
+ name='chevron-left'
510
+ color={theme.colors.disabled}
511
+ size={24}
512
+ style={{ marginHorizontal: 4 }}
513
+ />
514
+ }
515
+ nextComponent={
516
+ <FeatherIcon
517
+ name='chevron-right'
518
+ color={theme.colors.disabled}
519
+ size={24}
520
+ style={{ marginHorizontal: 4 }}
521
+ />
522
+ }
523
+ width={screenWidth - 110}
524
+ selectedDayTextColor={theme.colors.white}
525
+ selectedDayColor={theme.colors.primary}
526
+ todayBackgroundColor={theme.colors.border}
527
+ dayLabelsWrapper={{ borderColor: theme.colors.clear }}
528
+ onDateChange={onDateChange}
529
+ minDate={new Date()}
530
+ customDayHeaderStyles={customDayHeaderStylesCallback}
531
+ selectedStartDate={selectDate}
532
+ />
533
+ </CalendarWrapper>
534
+ ) : (
535
+ <OText
536
+ size={16}
537
+ style={{ marginBottom: 30, textAlign: 'center' }}
538
+ color={theme?.colors?.disabled}
539
+ weight={Platform.OS === 'ios' ? '600' : 'bold'}
540
+ >
541
+ {t('NO_SCHEDULE', 'No schedule')}
542
+ </OText>
543
+ )}
544
+ </ScheduleWrapper>
545
+ <ButtonWrapper>
546
+ <OText
547
+ size={14}
548
+ weight={Platform.OS === 'ios' ? '600' : 'bold'}
549
+ >
550
+ {dateSelected && moment(dateSelected).format('hh:mm A')}
551
+ </OText>
552
+ {((productCart &&
553
+ auth &&
554
+ orderState.options?.address_id)) && (
555
+ <OButton
556
+ bgColor={theme.colors.primary}
557
+ onClick={() => handleSaveService()}
558
+ text={orderState.loading
559
+ ? t('LOADING', 'Loading')
560
+ : ((isSoldOut || maxProductQuantity <= 0)
561
+ ? t('SOLD_OUT', 'Sold out')
562
+ : t('BOOK', 'Book'))}
563
+ style={styles.buttonStyle}
564
+ isDisabled={isSoldOut || maxProductQuantity <= 0 || !currentProfessional?.id || !dateSelected || isBusyTime(currentProfessional, dateSelected)}
565
+ textStyle={{ fontSize: 14, color: theme.colors.white }}
566
+ />
567
+ )}
568
+ {auth &&
569
+ !orderState.options?.address_id &&
570
+ (orderState.loading ? (
571
+ <OButton
572
+ isDisabled
573
+ text={t('LOADING', 'Loading')}
574
+ imgRightSrc=""
575
+ textStyle={{ fontSize: 10 }}
576
+ />
577
+ ) : (
578
+ <OButton onClick={() => addressRedirect()} />
579
+ ))}
580
+ {!auth && (
581
+ <OButton
582
+ isDisabled={isSoldOut || maxProductQuantity <= 0}
583
+ onClick={() => handleRedirectLogin()}
584
+ text={
585
+ isSoldOut || maxProductQuantity <= 0
586
+ ? t('SOLD_OUT', 'Sold out')
587
+ : t('LOGIN_SIGNUP', 'Login / Sign Up')
588
+ }
589
+ imgRightSrc=""
590
+ textStyle={{ color: theme.colors.primary, fontSize: 14 }}
591
+ style={{
592
+ height: 44,
593
+ borderColor: theme.colors.primary,
594
+ backgroundColor: theme.colors.white,
595
+ }}
596
+ />
597
+ )}
598
+ {!auth && guestCheckoutEnabled && orderTypeEnabled && (
599
+ <TouchableOpacity style={{ marginTop: 10 }} onPress={handleUpdateGuest}>
600
+ {actionStatus?.loading ? (
601
+ <Placeholder Animation={Fade}>
602
+ <PlaceholderLine width={60} height={20} />
603
+ </Placeholder>
604
+ ) : (
605
+ <OText color={theme.colors.primary} size={13}>{t('AS_GUEST_USER', 'As guest user')}</OText>
606
+ )}
607
+ </TouchableOpacity>
608
+ )}
609
+ </ButtonWrapper>
610
+ </Container>
611
+ )}
612
+
613
+ <OModal
614
+ open={isOpen}
615
+ onClose={() => setIsOpen(false)}
616
+ entireModal
617
+ >
618
+ <ScrollView contentContainerStyle={styles.professionalList}>
619
+ <View style={{ paddingVertical: 11 }}>
620
+ <OText
621
+ size={14}
622
+ weight={'400'}
623
+ >
624
+ {t('ANY_OROFESSIONAL_MEMBER', 'Any professional member')}
625
+ </OText>
626
+ </View>
627
+ {professionalListState?.professionals?.map((professional: any) => (
628
+ <TouchableOpacity
629
+ key={professional?.id}
630
+ style={styles.professionalItem}
631
+ onPress={() => handleChangeProfessional(professional)}
632
+ >
633
+ <View style={{ flexDirection: 'row' }}>
634
+ {!!professional?.photo ? (
635
+ <FastImage
636
+ style={styles.photoStyle}
637
+ source={{
638
+ uri: optimizeImage(professional?.photo, 'h_250,c_limit'),
639
+ priority: FastImage.priority.normal,
640
+ }}
641
+ resizeMode={FastImage.resizeMode.cover}
642
+ />
643
+ ) : (
644
+ <OIcon
645
+ src={theme?.images?.general?.user}
646
+ cover={false}
647
+ style={styles.photoStyle}
648
+ />
649
+ )}
650
+ <View style={{ marginLeft: 14 }}>
651
+ <OText
652
+ size={14}
653
+ weight={'400'}
654
+ lineHeight={22}
655
+ >
656
+ {professional?.name} {professional?.lastname}
657
+ </OText>
658
+ <OText
659
+ size={12}
660
+ weight={'400'}
661
+ lineHeight={17}
662
+ color={isBusyTime(professional, dateSelected) ? theme.colors.danger5 : theme.colors.success500}
663
+ >
664
+ {isBusyTime(professional, dateSelected)
665
+ ? t('BUSY_ON_SELECTED_TIME', 'Busy on selected time')
666
+ : t('AVAILABLE', 'Available')
667
+ }
668
+ </OText>
669
+ </View>
670
+ </View>
671
+ </TouchableOpacity>
672
+ ))}
673
+ </ScrollView>
674
+ </OModal>
675
+ </>
676
+ )
677
+ }
678
+
679
+ export const ServiceForm = (props: any) => {
680
+ const serviceFormProps = {
681
+ ...props,
682
+ UIComponent: ServiceFormUI,
683
+ isService: true
684
+ }
685
+ return <ProductFormController {...serviceFormProps} />
686
+ }