ordering-components-external 13.2.32 → 13.2.34

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 (537) hide show
  1. package/.babelrc +22 -22
  2. package/.vscode/settings.json +3 -3
  3. package/_bundles/{7.ordering-component.5e6b244837705c07824f.js → 7.ordering-component.6cdb5ba8147ea6e69b23.js} +1 -1
  4. package/_bundles/{ordering-component.5e6b244837705c07824f.js → ordering-component.6cdb5ba8147ea6e69b23.js} +2 -2
  5. package/_modules/components/AddressDetails/index.js +26 -26
  6. package/_modules/components/AddressForm/index.js +50 -50
  7. package/_modules/components/AddressList/index.js +40 -40
  8. package/_modules/components/Analitycs/index.js +6 -6
  9. package/_modules/components/AnalyticsSegment/index.js +3 -3
  10. package/_modules/components/AppleLogin/index.js +26 -26
  11. package/_modules/components/BaseComponent/index.js +14 -14
  12. package/_modules/components/BusinessAndProductList/index.js +16 -16
  13. package/_modules/components/BusinessBasicInformation/index.js +20 -20
  14. package/_modules/components/BusinessController/index.js +50 -50
  15. package/_modules/components/BusinessInformation/BusinessOption/index.js +20 -20
  16. package/_modules/components/BusinessInformation/index.js +18 -18
  17. package/_modules/components/BusinessList/index.js +42 -42
  18. package/_modules/components/BusinessMenuListing/index.js +20 -20
  19. package/_modules/components/BusinessProductsCategories/index.js +16 -16
  20. package/_modules/components/BusinessProductsSearch/index.js +14 -14
  21. package/_modules/components/BusinessReviews/index.js +27 -27
  22. package/_modules/components/BusinessSearchList/index.js +18 -18
  23. package/_modules/components/BusinessSortControl/index.js +28 -28
  24. package/_modules/components/BusinessTypeFilter/index.js +26 -26
  25. package/_modules/components/BusinessesMap/index.js +27 -27
  26. package/_modules/components/Cart/index.js +38 -38
  27. package/_modules/components/CartStoresListing/index.js +4 -4
  28. package/_modules/components/Checkout/index.js +60 -60
  29. package/_modules/components/CmsContent/index.js +20 -20
  30. package/_modules/components/Contacts/index.js +28 -28
  31. package/_modules/components/CouponControl/index.js +22 -22
  32. package/_modules/components/DriverList/index.js +22 -22
  33. package/_modules/components/DriverTips/index.js +35 -35
  34. package/_modules/components/FacebookLoginButton/index.js +40 -40
  35. package/_modules/components/FacebookPixel/index.js +3 -3
  36. package/_modules/components/FavoriteList/index.js +28 -28
  37. package/_modules/components/FirebaseGoogleLoginButton/index.js +10 -10
  38. package/_modules/components/FloatingButton/index.js +20 -20
  39. package/_modules/components/ForgotPasswordForm/index.js +43 -43
  40. package/_modules/components/GiftCard/GiftCardOrdersList/index.js +4 -4
  41. package/_modules/components/GiftCard/PurchaseGiftCard/index.js +6 -6
  42. package/_modules/components/GiftCard/RedeemGiftCard/index.js +4 -4
  43. package/_modules/components/GiftCard/SendGiftCard/index.js +4 -4
  44. package/_modules/components/GoogleAutocompleteInput/index.js +18 -18
  45. package/_modules/components/GoogleIdentity/index.js +28 -28
  46. package/_modules/components/GoogleLoginButton/index.js +49 -49
  47. package/_modules/components/GoogleMaps/index.js +37 -37
  48. package/_modules/components/GpsButton/index.js +20 -20
  49. package/_modules/components/LanguageSelector/index.js +28 -28
  50. package/_modules/components/LoginForm/index.js +58 -58
  51. package/_modules/components/LogoutAction/index.js +17 -17
  52. package/_modules/components/MainSearch/index.js +31 -31
  53. package/_modules/components/MenuControl/index.js +51 -51
  54. package/_modules/components/Messages/index.js +22 -22
  55. package/_modules/components/MomentOption/index.js +51 -51
  56. package/_modules/components/MultiCartCreate/index.js +2 -2
  57. package/_modules/components/MultiCartsPaymethodsAndWallets/index.js +8 -8
  58. package/_modules/components/MultiCheckout/index.js +12 -12
  59. package/_modules/components/MultiOrdersDetails/index.js +6 -6
  60. package/_modules/components/MyOrders/index.js +24 -24
  61. package/_modules/components/MyOrdersList/index.js +26 -26
  62. package/_modules/components/NewOrderNotification/index.js +2 -2
  63. package/_modules/components/OrderChange/index.js +20 -20
  64. package/_modules/components/OrderDetails/index.js +43 -43
  65. package/_modules/components/OrderList/index.js +44 -44
  66. package/_modules/components/OrderReview/index.js +22 -22
  67. package/_modules/components/OrderTypeControl/index.js +18 -18
  68. package/_modules/components/OrdersControlFilters/index.js +6 -6
  69. package/_modules/components/OrdersDashboardComponents/Appointments/index.js +4 -4
  70. package/_modules/components/OrdersDashboardComponents/BusinessProductsListing/index.js +26 -26
  71. package/_modules/components/OrdersDashboardComponents/CheckPassword/index.js +24 -24
  72. package/_modules/components/OrdersDashboardComponents/CityList/index.js +20 -20
  73. package/_modules/components/OrdersDashboardComponents/CountryList/index.js +20 -20
  74. package/_modules/components/OrdersDashboardComponents/CustomOrderDetails/index.js +12 -12
  75. package/_modules/components/OrdersDashboardComponents/DashboardBusinessList/index.js +54 -54
  76. package/_modules/components/OrdersDashboardComponents/DashboardOrdersList/index.js +60 -60
  77. package/_modules/components/OrdersDashboardComponents/DriversList/index.js +58 -58
  78. package/_modules/components/OrdersDashboardComponents/ExportCSV/index.js +16 -16
  79. package/_modules/components/OrdersDashboardComponents/GiftCardsList/index.js +6 -6
  80. package/_modules/components/OrdersDashboardComponents/GoogleMapsApiKeySetting/index.js +4 -4
  81. package/_modules/components/OrdersDashboardComponents/LogisticInformation/index.js +20 -20
  82. package/_modules/components/OrdersDashboardComponents/Logistics/index.js +20 -20
  83. package/_modules/components/OrdersDashboardComponents/Messages/index.js +27 -27
  84. package/_modules/components/OrdersDashboardComponents/MetaFields/index.js +26 -26
  85. package/_modules/components/OrdersDashboardComponents/OrderDetails/index.js +36 -36
  86. package/_modules/components/OrdersDashboardComponents/OrderNotification/index.js +14 -14
  87. package/_modules/components/OrdersDashboardComponents/OrdersFilter/index.js +62 -62
  88. package/_modules/components/OrdersDashboardComponents/OrdersManage/index.js +56 -56
  89. package/_modules/components/OrdersDashboardComponents/PointsWalletLevels/index.js +25 -25
  90. package/_modules/components/OrdersDashboardComponents/ReviewCustomer/index.js +16 -16
  91. package/_modules/components/OrdersDashboardComponents/Schedule/index.js +46 -46
  92. package/_modules/components/OrdersDashboardComponents/SettingsList/index.js +39 -39
  93. package/_modules/components/OrdersDashboardComponents/UserFormDetails/index.js +66 -66
  94. package/_modules/components/OrdersDashboardComponents/UsersList/index.js +54 -54
  95. package/_modules/components/OrdersDashboardComponents/WebsocketStatus/index.js +4 -4
  96. package/_modules/components/PageBanner/index.js +4 -4
  97. package/_modules/components/PaymentOptionCash/index.js +24 -24
  98. package/_modules/components/PaymentOptionPaypal/index.js +24 -24
  99. package/_modules/components/PaymentOptionSquare/index.js +2 -2
  100. package/_modules/components/PaymentOptionStripe/index.js +32 -32
  101. package/_modules/components/PaymentOptionStripeDirect/index.js +24 -24
  102. package/_modules/components/PaymentOptionStripeLink/index.js +4 -4
  103. package/_modules/components/PaymentOptionStripeRedirect/StripeRedirectForm/index.js +19 -19
  104. package/_modules/components/PaymentOptionStripeRedirect/index.js +30 -30
  105. package/_modules/components/PaymentOptions/index.js +27 -27
  106. package/_modules/components/PaymethodList/index.js +20 -20
  107. package/_modules/components/PhoneAutocomplete/index.js +18 -18
  108. package/_modules/components/PlaceSpot/index.js +2 -2
  109. package/_modules/components/Popup/index.js +33 -33
  110. package/_modules/components/ProductComponent/index.js +27 -27
  111. package/_modules/components/ProductForm/index.js +159 -135
  112. package/_modules/components/ProductImages/index.js +18 -18
  113. package/_modules/components/ProductIngredient/index.js +17 -17
  114. package/_modules/components/ProductItemAccordion/index.js +8 -8
  115. package/_modules/components/ProductOption/index.js +8 -8
  116. package/_modules/components/ProductOptionSuboption/index.js +33 -33
  117. package/_modules/components/ProductShare/index.js +20 -20
  118. package/_modules/components/ProductsList/index.js +20 -20
  119. package/_modules/components/ProductsListing/index.js +39 -39
  120. package/_modules/components/ProfessionalInfo/index.js +24 -24
  121. package/_modules/components/QueryLoginSpoonity/index.js +20 -20
  122. package/_modules/components/ReCaptcha/index.js +4 -4
  123. package/_modules/components/ResetPassword/index.js +20 -20
  124. package/_modules/components/ReviewCustomer/index.js +16 -16
  125. package/_modules/components/ReviewDriver/index.js +20 -20
  126. package/_modules/components/ReviewProduct/index.js +22 -22
  127. package/_modules/components/SearchOptions/index.js +17 -17
  128. package/_modules/components/Sessions/index.js +21 -21
  129. package/_modules/components/SignupForm/index.js +58 -58
  130. package/_modules/components/SingleBusinessCard/index.js +28 -28
  131. package/_modules/components/SingleOrderCard/index.js +20 -20
  132. package/_modules/components/SingleProductCard/index.js +18 -18
  133. package/_modules/components/SingleProfessionalCard/index.js +18 -18
  134. package/_modules/components/SmartAppBanner/index.js +8 -8
  135. package/_modules/components/StoreProductList/index.js +22 -22
  136. package/_modules/components/StripeElementsForm/CardForm/index.js +25 -25
  137. package/_modules/components/StripeElementsForm/index.js +16 -16
  138. package/_modules/components/UpsellingPage/index.js +19 -19
  139. package/_modules/components/UserFormDetails/index.js +68 -68
  140. package/_modules/components/UserVerification/index.js +24 -17
  141. package/_modules/components/WebsocketStatus/index.js +4 -4
  142. package/_modules/components/WrapperGoogleMaps/index.js +3 -3
  143. package/_modules/contexts/ApiContext/index.js +8 -8
  144. package/_modules/contexts/BillingContext/index.js +7 -7
  145. package/_modules/contexts/BusinessContext/index.js +9 -9
  146. package/_modules/contexts/ConfigContext/index.js +9 -9
  147. package/_modules/contexts/EventContext/index.js +9 -9
  148. package/_modules/contexts/LanguageContext/index.js +13 -13
  149. package/_modules/contexts/OptimizationLoadContext/index.js +8 -8
  150. package/_modules/contexts/OrderContext/index.js +62 -62
  151. package/_modules/contexts/OrderingContext/index.js +7 -7
  152. package/_modules/contexts/OrderingThemeContext/index.js +11 -11
  153. package/_modules/contexts/ProductContext/index.js +13 -13
  154. package/_modules/contexts/SessionContext/index.js +9 -9
  155. package/_modules/contexts/SiteContext/index.js +9 -9
  156. package/_modules/contexts/UtilsContext/index.js +9 -9
  157. package/_modules/contexts/WebsocketContext/index.js +9 -9
  158. package/_modules/native/src/contexts/OrderingContext/index.js +7 -7
  159. package/cypress/fixtures/example.json +4 -4
  160. package/cypress/integration/naked/BusinessProductsCategories.spec.js +9 -9
  161. package/cypress/integration/naked/PhoneAutocomplete.spec.js +22 -22
  162. package/cypress/integration/naked/activeOrders.spec.js +15 -15
  163. package/cypress/integration/naked/addressDetails.spec.js +10 -10
  164. package/cypress/integration/naked/appleLogin.spec.js +14 -14
  165. package/cypress/integration/naked/businessBasicInformation.spec.js +14 -14
  166. package/cypress/integration/naked/businessController.spec.js +9 -9
  167. package/cypress/integration/naked/businessInformation.spec.js +19 -19
  168. package/cypress/integration/naked/businessProductsSearch.spec.js +9 -9
  169. package/cypress/integration/naked/businessReviews.spec.js +16 -16
  170. package/cypress/integration/naked/businessSortControl.spec.js +9 -9
  171. package/cypress/integration/naked/businessTypeFilter.spec.js +10 -10
  172. package/cypress/integration/naked/businessesMap.spec.js +13 -13
  173. package/cypress/integration/naked/cms.spec.js +9 -9
  174. package/cypress/integration/naked/config.spec.js +34 -34
  175. package/cypress/integration/naked/driverTips.spec.js +10 -10
  176. package/cypress/integration/naked/events.spec.js +13 -13
  177. package/cypress/integration/naked/facebookLogin.spec.js +13 -13
  178. package/cypress/integration/naked/floatingButton.spec.js +13 -13
  179. package/cypress/integration/naked/forgotPassword.spec.js +20 -20
  180. package/cypress/integration/naked/googleLogin.spec.js +11 -11
  181. package/cypress/integration/naked/languageExamples.spec.js +25 -25
  182. package/cypress/integration/naked/languageSelector.spec.js +10 -10
  183. package/cypress/integration/naked/login.spec.js +38 -38
  184. package/cypress/integration/naked/logout.spec.js +15 -15
  185. package/cypress/integration/naked/mainSearch.spec.js +9 -9
  186. package/cypress/integration/naked/menuControl.spec.js +9 -9
  187. package/cypress/integration/naked/messages.spec.js +25 -25
  188. package/cypress/integration/naked/momentOption.spec.js +10 -10
  189. package/cypress/integration/naked/myOrders.spec.js +11 -11
  190. package/cypress/integration/naked/myOrdersList.spec.js +9 -9
  191. package/cypress/integration/naked/orderContextAdvanced.spec.js +23 -23
  192. package/cypress/integration/naked/orderDetails.spec.js +11 -11
  193. package/cypress/integration/naked/paymentOptionCash.spec.js +21 -21
  194. package/cypress/integration/naked/paymentOptionStripe.spec.js +11 -11
  195. package/cypress/integration/naked/paymentOptionStripeDirect.spec.js +11 -11
  196. package/cypress/integration/naked/paymentOptions.spec.js +9 -9
  197. package/cypress/integration/naked/popupExample.spec.js +17 -17
  198. package/cypress/integration/naked/productImages.spec.js +11 -11
  199. package/cypress/integration/naked/productOptionExample.spec.js +21 -21
  200. package/cypress/integration/naked/productShare.spec.js +9 -9
  201. package/cypress/integration/naked/productsList.spec.js +9 -9
  202. package/cypress/integration/naked/resetPassword.spec.js +11 -11
  203. package/cypress/integration/naked/reviewOrders.spec.js +13 -13
  204. package/cypress/integration/naked/searchOptions.spec.js +18 -18
  205. package/cypress/integration/naked/signup.spec.js +31 -31
  206. package/cypress/integration/naked/upselling.spec.js +13 -13
  207. package/cypress/integration/naked/userDetails.spec.js +12 -12
  208. package/cypress/plugins/index.js +21 -21
  209. package/cypress/support/commands.js +35 -35
  210. package/cypress/support/index.js +20 -20
  211. package/cypress.json +12 -12
  212. package/example/App.js +263 -263
  213. package/example/components/ActiveOrdersUI/index.js +72 -72
  214. package/example/components/AddressDetailsUI/index.js +101 -101
  215. package/example/components/AddressFormUI/index.js +161 -161
  216. package/example/components/AddressListUI/index.js +33 -33
  217. package/example/components/AlertPopup/index.js +10 -10
  218. package/example/components/AlertUI/index.js +49 -49
  219. package/example/components/AlertUI/style.css +5 -5
  220. package/example/components/AppleLoginUI/index.js +40 -40
  221. package/example/components/BaseComponentUI/index.js +34 -34
  222. package/example/components/BusinessBasicInformationUI/index.js +118 -118
  223. package/example/components/BusinessControllerUI/index.js +89 -89
  224. package/example/components/BusinessInformationUI/BusinessOptionUI/index.js +83 -83
  225. package/example/components/BusinessInformationUI/index.js +83 -83
  226. package/example/components/BusinessProductsCategoriesUI/index.js +42 -42
  227. package/example/components/BusinessProductsSearchUI/index.js +38 -38
  228. package/example/components/BusinessReviewsUI/index.js +77 -77
  229. package/example/components/BusinessSortControlUI/index.js +47 -47
  230. package/example/components/BusinessTypeFilterUI/index.js +53 -53
  231. package/example/components/BusinessesMapUI/index.js +57 -57
  232. package/example/components/CartUI/index.js +154 -154
  233. package/example/components/ChangeView/index.js +19 -19
  234. package/example/components/CheckoutUI/index.js +206 -206
  235. package/example/components/CmsContentUI/index.js +52 -52
  236. package/example/components/ConfigsExample/index.js +118 -118
  237. package/example/components/CouponControlUI/index.js +63 -63
  238. package/example/components/DriverTipsUI/index.js +58 -58
  239. package/example/components/FacebookLoginButtonUI/index.js +48 -48
  240. package/example/components/FloatingButtonUI/index.js +145 -145
  241. package/example/components/ForgotPasswordFormUI/index.js +93 -93
  242. package/example/components/GoogleLoginUI/index.js +30 -30
  243. package/example/components/GpsButtonUI/index.js +22 -22
  244. package/example/components/Header/index.js +18 -18
  245. package/example/components/LanguageSelectorUI/index.js +57 -57
  246. package/example/components/LanguagesExample/index.js +51 -51
  247. package/example/components/LoginFormUI/index.js +159 -159
  248. package/example/components/LogoutButtonUI/index.js +21 -21
  249. package/example/components/MainSearchUI/index.js +131 -131
  250. package/example/components/MenuControlUI/index.js +103 -103
  251. package/example/components/MessagesUI/index.js +162 -162
  252. package/example/components/ModalUI/index.js +36 -36
  253. package/example/components/ModalUI/style.css +5 -5
  254. package/example/components/MomentOptionUI/index.js +68 -68
  255. package/example/components/MyOrdersListUI/index.js +51 -51
  256. package/example/components/MyOrdersUI/index.js +52 -52
  257. package/example/components/OrderChangeUI/index.js +54 -54
  258. package/example/components/OrderDetailsUI/index.js +174 -174
  259. package/example/components/OrderReviewUI/index.js +125 -125
  260. package/example/components/OrderTypeControlUI/index.js +32 -32
  261. package/example/components/PaymentOptionCashUI/index.js +60 -60
  262. package/example/components/PaymentOptionPaypalUI/index.js +50 -50
  263. package/example/components/PaymentOptionStripeDirectUI/index.js +89 -89
  264. package/example/components/PaymentOptionStripeRedirectUI/index.js +97 -97
  265. package/example/components/PaymentOptionStripeUI/index.js +129 -129
  266. package/example/components/PaymentOptionsUI/index.js +169 -169
  267. package/example/components/PhoneAutocompleteUI/index.js +67 -67
  268. package/example/components/PhoneAutocompleteUI/styles.css +49 -49
  269. package/example/components/ProductComponentUI/index.js +113 -113
  270. package/example/components/ProductFormUI/index.js +131 -131
  271. package/example/components/ProductImagesUI/index.js +82 -82
  272. package/example/components/ProductIngredientUI/index.js +21 -21
  273. package/example/components/ProductOptionSuboptionUI/index.js +65 -65
  274. package/example/components/ProductOptionUI/index.js +31 -31
  275. package/example/components/ProductShareUI/index.js +48 -48
  276. package/example/components/ProductsListUI/index.js +108 -108
  277. package/example/components/ProductsListingUI/index.js +42 -42
  278. package/example/components/ResetPasswordUI/index.js +121 -121
  279. package/example/components/SearchOptionsUI/index.js +82 -82
  280. package/example/components/SignupFormUI/index.js +117 -117
  281. package/example/components/SingleBusinessCardUI/index.js +82 -82
  282. package/example/components/SingleOrderCardUI/index.js +52 -52
  283. package/example/components/SingleProductCardUI/index.js +47 -47
  284. package/example/components/StripeElementsFormUI/CardFormUI/index.js +51 -51
  285. package/example/components/StripeElementsFormUI/CardFormUI/style.css +118 -118
  286. package/example/components/StripeElementsFormUI/index.js +38 -38
  287. package/example/components/StripeRedirectFormUI/index.js +99 -99
  288. package/example/components/TestComponent/index.js +5 -5
  289. package/example/components/UpsellingPageUI/index.js +26 -26
  290. package/example/components/UserDetailsUI/index.js +94 -94
  291. package/example/components/UserProfileUI/index.js +156 -156
  292. package/example/views/ActiveOrders/index.js +86 -86
  293. package/example/views/AddressDetailsExample/index.js +57 -57
  294. package/example/views/AppleLoginExample/index.js +51 -51
  295. package/example/views/BaseComponentExample/index.js +35 -35
  296. package/example/views/BusinessBasicInformationExample/index.js +43 -43
  297. package/example/views/BusinessControllerExample/index.js +55 -55
  298. package/example/views/BusinessInformationExample/index.js +68 -68
  299. package/example/views/BusinessProductsCategoriesExample/index.js +50 -50
  300. package/example/views/BusinessProductsSearchExample/index.js +39 -39
  301. package/example/views/BusinessReviewsExample/index.js +43 -43
  302. package/example/views/BusinessSortControlExample/index.js +53 -53
  303. package/example/views/BusinessTypeFilterExample/index.js +53 -53
  304. package/example/views/BusinessesMapExample/index.js +57 -57
  305. package/example/views/CheckoutExample/index.js +143 -143
  306. package/example/views/CmsContentExample/index.js +44 -44
  307. package/example/views/DriverTipsExample/index.js +47 -47
  308. package/example/views/EventsExample/index.js +26 -26
  309. package/example/views/FacebookLogin/index.js +63 -63
  310. package/example/views/FloatingButtonExample/index.js +47 -47
  311. package/example/views/ForgotPassword/index.js +77 -77
  312. package/example/views/GoogleLoginExample/index.js +85 -85
  313. package/example/views/Home/index.js +200 -200
  314. package/example/views/LanguageSelectorExample/index.js +55 -55
  315. package/example/views/Login/index.js +84 -84
  316. package/example/views/MainSearchExample/index.js +43 -43
  317. package/example/views/MenuControlExample/index.js +68 -68
  318. package/example/views/MessagesExample/index.js +58 -58
  319. package/example/views/MomentOptionExample/index.js +52 -52
  320. package/example/views/MyOrdersExample/index.js +35 -35
  321. package/example/views/MyOrdersListExample/index.js +50 -50
  322. package/example/views/OrderChangeExample/index.js +46 -46
  323. package/example/views/OrderContextExample/index.js +139 -139
  324. package/example/views/OrderDetailsExample/index.js +50 -50
  325. package/example/views/OrderReviewExample/index.js +64 -64
  326. package/example/views/PaymentOptionCashExample/index.js +51 -51
  327. package/example/views/PaymentOptionPaypalExample/index.js +71 -71
  328. package/example/views/PaymentOptionStripeDirectExample/index.js +43 -43
  329. package/example/views/PaymentOptionStripeExample/index.js +47 -47
  330. package/example/views/PaymentOptionStripeRedirectExample/index.js +56 -56
  331. package/example/views/PaymentOptionsExample/index.js +47 -47
  332. package/example/views/PhoneAutocompleteExample/index.js +34 -34
  333. package/example/views/PlacesExample/index.js +94 -94
  334. package/example/views/PopupExample/index.js +78 -78
  335. package/example/views/PopupExample/style.css +18 -18
  336. package/example/views/ProductDetail/index.js +323 -323
  337. package/example/views/ProductImagesExample/index.js +43 -43
  338. package/example/views/ProductOptionExample/index.js +88 -88
  339. package/example/views/ProductShareExample/index.js +51 -51
  340. package/example/views/ProductsListExample/index.js +77 -77
  341. package/example/views/ProductsListingExample/index.js +47 -47
  342. package/example/views/ResetPasswordExample/index.js +60 -60
  343. package/example/views/SearchOptionsExample/index.js +42 -42
  344. package/example/views/SessionManager/index.js +122 -122
  345. package/example/views/Signup/index.js +64 -64
  346. package/example/views/UpsellingPageExample/index.js +35 -35
  347. package/example/views/UserDetailsExample/index.js +69 -69
  348. package/example/views/UserProfile/index.js +73 -73
  349. package/index-example.js +23 -23
  350. package/index.html +13 -13
  351. package/native/index.js +257 -257
  352. package/native/src/NativeStrategy/index.js +20 -20
  353. package/native/src/contexts/OrderingContext/index.js +85 -85
  354. package/package.json +92 -92
  355. package/src/components/AddressDetails/index.js +149 -149
  356. package/src/components/AddressForm/index.js +380 -380
  357. package/src/components/AddressList/index.js +254 -254
  358. package/src/components/Analitycs/index.js +119 -119
  359. package/src/components/AnalyticsSegment/index.js +145 -145
  360. package/src/components/AppleLogin/index.js +164 -164
  361. package/src/components/BaseComponent/index.js +52 -52
  362. package/src/components/BusinessAndProductList/index.js +1005 -1005
  363. package/src/components/BusinessBasicInformation/index.js +119 -119
  364. package/src/components/BusinessController/index.js +351 -351
  365. package/src/components/BusinessInformation/BusinessOption/index.js +86 -86
  366. package/src/components/BusinessInformation/index.js +93 -93
  367. package/src/components/BusinessList/index.js +670 -670
  368. package/src/components/BusinessMenuListing/index.js +99 -99
  369. package/src/components/BusinessProductsCategories/index.js +60 -60
  370. package/src/components/BusinessProductsSearch/index.js +54 -54
  371. package/src/components/BusinessReviews/index.js +187 -187
  372. package/src/components/BusinessSearchList/index.js +364 -364
  373. package/src/components/BusinessSortControl/index.js +100 -100
  374. package/src/components/BusinessTypeFilter/index.js +142 -142
  375. package/src/components/BusinessesMap/index.js +110 -110
  376. package/src/components/Cart/index.js +211 -211
  377. package/src/components/CartStoresListing/index.js +157 -157
  378. package/src/components/Checkout/index.js +652 -652
  379. package/src/components/CmsContent/index.js +97 -97
  380. package/src/components/Contacts/index.js +512 -512
  381. package/src/components/CouponControl/index.js +171 -171
  382. package/src/components/DragAndDrop/index.js +41 -41
  383. package/src/components/DriverList/index.js +112 -112
  384. package/src/components/DriverTips/index.js +141 -141
  385. package/src/components/Emitter/index.js +36 -36
  386. package/src/components/ExamineClick/index.js +40 -40
  387. package/src/components/FacebookLoginButton/index.js +214 -214
  388. package/src/components/FacebookPixel/index.js +148 -148
  389. package/src/components/FavoriteList/index.js +278 -278
  390. package/src/components/FirebaseGoogleLoginButton/index.js +93 -93
  391. package/src/components/FloatingButton/index.js +70 -70
  392. package/src/components/ForgotPasswordForm/index.js +180 -180
  393. package/src/components/GiftCard/GiftCardOrdersList/index.js +155 -155
  394. package/src/components/GiftCard/PurchaseGiftCard/index.js +127 -127
  395. package/src/components/GiftCard/RedeemGiftCard/index.js +77 -77
  396. package/src/components/GiftCard/SendGiftCard/index.js +83 -83
  397. package/src/components/GoogleAutocompleteInput/index.js +154 -154
  398. package/src/components/GoogleIdentity/index.js +144 -144
  399. package/src/components/GoogleLoginButton/index.js +276 -276
  400. package/src/components/GoogleMaps/index.js +523 -523
  401. package/src/components/GpsButton/index.js +154 -154
  402. package/src/components/LanguageSelector/index.js +163 -163
  403. package/src/components/LoginForm/index.js +531 -531
  404. package/src/components/LogoutAction/index.js +211 -211
  405. package/src/components/MainSearch/index.js +149 -149
  406. package/src/components/MapView/index.js +116 -116
  407. package/src/components/MenuControl/index.js +238 -238
  408. package/src/components/Messages/index.js +166 -166
  409. package/src/components/MomentOption/index.js +322 -322
  410. package/src/components/MultiCartCreate/index.js +70 -70
  411. package/src/components/MultiCartsPaymethodsAndWallets/index.js +201 -201
  412. package/src/components/MultiCheckout/index.js +378 -378
  413. package/src/components/MultiOrdersDetails/index.js +109 -109
  414. package/src/components/MyOrders/index.js +150 -150
  415. package/src/components/MyOrdersList/index.js +104 -104
  416. package/src/components/NewOrderNotification/index.js +30 -30
  417. package/src/components/OrderChange/index.js +128 -128
  418. package/src/components/OrderDetails/index.js +684 -684
  419. package/src/components/OrderList/index.js +814 -814
  420. package/src/components/OrderListGroups/index.js +1256 -1256
  421. package/src/components/OrderReview/index.js +180 -180
  422. package/src/components/OrderTypeControl/index.js +75 -75
  423. package/src/components/OrderVerticalList/index.js +422 -422
  424. package/src/components/OrdersControlFilters/index.js +75 -75
  425. package/src/components/OrdersDashboardComponents/Appointments/index.js +72 -72
  426. package/src/components/OrdersDashboardComponents/BusinessProductsListing/index.js +629 -629
  427. package/src/components/OrdersDashboardComponents/CheckPassword/index.js +177 -177
  428. package/src/components/OrdersDashboardComponents/CityList/index.js +98 -98
  429. package/src/components/OrdersDashboardComponents/CountryList/index.js +162 -162
  430. package/src/components/OrdersDashboardComponents/CustomOrderDetails/index.js +238 -238
  431. package/src/components/OrdersDashboardComponents/DashboardBusinessList/index.js +617 -617
  432. package/src/components/OrdersDashboardComponents/DashboardOrdersList/index.js +943 -943
  433. package/src/components/OrdersDashboardComponents/DriversList/index.js +448 -448
  434. package/src/components/OrdersDashboardComponents/ExportCSV/index.js +192 -192
  435. package/src/components/OrdersDashboardComponents/GiftCardsList/index.js +189 -189
  436. package/src/components/OrdersDashboardComponents/GoogleMapsApiKeySetting/index.js +77 -77
  437. package/src/components/OrdersDashboardComponents/LogisticInformation/index.js +97 -97
  438. package/src/components/OrdersDashboardComponents/Logistics/index.js +174 -174
  439. package/src/components/OrdersDashboardComponents/Messages/index.js +384 -384
  440. package/src/components/OrdersDashboardComponents/MetaFields/index.js +186 -186
  441. package/src/components/OrdersDashboardComponents/OrderDetails/index.js +404 -404
  442. package/src/components/OrdersDashboardComponents/OrderNotification/index.js +70 -70
  443. package/src/components/OrdersDashboardComponents/OrdersFilter/index.js +362 -362
  444. package/src/components/OrdersDashboardComponents/OrdersManage/index.js +873 -873
  445. package/src/components/OrdersDashboardComponents/PointsWalletLevels/index.js +123 -123
  446. package/src/components/OrdersDashboardComponents/ReviewCustomer/index.js +113 -113
  447. package/src/components/OrdersDashboardComponents/Schedule/index.js +315 -315
  448. package/src/components/OrdersDashboardComponents/SettingsList/index.js +298 -298
  449. package/src/components/OrdersDashboardComponents/UserFormDetails/index.js +463 -463
  450. package/src/components/OrdersDashboardComponents/UsersList/index.js +944 -944
  451. package/src/components/OrdersDashboardComponents/WebsocketStatus/index.js +77 -77
  452. package/src/components/OrdersDashboardComponents/index.js +57 -57
  453. package/src/components/PageBanner/index.js +107 -107
  454. package/src/components/PaymentOptionCash/index.js +74 -74
  455. package/src/components/PaymentOptionPaypal/index.js +146 -146
  456. package/src/components/PaymentOptionSquare/index.js +336 -336
  457. package/src/components/PaymentOptionStripe/index.js +289 -289
  458. package/src/components/PaymentOptionStripeDirect/index.js +116 -116
  459. package/src/components/PaymentOptionStripeLink/index.js +101 -101
  460. package/src/components/PaymentOptionStripeRedirect/StripeRedirectForm/index.js +71 -71
  461. package/src/components/PaymentOptionStripeRedirect/index.js +122 -122
  462. package/src/components/PaymentOptionWallet/index.js +185 -185
  463. package/src/components/PaymentOptions/index.js +263 -263
  464. package/src/components/PaymethodList/index.js +119 -119
  465. package/src/components/PhoneAutocomplete/index.js +318 -318
  466. package/src/components/PlaceSpot/index.js +183 -183
  467. package/src/components/Popup/index.js +169 -169
  468. package/src/components/ProductComponent/index.js +269 -269
  469. package/src/components/ProductForm/index.js +1149 -1119
  470. package/src/components/ProductImages/index.js +64 -64
  471. package/src/components/ProductIngredient/index.js +72 -72
  472. package/src/components/ProductItemAccordion/index.js +72 -72
  473. package/src/components/ProductOption/index.js +42 -42
  474. package/src/components/ProductOptionSuboption/index.js +225 -225
  475. package/src/components/ProductShare/index.js +97 -97
  476. package/src/components/ProductsList/index.js +74 -74
  477. package/src/components/ProductsListing/index.js +166 -166
  478. package/src/components/ProfessionalInfo/index.js +156 -156
  479. package/src/components/PromotionsController/index.js +123 -123
  480. package/src/components/QueryLoginSpoonity/index.js +159 -159
  481. package/src/components/ReCaptcha/index.js +53 -53
  482. package/src/components/ResetPassword/index.js +111 -111
  483. package/src/components/ReviewCustomer/index.js +117 -117
  484. package/src/components/ReviewDriver/index.js +157 -157
  485. package/src/components/ReviewProduct/index.js +162 -162
  486. package/src/components/SearchOptions/index.js +69 -69
  487. package/src/components/Sessions/index.js +217 -217
  488. package/src/components/SignupForm/index.js +557 -557
  489. package/src/components/SingleBusinessCard/index.js +80 -80
  490. package/src/components/SingleOrderCard/index.js +160 -160
  491. package/src/components/SingleProductCard/index.js +130 -130
  492. package/src/components/SingleProfessionalCard/index.js +121 -121
  493. package/src/components/SmartAppBanner/index.js +71 -71
  494. package/src/components/StoreProductList/index.js +303 -303
  495. package/src/components/StripeElementsForm/CardForm/index.js +248 -248
  496. package/src/components/StripeElementsForm/index.js +78 -78
  497. package/src/components/UpsellingPage/index.js +156 -156
  498. package/src/components/UserFormDetails/index.js +742 -742
  499. package/src/components/UserVerification/index.js +246 -246
  500. package/src/components/WalletList/index.js +160 -160
  501. package/src/components/WebsocketStatus/index.js +80 -80
  502. package/src/components/WrapperGoogleMaps/index.js +67 -67
  503. package/src/constants/code-numbers.js +219 -219
  504. package/src/constants/timezones.js +427 -427
  505. package/src/contexts/ApiContext/index.js +59 -59
  506. package/src/contexts/BillingContext/index.js +28 -28
  507. package/src/contexts/BusinessContext/index.js +71 -71
  508. package/src/contexts/ConfigContext/index.js +217 -217
  509. package/src/contexts/CustomerContext/index.js +69 -69
  510. package/src/contexts/EventContext/index.js +31 -31
  511. package/src/contexts/LanguageContext/index.js +144 -144
  512. package/src/contexts/OptimizationLoadContext/index.js +95 -95
  513. package/src/contexts/OrderContext/index.js +1450 -1450
  514. package/src/contexts/OrderingContext/index.js +86 -86
  515. package/src/contexts/OrderingThemeContext/index.js +107 -107
  516. package/src/contexts/ProductContext/index.js +62 -62
  517. package/src/contexts/SessionContext/index.js +172 -172
  518. package/src/contexts/SiteContext/index.js +79 -79
  519. package/src/contexts/ToastContext/index.js +42 -42
  520. package/src/contexts/UtilsContext/index.js +343 -343
  521. package/src/contexts/ValidationsFieldsContext/index.js +65 -65
  522. package/src/contexts/WebsocketContext/index.js +95 -95
  523. package/src/contexts/WebsocketContext/socket.js +92 -92
  524. package/src/index.js +373 -373
  525. package/src/utils/index.js +32 -32
  526. package/src/webStrategy/index.js +18 -18
  527. package/webpack.dev.js +41 -41
  528. package/webpack.prod.js +64 -64
  529. /package/_bundles/{0.ordering-component.5e6b244837705c07824f.js → 0.ordering-component.6cdb5ba8147ea6e69b23.js} +0 -0
  530. /package/_bundles/{1.ordering-component.5e6b244837705c07824f.js → 1.ordering-component.6cdb5ba8147ea6e69b23.js} +0 -0
  531. /package/_bundles/{2.ordering-component.5e6b244837705c07824f.js → 2.ordering-component.6cdb5ba8147ea6e69b23.js} +0 -0
  532. /package/_bundles/{4.ordering-component.5e6b244837705c07824f.js → 4.ordering-component.6cdb5ba8147ea6e69b23.js} +0 -0
  533. /package/_bundles/{5.ordering-component.5e6b244837705c07824f.js → 5.ordering-component.6cdb5ba8147ea6e69b23.js} +0 -0
  534. /package/_bundles/{6.ordering-component.5e6b244837705c07824f.js → 6.ordering-component.6cdb5ba8147ea6e69b23.js} +0 -0
  535. /package/_bundles/{7.ordering-component.5e6b244837705c07824f.js.LICENSE.txt → 7.ordering-component.6cdb5ba8147ea6e69b23.js.LICENSE.txt} +0 -0
  536. /package/_bundles/{8.ordering-component.5e6b244837705c07824f.js → 8.ordering-component.6cdb5ba8147ea6e69b23.js} +0 -0
  537. /package/_bundles/{ordering-component.5e6b244837705c07824f.js.LICENSE.txt → ordering-component.6cdb5ba8147ea6e69b23.js.LICENSE.txt} +0 -0
