@eventlook/sdk 1.4.3 → 1.4.5-1.beta.1

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 (447) hide show
  1. package/.env.example +1 -0
  2. package/dev-frontend.sh +32 -0
  3. package/dist/cjs/_virtual/_commonjsHelpers.js +4 -2
  4. package/dist/cjs/_virtual/_commonjsHelpers.js.map +1 -1
  5. package/dist/cjs/_virtual/index.js +2 -2
  6. package/dist/cjs/_virtual/index2.js +2 -2
  7. package/dist/cjs/_virtual/index3.js +2 -2
  8. package/dist/cjs/components/Image.js +29 -14
  9. package/dist/cjs/components/Image.js.map +1 -1
  10. package/dist/cjs/components/hook-form/FormProvider.js +2 -2
  11. package/dist/cjs/components/hook-form/FormProvider.js.map +1 -1
  12. package/dist/cjs/context/GlobalContext.js +2 -1
  13. package/dist/cjs/context/GlobalContext.js.map +1 -1
  14. package/dist/cjs/form/ChildEventDialog.js +3 -3
  15. package/dist/cjs/form/ChildEventDialog.js.map +1 -1
  16. package/dist/cjs/form/ContactPerson.js +1 -1
  17. package/dist/cjs/form/ContactPerson.js.map +1 -1
  18. package/dist/cjs/form/Payment.js +2 -4
  19. package/dist/cjs/form/Payment.js.map +1 -1
  20. package/dist/cjs/form/PaymentOverviewBox.js +104 -115
  21. package/dist/cjs/form/PaymentOverviewBox.js.map +1 -1
  22. package/dist/cjs/form/PaymentOverviewDrawer.js +317 -0
  23. package/dist/cjs/form/PaymentOverviewDrawer.js.map +1 -0
  24. package/dist/cjs/form/PaymentPending.js +15 -3
  25. package/dist/cjs/form/PaymentPending.js.map +1 -1
  26. package/dist/cjs/form/PaymentSuccess.js +39 -2
  27. package/dist/cjs/form/PaymentSuccess.js.map +1 -1
  28. package/dist/cjs/form/ReleaseWithMerchandise.js +57 -48
  29. package/dist/cjs/form/ReleaseWithMerchandise.js.map +1 -1
  30. package/dist/cjs/form/Shipping.js +33 -27
  31. package/dist/cjs/form/Shipping.js.map +1 -1
  32. package/dist/cjs/form/TicketForm.js +102 -35
  33. package/dist/cjs/form/TicketForm.js.map +1 -1
  34. package/dist/cjs/form/TicketQuantityControl.js +51 -0
  35. package/dist/cjs/form/TicketQuantityControl.js.map +1 -0
  36. package/dist/cjs/form/TicketSelection.js +32 -12
  37. package/dist/cjs/form/TicketSelection.js.map +1 -1
  38. package/dist/cjs/form/TicketSelectionMap.js +67 -0
  39. package/dist/cjs/form/TicketSelectionMap.js.map +1 -0
  40. package/dist/cjs/form/TicketSelectionMobile.js +98 -0
  41. package/dist/cjs/form/TicketSelectionMobile.js.map +1 -0
  42. package/dist/cjs/form/TicketWithMerchandiseSelection.js +46 -10
  43. package/dist/cjs/form/TicketWithMerchandiseSelection.js.map +1 -1
  44. package/dist/cjs/form/extra-field/ExtraField.js.map +1 -1
  45. package/dist/cjs/form/extra-field/ReleaseExtraFields.js +1 -1
  46. package/dist/cjs/form/extra-field/ReleaseExtraFields.js.map +1 -1
  47. package/dist/cjs/form/index.js +2 -2
  48. package/dist/cjs/form/index.js.map +1 -1
  49. package/dist/cjs/form/merchandise/MerchandiseSelection.js +14 -0
  50. package/dist/cjs/form/merchandise/MerchandiseSelection.js.map +1 -0
  51. package/dist/cjs/form/merchandise/MerchandiseSlider.js +40 -0
  52. package/dist/cjs/form/merchandise/MerchandiseSlider.js.map +1 -0
  53. package/dist/cjs/form/merchendise/MerchandiseSelection.js +19 -0
  54. package/dist/cjs/form/merchendise/MerchandiseSelection.js.map +1 -0
  55. package/dist/cjs/form/merchendise/MerchandiseSlider.js +75 -0
  56. package/dist/cjs/form/merchendise/MerchandiseSlider.js.map +1 -0
  57. package/dist/cjs/form/payment/FeeBox.js +5 -17
  58. package/dist/cjs/form/payment/FeeBox.js.map +1 -1
  59. package/dist/cjs/form/payment/PaymentOverviewCheckbox.js +52 -0
  60. package/dist/cjs/form/payment/PaymentOverviewCheckbox.js.map +1 -0
  61. package/dist/cjs/form/product/ProductCard.js +147 -36
  62. package/dist/cjs/form/product/ProductCard.js.map +1 -1
  63. package/dist/cjs/form/product/ProductVariantsDialog.js +182 -97
  64. package/dist/cjs/form/product/ProductVariantsDialog.js.map +1 -1
  65. package/dist/cjs/form/services/index.js +116 -0
  66. package/dist/cjs/form/services/index.js.map +1 -0
  67. package/dist/cjs/form/style.js +13 -4
  68. package/dist/cjs/form/style.js.map +1 -1
  69. package/dist/cjs/form/tickets/ReleaseDescription.js +23 -0
  70. package/dist/cjs/form/tickets/ReleaseDescription.js.map +1 -0
  71. package/dist/cjs/form/tickets/ReleaseWithMerchandise.js +164 -0
  72. package/dist/cjs/form/tickets/ReleaseWithMerchandise.js.map +1 -0
  73. package/dist/cjs/form/tickets/TicketQuantityControl.js +54 -0
  74. package/dist/cjs/form/tickets/TicketQuantityControl.js.map +1 -0
  75. package/dist/cjs/form/tickets/TicketSelection.js +162 -0
  76. package/dist/cjs/form/tickets/TicketSelection.js.map +1 -0
  77. package/dist/cjs/form/tickets/TicketSelectionMap.js +79 -0
  78. package/dist/cjs/form/tickets/TicketSelectionMap.js.map +1 -0
  79. package/dist/cjs/form/tickets/TicketSelectionMobile.js +100 -0
  80. package/dist/cjs/form/tickets/TicketSelectionMobile.js.map +1 -0
  81. package/dist/cjs/form/tickets/TicketWithMerchandiseSelection.js +127 -0
  82. package/dist/cjs/form/tickets/TicketWithMerchandiseSelection.js.map +1 -0
  83. package/dist/cjs/hooks/useConsentScrollOnDrawerOpen.js +59 -0
  84. package/dist/cjs/hooks/useConsentScrollOnDrawerOpen.js.map +1 -0
  85. package/dist/cjs/hooks/useScrollToFirstError.js +73 -0
  86. package/dist/cjs/hooks/useScrollToFirstError.js.map +1 -0
  87. package/dist/cjs/locales/cs.js +48 -2
  88. package/dist/cjs/locales/cs.js.map +1 -1
  89. package/dist/cjs/locales/en.js +48 -1
  90. package/dist/cjs/locales/en.js.map +1 -1
  91. package/dist/cjs/locales/es.js +48 -1
  92. package/dist/cjs/locales/es.js.map +1 -1
  93. package/dist/cjs/locales/pl.js +48 -1
  94. package/dist/cjs/locales/pl.js.map +1 -1
  95. package/dist/cjs/locales/sk.js +48 -1
  96. package/dist/cjs/locales/sk.js.map +1 -1
  97. package/dist/cjs/locales/uk.js +48 -1
  98. package/dist/cjs/locales/uk.js.map +1 -1
  99. package/dist/cjs/modules/shopping-cart.js +10 -9
  100. package/dist/cjs/modules/shopping-cart.js.map +1 -1
  101. package/dist/cjs/utils/data/global.js +2 -0
  102. package/dist/cjs/utils/data/global.js.map +1 -1
  103. package/dist/cjs/utils/data/ticket.js +6 -0
  104. package/dist/cjs/utils/data/ticket.js.map +1 -0
  105. package/dist/cjs/utils/gtm.js +20 -0
  106. package/dist/cjs/utils/gtm.js.map +1 -1
  107. package/dist/esm/_virtual/_commonjsHelpers.js +4 -2
  108. package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -1
  109. package/dist/esm/_virtual/index.js +2 -2
  110. package/dist/esm/_virtual/index2.js +2 -2
  111. package/dist/esm/_virtual/index3.js +2 -2
  112. package/dist/esm/components/Image.js +30 -15
  113. package/dist/esm/components/Image.js.map +1 -1
  114. package/dist/esm/components/hook-form/FormProvider.js +2 -2
  115. package/dist/esm/components/hook-form/FormProvider.js.map +1 -1
  116. package/dist/esm/context/GlobalContext.js +2 -1
  117. package/dist/esm/context/GlobalContext.js.map +1 -1
  118. package/dist/esm/form/ChildEventDialog.js +3 -3
  119. package/dist/esm/form/ChildEventDialog.js.map +1 -1
  120. package/dist/esm/form/ContactPerson.js +1 -1
  121. package/dist/esm/form/ContactPerson.js.map +1 -1
  122. package/dist/esm/form/Payment.js +2 -4
  123. package/dist/esm/form/Payment.js.map +1 -1
  124. package/dist/esm/form/PaymentOverviewBox.js +107 -118
  125. package/dist/esm/form/PaymentOverviewBox.js.map +1 -1
  126. package/dist/esm/form/PaymentOverviewDrawer.js +313 -0
  127. package/dist/esm/form/PaymentOverviewDrawer.js.map +1 -0
  128. package/dist/esm/form/PaymentPending.js +16 -4
  129. package/dist/esm/form/PaymentPending.js.map +1 -1
  130. package/dist/esm/form/PaymentSuccess.js +39 -2
  131. package/dist/esm/form/PaymentSuccess.js.map +1 -1
  132. package/dist/esm/form/ReleaseWithMerchandise.js +58 -49
  133. package/dist/esm/form/ReleaseWithMerchandise.js.map +1 -1
  134. package/dist/esm/form/Shipping.js +33 -27
  135. package/dist/esm/form/Shipping.js.map +1 -1
  136. package/dist/esm/form/TicketForm.js +104 -37
  137. package/dist/esm/form/TicketForm.js.map +1 -1
  138. package/dist/esm/form/TicketQuantityControl.js +47 -0
  139. package/dist/esm/form/TicketQuantityControl.js.map +1 -0
  140. package/dist/esm/form/TicketSelection.js +33 -13
  141. package/dist/esm/form/TicketSelection.js.map +1 -1
  142. package/dist/esm/form/TicketSelectionMap.js +63 -0
  143. package/dist/esm/form/TicketSelectionMap.js.map +1 -0
  144. package/dist/esm/form/TicketSelectionMobile.js +94 -0
  145. package/dist/esm/form/TicketSelectionMobile.js.map +1 -0
  146. package/dist/esm/form/TicketWithMerchandiseSelection.js +48 -12
  147. package/dist/esm/form/TicketWithMerchandiseSelection.js.map +1 -1
  148. package/dist/esm/form/extra-field/ExtraField.js.map +1 -1
  149. package/dist/esm/form/extra-field/ReleaseExtraFields.js +1 -1
  150. package/dist/esm/form/extra-field/ReleaseExtraFields.js.map +1 -1
  151. package/dist/esm/form/index.js +2 -2
  152. package/dist/esm/form/index.js.map +1 -1
  153. package/dist/esm/form/merchandise/MerchandiseSelection.js +10 -0
  154. package/dist/esm/form/merchandise/MerchandiseSelection.js.map +1 -0
  155. package/dist/esm/form/merchandise/MerchandiseSlider.js +36 -0
  156. package/dist/esm/form/merchandise/MerchandiseSlider.js.map +1 -0
  157. package/dist/esm/form/merchendise/MerchandiseSelection.js +15 -0
  158. package/dist/esm/form/merchendise/MerchandiseSelection.js.map +1 -0
  159. package/dist/esm/form/merchendise/MerchandiseSlider.js +71 -0
  160. package/dist/esm/form/merchendise/MerchandiseSlider.js.map +1 -0
  161. package/dist/esm/form/payment/FeeBox.js +6 -18
  162. package/dist/esm/form/payment/FeeBox.js.map +1 -1
  163. package/dist/esm/form/payment/PaymentOverviewCheckbox.js +48 -0
  164. package/dist/esm/form/payment/PaymentOverviewCheckbox.js.map +1 -0
  165. package/dist/esm/form/product/ProductCard.js +148 -37
  166. package/dist/esm/form/product/ProductCard.js.map +1 -1
  167. package/dist/esm/form/product/ProductVariantsDialog.js +184 -99
  168. package/dist/esm/form/product/ProductVariantsDialog.js.map +1 -1
  169. package/dist/esm/form/services/index.js +112 -0
  170. package/dist/esm/form/services/index.js.map +1 -0
  171. package/dist/esm/form/style.js +13 -4
  172. package/dist/esm/form/style.js.map +1 -1
  173. package/dist/esm/form/tickets/ReleaseDescription.js +19 -0
  174. package/dist/esm/form/tickets/ReleaseDescription.js.map +1 -0
  175. package/dist/esm/form/tickets/ReleaseWithMerchandise.js +160 -0
  176. package/dist/esm/form/tickets/ReleaseWithMerchandise.js.map +1 -0
  177. package/dist/esm/form/tickets/TicketQuantityControl.js +50 -0
  178. package/dist/esm/form/tickets/TicketQuantityControl.js.map +1 -0
  179. package/dist/esm/form/tickets/TicketSelection.js +158 -0
  180. package/dist/esm/form/tickets/TicketSelection.js.map +1 -0
  181. package/dist/esm/form/tickets/TicketSelectionMap.js +75 -0
  182. package/dist/esm/form/tickets/TicketSelectionMap.js.map +1 -0
  183. package/dist/esm/form/tickets/TicketSelectionMobile.js +96 -0
  184. package/dist/esm/form/tickets/TicketSelectionMobile.js.map +1 -0
  185. package/dist/esm/form/tickets/TicketWithMerchandiseSelection.js +123 -0
  186. package/dist/esm/form/tickets/TicketWithMerchandiseSelection.js.map +1 -0
  187. package/dist/esm/hooks/useConsentScrollOnDrawerOpen.js +55 -0
  188. package/dist/esm/hooks/useConsentScrollOnDrawerOpen.js.map +1 -0
  189. package/dist/esm/hooks/useScrollToFirstError.js +69 -0
  190. package/dist/esm/hooks/useScrollToFirstError.js.map +1 -0
  191. package/dist/esm/locales/cs.js +48 -2
  192. package/dist/esm/locales/cs.js.map +1 -1
  193. package/dist/esm/locales/en.js +48 -1
  194. package/dist/esm/locales/en.js.map +1 -1
  195. package/dist/esm/locales/es.js +48 -1
  196. package/dist/esm/locales/es.js.map +1 -1
  197. package/dist/esm/locales/pl.js +48 -1
  198. package/dist/esm/locales/pl.js.map +1 -1
  199. package/dist/esm/locales/sk.js +48 -1
  200. package/dist/esm/locales/sk.js.map +1 -1
  201. package/dist/esm/locales/uk.js +48 -1
  202. package/dist/esm/locales/uk.js.map +1 -1
  203. package/dist/esm/modules/shopping-cart.js +9 -8
  204. package/dist/esm/modules/shopping-cart.js.map +1 -1
  205. package/dist/esm/utils/data/global.js +2 -1
  206. package/dist/esm/utils/data/global.js.map +1 -1
  207. package/dist/esm/utils/data/ticket.js +4 -0
  208. package/dist/esm/utils/data/ticket.js.map +1 -0
  209. package/dist/esm/utils/gtm.js +19 -1
  210. package/dist/esm/utils/gtm.js.map +1 -1
  211. package/dist/types/context/GlobalContext.d.ts +2 -1
  212. package/dist/types/form/PaymentOverviewDrawer.d.ts +8 -0
  213. package/dist/types/form/PaymentSuccess.d.ts +2 -0
  214. package/dist/types/form/TicketSelectionMap.d.ts +7 -0
  215. package/dist/types/form/extra-field/ExtraField.d.ts +1 -1
  216. package/dist/types/form/index.d.ts +1 -0
  217. package/dist/types/form/merchendise/MerchandiseSelection.d.ts +9 -0
  218. package/dist/types/form/merchendise/MerchandiseSlider.d.ts +10 -0
  219. package/dist/types/form/merchendise/MerchendiseSlider.d.ts +0 -0
  220. package/dist/types/form/payment/PaymentOverviewCheckbox.d.ts +12 -0
  221. package/dist/types/locales/cs.d.ts +24 -0
  222. package/dist/types/locales/en.d.ts +25 -0
  223. package/dist/types/locales/es.d.ts +25 -0
  224. package/dist/types/locales/pl.d.ts +25 -0
  225. package/dist/types/locales/sk.d.ts +25 -0
  226. package/dist/types/locales/uk.d.ts +25 -0
  227. package/dist/types/modules/shopping-cart.d.ts +3 -5
  228. package/dist/types/utils/data/shopping-cart.d.ts +5 -0
  229. package/dist/types/utils/gtm.d.ts +3 -1
  230. package/dist/types/utils/types/event.type.d.ts +1 -0
  231. package/dist/types/utils/types/global.type.d.ts +2 -0
  232. package/dist/types/utils/types/gtm.type.d.ts +5 -0
  233. package/dist/types/utils/types/order.type.d.ts +1 -0
  234. package/dist/types/utils/types/shopping-cart.type.d.ts +44 -35
  235. package/dist/types/utils/types/ticket.type.d.ts +21 -5
  236. package/package.json +11 -6
  237. package/rollup.config.mjs +16 -1
  238. package/src/components/Image.tsx +49 -27
  239. package/src/components/hook-form/FormProvider.tsx +5 -2
  240. package/src/context/GlobalContext.tsx +3 -0
  241. package/src/form/ChildEventDialog.tsx +3 -3
  242. package/src/form/ContactPerson.tsx +1 -1
  243. package/src/form/Payment.tsx +2 -4
  244. package/src/form/PaymentOverviewBox.tsx +178 -139
  245. package/src/form/PaymentOverviewDrawer.tsx +446 -0
  246. package/src/form/PaymentPending.tsx +19 -3
  247. package/src/form/PaymentSuccess.tsx +46 -3
  248. package/src/form/Shipping.tsx +48 -33
  249. package/src/form/TicketForm.tsx +162 -43
  250. package/src/form/extra-field/ExtraField.tsx +3 -1
  251. package/src/form/extra-field/ReleaseExtraFields.tsx +1 -1
  252. package/src/form/index.tsx +12 -2
  253. package/src/form/merchandise/MerchandiseSelection.tsx +24 -0
  254. package/src/form/merchandise/MerchandiseSlider.tsx +62 -0
  255. package/src/form/payment/FeeBox.tsx +6 -34
  256. package/src/form/payment/PaymentOverviewCheckbox.tsx +88 -0
  257. package/src/form/product/ProductCard.tsx +258 -59
  258. package/src/form/product/ProductVariantsDialog.tsx +292 -139
  259. package/src/form/services/index.tsx +263 -0
  260. package/src/form/style.ts +16 -4
  261. package/src/form/tickets/ReleaseDescription.tsx +46 -0
  262. package/src/form/tickets/ReleaseWithMerchandise.tsx +270 -0
  263. package/src/form/tickets/TicketQuantityControl.tsx +100 -0
  264. package/src/form/tickets/TicketSelection.tsx +236 -0
  265. package/src/form/tickets/TicketSelectionMap.tsx +99 -0
  266. package/src/form/tickets/TicketSelectionMobile.tsx +187 -0
  267. package/src/form/tickets/TicketWithMerchandiseSelection.tsx +192 -0
  268. package/src/hooks/useScrollToFirstError.ts +99 -0
  269. package/src/locales/cs.tsx +51 -2
  270. package/src/locales/en.tsx +51 -1
  271. package/src/locales/es.tsx +51 -1
  272. package/src/locales/pl.tsx +51 -1
  273. package/src/locales/sk.tsx +51 -1
  274. package/src/locales/uk.tsx +51 -1
  275. package/src/modules/shopping-cart.ts +14 -11
  276. package/src/utils/data/global.ts +1 -0
  277. package/src/utils/data/shopping-cart.ts +5 -0
  278. package/src/utils/data/ticket.ts +1 -0
  279. package/src/utils/gtm.ts +29 -0
  280. package/src/utils/types/event.type.ts +1 -0
  281. package/src/utils/types/global.type.ts +2 -0
  282. package/src/utils/types/gtm.type.ts +6 -0
  283. package/src/utils/types/order.type.ts +1 -0
  284. package/src/utils/types/shopping-cart.type.ts +42 -31
  285. package/src/utils/types/ticket.type.ts +23 -3
  286. package/tsconfig.json +2 -1
  287. package/dist/cjs/_virtual/colorManipulator.js +0 -6
  288. package/dist/cjs/_virtual/colorManipulator.js.map +0 -1
  289. package/dist/cjs/_virtual/createStyled.js +0 -6
  290. package/dist/cjs/_virtual/createStyled.js.map +0 -1
  291. package/dist/cjs/_virtual/customParseFormat.js +0 -6
  292. package/dist/cjs/_virtual/customParseFormat.js.map +0 -1
  293. package/dist/cjs/_virtual/dayjs.min.js +0 -6
  294. package/dist/cjs/_virtual/dayjs.min.js.map +0 -1
  295. package/dist/cjs/_virtual/extends.js +0 -6
  296. package/dist/cjs/_virtual/extends.js.map +0 -1
  297. package/dist/cjs/_virtual/index.umd.js +0 -6
  298. package/dist/cjs/_virtual/index.umd.js.map +0 -1
  299. package/dist/cjs/_virtual/index10.js +0 -11
  300. package/dist/cjs/_virtual/index10.js.map +0 -1
  301. package/dist/cjs/_virtual/index11.js +0 -11
  302. package/dist/cjs/_virtual/index11.js.map +0 -1
  303. package/dist/cjs/_virtual/index12.js +0 -6
  304. package/dist/cjs/_virtual/index12.js.map +0 -1
  305. package/dist/cjs/_virtual/index13.js +0 -6
  306. package/dist/cjs/_virtual/index13.js.map +0 -1
  307. package/dist/cjs/_virtual/index14.js +0 -6
  308. package/dist/cjs/_virtual/index14.js.map +0 -1
  309. package/dist/cjs/_virtual/index15.js +0 -6
  310. package/dist/cjs/_virtual/index15.js.map +0 -1
  311. package/dist/cjs/_virtual/index4.js +0 -11
  312. package/dist/cjs/_virtual/index4.js.map +0 -1
  313. package/dist/cjs/_virtual/index5.js +0 -11
  314. package/dist/cjs/_virtual/index5.js.map +0 -1
  315. package/dist/cjs/_virtual/index6.js +0 -11
  316. package/dist/cjs/_virtual/index6.js.map +0 -1
  317. package/dist/cjs/_virtual/index7.js +0 -11
  318. package/dist/cjs/_virtual/index7.js.map +0 -1
  319. package/dist/cjs/_virtual/index8.js +0 -11
  320. package/dist/cjs/_virtual/index8.js.map +0 -1
  321. package/dist/cjs/_virtual/index9.js +0 -11
  322. package/dist/cjs/_virtual/index9.js.map +0 -1
  323. package/dist/cjs/_virtual/interopRequireDefault.js +0 -6
  324. package/dist/cjs/_virtual/interopRequireDefault.js.map +0 -1
  325. package/dist/cjs/_virtual/isBetween.js +0 -6
  326. package/dist/cjs/_virtual/isBetween.js.map +0 -1
  327. package/dist/cjs/_virtual/jsx-runtime.js +0 -6
  328. package/dist/cjs/_virtual/jsx-runtime.js.map +0 -1
  329. package/dist/cjs/_virtual/localizedFormat.js +0 -6
  330. package/dist/cjs/_virtual/localizedFormat.js.map +0 -1
  331. package/dist/cjs/_virtual/lodash.js +0 -6
  332. package/dist/cjs/_virtual/lodash.js.map +0 -1
  333. package/dist/cjs/_virtual/lottie.js +0 -6
  334. package/dist/cjs/_virtual/lottie.js.map +0 -1
  335. package/dist/cjs/_virtual/numeral.js +0 -6
  336. package/dist/cjs/_virtual/numeral.js.map +0 -1
  337. package/dist/cjs/_virtual/objectWithoutPropertiesLoose.js +0 -6
  338. package/dist/cjs/_virtual/objectWithoutPropertiesLoose.js.map +0 -1
  339. package/dist/cjs/_virtual/react-is.development3.js +0 -6
  340. package/dist/cjs/_virtual/react-is.development3.js.map +0 -1
  341. package/dist/cjs/_virtual/react-is.production.min2.js +0 -6
  342. package/dist/cjs/_virtual/react-is.production.min2.js.map +0 -1
  343. package/dist/cjs/_virtual/react-jsx-runtime.development.js +0 -6
  344. package/dist/cjs/_virtual/react-jsx-runtime.development.js.map +0 -1
  345. package/dist/cjs/_virtual/react-jsx-runtime.production.min.js +0 -6
  346. package/dist/cjs/_virtual/react-jsx-runtime.production.min.js.map +0 -1
  347. package/dist/cjs/_virtual/timezone.js +0 -6
  348. package/dist/cjs/_virtual/timezone.js.map +0 -1
  349. package/dist/cjs/_virtual/use-sync-external-store-shim.development.js +0 -6
  350. package/dist/cjs/_virtual/use-sync-external-store-shim.development.js.map +0 -1
  351. package/dist/cjs/_virtual/use-sync-external-store-shim.production.js +0 -6
  352. package/dist/cjs/_virtual/use-sync-external-store-shim.production.js.map +0 -1
  353. package/dist/cjs/_virtual/useThemeWithoutDefault.js +0 -6
  354. package/dist/cjs/_virtual/useThemeWithoutDefault.js.map +0 -1
  355. package/dist/cjs/_virtual/utc.js +0 -6
  356. package/dist/cjs/_virtual/utc.js.map +0 -1
  357. package/dist/cjs/_virtual/weekOfYear.js +0 -6
  358. package/dist/cjs/_virtual/weekOfYear.js.map +0 -1
  359. package/dist/cjs/hooks/useFirstRender.js +0 -14
  360. package/dist/cjs/hooks/useFirstRender.js.map +0 -1
  361. package/dist/cjs/utils/data/order.js +0 -8
  362. package/dist/cjs/utils/data/order.js.map +0 -1
  363. package/dist/esm/_virtual/colorManipulator.js +0 -4
  364. package/dist/esm/_virtual/colorManipulator.js.map +0 -1
  365. package/dist/esm/_virtual/createStyled.js +0 -4
  366. package/dist/esm/_virtual/createStyled.js.map +0 -1
  367. package/dist/esm/_virtual/customParseFormat.js +0 -4
  368. package/dist/esm/_virtual/customParseFormat.js.map +0 -1
  369. package/dist/esm/_virtual/dayjs.min.js +0 -4
  370. package/dist/esm/_virtual/dayjs.min.js.map +0 -1
  371. package/dist/esm/_virtual/extends.js +0 -4
  372. package/dist/esm/_virtual/extends.js.map +0 -1
  373. package/dist/esm/_virtual/index.umd.js +0 -4
  374. package/dist/esm/_virtual/index.umd.js.map +0 -1
  375. package/dist/esm/_virtual/index10.js +0 -7
  376. package/dist/esm/_virtual/index10.js.map +0 -1
  377. package/dist/esm/_virtual/index11.js +0 -7
  378. package/dist/esm/_virtual/index11.js.map +0 -1
  379. package/dist/esm/_virtual/index12.js +0 -4
  380. package/dist/esm/_virtual/index12.js.map +0 -1
  381. package/dist/esm/_virtual/index13.js +0 -4
  382. package/dist/esm/_virtual/index13.js.map +0 -1
  383. package/dist/esm/_virtual/index14.js +0 -4
  384. package/dist/esm/_virtual/index14.js.map +0 -1
  385. package/dist/esm/_virtual/index15.js +0 -4
  386. package/dist/esm/_virtual/index15.js.map +0 -1
  387. package/dist/esm/_virtual/index4.js +0 -7
  388. package/dist/esm/_virtual/index4.js.map +0 -1
  389. package/dist/esm/_virtual/index5.js +0 -7
  390. package/dist/esm/_virtual/index5.js.map +0 -1
  391. package/dist/esm/_virtual/index6.js +0 -7
  392. package/dist/esm/_virtual/index6.js.map +0 -1
  393. package/dist/esm/_virtual/index7.js +0 -7
  394. package/dist/esm/_virtual/index7.js.map +0 -1
  395. package/dist/esm/_virtual/index8.js +0 -7
  396. package/dist/esm/_virtual/index8.js.map +0 -1
  397. package/dist/esm/_virtual/index9.js +0 -7
  398. package/dist/esm/_virtual/index9.js.map +0 -1
  399. package/dist/esm/_virtual/interopRequireDefault.js +0 -4
  400. package/dist/esm/_virtual/interopRequireDefault.js.map +0 -1
  401. package/dist/esm/_virtual/isBetween.js +0 -4
  402. package/dist/esm/_virtual/isBetween.js.map +0 -1
  403. package/dist/esm/_virtual/jsx-runtime.js +0 -4
  404. package/dist/esm/_virtual/jsx-runtime.js.map +0 -1
  405. package/dist/esm/_virtual/localizedFormat.js +0 -4
  406. package/dist/esm/_virtual/localizedFormat.js.map +0 -1
  407. package/dist/esm/_virtual/lodash.js +0 -4
  408. package/dist/esm/_virtual/lodash.js.map +0 -1
  409. package/dist/esm/_virtual/lottie.js +0 -4
  410. package/dist/esm/_virtual/lottie.js.map +0 -1
  411. package/dist/esm/_virtual/numeral.js +0 -4
  412. package/dist/esm/_virtual/numeral.js.map +0 -1
  413. package/dist/esm/_virtual/objectWithoutPropertiesLoose.js +0 -4
  414. package/dist/esm/_virtual/objectWithoutPropertiesLoose.js.map +0 -1
  415. package/dist/esm/_virtual/react-is.development3.js +0 -4
  416. package/dist/esm/_virtual/react-is.development3.js.map +0 -1
  417. package/dist/esm/_virtual/react-is.production.min2.js +0 -4
  418. package/dist/esm/_virtual/react-is.production.min2.js.map +0 -1
  419. package/dist/esm/_virtual/react-jsx-runtime.development.js +0 -4
  420. package/dist/esm/_virtual/react-jsx-runtime.development.js.map +0 -1
  421. package/dist/esm/_virtual/react-jsx-runtime.production.min.js +0 -4
  422. package/dist/esm/_virtual/react-jsx-runtime.production.min.js.map +0 -1
  423. package/dist/esm/_virtual/timezone.js +0 -4
  424. package/dist/esm/_virtual/timezone.js.map +0 -1
  425. package/dist/esm/_virtual/use-sync-external-store-shim.development.js +0 -4
  426. package/dist/esm/_virtual/use-sync-external-store-shim.development.js.map +0 -1
  427. package/dist/esm/_virtual/use-sync-external-store-shim.production.js +0 -4
  428. package/dist/esm/_virtual/use-sync-external-store-shim.production.js.map +0 -1
  429. package/dist/esm/_virtual/useThemeWithoutDefault.js +0 -4
  430. package/dist/esm/_virtual/useThemeWithoutDefault.js.map +0 -1
  431. package/dist/esm/_virtual/utc.js +0 -4
  432. package/dist/esm/_virtual/utc.js.map +0 -1
  433. package/dist/esm/_virtual/weekOfYear.js +0 -4
  434. package/dist/esm/_virtual/weekOfYear.js.map +0 -1
  435. package/dist/esm/hooks/useFirstRender.js +0 -12
  436. package/dist/esm/hooks/useFirstRender.js.map +0 -1
  437. package/dist/esm/utils/data/order.js +0 -8
  438. package/dist/esm/utils/data/order.js.map +0 -1
  439. package/dist/index.cjs.js +0 -90295
  440. package/dist/index.cjs.js.map +0 -1
  441. package/dist/index.esm.js +0 -90275
  442. package/dist/index.esm.js.map +0 -1
  443. package/dist/types/hooks/data/useShoppingCart.d.ts +0 -8
  444. package/src/form/MerchandiseSelection.tsx +0 -29
  445. package/src/form/ReleaseWithMerchandise.tsx +0 -230
  446. package/src/form/TicketSelection.tsx +0 -282
  447. package/src/form/TicketWithMerchandiseSelection.tsx +0 -131
