@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,192 @@
1
+ import React, { useEffect, useRef } from 'react';
2
+ import { useFormContext, useWatch } from 'react-hook-form';
3
+ import { Box, Skeleton, Stack, Typography } from '@mui/material';
4
+ import { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';
5
+ import useEventActiveReleases from '@hooks/data/useEventActiveReleases';
6
+ import { groupBy } from '@utils/global';
7
+ import { IReleaseShort } from '@utils/types/release.type';
8
+ import { IEvent } from '@utils/types/event.type';
9
+ import ReleaseWithMerchandise from '@form/tickets/ReleaseWithMerchandise';
10
+ import { EventType } from '@utils/data/event';
11
+ import { MAX_TICKETS_PER_ORDER } from '@utils/data/ticket';
12
+ import useGlobal from '@hooks/useGlobal.ts';
13
+
14
+ interface Props {
15
+ event: IEvent;
16
+ }
17
+
18
+ const TicketWithMerchandiseSelection: React.FC<Props> = ({ event }) => {
19
+ const { t } = useGlobal();
20
+ const { setValue, watch } = useFormContext<ITicketForm>();
21
+ const tickets: ITicketFormTicket[] = useWatch({ name: `tickets.${event.id}`, defaultValue: [] });
22
+ const eventTimeslotId = watch('eventTimeslotId');
23
+ const isProcessingRef = useRef(false);
24
+ const { data: activeReleases, mutate } = useEventActiveReleases(
25
+ event.id,
26
+ false,
27
+ event.type === EventType.RECURRING ? eventTimeslotId : undefined
28
+ );
29
+
30
+ useEffect(() => {
31
+ if (!isProcessingRef.current) selectedTickets();
32
+ }, [tickets, activeReleases]);
33
+
34
+ const countReleaseCategories = (): number => {
35
+ const grouped = groupBy(activeReleases || [], 'releaseCategoryName');
36
+ return Object.keys(grouped).length;
37
+ };
38
+
39
+ const selectedReleaseIsSoldOut = (releases: IReleaseShort[] | undefined) => {
40
+ const lockedSelectedReleases: boolean[] | undefined = releases?.map((item, index) => {
41
+ const nextRelease = releases?.find(
42
+ (item2) =>
43
+ item2.releaseCategoryName === item.releaseCategoryName && item2.order === item.order + 1
44
+ );
45
+ const selected = tickets.find((ticket) => ticket.releaseId === item.id);
46
+ const maxSelectable = Math.min(item.availableTickets || 0, MAX_TICKETS_PER_ORDER);
47
+
48
+ return (
49
+ !!nextRelease &&
50
+ item.locked &&
51
+ !!selected &&
52
+ Number(selected.quantity) >= maxSelectable &&
53
+ index + 1 == tickets.length
54
+ );
55
+ });
56
+ return lockedSelectedReleases && lockedSelectedReleases.includes(true);
57
+ };
58
+
59
+ const countUnlockedReleases = () => activeReleases?.filter((item) => !item.locked).length || 0;
60
+
61
+ const isReleaseSelected = (id: number) => !!tickets.find((ticket) => ticket.releaseId === id);
62
+
63
+ const selectedTickets = async () => {
64
+ const releases = await mutate();
65
+ const currentReleases = releases || activeReleases || [];
66
+ const allFilled = tickets.filter((item) => !item.releaseId || !item.quantity);
67
+
68
+ const soldOutReleaseCategories = currentReleases.filter((release) =>
69
+ tickets.find(
70
+ (ticket) =>
71
+ release.id === ticket.releaseId &&
72
+ Number(ticket.quantity) >= Math.min(release.availableTickets || 0, MAX_TICKETS_PER_ORDER)
73
+ )
74
+ );
75
+
76
+ // Unlock next releases when current release is sold out
77
+ if (currentReleases.length) {
78
+ let hasChanges = false;
79
+ const updatedReleases = currentReleases.map((release) => {
80
+ const previousRelease = currentReleases.find(
81
+ (item) =>
82
+ item.releaseCategoryName === release.releaseCategoryName &&
83
+ item.order === release.order - 1
84
+ );
85
+
86
+ if (!release.locked || !previousRelease) return release;
87
+
88
+ const previousTicket = tickets.find((ticket) => ticket.releaseId === previousRelease.id);
89
+ const previousMaxSelectable = Math.min(
90
+ previousRelease.availableTickets || 0,
91
+ MAX_TICKETS_PER_ORDER
92
+ );
93
+ const shouldUnlock = Number(previousTicket?.quantity || 0) >= previousMaxSelectable;
94
+
95
+ if (!shouldUnlock) return release;
96
+
97
+ hasChanges = true;
98
+ return { ...release, locked: false };
99
+ });
100
+
101
+ if (hasChanges) {
102
+ await mutate(updatedReleases, false);
103
+ }
104
+ }
105
+
106
+ const hasSelectableRelease = currentReleases.some(
107
+ (release) => !isReleaseSelected(release.id) && !release.locked
108
+ );
109
+
110
+ const shouldAddRow =
111
+ (soldOutReleaseCategories &&
112
+ selectedReleaseIsSoldOut(releases) &&
113
+ tickets.length < soldOutReleaseCategories.length + countUnlockedReleases() &&
114
+ !allFilled.length) ||
115
+ (currentReleases.length &&
116
+ soldOutReleaseCategories.length &&
117
+ currentReleases.length > tickets.length &&
118
+ tickets.length < soldOutReleaseCategories.length + countUnlockedReleases() &&
119
+ !allFilled.length) ||
120
+ (tickets.length < countReleaseCategories() && !allFilled.length);
121
+
122
+ const shouldRemoveEmptyRows =
123
+ allFilled.length > 0 &&
124
+ tickets.length > 1 &&
125
+ !hasSelectableRelease &&
126
+ (!soldOutReleaseCategories?.length || !selectedReleaseIsSoldOut(releases));
127
+
128
+ if (shouldAddRow) {
129
+ isProcessingRef.current = true;
130
+ setValue(`tickets.${event.id}`, [
131
+ ...tickets,
132
+ {
133
+ releaseId: '',
134
+ quantity: '',
135
+ itemName: '',
136
+ price: 0,
137
+ products: [],
138
+ extraFields: [],
139
+ },
140
+ ]);
141
+ setTimeout(() => (isProcessingRef.current = false), 0);
142
+ } else if (shouldRemoveEmptyRows) {
143
+ // Only remove completely empty rows (no releaseId), keep rows where user started selecting
144
+ const nonEmptyTickets = tickets.filter((item) => item.releaseId);
145
+ if (nonEmptyTickets.length < tickets.length) {
146
+ isProcessingRef.current = true;
147
+ setValue(`tickets.${event.id}`, nonEmptyTickets);
148
+ setTimeout(() => (isProcessingRef.current = false), 0);
149
+ }
150
+ }
151
+ };
152
+
153
+ return (
154
+ <Stack spacing={1} direction="column">
155
+ {!activeReleases && event.type !== EventType.RECURRING ? (
156
+ <Skeleton
157
+ variant="rounded"
158
+ sx={{
159
+ width: '100%',
160
+ height: (theme) => theme.spacing(7.5),
161
+ }}
162
+ />
163
+ ) : (
164
+ activeReleases
165
+ ?.filter((release) => !release.locked || isReleaseSelected(release.id))
166
+ .map((release, index) => (
167
+ <ReleaseWithMerchandise
168
+ key={release.id}
169
+ eventId={event.id}
170
+ release={release}
171
+ activeReleases={activeReleases}
172
+ currency={event.currency}
173
+ index={index}
174
+ />
175
+ ))
176
+ )}
177
+ {!activeReleases && event.type === EventType.RECURRING && (
178
+ <Typography variant="h5">{t('event.tickets.stepper.1.select_timeslot')}</Typography>
179
+ )}
180
+ {!!activeReleases && !activeReleases.length && (
181
+ <Typography variant="h5">{t('event.tickets.stepper.1.no_tickets')}</Typography>
182
+ )}
183
+ <Box>
184
+ <Typography variant="caption" component="div" fontStyle="italic" mb={2}>
185
+ *{t('event.tickets.stepper.1.max_ticket_quantity')}
186
+ </Typography>
187
+ </Box>
188
+ </Stack>
189
+ );
190
+ };
191
+
192
+ export default TicketWithMerchandiseSelection;
@@ -0,0 +1,99 @@
1
+ import { useCallback } from 'react';
2
+ import { FieldError, FieldErrors, FieldValues, Path, UseFormReturn } from 'react-hook-form';
3
+
4
+ type FirstError<T extends FieldValues> = {
5
+ name: Path<T>;
6
+ ref?: HTMLElement | null;
7
+ };
8
+
9
+ const isFieldError = (value: unknown): value is FieldError =>
10
+ !!value && typeof value === 'object' && ('type' in value || 'message' in value);
11
+
12
+ const getFirstError = <T extends FieldValues>(
13
+ errors: FieldErrors<T>,
14
+ parentPath = ''
15
+ ): FirstError<T> | null => {
16
+ for (const [key, value] of Object.entries(errors)) {
17
+ if (!value) {
18
+ continue;
19
+ }
20
+
21
+ const fieldPath = parentPath ? `${parentPath}.${key}` : key;
22
+
23
+ if (isFieldError(value)) {
24
+ return {
25
+ name: fieldPath as Path<T>,
26
+ ref: value.ref instanceof HTMLElement ? value.ref : null,
27
+ };
28
+ }
29
+
30
+ if (Array.isArray(value)) {
31
+ for (let index = 0; index < value.length; index++) {
32
+ const nestedError = value[index] as FieldErrors<T> | undefined;
33
+ if (!nestedError) {
34
+ continue;
35
+ }
36
+
37
+ const firstNestedError = getFirstError(
38
+ nestedError,
39
+ parentPath ? `${parentPath}.${key}.${index}` : `${key}.${index}`
40
+ );
41
+ if (firstNestedError) {
42
+ return firstNestedError;
43
+ }
44
+ }
45
+ } else if (typeof value === 'object') {
46
+ const firstNestedError = getFirstError(value as FieldErrors<T>, fieldPath);
47
+ if (firstNestedError) {
48
+ return firstNestedError;
49
+ }
50
+ }
51
+ }
52
+
53
+ return null;
54
+ };
55
+
56
+ const escapeSelectorValue = (value: string): string => {
57
+ if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {
58
+ return CSS.escape(value);
59
+ }
60
+
61
+ // Fallback: escape all CSS special characters manually
62
+ return value.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, '\\$1');
63
+ };
64
+
65
+ type ScrollToFirstErrorMethods<T extends FieldValues> = Pick<
66
+ UseFormReturn<T, object, undefined>,
67
+ 'setFocus'
68
+ >;
69
+
70
+ export default function useScrollToFirstError<T extends FieldValues>({
71
+ setFocus,
72
+ }: ScrollToFirstErrorMethods<T>) {
73
+ return useCallback(
74
+ (errors: FieldErrors<T>) => {
75
+ const firstError = getFirstError(errors);
76
+ if (!firstError) {
77
+ return;
78
+ }
79
+
80
+ // Re-query the DOM instead of relying on potentially stale refs
81
+ const fieldName = String(firstError.name);
82
+ const scrollTarget =
83
+ document.querySelector<HTMLElement>(`[name="${escapeSelectorValue(fieldName)}"]`) ||
84
+ document.getElementById(fieldName);
85
+
86
+ if (scrollTarget) {
87
+ scrollTarget.scrollIntoView({
88
+ behavior: 'smooth',
89
+ block: 'center',
90
+ });
91
+ scrollTarget.focus({ preventScroll: true });
92
+ } else {
93
+ // Fallback to RHF's setFocus if no DOM element found
94
+ setFocus(firstError.name);
95
+ }
96
+ },
97
+ [setFocus]
98
+ );
99
+ }
@@ -7,13 +7,17 @@ const cs = {
7
7
  add: 'Přidat',
8
8
  confirm: 'Potvrdit',
9
9
  cancel: 'Zrušit',
10
+ close: 'Zavřít',
11
+ remove: 'Odstranit',
10
12
  pay: 'Zaplatit',
11
13
  change: 'Změnit',
14
+ free: 'Zdarma',
12
15
  back_to_tickets: 'Zpět na vstupenky',
13
16
  unselected: 'Nevybráno',
14
17
  go_home: 'Přejít na úvodní stránku',
15
18
  apple_wallet: 'Stáhnout do Apple Wallet',
16
19
  google_wallet: 'Stáhnout do Google Wallet',
20
+ more_info: 'Více informací',
17
21
  shipping_method: {
18
22
  types: {
19
23
  PACKETA: 'Zásilkovna',
@@ -37,10 +41,11 @@ const cs = {
37
41
  promo_code: 'Slevový kód',
38
42
  start_date: 'Datum konání',
39
43
  organizer: 'Pořadatel',
40
- total: 'Celkem ',
44
+ total: 'Celkem',
41
45
  with_fee: 'vč. servisního poplatku',
42
46
  service_fee: 'Servisní poplatek',
43
47
  shipping_fee: 'Doprava',
48
+ ticket_insurance: 'Pojištění vstupenek',
44
49
  price_including_service_fee: 'Cena zahrnuje servisní poplatek v hodnotě {{fee}}.',
45
50
  price_including_service_fee_percentage:
46
51
  'Cena zahrnuje servisní poplatek v výši {{percentage}} z celkové částky.',
@@ -48,6 +53,12 @@ const cs = {
48
53
  original_price: 'Původní cena',
49
54
  ticket: 'Vstupenka',
50
55
  category: 'Kategorie',
56
+ sms_notification: 'SMS notifikace',
57
+ open_map: 'Otevřít mapu',
58
+ payment_overview_open: 'Otevřít přehled platby',
59
+ payment_overview_close: 'Zavřít přehled platby',
60
+ ticket_quantity_decrease: 'Snížit počet vstupenek',
61
+ ticket_quantity_increase: 'Zvýšit počet vstupenek',
51
62
  },
52
63
  validation: {
53
64
  required: 'Toto pole je povinné.',
@@ -56,6 +67,9 @@ const cs = {
56
67
  invalid_date: 'Datum není platné.',
57
68
  terms_and_conditions: 'Musíte souhlasit s obchodními podmínkami.',
58
69
  promo_code_invalid: 'Slevový kód není platný.',
70
+ promo_code_applied: 'Tento slevový kód již byl použit.',
71
+ promo_code_cant_combine: 'Tento slevový kód nelze kombinovat s jinými kódy.',
72
+ min_purchase_not_met: 'Minimální částka nákupu nebyla dosažena: ',
59
73
  count_tickets_or_products: 'Musíte vybrat alespoň 1 vstupenku nebo produkt.',
60
74
  },
61
75
  },
@@ -97,9 +111,42 @@ const cs = {
97
111
  7: {
98
112
  title: 'Přidružené eventy',
99
113
  },
114
+ 8: {
115
+ title: 'Dodatečné služby',
116
+ additional_info: 'Více informací ke službám',
117
+ },
100
118
  },
101
119
  terms_and_conditions:
102
- 'Odesláním objednávky souhlasím s <0>Obchodními podmínkami</0> {{termsAndConditionsCompanies}} a beru na vědomí <1>Zásady soukromí</1>.',
120
+ 'Souhlasím s <0>Obchodními podmínkami</0> {{termsAndConditionsCompanies}} a <1>Zásady soukromí</1>.',
121
+ insurance: {
122
+ label: 'Pojištění vstupenek',
123
+ per_ticket: 'ks',
124
+ modal: {
125
+ description:
126
+ 'Pojištění vstupenek Vám poskytuje ochranu v případě, že se nebudete moci zúčastnit akce z důvodu nemoci, úrazu nebo jiných nepředvídatelných událostí.',
127
+ coverage:
128
+ 'Pojištění pokrývá: nemoc, úraz, náhlá hospitalizace, karanténa nebo jiné nepředvídatelné události, které Vám zabrání v účasti na akci.',
129
+ price: 'Cena pojištění',
130
+ },
131
+ },
132
+ sms_notification: {
133
+ label: 'SMS připomenutí termínu',
134
+ modal: {
135
+ description:
136
+ 'Připomínka akce den předem: SMS vás upozorní na blížící se událost, abyste na ni nezapomněli a stihli se včas připravit.',
137
+ price: 'Cena SMS připomenutí termínu akce',
138
+ },
139
+ },
140
+ merchandise: {
141
+ show_sizes: 'Zobrazit velikosti',
142
+ show_added: 'Zobrazit přidané',
143
+ },
144
+ services: {
145
+ add_tickets_first: 'Nejdříve prosím přidejte vstupenky',
146
+ },
147
+ shipping: {
148
+ choose_address: 'Vybrat adresu',
149
+ },
103
150
  order_success: {
104
151
  title: 'Vstupenky byly úspěšně zarezervovány. Teď už zbývá jenom zaplatit.',
105
152
  description:
@@ -134,6 +181,8 @@ const cs = {
134
181
  components: {
135
182
  product_variant_dialog: {
136
183
  select_variant: 'Musíte vybrat variantu produktu.',
184
+ decrease_quantity: 'Snížit množství varianty produktu',
185
+ increase_quantity: 'Zvýšit množství varianty produktu',
137
186
  },
138
187
  },
139
188
  };
@@ -7,13 +7,17 @@ const en = {
7
7
  add: 'Add',
8
8
  confirm: 'Confirm',
9
9
  cancel: 'Cancel',
10
+ close: 'Close',
11
+ remove: 'Remove',
10
12
  pay: 'Pay',
11
13
  change: 'Change',
14
+ free: 'Free',
12
15
  back_to_tickets: 'Back to tickets',
13
16
  unselected: 'Unselected',
14
17
  go_home: 'Go to homepage',
15
18
  apple_wallet: 'Download to Apple Wallet',
16
19
  google_wallet: 'Download to Google Wallet',
20
+ more_info: 'More information',
17
21
  shipping_method: {
18
22
  types: {
19
23
  PACKETA: 'Packeta',
@@ -41,6 +45,7 @@ const en = {
41
45
  with_fee: 'incl. service fee',
42
46
  service_fee: 'Service fee',
43
47
  shipping_fee: 'Shipping',
48
+ ticket_insurance: 'Ticket insurance',
44
49
  price_including_service_fee: 'The price includes a service fee of {{fee}}.',
45
50
  price_including_service_fee_percentage:
46
51
  'The price includes a service fee of {{percentage}} of the total amount.',
@@ -48,6 +53,12 @@ const en = {
48
53
  original_price: 'Original price',
49
54
  ticket: 'Ticket',
50
55
  category: 'Category',
56
+ sms_notification: 'SMS notification',
57
+ open_map: 'Open map',
58
+ payment_overview_open: 'Open payment overview',
59
+ payment_overview_close: 'Close payment overview',
60
+ ticket_quantity_decrease: 'Decrease ticket quantity',
61
+ ticket_quantity_increase: 'Increase ticket quantity',
51
62
  },
52
63
  validation: {
53
64
  required: 'This field is required.',
@@ -56,6 +67,9 @@ const en = {
56
67
  invalid_date: 'Date is not valid.',
57
68
  terms_and_conditions: 'You must agree to the terms and conditions.',
58
69
  promo_code_invalid: 'Promo code is not valid.',
70
+ promo_code_applied: 'This promo code has already been applied.',
71
+ promo_code_cant_combine: 'This promo code cannot be combined with other codes.',
72
+ min_purchase_not_met: 'Minimum purchase amount not met: ',
59
73
  count_tickets_or_products: 'You must select at least 1 ticket or product.',
60
74
  },
61
75
  },
@@ -97,9 +111,43 @@ const en = {
97
111
  7: {
98
112
  title: 'Associated events',
99
113
  },
114
+ 8: {
115
+ title: 'Additional services',
116
+ additional_info: 'More information about services',
117
+ },
100
118
  },
101
119
  terms_and_conditions:
102
- 'By submitting the order, I agree to the <0>Terms and Conditions</0> of {{termsAndConditionsCompanies}} and acknowledge the <1>Privacy Policy</1>.',
120
+ 'I agree with the <0>Terms and Conditions</0> {{termsAndConditionsCompanies}} and the <1>Privacy Policy</1>.',
121
+ insurance: {
122
+ label: 'Ticket insurance',
123
+ per_ticket: 'pc',
124
+ modal: {
125
+ title: 'Ticket Insurance',
126
+ description:
127
+ 'Ticket insurance provides you with protection in case you cannot attend the event due to illness, injury, or other unforeseen circumstances.',
128
+ coverage:
129
+ 'Insurance covers: illness, injury, sudden hospitalization, quarantine, or other unforeseen events that prevent you from attending the event.',
130
+ price: 'Insurance price',
131
+ },
132
+ },
133
+ sms_notification: {
134
+ label: 'SMS event reminder',
135
+ modal: {
136
+ description:
137
+ "Event reminder the day before: SMS will notify you about the upcoming event so you don't forget and have time to prepare.",
138
+ price: 'SMS event reminder price',
139
+ },
140
+ },
141
+ merchandise: {
142
+ show_sizes: 'Show sizes',
143
+ show_added: 'Show added',
144
+ },
145
+ services: {
146
+ add_tickets_first: 'Please add tickets first',
147
+ },
148
+ shipping: {
149
+ choose_address: 'Choose address',
150
+ },
103
151
  order_success: {
104
152
  title: 'Tickets have been successfully reserved. Now you just need to pay.',
105
153
  description:
@@ -134,6 +182,8 @@ const en = {
134
182
  components: {
135
183
  product_variant_dialog: {
136
184
  select_variant: 'You must select a product variant',
185
+ decrease_quantity: 'Decrease product variant quantity',
186
+ increase_quantity: 'Increase product variant quantity',
137
187
  },
138
188
  },
139
189
  };
@@ -7,13 +7,17 @@ const es = {
7
7
  add: 'Añadir',
8
8
  confirm: 'Confirmar',
9
9
  cancel: 'Cancelar',
10
+ close: 'Cerrar',
11
+ remove: 'Eliminar',
10
12
  pay: 'Pagar',
11
13
  change: 'Cambiar',
14
+ free: 'Gratis',
12
15
  back_to_tickets: 'Volver a las entradas',
13
16
  unselected: 'No seleccionado',
14
17
  go_home: 'Ir a la página principal',
15
18
  apple_wallet: 'Descargar en Apple Wallet',
16
19
  google_wallet: 'Descargar en Google Wallet',
20
+ more_info: 'Más información',
17
21
  shipping_method: {
18
22
  types: {
19
23
  PACKETA: 'Packeta',
@@ -41,6 +45,7 @@ const es = {
41
45
  with_fee: 'incl. tarifa de servicio',
42
46
  service_fee: 'Tarifa de servicio',
43
47
  shipping_fee: 'Envío',
48
+ ticket_insurance: 'Seguro de entrada',
44
49
  price_including_service_fee: 'El precio incluye una tarifa de servicio de {{fee}}.',
45
50
  price_including_service_fee_percentage:
46
51
  'El precio incluye una tarifa de servicio del {{percentage}} del importe total.',
@@ -48,6 +53,12 @@ const es = {
48
53
  original_price: 'Precio original',
49
54
  ticket: 'Entrada',
50
55
  category: 'Categoría',
56
+ sms_notification: 'Notificación SMS',
57
+ open_map: 'Abrir mapa',
58
+ payment_overview_open: 'Abrir resumen de pago',
59
+ payment_overview_close: 'Cerrar resumen de pago',
60
+ ticket_quantity_decrease: 'Disminuir cantidad de entradas',
61
+ ticket_quantity_increase: 'Aumentar cantidad de entradas',
51
62
  },
52
63
  validation: {
53
64
  required: 'Este campo es obligatorio.',
@@ -56,6 +67,9 @@ const es = {
56
67
  invalid_date: 'La fecha no es válida.',
57
68
  terms_and_conditions: 'Debes aceptar los términos y condiciones.',
58
69
  promo_code_invalid: 'El código promocional no es válido.',
70
+ promo_code_applied: 'Este código promocional ya ha sido aplicado.',
71
+ promo_code_cant_combine: 'Este código promocional no se puede combinar con otros códigos.',
72
+ min_purchase_not_met: 'No se alcanzó el monto mínimo de compra: ',
59
73
  count_tickets_or_products: 'Debes seleccionar al menos 1 entrada o producto.',
60
74
  },
61
75
  },
@@ -97,9 +111,43 @@ const es = {
97
111
  7: {
98
112
  title: 'Eventos asociados',
99
113
  },
114
+ 8: {
115
+ title: 'Servicios adicionales',
116
+ additional_info: 'Más información sobre los servicios',
117
+ },
100
118
  },
101
119
  terms_and_conditions:
102
- 'Al enviar el pedido, acepto los <0>Términos y Condiciones</0> de {{termsAndConditionsCompanies}} y reconozco la <1>Política de Privacidad</1>.',
120
+ 'Estoy de acuerdo con los <0>Términos y Condiciones</0> de {{termsAndConditionsCompanies}} y la <1>Política de Privacidad</1>.',
121
+ insurance: {
122
+ label: 'Seguro de entrada',
123
+ per_ticket: 'pc',
124
+ modal: {
125
+ title: 'Seguro de entrada',
126
+ description:
127
+ 'El seguro de entradas te ofrece protección en caso de que no puedas asistir al evento debido a enfermedad, lesión u otras circunstancias imprevistas.',
128
+ coverage:
129
+ 'El seguro cubre: enfermedad, lesión, hospitalización repentina, cuarentena u otros acontecimientos imprevistos que te impidan asistir al evento.',
130
+ price: 'Precio del seguro',
131
+ },
132
+ },
133
+ sms_notification: {
134
+ label: 'Recordatorio del evento por SMS',
135
+ modal: {
136
+ description:
137
+ 'Recordatorio del evento el día anterior: el SMS te avisará sobre el evento próximo para que no lo olvides y tengas tiempo de prepararte.',
138
+ price: 'Precio del recordatorio por SMS del evento',
139
+ },
140
+ },
141
+ merchandise: {
142
+ show_sizes: 'Mostrar tallas',
143
+ show_added: 'Mostrar añadidos',
144
+ },
145
+ services: {
146
+ add_tickets_first: 'Por favor, agregue entradas primero',
147
+ },
148
+ shipping: {
149
+ choose_address: 'Elegir dirección',
150
+ },
103
151
  order_success: {
104
152
  title: 'Las entradas han sido reservadas con éxito. Ahora solo tienes que pagar.',
105
153
  description:
@@ -135,6 +183,8 @@ const es = {
135
183
  components: {
136
184
  product_variant_dialog: {
137
185
  select_variant: 'Debes seleccionar una variante de producto',
186
+ decrease_quantity: 'Disminuir cantidad de variante de producto',
187
+ increase_quantity: 'Aumentar cantidad de variante de producto',
138
188
  },
139
189
  },
140
190
  };