@@ -1,298 +1,298 @@
1
- import React, { useState, useEffect } from 'react'
2
- import PropTypes, { object, string } from 'prop-types'
3
- import { useSession } from '../../../contexts/SessionContext'
4
- import { useApi } from '../../../contexts/ApiContext'
5
- import { useToast, ToastType } from '../../../contexts/ToastContext'
6
- import { useLanguage } from '../../../contexts/LanguageContext'
7
- import { useConfig } from '../../../contexts/ConfigContext'
8
-
9
- /**
10
- * Component to manage Settings List page behavior without UI component
11
- */
12
- export const SettingsList = (props) => {
13
- const {
14
- UIComponent,
15
- category,
16
- handleUpdateCategoryList,
17
- categoryList,
18
- staticConfigs,
19
- handleChangeStaic
20
- } = props
21
-
22
- const [configs, setConfigs] = useState(null)
23
- const [{ loading, token }] = useSession()
24
- const [ordering] = useApi()
25
- const [, { showToast }] = useToast()
26
- const [, t] = useLanguage()
27
- const [, { refreshConfigs }] = useConfig()
28
- const [formState, setFormState] = useState({ changes: null, loading: false, result: { error: null }, API: false, finalResult: [] })
29
-
30
- /** Method to change checkbox status
31
- * @param {EventTarget} evt
32
- * @param {Boolean} index
33
- */
34
- const handleCheckBoxChange = (evt, index, value) => {
35
- const configId = parseInt(evt.target.getAttribute('data-id'))
36
- let changeValue
37
-
38
- if (index) {
39
- // type = 3
40
- const str = value === '' ? [] : value.split('|')
41
- const position = str.indexOf(evt.target.name)
42
- if (position === -1 && evt.target.checked) str.push(evt.target.name)
43
- if (!evt.target.checked && position >= 0) str.splice(position, 1)
44
- changeValue = str.join('|')
45
- } else {
46
- // type = 4
47
- const array = [...JSON.parse(value)]
48
- const position = array.indexOf(parseInt(evt.target.name))
49
- if (position === -1 && evt.target.checked) array.push(parseInt(evt.target.name))
50
- if (!evt.target.checked && position >= 0) array.splice(position, 1)
51
- changeValue = JSON.stringify(array)
52
- }
53
- saveChanges(changeValue, configId)
54
- }
55
-
56
- /**
57
- * Method to save changes from settings items
58
- */
59
- const saveChanges = (changeValue, id) => {
60
- const item = configs.find(config => config.id === id)
61
- switch (item?.key) {
62
- case 'platform_fee_fixed':
63
- case 'platform_fee_percentage':
64
- if (isNaN(Number(changeValue) && changeValue !== '')) return
65
- break
66
- default:
67
- break
68
- }
69
- let _configs = []
70
- const found = formState?.changes?.find(item => item.id === id)
71
- if (found) {
72
- _configs = formState?.changes.map(config => (config.id === id) ? { ...config, value: changeValue } : config)
73
- } else {
74
- if (formState?.changes) _configs = [...formState?.changes]
75
- _configs.push({ ...item, value: changeValue })
76
- }
77
-
78
- const defaultConfigs = configs.map(config => (config.id === id) ? { ...config, value: changeValue } : config)
79
- setFormState({
80
- ...formState,
81
- changes: _configs
82
- })
83
- setConfigs(defaultConfigs)
84
- }
85
-
86
- /**
87
- * Method to update settings items
88
- */
89
- const handleClickUpdate = () => {
90
- if (!formState?.changes || formState?.changes?.length === 0) return
91
- const _changes = formState?.changes.map(item => {
92
- if (item.key === 'driver_tip_options') {
93
- return {
94
- ...item,
95
- value: transformArray(item?.value)
96
- }
97
- }
98
- return item
99
- })
100
- setFormState({ ...formState, changes: [..._changes], API: true })
101
- }
102
-
103
- const transformArray = (values) => {
104
- return '[' + values + ']'
105
- }
106
-
107
- /**
108
- * Method to update settings items
109
- * @param {Number} id config id to update a config
110
- * @param {Object} params key and value to change
111
- */
112
- const saveConfig = async (id, params) => {
113
- if (loading) return
114
- try {
115
- showToast(ToastType.Info, t('LOADING', 'Loading'))
116
- setFormState({
117
- ...formState,
118
- loading: true,
119
- API: false
120
- })
121
- const { content: { error, result } } = await ordering.setAccessToken(token).configs(id).save(params)
122
- if (!error) {
123
- const changes = formState?.changes ? formState?.changes.filter(item => item.id !== result.id) : []
124
- const _configs = formState?.finalResult.map(config => {
125
- if (config.id === result.id) {
126
- return {
127
- ...config,
128
- value: result?.value
129
- }
130
- }
131
- return config
132
- })
133
- if (changes.length > 0) {
134
- setFormState({
135
- loading: false,
136
- changes: changes,
137
- result: {
138
- error: false,
139
- result: result
140
- },
141
- API: true,
142
- finalResult: _configs
143
- })
144
- } else {
145
- setFormState({
146
- loading: false,
147
- changes: null,
148
- result: {
149
- error: false,
150
- result: 'ok'
151
- },
152
- API: false,
153
- finalResult: _configs
154
- })
155
- showToast(ToastType.Success, t('SETTINGS_UPDATE', 'Settings updated'))
156
- if (handleUpdateCategoryList) {
157
- const _categories = categoryList?.categories.map(item => {
158
- if (item.id === category.id) {
159
- return {
160
- ...item,
161
- configs: _configs
162
- }
163
- }
164
- return item
165
- })
166
- handleUpdateCategoryList(_categories)
167
- }
168
- handleChangeStaic && handleChangeStaic([..._configs])
169
- refreshConfigs && refreshConfigs()
170
- }
171
- } else {
172
- setFormState({
173
- ...formState,
174
- loading: false,
175
- result: {
176
- error: true,
177
- result: result
178
- },
179
- API: false
180
- })
181
- }
182
- } catch (err) {
183
- setFormState({
184
- ...formState,
185
- loading: false,
186
- result: {
187
- error: true,
188
- result: err
189
- },
190
- API: false
191
- })
192
- }
193
- }
194
-
195
- useEffect(() => {
196
- if (category?.configs.length > 0) {
197
- const _configs = [...category?.configs]
198
- setConfigs(_configs)
199
- setFormState({
200
- ...formState,
201
- finalResult: _configs
202
- })
203
- }
204
- }, [category?.configs])
205
-
206
- useEffect(() => {
207
- if (staticConfigs) {
208
- setConfigs([...staticConfigs])
209
- setFormState({
210
- ...formState,
211
- finalResult: [...staticConfigs]
212
- })
213
- }
214
- }, [staticConfigs])
215
-
216
- useEffect(() => {
217
- if (formState?.API && formState?.changes?.length > 0) {
218
- const params = { key: formState?.changes[0].key, value: formState?.changes[0].value }
219
- saveConfig(formState?.changes[0].id, params)
220
- }
221
- }, [formState?.API])
222
-
223
- return (
224
- <>
225
- {UIComponent && (
226
- <UIComponent
227
- {...props}
228
- settingsState={formState}
229
- configs={configs}
230
- handleInputChange={saveChanges}
231
- handleCheckBoxChange={handleCheckBoxChange}
232
- handleClickUpdate={handleClickUpdate}
233
- formState={formState}
234
- handleChangeFormState={setFormState}
235
- saveConfig={saveConfig}
236
- />
237
- )}
238
- </>
239
- )
240
- }
241
-
242
- SettingsList.propTypes = {
243
- /**
244
- * UI Component, this must be containt all graphic elements and use parent props
245
- */
246
- UIComponent: PropTypes.elementType,
247
- /**
248
- * Category of configs
249
- */
250
- category: PropTypes.object,
251
- /**
252
- * Array of config
253
- */
254
- staticConfigs: PropTypes.arrayOf(object),
255
- /**
256
- * Object for a category
257
- */
258
- categoryList: PropTypes.object,
259
- /**
260
- * Function to set a category list
261
- */
262
- handleUpdateCategoryList: PropTypes.func,
263
- /**
264
- * Function to set a config
265
- */
266
- handleChangeStaic: PropTypes.func,
267
- /**
268
- * Array of drivers props to fetch
269
- */
270
- propsToFetch: PropTypes.arrayOf(string),
271
- /**
272
- * Components types before order details
273
- * Array of type components, the parent props will pass to these components
274
- */
275
- beforeComponents: PropTypes.arrayOf(PropTypes.elementType),
276
- /**
277
- * Components types after order details
278
- * Array of type components, the parent props will pass to these components
279
- */
280
- afterComponents: PropTypes.arrayOf(PropTypes.elementType),
281
- /**
282
- * Elements before order details
283
- * Array of HTML/Components elements, these components will not get the parent props
284
- */
285
- beforeElements: PropTypes.arrayOf(PropTypes.element),
286
- /**
287
- * Elements after order details
288
- * Array of HTML/Components elements, these components will not get the parent props
289
- */
290
- afterElements: PropTypes.arrayOf(PropTypes.element)
291
- }
292
-
293
- SettingsList.defaultProps = {
294
- beforeComponents: [],
295
- afterComponents: [],
296
- beforeElements: [],
297
- afterElements: []
298
- }
1
+ import React, { useState, useEffect } from 'react'
2
+ import PropTypes, { object, string } from 'prop-types'
3
+ import { useSession } from '../../../contexts/SessionContext'
4
+ import { useApi } from '../../../contexts/ApiContext'
5
+ import { useToast, ToastType } from '../../../contexts/ToastContext'
6
+ import { useLanguage } from '../../../contexts/LanguageContext'
7
+ import { useConfig } from '../../../contexts/ConfigContext'
8
+
9
+ /**
10
+ * Component to manage Settings List page behavior without UI component
11
+ */
12
+ export const SettingsList = (props) => {
13
+ const {
14
+ UIComponent,
15
+ category,
16
+ handleUpdateCategoryList,
17
+ categoryList,
18
+ staticConfigs,
19
+ handleChangeStaic
20
+ } = props
21
+
22
+ const [configs, setConfigs] = useState(null)
23
+ const [{ loading, token }] = useSession()
24
+ const [ordering] = useApi()
25
+ const [, { showToast }] = useToast()
26
+ const [, t] = useLanguage()
27
+ const [, { refreshConfigs }] = useConfig()
28
+ const [formState, setFormState] = useState({ changes: null, loading: false, result: { error: null }, API: false, finalResult: [] })
29
+
30
+ /** Method to change checkbox status
31
+ * @param {EventTarget} evt
32
+ * @param {Boolean} index
33
+ */
34
+ const handleCheckBoxChange = (evt, index, value) => {
35
+ const configId = parseInt(evt.target.getAttribute('data-id'))
36
+ let changeValue
37
+
38
+ if (index) {
39
+ // type = 3
40
+ const str = value === '' ? [] : value.split('|')
41
+ const position = str.indexOf(evt.target.name)
42
+ if (position === -1 && evt.target.checked) str.push(evt.target.name)
43
+ if (!evt.target.checked && position >= 0) str.splice(position, 1)
44
+ changeValue = str.join('|')
45
+ } else {
46
+ // type = 4
47
+ const array = [...JSON.parse(value)]
48
+ const position = array.indexOf(parseInt(evt.target.name))
49
+ if (position === -1 && evt.target.checked) array.push(parseInt(evt.target.name))
50
+ if (!evt.target.checked && position >= 0) array.splice(position, 1)
51
+ changeValue = JSON.stringify(array)
52
+ }
53
+ saveChanges(changeValue, configId)
54
+ }
55
+
56
+ /**
57
+ * Method to save changes from settings items
58
+ */
59
+ const saveChanges = (changeValue, id) => {
60
+ const item = configs.find(config => config.id === id)
61
+ switch (item?.key) {
62
+ case 'platform_fee_fixed':
63
+ case 'platform_fee_percentage':
64
+ if (isNaN(Number(changeValue) && changeValue !== '')) return
65
+ break
66
+ default:
67
+ break
68
+ }
69
+ let _configs = []
70
+ const found = formState?.changes?.find(item => item.id === id)
71
+ if (found) {
72
+ _configs = formState?.changes.map(config => (config.id === id) ? { ...config, value: changeValue } : config)
73
+ } else {
74
+ if (formState?.changes) _configs = [...formState?.changes]
75
+ _configs.push({ ...item, value: changeValue })
76
+ }
77
+
78
+ const defaultConfigs = configs.map(config => (config.id === id) ? { ...config, value: changeValue } : config)
79
+ setFormState({
80
+ ...formState,
81
+ changes: _configs
82
+ })
83
+ setConfigs(defaultConfigs)
84
+ }
85
+
86
+ /**
87
+ * Method to update settings items
88
+ */
89
+ const handleClickUpdate = () => {
90
+ if (!formState?.changes || formState?.changes?.length === 0) return
91
+ const _changes = formState?.changes.map(item => {
92
+ if (item.key === 'driver_tip_options') {
93
+ return {
94
+ ...item,
95
+ value: transformArray(item?.value)
96
+ }
97
+ }
98
+ return item
99
+ })
100
+ setFormState({ ...formState, changes: [..._changes], API: true })
101
+ }
102
+
103
+ const transformArray = (values) => {
104
+ return '[' + values + ']'
105
+ }
106
+
107
+ /**
108
+ * Method to update settings items
109
+ * @param {Number} id config id to update a config
110
+ * @param {Object} params key and value to change
111
+ */
112
+ const saveConfig = async (id, params) => {
113
+ if (loading) return
114
+ try {
115
+ showToast(ToastType.Info, t('LOADING', 'Loading'))
116
+ setFormState({
117
+ ...formState,
118
+ loading: true,
119
+ API: false
120
+ })
121
+ const { content: { error, result } } = await ordering.setAccessToken(token).configs(id).save(params)
122
+ if (!error) {
123
+ const changes = formState?.changes ? formState?.changes.filter(item => item.id !== result.id) : []
124
+ const _configs = formState?.finalResult.map(config => {
125
+ if (config.id === result.id) {
126
+ return {
127
+ ...config,
128
+ value: result?.value
129
+ }
130
+ }
131
+ return config
132
+ })
133
+ if (changes.length > 0) {
134
+ setFormState({
135
+ loading: false,
136
+ changes: changes,
137
+ result: {
138
+ error: false,
139
+ result: result
140
+ },
141
+ API: true,
142
+ finalResult: _configs
143
+ })
144
+ } else {
145
+ setFormState({
146
+ loading: false,
147
+ changes: null,
148
+ result: {
149
+ error: false,
150
+ result: 'ok'
151
+ },
152
+ API: false,
153
+ finalResult: _configs
154
+ })
155
+ showToast(ToastType.Success, t('SETTINGS_UPDATE', 'Settings updated'))
156
+ if (handleUpdateCategoryList) {
157
+ const _categories = categoryList?.categories.map(item => {
158
+ if (item.id === category.id) {
159
+ return {
160
+ ...item,
161
+ configs: _configs
162
+ }
163
+ }
164
+ return item
165
+ })
166
+ handleUpdateCategoryList(_categories)
167
+ }
168
+ handleChangeStaic && handleChangeStaic([..._configs])
169
+ refreshConfigs && refreshConfigs()
170
+ }
171
+ } else {
172
+ setFormState({
173
+ ...formState,
174
+ loading: false,
175
+ result: {
176
+ error: true,
177
+ result: result
178
+ },
179
+ API: false
180
+ })
181
+ }
182
+ } catch (err) {
183
+ setFormState({
184
+ ...formState,
185
+ loading: false,
186
+ result: {
187
+ error: true,
188
+ result: err
189
+ },
190
+ API: false
191
+ })
192
+ }
193
+ }
194
+
195
+ useEffect(() => {
196
+ if (category?.configs.length > 0) {
197
+ const _configs = [...category?.configs]
198
+ setConfigs(_configs)
199
+ setFormState({
200
+ ...formState,
201
+ finalResult: _configs
202
+ })
203
+ }
204
+ }, [category?.configs])
205
+
206
+ useEffect(() => {
207
+ if (staticConfigs) {
208
+ setConfigs([...staticConfigs])
209
+ setFormState({
210
+ ...formState,
211
+ finalResult: [...staticConfigs]
212
+ })
213
+ }
214
+ }, [staticConfigs])
215
+
216
+ useEffect(() => {
217
+ if (formState?.API && formState?.changes?.length > 0) {
218
+ const params = { key: formState?.changes[0].key, value: formState?.changes[0].value }
219
+ saveConfig(formState?.changes[0].id, params)
220
+ }
221
+ }, [formState?.API])
222
+
223
+ return (
224
+ <>
225
+ {UIComponent && (
226
+ <UIComponent
227
+ {...props}
228
+ settingsState={formState}
229
+ configs={configs}
230
+ handleInputChange={saveChanges}
231
+ handleCheckBoxChange={handleCheckBoxChange}
232
+ handleClickUpdate={handleClickUpdate}
233
+ formState={formState}
234
+ handleChangeFormState={setFormState}
235
+ saveConfig={saveConfig}
236
+ />
237
+ )}
238
+ </>
239
+ )
240
+ }
241
+
242
+ SettingsList.propTypes = {
243
+ /**
244
+ * UI Component, this must be containt all graphic elements and use parent props
245
+ */
246
+ UIComponent: PropTypes.elementType,
247
+ /**
248
+ * Category of configs
249
+ */
250
+ category: PropTypes.object,
251
+ /**
252
+ * Array of config
253
+ */
254
+ staticConfigs: PropTypes.arrayOf(object),
255
+ /**
256
+ * Object for a category
257
+ */
258
+ categoryList: PropTypes.object,
259
+ /**
260
+ * Function to set a category list
261
+ */
262
+ handleUpdateCategoryList: PropTypes.func,
263
+ /**
264
+ * Function to set a config
265
+ */
266
+ handleChangeStaic: PropTypes.func,
267
+ /**
268
+ * Array of drivers props to fetch
269
+ */
270
+ propsToFetch: PropTypes.arrayOf(string),
271
+ /**
272
+ * Components types before order details
273
+ * Array of type components, the parent props will pass to these components
274
+ */
275
+ beforeComponents: PropTypes.arrayOf(PropTypes.elementType),
276
+ /**
277
+ * Components types after order details
278
+ * Array of type components, the parent props will pass to these components
279
+ */
280
+ afterComponents: PropTypes.arrayOf(PropTypes.elementType),
281
+ /**
282
+ * Elements before order details
283
+ * Array of HTML/Components elements, these components will not get the parent props
284
+ */
285
+ beforeElements: PropTypes.arrayOf(PropTypes.element),
286
+ /**
287
+ * Elements after order details
288
+ * Array of HTML/Components elements, these components will not get the parent props
289
+ */
290
+ afterElements: PropTypes.arrayOf(PropTypes.element)
291
+ }
292
+
293
+ SettingsList.defaultProps = {
294
+ beforeComponents: [],
295
+ afterComponents: [],
296
+ beforeElements: [],
297
+ afterElements: []
298
+ }