@@ -0,0 +1,317 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var material = require('@mui/material');
6
+ var React = require('react');
7
+ var PaymentOverviewBox = require('./PaymentOverviewBox.js');
8
+ var useGlobal = require('../hooks/useGlobal.js');
9
+ var formatNumber = require('../utils/formatNumber.js');
10
+ var global = require('../utils/data/global.js');
11
+
12
+ const swipeAreaWidth = 120;
13
+ const clearResetPulledPastTimeout = (timeoutRef) => {
14
+ if (timeoutRef.current !== null) {
15
+ window.clearTimeout(timeoutRef.current);
16
+ timeoutRef.current = null;
17
+ }
18
+ };
19
+ const PaymentOverviewDrawer = ({ event, totalPrice, termsAndConditionsRef, onOpenChange, }) => {
20
+ const { t, lang } = useGlobal.default();
21
+ const [isDrawerOpened, setIsDrawerOpened] = React.useState(false);
22
+ const [isOpeningGesture, setIsOpeningGesture] = React.useState(false);
23
+ const [hasPulledPastClosedTabHeight, setHasPulledPastClosedTabHeight] = React.useState(false);
24
+ const [isDrawerHidden, setIsDrawerHidden] = React.useState(false);
25
+ const [closedTabHeight, setClosedTabHeight] = React.useState(0);
26
+ const openingTouchStartYRef = React.useRef(null);
27
+ const openDrawerRef = React.useRef(false);
28
+ const isOpeningGestureRef = React.useRef(false);
29
+ const shouldReopenOnScrollUpRef = React.useRef(false);
30
+ const lastScrollYRef = React.useRef(0);
31
+ const isScrollingDownRef = React.useRef(false);
32
+ const wasAtPageBottomRef = React.useRef(false);
33
+ const resetPulledPastTimeoutRef = React.useRef(null);
34
+ const closedTabRef = React.useRef(null);
35
+ React.useEffect(() => {
36
+ openDrawerRef.current = isDrawerOpened;
37
+ }, [isDrawerOpened]);
38
+ React.useEffect(() => {
39
+ isOpeningGestureRef.current = isOpeningGesture;
40
+ }, [isOpeningGesture]);
41
+ // reopens the drawer when user scrolls up and the drawer was closed by scrolling down to the bottom of the page
42
+ React.useEffect(() => {
43
+ if (typeof window === 'undefined') {
44
+ return;
45
+ }
46
+ const atBottomThreshold = 8;
47
+ lastScrollYRef.current = window.scrollY;
48
+ isScrollingDownRef.current = false;
49
+ wasAtPageBottomRef.current =
50
+ window.innerHeight + window.scrollY >=
51
+ document.documentElement.scrollHeight - atBottomThreshold;
52
+ const handleScroll = () => {
53
+ const currentY = window.scrollY;
54
+ const isScrollingUp = currentY < lastScrollYRef.current;
55
+ const isScrollingDown = currentY > lastScrollYRef.current;
56
+ const isAtPageBottom = window.innerHeight + currentY >= document.documentElement.scrollHeight - atBottomThreshold;
57
+ isScrollingDownRef.current = isScrollingDown;
58
+ if (isScrollingUp &&
59
+ wasAtPageBottomRef.current &&
60
+ shouldReopenOnScrollUpRef.current &&
61
+ !openDrawerRef.current) {
62
+ shouldReopenOnScrollUpRef.current = false;
63
+ setIsDrawerHidden(false);
64
+ openDrawerHandler();
65
+ }
66
+ wasAtPageBottomRef.current = isAtPageBottom;
67
+ lastScrollYRef.current = currentY;
68
+ };
69
+ window.addEventListener('scroll', handleScroll, { passive: true });
70
+ return () => {
71
+ window.removeEventListener('scroll', handleScroll);
72
+ };
73
+ }, []);
74
+ React.useEffect(() => {
75
+ const closedTab = closedTabRef.current;
76
+ if (!closedTab)
77
+ return;
78
+ const updateClosedTabHeight = () => {
79
+ setClosedTabHeight(closedTab.offsetHeight);
80
+ };
81
+ updateClosedTabHeight();
82
+ const resizeObserver = new ResizeObserver(() => {
83
+ updateClosedTabHeight();
84
+ });
85
+ resizeObserver.observe(closedTab);
86
+ return () => {
87
+ resizeObserver.disconnect();
88
+ };
89
+ }, []);
90
+ React.useEffect(() => () => {
91
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
92
+ }, []);
93
+ React.useEffect(() => {
94
+ const termsAndConditionsElement = termsAndConditionsRef?.current;
95
+ if (!termsAndConditionsElement) {
96
+ return;
97
+ }
98
+ if (!('IntersectionObserver' in window)) {
99
+ return;
100
+ }
101
+ const observer = new IntersectionObserver((entries) => {
102
+ const entry = entries[0];
103
+ const hasReachedTermsSection = entry?.isIntersecting ?? false;
104
+ const shouldAutoCloseDrawer = hasReachedTermsSection;
105
+ const shouldHideDrawerTab = hasReachedTermsSection && !openDrawerRef.current && !isOpeningGestureRef.current;
106
+ setIsDrawerHidden(shouldHideDrawerTab);
107
+ if (shouldAutoCloseDrawer && openDrawerRef.current && isScrollingDownRef.current) {
108
+ closeDrawerHandler({ shouldReopenOnScrollUp: true });
109
+ setIsDrawerHidden(true);
110
+ }
111
+ }, {
112
+ root: null,
113
+ threshold: 0,
114
+ rootMargin: '0px 0px -40% 0px',
115
+ });
116
+ observer.observe(termsAndConditionsElement);
117
+ return () => {
118
+ observer.disconnect();
119
+ };
120
+ }, [termsAndConditionsRef]);
121
+ const toggleDrawer = () => {
122
+ if (openDrawerRef.current) {
123
+ closeDrawerHandler();
124
+ return;
125
+ }
126
+ openDrawerHandler();
127
+ };
128
+ const openDrawerHandler = () => {
129
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
130
+ setIsOpeningGesture(false);
131
+ setHasPulledPastClosedTabHeight(false);
132
+ openingTouchStartYRef.current = null;
133
+ shouldReopenOnScrollUpRef.current = false;
134
+ setIsDrawerOpened(true);
135
+ onOpenChange?.(true);
136
+ };
137
+ const closeDrawerHandler = ({ shouldReopenOnScrollUp = false, } = {}) => {
138
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
139
+ setIsOpeningGesture(false);
140
+ setHasPulledPastClosedTabHeight(false);
141
+ openingTouchStartYRef.current = null;
142
+ shouldReopenOnScrollUpRef.current = shouldReopenOnScrollUp;
143
+ setIsDrawerOpened(false);
144
+ onOpenChange?.(false);
145
+ };
146
+ const scheduleResetPulledPastTimeout = () => {
147
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
148
+ resetPulledPastTimeoutRef.current = window.setTimeout(() => {
149
+ if (!openDrawerRef.current) {
150
+ setHasPulledPastClosedTabHeight(false);
151
+ }
152
+ }, 180);
153
+ };
154
+ const handleGestureStart = (startY) => {
155
+ openingTouchStartYRef.current = startY;
156
+ setIsOpeningGesture(true);
157
+ setHasPulledPastClosedTabHeight(false);
158
+ };
159
+ const handleGestureMove = (currentY) => {
160
+ if (!isOpeningGestureRef.current)
161
+ return;
162
+ const startY = openingTouchStartYRef.current;
163
+ if (startY === null || typeof currentY !== 'number')
164
+ return;
165
+ const pullDistance = startY - currentY;
166
+ const currentClosedTabHeight = closedTabRef.current?.offsetHeight ?? 0;
167
+ setHasPulledPastClosedTabHeight(currentClosedTabHeight > 0 && pullDistance >= currentClosedTabHeight);
168
+ };
169
+ const handleGestureCancel = () => {
170
+ openingTouchStartYRef.current = null;
171
+ setIsOpeningGesture(false);
172
+ setHasPulledPastClosedTabHeight(false);
173
+ };
174
+ const handleGestureEnd = ({ shouldResetTouchStart = false, } = {}) => {
175
+ if (shouldResetTouchStart) {
176
+ openingTouchStartYRef.current = null;
177
+ }
178
+ if (!isDrawerOpened) {
179
+ setIsOpeningGesture(false);
180
+ scheduleResetPulledPastTimeout();
181
+ }
182
+ };
183
+ return (React.createElement(material.Box, { sx: { display: { md: 'none' } } },
184
+ React.createElement(material.Box, { ref: closedTabRef, sx: {
185
+ position: 'fixed',
186
+ bottom: 0,
187
+ left: 0,
188
+ right: 0,
189
+ backgroundColor: (theme) => theme.palette.background.paper,
190
+ borderTopLeftRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,
191
+ borderTopRightRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,
192
+ boxShadow: isOpeningGesture || isDrawerOpened ? 'none' : '0 -8px 10px 2px rgba(0,0,0,0.2)',
193
+ zIndex: (theme) => theme.zIndex.drawer + 1,
194
+ opacity: isDrawerHidden ? 0 : 1,
195
+ transform: isDrawerHidden ? 'translateY(calc(100% + 12px))' : 'translateY(0)',
196
+ transition: 'opacity 180ms ease, transform 180ms ease, border-radius 120ms ease, box-shadow 120ms ease',
197
+ pointerEvents: 'none',
198
+ } },
199
+ !isDrawerOpened && (React.createElement(material.Box, { sx: {
200
+ display: 'flex',
201
+ justifyContent: 'center',
202
+ alignItems: 'center',
203
+ width: '100%',
204
+ py: 1,
205
+ } },
206
+ React.createElement(material.Box, { sx: {
207
+ width: 80,
208
+ height: 6,
209
+ backgroundColor: (theme) => theme.palette.grey[300],
210
+ borderRadius: 3,
211
+ opacity: isOpeningGesture ? 0 : 1,
212
+ transition: 'opacity 120ms ease',
213
+ } }))),
214
+ React.createElement(material.Box, { role: "button", "aria-label": t('form.labels.payment_overview_open'), onClick: toggleDrawer, onTouchStart: (event) => {
215
+ handleGestureStart(event.touches[0]?.clientY ?? null);
216
+ }, onMouseDown: () => {
217
+ handleGestureStart(null);
218
+ }, onTouchMove: (event) => {
219
+ handleGestureMove(event.touches[0]?.clientY);
220
+ }, onTouchCancel: handleGestureCancel, onTouchEnd: () => {
221
+ handleGestureEnd({ shouldResetTouchStart: true });
222
+ }, onMouseUp: () => {
223
+ handleGestureEnd();
224
+ }, sx: {
225
+ width: '100%',
226
+ px: 2,
227
+ pb: 2,
228
+ pointerEvents: isDrawerOpened || isDrawerHidden ? 'none' : 'auto',
229
+ cursor: 'pointer',
230
+ } },
231
+ React.createElement(material.Typography, { sx: {
232
+ fontWeight: 'bold',
233
+ display: 'flex',
234
+ justifyContent: 'space-between',
235
+ alignItems: 'center',
236
+ } },
237
+ React.createElement("span", null,
238
+ t('form.labels.total'),
239
+ ":"),
240
+ React.createElement("span", null, formatNumber.fCurrency(totalPrice, lang, event.currency))),
241
+ React.createElement(material.Button, { type: "submit", form: global.EVENTLOOK_ORDER_FORM_ID, onClick: (event) => {
242
+ event.stopPropagation();
243
+ }, variant: "contained", size: "large", fullWidth: true, sx: { mt: 1, height: { xs: 36, md: 40 } } }, t('buy')))),
244
+ React.createElement(material.SwipeableDrawer, { anchor: "bottom", open: isDrawerOpened, onClose: () => closeDrawerHandler(), onOpen: () => openDrawerHandler(), swipeAreaWidth: swipeAreaWidth, allowSwipeInChildren: true, disableSwipeToOpen: isDrawerHidden, keepMounted: true, SwipeAreaProps: {
245
+ onTouchStart: (event) => {
246
+ handleGestureStart(event.touches[0]?.clientY ?? null);
247
+ },
248
+ onMouseDown: () => {
249
+ handleGestureStart(null);
250
+ },
251
+ onTouchMove: (event) => {
252
+ handleGestureMove(event.touches[0]?.clientY);
253
+ },
254
+ onTouchCancel: handleGestureCancel,
255
+ onTouchEnd: () => {
256
+ handleGestureEnd({ shouldResetTouchStart: true });
257
+ },
258
+ onMouseUp: () => {
259
+ handleGestureEnd();
260
+ },
261
+ }, sx: {
262
+ display: { md: 'none' },
263
+ pointerEvents: isDrawerOpened ? 'none' : 'auto',
264
+ '& .MuiDrawer-paper': {
265
+ pointerEvents: 'auto',
266
+ },
267
+ '& .MuiSwipeArea-root': {
268
+ pointerEvents: 'auto',
269
+ },
270
+ }, ModalProps: {
271
+ disableScrollLock: true,
272
+ keepMounted: false,
273
+ disableAutoFocus: true,
274
+ disableRestoreFocus: true,
275
+ disableEnforceFocus: true,
276
+ BackdropProps: {
277
+ sx: {
278
+ background: 'none',
279
+ pointerEvents: 'none',
280
+ },
281
+ },
282
+ }, PaperProps: {
283
+ sx: {
284
+ borderTopLeftRadius: 16,
285
+ borderTopRightRadius: 16,
286
+ boxShadow: '0 -8px 10px 2px rgba(0,0,0,0.2)',
287
+ overflow: 'hidden',
288
+ mb: isDrawerOpened ||
289
+ (!isDrawerOpened && (isOpeningGesture || hasPulledPastClosedTabHeight))
290
+ ? `${closedTabHeight}px`
291
+ : 0,
292
+ transition: 'none',
293
+ },
294
+ } },
295
+ React.createElement(material.Box, { role: "button", "aria-label": t('form.labels.payment_overview_close'), onClick: toggleDrawer, sx: {
296
+ display: 'flex',
297
+ justifyContent: 'center',
298
+ alignItems: 'center',
299
+ backgroundColor: (theme) => theme.palette.background.paper,
300
+ cursor: 'pointer',
301
+ py: 1,
302
+ } },
303
+ React.createElement(material.Box, { sx: {
304
+ width: 80,
305
+ height: 6,
306
+ backgroundColor: (theme) => theme.palette.grey[300],
307
+ borderRadius: 3,
308
+ } })),
309
+ React.createElement(material.Box, { sx: {
310
+ height: '100%',
311
+ overflow: 'auto',
312
+ } },
313
+ React.createElement(PaymentOverviewBox.default, { event: event, hideBuyButton: true })))));
314
+ };
315
+
316
+ exports.default = PaymentOverviewDrawer;
317
+ //# sourceMappingURL=PaymentOverviewDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentOverviewDrawer.js","sources":["../../../src/form/PaymentOverviewDrawer.tsx"],"sourcesContent":["import { Box, Button, SwipeableDrawer, Typography } from '@mui/material';\nimport React, { useEffect } from 'react';\nimport { useRef, useState } from 'react';\nimport PaymentOverviewBox from './PaymentOverviewBox';\nimport { IEvent } from '@utils/types/event.type';\nimport useGlobal from '@hooks/useGlobal';\nimport { fCurrency } from '@utils/formatNumber';\nimport { EVENTLOOK_ORDER_FORM_ID } from '@utils/data/global.ts';\n\ninterface Props {\n event: IEvent;\n totalPrice: number;\n termsAndConditionsRef?: React.RefObject<HTMLElement | null>;\n onOpenChange?: (open: boolean) => void;\n}\n\nconst swipeAreaWidth = 120;\n\nconst clearResetPulledPastTimeout = (timeoutRef: { current: number | null }) => {\n if (timeoutRef.current !== null) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n};\n\nconst PaymentOverviewDrawer: React.FC<Props> = ({\n event,\n totalPrice,\n termsAndConditionsRef,\n onOpenChange,\n}) => {\n const { t, lang } = useGlobal();\n const [isDrawerOpened, setIsDrawerOpened] = useState(false);\n const [isOpeningGesture, setIsOpeningGesture] = useState(false);\n const [hasPulledPastClosedTabHeight, setHasPulledPastClosedTabHeight] = useState(false);\n const [isDrawerHidden, setIsDrawerHidden] = useState(false);\n const [closedTabHeight, setClosedTabHeight] = useState(0);\n const openingTouchStartYRef = useRef<number | null>(null);\n const openDrawerRef = useRef(false);\n const isOpeningGestureRef = useRef(false);\n const shouldReopenOnScrollUpRef = useRef(false);\n const lastScrollYRef = useRef(0);\n const isScrollingDownRef = useRef(false);\n const wasAtPageBottomRef = useRef(false);\n const resetPulledPastTimeoutRef = useRef<number | null>(null);\n const closedTabRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n openDrawerRef.current = isDrawerOpened;\n }, [isDrawerOpened]);\n\n useEffect(() => {\n isOpeningGestureRef.current = isOpeningGesture;\n }, [isOpeningGesture]);\n\n // reopens the drawer when user scrolls up and the drawer was closed by scrolling down to the bottom of the page\n useEffect(() => {\n if (typeof window === 'undefined') {\n return;\n }\n\n const atBottomThreshold = 8;\n lastScrollYRef.current = window.scrollY;\n isScrollingDownRef.current = false;\n wasAtPageBottomRef.current =\n window.innerHeight + window.scrollY >=\n document.documentElement.scrollHeight - atBottomThreshold;\n\n const handleScroll = () => {\n const currentY = window.scrollY;\n const isScrollingUp = currentY < lastScrollYRef.current;\n const isScrollingDown = currentY > lastScrollYRef.current;\n const isAtPageBottom =\n window.innerHeight + currentY >= document.documentElement.scrollHeight - atBottomThreshold;\n\n isScrollingDownRef.current = isScrollingDown;\n\n if (\n isScrollingUp &&\n wasAtPageBottomRef.current &&\n shouldReopenOnScrollUpRef.current &&\n !openDrawerRef.current\n ) {\n shouldReopenOnScrollUpRef.current = false;\n setIsDrawerHidden(false);\n openDrawerHandler();\n }\n\n wasAtPageBottomRef.current = isAtPageBottom;\n lastScrollYRef.current = currentY;\n };\n\n window.addEventListener('scroll', handleScroll, { passive: true });\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, []);\n\n useEffect(() => {\n const closedTab = closedTabRef.current;\n if (!closedTab) return;\n\n const updateClosedTabHeight = () => {\n setClosedTabHeight(closedTab.offsetHeight);\n };\n\n updateClosedTabHeight();\n\n const resizeObserver = new ResizeObserver(() => {\n updateClosedTabHeight();\n });\n\n resizeObserver.observe(closedTab);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n useEffect(\n () => () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n },\n []\n );\n\n useEffect(() => {\n const termsAndConditionsElement = termsAndConditionsRef?.current;\n if (!termsAndConditionsElement) {\n return;\n }\n\n if (!('IntersectionObserver' in window)) {\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0];\n const hasReachedTermsSection = entry?.isIntersecting ?? false;\n const shouldAutoCloseDrawer = hasReachedTermsSection;\n const shouldHideDrawerTab =\n hasReachedTermsSection && !openDrawerRef.current && !isOpeningGestureRef.current;\n setIsDrawerHidden(shouldHideDrawerTab);\n\n if (shouldAutoCloseDrawer && openDrawerRef.current && isScrollingDownRef.current) {\n closeDrawerHandler({ shouldReopenOnScrollUp: true });\n setIsDrawerHidden(true);\n }\n },\n {\n root: null,\n threshold: 0,\n rootMargin: '0px 0px -40% 0px',\n }\n );\n\n observer.observe(termsAndConditionsElement);\n\n return () => {\n observer.disconnect();\n };\n }, [termsAndConditionsRef]);\n\n const toggleDrawer = () => {\n if (openDrawerRef.current) {\n closeDrawerHandler();\n return;\n }\n\n openDrawerHandler();\n };\n\n const openDrawerHandler = () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n shouldReopenOnScrollUpRef.current = false;\n setIsDrawerOpened(true);\n onOpenChange?.(true);\n };\n\n const closeDrawerHandler = ({\n shouldReopenOnScrollUp = false,\n }: { shouldReopenOnScrollUp?: boolean } = {}) => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n shouldReopenOnScrollUpRef.current = shouldReopenOnScrollUp;\n setIsDrawerOpened(false);\n onOpenChange?.(false);\n };\n\n const scheduleResetPulledPastTimeout = () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n resetPulledPastTimeoutRef.current = window.setTimeout(() => {\n if (!openDrawerRef.current) {\n setHasPulledPastClosedTabHeight(false);\n }\n }, 180);\n };\n\n const handleGestureStart = (startY: number | null) => {\n openingTouchStartYRef.current = startY;\n setIsOpeningGesture(true);\n setHasPulledPastClosedTabHeight(false);\n };\n\n const handleGestureMove = (currentY?: number) => {\n if (!isOpeningGestureRef.current) return;\n\n const startY = openingTouchStartYRef.current;\n if (startY === null || typeof currentY !== 'number') return;\n\n const pullDistance = startY - currentY;\n const currentClosedTabHeight = closedTabRef.current?.offsetHeight ?? 0;\n setHasPulledPastClosedTabHeight(\n currentClosedTabHeight > 0 && pullDistance >= currentClosedTabHeight\n );\n };\n\n const handleGestureCancel = () => {\n openingTouchStartYRef.current = null;\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n };\n\n const handleGestureEnd = ({\n shouldResetTouchStart = false,\n }: { shouldResetTouchStart?: boolean } = {}) => {\n if (shouldResetTouchStart) {\n openingTouchStartYRef.current = null;\n }\n\n if (!isDrawerOpened) {\n setIsOpeningGesture(false);\n scheduleResetPulledPastTimeout();\n }\n };\n\n return (\n <Box sx={{ display: { md: 'none' } }}>\n {/* Drawer Tab */}\n <Box\n ref={closedTabRef}\n sx={{\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: (theme) => theme.palette.background.paper,\n borderTopLeftRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,\n borderTopRightRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,\n boxShadow:\n isOpeningGesture || isDrawerOpened ? 'none' : '0 -8px 10px 2px rgba(0,0,0,0.2)',\n zIndex: (theme) => theme.zIndex.drawer + 1,\n opacity: isDrawerHidden ? 0 : 1,\n transform: isDrawerHidden ? 'translateY(calc(100% + 12px))' : 'translateY(0)',\n transition:\n 'opacity 180ms ease, transform 180ms ease, border-radius 120ms ease, box-shadow 120ms ease',\n pointerEvents: 'none',\n }}\n >\n {!isDrawerOpened && (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n opacity: isOpeningGesture ? 0 : 1,\n transition: 'opacity 120ms ease',\n }}\n />\n </Box>\n )}\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_open')}\n onClick={toggleDrawer}\n onTouchStart={(event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureStart(event.touches[0]?.clientY ?? null);\n }}\n onMouseDown={() => {\n handleGestureStart(null);\n }}\n onTouchMove={(event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureMove(event.touches[0]?.clientY);\n }}\n onTouchCancel={handleGestureCancel}\n onTouchEnd={() => {\n handleGestureEnd({ shouldResetTouchStart: true });\n }}\n onMouseUp={() => {\n handleGestureEnd();\n }}\n sx={{\n width: '100%',\n px: 2,\n pb: 2,\n pointerEvents: isDrawerOpened || isDrawerHidden ? 'none' : 'auto',\n cursor: 'pointer',\n }}\n >\n <Typography\n sx={{\n fontWeight: 'bold',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <span>{t('form.labels.total')}:</span>\n <span>{fCurrency(totalPrice, lang, event.currency)}</span>\n </Typography>\n\n <Button\n type=\"submit\"\n form={EVENTLOOK_ORDER_FORM_ID}\n onClick={(event) => {\n event.stopPropagation();\n }}\n variant=\"contained\"\n size=\"large\"\n fullWidth\n sx={{ mt: 1, height: { xs: 36, md: 40 } }}\n >\n {t('buy')}\n </Button>\n </Box>\n </Box>\n\n {/* Drawer Content */}\n <SwipeableDrawer\n anchor=\"bottom\"\n open={isDrawerOpened}\n onClose={() => closeDrawerHandler()}\n onOpen={() => openDrawerHandler()}\n swipeAreaWidth={swipeAreaWidth}\n allowSwipeInChildren\n disableSwipeToOpen={isDrawerHidden}\n keepMounted\n SwipeAreaProps={{\n onTouchStart: (event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureStart(event.touches[0]?.clientY ?? null);\n },\n onMouseDown: () => {\n handleGestureStart(null);\n },\n onTouchMove: (event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureMove(event.touches[0]?.clientY);\n },\n onTouchCancel: handleGestureCancel,\n onTouchEnd: () => {\n handleGestureEnd({ shouldResetTouchStart: true });\n },\n onMouseUp: () => {\n handleGestureEnd();\n },\n }}\n sx={{\n display: { md: 'none' },\n pointerEvents: isDrawerOpened ? 'none' : 'auto',\n '& .MuiDrawer-paper': {\n pointerEvents: 'auto',\n },\n '& .MuiSwipeArea-root': {\n pointerEvents: 'auto',\n },\n }}\n ModalProps={{\n disableScrollLock: true,\n keepMounted: false,\n disableAutoFocus: true,\n disableRestoreFocus: true,\n disableEnforceFocus: true,\n BackdropProps: {\n sx: {\n background: 'none',\n pointerEvents: 'none',\n },\n },\n }}\n PaperProps={{\n sx: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n boxShadow: '0 -8px 10px 2px rgba(0,0,0,0.2)',\n overflow: 'hidden',\n mb:\n isDrawerOpened ||\n (!isDrawerOpened && (isOpeningGesture || hasPulledPastClosedTabHeight))\n ? `${closedTabHeight}px`\n : 0,\n transition: 'none',\n },\n }}\n >\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_close')}\n onClick={toggleDrawer}\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: (theme) => theme.palette.background.paper,\n cursor: 'pointer',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n }}\n />\n </Box>\n <Box\n sx={{\n height: '100%',\n overflow: 'auto',\n }}\n >\n <PaymentOverviewBox event={event} hideBuyButton />\n </Box>\n </SwipeableDrawer>\n </Box>\n );\n};\n\nexport default PaymentOverviewDrawer;\n"],"names":["useGlobal","useState","useRef","useEffect","Box","Typography","fCurrency","Button","EVENTLOOK_ORDER_FORM_ID","SwipeableDrawer","PaymentOverviewBox"],"mappings":"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"}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var material = require('@mui/material');
7
- var Lottie = require('lottie-react');
8
7
  var bankTransfer = require('../utils/data/lottie/bank-transfer.json.js');
