ordering-ui-react-native 0.12.23 → 0.12.27

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 (1371) hide show
  1. package/README.md +3 -3
  2. package/package.json +148 -148
  3. package/src/AppContainer.tsx +96 -96
  4. package/src/DeliveryApp.tsx +163 -163
  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 +171 -171
  10. package/src/components/ActiveOrders/styles.tsx +51 -51
  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 +734 -734
  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/BusinessBasicInformation/index.tsx +259 -259
  19. package/src/components/BusinessBasicInformation/styles.tsx +38 -38
  20. package/src/components/BusinessController/index.tsx +219 -219
  21. package/src/components/BusinessController/styles.tsx +52 -52
  22. package/src/components/BusinessInformation/index.tsx +113 -113
  23. package/src/components/BusinessInformation/styles.tsx +37 -37
  24. package/src/components/BusinessItemAccordion/index.tsx +148 -148
  25. package/src/components/BusinessItemAccordion/styles.tsx +61 -61
  26. package/src/components/BusinessProductsCategories/index.tsx +73 -73
  27. package/src/components/BusinessProductsCategories/styles.tsx +7 -7
  28. package/src/components/BusinessProductsList/index.tsx +149 -149
  29. package/src/components/BusinessProductsList/styles.tsx +13 -13
  30. package/src/components/BusinessProductsListing/index.tsx +333 -333
  31. package/src/components/BusinessProductsListing/styles.tsx +33 -33
  32. package/src/components/BusinessReviews/index.tsx +121 -121
  33. package/src/components/BusinessReviews/styles.tsx +33 -33
  34. package/src/components/BusinessTypeFilter/index.tsx +201 -201
  35. package/src/components/BusinessTypeFilter/styles.tsx +32 -32
  36. package/src/components/BusinessesListing/index.tsx +222 -222
  37. package/src/components/BusinessesListing/styles.tsx +50 -50
  38. package/src/components/Cart/index.tsx +279 -279
  39. package/src/components/Cart/styles.tsx +28 -28
  40. package/src/components/CartContent/index.tsx +50 -50
  41. package/src/components/CartContent/styles.tsx +19 -19
  42. package/src/components/Checkout/index.tsx +820 -820
  43. package/src/components/Checkout/styles.tsx +99 -99
  44. package/src/components/CouponControl/index.tsx +133 -133
  45. package/src/components/CouponControl/styles.tsx +22 -22
  46. package/src/components/DriverTips/index.tsx +153 -153
  47. package/src/components/DriverTips/styles.tsx +62 -62
  48. package/src/components/FacebookLogin/index.tsx +123 -123
  49. package/src/components/FacebookLogin/styles.tsx +23 -23
  50. package/src/components/FloatingButton/index.tsx +74 -74
  51. package/src/components/FloatingButton/styles.tsx +32 -32
  52. package/src/components/ForgotPasswordForm/index.tsx +150 -150
  53. package/src/components/ForgotPasswordForm/styles.tsx +11 -11
  54. package/src/components/GoogleLogin/index.tsx +133 -133
  55. package/src/components/GoogleLogin/styles.tsx +23 -23
  56. package/src/components/GoogleMap/index.tsx +247 -247
  57. package/src/components/Help/index.tsx +54 -54
  58. package/src/components/Help/styles.tsx +11 -11
  59. package/src/components/HelpAccountAndPayment/index.tsx +67 -67
  60. package/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  61. package/src/components/HelpGuide/index.tsx +66 -66
  62. package/src/components/HelpGuide/styles.tsx +6 -6
  63. package/src/components/HelpOrder/index.tsx +78 -78
  64. package/src/components/HelpOrder/styles.tsx +5 -5
  65. package/src/components/Home/index.tsx +116 -116
  66. package/src/components/Home/styles.tsx +18 -18
  67. package/src/components/LanguageSelector/index.tsx +149 -149
  68. package/src/components/LanguageSelector/styles.tsx +23 -23
  69. package/src/components/LastOrders/index.tsx +104 -104
  70. package/src/components/LastOrders/styles.tsx +17 -17
  71. package/src/components/LoginForm/index.tsx +425 -425
  72. package/src/components/LoginForm/styles.tsx +69 -69
  73. package/src/components/LogoutButton/index.tsx +60 -60
  74. package/src/components/Messages/index.tsx +430 -375
  75. package/src/components/Messages/styles.tsx +24 -21
  76. package/src/components/MomentOption/index.tsx +236 -236
  77. package/src/components/MomentOption/styles.tsx +61 -61
  78. package/src/components/NavBar/index.tsx +122 -122
  79. package/src/components/NotFoundSource/index.tsx +55 -55
  80. package/src/components/NotFoundSource/styles.tsx +16 -16
  81. package/src/components/OrderCreating/index.tsx +178 -178
  82. package/src/components/OrderCreating/styles.tsx +22 -22
  83. package/src/components/OrderDetails/index.tsx +564 -564
  84. package/src/components/OrderDetails/styles.tsx +121 -121
  85. package/src/components/OrderSuccess/index.tsx +89 -89
  86. package/src/components/OrderSuccess/styles.tsx +22 -22
  87. package/src/components/OrderSummary/index.tsx +200 -200
  88. package/src/components/OrderSummary/styles.tsx +31 -31
  89. package/src/components/OrderTypeSelector/index.tsx +159 -159
  90. package/src/components/OrderTypeSelector/styles.tsx +22 -22
  91. package/src/components/OrdersOption/index.tsx +228 -228
  92. package/src/components/OrdersOption/styles.tsx +5 -5
  93. package/src/components/PaymentOptionCash/index.tsx +102 -102
  94. package/src/components/PaymentOptionCash/styles.tsx +18 -18
  95. package/src/components/PaymentOptionStripe/index.tsx +244 -244
  96. package/src/components/PaymentOptionStripe/styles.tsx +62 -62
  97. package/src/components/PaymentOptions/index.tsx +434 -434
  98. package/src/components/PaymentOptions/styles.tsx +52 -52
  99. package/src/components/PhoneInputNumber/index.tsx +111 -111
  100. package/src/components/PhoneInputNumber/styles.tsx +3 -3
  101. package/src/components/PreviousOrders/index.tsx +167 -167
  102. package/src/components/PreviousOrders/styles.tsx +34 -34
  103. package/src/components/ProductForm/index.tsx +382 -375
  104. package/src/components/ProductForm/styles.tsx +84 -84
  105. package/src/components/ProductIngredient/index.tsx +44 -44
  106. package/src/components/ProductIngredient/styles.tsx +7 -7
  107. package/src/components/ProductItemAccordion/index.tsx +315 -315
  108. package/src/components/ProductItemAccordion/styles.tsx +81 -81
  109. package/src/components/ProductOption/index.tsx +49 -49
  110. package/src/components/ProductOption/styles.tsx +14 -14
  111. package/src/components/ProductOptionSubOption/index.tsx +146 -146
  112. package/src/components/ProductOptionSubOption/styles.tsx +33 -33
  113. package/src/components/ReviewDriver/index.tsx +313 -313
  114. package/src/components/ReviewDriver/styles.tsx +38 -38
  115. package/src/components/ReviewOrder/index.tsx +338 -338
  116. package/src/components/ReviewOrder/styles.tsx +44 -44
  117. package/src/components/ReviewProducts/index.tsx +113 -113
  118. package/src/components/ReviewProducts/styles.tsx +16 -16
  119. package/src/components/SearchBar/index.tsx +99 -99
  120. package/src/components/ShareComponent/index.tsx +32 -32
  121. package/src/components/SignupForm/index.tsx +575 -575
  122. package/src/components/SignupForm/styles.tsx +27 -27
  123. package/src/components/SingleProductCard/index.tsx +89 -89
  124. package/src/components/SingleProductCard/styles.tsx +24 -24
  125. package/src/components/SingleProductReview/index.tsx +166 -166
  126. package/src/components/SingleProductReview/styles.tsx +26 -26
  127. package/src/components/StripeCardForm/index.tsx +97 -97
  128. package/src/components/StripeCardForm/naked.tsx +128 -128
  129. package/src/components/StripeCardForm/styles.tsx +27 -27
  130. package/src/components/StripeCardsList/index.tsx +158 -158
  131. package/src/components/StripeElementsForm/index.tsx +188 -188
  132. package/src/components/StripeElementsForm/naked.tsx +90 -90
  133. package/src/components/StripeElementsForm/styles.tsx +9 -9
  134. package/src/components/StripeRedirectForm/index.tsx +159 -159
  135. package/src/components/StripeRedirectForm/styles.tsx +23 -23
  136. package/src/components/UpsellingProducts/index.tsx +185 -185
  137. package/src/components/UpsellingProducts/styles.tsx +31 -31
  138. package/src/components/UserDetails/index.tsx +139 -139
  139. package/src/components/UserDetails/styles.tsx +21 -21
  140. package/src/components/UserFormDetails/index.tsx +304 -304
  141. package/src/components/UserFormDetails/styles.tsx +38 -38
  142. package/src/components/UserProfileForm/index.tsx +106 -106
  143. package/src/components/UserProfileForm/styles.tsx +37 -37
  144. package/src/components/VerifyPhone/index.tsx +187 -187
  145. package/src/components/VerifyPhone/styles.tsx +43 -43
  146. package/src/components/shared/OAlert.tsx +48 -48
  147. package/src/components/shared/OBottomPopup.tsx +70 -70
  148. package/src/components/shared/OButton.tsx +134 -134
  149. package/src/components/shared/ODropDown.tsx +167 -167
  150. package/src/components/shared/OIcon.tsx +52 -52
  151. package/src/components/shared/OIconButton.tsx +134 -134
  152. package/src/components/shared/OInput.tsx +122 -122
  153. package/src/components/shared/OModal.tsx +168 -168
  154. package/src/components/shared/OText.tsx +52 -52
  155. package/src/components/shared/OToast.tsx +94 -94
  156. package/src/components/shared/index.tsx +23 -23
  157. package/src/config/constants.tsx +73 -73
  158. package/src/config.json +14 -14
  159. package/src/context/Theme/index.tsx +25 -25
  160. package/src/hooks/DeviceOrientation.tsx +40 -40
  161. package/src/index.tsx +191 -191
  162. package/src/layouts/Container.tsx +27 -27
  163. package/src/layouts/FloatingBottomContainer.tsx +26 -26
  164. package/src/layouts/SafeAreaContainer.tsx +6 -6
  165. package/src/navigators/BottomNavigator.tsx +117 -117
  166. package/src/navigators/CheckoutNavigator.tsx +60 -60
  167. package/src/navigators/HomeNavigator.tsx +185 -185
  168. package/src/navigators/NavigationRef.tsx +7 -7
  169. package/src/navigators/RootNavigator.tsx +269 -269
  170. package/src/pages/Account.tsx +34 -34
  171. package/src/pages/AddressForm.tsx +62 -62
  172. package/src/pages/AddressList.tsx +24 -24
  173. package/src/pages/BusinessProductsList.tsx +80 -80
  174. package/src/pages/BusinessesListing.tsx +42 -42
  175. package/src/pages/CartList.tsx +49 -49
  176. package/src/pages/Checkout.tsx +101 -101
  177. package/src/pages/ForgotPassword.tsx +24 -24
  178. package/src/pages/Help.tsx +23 -23
  179. package/src/pages/HelpAccountAndPayment.tsx +23 -23
  180. package/src/pages/HelpGuide.tsx +23 -23
  181. package/src/pages/HelpOrder.tsx +23 -23
  182. package/src/pages/Home.tsx +36 -36
  183. package/src/pages/IntroductoryTutorial.tsx +170 -170
  184. package/src/pages/Login.tsx +47 -47
  185. package/src/pages/MomentOption.tsx +30 -30
  186. package/src/pages/MyOrders.tsx +40 -40
  187. package/src/pages/NetworkError.tsx +24 -24
  188. package/src/pages/NotFound.tsx +22 -22
  189. package/src/pages/OrderDetails.tsx +25 -25
  190. package/src/pages/Profile.tsx +36 -36
  191. package/src/pages/ReviewDriver.tsx +30 -30
  192. package/src/pages/ReviewOrder.tsx +32 -32
  193. package/src/pages/ReviewProducts.tsx +30 -30
  194. package/src/pages/Signup.tsx +53 -53
  195. package/src/pages/SpinnerLoader.tsx +10 -10
  196. package/src/pages/Splash.tsx +21 -21
  197. package/src/providers/AlertProvider.tsx +43 -43
  198. package/src/providers/StoreUtil.tsx +54 -54
  199. package/src/theme.json +133 -133
  200. package/src/types/@stripe/stripe-react-native/index.d.ts +1 -1
  201. package/src/types/index.tsx +467 -467
  202. package/src/types/ordering-api-sdk/index.d.ts +1 -1
  203. package/src/types/ordering-components/index.d.ts +1 -1
  204. package/src/types/react-hook-form/index.d.ts +1 -1
  205. package/src/types/react-native-background-timer/index.d.ts +1 -1
  206. package/src/types/react-native-country-picker-modal/index.d.ts +1 -1
  207. package/src/types/react-native-credit-card-input/index.d.ts +1 -1
  208. package/src/types/react-native-fbsdk/index.d.ts +1 -1
  209. package/src/types/react-native-gesture-handler/index.d.ts +1 -1
  210. package/src/types/react-native-gifted-chat/index.d.ts +1 -1
  211. package/src/types/react-native-image-picker/index.d.ts +1 -1
  212. package/src/types/react-native-restart/index.d.ts +1 -1
  213. package/src/types/styled-components/index.d.ts +1 -1
  214. package/src/utils/index.tsx +164 -164
  215. package/themes/business/.prettierrc.js +9 -9
  216. package/themes/business/index.tsx +119 -119
  217. package/themes/business/src/assets/json/order.json +204 -204
  218. package/themes/business/src/assets/json/orders.json +3591 -3591
  219. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +398 -401
  220. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +36 -36
  221. package/themes/business/src/components/BusinessController/index.tsx +155 -155
  222. package/themes/business/src/components/BusinessController/styles.tsx +19 -19
  223. package/themes/business/src/components/Chat/index.tsx +1200 -1152
  224. package/themes/business/src/components/Chat/styles.tsx +16 -12
  225. package/themes/business/src/components/Contacts/index.tsx +299 -299
  226. package/themes/business/src/components/Contacts/styles.tsx +42 -42
  227. package/themes/business/src/components/DriverMap/index.tsx +525 -525
  228. package/themes/business/src/components/FloatingButton/index.tsx +141 -141
  229. package/themes/business/src/components/FloatingButton/styles.tsx +35 -35
  230. package/themes/business/src/components/ForgotPasswordForm/index.tsx +204 -204
  231. package/themes/business/src/components/ForgotPasswordForm/styles.tsx +11 -11
  232. package/themes/business/src/components/GoogleMap/index.tsx +347 -347
  233. package/themes/business/src/components/Home/index.tsx +111 -111
  234. package/themes/business/src/components/Home/styles.tsx +27 -27
  235. package/themes/business/src/components/LanguageSelector/index.tsx +124 -124
  236. package/themes/business/src/components/LanguageSelector/lang_country.json +152 -152
  237. package/themes/business/src/components/LanguageSelector/styles.tsx +17 -17
  238. package/themes/business/src/components/LoginForm/index.tsx +664 -663
  239. package/themes/business/src/components/LoginForm/styles.tsx +48 -48
  240. package/themes/business/src/components/LogoutButton/index.tsx +63 -63
  241. package/themes/business/src/components/MapView/index.tsx +317 -317
  242. package/themes/business/src/components/MessagesOption/index.tsx +337 -337
  243. package/themes/business/src/components/MessagesOption/styles.tsx +27 -27
  244. package/themes/business/src/components/NewOrderNotification/index.tsx +180 -180
  245. package/themes/business/src/components/NewOrderNotification/styles.tsx +8 -8
  246. package/themes/business/src/components/NotFoundSource/index.tsx +52 -52
  247. package/themes/business/src/components/NotFoundSource/styles.tsx +17 -17
  248. package/themes/business/src/components/OrderDetails/Delivery.tsx +4 -8
  249. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +391 -391
  250. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +148 -148
  251. package/themes/business/src/components/OrderMessage/index.tsx +344 -344
  252. package/themes/business/src/components/OrderMessage/styles.tsx +5 -5
  253. package/themes/business/src/components/OrderSummary/index.tsx +700 -700
  254. package/themes/business/src/components/OrderSummary/styles.tsx +61 -61
  255. package/themes/business/src/components/OrdersOption/index.tsx +720 -720
  256. package/themes/business/src/components/OrdersOption/styles.tsx +54 -54
  257. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +51 -51
  258. package/themes/business/src/components/OrdersOptionBusiness/styles.tsx +8 -8
  259. package/themes/business/src/components/OrdersOptionCity/index.tsx +52 -52
  260. package/themes/business/src/components/OrdersOptionCity/styles.tsx +8 -8
  261. package/themes/business/src/components/OrdersOptionDate/index.tsx +53 -52
  262. package/themes/business/src/components/OrdersOptionDate/styles.tsx +8 -8
  263. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +35 -35
  264. package/themes/business/src/components/OrdersOptionDelivery/styles.tsx +8 -8
  265. package/themes/business/src/components/OrdersOptionDriver/index.tsx +50 -50
  266. package/themes/business/src/components/OrdersOptionDriver/styles.tsx +8 -8
  267. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +49 -49
  268. package/themes/business/src/components/OrdersOptionPaymethod/styles.tsx +8 -8
  269. package/themes/business/src/components/OrdersOptionStatus/index.tsx +46 -46
  270. package/themes/business/src/components/OrdersOptionStatus/styles.tsx +8 -8
  271. package/themes/business/src/components/PhoneInputNumber/index.tsx +160 -160
  272. package/themes/business/src/components/PhoneInputNumber/styles.tsx +3 -3
  273. package/themes/business/src/components/PreviousMessages/index.tsx +304 -304
  274. package/themes/business/src/components/PreviousMessages/styles.tsx +32 -32
  275. package/themes/business/src/components/PreviousOrders/index.tsx +155 -155
  276. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -31
  277. package/themes/business/src/components/ProductItemAccordion/index.tsx +299 -299
  278. package/themes/business/src/components/ProductItemAccordion/styles.tsx +61 -61
  279. package/themes/business/src/components/SearchBar/index.tsx +112 -112
  280. package/themes/business/src/components/SignupForm/index.tsx +530 -530
  281. package/themes/business/src/components/SignupForm/styles.tsx +16 -16
  282. package/themes/business/src/components/StoresList/index.tsx +208 -208
  283. package/themes/business/src/components/StoresList/styles.tsx +26 -26
  284. package/themes/business/src/components/UserFormDetails/index.tsx +513 -513
  285. package/themes/business/src/components/UserFormDetails/styles.tsx +40 -40
  286. package/themes/business/src/components/UserProfileForm/index.tsx +496 -496
  287. package/themes/business/src/components/UserProfileForm/styles.tsx +36 -36
  288. package/themes/business/src/components/VerifyPhone/index.tsx +201 -201
  289. package/themes/business/src/components/VerifyPhone/styles.tsx +43 -43
  290. package/themes/business/src/components/shared/OAlert.tsx +52 -52
  291. package/themes/business/src/components/shared/OButton.tsx +149 -149
  292. package/themes/business/src/components/shared/OChatBubble.tsx +100 -100
  293. package/themes/business/src/components/shared/ODropDown.tsx +195 -195
  294. package/themes/business/src/components/shared/ODropDownCalendar.tsx +330 -328
  295. package/themes/business/src/components/shared/OFab.tsx +54 -54
  296. package/themes/business/src/components/shared/OIcon.tsx +65 -65
  297. package/themes/business/src/components/shared/OIconButton.tsx +127 -127
  298. package/themes/business/src/components/shared/OInput.tsx +144 -144
  299. package/themes/business/src/components/shared/OLink.tsx +76 -76
  300. package/themes/business/src/components/shared/OSegment.tsx +86 -86
  301. package/themes/business/src/components/shared/OText.tsx +55 -55
  302. package/themes/business/src/components/shared/OTextarea.tsx +46 -46
  303. package/themes/business/src/components/shared/OToast.tsx +92 -92
  304. package/themes/business/src/components/shared/index.tsx +27 -27
  305. package/themes/business/src/config/constants.tsx +10 -10
  306. package/themes/business/src/hooks/useLocation.tsx +109 -109
  307. package/themes/business/src/layouts/Container.tsx +54 -54
  308. package/themes/business/src/layouts/SafeAreaContainer.tsx +49 -49
  309. package/themes/business/src/providers/AlertProvider.tsx +38 -38
  310. package/themes/business/src/providers/Responsive.tsx +15 -15
  311. package/themes/business/src/providers/StoreUtil.tsx +54 -54
  312. package/themes/business/src/types/@react-navigation/material-bottom-tabs/index.d.ts +1 -1
  313. package/themes/business/src/types/index.tsx +558 -555
  314. package/themes/business/src/types/ordering-api-sdk/index.d.ts +1 -1
  315. package/themes/business/src/types/ordering-components/index.d.ts +1 -1
  316. package/themes/business/src/types/react-hook-form/index.d.ts +1 -1
  317. package/themes/business/src/types/react-native-credit-card-input/index.d.ts +1 -1
  318. package/themes/business/src/types/react-native-fbsdk/index.d.ts +1 -1
  319. package/themes/business/src/types/react-native-gesture-handler/index.d.ts +1 -1
  320. package/themes/business/src/types/react-native-html-to-pdf/index.d.ts +1 -1
  321. package/themes/business/src/types/react-native-loading-spinner-overlay/index.d.ts +1 -1
  322. package/themes/business/src/types/react-native-vector-icons/index.d.ts +5 -5
  323. package/themes/business/src/types/styled-components/index.d.ts +1 -1
  324. package/themes/business/src/types/toggle-switch-react-native/index.d.ts +1 -1
  325. package/themes/business/src/utils/index.tsx +333 -333
  326. package/themes/doordash/index.tsx +103 -103
  327. package/themes/doordash/src/components/ActiveOrders/index.tsx +120 -120
  328. package/themes/doordash/src/components/ActiveOrders/styles.tsx +43 -43
  329. package/themes/doordash/src/components/AddressDetails/index.tsx +72 -72
  330. package/themes/doordash/src/components/AddressDetails/styles.tsx +26 -26
  331. package/themes/doordash/src/components/AddressForm/index.tsx +669 -669
  332. package/themes/doordash/src/components/AddressForm/styles.tsx +38 -38
  333. package/themes/doordash/src/components/AddressList/index.tsx +332 -332
  334. package/themes/doordash/src/components/AddressList/styles.tsx +22 -22
  335. package/themes/doordash/src/components/AppleLogin/index.tsx +130 -130
  336. package/themes/doordash/src/components/AppleLogin/styles.tsx +5 -5
  337. package/themes/doordash/src/components/BusinessBasicInformation/index.tsx +221 -221
  338. package/themes/doordash/src/components/BusinessBasicInformation/styles.tsx +35 -35
  339. package/themes/doordash/src/components/BusinessController/index.tsx +183 -183
  340. package/themes/doordash/src/components/BusinessController/styles.tsx +49 -49
  341. package/themes/doordash/src/components/BusinessInformation/index.tsx +113 -113
  342. package/themes/doordash/src/components/BusinessInformation/styles.tsx +36 -36
  343. package/themes/doordash/src/components/BusinessItemAccordion/index.tsx +126 -126
  344. package/themes/doordash/src/components/BusinessItemAccordion/styles.tsx +62 -62
  345. package/themes/doordash/src/components/BusinessProductsCategories/index.tsx +139 -139
  346. package/themes/doordash/src/components/BusinessProductsCategories/styles.tsx +7 -7
  347. package/themes/doordash/src/components/BusinessProductsList/index.tsx +221 -221
  348. package/themes/doordash/src/components/BusinessProductsList/styles.tsx +13 -13
  349. package/themes/doordash/src/components/BusinessProductsListing/index.tsx +386 -386
  350. package/themes/doordash/src/components/BusinessProductsListing/styles.tsx +61 -61
  351. package/themes/doordash/src/components/BusinessReviews/index.tsx +122 -122
  352. package/themes/doordash/src/components/BusinessReviews/styles.tsx +34 -34
  353. package/themes/doordash/src/components/BusinessTypeFilter/index.tsx +130 -130
  354. package/themes/doordash/src/components/BusinessTypeFilter/styles.tsx +42 -42
  355. package/themes/doordash/src/components/BusinessesListing/index.tsx +272 -272
  356. package/themes/doordash/src/components/BusinessesListing/styles.tsx +57 -57
  357. package/themes/doordash/src/components/BusinessesSortBy/index.tsx +25 -25
  358. package/themes/doordash/src/components/BusinessesSortBy/styles.ts +19 -19
  359. package/themes/doordash/src/components/Cart/index.tsx +265 -265
  360. package/themes/doordash/src/components/Cart/styles.tsx +28 -28
  361. package/themes/doordash/src/components/CartContent/index.tsx +56 -56
  362. package/themes/doordash/src/components/CartContent/styles.tsx +19 -19
  363. package/themes/doordash/src/components/Checkout/index.tsx +643 -643
  364. package/themes/doordash/src/components/Checkout/styles.tsx +95 -95
  365. package/themes/doordash/src/components/CouponControl/index.tsx +122 -122
  366. package/themes/doordash/src/components/CouponControl/styles.tsx +23 -23
  367. package/themes/doordash/src/components/DriverTips/index.tsx +171 -171
  368. package/themes/doordash/src/components/DriverTips/styles.tsx +62 -62
  369. package/themes/doordash/src/components/FacebookLogin/index.tsx +124 -124
  370. package/themes/doordash/src/components/FacebookLogin/styles.tsx +21 -21
  371. package/themes/doordash/src/components/FloatingButton/index.tsx +71 -71
  372. package/themes/doordash/src/components/FloatingButton/styles.tsx +28 -28
  373. package/themes/doordash/src/components/ForgotPasswordForm/index.tsx +151 -151
  374. package/themes/doordash/src/components/ForgotPasswordForm/styles.tsx +17 -17
  375. package/themes/doordash/src/components/GoogleLogin/index.tsx +117 -117
  376. package/themes/doordash/src/components/GoogleLogin/styles.tsx +21 -21
  377. package/themes/doordash/src/components/GoogleMap/index.tsx +233 -233
  378. package/themes/doordash/src/components/Help/index.tsx +54 -54
  379. package/themes/doordash/src/components/Help/styles.tsx +11 -11
  380. package/themes/doordash/src/components/HelpAccountAndPayment/index.tsx +67 -67
  381. package/themes/doordash/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  382. package/themes/doordash/src/components/HelpGuide/index.tsx +66 -66
  383. package/themes/doordash/src/components/HelpGuide/styles.tsx +6 -6
  384. package/themes/doordash/src/components/HelpOrder/index.tsx +78 -78
  385. package/themes/doordash/src/components/HelpOrder/styles.tsx +5 -5
  386. package/themes/doordash/src/components/Home/index.tsx +210 -210
  387. package/themes/doordash/src/components/Home/styles.tsx +21 -21
  388. package/themes/doordash/src/components/LanguageSelector/index.tsx +109 -109
  389. package/themes/doordash/src/components/LanguageSelector/styles.tsx +7 -7
  390. package/themes/doordash/src/components/LastOrders/index.tsx +102 -102
  391. package/themes/doordash/src/components/LastOrders/styles.tsx +17 -17
  392. package/themes/doordash/src/components/LoginForm/index.tsx +484 -484
  393. package/themes/doordash/src/components/LoginForm/styles.tsx +78 -78
  394. package/themes/doordash/src/components/LogoutButton/index.tsx +57 -57
  395. package/themes/doordash/src/components/Messages/index.tsx +443 -385
  396. package/themes/doordash/src/components/Messages/styles.tsx +24 -22
  397. package/themes/doordash/src/components/MomentOption/index.tsx +237 -237
  398. package/themes/doordash/src/components/MomentOption/styles.tsx +62 -62
  399. package/themes/doordash/src/components/NavBar/index.tsx +125 -125
  400. package/themes/doordash/src/components/NotFoundSource/index.tsx +51 -51
  401. package/themes/doordash/src/components/NotFoundSource/styles.tsx +16 -16
  402. package/themes/doordash/src/components/OrderDetails/index.tsx +423 -423
  403. package/themes/doordash/src/components/OrderDetails/styles.tsx +128 -128
  404. package/themes/doordash/src/components/OrderSummary/index.tsx +251 -251
  405. package/themes/doordash/src/components/OrderSummary/styles.tsx +32 -32
  406. package/themes/doordash/src/components/OrderTypeSelector/index.tsx +122 -122
  407. package/themes/doordash/src/components/OrderTypeSelector/styles.tsx +6 -6
  408. package/themes/doordash/src/components/OrdersOption/index.tsx +223 -223
  409. package/themes/doordash/src/components/OrdersOption/styles.tsx +4 -4
  410. package/themes/doordash/src/components/PaymentOptionCash/index.tsx +102 -102
  411. package/themes/doordash/src/components/PaymentOptionCash/styles.tsx +18 -18
  412. package/themes/doordash/src/components/PaymentOptionStripe/index.tsx +232 -232
  413. package/themes/doordash/src/components/PaymentOptionStripe/styles.tsx +73 -73
  414. package/themes/doordash/src/components/PaymentOptions/index.tsx +511 -511
  415. package/themes/doordash/src/components/PaymentOptions/styles.tsx +51 -51
  416. package/themes/doordash/src/components/PaypalPaymethod/index.tsx +38 -38
  417. package/themes/doordash/src/components/PhoneInputNumber/index.tsx +113 -113
  418. package/themes/doordash/src/components/PhoneInputNumber/styles.tsx +5 -5
  419. package/themes/doordash/src/components/PreviousOrders/index.tsx +135 -135
  420. package/themes/doordash/src/components/PreviousOrders/styles.tsx +36 -36
  421. package/themes/doordash/src/components/ProductForm/index.tsx +372 -372
  422. package/themes/doordash/src/components/ProductForm/styles.tsx +76 -76
  423. package/themes/doordash/src/components/ProductIngredient/index.tsx +44 -44
  424. package/themes/doordash/src/components/ProductIngredient/styles.tsx +7 -7
  425. package/themes/doordash/src/components/ProductItemAccordion/index.tsx +294 -294
  426. package/themes/doordash/src/components/ProductItemAccordion/styles.tsx +56 -56
  427. package/themes/doordash/src/components/ProductOption/index.tsx +55 -55
  428. package/themes/doordash/src/components/ProductOption/styles.tsx +13 -13
  429. package/themes/doordash/src/components/ProductOptionSubOption/index.tsx +137 -137
  430. package/themes/doordash/src/components/ProductOptionSubOption/styles.tsx +34 -34
  431. package/themes/doordash/src/components/ReviewOrder/index.tsx +202 -202
  432. package/themes/doordash/src/components/ReviewOrder/styles.tsx +36 -36
  433. package/themes/doordash/src/components/SearchBar/index.tsx +105 -105
  434. package/themes/doordash/src/components/SignupForm/index.tsx +579 -579
  435. package/themes/doordash/src/components/SignupForm/styles.tsx +32 -32
  436. package/themes/doordash/src/components/SingleProductCard/index.tsx +96 -96
  437. package/themes/doordash/src/components/SingleProductCard/styles.tsx +22 -22
  438. package/themes/doordash/src/components/SocialShare/index.tsx +160 -160
  439. package/themes/doordash/src/components/SocialShare/styles.ts +20 -20
  440. package/themes/doordash/src/components/StripeCardForm/index.tsx +97 -97
  441. package/themes/doordash/src/components/StripeCardForm/naked.tsx +128 -128
  442. package/themes/doordash/src/components/StripeCardForm/styles.tsx +32 -32
  443. package/themes/doordash/src/components/StripeCardsList/index.tsx +130 -130
  444. package/themes/doordash/src/components/StripeElementsForm/index.tsx +195 -195
  445. package/themes/doordash/src/components/StripeElementsForm/naked.tsx +90 -90
  446. package/themes/doordash/src/components/StripeElementsForm/styles.tsx +13 -13
  447. package/themes/doordash/src/components/StripeRedirectForm/index.tsx +157 -157
  448. package/themes/doordash/src/components/StripeRedirectForm/styles.tsx +23 -23
  449. package/themes/doordash/src/components/UpsellingProducts/index.tsx +184 -184
  450. package/themes/doordash/src/components/UpsellingProducts/styles.tsx +39 -39
  451. package/themes/doordash/src/components/UserDetails/index.tsx +124 -124
  452. package/themes/doordash/src/components/UserDetails/styles.tsx +24 -24
  453. package/themes/doordash/src/components/UserFormDetails/index.tsx +267 -267
  454. package/themes/doordash/src/components/UserFormDetails/styles.tsx +37 -37
  455. package/themes/doordash/src/components/UserProfileForm/index.tsx +354 -354
  456. package/themes/doordash/src/components/UserProfileForm/styles.tsx +40 -40
  457. package/themes/doordash/src/components/VerifyPhone/index.tsx +185 -185
  458. package/themes/doordash/src/components/VerifyPhone/styles.tsx +43 -43
  459. package/themes/doordash/src/components/shared/OAlert.tsx +55 -55
  460. package/themes/doordash/src/components/shared/OBottomPopup.tsx +75 -75
  461. package/themes/doordash/src/components/shared/OButton.tsx +139 -138
  462. package/themes/doordash/src/components/shared/OButtonGroup.tsx +53 -53
  463. package/themes/doordash/src/components/shared/OChatBubble.tsx +53 -53
  464. package/themes/doordash/src/components/shared/OCheckbox.tsx +79 -79
  465. package/themes/doordash/src/components/shared/ODropDown.tsx +167 -167
  466. package/themes/doordash/src/components/shared/OIcon.tsx +54 -54
  467. package/themes/doordash/src/components/shared/OIconButton.tsx +135 -135
  468. package/themes/doordash/src/components/shared/OIconText.tsx +53 -53
  469. package/themes/doordash/src/components/shared/OInput.tsx +125 -125
  470. package/themes/doordash/src/components/shared/OKeyButton.tsx +34 -34
  471. package/themes/doordash/src/components/shared/OModal.tsx +173 -173
  472. package/themes/doordash/src/components/shared/OText.tsx +52 -52
  473. package/themes/doordash/src/components/shared/OTextarea.tsx +35 -35
  474. package/themes/doordash/src/components/shared/OToast.tsx +93 -93
  475. package/themes/doordash/src/components/shared/OToggle.tsx +157 -157
  476. package/themes/doordash/src/components/shared/index.tsx +37 -37
  477. package/themes/doordash/src/config/constants.tsx +14 -14
  478. package/themes/doordash/src/layouts/Container.tsx +26 -26
  479. package/themes/doordash/src/layouts/SafeAreaContainer.tsx +6 -6
  480. package/themes/doordash/src/providers/AlertProvider.tsx +49 -49
  481. package/themes/doordash/src/providers/StoreUtil.tsx +50 -50
  482. package/themes/doordash/src/types/index.tsx +433 -433
  483. package/themes/doordash/src/utils/index.tsx +165 -165
  484. package/themes/franchises/index.tsx +110 -110
  485. package/themes/franchises/src/components/ActiveOrders/index.tsx +134 -134
  486. package/themes/franchises/src/components/ActiveOrders/styles.tsx +44 -44
  487. package/themes/franchises/src/components/AddressDetails/index.tsx +77 -77
  488. package/themes/franchises/src/components/AddressDetails/styles.tsx +21 -21
  489. package/themes/franchises/src/components/AddressForm/index.tsx +837 -837
  490. package/themes/franchises/src/components/AddressForm/styles.tsx +27 -27
  491. package/themes/franchises/src/components/AddressList/index.tsx +338 -338
  492. package/themes/franchises/src/components/AddressList/styles.tsx +20 -20
  493. package/themes/franchises/src/components/AppleLogin/index.tsx +148 -148
  494. package/themes/franchises/src/components/AppleLogin/styles.tsx +21 -21
  495. package/themes/franchises/src/components/BottomWrapper/index.tsx +29 -29
  496. package/themes/franchises/src/components/BusinessBasicInformation/index.tsx +310 -310
  497. package/themes/franchises/src/components/BusinessBasicInformation/styles.tsx +65 -65
  498. package/themes/franchises/src/components/BusinessController/index.tsx +184 -184
  499. package/themes/franchises/src/components/BusinessController/styles.tsx +63 -63
  500. package/themes/franchises/src/components/BusinessFeaturedController/index.tsx +189 -189
  501. package/themes/franchises/src/components/BusinessFeaturedController/styles.tsx +50 -50
  502. package/themes/franchises/src/components/BusinessInformation/index.tsx +202 -202
  503. package/themes/franchises/src/components/BusinessInformation/styles.tsx +38 -38
  504. package/themes/franchises/src/components/BusinessItemAccordion/index.tsx +125 -125
  505. package/themes/franchises/src/components/BusinessItemAccordion/styles.tsx +54 -54
  506. package/themes/franchises/src/components/BusinessProductsCategories/index.tsx +87 -87
  507. package/themes/franchises/src/components/BusinessProductsCategories/styles.tsx +7 -7
  508. package/themes/franchises/src/components/BusinessProductsList/index.tsx +199 -199
  509. package/themes/franchises/src/components/BusinessProductsList/styles.tsx +13 -13
  510. package/themes/franchises/src/components/BusinessProductsListing/index.tsx +292 -292
  511. package/themes/franchises/src/components/BusinessProductsListing/styles.tsx +30 -30
  512. package/themes/franchises/src/components/BusinessReviews/index.tsx +249 -249
  513. package/themes/franchises/src/components/BusinessReviews/styles.tsx +59 -59
  514. package/themes/franchises/src/components/BusinessTypeFilter/index.tsx +127 -127
  515. package/themes/franchises/src/components/BusinessTypeFilter/styles.tsx +40 -40
  516. package/themes/franchises/src/components/BusinessesListing/index.tsx +339 -339
  517. package/themes/franchises/src/components/BusinessesListing/styles.tsx +91 -91
  518. package/themes/franchises/src/components/Cart/index.tsx +266 -266
  519. package/themes/franchises/src/components/Cart/styles.tsx +28 -28
  520. package/themes/franchises/src/components/CartContent/index.tsx +60 -60
  521. package/themes/franchises/src/components/CartContent/styles.tsx +19 -19
  522. package/themes/franchises/src/components/Checkout/index.tsx +664 -664
  523. package/themes/franchises/src/components/Checkout/styles.tsx +89 -89
  524. package/themes/franchises/src/components/CouponControl/index.tsx +119 -119
  525. package/themes/franchises/src/components/CouponControl/styles.tsx +22 -22
  526. package/themes/franchises/src/components/DriverTips/index.tsx +167 -167
  527. package/themes/franchises/src/components/DriverTips/styles.tsx +63 -63
  528. package/themes/franchises/src/components/FacebookLogin/index.tsx +107 -107
  529. package/themes/franchises/src/components/FacebookLogin/styles.tsx +21 -21
  530. package/themes/franchises/src/components/FloatingButton/index.tsx +100 -100
  531. package/themes/franchises/src/components/FloatingButton/styles.tsx +26 -26
  532. package/themes/franchises/src/components/ForgotPasswordForm/index.tsx +156 -156
  533. package/themes/franchises/src/components/ForgotPasswordForm/styles.tsx +11 -11
  534. package/themes/franchises/src/components/GPSButton/index.tsx +84 -84
  535. package/themes/franchises/src/components/GPSButton/styles.ts +5 -5
  536. package/themes/franchises/src/components/GoogleLogin/index.tsx +122 -122
  537. package/themes/franchises/src/components/GoogleLogin/styles.tsx +23 -23
  538. package/themes/franchises/src/components/GoogleMap/index.tsx +229 -229
  539. package/themes/franchises/src/components/Help/index.tsx +55 -55
  540. package/themes/franchises/src/components/Help/styles.tsx +11 -11
  541. package/themes/franchises/src/components/HelpAccountAndPayment/index.tsx +67 -67
  542. package/themes/franchises/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  543. package/themes/franchises/src/components/HelpGuide/index.tsx +66 -66
  544. package/themes/franchises/src/components/HelpGuide/styles.tsx +6 -6
  545. package/themes/franchises/src/components/HelpOrder/index.tsx +78 -78
  546. package/themes/franchises/src/components/HelpOrder/styles.tsx +5 -5
  547. package/themes/franchises/src/components/Home/index.tsx +102 -102
  548. package/themes/franchises/src/components/Home/styles.tsx +18 -18
  549. package/themes/franchises/src/components/LanguageSelector/index.tsx +98 -98
  550. package/themes/franchises/src/components/LanguageSelector/styles.tsx +7 -7
  551. package/themes/franchises/src/components/LastOrder/index.tsx +168 -168
  552. package/themes/franchises/src/components/LastOrder/styles.tsx +16 -16
  553. package/themes/franchises/src/components/LastOrders/index.tsx +104 -104
  554. package/themes/franchises/src/components/LastOrders/styles.tsx +17 -17
  555. package/themes/franchises/src/components/LoginForm/index.tsx +512 -512
  556. package/themes/franchises/src/components/LoginForm/styles.tsx +77 -77
  557. package/themes/franchises/src/components/LogoutButton/index.tsx +36 -36
  558. package/themes/franchises/src/components/Messages/index.tsx +359 -359
  559. package/themes/franchises/src/components/Messages/styles.tsx +20 -20
  560. package/themes/franchises/src/components/MomentOption/index.tsx +321 -321
  561. package/themes/franchises/src/components/MomentOption/styles.tsx +66 -66
  562. package/themes/franchises/src/components/NavBar/index.tsx +129 -129
  563. package/themes/franchises/src/components/NotFoundSource/index.tsx +50 -50
  564. package/themes/franchises/src/components/NotFoundSource/styles.tsx +16 -16
  565. package/themes/franchises/src/components/Notifications/index.tsx +120 -120
  566. package/themes/franchises/src/components/Notifications/styles.ts +20 -20
  567. package/themes/franchises/src/components/OrderDetails/index.tsx +766 -766
  568. package/themes/franchises/src/components/OrderDetails/styles.tsx +120 -120
  569. package/themes/franchises/src/components/OrderSummary/index.tsx +198 -198
  570. package/themes/franchises/src/components/OrderSummary/styles.tsx +35 -35
  571. package/themes/franchises/src/components/OrderTypeSelector/index.tsx +92 -92
  572. package/themes/franchises/src/components/OrderTypeSelector/styles.tsx +26 -26
  573. package/themes/franchises/src/components/OrdersOption/index.tsx +243 -243
  574. package/themes/franchises/src/components/OrdersOption/styles.tsx +5 -5
  575. package/themes/franchises/src/components/PaymentOptionCash/index.tsx +102 -102
  576. package/themes/franchises/src/components/PaymentOptionCash/styles.tsx +18 -18
  577. package/themes/franchises/src/components/PaymentOptionStripe/index.tsx +234 -234
  578. package/themes/franchises/src/components/PaymentOptionStripe/styles.tsx +71 -71
  579. package/themes/franchises/src/components/PaymentOptions/index.tsx +430 -430
  580. package/themes/franchises/src/components/PaymentOptions/styles.tsx +77 -77
  581. package/themes/franchises/src/components/PhoneInputNumber/index.tsx +127 -127
  582. package/themes/franchises/src/components/PhoneInputNumber/styles.tsx +3 -3
  583. package/themes/franchises/src/components/PreviousOrders/index.tsx +188 -188
  584. package/themes/franchises/src/components/PreviousOrders/styles.tsx +33 -33
  585. package/themes/franchises/src/components/ProductForm/index.tsx +695 -695
  586. package/themes/franchises/src/components/ProductForm/styles.tsx +77 -77
  587. package/themes/franchises/src/components/ProductIngredient/index.tsx +43 -43
  588. package/themes/franchises/src/components/ProductIngredient/styles.tsx +7 -7
  589. package/themes/franchises/src/components/ProductItemAccordion/index.tsx +276 -276
  590. package/themes/franchises/src/components/ProductItemAccordion/styles.tsx +57 -57
  591. package/themes/franchises/src/components/ProductOption/index.tsx +50 -50
  592. package/themes/franchises/src/components/ProductOption/styles.tsx +11 -11
  593. package/themes/franchises/src/components/ProductOptionSubOption/index.tsx +146 -146
  594. package/themes/franchises/src/components/ProductOptionSubOption/styles.tsx +32 -32
  595. package/themes/franchises/src/components/ReviewDriver/index.tsx +221 -221
  596. package/themes/franchises/src/components/ReviewDriver/styles.tsx +45 -45
  597. package/themes/franchises/src/components/ReviewOrder/index.tsx +325 -325
  598. package/themes/franchises/src/components/ReviewOrder/styles.tsx +45 -45
  599. package/themes/franchises/src/components/ReviewProduct/index.tsx +275 -275
  600. package/themes/franchises/src/components/ReviewProduct/styles.tsx +52 -52
  601. package/themes/franchises/src/components/SearchBar/index.tsx +139 -139
  602. package/themes/franchises/src/components/SignupForm/index.tsx +643 -643
  603. package/themes/franchises/src/components/SignupForm/styles.tsx +27 -27
  604. package/themes/franchises/src/components/SingleProductCard/index.tsx +124 -124
  605. package/themes/franchises/src/components/SingleProductCard/styles.tsx +23 -23
  606. package/themes/franchises/src/components/StripeCardForm/index.tsx +97 -97
  607. package/themes/franchises/src/components/StripeCardForm/naked.tsx +128 -128
  608. package/themes/franchises/src/components/StripeCardForm/styles.tsx +32 -32
  609. package/themes/franchises/src/components/StripeCardsList/index.tsx +182 -182
  610. package/themes/franchises/src/components/StripeElementsForm/index.tsx +204 -204
  611. package/themes/franchises/src/components/StripeElementsForm/naked.tsx +90 -90
  612. package/themes/franchises/src/components/StripeElementsForm/styles.tsx +13 -13
  613. package/themes/franchises/src/components/StripeRedirectForm/index.tsx +159 -159
  614. package/themes/franchises/src/components/StripeRedirectForm/styles.tsx +23 -23
  615. package/themes/franchises/src/components/TagSelector/index.tsx +94 -94
  616. package/themes/franchises/src/components/UpsellingProducts/index.tsx +222 -222
  617. package/themes/franchises/src/components/UpsellingProducts/styles.tsx +49 -49
  618. package/themes/franchises/src/components/UserDetails/index.tsx +134 -134
  619. package/themes/franchises/src/components/UserDetails/styles.tsx +25 -25
  620. package/themes/franchises/src/components/UserFormDetails/index.tsx +351 -351
  621. package/themes/franchises/src/components/UserFormDetails/styles.tsx +35 -35
  622. package/themes/franchises/src/components/UserProfile/index.tsx +179 -179
  623. package/themes/franchises/src/components/UserProfile/styles.ts +42 -42
  624. package/themes/franchises/src/components/UserProfileForm/index.tsx +253 -253
  625. package/themes/franchises/src/components/UserProfileForm/styles.tsx +29 -29
  626. package/themes/franchises/src/components/VerifyPhone/index.tsx +188 -188
  627. package/themes/franchises/src/components/VerifyPhone/styles.tsx +43 -43
  628. package/themes/franchises/src/components/shared/OAlert.tsx +55 -55
  629. package/themes/franchises/src/components/shared/OBottomPopup.tsx +73 -73
  630. package/themes/franchises/src/components/shared/OBottomStickBar.tsx +62 -62
  631. package/themes/franchises/src/components/shared/OButton.tsx +132 -132
  632. package/themes/franchises/src/components/shared/ODropDown.tsx +169 -169
  633. package/themes/franchises/src/components/shared/OIcon.tsx +53 -53
  634. package/themes/franchises/src/components/shared/OIconButton.tsx +127 -127
  635. package/themes/franchises/src/components/shared/OIconText.tsx +53 -53
  636. package/themes/franchises/src/components/shared/OInput.tsx +113 -113
  637. package/themes/franchises/src/components/shared/OKeyButton.tsx +34 -34
  638. package/themes/franchises/src/components/shared/OModal.tsx +172 -172
  639. package/themes/franchises/src/components/shared/OText.tsx +52 -52
  640. package/themes/franchises/src/components/shared/OTextarea.tsx +36 -36
  641. package/themes/franchises/src/components/shared/OToast.tsx +93 -93
  642. package/themes/franchises/src/components/shared/OToggle.tsx +157 -157
  643. package/themes/franchises/src/components/shared/index.tsx +29 -29
  644. package/themes/franchises/src/config/constants.tsx +56 -56
  645. package/themes/franchises/src/layouts/Container.tsx +23 -23
  646. package/themes/franchises/src/layouts/SafeAreaContainer.tsx +6 -6
  647. package/themes/franchises/src/providers/AlertProvider.tsx +43 -43
  648. package/themes/franchises/src/providers/StoreUtil.tsx +50 -50
  649. package/themes/franchises/src/types/index.tsx +444 -444
  650. package/themes/franchises/src/utils/index.tsx +221 -221
  651. package/themes/instacart/index.tsx +88 -88
  652. package/themes/instacart/src/components/ActiveOrders/index.tsx +135 -135
  653. package/themes/instacart/src/components/ActiveOrders/styles.tsx +51 -51
  654. package/themes/instacart/src/components/AddressDetails/index.tsx +69 -69
  655. package/themes/instacart/src/components/AddressDetails/styles.tsx +22 -22
  656. package/themes/instacart/src/components/AddressForm/index.tsx +664 -664
  657. package/themes/instacart/src/components/AddressForm/styles.tsx +33 -33
  658. package/themes/instacart/src/components/AddressList/index.tsx +326 -326
  659. package/themes/instacart/src/components/AddressList/styles.tsx +20 -20
  660. package/themes/instacart/src/components/BusinessBasicInformation/index.tsx +289 -289
  661. package/themes/instacart/src/components/BusinessBasicInformation/styles.tsx +43 -43
  662. package/themes/instacart/src/components/BusinessController/index.tsx +205 -205
  663. package/themes/instacart/src/components/BusinessController/styles.tsx +53 -53
  664. package/themes/instacart/src/components/BusinessInformation/index.tsx +101 -101
  665. package/themes/instacart/src/components/BusinessInformation/styles.tsx +36 -36
  666. package/themes/instacart/src/components/BusinessItemAccordion/index.tsx +112 -112
  667. package/themes/instacart/src/components/BusinessItemAccordion/styles.tsx +59 -59
  668. package/themes/instacart/src/components/BusinessProductsCategories/index.tsx +71 -71
  669. package/themes/instacart/src/components/BusinessProductsCategories/styles.tsx +7 -7
  670. package/themes/instacart/src/components/BusinessProductsList/index.tsx +179 -179
  671. package/themes/instacart/src/components/BusinessProductsList/styles.tsx +13 -13
  672. package/themes/instacart/src/components/BusinessProductsListing/index.tsx +344 -344
  673. package/themes/instacart/src/components/BusinessProductsListing/styles.tsx +35 -35
  674. package/themes/instacart/src/components/BusinessReviews/index.tsx +121 -121
  675. package/themes/instacart/src/components/BusinessReviews/styles.tsx +33 -33
  676. package/themes/instacart/src/components/BusinessTypeFilter/index.tsx +135 -135
  677. package/themes/instacart/src/components/BusinessTypeFilter/styles.tsx +30 -30
  678. package/themes/instacart/src/components/BusinessesListing/index.tsx +222 -222
  679. package/themes/instacart/src/components/BusinessesListing/styles.tsx +52 -52
  680. package/themes/instacart/src/components/Cart/index.tsx +283 -283
  681. package/themes/instacart/src/components/Cart/styles.tsx +39 -39
  682. package/themes/instacart/src/components/CartContent/index.tsx +51 -51
  683. package/themes/instacart/src/components/CartContent/styles.tsx +19 -19
  684. package/themes/instacart/src/components/CartSingle/index.tsx +194 -194
  685. package/themes/instacart/src/components/CartSingle/styles.tsx +55 -55
  686. package/themes/instacart/src/components/Checkout/index.tsx +632 -632
  687. package/themes/instacart/src/components/Checkout/styles.tsx +105 -105
  688. package/themes/instacart/src/components/CouponControl/index.tsx +121 -121
  689. package/themes/instacart/src/components/CouponControl/styles.tsx +23 -23
  690. package/themes/instacart/src/components/DriverTips/index.tsx +153 -153
  691. package/themes/instacart/src/components/DriverTips/styles.tsx +58 -58
  692. package/themes/instacart/src/components/FacebookLogin/index.tsx +117 -117
  693. package/themes/instacart/src/components/FacebookLogin/styles.tsx +16 -16
  694. package/themes/instacart/src/components/FloatingButton/index.tsx +81 -81
  695. package/themes/instacart/src/components/FloatingButton/styles.tsx +30 -30
  696. package/themes/instacart/src/components/ForgotPasswordForm/index.tsx +155 -155
  697. package/themes/instacart/src/components/ForgotPasswordForm/styles.tsx +11 -11
  698. package/themes/instacart/src/components/GoogleMap/index.tsx +236 -236
  699. package/themes/instacart/src/components/Home/index.tsx +336 -336
  700. package/themes/instacart/src/components/Home/styles.tsx +24 -24
  701. package/themes/instacart/src/components/LanguageSelector/index.tsx +109 -109
  702. package/themes/instacart/src/components/LanguageSelector/styles.tsx +7 -7
  703. package/themes/instacart/src/components/LoginForm/index.tsx +442 -442
  704. package/themes/instacart/src/components/LoginForm/styles.tsx +69 -69
  705. package/themes/instacart/src/components/LogoutButton/index.tsx +61 -61
  706. package/themes/instacart/src/components/Messages/index.tsx +430 -375
  707. package/themes/instacart/src/components/Messages/styles.tsx +23 -21
  708. package/themes/instacart/src/components/MomentOption/index.tsx +320 -320
  709. package/themes/instacart/src/components/MomentOption/styles.tsx +71 -71
  710. package/themes/instacart/src/components/NavBar/index.tsx +131 -131
  711. package/themes/instacart/src/components/NotFoundSource/index.tsx +55 -55
  712. package/themes/instacart/src/components/NotFoundSource/styles.tsx +16 -16
  713. package/themes/instacart/src/components/OrderDetails/index.tsx +464 -464
  714. package/themes/instacart/src/components/OrderDetails/styles.tsx +146 -146
  715. package/themes/instacart/src/components/OrderSummary/index.tsx +222 -222
  716. package/themes/instacart/src/components/OrderSummary/styles.tsx +36 -36
  717. package/themes/instacart/src/components/OrderTypeSelector/index.tsx +130 -130
  718. package/themes/instacart/src/components/OrderTypeSelector/styles.tsx +6 -6
  719. package/themes/instacart/src/components/OrdersOption/index.tsx +220 -220
  720. package/themes/instacart/src/components/OrdersOption/styles.tsx +3 -3
  721. package/themes/instacart/src/components/PaymentOptionCash/index.tsx +102 -102
  722. package/themes/instacart/src/components/PaymentOptionCash/styles.tsx +15 -15
  723. package/themes/instacart/src/components/PaymentOptionStripe/index.tsx +232 -232
  724. package/themes/instacart/src/components/PaymentOptionStripe/styles.tsx +62 -62
  725. package/themes/instacart/src/components/PaymentOptions/index.tsx +496 -496
  726. package/themes/instacart/src/components/PaymentOptions/styles.tsx +43 -43
  727. package/themes/instacart/src/components/PaypalPaymethod/index.tsx +38 -38
  728. package/themes/instacart/src/components/PhoneInputNumber/index.tsx +112 -112
  729. package/themes/instacart/src/components/PhoneInputNumber/styles.tsx +5 -5
  730. package/themes/instacart/src/components/PreviousOrders/index.tsx +134 -134
  731. package/themes/instacart/src/components/PreviousOrders/styles.tsx +38 -38
  732. package/themes/instacart/src/components/ProductForm/index.tsx +392 -392
  733. package/themes/instacart/src/components/ProductForm/styles.tsx +73 -73
  734. package/themes/instacart/src/components/ProductIngredient/index.tsx +44 -44
  735. package/themes/instacart/src/components/ProductIngredient/styles.tsx +7 -7
  736. package/themes/instacart/src/components/ProductItemAccordion/index.tsx +285 -285
  737. package/themes/instacart/src/components/ProductItemAccordion/styles.tsx +52 -52
  738. package/themes/instacart/src/components/ProductOption/index.tsx +49 -49
  739. package/themes/instacart/src/components/ProductOption/styles.tsx +12 -12
  740. package/themes/instacart/src/components/ProductOptionSubOption/index.tsx +146 -146
  741. package/themes/instacart/src/components/ProductOptionSubOption/styles.tsx +33 -33
  742. package/themes/instacart/src/components/ReviewDriver/index.tsx +221 -221
  743. package/themes/instacart/src/components/ReviewDriver/styles.tsx +45 -45
  744. package/themes/instacart/src/components/ReviewOrder/index.tsx +325 -325
  745. package/themes/instacart/src/components/ReviewOrder/styles.tsx +45 -45
  746. package/themes/instacart/src/components/ReviewProduct/index.tsx +275 -275
  747. package/themes/instacart/src/components/ReviewProduct/styles.tsx +52 -52
  748. package/themes/instacart/src/components/SearchBar/index.tsx +104 -104
  749. package/themes/instacart/src/components/SearchList/index.tsx +357 -357
  750. package/themes/instacart/src/components/SearchList/styles.tsx +61 -61
  751. package/themes/instacart/src/components/SignupForm/index.tsx +587 -587
  752. package/themes/instacart/src/components/SignupForm/styles.tsx +39 -39
  753. package/themes/instacart/src/components/SingleProductCard/index.tsx +104 -104
  754. package/themes/instacart/src/components/SingleProductCard/styles.tsx +21 -21
  755. package/themes/instacart/src/components/SocialShare/index.tsx +160 -160
  756. package/themes/instacart/src/components/SocialShare/styles.ts +20 -20
  757. package/themes/instacart/src/components/StripeCardForm/index.tsx +97 -97
  758. package/themes/instacart/src/components/StripeCardForm/naked.tsx +128 -128
  759. package/themes/instacart/src/components/StripeCardForm/styles.tsx +27 -27
  760. package/themes/instacart/src/components/StripeCardsList/index.tsx +144 -144
  761. package/themes/instacart/src/components/StripeElementsForm/index.tsx +192 -192
  762. package/themes/instacart/src/components/StripeElementsForm/naked.tsx +90 -90
  763. package/themes/instacart/src/components/StripeElementsForm/styles.tsx +9 -9
  764. package/themes/instacart/src/components/StripeRedirectForm/index.tsx +159 -159
  765. package/themes/instacart/src/components/StripeRedirectForm/styles.tsx +23 -23
  766. package/themes/instacart/src/components/TagSelector/index.tsx +94 -94
  767. package/themes/instacart/src/components/UpsellingProducts/index.tsx +230 -230
  768. package/themes/instacart/src/components/UpsellingProducts/styles.tsx +31 -31
  769. package/themes/instacart/src/components/UserDetails/index.tsx +135 -135
  770. package/themes/instacart/src/components/UserDetails/styles.tsx +21 -21
  771. package/themes/instacart/src/components/UserFormDetails/index.tsx +307 -307
  772. package/themes/instacart/src/components/UserFormDetails/styles.tsx +38 -38
  773. package/themes/instacart/src/components/UserProfileForm/index.tsx +106 -106
  774. package/themes/instacart/src/components/UserProfileForm/styles.tsx +37 -37
  775. package/themes/instacart/src/components/VerifyPhone/index.tsx +187 -187
  776. package/themes/instacart/src/components/VerifyPhone/styles.tsx +43 -43
  777. package/themes/instacart/src/components/shared/OAlert.tsx +53 -53
  778. package/themes/instacart/src/components/shared/OBottomPopup.tsx +118 -118
  779. package/themes/instacart/src/components/shared/OBottomStickBar.tsx +62 -62
  780. package/themes/instacart/src/components/shared/OButton.tsx +133 -133
  781. package/themes/instacart/src/components/shared/ODropDown.tsx +170 -170
  782. package/themes/instacart/src/components/shared/OIcon.tsx +53 -53
  783. package/themes/instacart/src/components/shared/OIconButton.tsx +134 -134
  784. package/themes/instacart/src/components/shared/OInput.tsx +122 -122
  785. package/themes/instacart/src/components/shared/OModal.tsx +156 -156
  786. package/themes/instacart/src/components/shared/OText.tsx +58 -58
  787. package/themes/instacart/src/components/shared/OToast.tsx +92 -92
  788. package/themes/instacart/src/components/shared/index.tsx +23 -23
  789. package/themes/instacart/src/config/constants.tsx +28 -28
  790. package/themes/instacart/src/layouts/Container.tsx +29 -29
  791. package/themes/instacart/src/layouts/SafeAreaContainer.tsx +6 -6
  792. package/themes/instacart/src/providers/AlertProvider.tsx +43 -43
  793. package/themes/instacart/src/providers/CartBottomSheetProvider.tsx +37 -37
  794. package/themes/instacart/src/providers/StoreUtil.tsx +50 -50
  795. package/themes/instacart/src/types/index.tsx +458 -458
  796. package/themes/instacart/src/utils/index.tsx +165 -165
  797. package/themes/kiosk/index.tsx +122 -122
  798. package/themes/kiosk/src/components/BusinessItemAccordion/index.tsx +137 -137
  799. package/themes/kiosk/src/components/BusinessItemAccordion/styles.tsx +60 -60
  800. package/themes/kiosk/src/components/BusinessMenu/index.tsx +165 -165
  801. package/themes/kiosk/src/components/BusinessProductsListing/index.tsx +174 -174
  802. package/themes/kiosk/src/components/BusinessProductsListing/styles.tsx +35 -35
  803. package/themes/kiosk/src/components/Cart/index.tsx +423 -423
  804. package/themes/kiosk/src/components/Cart/styles.tsx +70 -70
  805. package/themes/kiosk/src/components/CartBottomSheet/index.tsx +274 -274
  806. package/themes/kiosk/src/components/CartBottomSheet/styles.tsx +53 -53
  807. package/themes/kiosk/src/components/CartContent/index.tsx +76 -76
  808. package/themes/kiosk/src/components/CartContent/styles.tsx +15 -15
  809. package/themes/kiosk/src/components/CartItem/index.tsx +207 -207
  810. package/themes/kiosk/src/components/CartItem/styles.tsx +33 -33
  811. package/themes/kiosk/src/components/CategoriesMenu/index.tsx +234 -234
  812. package/themes/kiosk/src/components/Checkout/index.tsx +157 -157
  813. package/themes/kiosk/src/components/Checkout/styles.tsx +94 -94
  814. package/themes/kiosk/src/components/CouponControl/index.tsx +138 -138
  815. package/themes/kiosk/src/components/CouponControl/styles.tsx +22 -22
  816. package/themes/kiosk/src/components/CustomerName/index.tsx +171 -171
  817. package/themes/kiosk/src/components/CustomerName/styles.tsx +10 -10
  818. package/themes/kiosk/src/components/DrawerView/index.tsx +57 -57
  819. package/themes/kiosk/src/components/DrawerView/styles.tsx +30 -30
  820. package/themes/kiosk/src/components/Intro/index.tsx +148 -148
  821. package/themes/kiosk/src/components/LanguageSelector/index.tsx +138 -138
  822. package/themes/kiosk/src/components/LanguageSelector/lang_country.json +140 -140
  823. package/themes/kiosk/src/components/LanguageSelector/styles.tsx +12 -12
  824. package/themes/kiosk/src/components/LoginForm/index.tsx +272 -272
  825. package/themes/kiosk/src/components/LoginForm/styles.tsx +9 -9
  826. package/themes/kiosk/src/components/LogoutPopup/index.tsx +173 -173
  827. package/themes/kiosk/src/components/LogoutPopup/styles.tsx +26 -26
  828. package/themes/kiosk/src/components/NavBar/index.tsx +131 -131
  829. package/themes/kiosk/src/components/NotFoundSource/index.tsx +51 -51
  830. package/themes/kiosk/src/components/NotFoundSource/styles.tsx +16 -16
  831. package/themes/kiosk/src/components/OptionCard/index.tsx +102 -102
  832. package/themes/kiosk/src/components/OptionCard/styles.tsx +22 -22
  833. package/themes/kiosk/src/components/OrderDetails/index.tsx +593 -593
  834. package/themes/kiosk/src/components/OrderDetails/styles.tsx +53 -53
  835. package/themes/kiosk/src/components/OrderSummary/index.tsx +195 -195
  836. package/themes/kiosk/src/components/OrderSummary/styles.tsx +33 -33
  837. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +151 -151
  838. package/themes/kiosk/src/components/OrderTypeCardSelector/styles.tsx +6 -6
  839. package/themes/kiosk/src/components/OrderTypeSelector/index.tsx +98 -98
  840. package/themes/kiosk/src/components/OrderTypeSelector/styles.tsx +6 -6
  841. package/themes/kiosk/src/components/PaymentOptionCash/index.tsx +100 -100
  842. package/themes/kiosk/src/components/PaymentOptionCash/styles.tsx +18 -18
  843. package/themes/kiosk/src/components/PaymentOptionStripe/index.tsx +70 -70
  844. package/themes/kiosk/src/components/PaymentOptionStripe/styles.tsx +7 -7
  845. package/themes/kiosk/src/components/PaymentOptions/index.tsx +277 -277
  846. package/themes/kiosk/src/components/PaymentOptions/styles.tsx +55 -55
  847. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +112 -112
  848. package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +5 -5
  849. package/themes/kiosk/src/components/ProductForm/index.tsx +554 -554
  850. package/themes/kiosk/src/components/ProductForm/styles.tsx +83 -83
  851. package/themes/kiosk/src/components/ProductIngredient/index.tsx +44 -44
  852. package/themes/kiosk/src/components/ProductIngredient/styles.tsx +7 -7
  853. package/themes/kiosk/src/components/ProductItemAccordion/index.tsx +244 -244
  854. package/themes/kiosk/src/components/ProductItemAccordion/styles.tsx +71 -71
  855. package/themes/kiosk/src/components/ProductOption/index.tsx +54 -54
  856. package/themes/kiosk/src/components/ProductOption/styles.tsx +15 -15
  857. package/themes/kiosk/src/components/ProductOptionSubOption/index.tsx +174 -174
  858. package/themes/kiosk/src/components/ProductOptionSubOption/styles.tsx +42 -42
  859. package/themes/kiosk/src/components/PromoCard/index.tsx +117 -117
  860. package/themes/kiosk/src/components/QuantityControl/index.tsx +92 -92
  861. package/themes/kiosk/src/components/QuantityControl/styles.tsx +9 -9
  862. package/themes/kiosk/src/components/UpsellingProducts/index.tsx +339 -339
  863. package/themes/kiosk/src/components/UpsellingProducts/styles.tsx +26 -26
  864. package/themes/kiosk/src/components/shared/OAlert.tsx +55 -55
  865. package/themes/kiosk/src/components/shared/OBottomPopup.tsx +77 -77
  866. package/themes/kiosk/src/components/shared/OButton.tsx +132 -132
  867. package/themes/kiosk/src/components/shared/OCard.tsx +110 -110
  868. package/themes/kiosk/src/components/shared/OChatBubble.tsx +52 -52
  869. package/themes/kiosk/src/components/shared/OCheckbox.tsx +77 -77
  870. package/themes/kiosk/src/components/shared/ODropDown.tsx +161 -161
  871. package/themes/kiosk/src/components/shared/OIcon.tsx +51 -51
  872. package/themes/kiosk/src/components/shared/OIconButton.tsx +134 -134
  873. package/themes/kiosk/src/components/shared/OIconText.tsx +53 -53
  874. package/themes/kiosk/src/components/shared/OImage.tsx +31 -31
  875. package/themes/kiosk/src/components/shared/OInput.tsx +121 -121
  876. package/themes/kiosk/src/components/shared/OKeyButton.tsx +34 -34
  877. package/themes/kiosk/src/components/shared/OModal.tsx +159 -159
  878. package/themes/kiosk/src/components/shared/OOptionToggle.tsx +130 -130
  879. package/themes/kiosk/src/components/shared/OSegment.tsx +66 -66
  880. package/themes/kiosk/src/components/shared/OText.tsx +51 -51
  881. package/themes/kiosk/src/components/shared/OTextarea.tsx +36 -36
  882. package/themes/kiosk/src/components/shared/OToast.tsx +94 -94
  883. package/themes/kiosk/src/components/shared/OToggle.tsx +157 -157
  884. package/themes/kiosk/src/components/shared/index.tsx +37 -37
  885. package/themes/kiosk/src/layouts/Container.tsx +38 -38
  886. package/themes/kiosk/src/layouts/GridContainer.tsx +25 -25
  887. package/themes/kiosk/src/layouts/SafeAreaContainer.tsx +6 -6
  888. package/themes/kiosk/src/providers/CartBottomSheetProvider.tsx +35 -35
  889. package/themes/kiosk/src/types/index.d.ts +472 -472
  890. package/themes/original/index.tsx +106 -106
  891. package/themes/original/src/components/ActiveOrders/index.tsx +143 -143
  892. package/themes/original/src/components/ActiveOrders/styles.tsx +44 -44
  893. package/themes/original/src/components/AddressDetails/index.tsx +77 -77
  894. package/themes/original/src/components/AddressDetails/styles.tsx +21 -21
  895. package/themes/original/src/components/AddressForm/index.tsx +860 -860
  896. package/themes/original/src/components/AddressForm/styles.tsx +28 -28
  897. package/themes/original/src/components/AddressList/index.tsx +338 -338
  898. package/themes/original/src/components/AddressList/styles.tsx +19 -19
  899. package/themes/original/src/components/AppleLogin/index.tsx +148 -148
  900. package/themes/original/src/components/AppleLogin/styles.tsx +21 -21
  901. package/themes/original/src/components/BottomWrapper/index.tsx +29 -29
  902. package/themes/original/src/components/BusinessBasicInformation/index.tsx +234 -234
  903. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +43 -43
  904. package/themes/original/src/components/BusinessController/index.tsx +196 -196
  905. package/themes/original/src/components/BusinessController/styles.tsx +55 -55
  906. package/themes/original/src/components/BusinessFeaturedController/index.tsx +189 -189
  907. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +50 -50
  908. package/themes/original/src/components/BusinessInformation/index.tsx +202 -202
  909. package/themes/original/src/components/BusinessInformation/styles.tsx +38 -38
  910. package/themes/original/src/components/BusinessItemAccordion/index.tsx +125 -125
  911. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +54 -54
  912. package/themes/original/src/components/BusinessProductsCategories/index.tsx +153 -153
  913. package/themes/original/src/components/BusinessProductsCategories/styles.tsx +7 -7
  914. package/themes/original/src/components/BusinessProductsList/index.tsx +213 -213
  915. package/themes/original/src/components/BusinessProductsList/styles.tsx +13 -13
  916. package/themes/original/src/components/BusinessProductsListing/index.tsx +346 -346
  917. package/themes/original/src/components/BusinessProductsListing/styles.tsx +35 -35
  918. package/themes/original/src/components/BusinessReviews/index.tsx +249 -249
  919. package/themes/original/src/components/BusinessReviews/styles.tsx +59 -59
  920. package/themes/original/src/components/BusinessTypeFilter/index.tsx +201 -201
  921. package/themes/original/src/components/BusinessTypeFilter/styles.tsx +40 -40
  922. package/themes/original/src/components/BusinessesListing/index.tsx +358 -358
  923. package/themes/original/src/components/BusinessesListing/styles.tsx +74 -74
  924. package/themes/original/src/components/Cart/index.tsx +268 -268
  925. package/themes/original/src/components/Cart/styles.tsx +28 -28
  926. package/themes/original/src/components/CartContent/index.tsx +61 -61
  927. package/themes/original/src/components/CartContent/styles.tsx +19 -19
  928. package/themes/original/src/components/Checkout/index.tsx +671 -671
  929. package/themes/original/src/components/Checkout/styles.tsx +89 -89
  930. package/themes/original/src/components/CouponControl/index.tsx +119 -119
  931. package/themes/original/src/components/CouponControl/styles.tsx +22 -22
  932. package/themes/original/src/components/DriverTips/index.tsx +144 -144
  933. package/themes/original/src/components/DriverTips/styles.tsx +66 -66
  934. package/themes/original/src/components/FacebookLogin/index.tsx +107 -107
  935. package/themes/original/src/components/FacebookLogin/styles.tsx +21 -21
  936. package/themes/original/src/components/FloatingButton/index.tsx +100 -100
  937. package/themes/original/src/components/FloatingButton/styles.tsx +26 -26
  938. package/themes/original/src/components/ForgotPasswordForm/index.tsx +156 -156
  939. package/themes/original/src/components/ForgotPasswordForm/styles.tsx +11 -11
  940. package/themes/original/src/components/GPSButton/index.tsx +84 -84
  941. package/themes/original/src/components/GPSButton/styles.ts +5 -5
  942. package/themes/original/src/components/GoogleLogin/index.tsx +119 -119
  943. package/themes/original/src/components/GoogleLogin/styles.tsx +23 -23
  944. package/themes/original/src/components/GoogleMap/index.tsx +229 -229
  945. package/themes/original/src/components/Help/index.tsx +54 -54
  946. package/themes/original/src/components/Help/styles.tsx +11 -11
  947. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +67 -67
  948. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  949. package/themes/original/src/components/HelpGuide/index.tsx +66 -66
  950. package/themes/original/src/components/HelpGuide/styles.tsx +6 -6
  951. package/themes/original/src/components/HelpOrder/index.tsx +78 -78
  952. package/themes/original/src/components/HelpOrder/styles.tsx +5 -5
  953. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +130 -130
  954. package/themes/original/src/components/HighestRatedBusinesses/styles.tsx +7 -7
  955. package/themes/original/src/components/Home/index.tsx +102 -102
  956. package/themes/original/src/components/Home/styles.tsx +18 -18
  957. package/themes/original/src/components/LanguageSelector/index.tsx +92 -92
  958. package/themes/original/src/components/LanguageSelector/styles.tsx +10 -10
  959. package/themes/original/src/components/LastOrder/index.tsx +168 -168
  960. package/themes/original/src/components/LastOrder/styles.tsx +16 -16
  961. package/themes/original/src/components/LastOrders/index.tsx +112 -112
  962. package/themes/original/src/components/LastOrders/styles.tsx +17 -17
  963. package/themes/original/src/components/LoginForm/index.tsx +539 -539
  964. package/themes/original/src/components/LoginForm/styles.tsx +82 -82
  965. package/themes/original/src/components/LogoutButton/index.tsx +36 -36
  966. package/themes/original/src/components/Messages/index.tsx +480 -424
  967. package/themes/original/src/components/Messages/styles.tsx +19 -19
  968. package/themes/original/src/components/MomentOption/index.tsx +329 -329
  969. package/themes/original/src/components/MomentOption/styles.tsx +66 -66
  970. package/themes/original/src/components/NavBar/index.tsx +134 -134
  971. package/themes/original/src/components/NotFoundSource/index.tsx +50 -50
  972. package/themes/original/src/components/NotFoundSource/styles.tsx +16 -16
  973. package/themes/original/src/components/OrderDetails/index.tsx +766 -766
  974. package/themes/original/src/components/OrderDetails/styles.tsx +120 -120
  975. package/themes/original/src/components/OrderProgress/index.tsx +222 -222
  976. package/themes/original/src/components/OrderProgress/styles.tsx +30 -30
  977. package/themes/original/src/components/OrderSummary/index.tsx +198 -198
  978. package/themes/original/src/components/OrderSummary/styles.tsx +35 -35
  979. package/themes/original/src/components/OrderTypeSelector/index.tsx +93 -93
  980. package/themes/original/src/components/OrderTypeSelector/styles.tsx +26 -26
  981. package/themes/original/src/components/OrdersOption/index.tsx +213 -213
  982. package/themes/original/src/components/OrdersOption/styles.tsx +5 -5
  983. package/themes/original/src/components/PaymentOptionCash/index.tsx +102 -102
  984. package/themes/original/src/components/PaymentOptionCash/styles.tsx +18 -18
  985. package/themes/original/src/components/PaymentOptionStripe/index.tsx +234 -234
  986. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +69 -69
  987. package/themes/original/src/components/PaymentOptions/index.tsx +417 -417
  988. package/themes/original/src/components/PaymentOptions/styles.tsx +55 -55
  989. package/themes/original/src/components/PhoneInputNumber/index.tsx +127 -127
  990. package/themes/original/src/components/PhoneInputNumber/styles.tsx +3 -3
  991. package/themes/original/src/components/PreviousOrders/index.tsx +181 -181
  992. package/themes/original/src/components/PreviousOrders/styles.tsx +34 -34
  993. package/themes/original/src/components/ProductForm/index.tsx +819 -803
  994. package/themes/original/src/components/ProductForm/styles.tsx +80 -80
  995. package/themes/original/src/components/ProductIngredient/index.tsx +43 -43
  996. package/themes/original/src/components/ProductIngredient/styles.tsx +7 -7
  997. package/themes/original/src/components/ProductItemAccordion/index.tsx +276 -276
  998. package/themes/original/src/components/ProductItemAccordion/styles.tsx +57 -57
  999. package/themes/original/src/components/ProductOption/index.tsx +50 -50
  1000. package/themes/original/src/components/ProductOption/styles.tsx +11 -11
  1001. package/themes/original/src/components/ProductOptionSubOption/index.tsx +146 -146
  1002. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +32 -32
  1003. package/themes/original/src/components/ReviewOrder/index.tsx +202 -202
  1004. package/themes/original/src/components/ReviewOrder/styles.tsx +33 -33
  1005. package/themes/original/src/components/SearchBar/index.tsx +110 -110
  1006. package/themes/original/src/components/SignupForm/index.tsx +694 -694
  1007. package/themes/original/src/components/SignupForm/styles.tsx +27 -27
  1008. package/themes/original/src/components/SingleProductCard/index.tsx +129 -129
  1009. package/themes/original/src/components/SingleProductCard/styles.tsx +23 -23
  1010. package/themes/original/src/components/StripeCardForm/index.tsx +97 -97
  1011. package/themes/original/src/components/StripeCardForm/naked.tsx +128 -128
  1012. package/themes/original/src/components/StripeCardForm/styles.tsx +32 -32
  1013. package/themes/original/src/components/StripeCardsList/index.tsx +143 -143
  1014. package/themes/original/src/components/StripeElementsForm/index.tsx +226 -226
  1015. package/themes/original/src/components/StripeElementsForm/naked.tsx +90 -90
  1016. package/themes/original/src/components/StripeElementsForm/styles.tsx +13 -13
  1017. package/themes/original/src/components/StripeRedirectForm/index.tsx +159 -159
  1018. package/themes/original/src/components/StripeRedirectForm/styles.tsx +23 -23
  1019. package/themes/original/src/components/UpsellingProducts/index.tsx +229 -229
  1020. package/themes/original/src/components/UpsellingProducts/styles.tsx +49 -49
  1021. package/themes/original/src/components/UserDetails/index.tsx +135 -135
  1022. package/themes/original/src/components/UserDetails/styles.tsx +25 -25
  1023. package/themes/original/src/components/UserFormDetails/index.tsx +351 -351
  1024. package/themes/original/src/components/UserFormDetails/styles.tsx +34 -34
  1025. package/themes/original/src/components/UserProfile/index.tsx +175 -175
  1026. package/themes/original/src/components/UserProfile/styles.ts +42 -42
  1027. package/themes/original/src/components/UserProfileForm/index.tsx +254 -254
  1028. package/themes/original/src/components/UserProfileForm/styles.tsx +29 -29
  1029. package/themes/original/src/components/VerifyPhone/index.tsx +188 -188
  1030. package/themes/original/src/components/VerifyPhone/styles.tsx +43 -43
  1031. package/themes/original/src/components/shared/OAlert.tsx +55 -55
  1032. package/themes/original/src/components/shared/OBottomPopup.tsx +76 -76
  1033. package/themes/original/src/components/shared/OButton.tsx +138 -138
  1034. package/themes/original/src/components/shared/ODropDown.tsx +168 -168
  1035. package/themes/original/src/components/shared/OIcon.tsx +59 -59
  1036. package/themes/original/src/components/shared/OIconButton.tsx +127 -127
  1037. package/themes/original/src/components/shared/OIconText.tsx +53 -53
  1038. package/themes/original/src/components/shared/OInput.tsx +113 -113
  1039. package/themes/original/src/components/shared/OKeyButton.tsx +34 -34
  1040. package/themes/original/src/components/shared/OModal.tsx +189 -189
  1041. package/themes/original/src/components/shared/OText.tsx +52 -52
  1042. package/themes/original/src/components/shared/OTextarea.tsx +36 -36
  1043. package/themes/original/src/components/shared/OToast.tsx +93 -93
  1044. package/themes/original/src/components/shared/OToggle.tsx +157 -157
  1045. package/themes/original/src/components/shared/index.tsx +29 -29
  1046. package/themes/original/src/config/constants.tsx +32 -32
  1047. package/themes/original/src/layouts/Container.tsx +26 -26
  1048. package/themes/original/src/layouts/SafeAreaContainer.tsx +6 -6
  1049. package/themes/original/src/providers/AlertProvider.tsx +43 -43
  1050. package/themes/original/src/providers/StoreUtil.tsx +50 -50
  1051. package/themes/original/src/types/index.tsx +438 -438
  1052. package/themes/original/src/utils/index.tsx +170 -170
  1053. package/themes/single-business/index.tsx +207 -203
  1054. package/themes/single-business/src/components/ActiveOrders/index.tsx +135 -135
  1055. package/themes/single-business/src/components/ActiveOrders/styles.tsx +44 -44
  1056. package/themes/single-business/src/components/AddressDetails/index.tsx +77 -77
  1057. package/themes/single-business/src/components/AddressDetails/styles.tsx +21 -21
  1058. package/themes/single-business/src/components/AddressForm/index.tsx +856 -856
  1059. package/themes/single-business/src/components/AddressForm/styles.tsx +27 -27
  1060. package/themes/single-business/src/components/AddressList/index.tsx +338 -338
  1061. package/themes/single-business/src/components/AddressList/styles.tsx +20 -20
  1062. package/themes/single-business/src/components/AppleLogin/index.tsx +108 -108
  1063. package/themes/single-business/src/components/AppleLogin/styles.tsx +21 -21
  1064. package/themes/single-business/src/components/BottomWrapper/index.tsx +29 -29
  1065. package/themes/single-business/src/components/BusinessBasicInformation/index.tsx +315 -315
  1066. package/themes/single-business/src/components/BusinessBasicInformation/styles.tsx +65 -65
  1067. package/themes/single-business/src/components/BusinessController/index.tsx +186 -186
  1068. package/themes/single-business/src/components/BusinessController/styles.tsx +56 -56
  1069. package/themes/single-business/src/components/BusinessFeaturedController/index.tsx +189 -189
  1070. package/themes/single-business/src/components/BusinessFeaturedController/styles.tsx +50 -50
  1071. package/themes/single-business/src/components/BusinessInformation/index.tsx +244 -244
  1072. package/themes/single-business/src/components/BusinessInformation/styles.tsx +39 -39
  1073. package/themes/single-business/src/components/BusinessItemAccordion/index.tsx +125 -125
  1074. package/themes/single-business/src/components/BusinessItemAccordion/styles.tsx +54 -54
  1075. package/themes/single-business/src/components/BusinessProductsCategories/index.tsx +160 -87
  1076. package/themes/single-business/src/components/BusinessProductsCategories/styles.tsx +7 -7
  1077. package/themes/single-business/src/components/BusinessProductsList/index.tsx +213 -199
  1078. package/themes/single-business/src/components/BusinessProductsList/styles.tsx +14 -14
  1079. package/themes/single-business/src/components/BusinessProductsListing/index.tsx +329 -284
  1080. package/themes/single-business/src/components/BusinessProductsListing/styles.tsx +30 -30
  1081. package/themes/single-business/src/components/BusinessReviews/index.tsx +249 -249
  1082. package/themes/single-business/src/components/BusinessReviews/styles.tsx +59 -59
  1083. package/themes/single-business/src/components/BusinessTypeFilter/index.tsx +127 -127
  1084. package/themes/single-business/src/components/BusinessTypeFilter/styles.tsx +40 -40
  1085. package/themes/single-business/src/components/BusinessesListing/index.tsx +337 -337
  1086. package/themes/single-business/src/components/BusinessesListing/styles.tsx +69 -69
  1087. package/themes/single-business/src/components/Cart/index.tsx +325 -325
  1088. package/themes/single-business/src/components/Cart/styles.tsx +63 -63
  1089. package/themes/single-business/src/components/CartContent/index.tsx +60 -60
  1090. package/themes/single-business/src/components/CartContent/styles.tsx +19 -19
  1091. package/themes/single-business/src/components/Checkout/index.tsx +662 -662
  1092. package/themes/single-business/src/components/Checkout/styles.tsx +89 -89
  1093. package/themes/single-business/src/components/CouponControl/index.tsx +119 -119
  1094. package/themes/single-business/src/components/CouponControl/styles.tsx +22 -22
  1095. package/themes/single-business/src/components/DriverTips/index.tsx +160 -160
  1096. package/themes/single-business/src/components/DriverTips/styles.tsx +64 -64
  1097. package/themes/single-business/src/components/FacebookLogin/index.tsx +107 -107
  1098. package/themes/single-business/src/components/FacebookLogin/styles.tsx +21 -21
  1099. package/themes/single-business/src/components/FloatingButton/index.tsx +100 -100
  1100. package/themes/single-business/src/components/FloatingButton/styles.tsx +26 -26
  1101. package/themes/single-business/src/components/ForgotPasswordForm/index.tsx +156 -156
  1102. package/themes/single-business/src/components/ForgotPasswordForm/styles.tsx +11 -11
  1103. package/themes/single-business/src/components/GPSButton/index.tsx +84 -84
  1104. package/themes/single-business/src/components/GPSButton/styles.ts +5 -5
  1105. package/themes/single-business/src/components/GoogleLogin/index.tsx +114 -114
  1106. package/themes/single-business/src/components/GoogleLogin/styles.tsx +23 -23
  1107. package/themes/single-business/src/components/GoogleMap/index.tsx +229 -229
  1108. package/themes/single-business/src/components/Help/index.tsx +55 -55
  1109. package/themes/single-business/src/components/Help/styles.tsx +11 -11
  1110. package/themes/single-business/src/components/HelpAccountAndPayment/index.tsx +67 -67
  1111. package/themes/single-business/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  1112. package/themes/single-business/src/components/HelpGuide/index.tsx +66 -66
  1113. package/themes/single-business/src/components/HelpGuide/styles.tsx +6 -6
  1114. package/themes/single-business/src/components/HelpOrder/index.tsx +78 -78
  1115. package/themes/single-business/src/components/HelpOrder/styles.tsx +5 -5
  1116. package/themes/single-business/src/components/Home/index.tsx +102 -102
  1117. package/themes/single-business/src/components/Home/styles.tsx +18 -18
  1118. package/themes/single-business/src/components/LanguageSelector/index.tsx +92 -92
  1119. package/themes/single-business/src/components/LanguageSelector/styles.tsx +7 -7
  1120. package/themes/single-business/src/components/LastOrder/index.tsx +168 -168
  1121. package/themes/single-business/src/components/LastOrder/styles.tsx +16 -16
  1122. package/themes/single-business/src/components/LastOrders/index.tsx +104 -104
  1123. package/themes/single-business/src/components/LastOrders/styles.tsx +17 -17
  1124. package/themes/single-business/src/components/LoginForm/index.tsx +587 -570
  1125. package/themes/single-business/src/components/LoginForm/styles.tsx +82 -82
  1126. package/themes/single-business/src/components/LogoutButton/index.tsx +36 -36
  1127. package/themes/single-business/src/components/Messages/index.tsx +350 -350
  1128. package/themes/single-business/src/components/Messages/styles.tsx +20 -20
  1129. package/themes/single-business/src/components/MomentOption/index.tsx +321 -321
  1130. package/themes/single-business/src/components/MomentOption/styles.tsx +66 -66
  1131. package/themes/single-business/src/components/NavBar/index.tsx +129 -129
  1132. package/themes/single-business/src/components/NotFoundSource/index.tsx +50 -50
  1133. package/themes/single-business/src/components/NotFoundSource/styles.tsx +16 -16
  1134. package/themes/single-business/src/components/Notifications/index.tsx +120 -120
  1135. package/themes/single-business/src/components/Notifications/styles.ts +20 -20
  1136. package/themes/single-business/src/components/OrderDetails/index.tsx +786 -786
  1137. package/themes/single-business/src/components/OrderDetails/styles.tsx +120 -120
  1138. package/themes/single-business/src/components/OrderListOption/index.tsx +231 -0
  1139. package/themes/single-business/src/components/OrderListOption/styles.tsx +62 -0
  1140. package/themes/single-business/src/components/OrderSummary/index.tsx +198 -198
  1141. package/themes/single-business/src/components/OrderSummary/styles.tsx +35 -35
  1142. package/themes/single-business/src/components/OrderTypeSelector/index.tsx +92 -92
  1143. package/themes/single-business/src/components/OrderTypeSelector/styles.tsx +26 -26
  1144. package/themes/single-business/src/components/OrdersListing/index.tsx +112 -0
  1145. package/themes/single-business/src/components/OrdersOption/index.tsx +243 -243
  1146. package/themes/single-business/src/components/OrdersOption/styles.tsx +5 -5
  1147. package/themes/single-business/src/components/PaymentOptionCash/index.tsx +102 -102
  1148. package/themes/single-business/src/components/PaymentOptionCash/styles.tsx +18 -18
  1149. package/themes/single-business/src/components/PaymentOptionStripe/index.tsx +234 -234
  1150. package/themes/single-business/src/components/PaymentOptionStripe/styles.tsx +69 -69
  1151. package/themes/single-business/src/components/PaymentOptions/index.tsx +431 -431
  1152. package/themes/single-business/src/components/PaymentOptions/styles.tsx +74 -74
  1153. package/themes/single-business/src/components/PhoneInputNumber/index.tsx +127 -127
  1154. package/themes/single-business/src/components/PhoneInputNumber/styles.tsx +3 -3
  1155. package/themes/single-business/src/components/PreviousOrders/index.tsx +195 -195
  1156. package/themes/single-business/src/components/PreviousOrders/styles.tsx +33 -33
  1157. package/themes/single-business/src/components/ProductForm/index.tsx +695 -695
  1158. package/themes/single-business/src/components/ProductForm/styles.tsx +77 -77
  1159. package/themes/single-business/src/components/ProductIngredient/index.tsx +43 -43
  1160. package/themes/single-business/src/components/ProductIngredient/styles.tsx +7 -7
  1161. package/themes/single-business/src/components/ProductItemAccordion/index.tsx +276 -276
  1162. package/themes/single-business/src/components/ProductItemAccordion/styles.tsx +57 -57
  1163. package/themes/single-business/src/components/ProductOption/index.tsx +50 -50
  1164. package/themes/single-business/src/components/ProductOption/styles.tsx +11 -11
  1165. package/themes/single-business/src/components/ProductOptionSubOption/index.tsx +146 -146
  1166. package/themes/single-business/src/components/ProductOptionSubOption/styles.tsx +32 -32
  1167. package/themes/single-business/src/components/PromotionCard/index.tsx +103 -103
  1168. package/themes/single-business/src/components/PromotionCard/styles.tsx +28 -28
  1169. package/themes/single-business/src/components/Promotions/index.tsx +78 -78
  1170. package/themes/single-business/src/components/Promotions/styles.tsx +3 -3
  1171. package/themes/single-business/src/components/ReviewOrder/index.tsx +331 -331
  1172. package/themes/single-business/src/components/ReviewOrder/styles.tsx +44 -44
  1173. package/themes/single-business/src/components/SearchBar/index.tsx +112 -112
  1174. package/themes/single-business/src/components/SignupForm/index.tsx +642 -643
  1175. package/themes/single-business/src/components/SignupForm/styles.tsx +27 -27
  1176. package/themes/single-business/src/components/SingleProductCard/index.tsx +124 -124
  1177. package/themes/single-business/src/components/SingleProductCard/styles.tsx +23 -23
  1178. package/themes/single-business/src/components/StripeCardForm/index.tsx +97 -97
  1179. package/themes/single-business/src/components/StripeCardForm/naked.tsx +128 -128
  1180. package/themes/single-business/src/components/StripeCardForm/styles.tsx +32 -32
  1181. package/themes/single-business/src/components/StripeCardsList/index.tsx +143 -143
  1182. package/themes/single-business/src/components/StripeElementsForm/index.tsx +204 -204
  1183. package/themes/single-business/src/components/StripeElementsForm/naked.tsx +90 -90
  1184. package/themes/single-business/src/components/StripeElementsForm/styles.tsx +13 -13
  1185. package/themes/single-business/src/components/StripeRedirectForm/index.tsx +159 -159
  1186. package/themes/single-business/src/components/StripeRedirectForm/styles.tsx +23 -23
  1187. package/themes/single-business/src/components/TagSelector/index.tsx +94 -94
  1188. package/themes/single-business/src/components/UpsellingProducts/index.tsx +259 -259
  1189. package/themes/single-business/src/components/UpsellingProducts/styles.tsx +57 -57
  1190. package/themes/single-business/src/components/UserDetails/index.tsx +134 -134
  1191. package/themes/single-business/src/components/UserDetails/styles.tsx +25 -25
  1192. package/themes/single-business/src/components/UserFormDetails/index.tsx +351 -351
  1193. package/themes/single-business/src/components/UserFormDetails/styles.tsx +35 -35
  1194. package/themes/single-business/src/components/UserProfile/index.tsx +185 -179
  1195. package/themes/single-business/src/components/UserProfile/styles.ts +42 -42
  1196. package/themes/single-business/src/components/UserProfileForm/index.tsx +253 -253
  1197. package/themes/single-business/src/components/UserProfileForm/styles.tsx +29 -29
  1198. package/themes/single-business/src/components/VerifyPhone/index.tsx +188 -188
  1199. package/themes/single-business/src/components/VerifyPhone/styles.tsx +43 -43
  1200. package/themes/single-business/src/components/shared/OAlert.tsx +55 -55
  1201. package/themes/single-business/src/components/shared/OBottomPopup.tsx +73 -73
  1202. package/themes/single-business/src/components/shared/OButton.tsx +132 -132
  1203. package/themes/single-business/src/components/shared/ODropDown.tsx +169 -169
  1204. package/themes/single-business/src/components/shared/OIcon.tsx +53 -53
  1205. package/themes/single-business/src/components/shared/OIconButton.tsx +127 -127
  1206. package/themes/single-business/src/components/shared/OIconText.tsx +53 -53
  1207. package/themes/single-business/src/components/shared/OInput.tsx +113 -113
  1208. package/themes/single-business/src/components/shared/OKeyButton.tsx +34 -34
  1209. package/themes/single-business/src/components/shared/OModal.tsx +172 -172
  1210. package/themes/single-business/src/components/shared/OText.tsx +52 -52
  1211. package/themes/single-business/src/components/shared/OTextarea.tsx +36 -36
  1212. package/themes/single-business/src/components/shared/OToast.tsx +93 -93
  1213. package/themes/single-business/src/components/shared/OToggle.tsx +157 -157
  1214. package/themes/single-business/src/components/shared/index.tsx +31 -31
  1215. package/themes/single-business/src/config/constants.tsx +41 -41
  1216. package/themes/single-business/src/layouts/Container.tsx +23 -23
  1217. package/themes/single-business/src/layouts/SafeAreaContainer.tsx +6 -6
  1218. package/themes/single-business/src/providers/AlertProvider.tsx +43 -43
  1219. package/themes/single-business/src/providers/StoreUtil.tsx +50 -50
  1220. package/themes/single-business/src/types/index.tsx +439 -430
  1221. package/themes/single-business/src/utils/index.tsx +253 -222
  1222. package/themes/uber-eats/index.tsx +127 -127
  1223. package/themes/uber-eats/src/assets/json/order.json +204 -204
  1224. package/themes/uber-eats/src/assets/json/orders.json +3591 -3591
  1225. package/themes/uber-eats/src/components/Account/index.tsx +200 -200
  1226. package/themes/uber-eats/src/components/Account/styles.tsx +21 -21
  1227. package/themes/uber-eats/src/components/ActiveOrders/index.tsx +135 -135
  1228. package/themes/uber-eats/src/components/ActiveOrders/styles.tsx +50 -50
  1229. package/themes/uber-eats/src/components/AddressDetails/index.tsx +71 -71
  1230. package/themes/uber-eats/src/components/AddressDetails/styles.tsx +13 -13
  1231. package/themes/uber-eats/src/components/AddressForm/index.tsx +715 -715
  1232. package/themes/uber-eats/src/components/AddressForm/styles.tsx +31 -31
  1233. package/themes/uber-eats/src/components/AddressList/index.tsx +323 -323
  1234. package/themes/uber-eats/src/components/AddressList/styles.tsx +23 -23
  1235. package/themes/uber-eats/src/components/BusinessBasicInformation/index.tsx +226 -226
  1236. package/themes/uber-eats/src/components/BusinessBasicInformation/styles.tsx +41 -41
  1237. package/themes/uber-eats/src/components/BusinessController/index.tsx +201 -201
  1238. package/themes/uber-eats/src/components/BusinessController/styles.tsx +58 -58
  1239. package/themes/uber-eats/src/components/BusinessInformation/index.tsx +101 -101
  1240. package/themes/uber-eats/src/components/BusinessInformation/styles.tsx +36 -36
  1241. package/themes/uber-eats/src/components/BusinessItemAccordion/index.tsx +145 -145
  1242. package/themes/uber-eats/src/components/BusinessItemAccordion/styles.tsx +61 -61
  1243. package/themes/uber-eats/src/components/BusinessProductsCategories/index.tsx +141 -141
  1244. package/themes/uber-eats/src/components/BusinessProductsCategories/styles.tsx +7 -7
  1245. package/themes/uber-eats/src/components/BusinessProductsList/index.tsx +195 -195
  1246. package/themes/uber-eats/src/components/BusinessProductsList/styles.tsx +13 -13
  1247. package/themes/uber-eats/src/components/BusinessProductsListing/index.tsx +411 -411
  1248. package/themes/uber-eats/src/components/BusinessProductsListing/styles.tsx +52 -52
  1249. package/themes/uber-eats/src/components/BusinessReviews/index.tsx +121 -121
  1250. package/themes/uber-eats/src/components/BusinessReviews/styles.tsx +33 -33
  1251. package/themes/uber-eats/src/components/BusinessTypeFilter/index.tsx +194 -194
  1252. package/themes/uber-eats/src/components/BusinessTypeFilter/styles.tsx +28 -28
  1253. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +214 -214
  1254. package/themes/uber-eats/src/components/BusinessesListing/styles.tsx +54 -54
  1255. package/themes/uber-eats/src/components/Cart/index.tsx +270 -270
  1256. package/themes/uber-eats/src/components/Cart/styles.tsx +26 -26
  1257. package/themes/uber-eats/src/components/CartContent/index.tsx +50 -50
  1258. package/themes/uber-eats/src/components/CartContent/styles.tsx +19 -19
  1259. package/themes/uber-eats/src/components/Checkout/index.tsx +709 -709
  1260. package/themes/uber-eats/src/components/Checkout/styles.tsx +72 -72
  1261. package/themes/uber-eats/src/components/CouponControl/index.tsx +120 -120
  1262. package/themes/uber-eats/src/components/CouponControl/styles.tsx +22 -22
  1263. package/themes/uber-eats/src/components/DriverTips/index.tsx +167 -167
  1264. package/themes/uber-eats/src/components/DriverTips/styles.tsx +47 -47
  1265. package/themes/uber-eats/src/components/FacebookLogin/index.tsx +124 -124
  1266. package/themes/uber-eats/src/components/FacebookLogin/styles.tsx +21 -21
  1267. package/themes/uber-eats/src/components/FloatingButton/index.tsx +74 -74
  1268. package/themes/uber-eats/src/components/FloatingButton/styles.tsx +31 -31
  1269. package/themes/uber-eats/src/components/GoogleMap/index.tsx +236 -236
  1270. package/themes/uber-eats/src/components/Help/index.tsx +54 -54
  1271. package/themes/uber-eats/src/components/Help/styles.tsx +11 -11
  1272. package/themes/uber-eats/src/components/HelpAccountAndPayment/index.tsx +67 -67
  1273. package/themes/uber-eats/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  1274. package/themes/uber-eats/src/components/HelpGuide/index.tsx +66 -66
  1275. package/themes/uber-eats/src/components/HelpGuide/styles.tsx +6 -6
  1276. package/themes/uber-eats/src/components/HelpOrder/index.tsx +78 -78
  1277. package/themes/uber-eats/src/components/HelpOrder/styles.tsx +5 -5
  1278. package/themes/uber-eats/src/components/HighestRatedBusinesses/index.tsx +132 -132
  1279. package/themes/uber-eats/src/components/HighestRatedBusinesses/styles.tsx +6 -6
  1280. package/themes/uber-eats/src/components/Home/index.tsx +117 -117
  1281. package/themes/uber-eats/src/components/Home/styles.tsx +13 -13
  1282. package/themes/uber-eats/src/components/LanguageSelector/index.tsx +154 -154
  1283. package/themes/uber-eats/src/components/LanguageSelector/styles.tsx +18 -18
  1284. package/themes/uber-eats/src/components/LastOrders/index.tsx +104 -104
  1285. package/themes/uber-eats/src/components/LastOrders/styles.tsx +17 -17
  1286. package/themes/uber-eats/src/components/LoginForm/index.tsx +435 -435
  1287. package/themes/uber-eats/src/components/LoginForm/styles.tsx +65 -65
  1288. package/themes/uber-eats/src/components/LogoutButton/index.tsx +67 -67
  1289. package/themes/uber-eats/src/components/Messages/index.tsx +421 -366
  1290. package/themes/uber-eats/src/components/Messages/styles.tsx +23 -21
  1291. package/themes/uber-eats/src/components/MomentOption/index.tsx +211 -211
  1292. package/themes/uber-eats/src/components/MomentOption/styles.tsx +66 -66
  1293. package/themes/uber-eats/src/components/NavBar/index.tsx +122 -122
  1294. package/themes/uber-eats/src/components/NotFoundSource/index.tsx +55 -55
  1295. package/themes/uber-eats/src/components/NotFoundSource/styles.tsx +16 -16
  1296. package/themes/uber-eats/src/components/OrderDetails/index.tsx +444 -444
  1297. package/themes/uber-eats/src/components/OrderDetails/styles.tsx +140 -140
  1298. package/themes/uber-eats/src/components/OrderSummary/index.tsx +199 -199
  1299. package/themes/uber-eats/src/components/OrderSummary/styles.tsx +31 -31
  1300. package/themes/uber-eats/src/components/OrderTypeSelector/index.tsx +130 -130
  1301. package/themes/uber-eats/src/components/OrderTypeSelector/styles.tsx +6 -6
  1302. package/themes/uber-eats/src/components/OrdersOption/index.tsx +223 -223
  1303. package/themes/uber-eats/src/components/OrdersOption/styles.tsx +3 -3
  1304. package/themes/uber-eats/src/components/PaymentOptionCash/index.tsx +102 -102
  1305. package/themes/uber-eats/src/components/PaymentOptionCash/styles.tsx +18 -18
  1306. package/themes/uber-eats/src/components/PaymentOptionStripe/index.tsx +232 -232
  1307. package/themes/uber-eats/src/components/PaymentOptionStripe/styles.tsx +62 -62
  1308. package/themes/uber-eats/src/components/PaymentOptions/index.tsx +547 -547
  1309. package/themes/uber-eats/src/components/PaymentOptions/styles.tsx +41 -41
  1310. package/themes/uber-eats/src/components/PhoneInputNumber/index.tsx +108 -108
  1311. package/themes/uber-eats/src/components/PhoneInputNumber/styles.tsx +4 -4
  1312. package/themes/uber-eats/src/components/PreviousOrders/index.tsx +149 -149
  1313. package/themes/uber-eats/src/components/PreviousOrders/styles.tsx +34 -34
  1314. package/themes/uber-eats/src/components/ProductForm/index.tsx +440 -440
  1315. package/themes/uber-eats/src/components/ProductForm/styles.tsx +91 -91
  1316. package/themes/uber-eats/src/components/ProductIngredient/index.tsx +44 -44
  1317. package/themes/uber-eats/src/components/ProductIngredient/styles.tsx +7 -7
  1318. package/themes/uber-eats/src/components/ProductItemAccordion/index.tsx +252 -252
  1319. package/themes/uber-eats/src/components/ProductItemAccordion/styles.tsx +61 -61
  1320. package/themes/uber-eats/src/components/ProductOption/index.tsx +109 -109
  1321. package/themes/uber-eats/src/components/ProductOption/styles.tsx +27 -27
  1322. package/themes/uber-eats/src/components/ProductOptionSubOption/index.tsx +159 -159
  1323. package/themes/uber-eats/src/components/ProductOptionSubOption/styles.tsx +32 -32
  1324. package/themes/uber-eats/src/components/SearchBar/index.tsx +106 -106
  1325. package/themes/uber-eats/src/components/SignupForm/index.tsx +574 -574
  1326. package/themes/uber-eats/src/components/SignupForm/styles.tsx +29 -29
  1327. package/themes/uber-eats/src/components/SingleProductCard/index.tsx +88 -88
  1328. package/themes/uber-eats/src/components/SingleProductCard/styles.tsx +26 -26
  1329. package/themes/uber-eats/src/components/StripeCardsList/index.tsx +144 -144
  1330. package/themes/uber-eats/src/components/StripeElementsForm/index.tsx +188 -188
  1331. package/themes/uber-eats/src/components/StripeElementsForm/naked.tsx +90 -90
  1332. package/themes/uber-eats/src/components/StripeElementsForm/styles.tsx +9 -9
  1333. package/themes/uber-eats/src/components/UpsellingProducts/index.tsx +189 -189
  1334. package/themes/uber-eats/src/components/UpsellingProducts/styles.tsx +37 -37
  1335. package/themes/uber-eats/src/components/UserDetails/index.tsx +125 -125
  1336. package/themes/uber-eats/src/components/UserDetails/styles.tsx +21 -21
  1337. package/themes/uber-eats/src/components/UserFormDetails/index.tsx +304 -304
  1338. package/themes/uber-eats/src/components/UserFormDetails/styles.tsx +38 -38
  1339. package/themes/uber-eats/src/components/UserProfileForm/index.tsx +106 -106
  1340. package/themes/uber-eats/src/components/UserProfileForm/styles.tsx +37 -37
  1341. package/themes/uber-eats/src/components/VerifyPhone/index.tsx +187 -187
  1342. package/themes/uber-eats/src/components/VerifyPhone/styles.tsx +43 -43
  1343. package/themes/uber-eats/src/components/shared/OAlert.tsx +53 -53
  1344. package/themes/uber-eats/src/components/shared/OBottomPopup.tsx +108 -108
  1345. package/themes/uber-eats/src/components/shared/OButton.tsx +134 -134
  1346. package/themes/uber-eats/src/components/shared/ODropDown.tsx +167 -167
  1347. package/themes/uber-eats/src/components/shared/OIcon.tsx +52 -52
  1348. package/themes/uber-eats/src/components/shared/OIconButton.tsx +134 -134
  1349. package/themes/uber-eats/src/components/shared/OInput.tsx +122 -122
  1350. package/themes/uber-eats/src/components/shared/OModal.tsx +151 -151
  1351. package/themes/uber-eats/src/components/shared/OText.tsx +52 -52
  1352. package/themes/uber-eats/src/components/shared/OToast.tsx +94 -94
  1353. package/themes/uber-eats/src/components/shared/index.tsx +22 -22
  1354. package/themes/uber-eats/src/config/constants.tsx +10 -10
  1355. package/themes/uber-eats/src/layouts/Container.tsx +28 -28
  1356. package/themes/uber-eats/src/layouts/SafeAreaContainer.tsx +6 -6
  1357. package/themes/uber-eats/src/providers/AlertProvider.tsx +43 -43
  1358. package/themes/uber-eats/src/providers/StoreUtil.tsx +58 -58
  1359. package/themes/uber-eats/src/types/@stripe/stripe-react-native/index.d.ts +1 -1
  1360. package/themes/uber-eats/src/types/index.tsx +451 -451
  1361. package/themes/uber-eats/src/types/ordering-api-sdk/index.d.ts +1 -1
  1362. package/themes/uber-eats/src/types/ordering-components/index.d.ts +1 -1
  1363. package/themes/uber-eats/src/types/react-hook-form/index.d.ts +1 -1
  1364. package/themes/uber-eats/src/types/react-native-credit-card-input/index.d.ts +1 -1
  1365. package/themes/uber-eats/src/types/react-native-fbsdk/index.d.ts +1 -1
  1366. package/themes/uber-eats/src/types/react-native-gesture-handler/index.d.ts +1 -1
  1367. package/themes/uber-eats/src/types/react-native-gifted-chat/index.d.ts +1 -1
  1368. package/themes/uber-eats/src/types/react-native-image-picker/index.d.ts +1 -1
  1369. package/themes/uber-eats/src/types/react-native-restart/index.d.ts +1 -1
  1370. package/themes/uber-eats/src/types/styled-components/index.d.ts +1 -1
  1371. package/themes/uber-eats/src/utils/index.tsx +164 -164
