@coras-io/embed 0.1.0

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 (1101) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/LICENSE +201 -0
  3. package/NOTICE +8 -0
  4. package/README.md +51 -0
  5. package/dist/components/accordion/accordion-item/accordion-item.component.d.ts +9 -0
  6. package/dist/components/accordion/accordion-item/accordion-item.component.js +44 -0
  7. package/dist/components/accordion/accordion-item/accordion-item.d.ts +8 -0
  8. package/dist/components/accordion/accordion-item/accordion-item.js +6 -0
  9. package/dist/components/accordion/accordion-item/accordion-item.styles.d.ts +2 -0
  10. package/dist/components/accordion/accordion-item/accordion-item.styles.js +62 -0
  11. package/dist/components/accordion/accordion.component.d.ts +8 -0
  12. package/dist/components/accordion/accordion.component.js +31 -0
  13. package/dist/components/accordion/accordion.d.ts +8 -0
  14. package/dist/components/accordion/accordion.js +6 -0
  15. package/dist/components/accordion/accordion.styles.d.ts +2 -0
  16. package/dist/components/accordion/accordion.styles.js +13 -0
  17. package/dist/components/alert/alert.component.d.ts +11 -0
  18. package/dist/components/alert/alert.component.js +59 -0
  19. package/dist/components/alert/alert.d.ts +8 -0
  20. package/dist/components/alert/alert.js +6 -0
  21. package/dist/components/alert/alert.styles.d.ts +2 -0
  22. package/dist/components/alert/alert.styles.js +158 -0
  23. package/dist/components/alert/alert.types.d.ts +1 -0
  24. package/dist/components/alert/alert.types.js +1 -0
  25. package/dist/components/attraction-card/base/attraction-card.mixin.d.ts +8 -0
  26. package/dist/components/attraction-card/base/attraction-card.mixin.js +109 -0
  27. package/dist/components/attraction-card/base/attraction-card.styles.d.ts +2 -0
  28. package/dist/components/attraction-card/base/attraction-card.styles.js +94 -0
  29. package/dist/components/attraction-card/base/attraction-card.types.d.ts +24 -0
  30. package/dist/components/attraction-card/base/attraction-card.types.js +1 -0
  31. package/dist/components/attraction-card/long/attraction-long-card.component.d.ts +10 -0
  32. package/dist/components/attraction-card/long/attraction-long-card.component.js +78 -0
  33. package/dist/components/attraction-card/long/attraction-long-card.d.ts +8 -0
  34. package/dist/components/attraction-card/long/attraction-long-card.js +6 -0
  35. package/dist/components/attraction-card/long/attraction-long-card.styles.d.ts +2 -0
  36. package/dist/components/attraction-card/long/attraction-long-card.styles.js +127 -0
  37. package/dist/components/attraction-card/short/attraction-short-card.component.d.ts +10 -0
  38. package/dist/components/attraction-card/short/attraction-short-card.component.js +75 -0
  39. package/dist/components/attraction-card/short/attraction-short-card.d.ts +8 -0
  40. package/dist/components/attraction-card/short/attraction-short-card.js +6 -0
  41. package/dist/components/attraction-card/short/attraction-short-card.styles.d.ts +2 -0
  42. package/dist/components/attraction-card/short/attraction-short-card.styles.js +66 -0
  43. package/dist/components/attraction-discovery/attraction-discovery-image/attraction-discovery-image.component.d.ts +10 -0
  44. package/dist/components/attraction-discovery/attraction-discovery-image/attraction-discovery-image.component.js +43 -0
  45. package/dist/components/attraction-discovery/attraction-discovery-image/attraction-discovery-image.d.ts +8 -0
  46. package/dist/components/attraction-discovery/attraction-discovery-image/attraction-discovery-image.js +6 -0
  47. package/dist/components/attraction-discovery/attraction-discovery-image/attraction-discovery-image.styles.d.ts +2 -0
  48. package/dist/components/attraction-discovery/attraction-discovery-image/attraction-discovery-image.styles.js +23 -0
  49. package/dist/components/attraction-discovery/attraction-discovery.component.d.ts +10 -0
  50. package/dist/components/attraction-discovery/attraction-discovery.component.js +52 -0
  51. package/dist/components/attraction-discovery/attraction-discovery.constants.d.ts +4 -0
  52. package/dist/components/attraction-discovery/attraction-discovery.constants.js +5 -0
  53. package/dist/components/attraction-discovery/attraction-discovery.d.ts +8 -0
  54. package/dist/components/attraction-discovery/attraction-discovery.js +6 -0
  55. package/dist/components/attraction-discovery/attraction-discovery.styles.d.ts +2 -0
  56. package/dist/components/attraction-discovery/attraction-discovery.styles.js +193 -0
  57. package/dist/components/attraction-header/attraction-header.component.d.ts +31 -0
  58. package/dist/components/attraction-header/attraction-header.component.js +69 -0
  59. package/dist/components/attraction-header/attraction-header.d.ts +8 -0
  60. package/dist/components/attraction-header/attraction-header.js +6 -0
  61. package/dist/components/attraction-header/attraction-header.styles.d.ts +2 -0
  62. package/dist/components/attraction-header/attraction-header.styles.js +41 -0
  63. package/dist/components/attraction-header/attraction-header.utils.d.ts +20 -0
  64. package/dist/components/attraction-header/attraction-header.utils.js +37 -0
  65. package/dist/components/attraction-option/attraction-option.component.d.ts +11 -0
  66. package/dist/components/attraction-option/attraction-option.component.js +82 -0
  67. package/dist/components/attraction-option/attraction-option.d.ts +8 -0
  68. package/dist/components/attraction-option/attraction-option.js +6 -0
  69. package/dist/components/attraction-option/attraction-option.styles.d.ts +2 -0
  70. package/dist/components/attraction-option/attraction-option.styles.js +132 -0
  71. package/dist/components/basket/basket.component.d.ts +28 -0
  72. package/dist/components/basket/basket.component.js +162 -0
  73. package/dist/components/basket/basket.d.ts +8 -0
  74. package/dist/components/basket/basket.js +6 -0
  75. package/dist/components/basket/basket.styles.d.ts +2 -0
  76. package/dist/components/basket/basket.styles.js +196 -0
  77. package/dist/components/basket-empty/basket-empty.component.d.ts +5 -0
  78. package/dist/components/basket-empty/basket-empty.component.js +24 -0
  79. package/dist/components/basket-empty/basket-empty.d.ts +8 -0
  80. package/dist/components/basket-empty/basket-empty.js +6 -0
  81. package/dist/components/basket-empty/basket-empty.styles.d.ts +2 -0
  82. package/dist/components/basket-empty/basket-empty.styles.js +39 -0
  83. package/dist/components/basket-item/basket-item.component.d.ts +27 -0
  84. package/dist/components/basket-item/basket-item.component.js +153 -0
  85. package/dist/components/basket-item/basket-item.d.ts +8 -0
  86. package/dist/components/basket-item/basket-item.js +6 -0
  87. package/dist/components/basket-item/basket-item.styles.d.ts +2 -0
  88. package/dist/components/basket-item/basket-item.styles.js +178 -0
  89. package/dist/components/basket-item-ticket/basket-item-ticket.component.d.ts +9 -0
  90. package/dist/components/basket-item-ticket/basket-item-ticket.component.js +57 -0
  91. package/dist/components/basket-item-ticket/basket-item-ticket.d.ts +8 -0
  92. package/dist/components/basket-item-ticket/basket-item-ticket.js +6 -0
  93. package/dist/components/basket-item-ticket/basket-item-ticket.styles.d.ts +2 -0
  94. package/dist/components/basket-item-ticket/basket-item-ticket.styles.js +59 -0
  95. package/dist/components/basket-mobile/basket-mobile.component.d.ts +10 -0
  96. package/dist/components/basket-mobile/basket-mobile.component.js +59 -0
  97. package/dist/components/basket-mobile/basket-mobile.d.ts +8 -0
  98. package/dist/components/basket-mobile/basket-mobile.js +6 -0
  99. package/dist/components/basket-mobile/basket-mobile.styles.d.ts +2 -0
  100. package/dist/components/basket-mobile/basket-mobile.styles.js +71 -0
  101. package/dist/components/basket-rewards/basket-rewards.component.d.ts +10 -0
  102. package/dist/components/basket-rewards/basket-rewards.component.js +52 -0
  103. package/dist/components/basket-rewards/basket-rewards.d.ts +8 -0
  104. package/dist/components/basket-rewards/basket-rewards.js +6 -0
  105. package/dist/components/basket-rewards/basket-rewards.styles.d.ts +2 -0
  106. package/dist/components/basket-rewards/basket-rewards.styles.js +18 -0
  107. package/dist/components/better-carousel/better-carousel-item/better-carousel-item.component.d.ts +10 -0
  108. package/dist/components/better-carousel/better-carousel-item/better-carousel-item.component.js +17 -0
  109. package/dist/components/better-carousel/better-carousel-item/better-carousel-item.d.ts +8 -0
  110. package/dist/components/better-carousel/better-carousel-item/better-carousel-item.js +6 -0
  111. package/dist/components/better-carousel/better-carousel-item/better-carousel-item.styles.d.ts +2 -0
  112. package/dist/components/better-carousel/better-carousel-item/better-carousel-item.styles.js +16 -0
  113. package/dist/components/better-carousel/better-carousel.component.d.ts +94 -0
  114. package/dist/components/better-carousel/better-carousel.component.js +335 -0
  115. package/dist/components/better-carousel/better-carousel.d.ts +8 -0
  116. package/dist/components/better-carousel/better-carousel.js +6 -0
  117. package/dist/components/better-carousel/better-carousel.styles.d.ts +2 -0
  118. package/dist/components/better-carousel/better-carousel.styles.js +159 -0
  119. package/dist/components/bottom-drawer/bottom-drawer.component.d.ts +27 -0
  120. package/dist/components/bottom-drawer/bottom-drawer.component.js +210 -0
  121. package/dist/components/bottom-drawer/bottom-drawer.d.ts +8 -0
  122. package/dist/components/bottom-drawer/bottom-drawer.js +6 -0
  123. package/dist/components/bottom-drawer/bottom-drawer.styles.d.ts +2 -0
  124. package/dist/components/bottom-drawer/bottom-drawer.styles.js +88 -0
  125. package/dist/components/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +6 -0
  126. package/dist/components/breadcrumbs/breadcrumb-item/breadcrumb-item.component.js +35 -0
  127. package/dist/components/breadcrumbs/breadcrumb-item/breadcrumb-item.d.ts +8 -0
  128. package/dist/components/breadcrumbs/breadcrumb-item/breadcrumb-item.js +6 -0
  129. package/dist/components/breadcrumbs/breadcrumb-item/breadcrumb-item.styles.d.ts +2 -0
  130. package/dist/components/breadcrumbs/breadcrumb-item/breadcrumb-item.styles.js +48 -0
  131. package/dist/components/breadcrumbs/breadcrumbs.component.d.ts +6 -0
  132. package/dist/components/breadcrumbs/breadcrumbs.component.js +28 -0
  133. package/dist/components/breadcrumbs/breadcrumbs.d.ts +8 -0
  134. package/dist/components/breadcrumbs/breadcrumbs.js +6 -0
  135. package/dist/components/breadcrumbs/breadcrumbs.styles.d.ts +2 -0
  136. package/dist/components/breadcrumbs/breadcrumbs.styles.js +14 -0
  137. package/dist/components/button/button.component.d.ts +29 -0
  138. package/dist/components/button/button.component.js +156 -0
  139. package/dist/components/button/button.constants.d.ts +5 -0
  140. package/dist/components/button/button.constants.js +11 -0
  141. package/dist/components/button/button.d.ts +8 -0
  142. package/dist/components/button/button.js +6 -0
  143. package/dist/components/button/button.styles.d.ts +2 -0
  144. package/dist/components/button/button.styles.js +356 -0
  145. package/dist/components/calendar/base/calendar.mixin.d.ts +3 -0
  146. package/dist/components/calendar/base/calendar.mixin.js +231 -0
  147. package/dist/components/calendar/base/calendar.styles.d.ts +2 -0
  148. package/dist/components/calendar/base/calendar.styles.js +122 -0
  149. package/dist/components/calendar/base/calendar.types.d.ts +21 -0
  150. package/dist/components/calendar/base/calendar.types.js +1 -0
  151. package/dist/components/calendar/dual/dual.component.d.ts +11 -0
  152. package/dist/components/calendar/dual/dual.component.js +93 -0
  153. package/dist/components/calendar/dual/dual.d.ts +8 -0
  154. package/dist/components/calendar/dual/dual.js +6 -0
  155. package/dist/components/calendar/dual/dual.styles.d.ts +2 -0
  156. package/dist/components/calendar/dual/dual.styles.js +13 -0
  157. package/dist/components/calendar/month/month.component.d.ts +14 -0
  158. package/dist/components/calendar/month/month.component.js +83 -0
  159. package/dist/components/calendar/month/month.d.ts +8 -0
  160. package/dist/components/calendar/month/month.js +6 -0
  161. package/dist/components/calendar/month/month.styles.d.ts +2 -0
  162. package/dist/components/calendar/month/month.styles.js +5 -0
  163. package/dist/components/calendar/multi/multi.component.d.ts +9 -0
  164. package/dist/components/calendar/multi/multi.component.js +59 -0
  165. package/dist/components/calendar/multi/multi.d.ts +8 -0
  166. package/dist/components/calendar/multi/multi.js +6 -0
  167. package/dist/components/calendar/multi/multi.styles.d.ts +2 -0
  168. package/dist/components/calendar/multi/multi.styles.js +23 -0
  169. package/dist/components/carousel/carousel-item/carousel-item.component.d.ts +18 -0
  170. package/dist/components/carousel/carousel-item/carousel-item.component.js +84 -0
  171. package/dist/components/carousel/carousel-item/carousel-item.constants.d.ts +4 -0
  172. package/dist/components/carousel/carousel-item/carousel-item.constants.js +5 -0
  173. package/dist/components/carousel/carousel-item/carousel-item.d.ts +8 -0
  174. package/dist/components/carousel/carousel-item/carousel-item.js +6 -0
  175. package/dist/components/carousel/carousel-item/carousel-item.styles.d.ts +2 -0
  176. package/dist/components/carousel/carousel-item/carousel-item.styles.js +86 -0
  177. package/dist/components/carousel/carousel.component.d.ts +24 -0
  178. package/dist/components/carousel/carousel.component.js +132 -0
  179. package/dist/components/carousel/carousel.d.ts +8 -0
  180. package/dist/components/carousel/carousel.js +6 -0
  181. package/dist/components/carousel/carousel.styles.d.ts +2 -0
  182. package/dist/components/carousel/carousel.styles.js +72 -0
  183. package/dist/components/categories-tree/categories-tree.component.d.ts +15 -0
  184. package/dist/components/categories-tree/categories-tree.component.js +202 -0
  185. package/dist/components/categories-tree/categories-tree.d.ts +8 -0
  186. package/dist/components/categories-tree/categories-tree.js +6 -0
  187. package/dist/components/categories-tree/categories-tree.styles.d.ts +2 -0
  188. package/dist/components/categories-tree/categories-tree.styles.js +14 -0
  189. package/dist/components/category-tag/category-tag.component.d.ts +12 -0
  190. package/dist/components/category-tag/category-tag.component.js +78 -0
  191. package/dist/components/category-tag/category-tag.d.ts +8 -0
  192. package/dist/components/category-tag/category-tag.js +6 -0
  193. package/dist/components/category-tag/category-tag.styles.d.ts +2 -0
  194. package/dist/components/category-tag/category-tag.styles.js +99 -0
  195. package/dist/components/category-tag/category-tag.types.d.ts +8 -0
  196. package/dist/components/category-tag/category-tag.types.js +1 -0
  197. package/dist/components/checkbox/checkbox.component.d.ts +13 -0
  198. package/dist/components/checkbox/checkbox.component.js +68 -0
  199. package/dist/components/checkbox/checkbox.constants.d.ts +5 -0
  200. package/dist/components/checkbox/checkbox.constants.js +6 -0
  201. package/dist/components/checkbox/checkbox.d.ts +8 -0
  202. package/dist/components/checkbox/checkbox.js +6 -0
  203. package/dist/components/checkbox/checkbox.styles.d.ts +2 -0
  204. package/dist/components/checkbox/checkbox.styles.js +129 -0
  205. package/dist/components/checkbox-group/checkbox-group.component.d.ts +6 -0
  206. package/dist/components/checkbox-group/checkbox-group.component.js +14 -0
  207. package/dist/components/checkbox-group/checkbox-group.d.ts +8 -0
  208. package/dist/components/checkbox-group/checkbox-group.js +6 -0
  209. package/dist/components/checkbox-group/checkbox-group.styles.d.ts +2 -0
  210. package/dist/components/checkbox-group/checkbox-group.styles.js +40 -0
  211. package/dist/components/checkbox-group/checkbox-group.types.d.ts +12 -0
  212. package/dist/components/checkbox-group/checkbox-group.types.js +1 -0
  213. package/dist/components/chip/chip.component.d.ts +11 -0
  214. package/dist/components/chip/chip.component.js +53 -0
  215. package/dist/components/chip/chip.constants.d.ts +1 -0
  216. package/dist/components/chip/chip.constants.js +1 -0
  217. package/dist/components/chip/chip.d.ts +8 -0
  218. package/dist/components/chip/chip.js +6 -0
  219. package/dist/components/chip/chip.styles.d.ts +2 -0
  220. package/dist/components/chip/chip.styles.js +103 -0
  221. package/dist/components/collect-fida/collect-fida.component.d.ts +11 -0
  222. package/dist/components/collect-fida/collect-fida.component.js +75 -0
  223. package/dist/components/collect-fida/collect-fida.d.ts +8 -0
  224. package/dist/components/collect-fida/collect-fida.js +6 -0
  225. package/dist/components/collect-fida/collect-fida.styles.d.ts +2 -0
  226. package/dist/components/collect-fida/collect-fida.styles.js +95 -0
  227. package/dist/components/crypto-auth-modal/crypto-auth-modal.component.d.ts +162 -0
  228. package/dist/components/crypto-auth-modal/crypto-auth-modal.component.js +570 -0
  229. package/dist/components/crypto-auth-modal/crypto-auth-modal.d.ts +8 -0
  230. package/dist/components/crypto-auth-modal/crypto-auth-modal.js +6 -0
  231. package/dist/components/crypto-auth-modal/crypto-auth-modal.styles.d.ts +2 -0
  232. package/dist/components/crypto-auth-modal/crypto-auth-modal.styles.js +141 -0
  233. package/dist/components/currencies-list/currencies-list.component.d.ts +15 -0
  234. package/dist/components/currencies-list/currencies-list.component.js +50 -0
  235. package/dist/components/currencies-list/currencies-list.d.ts +8 -0
  236. package/dist/components/currencies-list/currencies-list.js +6 -0
  237. package/dist/components/currencies-list/currencies-list.styles.d.ts +2 -0
  238. package/dist/components/currencies-list/currencies-list.styles.js +5 -0
  239. package/dist/components/dialog/dialog.component.d.ts +69 -0
  240. package/dist/components/dialog/dialog.component.js +373 -0
  241. package/dist/components/dialog/dialog.d.ts +8 -0
  242. package/dist/components/dialog/dialog.js +6 -0
  243. package/dist/components/dialog/dialog.styles.d.ts +2 -0
  244. package/dist/components/dialog/dialog.styles.js +264 -0
  245. package/dist/components/drawer/drawer.component.d.ts +12 -0
  246. package/dist/components/drawer/drawer.component.js +89 -0
  247. package/dist/components/drawer/drawer.d.ts +8 -0
  248. package/dist/components/drawer/drawer.js +6 -0
  249. package/dist/components/drawer/drawer.styles.d.ts +2 -0
  250. package/dist/components/drawer/drawer.styles.js +129 -0
  251. package/dist/components/dropdown/dropdown.component.d.ts +25 -0
  252. package/dist/components/dropdown/dropdown.component.js +204 -0
  253. package/dist/components/dropdown/dropdown.d.ts +8 -0
  254. package/dist/components/dropdown/dropdown.js +6 -0
  255. package/dist/components/dropdown/dropdown.styles.d.ts +2 -0
  256. package/dist/components/dropdown/dropdown.styles.js +60 -0
  257. package/dist/components/expiration-timer/expiration-timer.component.d.ts +12 -0
  258. package/dist/components/expiration-timer/expiration-timer.component.js +52 -0
  259. package/dist/components/expiration-timer/expiration-timer.d.ts +8 -0
  260. package/dist/components/expiration-timer/expiration-timer.js +6 -0
  261. package/dist/components/expiration-timer/expiration-timer.styles.d.ts +2 -0
  262. package/dist/components/expiration-timer/expiration-timer.styles.js +37 -0
  263. package/dist/components/explore-card/explore-card.component.d.ts +11 -0
  264. package/dist/components/explore-card/explore-card.component.js +48 -0
  265. package/dist/components/explore-card/explore-card.constants.d.ts +4 -0
  266. package/dist/components/explore-card/explore-card.constants.js +5 -0
  267. package/dist/components/explore-card/explore-card.d.ts +8 -0
  268. package/dist/components/explore-card/explore-card.js +6 -0
  269. package/dist/components/explore-card/explore-card.styles.d.ts +2 -0
  270. package/dist/components/explore-card/explore-card.styles.js +71 -0
  271. package/dist/components/filter-chip/filter-chip.component.d.ts +12 -0
  272. package/dist/components/filter-chip/filter-chip.component.js +68 -0
  273. package/dist/components/filter-chip/filter-chip.constants.d.ts +2 -0
  274. package/dist/components/filter-chip/filter-chip.constants.js +2 -0
  275. package/dist/components/filter-chip/filter-chip.d.ts +8 -0
  276. package/dist/components/filter-chip/filter-chip.js +6 -0
  277. package/dist/components/filter-chip/filter-chip.styles.d.ts +2 -0
  278. package/dist/components/filter-chip/filter-chip.styles.js +160 -0
  279. package/dist/components/filters-drawer/filters-drawer.component.d.ts +9 -0
  280. package/dist/components/filters-drawer/filters-drawer.component.js +55 -0
  281. package/dist/components/filters-drawer/filters-drawer.d.ts +8 -0
  282. package/dist/components/filters-drawer/filters-drawer.js +6 -0
  283. package/dist/components/filters-drawer/filters-drawer.styles.d.ts +2 -0
  284. package/dist/components/filters-drawer/filters-drawer.styles.js +60 -0
  285. package/dist/components/flag-icon/flag-icon.component.d.ts +9 -0
  286. package/dist/components/flag-icon/flag-icon.component.js +45 -0
  287. package/dist/components/flag-icon/flag-icon.constants.d.ts +1 -0
  288. package/dist/components/flag-icon/flag-icon.constants.js +371 -0
  289. package/dist/components/flag-icon/flag-icon.d.ts +8 -0
  290. package/dist/components/flag-icon/flag-icon.js +6 -0
  291. package/dist/components/flag-icon/flag-icon.styles.d.ts +2 -0
  292. package/dist/components/flag-icon/flag-icon.styles.js +16 -0
  293. package/dist/components/footer-menu/footer-menu-item/footer-menu-item.component.d.ts +8 -0
  294. package/dist/components/footer-menu/footer-menu-item/footer-menu-item.component.js +40 -0
  295. package/dist/components/footer-menu/footer-menu-item/footer-menu-item.d.ts +8 -0
  296. package/dist/components/footer-menu/footer-menu-item/footer-menu-item.js +6 -0
  297. package/dist/components/footer-menu/footer-menu-item/footer-menu-item.styles.d.ts +2 -0
  298. package/dist/components/footer-menu/footer-menu-item/footer-menu-item.styles.js +55 -0
  299. package/dist/components/footer-menu/footer-menu.component.d.ts +5 -0
  300. package/dist/components/footer-menu/footer-menu.component.js +17 -0
  301. package/dist/components/footer-menu/footer-menu.d.ts +8 -0
  302. package/dist/components/footer-menu/footer-menu.js +6 -0
  303. package/dist/components/footer-menu/footer-menu.styles.d.ts +2 -0
  304. package/dist/components/footer-menu/footer-menu.styles.js +47 -0
  305. package/dist/components/icon/icon.component.d.ts +14 -0
  306. package/dist/components/icon/icon.component.js +104 -0
  307. package/dist/components/icon/icon.d.ts +8 -0
  308. package/dist/components/icon/icon.js +6 -0
  309. package/dist/components/icon/icon.styles.d.ts +2 -0
  310. package/dist/components/icon/icon.styles.js +43 -0
  311. package/dist/components/icon/icon.types.d.ts +2 -0
  312. package/dist/components/icon/icon.types.js +1 -0
  313. package/dist/components/icon-list/icon-list-item/icon-list-item.component.d.ts +8 -0
  314. package/dist/components/icon-list/icon-list-item/icon-list-item.component.js +42 -0
  315. package/dist/components/icon-list/icon-list-item/icon-list-item.d.ts +8 -0
  316. package/dist/components/icon-list/icon-list-item/icon-list-item.js +6 -0
  317. package/dist/components/icon-list/icon-list-item/icon-list-item.styles.d.ts +2 -0
  318. package/dist/components/icon-list/icon-list-item/icon-list-item.styles.js +23 -0
  319. package/dist/components/icon-list/icon-list.component.d.ts +5 -0
  320. package/dist/components/icon-list/icon-list.component.js +12 -0
  321. package/dist/components/icon-list/icon-list.d.ts +8 -0
  322. package/dist/components/icon-list/icon-list.js +6 -0
  323. package/dist/components/icon-list/icon-list.styles.d.ts +2 -0
  324. package/dist/components/icon-list/icon-list.styles.js +15 -0
  325. package/dist/components/image/image.component.d.ts +83 -0
  326. package/dist/components/image/image.component.js +301 -0
  327. package/dist/components/image/image.d.ts +8 -0
  328. package/dist/components/image/image.js +6 -0
  329. package/dist/components/image/image.styles.d.ts +2 -0
  330. package/dist/components/image/image.styles.js +88 -0
  331. package/dist/components/image-carousel/image-carousel-item/image-carousel-item.component.d.ts +10 -0
  332. package/dist/components/image-carousel/image-carousel-item/image-carousel-item.component.js +43 -0
  333. package/dist/components/image-carousel/image-carousel-item/image-carousel-item.d.ts +8 -0
  334. package/dist/components/image-carousel/image-carousel-item/image-carousel-item.js +6 -0
  335. package/dist/components/image-carousel/image-carousel-item/image-carousel-item.styles.d.ts +2 -0
  336. package/dist/components/image-carousel/image-carousel-item/image-carousel-item.styles.js +28 -0
  337. package/dist/components/image-carousel/image-carousel.component.d.ts +8 -0
  338. package/dist/components/image-carousel/image-carousel.component.js +36 -0
  339. package/dist/components/image-carousel/image-carousel.d.ts +8 -0
  340. package/dist/components/image-carousel/image-carousel.js +6 -0
  341. package/dist/components/image-carousel/image-carousel.styles.d.ts +2 -0
  342. package/dist/components/image-carousel/image-carousel.styles.js +72 -0
  343. package/dist/components/image-chip/image-chip.component.d.ts +8 -0
  344. package/dist/components/image-chip/image-chip.component.js +33 -0
  345. package/dist/components/image-chip/image-chip.d.ts +8 -0
  346. package/dist/components/image-chip/image-chip.js +6 -0
  347. package/dist/components/image-chip/image-chip.styles.d.ts +2 -0
  348. package/dist/components/image-chip/image-chip.styles.js +43 -0
  349. package/dist/components/image-viewer/image-viewer.component.d.ts +49 -0
  350. package/dist/components/image-viewer/image-viewer.component.js +193 -0
  351. package/dist/components/image-viewer/image-viewer.d.ts +8 -0
  352. package/dist/components/image-viewer/image-viewer.js +6 -0
  353. package/dist/components/image-viewer/image-viewer.styles.d.ts +2 -0
  354. package/dist/components/image-viewer/image-viewer.styles.js +146 -0
  355. package/dist/components/input-field/input-field.component.d.ts +54 -0
  356. package/dist/components/input-field/input-field.component.js +331 -0
  357. package/dist/components/input-field/input-field.d.ts +8 -0
  358. package/dist/components/input-field/input-field.js +6 -0
  359. package/dist/components/input-field/input-field.styles.d.ts +2 -0
  360. package/dist/components/input-field/input-field.styles.js +274 -0
  361. package/dist/components/itinerary/itinerary-item/itinerary-item.component.d.ts +9 -0
  362. package/dist/components/itinerary/itinerary-item/itinerary-item.component.js +45 -0
  363. package/dist/components/itinerary/itinerary-item/itinerary-item.d.ts +8 -0
  364. package/dist/components/itinerary/itinerary-item/itinerary-item.js +6 -0
  365. package/dist/components/itinerary/itinerary-item/itinerary-item.styles.d.ts +2 -0
  366. package/dist/components/itinerary/itinerary-item/itinerary-item.styles.js +70 -0
  367. package/dist/components/itinerary/itinerary.component.d.ts +7 -0
  368. package/dist/components/itinerary/itinerary.component.js +23 -0
  369. package/dist/components/itinerary/itinerary.d.ts +8 -0
  370. package/dist/components/itinerary/itinerary.js +6 -0
  371. package/dist/components/itinerary/itinerary.styles.d.ts +2 -0
  372. package/dist/components/itinerary/itinerary.styles.js +15 -0
  373. package/dist/components/joined-fields/joined-fields.component.d.ts +16 -0
  374. package/dist/components/joined-fields/joined-fields.component.js +93 -0
  375. package/dist/components/joined-fields/joined-fields.d.ts +8 -0
  376. package/dist/components/joined-fields/joined-fields.js +6 -0
  377. package/dist/components/joined-fields/joined-fields.styles.d.ts +2 -0
  378. package/dist/components/joined-fields/joined-fields.styles.js +101 -0
  379. package/dist/components/layout/layout.component.d.ts +10 -0
  380. package/dist/components/layout/layout.component.js +34 -0
  381. package/dist/components/layout/layout.d.ts +8 -0
  382. package/dist/components/layout/layout.js +6 -0
  383. package/dist/components/layout/layout.styles.d.ts +2 -0
  384. package/dist/components/layout/layout.styles.js +31 -0
  385. package/dist/components/list/list-item/list-item.component.d.ts +9 -0
  386. package/dist/components/list/list-item/list-item.component.js +30 -0
  387. package/dist/components/list/list-item/list-item.d.ts +8 -0
  388. package/dist/components/list/list-item/list-item.js +6 -0
  389. package/dist/components/list/list-item/list-item.styles.d.ts +2 -0
  390. package/dist/components/list/list-item/list-item.styles.js +34 -0
  391. package/dist/components/list/list.component.d.ts +6 -0
  392. package/dist/components/list/list.component.js +25 -0
  393. package/dist/components/list/list.d.ts +8 -0
  394. package/dist/components/list/list.js +6 -0
  395. package/dist/components/list/list.styles.d.ts +2 -0
  396. package/dist/components/list/list.styles.js +24 -0
  397. package/dist/components/loading-spinner/loading-spinner.component.d.ts +7 -0
  398. package/dist/components/loading-spinner/loading-spinner.component.js +22 -0
  399. package/dist/components/loading-spinner/loading-spinner.d.ts +8 -0
  400. package/dist/components/loading-spinner/loading-spinner.js +6 -0
  401. package/dist/components/loading-spinner/loading-spinner.styles.d.ts +2 -0
  402. package/dist/components/loading-spinner/loading-spinner.styles.js +47 -0
  403. package/dist/components/loading-spinner/loading-spinner.types.d.ts +1 -0
  404. package/dist/components/loading-spinner/loading-spinner.types.js +1 -0
  405. package/dist/components/locales-list/locales-list.component.d.ts +17 -0
  406. package/dist/components/locales-list/locales-list.component.js +55 -0
  407. package/dist/components/locales-list/locales-list.constants.d.ts +2 -0
  408. package/dist/components/locales-list/locales-list.constants.js +370 -0
  409. package/dist/components/locales-list/locales-list.d.ts +8 -0
  410. package/dist/components/locales-list/locales-list.js +6 -0
  411. package/dist/components/locales-list/locales-list.styles.d.ts +2 -0
  412. package/dist/components/locales-list/locales-list.styles.js +5 -0
  413. package/dist/components/location-image/location-image.component.d.ts +29 -0
  414. package/dist/components/location-image/location-image.component.js +135 -0
  415. package/dist/components/location-image/location-image.d.ts +8 -0
  416. package/dist/components/location-image/location-image.js +6 -0
  417. package/dist/components/location-image/location-image.styles.d.ts +2 -0
  418. package/dist/components/location-image/location-image.styles.js +49 -0
  419. package/dist/components/locations-results/locations-results.component.d.ts +21 -0
  420. package/dist/components/locations-results/locations-results.component.js +83 -0
  421. package/dist/components/locations-results/locations-results.d.ts +8 -0
  422. package/dist/components/locations-results/locations-results.js +6 -0
  423. package/dist/components/locations-results/locations-results.styles.d.ts +2 -0
  424. package/dist/components/locations-results/locations-results.styles.js +64 -0
  425. package/dist/components/marketing-tag/marketing-tag.component.d.ts +5 -0
  426. package/dist/components/marketing-tag/marketing-tag.component.js +8 -0
  427. package/dist/components/marketing-tag/marketing-tag.d.ts +8 -0
  428. package/dist/components/marketing-tag/marketing-tag.js +6 -0
  429. package/dist/components/marketing-tag/marketing-tag.styles.d.ts +2 -0
  430. package/dist/components/marketing-tag/marketing-tag.styles.js +36 -0
  431. package/dist/components/message-card/message-card.component.d.ts +12 -0
  432. package/dist/components/message-card/message-card.component.js +56 -0
  433. package/dist/components/message-card/message-card.d.ts +8 -0
  434. package/dist/components/message-card/message-card.js +6 -0
  435. package/dist/components/message-card/message-card.styles.d.ts +2 -0
  436. package/dist/components/message-card/message-card.styles.js +72 -0
  437. package/dist/components/message-card/message-card.types.d.ts +1 -0
  438. package/dist/components/message-card/message-card.types.js +1 -0
  439. package/dist/components/mobile-menu-item/mobile-menu-item.component.d.ts +9 -0
  440. package/dist/components/mobile-menu-item/mobile-menu-item.component.js +43 -0
  441. package/dist/components/mobile-menu-item/mobile-menu-item.d.ts +8 -0
  442. package/dist/components/mobile-menu-item/mobile-menu-item.js +6 -0
  443. package/dist/components/mobile-menu-item/mobile-menu-item.styles.d.ts +2 -0
  444. package/dist/components/mobile-menu-item/mobile-menu-item.styles.js +46 -0
  445. package/dist/components/option-group/option-chip/option-chip.component.d.ts +7 -0
  446. package/dist/components/option-group/option-chip/option-chip.component.js +35 -0
  447. package/dist/components/option-group/option-chip/option-chip.d.ts +8 -0
  448. package/dist/components/option-group/option-chip/option-chip.js +6 -0
  449. package/dist/components/option-group/option-chip/option-chip.styles.d.ts +2 -0
  450. package/dist/components/option-group/option-chip/option-chip.styles.js +45 -0
  451. package/dist/components/option-group/option-group.component.d.ts +6 -0
  452. package/dist/components/option-group/option-group.component.js +31 -0
  453. package/dist/components/option-group/option-group.d.ts +8 -0
  454. package/dist/components/option-group/option-group.js +6 -0
  455. package/dist/components/option-group/option-group.styles.d.ts +2 -0
  456. package/dist/components/option-group/option-group.styles.js +30 -0
  457. package/dist/components/order-confirmation/order-confirmation-item/order-confirmation-item.component.d.ts +11 -0
  458. package/dist/components/order-confirmation/order-confirmation-item/order-confirmation-item.component.js +81 -0
  459. package/dist/components/order-confirmation/order-confirmation-item/order-confirmation-item.d.ts +8 -0
  460. package/dist/components/order-confirmation/order-confirmation-item/order-confirmation-item.js +6 -0
  461. package/dist/components/order-confirmation/order-confirmation-item/order-confirmation-item.styles.d.ts +2 -0
  462. package/dist/components/order-confirmation/order-confirmation-item/order-confirmation-item.styles.js +107 -0
  463. package/dist/components/order-confirmation/order-confirmation.component.d.ts +12 -0
  464. package/dist/components/order-confirmation/order-confirmation.component.js +72 -0
  465. package/dist/components/order-confirmation/order-confirmation.d.ts +8 -0
  466. package/dist/components/order-confirmation/order-confirmation.js +6 -0
  467. package/dist/components/order-confirmation/order-confirmation.styles.d.ts +2 -0
  468. package/dist/components/order-confirmation/order-confirmation.styles.js +102 -0
  469. package/dist/components/otp/otp.component.d.ts +24 -0
  470. package/dist/components/otp/otp.component.js +148 -0
  471. package/dist/components/otp/otp.d.ts +8 -0
  472. package/dist/components/otp/otp.js +6 -0
  473. package/dist/components/otp/otp.styles.d.ts +2 -0
  474. package/dist/components/otp/otp.styles.js +87 -0
  475. package/dist/components/otp/otp.utils.d.ts +9 -0
  476. package/dist/components/otp/otp.utils.js +26 -0
  477. package/dist/components/overlay/overlay.component.d.ts +13 -0
  478. package/dist/components/overlay/overlay.component.js +52 -0
  479. package/dist/components/overlay/overlay.d.ts +8 -0
  480. package/dist/components/overlay/overlay.js +6 -0
  481. package/dist/components/overlay/overlay.styles.d.ts +2 -0
  482. package/dist/components/overlay/overlay.styles.js +39 -0
  483. package/dist/components/pay-in/pay-in.component.d.ts +10 -0
  484. package/dist/components/pay-in/pay-in.component.js +52 -0
  485. package/dist/components/pay-in/pay-in.d.ts +8 -0
  486. package/dist/components/pay-in/pay-in.js +6 -0
  487. package/dist/components/pay-in/pay-in.styles.d.ts +2 -0
  488. package/dist/components/pay-in/pay-in.styles.js +58 -0
  489. package/dist/components/payment-fiat-method/payment-fiat-method.component.d.ts +16 -0
  490. package/dist/components/payment-fiat-method/payment-fiat-method.component.js +63 -0
  491. package/dist/components/payment-fiat-method/payment-fiat-method.d.ts +8 -0
  492. package/dist/components/payment-fiat-method/payment-fiat-method.js +6 -0
  493. package/dist/components/payment-fiat-method/payment-fiat-method.styles.d.ts +2 -0
  494. package/dist/components/payment-fiat-method/payment-fiat-method.styles.js +38 -0
  495. package/dist/components/payment-option/payment-option.component.d.ts +38 -0
  496. package/dist/components/payment-option/payment-option.component.js +131 -0
  497. package/dist/components/payment-option/payment-option.d.ts +8 -0
  498. package/dist/components/payment-option/payment-option.js +6 -0
  499. package/dist/components/payment-option/payment-option.styles.d.ts +2 -0
  500. package/dist/components/payment-option/payment-option.styles.js +206 -0
  501. package/dist/components/performance-time/performance-time.component.d.ts +9 -0
  502. package/dist/components/performance-time/performance-time.component.js +47 -0
  503. package/dist/components/performance-time/performance-time.d.ts +8 -0
  504. package/dist/components/performance-time/performance-time.js +6 -0
  505. package/dist/components/performance-time/performance-time.styles.d.ts +2 -0
  506. package/dist/components/performance-time/performance-time.styles.js +53 -0
  507. package/dist/components/phone-country-code/phone-country-code.component.d.ts +13 -0
  508. package/dist/components/phone-country-code/phone-country-code.component.js +53 -0
  509. package/dist/components/phone-country-code/phone-country-code.d.ts +8 -0
  510. package/dist/components/phone-country-code/phone-country-code.js +6 -0
  511. package/dist/components/phone-country-code/phone-country-code.styles.d.ts +2 -0
  512. package/dist/components/phone-country-code/phone-country-code.styles.js +44 -0
  513. package/dist/components/phone-country-codes/phone-country-codes.component.d.ts +11 -0
  514. package/dist/components/phone-country-codes/phone-country-codes.component.js +47 -0
  515. package/dist/components/phone-country-codes/phone-country-codes.d.ts +8 -0
  516. package/dist/components/phone-country-codes/phone-country-codes.js +6 -0
  517. package/dist/components/phone-country-codes/phone-country-codes.styles.d.ts +2 -0
  518. package/dist/components/phone-country-codes/phone-country-codes.styles.js +21 -0
  519. package/dist/components/phone-field/phone-field.component.d.ts +53 -0
  520. package/dist/components/phone-field/phone-field.component.js +200 -0
  521. package/dist/components/phone-field/phone-field.d.ts +9 -0
  522. package/dist/components/phone-field/phone-field.js +7 -0
  523. package/dist/components/phone-field/phone-field.styles.d.ts +2 -0
  524. package/dist/components/phone-field/phone-field.styles.js +41 -0
  525. package/dist/components/phone-field/phone-field.types.d.ts +5 -0
  526. package/dist/components/phone-field/phone-field.types.js +1 -0
  527. package/dist/components/phone-field/phone-field.utils.d.ts +2 -0
  528. package/dist/components/phone-field/phone-field.utils.js +7 -0
  529. package/dist/components/points/points.component.d.ts +9 -0
  530. package/dist/components/points/points.component.js +36 -0
  531. package/dist/components/points/points.d.ts +8 -0
  532. package/dist/components/points/points.js +6 -0
  533. package/dist/components/points/points.styles.d.ts +2 -0
  534. package/dist/components/points/points.styles.js +47 -0
  535. package/dist/components/price/price.component.d.ts +12 -0
  536. package/dist/components/price/price.component.js +38 -0
  537. package/dist/components/price/price.d.ts +8 -0
  538. package/dist/components/price/price.js +6 -0
  539. package/dist/components/reservation-preview/reservation-preview.component.d.ts +11 -0
  540. package/dist/components/reservation-preview/reservation-preview.component.js +84 -0
  541. package/dist/components/reservation-preview/reservation-preview.d.ts +8 -0
  542. package/dist/components/reservation-preview/reservation-preview.js +6 -0
  543. package/dist/components/reservation-preview/reservation-preview.styles.d.ts +2 -0
  544. package/dist/components/reservation-preview/reservation-preview.styles.js +190 -0
  545. package/dist/components/reservation-preview-item/reservation-preview-item.component.d.ts +7 -0
  546. package/dist/components/reservation-preview-item/reservation-preview-item.component.js +36 -0
  547. package/dist/components/reservation-preview-item/reservation-preview-item.d.ts +8 -0
  548. package/dist/components/reservation-preview-item/reservation-preview-item.js +6 -0
  549. package/dist/components/reservation-preview-item/reservation-preview-item.styles.d.ts +2 -0
  550. package/dist/components/reservation-preview-item/reservation-preview-item.styles.js +70 -0
  551. package/dist/components/reviews/review/review.component.d.ts +9 -0
  552. package/dist/components/reviews/review/review.component.js +41 -0
  553. package/dist/components/reviews/review/review.d.ts +8 -0
  554. package/dist/components/reviews/review/review.js +6 -0
  555. package/dist/components/reviews/review/review.styles.d.ts +2 -0
  556. package/dist/components/reviews/review/review.styles.js +45 -0
  557. package/dist/components/reviews/reviews.component.d.ts +9 -0
  558. package/dist/components/reviews/reviews.component.js +56 -0
  559. package/dist/components/reviews/reviews.d.ts +8 -0
  560. package/dist/components/reviews/reviews.js +6 -0
  561. package/dist/components/reviews/reviews.styles.d.ts +2 -0
  562. package/dist/components/reviews/reviews.styles.js +73 -0
  563. package/dist/components/search-button/search-button.component.d.ts +8 -0
  564. package/dist/components/search-button/search-button.component.js +37 -0
  565. package/dist/components/search-button/search-button.d.ts +8 -0
  566. package/dist/components/search-button/search-button.js +6 -0
  567. package/dist/components/search-button/search-button.styles.d.ts +2 -0
  568. package/dist/components/search-button/search-button.styles.js +61 -0
  569. package/dist/components/search-results-item/search-results-item.d.ts +13 -0
  570. package/dist/components/search-results-item/search-results-item.js +26 -0
  571. package/dist/components/seated-selector/seated-selector.component.d.ts +42 -0
  572. package/dist/components/seated-selector/seated-selector.component.js +321 -0
  573. package/dist/components/seated-selector/seated-selector.d.ts +8 -0
  574. package/dist/components/seated-selector/seated-selector.js +6 -0
  575. package/dist/components/seated-selector/seated-selector.styles.d.ts +2 -0
  576. package/dist/components/seated-selector/seated-selector.styles.js +84 -0
  577. package/dist/components/seats-io/seats-io.component.d.ts +27 -0
  578. package/dist/components/seats-io/seats-io.component.js +162 -0
  579. package/dist/components/seats-io/seats-io.constants.d.ts +12 -0
  580. package/dist/components/seats-io/seats-io.constants.js +23 -0
  581. package/dist/components/seats-io/seats-io.d.ts +8 -0
  582. package/dist/components/seats-io/seats-io.js +6 -0
  583. package/dist/components/seats-io/seats-io.styles.d.ts +2 -0
  584. package/dist/components/seats-io/seats-io.styles.js +15 -0
  585. package/dist/components/seats-io/seats-io.transform.d.ts +77 -0
  586. package/dist/components/seats-io/seats-io.transform.js +152 -0
  587. package/dist/components/select-list/select-list.component.d.ts +19 -0
  588. package/dist/components/select-list/select-list.component.js +160 -0
  589. package/dist/components/select-list/select-list.d.ts +8 -0
  590. package/dist/components/select-list/select-list.js +6 -0
  591. package/dist/components/select-list/select-list.styles.d.ts +2 -0
  592. package/dist/components/select-list/select-list.styles.js +46 -0
  593. package/dist/components/select-list/select-option/select-option.component.d.ts +7 -0
  594. package/dist/components/select-list/select-option/select-option.component.js +28 -0
  595. package/dist/components/select-list/select-option/select-option.d.ts +8 -0
  596. package/dist/components/select-list/select-option/select-option.js +6 -0
  597. package/dist/components/select-list/select-option/select-option.styles.d.ts +2 -0
  598. package/dist/components/select-list/select-option/select-option.styles.js +52 -0
  599. package/dist/components/selected-tickets-preview/selected-tickets-preview.component.d.ts +10 -0
  600. package/dist/components/selected-tickets-preview/selected-tickets-preview.component.js +51 -0
  601. package/dist/components/selected-tickets-preview/selected-tickets-preview.d.ts +8 -0
  602. package/dist/components/selected-tickets-preview/selected-tickets-preview.js +6 -0
  603. package/dist/components/selected-tickets-preview/selected-tickets-preview.styles.d.ts +2 -0
  604. package/dist/components/selected-tickets-preview/selected-tickets-preview.styles.js +89 -0
  605. package/dist/components/sort-dropdown/sort-dropdown.component.d.ts +14 -0
  606. package/dist/components/sort-dropdown/sort-dropdown.component.js +57 -0
  607. package/dist/components/sort-dropdown/sort-dropdown.d.ts +8 -0
  608. package/dist/components/sort-dropdown/sort-dropdown.js +6 -0
  609. package/dist/components/sort-dropdown/sort-dropdown.styles.d.ts +2 -0
  610. package/dist/components/sort-dropdown/sort-dropdown.styles.js +22 -0
  611. package/dist/components/sort-list/sort-list.component.d.ts +7 -0
  612. package/dist/components/sort-list/sort-list.component.js +25 -0
  613. package/dist/components/sort-list/sort-list.d.ts +8 -0
  614. package/dist/components/sort-list/sort-list.js +6 -0
  615. package/dist/components/sort-list/sort-list.styles.d.ts +2 -0
  616. package/dist/components/sort-list/sort-list.styles.js +17 -0
  617. package/dist/components/sport-options/sport-option/sport-option.component.d.ts +10 -0
  618. package/dist/components/sport-options/sport-option/sport-option.component.js +57 -0
  619. package/dist/components/sport-options/sport-option/sport-option.d.ts +8 -0
  620. package/dist/components/sport-options/sport-option/sport-option.js +6 -0
  621. package/dist/components/sport-options/sport-option/sport-option.styles.d.ts +2 -0
  622. package/dist/components/sport-options/sport-option/sport-option.styles.js +156 -0
  623. package/dist/components/sport-options/sport-options.component.d.ts +6 -0
  624. package/dist/components/sport-options/sport-options.component.js +27 -0
  625. package/dist/components/sport-options/sport-options.d.ts +8 -0
  626. package/dist/components/sport-options/sport-options.js +6 -0
  627. package/dist/components/sport-options/sport-options.styles.d.ts +2 -0
  628. package/dist/components/sport-options/sport-options.styles.js +33 -0
  629. package/dist/components/star-rating/star-rating.component.d.ts +15 -0
  630. package/dist/components/star-rating/star-rating.component.js +77 -0
  631. package/dist/components/star-rating/star-rating.d.ts +8 -0
  632. package/dist/components/star-rating/star-rating.js +6 -0
  633. package/dist/components/star-rating/star-rating.styles.d.ts +2 -0
  634. package/dist/components/star-rating/star-rating.styles.js +49 -0
  635. package/dist/components/tab/tab.component.d.ts +12 -0
  636. package/dist/components/tab/tab.component.js +52 -0
  637. package/dist/components/tab/tab.constants.d.ts +4 -0
  638. package/dist/components/tab/tab.constants.js +5 -0
  639. package/dist/components/tab/tab.d.ts +8 -0
  640. package/dist/components/tab/tab.js +6 -0
  641. package/dist/components/tab/tab.styles.d.ts +2 -0
  642. package/dist/components/tab/tab.styles.js +50 -0
  643. package/dist/components/tab-panel/tab-panel.component.d.ts +9 -0
  644. package/dist/components/tab-panel/tab-panel.component.js +35 -0
  645. package/dist/components/tab-panel/tab-panel.d.ts +8 -0
  646. package/dist/components/tab-panel/tab-panel.js +6 -0
  647. package/dist/components/tab-panel/tab-panel.styles.d.ts +2 -0
  648. package/dist/components/tab-panel/tab-panel.styles.js +23 -0
  649. package/dist/components/tabs/tabs.component.d.ts +19 -0
  650. package/dist/components/tabs/tabs.component.js +87 -0
  651. package/dist/components/tabs/tabs.d.ts +8 -0
  652. package/dist/components/tabs/tabs.js +6 -0
  653. package/dist/components/tabs/tabs.styles.d.ts +2 -0
  654. package/dist/components/tabs/tabs.styles.js +32 -0
  655. package/dist/components/tag/tag.component.d.ts +8 -0
  656. package/dist/components/tag/tag.component.js +33 -0
  657. package/dist/components/tag/tag.constants.d.ts +1 -0
  658. package/dist/components/tag/tag.constants.js +1 -0
  659. package/dist/components/tag/tag.d.ts +8 -0
  660. package/dist/components/tag/tag.js +6 -0
  661. package/dist/components/tag/tag.styles.d.ts +2 -0
  662. package/dist/components/tag/tag.styles.js +56 -0
  663. package/dist/components/text-section/text-section.component.d.ts +6 -0
  664. package/dist/components/text-section/text-section.component.js +31 -0
  665. package/dist/components/text-section/text-section.d.ts +8 -0
  666. package/dist/components/text-section/text-section.js +6 -0
  667. package/dist/components/text-section/text-section.styles.d.ts +2 -0
  668. package/dist/components/text-section/text-section.styles.js +94 -0
  669. package/dist/components/time-tag/time-tag.component.d.ts +14 -0
  670. package/dist/components/time-tag/time-tag.component.js +58 -0
  671. package/dist/components/time-tag/time-tag.d.ts +8 -0
  672. package/dist/components/time-tag/time-tag.js +6 -0
  673. package/dist/components/time-tag/time-tag.styles.d.ts +2 -0
  674. package/dist/components/time-tag/time-tag.styles.js +41 -0
  675. package/dist/components/tooltip/tooltip.component.d.ts +19 -0
  676. package/dist/components/tooltip/tooltip.component.js +124 -0
  677. package/dist/components/tooltip/tooltip.d.ts +8 -0
  678. package/dist/components/tooltip/tooltip.js +6 -0
  679. package/dist/components/tooltip/tooltip.styles.d.ts +2 -0
  680. package/dist/components/tooltip/tooltip.styles.js +79 -0
  681. package/dist/components/tour-ticket-type-selector/tour-ticket-counter-button/tour-ticket-counter-button.component.d.ts +9 -0
  682. package/dist/components/tour-ticket-type-selector/tour-ticket-counter-button/tour-ticket-counter-button.component.js +36 -0
  683. package/dist/components/tour-ticket-type-selector/tour-ticket-counter-button/tour-ticket-counter-button.d.ts +8 -0
  684. package/dist/components/tour-ticket-type-selector/tour-ticket-counter-button/tour-ticket-counter-button.js +6 -0
  685. package/dist/components/tour-ticket-type-selector/tour-ticket-counter-button/tour-ticket-counter-button.styles.d.ts +2 -0
  686. package/dist/components/tour-ticket-type-selector/tour-ticket-counter-button/tour-ticket-counter-button.styles.js +35 -0
  687. package/dist/components/tour-ticket-type-selector/tour-ticket-type/tour-ticket-type.component.d.ts +9 -0
  688. package/dist/components/tour-ticket-type-selector/tour-ticket-type/tour-ticket-type.component.js +47 -0
  689. package/dist/components/tour-ticket-type-selector/tour-ticket-type/tour-ticket-type.d.ts +8 -0
  690. package/dist/components/tour-ticket-type-selector/tour-ticket-type/tour-ticket-type.js +6 -0
  691. package/dist/components/tour-ticket-type-selector/tour-ticket-type/tour-ticket-type.styles.d.ts +2 -0
  692. package/dist/components/tour-ticket-type-selector/tour-ticket-type/tour-ticket-type.styles.js +78 -0
  693. package/dist/components/tour-ticket-type-selector/tour-ticket-type-selector.component.d.ts +13 -0
  694. package/dist/components/tour-ticket-type-selector/tour-ticket-type-selector.component.js +74 -0
  695. package/dist/components/tour-ticket-type-selector/tour-ticket-type-selector.d.ts +8 -0
  696. package/dist/components/tour-ticket-type-selector/tour-ticket-type-selector.js +6 -0
  697. package/dist/components/tour-ticket-type-selector/tour-ticket-type-selector.styles.d.ts +2 -0
  698. package/dist/components/tour-ticket-type-selector/tour-ticket-type-selector.styles.js +40 -0
  699. package/dist/components/transfer-modal/transfer-modal.component.d.ts +72 -0
  700. package/dist/components/transfer-modal/transfer-modal.component.js +297 -0
  701. package/dist/components/transfer-modal/transfer-modal.d.ts +8 -0
  702. package/dist/components/transfer-modal/transfer-modal.js +6 -0
  703. package/dist/components/transfer-modal/transfer-modal.styles.d.ts +2 -0
  704. package/dist/components/transfer-modal/transfer-modal.styles.js +141 -0
  705. package/dist/containers/basket/basket.component.d.ts +25 -0
  706. package/dist/containers/basket/basket.component.js +257 -0
  707. package/dist/containers/basket/basket.d.ts +8 -0
  708. package/dist/containers/basket/basket.js +6 -0
  709. package/dist/containers/footer/footer.component.d.ts +8 -0
  710. package/dist/containers/footer/footer.component.js +65 -0
  711. package/dist/containers/footer/footer.d.ts +8 -0
  712. package/dist/containers/footer/footer.js +6 -0
  713. package/dist/containers/footer/footer.styles.d.ts +2 -0
  714. package/dist/containers/footer/footer.styles.js +31 -0
  715. package/dist/containers/navbar/navbar.component.d.ts +102 -0
  716. package/dist/containers/navbar/navbar.component.js +727 -0
  717. package/dist/containers/navbar/navbar.d.ts +8 -0
  718. package/dist/containers/navbar/navbar.js +6 -0
  719. package/dist/containers/navbar/navbar.styles.d.ts +2 -0
  720. package/dist/containers/navbar/navbar.styles.js +257 -0
  721. package/dist/containers/navbar/navbar.utils.d.ts +12 -0
  722. package/dist/containers/navbar/navbar.utils.js +40 -0
  723. package/dist/contexts/basket/basket.context.d.ts +4 -0
  724. package/dist/contexts/basket/basket.context.js +2 -0
  725. package/dist/contexts/basket/basket.d.ts +8 -0
  726. package/dist/contexts/basket/basket.js +6 -0
  727. package/dist/contexts/basket/basket.provider.d.ts +30 -0
  728. package/dist/contexts/basket/basket.provider.js +218 -0
  729. package/dist/contexts/basket/basket.styles.d.ts +2 -0
  730. package/dist/contexts/basket/basket.styles.js +9 -0
  731. package/dist/contexts/basket/basket.types.d.ts +18 -0
  732. package/dist/contexts/basket/basket.types.js +1 -0
  733. package/dist/contexts/client.context.d.ts +5 -0
  734. package/dist/contexts/client.context.js +2 -0
  735. package/dist/contexts/current-page.context.d.ts +4 -0
  736. package/dist/contexts/current-page.context.js +2 -0
  737. package/dist/contexts/events.context.d.ts +33 -0
  738. package/dist/contexts/events.context.js +2 -0
  739. package/dist/contexts/pages.context.d.ts +25 -0
  740. package/dist/contexts/pages.context.js +1 -0
  741. package/dist/contexts/properties.context.d.ts +24 -0
  742. package/dist/contexts/properties.context.js +9 -0
  743. package/dist/contexts/types.d.ts +16 -0
  744. package/dist/contexts/types.js +1 -0
  745. package/dist/contexts/utils.d.ts +1 -0
  746. package/dist/contexts/utils.js +1 -0
  747. package/dist/controllers/time-expiration.d.ts +11 -0
  748. package/dist/controllers/time-expiration.js +31 -0
  749. package/dist/core/api/api-error.d.ts +20 -0
  750. package/dist/core/api/api-error.js +27 -0
  751. package/dist/core/api/middlewares/booking-session/booking-session.constants.d.ts +5 -0
  752. package/dist/core/api/middlewares/booking-session/booking-session.constants.js +5 -0
  753. package/dist/core/api/middlewares/booking-session/booking-session.d.ts +2 -0
  754. package/dist/core/api/middlewares/booking-session/booking-session.js +56 -0
  755. package/dist/core/api/middlewares/booking-session/booking-session.utils.d.ts +5 -0
  756. package/dist/core/api/middlewares/booking-session/booking-session.utils.js +70 -0
  757. package/dist/core/api/middlewares/error-handler/error-handler.d.ts +6 -0
  758. package/dist/core/api/middlewares/error-handler/error-handler.js +27 -0
  759. package/dist/core/api/queries.d.ts +74 -0
  760. package/dist/core/api/queries.js +120 -0
  761. package/dist/core/constants/api-version.d.ts +1 -0
  762. package/dist/core/constants/api-version.js +1 -0
  763. package/dist/core/currency/constants.d.ts +5 -0
  764. package/dist/core/currency/constants.js +101 -0
  765. package/dist/core/currency/index.d.ts +12 -0
  766. package/dist/core/currency/index.js +6 -0
  767. package/dist/core/events.d.ts +196 -0
  768. package/dist/core/events.js +46 -0
  769. package/dist/core/i18n/date.d.ts +7 -0
  770. package/dist/core/i18n/date.js +65 -0
  771. package/dist/core/i18n/locale-codes.d.ts +13 -0
  772. package/dist/core/i18n/locale-codes.js +52 -0
  773. package/dist/core/i18n/localization.d.ts +5 -0
  774. package/dist/core/i18n/localization.js +15 -0
  775. package/dist/core/images/constants.d.ts +7 -0
  776. package/dist/core/images/constants.js +7 -0
  777. package/dist/core/images/filters.d.ts +28 -0
  778. package/dist/core/images/filters.js +51 -0
  779. package/dist/core/images/helpers.d.ts +12 -0
  780. package/dist/core/images/helpers.js +14 -0
  781. package/dist/core/images/preset-adapter.d.ts +23 -0
  782. package/dist/core/images/preset-adapter.js +52 -0
  783. package/dist/core/images/selection.d.ts +45 -0
  784. package/dist/core/images/selection.js +125 -0
  785. package/dist/core/images/srcset.d.ts +28 -0
  786. package/dist/core/images/srcset.js +52 -0
  787. package/dist/core/images/url.d.ts +23 -0
  788. package/dist/core/images/url.js +40 -0
  789. package/dist/core/pages.d.ts +68 -0
  790. package/dist/core/pages.js +1 -0
  791. package/dist/core/signals.d.ts +2 -0
  792. package/dist/core/signals.js +3 -0
  793. package/dist/core/storybook/argTypes.d.ts +1 -0
  794. package/dist/core/storybook/argTypes.js +46 -0
  795. package/dist/core/storybook/cssprops.d.ts +30 -0
  796. package/dist/core/storybook/cssprops.js +46 -0
  797. package/dist/core/types/api-errors.d.ts +8 -0
  798. package/dist/core/types/api-errors.js +1 -0
  799. package/dist/core/types/basket.d.ts +18 -0
  800. package/dist/core/types/basket.js +1 -0
  801. package/dist/core/types/core/base.d.ts +11 -0
  802. package/dist/core/types/core/base.js +1 -0
  803. package/dist/core/types/core/category.d.ts +2 -0
  804. package/dist/core/types/core/category.js +1 -0
  805. package/dist/core/types/core/currency.d.ts +2 -0
  806. package/dist/core/types/core/currency.js +1 -0
  807. package/dist/core/types/core/index.d.ts +6 -0
  808. package/dist/core/types/core/index.js +1 -0
  809. package/dist/core/types/core/locale.d.ts +2 -0
  810. package/dist/core/types/core/locale.js +1 -0
  811. package/dist/core/types/core/points.d.ts +4 -0
  812. package/dist/core/types/core/points.js +1 -0
  813. package/dist/core/types/core/rating.d.ts +1 -0
  814. package/dist/core/types/core/rating.js +1 -0
  815. package/dist/core/types/core/sorting.d.ts +2 -0
  816. package/dist/core/types/core/sorting.js +1 -0
  817. package/dist/core/types/currencies.d.ts +2 -0
  818. package/dist/core/types/currencies.js +1 -0
  819. package/dist/core/types/index.d.ts +6 -0
  820. package/dist/core/types/index.js +1 -0
  821. package/dist/core/types/locales.d.ts +4 -0
  822. package/dist/core/types/locales.js +1 -0
  823. package/dist/core/types/seats-config.d.ts +13 -0
  824. package/dist/core/types/seats-config.js +9 -0
  825. package/dist/core/types/shared.d.ts +1 -0
  826. package/dist/core/types/shared.js +1 -0
  827. package/dist/core/utils/datetime.d.ts +77 -0
  828. package/dist/core/utils/datetime.js +153 -0
  829. package/dist/core/utils/function.d.ts +4 -0
  830. package/dist/core/utils/function.js +22 -0
  831. package/dist/core/utils/html.d.ts +28 -0
  832. package/dist/core/utils/html.js +78 -0
  833. package/dist/core/utils/locale.d.ts +3 -0
  834. package/dist/core/utils/locale.js +3 -0
  835. package/dist/core/utils/scroll-lock.d.ts +50 -0
  836. package/dist/core/utils/scroll-lock.js +121 -0
  837. package/dist/core/utils/text.d.ts +9 -0
  838. package/dist/core/utils/text.js +50 -0
  839. package/dist/core/utils/time.d.ts +2 -0
  840. package/dist/core/utils/time.js +10 -0
  841. package/dist/custom-elements.json +37289 -0
  842. package/dist/errors.d.ts +3 -0
  843. package/dist/errors.js +5 -0
  844. package/dist/helpers/helpers.d.ts +5 -0
  845. package/dist/helpers/helpers.js +31 -0
  846. package/dist/index.d.ts +9 -0
  847. package/dist/index.js +14 -0
  848. package/dist/locales/da-DK.d.ts +261 -0
  849. package/dist/locales/da-DK.js +273 -0
  850. package/dist/locales/de-DE.d.ts +261 -0
  851. package/dist/locales/de-DE.js +273 -0
  852. package/dist/locales/en-IE.d.ts +261 -0
  853. package/dist/locales/en-IE.js +273 -0
  854. package/dist/locales/en-US.d.ts +261 -0
  855. package/dist/locales/en-US.js +273 -0
  856. package/dist/locales/es-ES.d.ts +261 -0
  857. package/dist/locales/es-ES.js +273 -0
  858. package/dist/locales/fr-FR.d.ts +261 -0
  859. package/dist/locales/fr-FR.js +273 -0
  860. package/dist/locales/fr-MA.d.ts +261 -0
  861. package/dist/locales/fr-MA.js +273 -0
  862. package/dist/locales/is-IS.d.ts +261 -0
  863. package/dist/locales/is-IS.js +273 -0
  864. package/dist/locales/it-IT.d.ts +261 -0
  865. package/dist/locales/it-IT.js +273 -0
  866. package/dist/locales/ms-MY.d.ts +261 -0
  867. package/dist/locales/ms-MY.js +273 -0
  868. package/dist/locales/nb-NO.d.ts +261 -0
  869. package/dist/locales/nb-NO.js +273 -0
  870. package/dist/locales/pl-PL.d.ts +261 -0
  871. package/dist/locales/pl-PL.js +273 -0
  872. package/dist/locales/pt-PT.d.ts +261 -0
  873. package/dist/locales/pt-PT.js +273 -0
  874. package/dist/locales/sv-SE.d.ts +261 -0
  875. package/dist/locales/sv-SE.js +273 -0
  876. package/dist/locales/th-TH.d.ts +261 -0
  877. package/dist/locales/th-TH.js +273 -0
  878. package/dist/locales/tr-TR.d.ts +261 -0
  879. package/dist/locales/tr-TR.js +273 -0
  880. package/dist/locales/zh-CN.d.ts +261 -0
  881. package/dist/locales/zh-CN.js +273 -0
  882. package/dist/mixins/base.mixin.d.ts +22 -0
  883. package/dist/mixins/base.mixin.js +120 -0
  884. package/dist/mixins/coinbase.mixin.d.ts +70 -0
  885. package/dist/mixins/coinbase.mixin.js +979 -0
  886. package/dist/mixins/error-modal.mixin.d.ts +16 -0
  887. package/dist/mixins/error-modal.mixin.js +108 -0
  888. package/dist/mixins/error-modal.styles.d.ts +2 -0
  889. package/dist/mixins/error-modal.styles.js +81 -0
  890. package/dist/mixins/location-search/location-search.d.ts +7 -0
  891. package/dist/mixins/location-search/location-search.js +334 -0
  892. package/dist/mixins/location-search/location-search.styles.d.ts +2 -0
  893. package/dist/mixins/location-search/location-search.styles.js +80 -0
  894. package/dist/mixins/location-search/types.d.ts +10 -0
  895. package/dist/mixins/location-search/types.js +1 -0
  896. package/dist/mixins/overlay/overlay-mixin.d.ts +4 -0
  897. package/dist/mixins/overlay/overlay-mixin.js +86 -0
  898. package/dist/mixins/overlay/types.d.ts +8 -0
  899. package/dist/mixins/overlay/types.js +1 -0
  900. package/dist/mixins/points/points.d.ts +3 -0
  901. package/dist/mixins/points/points.js +30 -0
  902. package/dist/mixins/points/types.d.ts +8 -0
  903. package/dist/mixins/points/types.js +1 -0
  904. package/dist/mixins/search-mixin/search-mixin.d.ts +4 -0
  905. package/dist/mixins/search-mixin/search-mixin.js +66 -0
  906. package/dist/mixins/search-mixin/types.d.ts +7 -0
  907. package/dist/mixins/search-mixin/types.js +1 -0
  908. package/dist/sdk/chrome.d.ts +10 -0
  909. package/dist/sdk/chrome.js +83 -0
  910. package/dist/sdk/element-adapter.d.ts +16 -0
  911. package/dist/sdk/element-adapter.js +60 -0
  912. package/dist/sdk/meta.d.ts +7 -0
  913. package/dist/sdk/meta.js +9 -0
  914. package/dist/sdk/mount.d.ts +19 -0
  915. package/dist/sdk/mount.js +289 -0
  916. package/dist/sdk/navigation-intent.d.ts +34 -0
  917. package/dist/sdk/navigation-intent.js +28 -0
  918. package/dist/sdk/page-registry.d.ts +32 -0
  919. package/dist/sdk/page-registry.js +84 -0
  920. package/dist/sdk/redaction.d.ts +11 -0
  921. package/dist/sdk/redaction.js +61 -0
  922. package/dist/sdk/theme.d.ts +19 -0
  923. package/dist/sdk/theme.js +75 -0
  924. package/dist/sdk/types.d.ts +258 -0
  925. package/dist/sdk/types.js +1 -0
  926. package/dist/sdk/url.d.ts +47 -0
  927. package/dist/sdk/url.js +199 -0
  928. package/dist/sdk/validation.d.ts +50 -0
  929. package/dist/sdk/validation.js +318 -0
  930. package/dist/styles/contrast-fixtures.d.ts +10 -0
  931. package/dist/styles/contrast-fixtures.js +61 -0
  932. package/dist/styles/contrast.d.ts +19 -0
  933. package/dist/styles/contrast.js +100 -0
  934. package/dist/styles/defaults/component.d.ts +2 -0
  935. package/dist/styles/defaults/component.js +31 -0
  936. package/dist/styles/primitives.d.ts +14 -0
  937. package/dist/styles/primitives.js +68 -0
  938. package/dist/styles/tokens.css +359 -0
  939. package/dist/styles/tokens.d.ts +18 -0
  940. package/dist/styles/tokens.generated.d.ts +1 -0
  941. package/dist/styles/tokens.generated.js +4 -0
  942. package/dist/styles/tokens.js +54 -0
  943. package/dist/styles/tokens.metadata.d.ts +14 -0
  944. package/dist/styles/tokens.metadata.js +210 -0
  945. package/dist/views/constants.d.ts +3 -0
  946. package/dist/views/constants.js +2 -0
  947. package/dist/views/details-page/details-page.component.d.ts +129 -0
  948. package/dist/views/details-page/details-page.component.js +1567 -0
  949. package/dist/views/details-page/details-page.d.ts +8 -0
  950. package/dist/views/details-page/details-page.js +6 -0
  951. package/dist/views/details-page/details-page.styles.d.ts +2 -0
  952. package/dist/views/details-page/details-page.styles.js +558 -0
  953. package/dist/views/details-page/details-page.utilts.d.ts +40 -0
  954. package/dist/views/details-page/details-page.utilts.js +188 -0
  955. package/dist/views/details-page/partials/theater-description/theater-description.component.d.ts +13 -0
  956. package/dist/views/details-page/partials/theater-description/theater-description.component.js +76 -0
  957. package/dist/views/details-page/partials/theater-description/theater-description.d.ts +8 -0
  958. package/dist/views/details-page/partials/theater-description/theater-description.js +6 -0
  959. package/dist/views/details-page/partials/theater-description/theater-description.styles.d.ts +2 -0
  960. package/dist/views/details-page/partials/theater-description/theater-description.styles.js +19 -0
  961. package/dist/views/details-page/partials/tour-description/tour-description.component.d.ts +20 -0
  962. package/dist/views/details-page/partials/tour-description/tour-description.component.js +155 -0
  963. package/dist/views/details-page/partials/tour-description/tour-description.d.ts +8 -0
  964. package/dist/views/details-page/partials/tour-description/tour-description.js +6 -0
  965. package/dist/views/details-page/partials/tour-description/tour-description.styles.d.ts +2 -0
  966. package/dist/views/details-page/partials/tour-description/tour-description.styles.js +11 -0
  967. package/dist/views/help-page/help-page.component.d.ts +74 -0
  968. package/dist/views/help-page/help-page.component.js +594 -0
  969. package/dist/views/help-page/help-page.d.ts +8 -0
  970. package/dist/views/help-page/help-page.fields.d.ts +12 -0
  971. package/dist/views/help-page/help-page.fields.js +46 -0
  972. package/dist/views/help-page/help-page.js +6 -0
  973. package/dist/views/help-page/help-page.styles.d.ts +2 -0
  974. package/dist/views/help-page/help-page.styles.js +218 -0
  975. package/dist/views/help-page/help-page.types.d.ts +36 -0
  976. package/dist/views/help-page/help-page.types.js +1 -0
  977. package/dist/views/help-page/help-page.utils.d.ts +3 -0
  978. package/dist/views/help-page/help-page.utils.js +29 -0
  979. package/dist/views/help-page/help-page.validators.d.ts +7 -0
  980. package/dist/views/help-page/help-page.validators.js +22 -0
  981. package/dist/views/landing-page/landing-page.component.d.ts +127 -0
  982. package/dist/views/landing-page/landing-page.component.js +1003 -0
  983. package/dist/views/landing-page/landing-page.constants.d.ts +1 -0
  984. package/dist/views/landing-page/landing-page.constants.js +1 -0
  985. package/dist/views/landing-page/landing-page.d.ts +8 -0
  986. package/dist/views/landing-page/landing-page.js +6 -0
  987. package/dist/views/landing-page/landing-page.styles.d.ts +2 -0
  988. package/dist/views/landing-page/landing-page.styles.js +109 -0
  989. package/dist/views/landing-page/landing-page.types.d.ts +7 -0
  990. package/dist/views/landing-page/landing-page.types.js +1 -0
  991. package/dist/views/payment-page/controllers/crypto-auth.controller.d.ts +71 -0
  992. package/dist/views/payment-page/controllers/crypto-auth.controller.js +252 -0
  993. package/dist/views/payment-page/controllers/crypto-transfer.controller.d.ts +99 -0
  994. package/dist/views/payment-page/controllers/crypto-transfer.controller.js +288 -0
  995. package/dist/views/payment-page/controllers/form-validation.controller.d.ts +60 -0
  996. package/dist/views/payment-page/controllers/form-validation.controller.js +122 -0
  997. package/dist/views/payment-page/controllers/layout.controller.d.ts +22 -0
  998. package/dist/views/payment-page/controllers/layout.controller.js +43 -0
  999. package/dist/views/payment-page/controllers/payment-flow.controller.d.ts +47 -0
  1000. package/dist/views/payment-page/controllers/payment-flow.controller.js +63 -0
  1001. package/dist/views/payment-page/controllers/stripe-payment.controller.d.ts +66 -0
  1002. package/dist/views/payment-page/controllers/stripe-payment.controller.js +202 -0
  1003. package/dist/views/payment-page/domain/payment-mappers.d.ts +7 -0
  1004. package/dist/views/payment-page/domain/payment-mappers.js +7 -0
  1005. package/dist/views/payment-page/domain/payment-validators.d.ts +6 -0
  1006. package/dist/views/payment-page/domain/payment-validators.js +6 -0
  1007. package/dist/views/payment-page/domain/recovery-payload.d.ts +8 -0
  1008. package/dist/views/payment-page/domain/recovery-payload.js +7 -0
  1009. package/dist/views/payment-page/partials/activity-details/activity-details.component.d.ts +47 -0
  1010. package/dist/views/payment-page/partials/activity-details/activity-details.component.js +247 -0
  1011. package/dist/views/payment-page/partials/activity-details/activity-details.d.ts +8 -0
  1012. package/dist/views/payment-page/partials/activity-details/activity-details.js +6 -0
  1013. package/dist/views/payment-page/partials/activity-details/activity-details.styles.d.ts +2 -0
  1014. package/dist/views/payment-page/partials/activity-details/activity-details.styles.js +77 -0
  1015. package/dist/views/payment-page/partials/billing-address/billing-address.component.d.ts +34 -0
  1016. package/dist/views/payment-page/partials/billing-address/billing-address.component.js +165 -0
  1017. package/dist/views/payment-page/partials/billing-address/billing-address.d.ts +8 -0
  1018. package/dist/views/payment-page/partials/billing-address/billing-address.js +6 -0
  1019. package/dist/views/payment-page/partials/billing-address/billing-address.styles.d.ts +2 -0
  1020. package/dist/views/payment-page/partials/billing-address/billing-address.styles.js +27 -0
  1021. package/dist/views/payment-page/partials/confirmation/confirmation.component.d.ts +17 -0
  1022. package/dist/views/payment-page/partials/confirmation/confirmation.component.js +193 -0
  1023. package/dist/views/payment-page/partials/confirmation/confirmation.d.ts +8 -0
  1024. package/dist/views/payment-page/partials/confirmation/confirmation.js +6 -0
  1025. package/dist/views/payment-page/partials/confirmation/confirmation.styles.d.ts +2 -0
  1026. package/dist/views/payment-page/partials/confirmation/confirmation.styles.js +191 -0
  1027. package/dist/views/payment-page/partials/country-field/country-field.component.d.ts +44 -0
  1028. package/dist/views/payment-page/partials/country-field/country-field.component.js +260 -0
  1029. package/dist/views/payment-page/partials/country-field/country-field.d.ts +8 -0
  1030. package/dist/views/payment-page/partials/country-field/country-field.js +6 -0
  1031. package/dist/views/payment-page/partials/country-field/country-field.styles.d.ts +2 -0
  1032. package/dist/views/payment-page/partials/country-field/country-field.styles.js +21 -0
  1033. package/dist/views/payment-page/partials/hotel-pickup-field/hotel-pickup-field.component.d.ts +19 -0
  1034. package/dist/views/payment-page/partials/hotel-pickup-field/hotel-pickup-field.component.js +108 -0
  1035. package/dist/views/payment-page/partials/hotel-pickup-field/hotel-pickup-field.d.ts +8 -0
  1036. package/dist/views/payment-page/partials/hotel-pickup-field/hotel-pickup-field.js +6 -0
  1037. package/dist/views/payment-page/partials/hotel-pickup-field/hotel-pickup-field.styles.d.ts +2 -0
  1038. package/dist/views/payment-page/partials/hotel-pickup-field/hotel-pickup-field.styles.js +21 -0
  1039. package/dist/views/payment-page/partials/hotel-pickup-list/hotel-pickup-list.component.d.ts +10 -0
  1040. package/dist/views/payment-page/partials/hotel-pickup-list/hotel-pickup-list.component.js +54 -0
  1041. package/dist/views/payment-page/partials/hotel-pickup-list/hotel-pickup-list.d.ts +8 -0
  1042. package/dist/views/payment-page/partials/hotel-pickup-list/hotel-pickup-list.js +6 -0
  1043. package/dist/views/payment-page/partials/hotel-pickup-list/hotel-pickup-list.styles.d.ts +2 -0
  1044. package/dist/views/payment-page/partials/hotel-pickup-list/hotel-pickup-list.styles.js +54 -0
  1045. package/dist/views/payment-page/partials/payment-type-selector/payment-type-selector.component.d.ts +48 -0
  1046. package/dist/views/payment-page/partials/payment-type-selector/payment-type-selector.component.js +215 -0
  1047. package/dist/views/payment-page/partials/payment-type-selector/payment-type-selector.d.ts +8 -0
  1048. package/dist/views/payment-page/partials/payment-type-selector/payment-type-selector.js +6 -0
  1049. package/dist/views/payment-page/partials/payment-type-selector/payment-type-selector.styles.d.ts +2 -0
  1050. package/dist/views/payment-page/partials/payment-type-selector/payment-type-selector.styles.js +61 -0
  1051. package/dist/views/payment-page/partials/stripe/stripe.component.d.ts +104 -0
  1052. package/dist/views/payment-page/partials/stripe/stripe.component.js +522 -0
  1053. package/dist/views/payment-page/partials/stripe/stripe.constants.d.ts +46 -0
  1054. package/dist/views/payment-page/partials/stripe/stripe.constants.js +48 -0
  1055. package/dist/views/payment-page/partials/stripe/stripe.d.ts +8 -0
  1056. package/dist/views/payment-page/partials/stripe/stripe.js +6 -0
  1057. package/dist/views/payment-page/partials/stripe/stripe.styles.d.ts +2 -0
  1058. package/dist/views/payment-page/partials/stripe/stripe.styles.js +102 -0
  1059. package/dist/views/payment-page/partials/stripe/stripe.types.d.ts +72 -0
  1060. package/dist/views/payment-page/partials/stripe/stripe.types.js +4 -0
  1061. package/dist/views/payment-page/partials/stripe/stripe.utils.d.ts +85 -0
  1062. package/dist/views/payment-page/partials/stripe/stripe.utils.js +228 -0
  1063. package/dist/views/payment-page/partials/terms-checkbox/terms-checkbox.component.d.ts +22 -0
  1064. package/dist/views/payment-page/partials/terms-checkbox/terms-checkbox.component.js +65 -0
  1065. package/dist/views/payment-page/partials/terms-checkbox/terms-checkbox.d.ts +8 -0
  1066. package/dist/views/payment-page/partials/terms-checkbox/terms-checkbox.js +6 -0
  1067. package/dist/views/payment-page/partials/terms-checkbox/terms-checkbox.styles.d.ts +2 -0
  1068. package/dist/views/payment-page/partials/terms-checkbox/terms-checkbox.styles.js +12 -0
  1069. package/dist/views/payment-page/payment-page.component.d.ts +237 -0
  1070. package/dist/views/payment-page/payment-page.component.js +1733 -0
  1071. package/dist/views/payment-page/payment-page.constants.d.ts +38 -0
  1072. package/dist/views/payment-page/payment-page.constants.js +45 -0
  1073. package/dist/views/payment-page/payment-page.d.ts +8 -0
  1074. package/dist/views/payment-page/payment-page.fields.d.ts +162 -0
  1075. package/dist/views/payment-page/payment-page.fields.js +164 -0
  1076. package/dist/views/payment-page/payment-page.js +6 -0
  1077. package/dist/views/payment-page/payment-page.styles.d.ts +2 -0
  1078. package/dist/views/payment-page/payment-page.styles.js +392 -0
  1079. package/dist/views/payment-page/payment-page.types.d.ts +98 -0
  1080. package/dist/views/payment-page/payment-page.types.js +1 -0
  1081. package/dist/views/payment-page/payment-page.utils.d.ts +239 -0
  1082. package/dist/views/payment-page/payment-page.utils.js +906 -0
  1083. package/dist/views/payment-page/payment-page.validation-schema.d.ts +28 -0
  1084. package/dist/views/payment-page/payment-page.validation-schema.js +42 -0
  1085. package/dist/views/payment-page/payment-page.validators.d.ts +56 -0
  1086. package/dist/views/payment-page/payment-page.validators.js +147 -0
  1087. package/dist/views/payment-page/services/payment-api.service.d.ts +104 -0
  1088. package/dist/views/payment-page/services/payment-api.service.js +99 -0
  1089. package/dist/views/search-page/search-page.component.d.ts +61 -0
  1090. package/dist/views/search-page/search-page.component.js +358 -0
  1091. package/dist/views/search-page/search-page.d.ts +8 -0
  1092. package/dist/views/search-page/search-page.js +6 -0
  1093. package/dist/views/search-page/search-page.styles.d.ts +2 -0
  1094. package/dist/views/search-page/search-page.styles.js +81 -0
  1095. package/dist/views/suggestion-widget/suggestion-widget.component.d.ts +33 -0
  1096. package/dist/views/suggestion-widget/suggestion-widget.component.js +111 -0
  1097. package/dist/views/suggestion-widget/suggestion-widget.d.ts +8 -0
  1098. package/dist/views/suggestion-widget/suggestion-widget.js +6 -0
  1099. package/dist/views/suggestion-widget/suggestion-widget.styles.d.ts +2 -0
  1100. package/dist/views/suggestion-widget/suggestion-widget.styles.js +41 -0
  1101. package/package.json +158 -0