9
8
  var bounce = require('../components/animate/variants/bounce.js');
10
9
  var framerMotion = require('framer-motion');
@@ -15,11 +14,24 @@ var useGlobal = require('../hooks/useGlobal.js');
15
14
 
16
15
  const PaymentPending = () => {
17
16
  const { t } = useGlobal.default();
17
+ const [LottieComponent, setLottieComponent] = React.useState(null);
18
+ React.useEffect(() => {
19
+ if (typeof window === 'undefined')
20
+ return;
21
+ let isMounted = true;
22
+ import('lottie-react').then((module) => {
23
+ if (isMounted) {
24
+ setLottieComponent(() => module.default);
25
+ }
26
+ });
27
+ return () => {
28
+ isMounted = false;
29
+ };
30
+ }, []);
18
31
  return (React.createElement(material.Box, { textAlign: "center" },
19
32
  React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
20
33
  React.createElement(material.Typography, { variant: "h4", sx: { mb: 2, maxWidth: 600, mx: 'auto' } }, t('event.tickets.payment_pending'))),
21
- React.createElement(material.Box, { maxWidth: 600, mx: "auto" },
22
- React.createElement(Lottie, { animationData: bankTransfer.default }))));
34
+ React.createElement(material.Box, { maxWidth: 600, mx: "auto" }, LottieComponent ? React.createElement(LottieComponent, { animationData: bankTransfer.default }) : null)));
23
35
  };