@@ -1,803 +1,819 @@
1
- import React, { useEffect } from 'react';
2
- import {
3
- ProductForm as ProductOptions,
4
- useSession,
5
- useLanguage,
6
- useOrder,
7
- useUtils
8
- } from 'ordering-components/native';
9
- import { useTheme } from 'styled-components/native';
10
- import { ProductIngredient } from '../ProductIngredient';
11
- import { ProductOption } from '../ProductOption';
12
- import Swiper from 'react-native-swiper'
13
- import FastImage from 'react-native-fast-image';
14
- import IconAntDesign from 'react-native-vector-icons/AntDesign';
15
-
16
- import { View, TouchableOpacity, StyleSheet, Dimensions, Platform, AppRegistry } from 'react-native';
17
-
18
- import {
19
- ProductHeader,
20
- WrapHeader,
21
- TopHeader,
22
- WrapContent,
23
- ProductTitle,
24
- ProductDescription,
25
- ProductEditions,
26
- SectionTitle,
27
- WrapperIngredients,
28
- WrapperSubOption,
29
- ProductComment,
30
- ProductActions,
31
- ExtraOptionWrap
32
- } from './styles';
33
- import { OButton, OIcon, OInput, OText } from '../shared';
34
- import { ScrollView } from 'react-native-gesture-handler';
35
- import { ProductOptionSubOption } from '../ProductOptionSubOption';
36
- import { NotFoundSource } from '../NotFoundSource';
37
- import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
38
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
39
- import { useState } from 'react';
40
- import { useWindowDimensions } from 'react-native';
41
-
42
- const windowHeight = Dimensions.get('window').height;
43
- const windowWidth = Dimensions.get('window').width;
44
-
45
- export const ProductOptionsUI = (props: any) => {
46
- const {
47
- navigation,
48
- editMode,
49
- isSoldOut,
50
- productCart,
51
- increment,
52
- decrement,
53
- showOption,
54
- maxProductQuantity,
55
- errors,
56
- handleSave,
57
- handleChangeIngredientState,
58
- handleChangeSuboptionState,
59
- handleChangeCommentState,
60
- productObject,
61
- onClose,
62
- isFromCheckout,
63
- } = props;
64
-
65
- const theme = useTheme();
66
-
67
- const styles = StyleSheet.create({
68
- mainContainer: {
69
-
70
- },
71
- headerItem: {
72
- overflow: 'hidden',
73
- backgroundColor: theme.colors.clear,
74
- width: 35,
75
- marginVertical: 18,
76
- },
77
- optionContainer: {
78
- marginBottom: 20,
79
- },
80
- comment: {
81
- borderWidth: 1,
82
- borderRadius: 8,
83
- borderColor: theme.colors.border,
84
- height: 100,
85
- alignItems: 'flex-start',
86
- },
87
- quantityControl: {
88
- flexDirection: 'row',
89
- justifyContent: 'space-between',
90
- alignItems: 'center',
91
- marginRight: 10,
92
- },
93
- btnBackArrow: {
94
- borderWidth: 0,
95
- backgroundColor: 'rgba(0,0,0,0.3)',
96
- borderRadius: 24,
97
- marginRight: 15,
98
- },
99
- productHeaderSkeleton: {
100
- flexDirection: 'row',
101
- width: '100%',
102
- position: 'relative',
103
- maxHeight: 260,
104
- height: 260,
105
- resizeMode: 'cover',
106
- minHeight: 200,
107
- zIndex: 0,
108
- },
109
- extraItem: {
110
- paddingHorizontal: 7,
111
- paddingBottom: 10,
112
- borderBottomWidth: 1,
113
- borderBottomColor: theme.colors.border,
114
- justifyContent: 'center',
115
- },
116
- slide1: {
117
- flex: 1,
118
- },
119
- mainSwiper : {
120
- height: 258,
121
- },
122
- swiperButton: {
123
- marginHorizontal: 30,
124
- alignItems: 'center',
125
- justifyContent: 'center',
126
- width: 32,
127
- height: 32,
128
- borderRadius: 16,
129
- backgroundColor: 'rgba(255,255,255,0.3)'
130
- }
131
- });
132
-
133
- const [{ parsePrice, optimizeImage }] = useUtils();
134
- const [, t] = useLanguage();
135
- const [orderState] = useOrder();
136
- const [{ auth }] = useSession();
137
- const { product, loading, error } = productObject;
138
- const [gallery, setGallery] = useState([])
139
- const [thumbsSwiper, setThumbsSwiper] = useState(0)
140
-
141
- const { top, bottom } = useSafeAreaInsets();
142
- const { height } = useWindowDimensions();
143
- const [selOpt, setSelectedOpt] = useState(0);
144
-
145
- const isError = (id: number) => {
146
- let bgColor = theme.colors.white;
147
- if (errors[`id:${id}`]) {
148
- bgColor = 'rgba(255, 0, 0, 0.05)';
149
- }
150
- if (isSoldOut || maxProductQuantity <= 0) {
151
- bgColor = 'hsl(0, 0%, 72%)';
152
- }
153
- return bgColor;
154
- };
155
-
156
- const handleSaveProduct = () => {
157
- console.log('----- click handle ------')
158
- const isErrors = Object.values(errors).length > 0;
159
- if (!isErrors) {
160
- console.log('----- save handle ------')
161
- handleSave && handleSave();
162
- return;
163
- }
164
- };
165
-
166
- const hasRespected = (options: Array<any>, respect_id: number) => {
167
- if (respect_id == null) return;
168
- const option: any = options.filter(({ id }: any) => id === selOpt);
169
- if (option == undefined) return false;
170
- if (option?.suboptions?.length == 0) return false;
171
- const sel = option[0]?.suboptions?.filter(
172
- ({ id }: any) => id === respect_id,
173
- );
174
- return sel[0]?.id !== undefined;
175
- };
176
-
177
- const handleChangeMainIndex = (index: number) => {
178
- setThumbsSwiper(index)
179
- }
180
-
181
- const handleRedirectLogin = () => {
182
- onClose();
183
- navigation.navigate('Login');
184
- };
185
-
186
- useEffect(() => {
187
- const productImgList: any = []
188
- product?.images && productImgList.push(product.images)
189
- for (const img of product?.gallery) {
190
- productImgList.push(img.file)
191
- }
192
- setGallery(productImgList)
193
- }, [product])
194
-
195
- const saveErrors =
196
- orderState.loading ||
197
- maxProductQuantity === 0 ||
198
- Object.keys(errors).length > 0;
199
-
200
- const ExtraOptions = ({ eID, options }: any) => (
201
- <>
202
- {product?.ingredients.length > 0 && (
203
- <TouchableOpacity
204
- key={`eopt_all_00`}
205
- onPress={() => setSelectedOpt(-1)}
206
- style={[
207
- styles.extraItem,
208
- {
209
- borderBottomColor:
210
- selOpt == -1 ? theme.colors.textNormal : theme.colors.border,
211
- },
212
- ]}>
213
- <OText
214
- color={selOpt == -1 ? theme.colors.textNormal : theme.colors.textSecondary}
215
- size={selOpt == -1 ? 14 : 12}
216
- weight={selOpt == -1 ? '600' : 'normal'}>
217
- {t('INGREDIENTS', 'Ingredients')}
218
- </OText>
219
- </TouchableOpacity>
220
- )}
221
- {options.map(({ id, name, respect_to }: any) => (
222
- <React.Fragment key={`cont_key_${id}`}>
223
- {respect_to == null && (
224
- <TouchableOpacity
225
- key={`eopt_key_${id}`}
226
- onPress={() => setSelectedOpt(id)}
227
- style={[
228
- styles.extraItem,
229
- {
230
- borderBottomColor:
231
- selOpt == id ? theme.colors.textNormal : theme.colors.border,
232
- },
233
- ]}>
234
- <OText
235
- color={
236
- selOpt == id ? theme.colors.textNormal : theme.colors.textSecondary
237
- }
238
- size={selOpt == id ? 14 : 12}
239
- weight={selOpt == id ? '600' : 'normal'}>
240
- {name}
241
- </OText>
242
- </TouchableOpacity>
243
- )}
244
- </React.Fragment>
245
- ))}
246
- </>
247
- );
248
-
249
- return (
250
- <>
251
- <TopHeader>
252
- <TouchableOpacity
253
- style={styles.headerItem}
254
- onPress={onClose}>
255
- <OIcon src={theme.images.general.close} width={16} />
256
- </TouchableOpacity>
257
- </TopHeader>
258
- <ScrollView>
259
- {!error && (
260
- <View style={{ paddingBottom: 80 }}>
261
- <WrapHeader>
262
- {loading && !product ? (
263
- <View style={styles.productHeaderSkeleton}>
264
- <Placeholder Animation={Fade}>
265
- <PlaceholderLine
266
- height={258}
267
- style={{ borderRadius: 0 }}
268
- width={windowWidth}
269
- />
270
- </Placeholder>
271
- </View>
272
- ) : (
273
- <>
274
- <Swiper
275
- loop={false}
276
- showsButtons={true}
277
- style={styles.mainSwiper}
278
- // index={thumbsSwiper}
279
- onIndexChanged={(index) => handleChangeMainIndex(index)}
280
- prevButton={
281
- <View style={styles.swiperButton}>
282
- <IconAntDesign
283
- name="caretleft"
284
- color={theme.colors.white}
285
- size={13}
286
- // style={styles.starIcon}
287
- />
288
- </View>
289
- }
290
- nextButton={
291
- <View style={styles.swiperButton}>
292
- <IconAntDesign
293
- name="caretright"
294
- color={theme.colors.white}
295
- size={13}
296
- // style={styles.starIcon}
297
- />
298
- </View>
299
- }
300
- >
301
- {gallery.length > 0 && gallery.map((img, i) => (
302
- <View
303
- style={styles.slide1}
304
- key={i}
305
- >
306
- <FastImage
307
- style={{ height: '100%' }}
308
- source={{
309
- uri: optimizeImage(img, 'h_258,c_limit'),
310
- priority: FastImage.priority.normal,
311
- }}
312
- />
313
- </View>
314
- ))}
315
- </Swiper>
316
- <ScrollView
317
- horizontal
318
- contentContainerStyle={{
319
- paddingHorizontal: 30,
320
- paddingVertical: 15
321
- }}
322
- >
323
- {gallery.length > 0 && gallery.map((img, index) => (
324
- <View
325
- key={index}
326
- style={{
327
- height: 56,
328
- borderRadius: 8,
329
- margin: 8,
330
- opacity: index === thumbsSwiper ? 1 : 0.8
331
- }}
332
- >
333
- <OIcon
334
- url={img}
335
- style={{
336
- borderColor: theme.colors.lightGray,
337
- borderRadius: 8,
338
- minHeight: '100%'
339
- }}
340
- width={56}
341
- height={56}
342
- cover
343
- />
344
- {/* {thumbsSwiper === 2 && <OText color='red'>{index.toString()}</OText>}
345
- {thumbsSwiper === 3 && <OText color='red'>{index.toString()}</OText>} */}
346
- </View>
347
- ))}
348
- </ScrollView>
349
- </>
350
- )}
351
- </WrapHeader>
352
- <WrapContent>
353
- <ProductTitle>
354
- {loading && !product ? (
355
- <Placeholder Animation={Fade}>
356
- <View
357
- style={{
358
- flexDirection: 'row',
359
- justifyContent: 'space-between',
360
- }}>
361
- <PlaceholderLine width={40} height={20} />
362
- <PlaceholderLine width={30} height={20} />
363
- </View>
364
- </Placeholder>
365
- ) : (
366
- <>
367
- <OText
368
- size={20}
369
- lineHeight={30}
370
- weight={'600'}
371
- style={{ flex: 1, marginBottom: 5 }}>
372
- {product?.name || productCart.name}
373
- </OText>
374
- <OText size={16} lineHeight={24} color={theme.colors.textNormal}>
375
- {productCart.price ? parsePrice(productCart.price) : ''}
376
- </OText>
377
- </>
378
- )}
379
- </ProductTitle>
380
- <ProductDescription>
381
- <OText color={theme.colors.textSecondary} size={12} lineHeight={18}>
382
- {product?.description || productCart?.description}
383
- </OText>
384
- {((product?.sku &&
385
- product?.sku !== '-1' &&
386
- product?.sku !== '1') ||
387
- (productCart?.sku &&
388
- productCart?.sku !== '-1' &&
389
- productCart?.sku !== '1')) && (
390
- <>
391
- <OText size={16}>{t('SKU', 'Sku')}</OText>
392
- <OText>{product?.sku || productCart?.sku}</OText>
393
- </>
394
- )}
395
- </ProductDescription>
396
- {loading && !product ? (
397
- <>
398
- {[...Array(2)].map((item, i) => (
399
- <Placeholder
400
- key={i}
401
- style={{ marginBottom: 20 }}
402
- Animation={Fade}>
403
- <PlaceholderLine
404
- height={40}
405
- style={{ flex: 1, marginTop: 10 }}
406
- />
407
- {[...Array(3)].map((item, i) => (
408
- <View
409
- key={'place_key_' + i}
410
- style={{
411
- flexDirection: 'row',
412
- justifyContent: 'space-between',
413
- }}>
414
- <PlaceholderLine
415
- height={30}
416
- width={10}
417
- style={{ marginBottom: 20 }}
418
- />
419
- <PlaceholderLine
420
- height={30}
421
- width={50}
422
- style={{ marginBottom: 20 }}
423
- />
424
- <PlaceholderLine
425
- height={30}
426
- width={30}
427
- style={{ marginBottom: 20 }}
428
- />
429
- </View>
430
- ))}
431
- </Placeholder>
432
- ))}
433
- </>
434
- ) : (
435
- <ProductEditions>
436
- <ExtraOptionWrap
437
- horizontal
438
- showsHorizontalScrollIndicator={false}
439
- style={{ marginBottom: 20 }}
440
- contentContainerStyle={{ paddingHorizontal: 33 }}
441
- >
442
- <TouchableOpacity
443
- key={`eopt_all_0`}
444
- onPress={() => setSelectedOpt(0)}
445
- style={[
446
- styles.extraItem,
447
- {
448
- borderBottomColor: selOpt == 0 ? theme.colors.textNormal : theme.colors.border,
449
- },
450
- ]}>
451
- <OText
452
- color={selOpt == 0 ? theme.colors.textNormal : theme.colors.textSecondary}
453
- size={selOpt == 0 ? 14 : 12}
454
- weight={selOpt == 0 ? '600' : 'normal'}>
455
- {t('ALL', 'All')}
456
- </OText>
457
- </TouchableOpacity>
458
- {product?.extras.map((extra: any) =>
459
- <ExtraOptions key={extra.id} options={extra.options} />
460
- )}
461
- </ExtraOptionWrap>
462
-
463
- {selOpt == 0 ? (
464
- <>
465
- {product?.ingredients.length > 0 && (
466
- <View style={styles.optionContainer}>
467
- <SectionTitle>
468
- <OText size={16}>
469
- {t('INGREDIENTS', 'Ingredients')}
470
- </OText>
471
- </SectionTitle>
472
- <WrapperIngredients
473
- style={{
474
- backgroundColor:
475
- isSoldOut || maxProductQuantity <= 0
476
- ? 'hsl(0, 0%, 72%)'
477
- : theme.colors.white,
478
- }}>
479
- {product?.ingredients.map((ingredient: any) => (
480
- <ProductIngredient
481
- key={ingredient.id}
482
- ingredient={ingredient}
483
- state={
484
- productCart.ingredients[`id:${ingredient.id}`]
485
- }
486
- onChange={handleChangeIngredientState}
487
- />
488
- ))}
489
- </WrapperIngredients>
490
- </View>
491
- )}
492
- {product?.extras.map((extra: any) =>
493
- extra.options.map((option: any) => {
494
- const currentState =
495
- productCart.options[`id:${option.id}`] || {};
496
- return (
497
- <React.Fragment key={`popt_${option.id}`}>
498
- {showOption(option) && (
499
- <View style={styles.optionContainer}>
500
- <ProductOption
501
- option={option}
502
- currentState={currentState}
503
- error={errors[`id:${option.id}`]}>
504
- <WrapperSubOption
505
- style={{
506
- backgroundColor: isError(option.id),
507
- }}>
508
- {option.suboptions.map(
509
- (suboption: any) => {
510
- const currentState =
511
- productCart.options[
512
- `id:${option.id}`
513
- ]?.suboptions[
514
- `id:${suboption.id}`
515
- ] || {};
516
- const balance =
517
- productCart.options[
518
- `id:${option.id}`
519
- ]?.balance || 0;
520
- return (
521
- <ProductOptionSubOption
522
- key={suboption.id}
523
- onChange={
524
- handleChangeSuboptionState
525
- }
526
- balance={balance}
527
- option={option}
528
- suboption={suboption}
529
- state={currentState}
530
- disabled={
531
- isSoldOut ||
532
- maxProductQuantity <= 0
533
- }
534
- />
535
- );
536
- },
537
- )}
538
- </WrapperSubOption>
539
- </ProductOption>
540
- </View>
541
- )}
542
- </React.Fragment>
543
- );
544
- }),
545
- )}
546
- </>
547
- ) : (
548
- <>
549
- {selOpt == -1 ? (
550
- <View style={styles.optionContainer}>
551
- <SectionTitle>
552
- <OText size={16}>
553
- {t('INGREDIENTS', 'Ingredients')}
554
- </OText>
555
- </SectionTitle>
556
- <WrapperIngredients
557
- style={{
558
- backgroundColor:
559
- isSoldOut || maxProductQuantity <= 0
560
- ? 'hsl(0, 0%, 72%)'
561
- : theme.colors.white,
562
- }}>
563
- {product?.ingredients.map((ingredient: any) => (
564
- <ProductIngredient
565
- key={ingredient.id}
566
- ingredient={ingredient}
567
- state={
568
- productCart.ingredients[`id:${ingredient.id}`]
569
- }
570
- onChange={handleChangeIngredientState}
571
- />
572
- ))}
573
- </WrapperIngredients>
574
- </View>
575
- ) : (
576
- <>
577
- {product?.extras.map((extra: any) =>
578
- extra.options.map((option: any) => {
579
- if (
580
- option.id == selOpt ||
581
- (hasRespected(
582
- extra.options,
583
- option.respect_to,
584
- ) &&
585
- showOption(option))
586
- ) {
587
- const currentState =
588
- productCart.options[`id:${option.id}`] || {};
589
- return (
590
- <React.Fragment key={option.id}>
591
- {showOption(option) && (
592
- <View style={styles.optionContainer}>
593
- <ProductOption
594
- option={option}
595
- currentState={currentState}
596
- error={errors[`id:${option.id}`]}>
597
- <WrapperSubOption
598
- style={{
599
- backgroundColor: isError(
600
- option.id,
601
- ),
602
- }}>
603
- {option.suboptions.map(
604
- (suboption: any) => {
605
- const currentState =
606
- productCart.options[
607
- `id:${option.id}`
608
- ]?.suboptions[
609
- `id:${suboption.id}`
610
- ] || {};
611
- const balance =
612
- productCart.options[
613
- `id:${option.id}`
614
- ]?.balance || 0;
615
- return (
616
- <ProductOptionSubOption
617
- key={suboption.id}
618
- onChange={
619
- handleChangeSuboptionState
620
- }
621
- balance={balance}
622
- option={option}
623
- suboption={suboption}
624
- state={currentState}
625
- disabled={
626
- isSoldOut ||
627
- maxProductQuantity <= 0
628
- }
629
- />
630
- );
631
- },
632
- )}
633
- </WrapperSubOption>
634
- </ProductOption>
635
- </View>
636
- )}
637
- </React.Fragment>
638
- );
639
- }
640
- }),
641
- )}
642
- </>
643
- )}
644
- </>
645
- )}
646
- <ProductComment>
647
- <SectionTitle>
648
- <OText size={16} weight={'600'} lineHeight={24}>
649
- {t('SPECIAL_COMMENT', 'Special comment')}
650
- </OText>
651
- </SectionTitle>
652
- <OInput
653
- multiline
654
- placeholder={t('SPECIAL_COMMENT', 'Special comment')}
655
- value={productCart.comment}
656
- onChange={(val: string) =>
657
- handleChangeCommentState({ target: { value: val } })
658
- }
659
- isDisabled={
660
- !(productCart && !isSoldOut && maxProductQuantity)
661
- }
662
- style={styles.comment}
663
- />
664
- </ProductComment>
665
- </ProductEditions>
666
- )}
667
- </WrapContent>
668
- </View>
669
- )}
670
- {error && error.length > 0 && (
671
- <NotFoundSource content={error[0]?.message || error[0]} />
672
- )}
673
- </ScrollView>
674
- {!loading && !error && product && (
675
- <ProductActions
676
- style={{
677
- paddingBottom: Platform.OS === 'ios' ? bottom + 30 : bottom + 80
678
- }}
679
- >
680
- <OText size={16} lineHeight={24} weight={'600'}>
681
- {productCart.total ? parsePrice(productCart?.total) : ''}
682
- </OText>
683
- {productCart && !isSoldOut && maxProductQuantity > 0 && (
684
- <View style={styles.quantityControl}>
685
- <TouchableOpacity
686
- onPress={decrement}
687
- disabled={productCart.quantity === 1 || isSoldOut}>
688
- <OIcon
689
- src={theme.images.general.minus}
690
- width={16}
691
- color={
692
- productCart.quantity === 1 || isSoldOut
693
- ? theme.colors.backgroundGray
694
- : theme.colors.backgroundDark
695
- }
696
- />
697
- </TouchableOpacity>
698
- <OText
699
- size={12}
700
- lineHeight={18}
701
- style={{ minWidth: 29, textAlign: 'center' }}>
702
- {productCart.quantity}
703
- </OText>
704
- <TouchableOpacity
705
- onPress={increment}
706
- disabled={
707
- maxProductQuantity <= 0 ||
708
- productCart.quantity >= maxProductQuantity ||
709
- isSoldOut
710
- }>
711
- <OIcon
712
- src={theme.images.general.plus}
713
- width={16}
714
- color={
715
- maxProductQuantity <= 0 ||
716
- productCart.quantity >= maxProductQuantity ||
717
- isSoldOut
718
- ? theme.colors.backgroundGray
719
- : theme.colors.backgroundDark
720
- }
721
- />
722
- </TouchableOpacity>
723
- </View>
724
- )}
725
- <View
726
- style={{
727
- width: isSoldOut || maxProductQuantity <= 0 ? '60%' : '40%',
728
- }}>
729
- {productCart &&
730
- !isSoldOut &&
731
- maxProductQuantity > 0 &&
732
- auth &&
733
- orderState.options?.address_id && (
734
- <OButton
735
- onClick={() => handleSaveProduct()}
736
- imgRightSrc=""
737
- text={`${orderState.loading
738
- ? t('LOADING', 'Loading')
739
- : editMode
740
- ? t('UPDATE', 'Update')
741
- : t('ADD', 'Add')
742
- }`}
743
- textStyle={{
744
- color: saveErrors ? theme.colors.primary : theme.colors.white,
745
- fontSize: orderState.loading || editMode ? 10 : 14
746
- }}
747
- style={{
748
- backgroundColor: saveErrors ? theme.colors.lightGray : theme.colors.primary,
749
- borderColor: saveErrors ? theme.colors.white : theme.colors.primary,
750
- opacity: saveErrors ? 0.3 : 1,
751
- borderRadius: 7.6,
752
- height: 44,
753
- shadowOpacity: 0,
754
- borderWidth: 1,
755
- }}
756
- />
757
- )}
758
- {auth &&
759
- !orderState.options?.address_id &&
760
- (orderState.loading ? (
761
- <OButton
762
- isDisabled
763
- text={t('LOADING', 'Loading')}
764
- imgRightSrc=""
765
- textStyle={{fontSize: 10}}
766
- />
767
- ) : (
768
- <OButton onClick={navigation.navigate('AddressList')} />
769
- ))}
770
- {(!auth || isSoldOut || maxProductQuantity <= 0) && (
771
- <OButton
772
- isDisabled={isSoldOut || maxProductQuantity <= 0}
773
- onClick={() => handleRedirectLogin()}
774
- text={
775
- isSoldOut || maxProductQuantity <= 0
776
- ? t('SOLD_OUT', 'Sold out')
777
- : t('LOGIN_SIGNUP', 'Login / Sign Up')
778
- }
779
- imgRightSrc=""
780
- textStyle={{ color: theme.colors.primary, fontSize: 14 }}
781
- style={{
782
- height: 44,
783
- borderColor: theme.colors.primary,
784
- backgroundColor: theme.colors.white,
785
- }}
786
- />
787
- )}
788
- </View>
789
- </ProductActions>
790
- )}
791
- </>
792
- );
793
- };
794
-
795
-
796
- export const ProductForm = (props: any) => {
797
- const productOptionsProps = {
798
- ...props,
799
- UIComponent: ProductOptionsUI,
800
- };
801
-
802
- return <ProductOptions {...productOptionsProps} />;
803
- };
1
+ import React, { useEffect, useRef } from 'react';
2
+ import {
3
+ ProductForm as ProductOptions,
4
+ useSession,
5
+ useLanguage,
6
+ useOrder,
7
+ useUtils
8
+ } from 'ordering-components/native';
9
+ import { useTheme } from 'styled-components/native';
10
+ import { ProductIngredient } from '../ProductIngredient';
11
+ import { ProductOption } from '../ProductOption';
12
+ import Swiper from 'react-native-swiper'
13
+ import FastImage from 'react-native-fast-image';
14
+ import IconAntDesign from 'react-native-vector-icons/AntDesign';
15
+
16
+ import { View, TouchableOpacity, StyleSheet, Dimensions, Platform, AppRegistry } from 'react-native';
17
+
18
+ import {
19
+ ProductHeader,
20
+ WrapHeader,
21
+ TopHeader,
22
+ WrapContent,
23
+ ProductTitle,
24
+ ProductDescription,
25
+ ProductEditions,
26
+ SectionTitle,
27
+ WrapperIngredients,
28
+ WrapperSubOption,
29
+ ProductComment,
30
+ ProductActions,
31
+ ExtraOptionWrap
32
+ } from './styles';
33
+ import { OButton, OIcon, OInput, OText } from '../shared';
34
+ import { ScrollView } from 'react-native-gesture-handler';
35
+ import { ProductOptionSubOption } from '../ProductOptionSubOption';
36
+ import { NotFoundSource } from '../NotFoundSource';
37
+ import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
38
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
39
+ import { useState } from 'react';
40
+ import { useWindowDimensions } from 'react-native';
41
+
42
+ const windowHeight = Dimensions.get('window').height;
43
+ const windowWidth = Dimensions.get('window').width;
44
+
45
+ export const ProductOptionsUI = (props: any) => {
46
+ const {
47
+ navigation,
48
+ editMode,
49
+ isSoldOut,
50
+ productCart,
51
+ increment,
52
+ decrement,
53
+ showOption,
54
+ maxProductQuantity,
55
+ errors,
56
+ handleSave,
57
+ handleChangeIngredientState,
58
+ handleChangeSuboptionState,
59
+ handleChangeCommentState,
60
+ productObject,
61
+ onClose,
62
+ isFromCheckout,
63
+ } = props;
64
+
65
+ const theme = useTheme();
66
+
67
+ const styles = StyleSheet.create({
68
+ mainContainer: {
69
+
70
+ },
71
+ headerItem: {
72
+ overflow: 'hidden',
73
+ backgroundColor: theme.colors.clear,
74
+ width: 35,
75
+ marginVertical: 18,
76
+ },
77
+ optionContainer: {
78
+ marginBottom: 20,
79
+ },
80
+ comment: {
81
+ borderWidth: 1,
82
+ borderRadius: 8,
83
+ borderColor: theme.colors.border,
84
+ height: 100,
85
+ alignItems: 'flex-start',
86
+ },
87
+ quantityControl: {
88
+ flexDirection: 'row',
89
+ justifyContent: 'space-between',
90
+ alignItems: 'center',
91
+ marginRight: 10,
92
+ },
93
+ btnBackArrow: {
94
+ borderWidth: 0,
95
+ backgroundColor: 'rgba(0,0,0,0.3)',
96
+ borderRadius: 24,
97
+ marginRight: 15,
98
+ },
99
+ productHeaderSkeleton: {
100
+ flexDirection: 'row',
101
+ width: '100%',
102
+ position: 'relative',
103
+ maxHeight: 260,
104
+ height: 260,
105
+ resizeMode: 'cover',
106
+ minHeight: 200,
107
+ zIndex: 0,
108
+ },
109
+ extraItem: {
110
+ paddingHorizontal: 7,
111
+ paddingBottom: 10,
112
+ borderBottomWidth: 1,
113
+ borderBottomColor: theme.colors.border,
114
+ justifyContent: 'center',
115
+ },
116
+ slide1: {
117
+ flex: 1,
118
+ },
119
+ mainSwiper : {
120
+ height: 258,
121
+ },
122
+ swiperButton: {
123
+ marginHorizontal: 25,
124
+ alignItems: 'center',
125
+ justifyContent: 'center',
126
+ width: 32,
127
+ height: 32,
128
+ borderRadius: 16,
129
+ backgroundColor: 'rgba(208,208,208,0.5)'
130
+ }
131
+ });
132
+
133
+ const [{ parsePrice, optimizeImage }] = useUtils();
134
+ const [, t] = useLanguage();
135
+ const [orderState] = useOrder();
136
+ const [{ auth }] = useSession();
137
+ const { product, loading, error } = productObject;
138
+ const [gallery, setGallery] = useState([])
139
+ const [thumbsSwiper, setThumbsSwiper] = useState(0)
140
+
141
+ const { top, bottom } = useSafeAreaInsets();
142
+ const { height } = useWindowDimensions();
143
+ const [selOpt, setSelectedOpt] = useState(0);
144
+
145
+ const swiperRef: any = useRef(null)
146
+
147
+ const isError = (id: number) => {
148
+ let bgColor = theme.colors.white;
149
+ if (errors[`id:${id}`]) {
150
+ bgColor = 'rgba(255, 0, 0, 0.05)';
151
+ }
152
+ if (isSoldOut || maxProductQuantity <= 0) {
153
+ bgColor = 'hsl(0, 0%, 72%)';
154
+ }
155
+ return bgColor;
156
+ };
157
+
158
+ const handleSaveProduct = () => {
159
+ console.log('----- click handle ------')
160
+ const isErrors = Object.values(errors).length > 0;
161
+ if (!isErrors) {
162
+ console.log('----- save handle ------')
163
+ handleSave && handleSave();
164
+ return;
165
+ }
166
+ };
167
+
168
+ const hasRespected = (options: Array<any>, respect_id: number) => {
169
+ if (respect_id == null) return;
170
+ const option: any = options.filter(({ id }: any) => id === selOpt);
171
+ if (option == undefined) return false;
172
+ if (option?.suboptions?.length == 0) return false;
173
+ const sel = option[0]?.suboptions?.filter(
174
+ ({ id }: any) => id === respect_id,
175
+ );
176
+ return sel[0]?.id !== undefined;
177
+ };
178
+
179
+ const handleChangeMainIndex = (index: number) => {
180
+ if (index < 0 || index > gallery.length - 1) {
181
+ setThumbsSwiper(0)
182
+ return
183
+ }
184
+ setThumbsSwiper(index)
185
+ }
186
+
187
+ const handleClickThumb = (index: number) => {
188
+ swiperRef?.current.scrollBy(index - thumbsSwiper, true);
189
+ }
190
+
191
+ const handleRedirectLogin = () => {
192
+ onClose();
193
+ navigation.navigate('Login');
194
+ };
195
+
196
+ useEffect(() => {
197
+ const productImgList: any = []
198
+ product?.images && productImgList.push(product.images)
199
+ if(product?.gallery && product?.gallery.length > 0) {
200
+ for (const img of product?.gallery) {
201
+ productImgList.push(img.file)
202
+ }
203
+ }
204
+ setGallery(productImgList)
205
+ }, [product])
206
+
207
+ const saveErrors =
208
+ orderState.loading ||
209
+ maxProductQuantity === 0 ||
210
+ Object.keys(errors).length > 0;
211
+
212
+ const ExtraOptions = ({ eID, options }: any) => (
213
+ <>
214
+ {product?.ingredients.length > 0 && (
215
+ <TouchableOpacity
216
+ key={`eopt_all_00`}
217
+ onPress={() => setSelectedOpt(-1)}
218
+ style={[
219
+ styles.extraItem,
220
+ {
221
+ borderBottomColor:
222
+ selOpt == -1 ? theme.colors.textNormal : theme.colors.border,
223
+ },
224
+ ]}>
225
+ <OText
226
+ color={selOpt == -1 ? theme.colors.textNormal : theme.colors.textSecondary}
227
+ size={selOpt == -1 ? 14 : 12}
228
+ weight={selOpt == -1 ? '600' : 'normal'}>
229
+ {t('INGREDIENTS', 'Ingredients')}
230
+ </OText>
231
+ </TouchableOpacity>
232
+ )}
233
+ {options.map(({ id, name, respect_to }: any) => (
234
+ <React.Fragment key={`cont_key_${id}`}>
235
+ {respect_to == null && (
236
+ <TouchableOpacity
237
+ key={`eopt_key_${id}`}
238
+ onPress={() => setSelectedOpt(id)}
239
+ style={[
240
+ styles.extraItem,
241
+ {
242
+ borderBottomColor:
243
+ selOpt == id ? theme.colors.textNormal : theme.colors.border,
244
+ },
245
+ ]}>
246
+ <OText
247
+ color={
248
+ selOpt == id ? theme.colors.textNormal : theme.colors.textSecondary
249
+ }
250
+ size={selOpt == id ? 14 : 12}
251
+ weight={selOpt == id ? '600' : 'normal'}>
252
+ {name}
253
+ </OText>
254
+ </TouchableOpacity>
255
+ )}
256
+ </React.Fragment>
257
+ ))}
258
+ </>
259
+ );
260
+
261
+ return (
262
+ <>
263
+ <TopHeader>
264
+ <TouchableOpacity
265
+ style={styles.headerItem}
266
+ onPress={onClose}>
267
+ <OIcon src={theme.images.general.close} width={16} />
268
+ </TouchableOpacity>
269
+ </TopHeader>
270
+ <ScrollView>
271
+ {!error && (
272
+ <View style={{ paddingBottom: 80 }}>
273
+ <WrapHeader>
274
+ {loading && !product ? (
275
+ <View style={styles.productHeaderSkeleton}>
276
+ <Placeholder Animation={Fade}>
277
+ <PlaceholderLine
278
+ height={258}
279
+ style={{ borderRadius: 0 }}
280
+ width={windowWidth}
281
+ />
282
+ </Placeholder>
283
+ </View>
284
+ ) : (
285
+ <>
286
+ <Swiper
287
+ loop={false}
288
+ ref={swiperRef}
289
+ showsButtons={true}
290
+ style={styles.mainSwiper}
291
+ showsPagination={false}
292
+ onIndexChanged={(index) => handleChangeMainIndex(index)}
293
+ prevButton={
294
+ <View style={styles.swiperButton}>
295
+ <IconAntDesign
296
+ name="caretleft"
297
+ color={theme.colors.white}
298
+ size={13}
299
+ // style={styles.starIcon}
300
+ />
301
+ </View>
302
+ }
303
+ nextButton={
304
+ <View style={styles.swiperButton}>
305
+ <IconAntDesign
306
+ name="caretright"
307
+ color={theme.colors.white}
308
+ size={13}
309
+ // style={styles.starIcon}
310
+ />
311
+ </View>
312
+ }
313
+ >
314
+ {gallery.length > 0 && gallery.map((img, i) => (
315
+ <View
316
+ style={styles.slide1}
317
+ key={i}
318
+ >
319
+ <FastImage
320
+ style={{ height: '100%' }}
321
+ source={{
322
+ uri: optimizeImage(img, 'h_258,c_limit'),
323
+ priority: FastImage.priority.normal,
324
+ }}
325
+ />
326
+ </View>
327
+ ))}
328
+ </Swiper>
329
+ <ScrollView
330
+ horizontal
331
+ contentContainerStyle={{
332
+ paddingHorizontal: 30,
333
+ paddingVertical: 15
334
+ }}
335
+ >
336
+ {gallery.length > 0 && gallery.map((img, index) => (
337
+ <TouchableOpacity
338
+ key={index}
339
+ onPress={() => handleClickThumb(index)}
340
+ >
341
+ <View
342
+ style={{
343
+ height: 56,
344
+ borderRadius: 8,
345
+ margin: 8,
346
+ opacity: index === thumbsSwiper ? 1 : 0.8
347
+ }}
348
+ >
349
+ <OIcon
350
+ url={img}
351
+ style={{
352
+ borderColor: theme.colors.lightGray,
353
+ borderRadius: 8,
354
+ minHeight: '100%'
355
+ }}
356
+ width={56}
357
+ height={56}
358
+ cover
359
+ />
360
+ </View>
361
+ </TouchableOpacity>
362
+
363
+ ))}
364
+ </ScrollView>
365
+ </>
366
+ )}
367
+ </WrapHeader>
368
+ <WrapContent>
369
+ <ProductTitle>
370
+ {loading && !product ? (
371
+ <Placeholder Animation={Fade}>
372
+ <View
373
+ style={{
374
+ flexDirection: 'row',
375
+ justifyContent: 'space-between',
376
+ }}>
377
+ <PlaceholderLine width={40} height={20} />
378
+ <PlaceholderLine width={30} height={20} />
379
+ </View>
380
+ </Placeholder>
381
+ ) : (
382
+ <>
383
+ <OText
384
+ size={20}
385
+ lineHeight={30}
386
+ weight={'600'}
387
+ style={{ flex: 1, marginBottom: 5 }}>
388
+ {product?.name || productCart.name}
389
+ </OText>
390
+ <OText size={16} lineHeight={24} color={theme.colors.textNormal}>
391
+ {productCart.price ? parsePrice(productCart.price) : ''}
392
+ </OText>
393
+ </>
394
+ )}
395
+ </ProductTitle>
396
+ <ProductDescription>
397
+ <OText color={theme.colors.textSecondary} size={12} lineHeight={18}>
398
+ {product?.description || productCart?.description}
399
+ </OText>
400
+ {((product?.sku &&
401
+ product?.sku !== '-1' &&
402
+ product?.sku !== '1') ||
403
+ (productCart?.sku &&
404
+ productCart?.sku !== '-1' &&
405
+ productCart?.sku !== '1')) && (
406
+ <>
407
+ <OText size={16}>{t('SKU', 'Sku')}</OText>
408
+ <OText>{product?.sku || productCart?.sku}</OText>
409
+ </>
410
+ )}
411
+ </ProductDescription>
412
+ {loading && !product ? (
413
+ <>
414
+ {[...Array(2)].map((item, i) => (
415
+ <Placeholder
416
+ key={i}
417
+ style={{ marginBottom: 20 }}
418
+ Animation={Fade}>
419
+ <PlaceholderLine
420
+ height={40}
421
+ style={{ flex: 1, marginTop: 10 }}
422
+ />
423
+ {[...Array(3)].map((item, i) => (
424
+ <View
425
+ key={'place_key_' + i}
426
+ style={{
427
+ flexDirection: 'row',
428
+ justifyContent: 'space-between',
429
+ }}>
430
+ <PlaceholderLine
431
+ height={30}
432
+ width={10}
433
+ style={{ marginBottom: 20 }}
434
+ />
435
+ <PlaceholderLine
436
+ height={30}
437
+ width={50}
438
+ style={{ marginBottom: 20 }}
439
+ />
440
+ <PlaceholderLine
441
+ height={30}
442
+ width={30}
443
+ style={{ marginBottom: 20 }}
444
+ />
445
+ </View>
446
+ ))}
447
+ </Placeholder>
448
+ ))}
449
+ </>
450
+ ) : (
451
+ <ProductEditions>
452
+ <ExtraOptionWrap
453
+ horizontal
454
+ showsHorizontalScrollIndicator={false}
455
+ style={{ marginBottom: 20 }}
456
+ contentContainerStyle={{ paddingHorizontal: 33 }}
457
+ >
458
+ <TouchableOpacity
459
+ key={`eopt_all_0`}
460
+ onPress={() => setSelectedOpt(0)}
461
+ style={[
462
+ styles.extraItem,
463
+ {
464
+ borderBottomColor: selOpt == 0 ? theme.colors.textNormal : theme.colors.border,
465
+ },
466
+ ]}>
467
+ <OText
468
+ color={selOpt == 0 ? theme.colors.textNormal : theme.colors.textSecondary}
469
+ size={selOpt == 0 ? 14 : 12}
470
+ weight={selOpt == 0 ? '600' : 'normal'}>
471
+ {t('ALL', 'All')}
472
+ </OText>
473
+ </TouchableOpacity>
474
+ {product?.extras.map((extra: any) =>
475
+ <ExtraOptions key={extra.id} options={extra.options} />
476
+ )}
477
+ </ExtraOptionWrap>
478
+
479
+ {selOpt == 0 ? (
480
+ <>
481
+ {product?.ingredients.length > 0 && (
482
+ <View style={styles.optionContainer}>
483
+ <SectionTitle>
484
+ <OText size={16}>
485
+ {t('INGREDIENTS', 'Ingredients')}
486
+ </OText>
487
+ </SectionTitle>
488
+ <WrapperIngredients
489
+ style={{
490
+ backgroundColor:
491
+ isSoldOut || maxProductQuantity <= 0
492
+ ? 'hsl(0, 0%, 72%)'
493
+ : theme.colors.white,
494
+ }}>
495
+ {product?.ingredients.map((ingredient: any) => (
496
+ <ProductIngredient
497
+ key={ingredient.id}
498
+ ingredient={ingredient}
499
+ state={
500
+ productCart.ingredients[`id:${ingredient.id}`]
501
+ }
502
+ onChange={handleChangeIngredientState}
503
+ />
504
+ ))}
505
+ </WrapperIngredients>
506
+ </View>
507
+ )}
508
+ {product?.extras.map((extra: any) =>
509
+ extra.options.map((option: any) => {
510
+ const currentState =
511
+ productCart.options[`id:${option.id}`] || {};
512
+ return (
513
+ <React.Fragment key={`popt_${option.id}`}>
514
+ {showOption(option) && (
515
+ <View style={styles.optionContainer}>
516
+ <ProductOption
517
+ option={option}
518
+ currentState={currentState}
519
+ error={errors[`id:${option.id}`]}>
520
+ <WrapperSubOption
521
+ style={{
522
+ backgroundColor: isError(option.id),
523
+ }}>
524
+ {option.suboptions.map(
525
+ (suboption: any) => {
526
+ const currentState =
527
+ productCart.options[
528
+ `id:${option.id}`
529
+ ]?.suboptions[
530
+ `id:${suboption.id}`
531
+ ] || {};
532
+ const balance =
533
+ productCart.options[
534
+ `id:${option.id}`
535
+ ]?.balance || 0;
536
+ return (
537
+ <ProductOptionSubOption
538
+ key={suboption.id}
539
+ onChange={
540
+ handleChangeSuboptionState
541
+ }
542
+ balance={balance}
543
+ option={option}
544
+ suboption={suboption}
545
+ state={currentState}
546
+ disabled={
547
+ isSoldOut ||
548
+ maxProductQuantity <= 0
549
+ }
550
+ />
551
+ );
552
+ },
553
+ )}
554
+ </WrapperSubOption>
555
+ </ProductOption>
556
+ </View>
557
+ )}
558
+ </React.Fragment>
559
+ );
560
+ }),
561
+ )}
562
+ </>
563
+ ) : (
564
+ <>
565
+ {selOpt == -1 ? (
566
+ <View style={styles.optionContainer}>
567
+ <SectionTitle>
568
+ <OText size={16}>
569
+ {t('INGREDIENTS', 'Ingredients')}
570
+ </OText>
571
+ </SectionTitle>
572
+ <WrapperIngredients
573
+ style={{
574
+ backgroundColor:
575
+ isSoldOut || maxProductQuantity <= 0
576
+ ? 'hsl(0, 0%, 72%)'
577
+ : theme.colors.white,
578
+ }}>
579
+ {product?.ingredients.map((ingredient: any) => (
580
+ <ProductIngredient
581
+ key={ingredient.id}
582
+ ingredient={ingredient}
583
+ state={
584
+ productCart.ingredients[`id:${ingredient.id}`]
585
+ }
586
+ onChange={handleChangeIngredientState}
587
+ />
588
+ ))}
589
+ </WrapperIngredients>
590
+ </View>
591
+ ) : (
592
+ <>
593
+ {product?.extras.map((extra: any) =>
594
+ extra.options.map((option: any) => {
595
+ if (
596
+ option.id == selOpt ||
597
+ (hasRespected(
598
+ extra.options,
599
+ option.respect_to,
600
+ ) &&
601
+ showOption(option))
602
+ ) {
603
+ const currentState =
604
+ productCart.options[`id:${option.id}`] || {};
605
+ return (
606
+ <React.Fragment key={option.id}>
607
+ {showOption(option) && (
608
+ <View style={styles.optionContainer}>
609
+ <ProductOption
610
+ option={option}
611
+ currentState={currentState}
612
+ error={errors[`id:${option.id}`]}>
613
+ <WrapperSubOption
614
+ style={{
615
+ backgroundColor: isError(
616
+ option.id,
617
+ ),
618
+ }}>
619
+ {option.suboptions.map(
620
+ (suboption: any) => {
621
+ const currentState =
622
+ productCart.options[
623
+ `id:${option.id}`
624
+ ]?.suboptions[
625
+ `id:${suboption.id}`
626
+ ] || {};
627
+ const balance =
628
+ productCart.options[
629
+ `id:${option.id}`
630
+ ]?.balance || 0;
631
+ return (
632
+ <ProductOptionSubOption
633
+ key={suboption.id}
634
+ onChange={
635
+ handleChangeSuboptionState
636
+ }
637
+ balance={balance}
638
+ option={option}
639
+ suboption={suboption}
640
+ state={currentState}
641
+ disabled={
642
+ isSoldOut ||
643
+ maxProductQuantity <= 0
644
+ }
645
+ />
646
+ );
647
+ },
648
+ )}
649
+ </WrapperSubOption>
650
+ </ProductOption>
651
+ </View>
652
+ )}
653
+ </React.Fragment>
654
+ );
655
+ }
656
+ }),
657
+ )}
658
+ </>
659
+ )}
660
+ </>
661
+ )}
662
+ <ProductComment>
663
+ <SectionTitle>
664
+ <OText size={16} weight={'600'} lineHeight={24}>
665
+ {t('SPECIAL_COMMENT', 'Special comment')}
666
+ </OText>
667
+ </SectionTitle>
668
+ <OInput
669
+ multiline
670
+ placeholder={t('SPECIAL_COMMENT', 'Special comment')}
671
+ value={productCart.comment}
672
+ onChange={(val: string) =>
673
+ handleChangeCommentState({ target: { value: val } })
674
+ }
675
+ isDisabled={
676
+ !(productCart && !isSoldOut && maxProductQuantity)
677
+ }
678
+ style={styles.comment}
679
+ />
680
+ </ProductComment>
681
+ </ProductEditions>
682
+ )}
683
+ </WrapContent>
684
+ </View>
685
+ )}
686
+ {error && error.length > 0 && (
687
+ <NotFoundSource content={error[0]?.message || error[0]} />
688
+ )}
689
+ </ScrollView>
690
+ {!loading && !error && product && (
691
+ <ProductActions
692
+ style={{
693
+ paddingBottom: Platform.OS === 'ios' ? bottom + 30 : bottom + 80
694
+ }}
695
+ >
696
+ <OText size={16} lineHeight={24} weight={'600'}>
697
+ {productCart.total ? parsePrice(productCart?.total) : ''}
698
+ </OText>
699
+ {productCart && !isSoldOut && maxProductQuantity > 0 && (
700
+ <View style={styles.quantityControl}>
701
+ <TouchableOpacity
702
+ onPress={decrement}
703
+ disabled={productCart.quantity === 1 || isSoldOut}>
704
+ <OIcon
705
+ src={theme.images.general.minus}
706
+ width={16}
707
+ color={
708
+ productCart.quantity === 1 || isSoldOut
709
+ ? theme.colors.backgroundGray
710
+ : theme.colors.backgroundDark
711
+ }
712
+ />
713
+ </TouchableOpacity>
714
+ <OText
715
+ size={12}
716
+ lineHeight={18}
717
+ style={{ minWidth: 29, textAlign: 'center' }}>
718
+ {productCart.quantity}
719
+ </OText>
720
+ <TouchableOpacity
721
+ onPress={increment}
722
+ disabled={
723
+ maxProductQuantity <= 0 ||
724
+ productCart.quantity >= maxProductQuantity ||
725
+ isSoldOut
726
+ }>
727
+ <OIcon
728
+ src={theme.images.general.plus}
729
+ width={16}
730
+ color={
731
+ maxProductQuantity <= 0 ||
732
+ productCart.quantity >= maxProductQuantity ||
733
+ isSoldOut
734
+ ? theme.colors.backgroundGray
735
+ : theme.colors.backgroundDark
736
+ }
737
+ />
738
+ </TouchableOpacity>
739
+ </View>
740
+ )}
741
+ <View
742
+ style={{
743
+ width: isSoldOut || maxProductQuantity <= 0 ? '60%' : '40%',
744
+ }}>
745
+ {productCart &&
746
+ !isSoldOut &&
747
+ maxProductQuantity > 0 &&
748
+ auth &&
749
+ orderState.options?.address_id && (
750
+ <OButton
751
+ onClick={() => handleSaveProduct()}
752
+ imgRightSrc=""
753
+ text={`${orderState.loading
754
+ ? t('LOADING', 'Loading')
755
+ : editMode
756
+ ? t('UPDATE', 'Update')
757
+ : t('ADD', 'Add')
758
+ }`}
759
+ textStyle={{
760
+ color: saveErrors ? theme.colors.primary : theme.colors.white,
761
+ fontSize: orderState.loading || editMode ? 10 : 14
762
+ }}
763
+ style={{
764
+ backgroundColor: saveErrors ? theme.colors.lightGray : theme.colors.primary,
765
+ borderColor: saveErrors ? theme.colors.white : theme.colors.primary,
766
+ opacity: saveErrors ? 0.3 : 1,
767
+ borderRadius: 7.6,
768
+ height: 44,
769
+ shadowOpacity: 0,
770
+ borderWidth: 1,
771
+ }}
772
+ />
773
+ )}
774
+ {auth &&
775
+ !orderState.options?.address_id &&
776
+ (orderState.loading ? (
777
+ <OButton
778
+ isDisabled
779
+ text={t('LOADING', 'Loading')}
780
+ imgRightSrc=""
781
+ textStyle={{fontSize: 10}}
782
+ />
783
+ ) : (
784
+ <OButton onClick={navigation.navigate('AddressList')} />
785
+ ))}
786
+ {(!auth || isSoldOut || maxProductQuantity <= 0) && (
787
+ <OButton
788
+ isDisabled={isSoldOut || maxProductQuantity <= 0}
789
+ onClick={() => handleRedirectLogin()}
790
+ text={
791
+ isSoldOut || maxProductQuantity <= 0
792
+ ? t('SOLD_OUT', 'Sold out')
793
+ : t('LOGIN_SIGNUP', 'Login / Sign Up')
794
+ }
795
+ imgRightSrc=""
796
+ textStyle={{ color: theme.colors.primary, fontSize: 14 }}
797
+ style={{
798
+ height: 44,
799
+ borderColor: theme.colors.primary,
800
+ backgroundColor: theme.colors.white,
801
+ }}
802
+ />
803
+ )}
804
+ </View>
805
+ </ProductActions>
806
+ )}
807
+ </>
808
+ );
809
+ };
810
+
811
+
812
+ export const ProductForm = (props: any) => {
813
+ const productOptionsProps = {
814
+ ...props,
815
+ UIComponent: ProductOptionsUI,
816
+ };
817
+
818
+ return <ProductOptions {...productOptionsProps} />;
819
+ };