@@ -0,0 +1,1567 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html, nothing } from "lit";
8
+ import { state, property } from "lit/decorators.js";
9
+ import { Task, TaskStatus } from "@lit/task";
10
+ import { localized, msg, str } from "@lit/localize";
11
+ import { classMap } from "lit/directives/class-map.js";
12
+ import { fireEvent } from "../../core/events.js";
13
+ import { map } from "lit/directives/map.js";
14
+ import { consume } from "@lit/context";
15
+ import { SignalWatcher } from "@lit-labs/signals";
16
+ import { isBasketDropdownOpen, isBasketMobileOpen, } from "../../core/signals.js";
17
+ import { format, formatISO, getDate, isAfter, isBefore, parseISO, } from "date-fns";
18
+ import { capitalize } from "../../core/utils/text.js";
19
+ import { apiGet, apiPost, withErrorHandling } from "../../core/api/queries.js";
20
+ import "../../components/button/button.js";
21
+ import "../../components/attraction-header/attraction-header.js";
22
+ import "../../components/image-chip/image-chip.js";
23
+ import "../../components/alert/alert.js";
24
+ import "../../components/tour-ticket-type-selector/tour-ticket-type-selector.js";
25
+ import "../../components/tour-ticket-type-selector/tour-ticket-type/tour-ticket-type.js";
26
+ import "../../components/tour-ticket-type-selector/tour-ticket-counter-button/tour-ticket-counter-button.js";
27
+ import "../../components/calendar/month/month.js";
28
+ import "../../components/attraction-option/attraction-option.js";
29
+ import "../../components/option-group/option-group.js";
30
+ import "../../components/option-group/option-chip/option-chip.js";
31
+ import "../../components/reservation-preview/reservation-preview.js";
32
+ import "../../components/reservation-preview-item/reservation-preview-item.js";
33
+ import "../../components/dialog/dialog.js";
34
+ import "../../components/image-viewer/image-viewer.js";
35
+ import "../../components/image/image.js";
36
+ import "../../components/seats-io/seats-io.js";
37
+ import "../../components/better-carousel/better-carousel.js";
38
+ import "../../components/better-carousel/better-carousel-item/better-carousel-item.js";
39
+ import "../../components/time-tag/time-tag.js";
40
+ import "../../components/performance-time/performance-time.js";
41
+ import "../../components/sport-options/sport-options.js";
42
+ import "../../components/sport-options/sport-option/sport-option.js";
43
+ import "../../components/seated-selector/seated-selector.js";
44
+ import "../../components/dropdown/dropdown.js";
45
+ import "../../components/pay-in/pay-in.js";
46
+ import "../../contexts/basket/basket.js";
47
+ import "../../components/layout/layout.js";
48
+ import "../../components/breadcrumbs/breadcrumbs.js";
49
+ import "../../components/breadcrumbs/breadcrumb-item/breadcrumb-item.js";
50
+ import "./partials/theater-description/theater-description.js";
51
+ import "./partials/tour-description/tour-description.js";
52
+ import { PointsMixin } from "../../mixins/points/points.js";
53
+ import styles from "./details-page.styles.js";
54
+ import { BaseMixin } from "../../mixins/base.mixin.js";
55
+ import { ErrorModalMixin } from "../../mixins/error-modal.mixin.js";
56
+ import { currentPageContext } from "../../contexts/current-page.context.js";
57
+ import { convertToLocaleCurrency } from "../../core/currency/index.js";
58
+ import { calculateTotalPrice, formatDateWithTimezone, formatTicketDetails, getAvailabilityDays, getAvailabilitySummary, getCurrentMonth, getTicketsAmount, getTicketSelectorLabel, getTotalTicketsCount, groupAvailabilityByTime, isSingleDayAvailability, scrollToTop, sortTimes, sumPricesAndFormat, } from "./details-page.utilts.js";
59
+ import { formatDateTimeForDisplay, formatTimeForDisplay, } from "../../core/utils/datetime.js";
60
+ import { getBookingSession, storeBookingSession, } from "../../core/api/middlewares/booking-session/booking-session.utils.js";
61
+ import { BOOKING_SESSION_EXPIRES_HEADER } from "../../core/api/middlewares/booking-session/booking-session.constants.js";
62
+ import { formatDate } from "../../core/i18n/date.js";
63
+ import { getLocale, setLocale } from "../../core/i18n/localization.js";
64
+ import { loyaltyPointsContext } from "../../contexts/properties.context.js";
65
+ import { addRecentlySelectedSearches } from "../../containers/navbar/navbar.utils.js";
66
+ import { filterMediaForGallery } from "../../core/images/filters.js";
67
+ import { readSeatsIoConfig } from "../../core/types/seats-config.js";
68
+ // TODO: can it be dynamic/responsive?
69
+ const IMAGE_CAROUSEL_WIDTH = 480;
70
+ const IMAGE_CAROUSEL_HEIGHT = 320;
71
+ /**
72
+ * Details page component for viewing attraction details and creating reservations.
73
+ *
74
+ * @fires coras:navigate - Dispatched when navigating to another page
75
+ * @fires coras:state-change - Dispatched when in-page params change (date selection)
76
+ * @fires coras:reservation-created - Dispatched when a reservation is successfully created via the API
77
+ */
78
+ let CorasDetailsPage = class CorasDetailsPage extends ErrorModalMixin(PointsMixin(BaseMixin(SignalWatcher(LitElement)))) {
79
+ constructor() {
80
+ super(...arguments);
81
+ this.attractionId = "";
82
+ this.date = formatISO(new Date(), { representation: "date" });
83
+ this.currentPage = "details";
84
+ this.loyaltyPoints = false;
85
+ this.currentMonth = undefined;
86
+ this.selectedPriceTypes = {};
87
+ this.isCalendarDropdownOpen = false;
88
+ this.isImageViewerModalOpen = false;
89
+ this.shouldRenderOptions = false;
90
+ this.isBasketModalOpened = false;
91
+ this.selectedTimeOptions = {};
92
+ this.isSingleDayAvailability = false;
93
+ this.availabilityDays = [];
94
+ this.isReservationPreviewModalOpened = false;
95
+ this.selectedSectionId = undefined;
96
+ this.selectedTime = null;
97
+ this.hasAvailabilityError = false;
98
+ this.loadingSelectionIds = new Set();
99
+ this.seatsFallback = false;
100
+ this.configTask = new Task(this, {
101
+ task: async ([client, locale, distributorID]) => {
102
+ if (!client) {
103
+ return null;
104
+ }
105
+ const { data } = await withErrorHandling(apiGet({
106
+ client,
107
+ distributorID,
108
+ locale,
109
+ endpoint: "/{api_version}/config",
110
+ }));
111
+ return readSeatsIoConfig(data);
112
+ },
113
+ args: () => [this.client, this.locale, this.distributorID],
114
+ });
115
+ this.verifyDate = (firstInstanceDay, lastInstanceDay, timezone) => {
116
+ if (!this.date) {
117
+ this.updateDateParam({ date: firstInstanceDay, timezone });
118
+ }
119
+ if (this.date &&
120
+ (isBefore(parseISO(this.date), parseISO(firstInstanceDay)) ||
121
+ isAfter(parseISO(this.date), parseISO(lastInstanceDay)))) {
122
+ this.updateDateParam({ date: firstInstanceDay, timezone });
123
+ }
124
+ };
125
+ this.checkDateAvailability = (firstInstanceDay, timezone) => {
126
+ if (!this.date) {
127
+ this.updateDateParam({ date: firstInstanceDay, timezone });
128
+ return;
129
+ }
130
+ const dayOfMonth = String(getDate(parseISO(this.date)));
131
+ if (!this.availabilityDays.includes(dayOfMonth)) {
132
+ this.updateDateParam({ date: firstInstanceDay, timezone });
133
+ }
134
+ };
135
+ this.attractionTask = new Task(this, {
136
+ task: async ([locale, currency, attractionId]) => {
137
+ const result = await withErrorHandling(apiGet({
138
+ client: this.client,
139
+ distributorID: this.distributorID,
140
+ locale: locale,
141
+ endpoint: "/{api_version}/attractions/{coras_attraction_id}",
142
+ path: {
143
+ coras_attraction_id: attractionId,
144
+ },
145
+ query: {
146
+ currency: currency,
147
+ size: 0,
148
+ },
149
+ }));
150
+ if (!result.data) {
151
+ return {};
152
+ }
153
+ this.verifyDate(result.data.first_instance_date, result.data.last_instance_date, result.data.attraction.timezone);
154
+ this.isSingleDayAvailability = isSingleDayAvailability(result.data.attraction.sale_periods ?? null);
155
+ this.availabilityDays = getAvailabilityDays({
156
+ timezone: result.data.attraction.timezone,
157
+ salePeriods: result.data.attraction.sale_periods ?? null,
158
+ targetMonth: getCurrentMonth(this.date || result.data.first_instance_date, this.currentMonth),
159
+ });
160
+ this.checkDateAvailability(result.data.first_instance_date, result.data.attraction.timezone);
161
+ try {
162
+ addRecentlySelectedSearches({
163
+ type: "attraction",
164
+ value: attractionId,
165
+ name: result.data.attraction.attraction_name,
166
+ });
167
+ }
168
+ catch {
169
+ // noop
170
+ }
171
+ return result.data;
172
+ },
173
+ args: () => [this.locale, this.currency, this.attractionId],
174
+ });
175
+ this.bookingSessionTask = new Task(this, {
176
+ autoRun: false,
177
+ task: async () => {
178
+ const bookingSession = getBookingSession();
179
+ if (bookingSession) {
180
+ return bookingSession;
181
+ }
182
+ const { data, response } = await withErrorHandling(apiPost({
183
+ client: this.client,
184
+ distributorID: this.distributorID,
185
+ locale: this.locale,
186
+ endpoint: "/{api_version}/booking-session",
187
+ body: {
188
+ language: this.locale.split("-")[0],
189
+ user_id: null,
190
+ analytics_id: null,
191
+ distributor_session_id: null,
192
+ },
193
+ }));
194
+ if (data && data["booking-session"]) {
195
+ const newBookingSession = data["booking-session"];
196
+ const expiresHeader = response?.headers.get(BOOKING_SESSION_EXPIRES_HEADER);
197
+ if (expiresHeader) {
198
+ try {
199
+ const expirationDate = new Date(expiresHeader);
200
+ if (!isNaN(expirationDate.getTime())) {
201
+ storeBookingSession(newBookingSession, expirationDate);
202
+ }
203
+ else {
204
+ const defaultExpiration = new Date(Date.now() + 20 * 60 * 1000); // 20 minutes
205
+ storeBookingSession(newBookingSession, defaultExpiration);
206
+ }
207
+ }
208
+ catch (error) {
209
+ console.warn("Failed to parse booking session expiration date:", error);
210
+ const defaultExpiration = new Date(Date.now() + 20 * 60 * 1000); // 20 minutes
211
+ storeBookingSession(newBookingSession, defaultExpiration);
212
+ }
213
+ }
214
+ else {
215
+ const defaultExpiration = new Date(Date.now() + 20 * 60 * 1000); // 20 minutes
216
+ storeBookingSession(newBookingSession, defaultExpiration);
217
+ }
218
+ return newBookingSession;
219
+ }
220
+ return undefined;
221
+ },
222
+ });
223
+ this.availabilityTask = new Task(this, {
224
+ autoRun: false,
225
+ task: async () => {
226
+ const bookingSession = this.bookingSessionTask.value;
227
+ if (!bookingSession) {
228
+ throw new Error("Booking session not available");
229
+ }
230
+ const apiResponse = this.attractionTask.value;
231
+ if (!apiResponse) {
232
+ throw new Error("Attraction data not available");
233
+ }
234
+ const result = await withErrorHandling(apiPost({
235
+ client: this.client,
236
+ distributorID: this.distributorID,
237
+ locale: this.locale,
238
+ endpoint: "/{api_version}/availability/check",
239
+ bookingSession,
240
+ body: {
241
+ currency: this.currency,
242
+ language_code: this.locale.split("-")[0],
243
+ attraction_id: this.attractionId,
244
+ date: this.date,
245
+ tickets: Object.entries(this.selectedPriceTypes).map(([key, value]) => ({
246
+ price_type_id: key,
247
+ number_of_tickets: value,
248
+ })),
249
+ },
250
+ }));
251
+ if (result.error) {
252
+ this.hasAvailabilityError = true;
253
+ }
254
+ if (!result.data) {
255
+ this.hasAvailabilityError = true;
256
+ return [];
257
+ }
258
+ if (result.data.length === 0 ||
259
+ result.data.filter((availability) => availability.available).length ===
260
+ 0) {
261
+ this.hasAvailabilityError = true;
262
+ }
263
+ const availableItems = result.data.filter((item) => item.available) || [];
264
+ // Auto-select the first performance time once the availability resolves,
265
+ // keeping this state out of the render path.
266
+ const sortedTimes = sortTimes(Array.from(groupAvailabilityByTime(availableItems, this.locale).keys()));
267
+ this.selectedTime = sortedTimes[0] ?? null;
268
+ availableItems.forEach((item) => {
269
+ if (item.selection_id) {
270
+ const languageEntries = Object.entries(item.languages_spoken || {});
271
+ if (languageEntries.length > 0) {
272
+ const localeCode = this.locale.split("-")[0];
273
+ const matchingLanguage = languageEntries.find(([key]) => key.split("/")[0] === localeCode);
274
+ const defaultLanguage = matchingLanguage
275
+ ? matchingLanguage[0]
276
+ : languageEntries[0]?.[0];
277
+ const defaultTime = item.start_datetime;
278
+ this.selectedTimeOptions = {
279
+ ...this.selectedTimeOptions,
280
+ [item.selection_id]: {
281
+ language: defaultLanguage,
282
+ time: defaultTime,
283
+ },
284
+ };
285
+ }
286
+ }
287
+ });
288
+ return availableItems;
289
+ },
290
+ args: () => [],
291
+ });
292
+ this.reservationsTask = new Task(this, {
293
+ autoRun: false,
294
+ task: async ([language, selection_id, seated]) => {
295
+ const bookingSession = this.bookingSessionTask.value;
296
+ if (!bookingSession) {
297
+ throw new Error("Booking session not available");
298
+ }
299
+ const apiResponse = this.attractionTask.value;
300
+ if (!apiResponse) {
301
+ throw new Error("Attraction data not available");
302
+ }
303
+ const seatedPayload = seated;
304
+ // Seated selection books a specific performance instance with the chosen
305
+ // seats; the section flow books a selection_id with ticket-type counts.
306
+ const reservationFields = seatedPayload
307
+ ? {
308
+ selection_id: null,
309
+ instance_id: seatedPayload.instanceId,
310
+ tickets: seatedPayload.tickets,
311
+ }
312
+ : {
313
+ selection_id: selection_id,
314
+ instance_id: null,
315
+ tickets: this.buildSectionTickets(selection_id),
316
+ };
317
+ const result = await withErrorHandling(apiPost({
318
+ client: this.client,
319
+ distributorID: this.distributorID,
320
+ locale: this.locale,
321
+ endpoint: "/{api_version}/reservations",
322
+ bookingSession,
323
+ body: {
324
+ attraction_id: this.attractionId,
325
+ currency: this.currency,
326
+ date: this.date,
327
+ language_code: this.locale.split("-")[0],
328
+ tour_language: language,
329
+ to_basket: true,
330
+ pickup_id: null,
331
+ pickup_entry: null,
332
+ content_indexed_at: null,
333
+ ...reservationFields,
334
+ },
335
+ }));
336
+ if (result.error) {
337
+ this.hasAvailabilityError = true;
338
+ return {};
339
+ }
340
+ if (result.data) {
341
+ // Emit only a minimal, redacted public payload; never the raw
342
+ // reservation API response (P-038 data minimization).
343
+ const reservation = result.data;
344
+ fireEvent(this, "coras:reservation-created", {
345
+ ...(reservation.reservation_id != null
346
+ ? { reservationId: reservation.reservation_id }
347
+ : {}),
348
+ ...(reservation.expires_in != null
349
+ ? { expiresIn: reservation.expires_in }
350
+ : {}),
351
+ ...(reservation.ticket_delivery_method != null
352
+ ? { ticketDeliveryMethod: reservation.ticket_delivery_method }
353
+ : {}),
354
+ });
355
+ }
356
+ return result.data || {};
357
+ },
358
+ args: (language = "", selection_id = "", seated = null) => [language, selection_id, seated],
359
+ });
360
+ this.setCurrentMonth = (event) => {
361
+ event.stopPropagation();
362
+ this.currentMonth = event.detail.date;
363
+ const apiResponse = this.attractionTask.value;
364
+ if (apiResponse) {
365
+ this.availabilityDays = getAvailabilityDays({
366
+ timezone: apiResponse.attraction.timezone,
367
+ salePeriods: apiResponse.attraction.sale_periods ?? null,
368
+ targetMonth: this.currentMonth,
369
+ });
370
+ }
371
+ };
372
+ this.changeTicketNumberBy = (id, count, maxAmount) => {
373
+ const currentValue = getTicketsAmount(id, this.selectedPriceTypes, maxAmount);
374
+ const totalTickets = getTotalTicketsCount(this.selectedPriceTypes);
375
+ if (maxAmount !== null && count > 0 && totalTickets + count > maxAmount) {
376
+ return;
377
+ }
378
+ const newValue = currentValue + count;
379
+ this.selectedPriceTypes = Object.fromEntries(Object.entries({
380
+ ...this.selectedPriceTypes,
381
+ [id]: newValue,
382
+ }).filter(([_key, value]) => value !== 0));
383
+ this.hasAvailabilityError = false;
384
+ };
385
+ this.handleDateSelected = (event) => {
386
+ event.stopPropagation();
387
+ this.hasAvailabilityError = false;
388
+ this.updateDateParam({ date: event.detail.date });
389
+ this.toggleCalendarDropdown();
390
+ };
391
+ this.handleCheckButtonClicked = async () => {
392
+ this.seatsFallback = false;
393
+ await this.bookingSessionTask.run();
394
+ await this.availabilityTask.run();
395
+ this.shouldRenderOptions = true; // TODO: move to request?
396
+ };
397
+ this.renderAttractionHeader = () => {
398
+ const apiResponse = this.attractionTask.value;
399
+ if (!apiResponse) {
400
+ return nothing;
401
+ }
402
+ const isTheater = apiResponse.attraction_type === "THEATER";
403
+ const event = apiResponse;
404
+ return html `
405
+ <coras-attraction-header
406
+ attraction-type=${apiResponse.attraction_type}
407
+ attraction-name=${apiResponse.attraction.attraction_name}
408
+ city=${apiResponse.attraction.city ?? ""}
409
+ location-name=${isTheater ? (event.attraction.location_name ?? "") : ""}
410
+ timezone=${apiResponse.attraction.timezone}
411
+ .rating=${apiResponse.attraction.rating ?? undefined}
412
+ .totalInstances=${isTheater ? event.total_instances : undefined}
413
+ first-instance-date=${apiResponse.first_instance_date ?? ""}
414
+ .locale=${this.locale}
415
+ >
416
+ </coras-attraction-header>
417
+ `;
418
+ };
419
+ this.renderImageCarouselItems = (images) => {
420
+ if (!images) {
421
+ return html ``;
422
+ }
423
+ return html `${map(images, (image) => html `
424
+ <coras-better-carousel-item>
425
+ <coras-image
426
+ src=${image.url}
427
+ width=${IMAGE_CAROUSEL_WIDTH}
428
+ height=${IMAGE_CAROUSEL_HEIGHT}
429
+ preset="carousel-hero"
430
+ loading="lazy"
431
+ alt=""
432
+ ></coras-image>
433
+ </coras-better-carousel-item>
434
+ `)}`;
435
+ };
436
+ this.renderImageCarousel = () => {
437
+ const apiResponse = this.attractionTask.value;
438
+ const gallery = filterMediaForGallery(apiResponse?.attraction.media ?? []);
439
+ const numberOfImages = gallery.length || 1;
440
+ return html `
441
+ <div class="image-carousel-wrapper">
442
+ <coras-better-carousel assets-url="${this.assetsURL}">
443
+ ${numberOfImages > 1
444
+ ? html `
445
+ <coras-image-chip
446
+ slot="action"
447
+ assets-url="${this.assetsURL}"
448
+ number=${numberOfImages}
449
+ @click=${this.toggleImageViewerModal}
450
+ ></coras-image-chip>
451
+ `
452
+ : nothing}
453
+ ${this.renderImageCarouselItems(gallery)}
454
+ </coras-better-carousel>
455
+ </div>
456
+ `;
457
+ };
458
+ this.renderPayInComponents = () => {
459
+ if (!this.loyaltyPoints) {
460
+ return nothing;
461
+ }
462
+ const attraction = this.attractionTask.value?.attraction;
463
+ const loyalty = attraction?.loyalty;
464
+ if (!loyalty) {
465
+ return nothing;
466
+ }
467
+ const earnAmount = Object.values(loyalty.earn)[0];
468
+ const payAmount = Object.values(loyalty.pay)[0];
469
+ if (!earnAmount || !payAmount) {
470
+ return nothing;
471
+ }
472
+ return html `
473
+ <div class="pay-in-container">
474
+ <coras-pay-in
475
+ type="earn"
476
+ currency="FIDA"
477
+ amount="${String(earnAmount)}"
478
+ ></coras-pay-in>
479
+ <div class="divider"></div>
480
+ <coras-pay-in
481
+ type="pay"
482
+ currency="${this.currency}"
483
+ amount="${String(payAmount)}"
484
+ ></coras-pay-in>
485
+ </div>
486
+ `;
487
+ };
488
+ this.renderTicketSelectorItems = (items, apiResponse) => {
489
+ if (!apiResponse) {
490
+ return nothing;
491
+ }
492
+ if (apiResponse.attraction_type === "TOUR") {
493
+ const response = apiResponse;
494
+ return html `${map(items, ({ name, description, price_type_id }) => {
495
+ const maxAmount = response?.attraction.max_booking_size || 5;
496
+ const ticketAmount = this.selectedPriceTypes[price_type_id] || 0;
497
+ const totalTickets = getTotalTicketsCount(this.selectedPriceTypes);
498
+ return html `
499
+ <coras-tour-ticket-type
500
+ label=${capitalize(name.toLowerCase())}
501
+ details=${description || ""}
502
+ value=${ticketAmount}
503
+ >
504
+ <coras-tour-ticket-counter-button
505
+ slot="minus-button"
506
+ assets-url="${this.assetsURL}"
507
+ variant="minus"
508
+ ?disabled=${ticketAmount <= 0}
509
+ @click=${() => this.changeTicketNumberBy(price_type_id, -1, maxAmount)}
510
+ ></coras-tour-ticket-counter-button>
511
+ <coras-tour-ticket-counter-button
512
+ slot="plus-button"
513
+ assets-url="${this.assetsURL}"
514
+ variant="plus"
515
+ ?disabled=${totalTickets + 1 > maxAmount}
516
+ @click=${() => this.changeTicketNumberBy(price_type_id, 1, maxAmount)}
517
+ ></coras-tour-ticket-counter-button>
518
+ </coras-tour-ticket-type>
519
+ `;
520
+ })}`;
521
+ }
522
+ if (apiResponse.attraction_type === "THEATER") {
523
+ const response = apiResponse;
524
+ return html `${map(items, ({ name, description, price_type_id }) => {
525
+ const maxAmount = response?.attraction.max_tickets_per_order;
526
+ const ticketAmount = this.selectedPriceTypes[price_type_id] || 0;
527
+ const totalTickets = getTotalTicketsCount(this.selectedPriceTypes);
528
+ return html `
529
+ <coras-tour-ticket-type
530
+ label=${capitalize(name.toLowerCase())}
531
+ details=${description || ""}
532
+ value=${ticketAmount}
533
+ >
534
+ <coras-tour-ticket-counter-button
535
+ slot="minus-button"
536
+ assets-url="${this.assetsURL}"
537
+ variant="minus"
538
+ ?disabled=${ticketAmount <= 0}
539
+ @click=${() => this.changeTicketNumberBy(price_type_id, -1, maxAmount)}
540
+ ></coras-tour-ticket-counter-button>
541
+ <coras-tour-ticket-counter-button
542
+ slot="plus-button"
543
+ assets-url="${this.assetsURL}"
544
+ variant="plus"
545
+ ?disabled=${maxAmount != null && totalTickets + 1 > maxAmount}
546
+ @click=${() => this.changeTicketNumberBy(price_type_id, 1, maxAmount)}
547
+ ></coras-tour-ticket-counter-button>
548
+ </coras-tour-ticket-type>
549
+ `;
550
+ })}`;
551
+ }
552
+ };
553
+ this.renderTicketSelector = () => {
554
+ const apiResponse = this.attractionTask.value;
555
+ if (!apiResponse) {
556
+ return nothing;
557
+ }
558
+ if (apiResponse.attraction_type === "TOUR") {
559
+ const response = apiResponse;
560
+ const priceTypes = response.price_types ?? [];
561
+ if (priceTypes.length > 0 &&
562
+ Object.keys(this.selectedPriceTypes).length === 0) {
563
+ const firstPriceTypeId = priceTypes[0].price_type_id;
564
+ const maxBookingSize = response.attraction.max_booking_size;
565
+ this.changeTicketNumberBy(firstPriceTypeId, 1, maxBookingSize);
566
+ }
567
+ return html `
568
+ <coras-tour-ticket-type-selector
569
+ assets-url="${this.assetsURL}"
570
+ label="${getTicketSelectorLabel(response.price_types ?? [], this.selectedPriceTypes, response)}"
571
+ ?error=${this.hasAvailabilityError}
572
+ >
573
+ ${this.renderTicketSelectorItems(response.price_types ?? [], response)}
574
+ </coras-tour-ticket-type-selector>
575
+ `;
576
+ }
577
+ if (apiResponse.attraction_type === "THEATER") {
578
+ const response = apiResponse;
579
+ const priceTypes = response.price_types ?? [];
580
+ if (priceTypes.length > 0 &&
581
+ Object.keys(this.selectedPriceTypes).length === 0) {
582
+ const firstPriceTypeId = priceTypes[0].price_type_id;
583
+ const maxBookingSize = response.attraction.max_tickets_per_order;
584
+ this.changeTicketNumberBy(firstPriceTypeId, 1, maxBookingSize);
585
+ }
586
+ return html `
587
+ <coras-tour-ticket-type-selector
588
+ assets-url="${this.assetsURL}"
589
+ ?error=${this.hasAvailabilityError}
590
+ label="${getTicketSelectorLabel(response.price_types ?? [], this.selectedPriceTypes, response)}"
591
+ >
592
+ ${this.renderTicketSelectorItems(response.price_types ?? [], response)}
593
+ </coras-tour-ticket-type-selector>
594
+ `;
595
+ }
596
+ return nothing;
597
+ };
598
+ this.renderCalendarDropdown = () => {
599
+ const apiResponse = this.attractionTask.value;
600
+ if (!apiResponse) {
601
+ return nothing;
602
+ }
603
+ const date = this.date ||
604
+ formatISO(parseISO(apiResponse.first_instance_date), {
605
+ representation: "date",
606
+ });
607
+ if (this.isSingleDayAvailability) {
608
+ return html `
609
+ <div id="calendar-dropdown">
610
+ <coras-button
611
+ variant="outlined"
612
+ radius="small"
613
+ height="md"
614
+ .shadow=${false}
615
+ .clickable=${false}
616
+ background
617
+ expanded
618
+ >
619
+ <coras-icon
620
+ assets-url="${this.assetsURL}"
621
+ slot="prefix"
622
+ icon="calendar"
623
+ label="calendar"
624
+ ></coras-icon>
625
+ <span>${formatDate(date, this.locale, true)}</span>
626
+ </coras-button>
627
+ </div>
628
+ `;
629
+ }
630
+ return html `
631
+ <div id="calendar-dropdown">
632
+ <coras-dropdown
633
+ ?open=${this.isCalendarDropdownOpen}
634
+ @dropdown-close-request=${this.toggleCalendarDropdown}
635
+ >
636
+ <coras-button
637
+ slot="trigger"
638
+ variant="outlined"
639
+ radius="small"
640
+ height="md"
641
+ border-color="light"
642
+ background
643
+ expanded
644
+ @click=${this.toggleCalendarDropdown}
645
+ ?error=${this.hasAvailabilityError}
646
+ >
647
+ <coras-icon
648
+ assets-url="${this.assetsURL}"
649
+ slot="prefix"
650
+ icon="calendar"
651
+ label="calendar"
652
+ ></coras-icon>
653
+ <coras-icon
654
+ assets-url="${this.assetsURL}"
655
+ id="date-field-chevron"
656
+ slot="suffix"
657
+ class=${classMap({ open: this.isCalendarDropdownOpen })}
658
+ icon="keyboard-arrow-down"
659
+ ></coras-icon>
660
+ <span>${formatDate(date, this.locale, true)}</span>
661
+ </coras-button>
662
+
663
+ <div class="calendar">
664
+ <coras-month-calendar
665
+ assets-url="${this.assetsURL}"
666
+ locale=${this.locale}
667
+ min-date=${format(parseISO(apiResponse.first_instance_date), "yyyy-MM")}
668
+ max-date=${format(parseISO(apiResponse.last_instance_date), "yyyy-MM")}
669
+ .selectedDates=${[date]}
670
+ .availableDays=${this.availabilityDays}
671
+ selected-month=${getCurrentMonth(date, this.currentMonth)}
672
+ @date-selected=${this.handleDateSelected}
673
+ @calendar-month-changed=${this.setCurrentMonth}
674
+ ></coras-month-calendar>
675
+ </div>
676
+ </coras-dropdown>
677
+ </div>
678
+ `;
679
+ };
680
+ this.renderTicketAvailability = () => {
681
+ const apiResponse = this.attractionTask.value;
682
+ if (!apiResponse) {
683
+ return html ``;
684
+ }
685
+ const lowestPrice = apiResponse?.attraction?.min_price?.[this.currency] || 0;
686
+ const formattedPrice = convertToLocaleCurrency({
687
+ value: lowestPrice,
688
+ locale: this.locale,
689
+ currency: this.currency,
690
+ });
691
+ return html `
692
+ <div class="ticket-availability">
693
+ ${lowestPrice > 0
694
+ ? html `
695
+ <div class="caption">
696
+ ${msg(str `From ${formattedPrice} per adult`)}
697
+ </div>
698
+ `
699
+ : nothing}
700
+ ${this.renderTicketSelector()} ${this.renderCalendarDropdown()}
701
+ <coras-button
702
+ variant="primary"
703
+ height="sm"
704
+ ?loading=${this.isCheckingAvailability}
705
+ @click=${this.handleCheckButtonClicked}
706
+ >
707
+ ${msg("Check Availability")}
708
+ </coras-button>
709
+ </div>
710
+ `;
711
+ };
712
+ this.renderImageViewerModal = () => {
713
+ const apiResponse = this.attractionTask.value;
714
+ const imageUrls = filterMediaForGallery(apiResponse?.attraction.media ?? []).map((media) => media.url);
715
+ return html `
716
+ <coras-dialog
717
+ ?open=${this.isImageViewerModalOpen}
718
+ @dialog-closed=${this.toggleImageViewerModal}
719
+ expanded
720
+ >
721
+ <div class="image-viewer-modal-container">
722
+ <h2>${apiResponse?.attraction.attraction_name || ""}</h2>
723
+
724
+ <div class="image-viewer-modal-content">
725
+ <coras-image-viewer
726
+ assets-url="${this.assetsURL}"
727
+ .images=${imageUrls}
728
+ class="image-viewer-modal-image-viewer"
729
+ ></coras-image-viewer>
730
+ </div>
731
+
732
+ <coras-button
733
+ variant="primary"
734
+ ?loading=${this.isCheckingAvailability}
735
+ @click=${this.handleCheckButtonClicked}
736
+ >
737
+ ${msg("Check Availability")}
738
+ </coras-button>
739
+ </div>
740
+ </coras-dialog>
741
+ `;
742
+ };
743
+ this.handleTimeOptionChipClicked = (id, value, type) => {
744
+ const currentOptions = this.selectedTimeOptions[id] || {};
745
+ this.selectedTimeOptions = {
746
+ ...this.selectedTimeOptions,
747
+ [id]: {
748
+ ...currentOptions,
749
+ [type]: value,
750
+ },
751
+ };
752
+ };
753
+ this.renderTourOptionChips = ({ selectionId, languagesSpoken, }) => {
754
+ const languageEntries = Object.entries(languagesSpoken);
755
+ return html `${map(languageEntries, ([key, label]) => {
756
+ const isSelected = this.selectedTimeOptions[selectionId]?.language === key;
757
+ return html `
758
+ <coras-option-chip
759
+ ?selected=${isSelected}
760
+ @click=${() => this.handleTimeOptionChipClicked(selectionId, key, "language")}
761
+ >
762
+ ${label}
763
+ </coras-option-chip>
764
+ `;
765
+ })}`;
766
+ };
767
+ this.renderTimeOptionChips = ({ selectionId, startDatetime, timezone, }) => {
768
+ if (!startDatetime) {
769
+ return nothing;
770
+ }
771
+ const formattedTime = formatTimeForDisplay({
772
+ dateTime: startDatetime,
773
+ timezone,
774
+ locale: this.locale,
775
+ });
776
+ const isSelected = this.selectedTimeOptions[selectionId]?.time === startDatetime;
777
+ return html `
778
+ <coras-option-chip
779
+ ?selected=${isSelected}
780
+ @click=${() => this.handleTimeOptionChipClicked(selectionId, startDatetime, "time")}
781
+ >
782
+ ${formattedTime}
783
+ </coras-option-chip>
784
+ `;
785
+ };
786
+ this.renderTourOptions = (items) => {
787
+ return html `${map(items, ({ name, languages_spoken, selection_id, prices, start_datetime, timezone, max_full_price, }) => {
788
+ // The availability API returns one `start_datetime` per item, so each
789
+ // tour option is a single timed slot (a tour offered at several times
790
+ // arrives as several items). There is thus one time per option: the
791
+ // per-option time picker stays collapsed and the slot shows as a badge.
792
+ // Grouping items into a single multi-time option is a separate feature
793
+ // that also needs the selection_id<->time basket mapping reworked.
794
+ const hasOnlyOneTimeOption = true;
795
+ const hasMultipleLanguages = Object.keys(languages_spoken || {}).length > 1;
796
+ return html `
797
+ <coras-attraction-option
798
+ caption=${name || ""}
799
+ details=${formatTicketDetails({
800
+ prices,
801
+ locale: this.locale,
802
+ currency: this.currency,
803
+ })}
804
+ price=${convertToLocaleCurrency({
805
+ value: max_full_price[this.currency] || 0,
806
+ locale: this.locale,
807
+ currency: this.currency,
808
+ })}
809
+ ?show-time-options=${!hasOnlyOneTimeOption}
810
+ ?show-language-options=${hasMultipleLanguages}
811
+ >
812
+ ${hasOnlyOneTimeOption
813
+ ? html `<coras-time-tag
814
+ slot="badge"
815
+ assets-url="${this.assetsURL}"
816
+ datetime=${start_datetime}
817
+ timezone=${timezone}
818
+ locale=${this.locale}
819
+ ></coras-time-tag>`
820
+ : nothing}
821
+ ${!hasOnlyOneTimeOption
822
+ ? html `<coras-option-group slot="time-options">
823
+ ${this.renderTimeOptionChips({
824
+ selectionId: selection_id,
825
+ startDatetime: start_datetime,
826
+ timezone,
827
+ })}
828
+ </coras-option-group>`
829
+ : nothing}
830
+ ${hasMultipleLanguages
831
+ ? html `<coras-option-group slot="language-options">
832
+ ${this.renderTourOptionChips({
833
+ selectionId: selection_id,
834
+ languagesSpoken: languages_spoken,
835
+ })}
836
+ </coras-option-group>`
837
+ : nothing}
838
+
839
+ <coras-button
840
+ slot="basket-button"
841
+ variant="text"
842
+ ?loading=${this.isAddingToBasket(selection_id || undefined)}
843
+ @click=${() => this.handleBasketModalToggle(selection_id)}
844
+ >
845
+ ${msg("Add to basket")}
846
+ </coras-button>
847
+ </coras-attraction-option>
848
+ `;
849
+ })}`;
850
+ };
851
+ this.handleSeatsConfirmed = async (event) => {
852
+ // Capture the selector now: currentTarget is nulled once dispatch ends, and
853
+ // we only read it after awaiting the reservation.
854
+ const selector = event.target;
855
+ await this.reservationsTask.run(["", "", event.detail]);
856
+ if (this.reservationsTask.status !== TaskStatus.ERROR &&
857
+ this.reservationsTask.value &&
858
+ Object.keys(this.reservationsTask.value).length > 0) {
859
+ // Close the fixed seat-summary bar so it doesn't sit over the basket.
860
+ selector?.reservationCreated();
861
+ const isMobile = window.matchMedia("(max-width: 800px)").matches;
862
+ if (isMobile) {
863
+ this.isBasketModalOpened = !this.isBasketModalOpened;
864
+ scrollToTop();
865
+ }
866
+ else {
867
+ isBasketDropdownOpen.set(true);
868
+ scrollToTop();
869
+ }
870
+ }
871
+ };
872
+ this.renderAvailabilityOptions = () => {
873
+ if (!this.shouldRenderOptions) {
874
+ return nothing;
875
+ }
876
+ return this.availabilityTask.render({
877
+ complete: (value) => {
878
+ if (!value || value.length === 0) {
879
+ return nothing;
880
+ }
881
+ const optionsCount = value.length;
882
+ const isTour = this.attractionTask.value?.attraction_type === "TOUR";
883
+ if (isTour) {
884
+ return html `
885
+ <div class="options">
886
+ <div class="header">
887
+ ${msg(str `We have ${optionsCount} available options`)}
888
+ </div>
889
+ <div class="tour-options">
890
+ ${this.renderTourOptions([...value])}
891
+ </div>
892
+ </div>
893
+ `;
894
+ }
895
+ else {
896
+ const timeGroups = groupAvailabilityByTime([...value], this.locale);
897
+ const sortedTimes = sortTimes(Array.from(timeGroups.keys()));
898
+ const filteredOptions = this.selectedTime
899
+ ? Array.from(timeGroups.get(this.selectedTime) || [])
900
+ : [];
901
+ const seatedPerformance = this.findSeatedPerformance(filteredOptions);
902
+ // Only offer the time picker when there is an actual choice. A single
903
+ // performance time is auto-selected above, so showing one lone button
904
+ // is noise — render straight to the seat/section options instead.
905
+ const showTimePicker = sortedTimes.length > 1;
906
+ return html `
907
+ <div class="options">
908
+ ${showTimePicker
909
+ ? html `
910
+ <div class="performance-times-label">
911
+ ${msg("Please select a performance time")}
912
+ </div>
913
+ <div class="performance-times">
914
+ ${map(sortedTimes, (time) => html `
915
+ <coras-performance-time
916
+ assets-url="${this.assetsURL}"
917
+ text="${time}"
918
+ ?selected=${time === this.selectedTime}
919
+ @click=${() => {
920
+ this.selectedTime = time;
921
+ this.seatsFallback = false;
922
+ }}
923
+ ></coras-performance-time>
924
+ `)}
925
+ </div>
926
+ `
927
+ : ""}
928
+ ${seatedPerformance
929
+ ? this.renderSeatedSelector(seatedPerformance)
930
+ : this.renderSectionOptions(filteredOptions)}
931
+ </div>
932
+ `;
933
+ }
934
+ },
935
+ error: (error) => {
936
+ const apiError = error;
937
+ if (apiError.code === 37) {
938
+ return html `${msg("Please select the number of tickets.")}`;
939
+ }
940
+ return html `${msg("Error!")}`;
941
+ },
942
+ });
943
+ };
944
+ this.renderReservationPreviewModal = () => {
945
+ const apiResponse = this.attractionTask.value;
946
+ const availabilityData = this.availabilityTask.value || [];
947
+ if (!apiResponse || !this.selectedSectionId) {
948
+ return nothing;
949
+ }
950
+ const selectedSection = availabilityData.find((item) => item.selection_id === this.selectedSectionId);
951
+ if (!selectedSection) {
952
+ return nothing;
953
+ }
954
+ const sectionName = selectedSection.name || "";
955
+ const ticketsCount = getTotalTicketsCount(this.selectedPriceTypes);
956
+ let formattedDate = "";
957
+ let venueInfo = "";
958
+ if (selectedSection.start_datetime) {
959
+ formattedDate = formatDateTimeForDisplay({
960
+ dateTime: selectedSection.start_datetime,
961
+ timezone: apiResponse.attraction.timezone,
962
+ locale: this.locale,
963
+ });
964
+ }
965
+ else if (this.date) {
966
+ formattedDate = formatDateTimeForDisplay({
967
+ dateTime: this.date,
968
+ timezone: apiResponse.attraction.timezone,
969
+ locale: this.locale,
970
+ });
971
+ }
972
+ if ("location_name" in apiResponse.attraction &&
973
+ apiResponse.attraction.location_name) {
974
+ venueInfo = apiResponse.attraction.location_name;
975
+ if (apiResponse.attraction.city) {
976
+ venueInfo += `, ${apiResponse.attraction.city}`;
977
+ }
978
+ }
979
+ else if (apiResponse.attraction.city) {
980
+ venueInfo = apiResponse.attraction.city;
981
+ }
982
+ const subheaderText = formattedDate + (venueInfo ? `, ${venueInfo}` : "");
983
+ const summary = getAvailabilitySummary(selectedSection, this.currency);
984
+ const ticketItems = (selectedSection.prices || [])
985
+ .map((priceItem) => {
986
+ if (!priceItem.price_type_name)
987
+ return null;
988
+ const count = priceItem.number_of_tickets || 1;
989
+ const formattedUnitPrice = convertToLocaleCurrency({
990
+ value: priceItem.price?.[this.currency] ?? summary.pricePerTicket,
991
+ locale: this.locale,
992
+ currency: this.currency,
993
+ });
994
+ const totalTicketPriceValue = (priceItem.price?.[this.currency] ?? summary.pricePerTicket) * count;
995
+ const formattedTotalTicketPrice = convertToLocaleCurrency({
996
+ value: totalTicketPriceValue,
997
+ locale: this.locale,
998
+ currency: this.currency,
999
+ });
1000
+ return {
1001
+ label: `${count} Tickets (${formattedUnitPrice} each)`,
1002
+ price: formattedTotalTicketPrice,
1003
+ };
1004
+ })
1005
+ .filter((item) => item !== null);
1006
+ // Calculate booking fee
1007
+ const bookingFee = convertToLocaleCurrency({
1008
+ value: summary.bookingFeePerTicket,
1009
+ locale: this.locale,
1010
+ currency: this.currency,
1011
+ });
1012
+ const formattedTotalBookingFee = convertToLocaleCurrency({
1013
+ value: summary.totalFee,
1014
+ locale: this.locale,
1015
+ currency: this.currency,
1016
+ });
1017
+ const formattedTotalSum = convertToLocaleCurrency({
1018
+ value: summary.totalPrice,
1019
+ locale: this.locale,
1020
+ currency: this.currency,
1021
+ });
1022
+ const attractionName = apiResponse.attraction.attraction_name;
1023
+ return html `
1024
+ <coras-dialog
1025
+ ?open=${this.isReservationPreviewModalOpened}
1026
+ @dialog-closed=${() => {
1027
+ this.isReservationPreviewModalOpened = false;
1028
+ this.selectedSectionId = undefined;
1029
+ }}
1030
+ >
1031
+ <coras-reservation-preview
1032
+ header="${msg(str `${ticketsCount} Tickets for ${attractionName}`)}"
1033
+ subheader="${subheaderText}"
1034
+ section="${sectionName}"
1035
+ price="${formattedTotalSum}"
1036
+ >
1037
+ ${map(ticketItems, (item) => html `
1038
+ <coras-reservation-preview-item
1039
+ label="${item.label}"
1040
+ price="${item.price}"
1041
+ ></coras-reservation-preview-item>
1042
+ `)}
1043
+
1044
+ <coras-reservation-preview-item
1045
+ label="${msg(str `Booking fee (${bookingFee} per ticket)`)}"
1046
+ price="${formattedTotalBookingFee}"
1047
+ ></coras-reservation-preview-item>
1048
+
1049
+ <coras-button
1050
+ slot="action"
1051
+ variant="primary"
1052
+ ?loading=${this.isAddingToBasket(this.selectedSectionId)}
1053
+ @click="${async () => {
1054
+ await this.handleBasketModalToggle(this.selectedSectionId);
1055
+ this.isReservationPreviewModalOpened = false;
1056
+ // Defer scroll past the dialog's scroll-lock restore (rAF-deferred)
1057
+ setTimeout(() => scrollToTop(), 0);
1058
+ }}"
1059
+ >
1060
+ ${msg("Add to basket")}
1061
+ </coras-button>
1062
+
1063
+ ${"seat_map" in apiResponse.attraction &&
1064
+ apiResponse.attraction.seat_map
1065
+ ? html `
1066
+ <img
1067
+ slot="image"
1068
+ src="${apiResponse.attraction.seat_map}"
1069
+ alt="${msg("Seat Map")}"
1070
+ />
1071
+ `
1072
+ : nothing}
1073
+ </coras-reservation-preview>
1074
+ </coras-dialog>
1075
+ `;
1076
+ };
1077
+ this.renderDescription = () => {
1078
+ const attraction = this.attractionTask.value;
1079
+ if (!attraction) {
1080
+ return nothing;
1081
+ }
1082
+ if (attraction.attraction_type === "THEATER") {
1083
+ return html `
1084
+ <coras-theater-description
1085
+ .attraction=${attraction}
1086
+ ></coras-theater-description>
1087
+ `;
1088
+ }
1089
+ else if (attraction.attraction_type === "TOUR") {
1090
+ return html `
1091
+ <coras-tour-description
1092
+ .attraction=${attraction}
1093
+ .assetsURL=${this.assetsURL}
1094
+ .locale=${this.locale}
1095
+ ></coras-tour-description>
1096
+ `;
1097
+ }
1098
+ return nothing;
1099
+ };
1100
+ this.renderBasketModal = () => {
1101
+ const apiResponse = this.attractionTask.value;
1102
+ const ticketsNumber = getTotalTicketsCount(this.selectedPriceTypes);
1103
+ const title = apiResponse?.attraction.attraction_name || "";
1104
+ let formattedDate = "";
1105
+ if (this.reservationsTask.value &&
1106
+ "start_datetime" in this.reservationsTask.value) {
1107
+ formattedDate = formatDateTimeForDisplay({
1108
+ dateTime: this.reservationsTask.value.start_datetime,
1109
+ timezone: apiResponse?.attraction?.timezone,
1110
+ locale: this.locale,
1111
+ }, {
1112
+ includeTime: true,
1113
+ });
1114
+ }
1115
+ else if (this.date) {
1116
+ formattedDate = formatDateTimeForDisplay({
1117
+ dateTime: this.date,
1118
+ timezone: apiResponse?.attraction?.timezone,
1119
+ locale: this.locale,
1120
+ });
1121
+ }
1122
+ const totalPrice = calculateTotalPrice(this.reservationsTask.value && "tickets" in this.reservationsTask.value
1123
+ ? this.reservationsTask.value.tickets
1124
+ : undefined);
1125
+ const formattedPrice = convertToLocaleCurrency({
1126
+ value: totalPrice,
1127
+ locale: this.locale,
1128
+ currency: this.currency,
1129
+ });
1130
+ const productName = msg(str `${ticketsNumber} tickets for ${title}`);
1131
+ const imageUrl = apiResponse?.attraction.media?.[0]?.url || "";
1132
+ return html `
1133
+ <coras-dialog
1134
+ ?open=${this.isBasketModalOpened}
1135
+ label=${msg("Added to basket")}
1136
+ @dialog-closed=${() => this.handleBasketModalToggle()}
1137
+ >
1138
+ <div slot="header" class="basket-modal-header">
1139
+ <coras-icon
1140
+ assets-url="${this.assetsURL}"
1141
+ icon="check-circle"
1142
+ class="basket-modal-icon"
1143
+ ></coras-icon>
1144
+ <span class="basket-modal-title">${msg("Added to basket")}</span>
1145
+ </div>
1146
+ <div class="basket-modal-content">
1147
+ <coras-image
1148
+ src=${imageUrl}
1149
+ alt=${productName}
1150
+ width="70"
1151
+ height="70"
1152
+ loading="eager"
1153
+ preset="thumbnail"
1154
+ ></coras-image>
1155
+ <div class="basket-modal-description">
1156
+ <div class="basket-modal-name">${productName}</div>
1157
+ <div class="basket-modal-date">${formattedDate}</div>
1158
+ <div class="basket-modal-price">${formattedPrice}</div>
1159
+ </div>
1160
+ </div>
1161
+ <div slot="footer" class="basket-modal-footer">
1162
+ <coras-button
1163
+ variant="primary"
1164
+ @click=${this.handleGoToBasketButtonClicked}
1165
+ >
1166
+ ${msg("Go to basket")}
1167
+ </coras-button>
1168
+ <coras-button
1169
+ variant="outlined"
1170
+ @click=${() => {
1171
+ this.isBasketModalOpened = false;
1172
+ }}
1173
+ >
1174
+ ${msg("Continue shopping")}
1175
+ </coras-button>
1176
+ </div>
1177
+ </coras-dialog>
1178
+ `;
1179
+ };
1180
+ this.renderAvailabilityAlert = () => {
1181
+ if (!this.hasAvailabilityError) {
1182
+ return nothing;
1183
+ }
1184
+ const title = msg("We're sorry, there are not enough tickets available for this event");
1185
+ const description = msg("Please try a different date or number of tickets");
1186
+ return html `
1187
+ <coras-alert assets-url=${this.assetsURL} variant="error" title=${title}>
1188
+ ${description}
1189
+ </coras-alert>
1190
+ `;
1191
+ };
1192
+ }
1193
+ static { this.styles = [
1194
+ super.styles,
1195
+ styles,
1196
+ ]; }
1197
+ getPageProperties() {
1198
+ return {
1199
+ page: "details",
1200
+ currency: this.currency,
1201
+ locale: this.locale,
1202
+ id: this.attractionId,
1203
+ date: this.date,
1204
+ };
1205
+ }
1206
+ updated(changedProperties) {
1207
+ super.updated(changedProperties);
1208
+ if (getLocale() !== this.locale) {
1209
+ setLocale(this.locale);
1210
+ }
1211
+ if (changedProperties.has("currency") || changedProperties.has("locale")) {
1212
+ if (this.availabilityTask.status === TaskStatus.COMPLETE ||
1213
+ this.availabilityTask.status === TaskStatus.ERROR) {
1214
+ this.availabilityTask.run();
1215
+ }
1216
+ }
1217
+ if (changedProperties.has("attractionId")) {
1218
+ this.resetAvailabilityState();
1219
+ }
1220
+ }
1221
+ resetAvailabilityState() {
1222
+ this.shouldRenderOptions = false;
1223
+ this.hasAvailabilityError = false;
1224
+ this.selectedTime = null;
1225
+ this.selectedTimeOptions = {};
1226
+ this.selectedSectionId = undefined;
1227
+ this.isReservationPreviewModalOpened = false;
1228
+ this.isBasketModalOpened = false;
1229
+ this.selectedPriceTypes = {};
1230
+ }
1231
+ updateDateParam({ date, timezone, }) {
1232
+ const firstAvailabilityDate = timezone
1233
+ ? formatDateWithTimezone({
1234
+ dateString: date,
1235
+ timezone,
1236
+ formatString: "yyyy-MM-dd",
1237
+ })
1238
+ : formatISO(parseISO(date), {
1239
+ representation: "date",
1240
+ });
1241
+ this.dispatchPageUpdate({
1242
+ date: firstAvailabilityDate,
1243
+ });
1244
+ }
1245
+ async handleBasketModalToggle(selection_id) {
1246
+ // TODO: check if success, if not show error message
1247
+ // TODO: it calls the task once again when modal is closed
1248
+ if (selection_id) {
1249
+ this.loadingSelectionIds = new Set([
1250
+ ...this.loadingSelectionIds,
1251
+ selection_id,
1252
+ ]);
1253
+ const selectedOption = this.selectedTimeOptions[selection_id] || {};
1254
+ const language = selectedOption.language || "";
1255
+ try {
1256
+ await this.reservationsTask.run([language, selection_id]);
1257
+ if (this.reservationsTask.status !== TaskStatus.ERROR &&
1258
+ this.reservationsTask.value &&
1259
+ Object.keys(this.reservationsTask.value).length > 0) {
1260
+ // TODO: make reusable
1261
+ const isMobile = window.matchMedia("(max-width: 800px)").matches;
1262
+ if (isMobile) {
1263
+ this.isBasketModalOpened = !this.isBasketModalOpened;
1264
+ scrollToTop();
1265
+ }
1266
+ else {
1267
+ isBasketDropdownOpen.set(true);
1268
+ scrollToTop();
1269
+ }
1270
+ return true;
1271
+ }
1272
+ return false;
1273
+ }
1274
+ finally {
1275
+ const newLoadingSelectionIds = new Set(this.loadingSelectionIds);
1276
+ newLoadingSelectionIds.delete(selection_id);
1277
+ this.loadingSelectionIds = newLoadingSelectionIds;
1278
+ }
1279
+ }
1280
+ else {
1281
+ this.isBasketModalOpened = false;
1282
+ return true;
1283
+ }
1284
+ }
1285
+ buildSectionTickets(selection_id) {
1286
+ const apiResponse = this.attractionTask.value;
1287
+ const availabilityItems = this.availabilityTask
1288
+ .value || [];
1289
+ const selectedOption = availabilityItems.find((item) => item.selection_id === selection_id);
1290
+ const selectedOptionPriceTypeIds = selectedOption?.prices?.map((price) => price.price_type_id) || [];
1291
+ const isTheatre = apiResponse?.attraction_type === "THEATER";
1292
+ return Object.entries(this.selectedPriceTypes)
1293
+ .filter(([key]) => isTheatre || selectedOptionPriceTypeIds.includes(key))
1294
+ .map(([key, value]) => ({
1295
+ number_of_tickets: value,
1296
+ price_type_id: key,
1297
+ booking_fee: null,
1298
+ seats: null,
1299
+ }));
1300
+ }
1301
+ toggleCalendarDropdown() {
1302
+ this.isCalendarDropdownOpen = !this.isCalendarDropdownOpen;
1303
+ }
1304
+ toggleImageViewerModal() {
1305
+ this.isImageViewerModalOpen = !this.isImageViewerModalOpen;
1306
+ }
1307
+ get isCheckingAvailability() {
1308
+ return (this.bookingSessionTask.status === TaskStatus.PENDING ||
1309
+ this.availabilityTask.status === TaskStatus.PENDING);
1310
+ }
1311
+ isAddingToBasket(selectionId) {
1312
+ if (!selectionId) {
1313
+ return this.reservationsTask.status === TaskStatus.PENDING;
1314
+ }
1315
+ return this.loadingSelectionIds.has(selectionId);
1316
+ }
1317
+ renderBreadcrumbs() {
1318
+ const apiResponse = this.attractionTask.value;
1319
+ if (!apiResponse)
1320
+ return nothing;
1321
+ const { attraction } = apiResponse;
1322
+ const location = attraction.location;
1323
+ if (!location)
1324
+ return nothing;
1325
+ const cityName = location.location_type === "city" ? location.name : null;
1326
+ const citySlug = location.location_type === "city" ? location.slug : null;
1327
+ const country = location.location_type === "city"
1328
+ ? location.parent_location
1329
+ : location.location_type === "country"
1330
+ ? location
1331
+ : null;
1332
+ const countryName = country?.name;
1333
+ const countrySlug = country?.slug;
1334
+ const handleCountryClick = () => {
1335
+ if (!countrySlug)
1336
+ return;
1337
+ this.dispatchPageUpdate({
1338
+ page: "landing",
1339
+ country: countrySlug,
1340
+ city: "",
1341
+ });
1342
+ };
1343
+ const handleCityClick = () => {
1344
+ if (!countrySlug || !citySlug)
1345
+ return;
1346
+ this.dispatchPageUpdate({
1347
+ page: "landing",
1348
+ country: countrySlug,
1349
+ city: citySlug,
1350
+ });
1351
+ };
1352
+ const handleCategoryClick = () => {
1353
+ if (!countrySlug || !citySlug)
1354
+ return;
1355
+ this.dispatchPageUpdate({
1356
+ page: "landing",
1357
+ country: countrySlug,
1358
+ city: citySlug,
1359
+ categories: attraction.main_category.slug,
1360
+ });
1361
+ };
1362
+ return html `
1363
+ <coras-breadcrumbs assets-url="${this.assetsURL}">
1364
+ ${countryName
1365
+ ? html `<coras-breadcrumb-item @click=${handleCountryClick} clickable>
1366
+ ${countryName}
1367
+ </coras-breadcrumb-item>`
1368
+ : nothing}
1369
+ ${cityName
1370
+ ? html `<coras-breadcrumb-item @click=${handleCityClick} clickable>
1371
+ ${cityName}
1372
+ </coras-breadcrumb-item>`
1373
+ : nothing}
1374
+ ${attraction.main_category.name
1375
+ ? html `<coras-breadcrumb-item @click=${handleCategoryClick} clickable>
1376
+ ${attraction.main_category.name}
1377
+ </coras-breadcrumb-item>`
1378
+ : nothing}
1379
+ <coras-breadcrumb-item>
1380
+ ${attraction.attraction_name}
1381
+ </coras-breadcrumb-item>
1382
+ </coras-breadcrumbs>
1383
+ `;
1384
+ }
1385
+ // Resolves the selected performance to the seat map's one prerequisite: the
1386
+ // instance_id (the seats.io event key and the seats endpoint path param).
1387
+ // Price bands and per-seat data come from the seats endpoint itself, so the
1388
+ // availability item only has to supply the instance. Returns null to fall
1389
+ // back to the section picker. All section items of a performance share the
1390
+ // same instance_id, so the first option resolves it.
1391
+ findSeatedPerformance(options) {
1392
+ const apiResponse = this.attractionTask.value;
1393
+ if (this.seatsFallback ||
1394
+ !this.configTask.value ||
1395
+ apiResponse?.attraction_type !== "THEATER") {
1396
+ return null;
1397
+ }
1398
+ // attraction_type is "THEATER" | "TOUR" on both variants, so it cannot
1399
+ // narrow the union structurally; the runtime check above is the guard.
1400
+ const event = apiResponse;
1401
+ if (!event.attraction.seats_sales_enabled) {
1402
+ return null;
1403
+ }
1404
+ const [option] = options;
1405
+ if (!option) {
1406
+ return null;
1407
+ }
1408
+ return {
1409
+ instanceId: option.instance_id,
1410
+ startDatetime: option.start_datetime,
1411
+ };
1412
+ }
1413
+ renderSeatedSelector(performance) {
1414
+ const seatsConfig = this.configTask.value;
1415
+ return html `
1416
+ <coras-seated-selector
1417
+ attraction-id="${this.attractionId}"
1418
+ instance-id="${performance.instanceId}"
1419
+ assets-url="${this.assetsURL}"
1420
+ workspace-key="${seatsConfig.workspaceKey}"
1421
+ region="${seatsConfig.region}"
1422
+ date-label="${formatDate(performance.startDatetime, this.locale, true)}"
1423
+ ticket-count=${getTotalTicketsCount(this.selectedPriceTypes)}
1424
+ @seats-unavailable=${() => (this.seatsFallback = true)}
1425
+ @seats-confirmed=${this.handleSeatsConfirmed}
1426
+ ></coras-seated-selector>
1427
+ `;
1428
+ }
1429
+ renderSectionOptions(filteredOptions) {
1430
+ return html `
1431
+ <div class="sport-options">
1432
+ <coras-sport-options
1433
+ label="${msg(str `We have ${filteredOptions.length} available options`)}"
1434
+ >
1435
+ ${map(filteredOptions, ({ name, selection_id, prices }) => html `
1436
+ <coras-sport-option
1437
+ assets-url="${this.assetsURL}"
1438
+ section="${name || ""}"
1439
+ price="${sumPricesAndFormat({
1440
+ prices,
1441
+ locale: this.locale,
1442
+ currency: this.currency,
1443
+ })}"
1444
+ @click=${() => {
1445
+ this.isReservationPreviewModalOpened = true;
1446
+ this.selectedSectionId = selection_id;
1447
+ }}
1448
+ ></coras-sport-option>
1449
+ `)}
1450
+ </coras-sport-options>
1451
+ </div>
1452
+ `;
1453
+ }
1454
+ handleGoToBasketButtonClicked() {
1455
+ this.handleBasketModalToggle();
1456
+ // TODO: make reusable
1457
+ const isMobile = window.matchMedia("(max-width: 800px)").matches;
1458
+ if (isMobile) {
1459
+ isBasketMobileOpen.set(true);
1460
+ scrollToTop();
1461
+ }
1462
+ else {
1463
+ isBasketDropdownOpen.set(true);
1464
+ scrollToTop();
1465
+ }
1466
+ }
1467
+ render() {
1468
+ return html `
1469
+ <coras-layout with-basket>
1470
+ <slot name="navbar" slot="navbar"></slot>
1471
+ ${this.attractionTask.render({
1472
+ error: () => {
1473
+ this.showErrorModalOnce();
1474
+ return html ``;
1475
+ },
1476
+ complete: () => {
1477
+ return html `
1478
+ ${this.renderBreadcrumbs()} ${this.renderAttractionHeader()}
1479
+ <div class="attraction-header">
1480
+ ${this.renderImageCarousel()} ${this.renderTicketAvailability()}
1481
+ ${this.renderAvailabilityAlert()}
1482
+ ${this.renderPayInComponents()}
1483
+ </div>
1484
+ ${this.renderAvailabilityOptions()}
1485
+ <div class="description">${this.renderDescription()}</div>
1486
+ ${this.isReservationPreviewModalOpened
1487
+ ? this.renderReservationPreviewModal()
1488
+ : nothing}
1489
+ ${this.isBasketModalOpened ? this.renderBasketModal() : nothing}
1490
+ ${this.isImageViewerModalOpen
1491
+ ? this.renderImageViewerModal()
1492
+ : nothing}
1493
+ `;
1494
+ },
1495
+ })}
1496
+ ${this.renderErrorModal({
1497
+ assetsURL: this.assetsURL,
1498
+ buttonLabel: msg("Refresh the page"),
1499
+ onRetry: () => this.attractionTask.run(),
1500
+ onHelp: () => this.dispatchPageUpdate({ page: "help" }),
1501
+ })}
1502
+ <slot name="footer" slot="footer"></slot>
1503
+ </coras-layout>
1504
+ `;
1505
+ }
1506
+ };
1507
+ __decorate([
1508
+ property({ type: String, attribute: "attraction-id" })
1509
+ ], CorasDetailsPage.prototype, "attractionId", void 0);
1510
+ __decorate([
1511
+ property({ type: String })
1512
+ ], CorasDetailsPage.prototype, "date", void 0);
1513
+ __decorate([
1514
+ consume({ context: currentPageContext })
1515
+ ], CorasDetailsPage.prototype, "currentPage", void 0);
1516
+ __decorate([
1517
+ consume({ context: loyaltyPointsContext, subscribe: true })
1518
+ ], CorasDetailsPage.prototype, "loyaltyPoints", void 0);
1519
+ __decorate([
1520
+ state()
1521
+ ], CorasDetailsPage.prototype, "currentMonth", void 0);
1522
+ __decorate([
1523
+ state()
1524
+ ], CorasDetailsPage.prototype, "selectedPriceTypes", void 0);
1525
+ __decorate([
1526
+ state()
1527
+ ], CorasDetailsPage.prototype, "isCalendarDropdownOpen", void 0);
1528
+ __decorate([
1529
+ state()
1530
+ ], CorasDetailsPage.prototype, "isImageViewerModalOpen", void 0);
1531
+ __decorate([
1532
+ state()
1533
+ ], CorasDetailsPage.prototype, "shouldRenderOptions", void 0);
1534
+ __decorate([
1535
+ state()
1536
+ ], CorasDetailsPage.prototype, "isBasketModalOpened", void 0);
1537
+ __decorate([
1538
+ state()
1539
+ ], CorasDetailsPage.prototype, "selectedTimeOptions", void 0);
1540
+ __decorate([
1541
+ state()
1542
+ ], CorasDetailsPage.prototype, "isSingleDayAvailability", void 0);
1543
+ __decorate([
1544
+ state()
1545
+ ], CorasDetailsPage.prototype, "availabilityDays", void 0);
1546
+ __decorate([
1547
+ state()
1548
+ ], CorasDetailsPage.prototype, "isReservationPreviewModalOpened", void 0);
1549
+ __decorate([
1550
+ state()
1551
+ ], CorasDetailsPage.prototype, "selectedSectionId", void 0);
1552
+ __decorate([
1553
+ state()
1554
+ ], CorasDetailsPage.prototype, "selectedTime", void 0);
1555
+ __decorate([
1556
+ state()
1557
+ ], CorasDetailsPage.prototype, "hasAvailabilityError", void 0);
1558
+ __decorate([
1559
+ state()
1560
+ ], CorasDetailsPage.prototype, "loadingSelectionIds", void 0);
1561
+ __decorate([
1562
+ state()
1563
+ ], CorasDetailsPage.prototype, "seatsFallback", void 0);
1564
+ CorasDetailsPage = __decorate([
1565
+ localized()
1566
+ ], CorasDetailsPage);
1567
+ export { CorasDetailsPage };