24
36
 
25
37
  exports.default = PaymentPending;
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentPending.js","sources":["../../../src/form/PaymentPending.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Typography } from '@mui/material';\nimport Lottie from 'lottie-react';\nimport bankTransferAnimation from '../utils/data/lottie/bank-transfer.json';\nimport { varBounce } from '@components/animate';\nimport { m } from 'framer-motion';\nimport useGlobal from '@hooks/useGlobal.ts';\n\nconst PaymentPending: React.FC = () => {\n const { t } = useGlobal();\n\n return (\n <Box textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Typography variant=\"h4\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n {t('event.tickets.payment_pending')}\n </Typography>\n </m.div>\n <Box maxWidth={600} mx=\"auto\">\n <Lottie animationData={bankTransferAnimation} />\n </Box>\n </Box>\n );\n};\n\nexport default PaymentPending;\n"],"names":["useGlobal","Box","m","varBounce","Typography","bankTransferAnimation"],"mappings":";;;;;;;;;;;;;;;AAQA,MAAM,cAAc,GAAa,MAAK;AACpC,IAAA,MAAM,EAAE,CAAC,EAAE,GAAGA,iBAAS,EAAE;AAEzB,IAAA,QACE,KAAA,CAAA,aAAA,CAACC,YAAG,EAAA,EAAC,SAAS,EAAC,QAAQ,EAAA;QACrB,KAAA,CAAA,aAAA,CAACC,cAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAEC,gBAAS,EAAE,CAAC,EAAE,EAAA;YAC7B,KAAA,CAAA,aAAA,CAACC,mBAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA,EAC9D,CAAC,CAAC,+BAA+B,CAAC,CACxB,CACP;QACR,KAAA,CAAA,aAAA,CAACH,YAAG,IAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAC,MAAM,EAAA;YAC3B,KAAA,CAAA,aAAA,CAAC,MAAM,IAAC,aAAa,EAAEI,oBAAqB,EAAA,CAAI,CAC5C,CACF;AAEV;;;;"}
1
+ {"version":3,"file":"PaymentPending.js","sources":["../../../src/form/PaymentPending.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Box, Typography } from '@mui/material';\nimport bankTransferAnimation from '../utils/data/lottie/bank-transfer.json';\nimport { varBounce } from '@components/animate';\nimport { m } from 'framer-motion';\nimport useGlobal from '@hooks/useGlobal.ts';\n\nconst PaymentPending: React.FC = () => {\n const { t } = useGlobal();\n const [LottieComponent, setLottieComponent] = useState<React.ComponentType<any> | null>(null);\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n let isMounted = true;\n\n import('lottie-react').then((module) => {\n if (isMounted) {\n setLottieComponent(() => module.default);\n }\n });\n\n return () => {\n isMounted = false;\n };\n }, []);\n\n return (\n <Box textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Typography variant=\"h4\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n {t('event.tickets.payment_pending')}\n </Typography>\n </m.div>\n <Box maxWidth={600} mx=\"auto\">\n {LottieComponent ? <LottieComponent animationData={bankTransferAnimation} /> : null}\n </Box>\n </Box>\n );\n};\n\nexport default PaymentPending;\n"],"names":["useGlobal","useState","useEffect","Box","m","varBounce","Typography","bankTransferAnimation"],"mappings":";;;;;;;;;;;;;;AAOA,MAAM,cAAc,GAAa,MAAK;AACpC,IAAA,MAAM,EAAE,CAAC,EAAE,GAAGA,iBAAS,EAAE;IACzB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAGC,cAAQ,CAAkC,IAAI,CAAC;IAE7FC,eAAS,CAAC,MAAK;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE;QAEnC,IAAI,SAAS,GAAG,IAAI;QAEpB,OAAO,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;YACrC,IAAI,SAAS,EAAE;gBACb,kBAAkB,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;;AAE5C,SAAC,CAAC;AAEF,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,KAAK;AACnB,SAAC;KACF,EAAE,EAAE,CAAC;AAEN,IAAA,QACE,KAAA,CAAA,aAAA,CAACC,YAAG,EAAA,EAAC,SAAS,EAAC,QAAQ,EAAA;QACrB,KAAA,CAAA,aAAA,CAACC,cAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAEC,gBAAS,EAAE,CAAC,EAAE,EAAA;YAC7B,KAAA,CAAA,aAAA,CAACC,mBAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA,EAC9D,CAAC,CAAC,+BAA+B,CAAC,CACxB,CACP;AACR,QAAA,KAAA,CAAA,aAAA,CAACH,YAAG,EAAA,EAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAC,MAAM,EAAA,EAC1B,eAAe,GAAG,KAAA,CAAA,aAAA,CAAC,eAAe,EAAA,EAAC,aAAa,EAAEI,oBAAqB,EAAA,CAAI,GAAG,IAAI,CAC/E,CACF;AAEV;;;;"}
@@ -20,9 +20,10 @@ var styles = require('@mui/material/styles');
20
20
  var dayjs = require('dayjs');
21
21
  var useGlobal = require('../hooks/useGlobal.js');
22
22
  var Trans = require('../components/Trans.js');
23
+ var gtm = require('../utils/gtm.js');
23
24
 
24
- const PaymentSuccess = ({ setIsPaying, isIframe }) => {
25
- const { showSnackbar, t, lang, callbacks, content } = useGlobal.default();
25
+ const PaymentSuccess = ({ setIsPaying, isIframe, pixels }) => {
26
+ const { showSnackbar, t, lang, callbacks, content, user } = useGlobal.default();
26
27
  const theme = styles.useTheme();
27
28
  const defaultState = 'PROCESSING';
28
29
  const errorState = 'ERROR';
@@ -50,9 +51,45 @@ const PaymentSuccess = ({ setIsPaying, isIframe }) => {
50
51
  setProducts(products);
51
52
  setState(data.state);
52
53
  setGwUrl(data.gwUrl);
54
+ const items = [
55
+ ...data.tickets.map((ticket) => ({
56
+ item_id: ticket.number,
57
+ item_name: `${ticket.eventName} - ${ticket.releaseCategoryName} - ${ticket.releaseName}`,
58
+ price: ticket.price,
59
+ quantity: 1,
60
+ })),
61
+ ];
62
+ if (data.extraFee) {
63
+ items.push({
64
+ item_id: 'service_fee',
65
+ item_name: `Service fee`,
66
+ price: data.extraFee,
67
+ quantity: 1,
68
+ });
69
+ }
70
+ const item = {
71
+ currency: data.currency,
72
+ value: data.totalPrice,
73
+ tax: 0,
74
+ payment_type: data.paymentType,
75
+ transaction_id: String(data.orderNumber),
76
+ coupon: data?.promoCodes?.map((p) => p.code) || [],
77
+ items,
78
+ };
53
79
  switch (data.state) {
54
80
  case gopay.GopayState.PAID:
55
81
  setTitle('event.tickets.payment_success.paid.title');
82
+ if (isIframe) {
83
+ setTimeout(() => {
84
+ parent.postMessage({
85
+ type: 'eventlookFrameGtm',
86
+ item: gtm.getGtmPurchasePaid(item, pixels),
87
+ }, '*');
88
+ }, 1000);
89
+ }
90
+ else {
91
+ gtm.gtmPurchasePaid(item, pixels, user ? gtm.mapUserToUserData(user) : undefined);
92
+ }
56
93
  break;
57
94
  default:
58
95
  setTitle('event.tickets.payment_success.unpaid');
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentSuccess.js","sources":["../../../src/form/PaymentSuccess.tsx"],"sourcesContent":["import { Iconify, Image, MotionContainer, varBounce } from '@components';\nimport { Box, Button, Card, Grid, LinearProgress, Link, Typography } from '@mui/material';\nimport React, { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport { getSearchParamsInObject } from '@utils/url';\nimport { postOrderPaid } from '@modules/order';\nimport { m } from 'framer-motion';\nimport { GopayState } from '@utils/data/gopay';\nimport { PropsWithChildren } from '@utils/types/global.type';\nimport { IPaidTicket } from '@utils/types/ticket.type';\nimport useResponsive from '@hooks/useResponsive';\nimport { getPlaceAsString } from '@utils/place';\nimport { fCurrency, fData } from '@utils/formatNumber';\nimport { useTheme } from '@mui/material/styles';\nimport { IPaidProduct } from '@utils/types/product.type';\nimport dayjs from 'dayjs';\nimport useGlobal from '@hooks/useGlobal';\nimport { Trans } from '@components/Trans';\n\ninterface Props {\n setIsPaying: Dispatch<SetStateAction<boolean>>;\n isIframe?: boolean;\n}\n\nconst PaymentSuccess: React.FC<Props> = ({ setIsPaying, isIframe }) => {\n const { showSnackbar, t, lang, callbacks, content } = useGlobal();\n const theme = useTheme();\n const defaultState = 'PROCESSING';\n const errorState = 'ERROR';\n const [tickets, setTickets] = useState<IPaidTicket[]>([]);\n const [products, setProducts] = useState<IPaidProduct[]>([]);\n const [state, setState] = useState<string>(defaultState);\n const [title, setTitle] = useState<string>(t('event.tickets.payment_success.loading'));\n const [description, setDescription] = useState<string | null>(null);\n const [gwUrl, setGwUrl] = useState<string>('');\n const isMobile = useResponsive('down', 'sm');\n\n useEffect(() => {\n setIsPaying(false);\n checkStatus();\n }, []);\n\n const checkStatus = async () => {\n const searchParams = getSearchParamsInObject(window.location.search);\n const paymentId = searchParams.id;\n\n try {\n const { data } = await postOrderPaid({\n gopayId: Number(paymentId),\n });\n const tickets = data.tickets;\n setTickets(tickets);\n const products = data.products;\n setProducts(products);\n setState(data.state);\n setGwUrl(data.gwUrl);\n switch (data.state) {\n case GopayState.PAID:\n setTitle('event.tickets.payment_success.paid.title');\n break;\n default:\n setTitle('event.tickets.payment_success.unpaid');\n setDescription('event.tickets.payment_success.unpaid_description');\n break;\n }\n } catch (error: any) {\n setState(errorState);\n setTitle(error.message);\n showSnackbar(error.message, { variant: 'error' });\n }\n };\n\n return (\n <MotionContainer className=\"iframe__payment-success\">\n {state === GopayState.PAID ? (\n <Box>\n <Grid container spacing={3} mb={6}>\n <Grid display=\"flex\" item xs={12} sm={6} alignItems=\"center\">\n <m.div variants={varBounce().in}>\n <Typography\n variant=\"h5\"\n component=\"div\"\n color=\"primary.main\"\n mb={2}\n sx={{ textTransform: 'uppercase' }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.status ||\n 'event.tickets.payment_success.paid.status'\n }\n />\n </Typography>\n <Typography variant=\"h1\" mb={4}>\n <Trans\n text={\n content?.paymentConfirmation?.title ||\n 'event.tickets.payment_success.paid.title'\n }\n />\n </Typography>\n <Typography\n variant=\"subtitle1\"\n component=\"div\"\n color=\"text.secondary\"\n sx={{ maxWidth: 450 }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.subtitle ||\n 'event.tickets.payment_success.paid.subtitle'\n }\n />\n </Typography>\n </m.div>\n </Grid>\n {!isMobile && (\n <Grid item xs={12} sm={6} display=\"flex\" justifyContent=\"center\">\n <m.div variants={varBounce().in}>\n {content?.paymentConfirmation?.image ? (\n <Image\n src={content.paymentConfirmation.image.src}\n width=\"100%\"\n maxWidth={content.paymentConfirmation.image.maxWidth}\n />\n ) : (\n <Image\n src=\"https://eventigo.s3-central.vshosting.cloud/production/payment_success.png\"\n alt=\"Payment success\"\n maxWidth={400}\n />\n )}\n </m.div>\n </Grid>\n )}\n </Grid>\n {tickets.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.tickets')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {tickets.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.eventName}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {getPlaceAsString(item.location)}\n </Typography>\n <Typography variant=\"h3\">{item.releaseCategoryName}</Typography>\n {item.firstName && item.lastName && (\n <Typography variant=\"h5\">{`${item.firstName} ${item.lastName}`}</Typography>\n )}\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n {item.eventTimeslot && (\n <Typography variant=\"h5\">\n {dayjs(item.eventTimeslot.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n )}\n <Image\n src={item.qrUrl}\n alt=\"QR Code\"\n maxWidth={200}\n border={`3px solid ${theme.palette.grey['800']}`}\n mb={2}\n />\n {item.pdfUrl && (\n <Button\n href={item.pdfUrl}\n target=\"_blank\"\n variant=\"contained\"\n sx={{ mb: 2 }}\n >\n {t('event.tickets.payment_success.paid.button')}\n </Button>\n )}\n {item.applePassWalletUrl && (\n <Link href={item.applePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/apple-wallet/${lang}.png`}\n alt={t('apple_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n {item.googlePassWalletUrl && (\n <Link href={item.googlePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/google-wallet/${lang}.png`}\n alt={t('google_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n <Box\n maxWidth={300}\n mx=\"auto\"\n px={2}\n borderRadius={1}\n color=\"grey.0\"\n sx={{\n fontWeight: 700,\n backgroundColor: 'primary.main',\n }}\n className=\"iframe__payment-success__ticket\"\n >\n {item.number}\n </Box>\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {products.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.products')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {products.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} md={4} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.name}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {item.variantName}\n </Typography>\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n <Image\n src={item.imageUrl}\n alt=\"Product preview\"\n maxWidth={200}\n mb={2}\n borderRadius={2}\n />\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {!isIframe && (\n <Box textAlign=\"center\">\n <CustomButton\n onClick={callbacks.homepage}\n startIcon={<Iconify icon=\"eva:home-fill\" />}\n >\n {t('go_home')}\n </CustomButton>\n </Box>\n )}\n </Box>\n ) : (\n <Box sx={{ textAlign: 'center', py: 4 }}>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h4\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={title}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n {description && (\n <Typography variant=\"body1\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={description}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n )}\n </m.div>\n {state === errorState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:close-circle-fill\"\n sx={{\n color: 'error.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <Button\n onClick={callbacks.tickets}\n startIcon={<Iconify icon=\"eva:arrow-back-fill\" />}\n >\n {t('back_to_tickets')}\n </Button>\n )}\n </>\n ) : state !== defaultState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:alert-triangle-fill\"\n sx={{\n color: 'warning.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <CustomButton url={gwUrl} endIcon={<Iconify icon=\"eva:external-link-outline\" />}>\n {t('pay')}\n </CustomButton>\n )}\n </>\n ) : (\n <LinearProgress sx={{ width: 1, maxWidth: 320, mx: 'auto' }} />\n )}\n </Box>\n )}\n </MotionContainer>\n );\n};\n\ninterface ButtonProps {\n onClick?: () => void;\n url?: string;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n}\n\nconst CustomButton: React.FC<PropsWithChildren<ButtonProps>> = ({\n onClick,\n url,\n children,\n startIcon,\n endIcon,\n}) => (\n <Button\n onClick={onClick}\n href={url}\n size=\"large\"\n color=\"primary\"\n variant=\"contained\"\n startIcon={startIcon}\n endIcon={endIcon}\n sx={{\n mt: 2,\n }}\n >\n {children}\n </Button>\n);\n\nexport default PaymentSuccess;\n"],"names":["useGlobal","useTheme","useState","useResponsive","useEffect","getSearchParamsInObject","postOrderPaid","GopayState","MotionContainer","Box","Grid","m","varBounce","Typography","Trans","Image","Card","getPlaceAsString","fCurrency","Button","Link","Iconify","LinearProgress"],"mappings":"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"}
1
+ {"version":3,"file":"PaymentSuccess.js","sources":["../../../src/form/PaymentSuccess.tsx"],"sourcesContent":["import { Iconify, Image, MotionContainer, varBounce } from '@components';\nimport { Box, Button, Card, Grid, LinearProgress, Link, Typography } from '@mui/material';\nimport React, { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport { getSearchParamsInObject } from '@utils/url';\nimport { postOrderPaid } from '@modules/order';\nimport { m } from 'framer-motion';\nimport { GopayState } from '@utils/data/gopay';\nimport { PropsWithChildren } from '@utils/types/global.type';\nimport { IPaidTicket } from '@utils/types/ticket.type';\nimport useResponsive from '@hooks/useResponsive';\nimport { getPlaceAsString } from '@utils/place';\nimport { fCurrency } from '@utils/formatNumber';\nimport { useTheme } from '@mui/material/styles';\nimport { IPaidProduct } from '@utils/types/product.type';\nimport dayjs from 'dayjs';\nimport useGlobal from '@hooks/useGlobal';\nimport { Trans } from '@components/Trans';\nimport { getGtmPurchasePaid, gtmPurchasePaid, mapUserToUserData } from '@utils/gtm.ts';\nimport { IPixels } from '@utils/types/gtm.type.ts';\n\ninterface Props {\n setIsPaying: Dispatch<SetStateAction<boolean>>;\n isIframe?: boolean;\n pixels?: IPixels;\n}\n\nconst PaymentSuccess: React.FC<Props> = ({ setIsPaying, isIframe, pixels }) => {\n const { showSnackbar, t, lang, callbacks, content, user } = useGlobal();\n const theme = useTheme();\n const defaultState = 'PROCESSING';\n const errorState = 'ERROR';\n const [tickets, setTickets] = useState<IPaidTicket[]>([]);\n const [products, setProducts] = useState<IPaidProduct[]>([]);\n const [state, setState] = useState<string>(defaultState);\n const [title, setTitle] = useState<string>(t('event.tickets.payment_success.loading'));\n const [description, setDescription] = useState<string | null>(null);\n const [gwUrl, setGwUrl] = useState<string>('');\n const isMobile = useResponsive('down', 'sm');\n\n useEffect(() => {\n setIsPaying(false);\n checkStatus();\n }, []);\n\n const checkStatus = async () => {\n const searchParams = getSearchParamsInObject(window.location.search);\n const paymentId = searchParams.id;\n\n try {\n const { data } = await postOrderPaid({\n gopayId: Number(paymentId),\n });\n const tickets = data.tickets;\n setTickets(tickets);\n const products = data.products;\n setProducts(products);\n setState(data.state);\n setGwUrl(data.gwUrl);\n\n const items = [\n ...data.tickets.map((ticket) => ({\n item_id: ticket.number,\n item_name: `${ticket.eventName} - ${ticket.releaseCategoryName} - ${ticket.releaseName}`,\n price: ticket.price,\n quantity: 1,\n })),\n ];\n if (data.extraFee) {\n items.push({\n item_id: 'service_fee',\n item_name: `Service fee`,\n price: data.extraFee,\n quantity: 1,\n });\n }\n const item = {\n currency: data.currency,\n value: data.totalPrice,\n tax: 0,\n payment_type: data.paymentType,\n transaction_id: String(data.orderNumber),\n coupon: data?.promoCodes?.map((p) => p.code) || [],\n items,\n };\n\n switch (data.state) {\n case GopayState.PAID:\n setTitle('event.tickets.payment_success.paid.title');\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPurchasePaid(item, pixels),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmPurchasePaid(item, pixels, user ? mapUserToUserData(user) : undefined);\n }\n break;\n default:\n setTitle('event.tickets.payment_success.unpaid');\n setDescription('event.tickets.payment_success.unpaid_description');\n break;\n }\n } catch (error: any) {\n setState(errorState);\n setTitle(error.message);\n showSnackbar(error.message, { variant: 'error' });\n }\n };\n\n return (\n <MotionContainer className=\"iframe__payment-success\">\n {state === GopayState.PAID ? (\n <Box>\n <Grid container spacing={3} mb={6}>\n <Grid display=\"flex\" item xs={12} sm={6} alignItems=\"center\">\n <m.div variants={varBounce().in}>\n <Typography\n variant=\"h5\"\n component=\"div\"\n color=\"primary.main\"\n mb={2}\n sx={{ textTransform: 'uppercase' }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.status ||\n 'event.tickets.payment_success.paid.status'\n }\n />\n </Typography>\n <Typography variant=\"h1\" mb={4}>\n <Trans\n text={\n content?.paymentConfirmation?.title ||\n 'event.tickets.payment_success.paid.title'\n }\n />\n </Typography>\n <Typography\n variant=\"subtitle1\"\n component=\"div\"\n color=\"text.secondary\"\n sx={{ maxWidth: 450 }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.subtitle ||\n 'event.tickets.payment_success.paid.subtitle'\n }\n />\n </Typography>\n </m.div>\n </Grid>\n {!isMobile && (\n <Grid item xs={12} sm={6} display=\"flex\" justifyContent=\"center\">\n <m.div variants={varBounce().in}>\n {content?.paymentConfirmation?.image ? (\n <Image\n src={content.paymentConfirmation.image.src}\n width=\"100%\"\n maxWidth={content.paymentConfirmation.image.maxWidth}\n />\n ) : (\n <Image\n src=\"https://eventigo.s3-central.vshosting.cloud/production/payment_success.png\"\n alt=\"Payment success\"\n maxWidth={400}\n />\n )}\n </m.div>\n </Grid>\n )}\n </Grid>\n {tickets.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.tickets')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {tickets.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.eventName}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {getPlaceAsString(item.location)}\n </Typography>\n <Typography variant=\"h3\">{item.releaseCategoryName}</Typography>\n {item.firstName && item.lastName && (\n <Typography variant=\"h5\">{`${item.firstName} ${item.lastName}`}</Typography>\n )}\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n {item.eventTimeslot && (\n <Typography variant=\"h5\">\n {dayjs(item.eventTimeslot.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n )}\n <Image\n src={item.qrUrl}\n alt=\"QR Code\"\n maxWidth={200}\n border={`3px solid ${theme.palette.grey['800']}`}\n mb={2}\n />\n {item.pdfUrl && (\n <Button\n href={item.pdfUrl}\n target=\"_blank\"\n variant=\"contained\"\n sx={{ mb: 2 }}\n >\n {t('event.tickets.payment_success.paid.button')}\n </Button>\n )}\n {item.applePassWalletUrl && (\n <Link href={item.applePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/apple-wallet/${lang}.png`}\n alt={t('apple_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n {item.googlePassWalletUrl && (\n <Link href={item.googlePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/google-wallet/${lang}.png`}\n alt={t('google_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n <Box\n maxWidth={300}\n mx=\"auto\"\n px={2}\n borderRadius={1}\n color=\"grey.0\"\n sx={{\n fontWeight: 700,\n backgroundColor: 'primary.main',\n }}\n className=\"iframe__payment-success__ticket\"\n >\n {item.number}\n </Box>\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {products.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.products')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {products.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} md={4} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.name}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {item.variantName}\n </Typography>\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n <Image\n src={item.imageUrl}\n alt=\"Product preview\"\n maxWidth={200}\n mb={2}\n borderRadius={2}\n />\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {!isIframe && (\n <Box textAlign=\"center\">\n <CustomButton\n onClick={callbacks.homepage}\n startIcon={<Iconify icon=\"eva:home-fill\" />}\n >\n {t('go_home')}\n </CustomButton>\n </Box>\n )}\n </Box>\n ) : (\n <Box sx={{ textAlign: 'center', py: 4 }}>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h4\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={title}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n {description && (\n <Typography variant=\"body1\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={description}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n )}\n </m.div>\n {state === errorState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:close-circle-fill\"\n sx={{\n color: 'error.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <Button\n onClick={callbacks.tickets}\n startIcon={<Iconify icon=\"eva:arrow-back-fill\" />}\n >\n {t('back_to_tickets')}\n </Button>\n )}\n </>\n ) : state !== defaultState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:alert-triangle-fill\"\n sx={{\n color: 'warning.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <CustomButton url={gwUrl} endIcon={<Iconify icon=\"eva:external-link-outline\" />}>\n {t('pay')}\n </CustomButton>\n )}\n </>\n ) : (\n <LinearProgress sx={{ width: 1, maxWidth: 320, mx: 'auto' }} />\n )}\n </Box>\n )}\n </MotionContainer>\n );\n};\n\ninterface ButtonProps {\n onClick?: () => void;\n url?: string;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n}\n\nconst CustomButton: React.FC<PropsWithChildren<ButtonProps>> = ({\n onClick,\n url,\n children,\n startIcon,\n endIcon,\n}) => (\n <Button\n onClick={onClick}\n href={url}\n size=\"large\"\n color=\"primary\"\n variant=\"contained\"\n startIcon={startIcon}\n endIcon={endIcon}\n sx={{\n mt: 2,\n }}\n >\n {children}\n </Button>\n);\n\nexport default PaymentSuccess;\n"],"names":["useGlobal","useTheme","useState","useResponsive","useEffect","getSearchParamsInObject","postOrderPaid","GopayState","getGtmPurchasePaid","gtmPurchasePaid","mapUserToUserData","MotionContainer","Box","Grid","m","varBounce","Typography","Trans","Image","Card","getPlaceAsString","fCurrency","Button","Link","Iconify","LinearProgress"],"mappings":"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"}