bookito-widget 0.43.1 → 1.0.0-beta.2

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 (349) hide show
  1. package/README.md +191 -7
  2. package/dist/bookito-widget.css +3 -0
  3. package/dist/bookito-widget.iife.js +112 -0
  4. package/dist/bookito-widget.js +40173 -0
  5. package/dist/bookito-widget.umd.js +104 -1992
  6. package/dist/bookito-widget.window.js +104 -1992
  7. package/dist/src/app/i18n/index.d.ts +868 -0
  8. package/dist/src/app/i18n/locales/de.d.ts +86 -0
  9. package/dist/src/app/i18n/locales/en.d.ts +86 -0
  10. package/dist/src/app/i18n/locales/fr.d.ts +86 -0
  11. package/dist/src/app/i18n/locales/it.d.ts +86 -0
  12. package/dist/src/app/i18n/locales/pl.d.ts +86 -0
  13. package/dist/src/app/providers/BookitoWidgetRoot.vue.d.ts +8 -0
  14. package/dist/src/app/query/query-client.d.ts +2 -0
  15. package/dist/src/embed/global-api.d.ts +9 -0
  16. package/dist/src/embed/mount-registry.d.ts +10 -0
  17. package/dist/src/embed/mount.d.ts +12 -0
  18. package/dist/src/embed/open-modal.d.ts +11 -0
  19. package/dist/src/embed/shadow-dom.d.ts +5 -0
  20. package/dist/src/embed/vue-plugin.d.ts +14 -0
  21. package/dist/src/embed.d.ts +1 -0
  22. package/dist/src/features/booking-flow/api/bookito-booking.client.d.ts +2 -0
  23. package/dist/src/features/booking-flow/api/bookito-booking.dto.d.ts +25 -0
  24. package/dist/src/features/booking-flow/api/bookito-booking.mutations.d.ts +2 -0
  25. package/dist/src/features/booking-flow/components/AnimatedSuccessCheckmark.vue.d.ts +2 -0
  26. package/dist/src/features/booking-flow/components/BookingCheckbox.vue.d.ts +11 -0
  27. package/dist/src/features/booking-flow/components/BookingDetailsDateOfBirthInput.vue.d.ts +10 -0
  28. package/dist/src/features/booking-flow/components/BookingDetailsDialCodePicker.vue.d.ts +11 -0
  29. package/dist/src/features/booking-flow/components/BookingDetailsDialCodePickerContent.vue.d.ts +9 -0
  30. package/dist/src/features/booking-flow/components/BookingDetailsField.vue.d.ts +20 -0
  31. package/dist/src/features/booking-flow/components/BookingDetailsLanguageSelect.vue.d.ts +9 -0
  32. package/dist/src/features/booking-flow/components/BookingDetailsPhoneInput.vue.d.ts +12 -0
  33. package/dist/src/features/booking-flow/components/BookingDetailsSection.vue.d.ts +30 -0
  34. package/dist/src/features/booking-flow/components/BookingDetailsTextInput.vue.d.ts +13 -0
  35. package/dist/src/features/booking-flow/components/BookingExtras.vue.d.ts +15 -0
  36. package/dist/src/features/booking-flow/components/BookingFlowNextButton.vue.d.ts +10 -0
  37. package/dist/src/features/booking-flow/components/BookingFlowPanel.vue.d.ts +7 -0
  38. package/dist/src/features/booking-flow/components/BookingFlowStepper.vue.d.ts +13 -0
  39. package/dist/src/features/booking-flow/components/BookingFlowSuccess.vue.d.ts +5 -0
  40. package/dist/src/features/booking-flow/components/BookingGuestChips.vue.d.ts +11 -0
  41. package/dist/src/features/booking-flow/components/BookingGuestsStep.vue.d.ts +15 -0
  42. package/dist/src/features/booking-flow/components/BookingParticipantCounter.vue.d.ts +13 -0
  43. package/dist/src/features/booking-flow/components/BookingTimeSection.vue.d.ts +24 -0
  44. package/dist/src/features/booking-flow/components/booking-flow.props.d.ts +31 -0
  45. package/dist/src/features/booking-flow/composables/create-booking-flow-api.d.ts +70 -0
  46. package/dist/src/features/booking-flow/composables/useBookingFlow.d.ts +52 -0
  47. package/dist/src/features/booking-flow/composables/useBookingFlowActions.d.ts +13 -0
  48. package/dist/src/features/booking-flow/composables/useBookingFlowActions.types.d.ts +31 -0
  49. package/dist/src/features/booking-flow/composables/useBookingFlowFormSync.d.ts +12 -0
  50. package/dist/src/features/booking-flow/composables/useBookingFlowWaitlist.d.ts +17 -0
  51. package/dist/src/features/booking-flow/composables/useBookingGuestsStepLabels.d.ts +26 -0
  52. package/dist/src/features/booking-flow/composables/useBookingTimeSectionState.d.ts +19 -0
  53. package/dist/src/features/booking-flow/composables/useBookingTimeSlots.d.ts +18 -0
  54. package/dist/src/features/booking-flow/lib/booking-calendar-bounds.d.ts +9 -0
  55. package/dist/src/features/booking-flow/lib/booking-details-flow.helpers.d.ts +11 -0
  56. package/dist/src/features/booking-flow/lib/booking-details.helpers.d.ts +26 -0
  57. package/dist/src/features/booking-flow/lib/booking-external-participant.helpers.d.ts +10 -0
  58. package/dist/src/features/booking-flow/lib/booking-flow-stepper.helpers.d.ts +17 -0
  59. package/dist/src/features/booking-flow/lib/booking-flow.actions.d.ts +34 -0
  60. package/dist/src/features/booking-flow/lib/booking-flow.helpers.d.ts +32 -0
  61. package/dist/src/features/booking-flow/lib/booking-participants.helpers.d.ts +4 -0
  62. package/dist/src/features/booking-flow/lib/booking-payload-label.helpers.d.ts +14 -0
  63. package/dist/src/features/booking-flow/lib/booking-payload.helpers.d.ts +11 -0
  64. package/dist/src/features/booking-flow/lib/booking-step-completion.helpers.d.ts +2 -0
  65. package/dist/src/features/booking-flow/lib/booking-time-slot-payload.helpers.d.ts +8 -0
  66. package/dist/src/features/booking-flow/lib/filter-phone-dial-codes.d.ts +2 -0
  67. package/dist/src/features/booking-flow/lib/format-booking-time-slot-label.d.ts +13 -0
  68. package/dist/src/features/booking-flow/lib/phone-dial-code-countries.data.d.ts +2 -0
  69. package/dist/src/features/booking-flow/lib/phone-dial-codes.d.ts +6 -0
  70. package/dist/src/features/booking-flow/lib/reset-booking-auth.helpers.d.ts +1 -0
  71. package/dist/src/features/booking-flow/lib/reset-booking-confirm-step.helpers.d.ts +2 -0
  72. package/dist/src/features/booking-flow/lib/resolve-booking-total-price.d.ts +10 -0
  73. package/dist/src/features/booking-flow/lib/resolve-booking-waitlist.d.ts +19 -0
  74. package/dist/src/features/booking-flow/model/booking-display-step.types.d.ts +6 -0
  75. package/dist/src/features/booking-flow/model/booking-form-date.helpers.d.ts +10 -0
  76. package/dist/src/features/booking-flow/model/booking-form-navigation.helpers.d.ts +2 -0
  77. package/dist/src/features/booking-flow/model/booking-form.types.d.ts +27 -0
  78. package/dist/src/features/bookito-settings/api/bookito-settings.client.d.ts +2 -0
  79. package/dist/src/features/bookito-settings/api/bookito-settings.keys.d.ts +4 -0
  80. package/dist/src/features/bookito-settings/api/bookito-settings.queries.d.ts +2 -0
  81. package/dist/src/features/bookito-settings/model/bookito-settings.types.d.ts +27 -0
  82. package/dist/src/features/event-feed/api/bookito-event-category.client.d.ts +4 -0
  83. package/dist/src/features/event-feed/api/bookito-event-category.dto.d.ts +11 -0
  84. package/dist/src/features/event-feed/api/bookito-event-category.queries.d.ts +9 -0
  85. package/dist/src/features/event-feed/api/bookito-event-modal-dates.helpers.d.ts +6 -0
  86. package/dist/src/features/event-feed/api/bookito-event.client.d.ts +5 -0
  87. package/dist/src/features/event-feed/api/bookito-event.dto.d.ts +102 -0
  88. package/dist/src/features/event-feed/api/bookito-event.keys.d.ts +7 -0
  89. package/dist/src/features/event-feed/api/bookito-event.mapper-helpers.d.ts +17 -0
  90. package/dist/src/features/event-feed/api/bookito-event.mapper-image.helpers.d.ts +2 -0
  91. package/dist/src/features/event-feed/api/bookito-event.mapper-variant.helpers.d.ts +3 -0
  92. package/dist/src/features/event-feed/api/bookito-event.mapper.d.ts +6 -0
  93. package/dist/src/features/event-feed/api/bookito-event.queries.d.ts +24 -0
  94. package/dist/src/features/event-feed/api/bookito-time-slots.queries.d.ts +9 -0
  95. package/dist/src/features/event-feed/components/BookitoWidget.vue.d.ts +5 -0
  96. package/dist/src/features/event-feed/components/EventFeed.vue.d.ts +21 -0
  97. package/dist/src/features/event-feed/components/EventFeedScrollControls.vue.d.ts +13 -0
  98. package/dist/src/features/event-feed/components/ExperienceCard.vue.d.ts +13 -0
  99. package/dist/src/features/event-feed/components/PoweredByCarlito.vue.d.ts +2 -0
  100. package/dist/src/features/event-feed/composables/useBookitoWidgetTheme.d.ts +2 -0
  101. package/dist/src/features/event-feed/composables/useEventFeedScroll.d.ts +8 -0
  102. package/dist/src/features/event-feed/lib/event-feed-date.utils.d.ts +15 -0
  103. package/dist/src/features/event-feed/lib/event-feed-item.helpers.d.ts +9 -0
  104. package/dist/src/features/event-feed/lib/event-feed-occurrence.helpers.d.ts +7 -0
  105. package/dist/src/features/event-feed/lib/event-feed.utils.d.ts +8 -0
  106. package/dist/src/features/event-feed/lib/resolve-localized-text.d.ts +2 -0
  107. package/dist/src/features/event-feed/model/widget.types.d.ts +96 -0
  108. package/dist/src/features/experience-detail/components/BookitoEventModal.vue.d.ts +14 -0
  109. package/dist/src/features/experience-detail/components/ExperienceDetailPanel.vue.d.ts +9 -0
  110. package/dist/src/features/experience-detail/components/ExperienceOverlay.vue.d.ts +16 -0
  111. package/dist/src/features/experience-detail/components/ExperienceOverlayContent.vue.d.ts +29 -0
  112. package/dist/src/features/experience-detail/components/ExperienceOverlayHeader.vue.d.ts +15 -0
  113. package/dist/src/features/experience-detail/composables/useExperienceOverlayBooking.d.ts +20 -0
  114. package/dist/src/features/experience-detail/lib/bookito-event-modal.helpers.d.ts +7 -0
  115. package/dist/src/features/experience-detail/lib/experience-booking-cancellation.helpers.d.ts +2 -0
  116. package/dist/src/features/experience-detail/lib/experience-booking-cutoff.helpers.d.ts +3 -0
  117. package/dist/src/features/experience-detail/lib/experience-booking-date.helpers.d.ts +3 -0
  118. package/dist/src/features/experience-detail/lib/experience-overlay.helpers.d.ts +3 -0
  119. package/dist/src/features/experience-detail/lib/resolve-experience-booking-availability.d.ts +39 -0
  120. package/dist/src/features/guest-auth/api/guest-auth.client.d.ts +2 -0
  121. package/dist/src/features/guest-auth/api/guest-auth.dto.d.ts +36 -0
  122. package/dist/src/features/guest-auth/api/guest-auth.mutations.d.ts +2 -0
  123. package/dist/src/features/guest-auth/lib/map-login-guests.d.ts +2 -0
  124. package/dist/src/index.d.ts +8 -0
  125. package/dist/src/shared/api/api-config.d.ts +5 -0
  126. package/dist/src/shared/api/auth-tokens.d.ts +3 -0
  127. package/dist/src/shared/api/federation-client.d.ts +14 -0
  128. package/dist/src/shared/api/federation-errors.d.ts +9 -0
  129. package/dist/src/shared/api/graphql-client.d.ts +22 -0
  130. package/dist/src/shared/api/subdomain-parameter.d.ts +8 -0
  131. package/dist/src/shared/calendar/BookingCalendar.vue.d.ts +15 -0
  132. package/dist/src/shared/calendar/BookingCalendarGrid.vue.d.ts +8 -0
  133. package/dist/src/shared/calendar/BookingCalendarNavigation.vue.d.ts +17 -0
  134. package/dist/src/shared/calendar/calendar-date-key.d.ts +4 -0
  135. package/dist/src/shared/calendar/calendar-date-value.d.ts +11 -0
  136. package/dist/src/shared/calendar/calendar-date.types.d.ts +1 -0
  137. package/dist/src/shared/calendar/hotel-calendar-date.d.ts +10 -0
  138. package/dist/src/shared/calendar/index.d.ts +1 -0
  139. package/dist/src/shared/calendar/useBookingCalendarState.d.ts +29 -0
  140. package/dist/src/shared/config/languages.d.ts +3 -0
  141. package/dist/src/shared/lib/format-booking-price.d.ts +2 -0
  142. package/dist/src/shared/lib/is-ios-platform.d.ts +1 -0
  143. package/dist/src/shared/lib/map-language-to-intl-locale.d.ts +2 -0
  144. package/dist/src/shared/lib/normalize-widget-background-color.d.ts +1 -0
  145. package/dist/src/shared/lib/resolve-widget-title.d.ts +2 -0
  146. package/dist/src/shared/markdown/components/CarlitoMarkdownRenderer.vue.d.ts +8 -0
  147. package/dist/src/shared/markdown/components/PdfEmbed/PdfEmbed.vue.d.ts +6 -0
  148. package/dist/src/shared/markdown/components/PdfEmbed/PdfLoading.vue.d.ts +2 -0
  149. package/dist/src/shared/markdown/components/PdfEmbed/PdfRenderer.vue.d.ts +14 -0
  150. package/dist/src/shared/markdown/components/PdfEmbed/PdfViewer.vue.d.ts +38 -0
  151. package/dist/src/shared/markdown/components/PdfEmbed/PdfViewerError.vue.d.ts +5 -0
  152. package/dist/src/shared/markdown/components/PdfEmbed/composables/usePdfViewerState.d.ts +24 -0
  153. package/dist/src/shared/markdown/components/PdfEmbed/composables/useRenderPdf.d.ts +17 -0
  154. package/dist/src/shared/markdown/components/PdfEmbed/lib/pdf-canvas.d.ts +40 -0
  155. package/dist/src/shared/markdown/components/PdfEmbed/lib/pdf-render-watches.d.ts +15 -0
  156. package/dist/src/shared/markdown/has-meaningful-markdown-content.d.ts +5 -0
  157. package/dist/src/shared/markdown/process-markdown.d.ts +1 -0
  158. package/dist/src/shared/markdown/remark-center.d.ts +3 -0
  159. package/dist/src/shared/markdown/transform-markdown-url.d.ts +1 -0
  160. package/dist/src/shared/pdf/create-pdf-panzoom-session.d.ts +18 -0
  161. package/dist/src/shared/pdf/index.d.ts +5 -0
  162. package/dist/src/shared/pdf/pdf-panzoom.d.ts +14 -0
  163. package/dist/src/shared/pdf/pdfjs.d.ts +2 -0
  164. package/dist/src/shared/pdf/setup-pdf-panzoom-watches.d.ts +14 -0
  165. package/dist/src/shared/pdf/usePdfPanzoom.d.ts +6 -0
  166. package/dist/src/shared/pdf/usePdfPanzoom.types.d.ts +11 -0
  167. package/dist/src/shared/theme/theme-loader.d.ts +19 -0
  168. package/dist/src/shared/utils/cn.d.ts +2 -0
  169. package/dist/src/shared/utils/dom-events.d.ts +4 -0
  170. package/package.json +102 -4
  171. package/.babelrc +0 -12
  172. package/.eslintrc.json +0 -18
  173. package/CHANGELOG.md +0 -1931
  174. package/dist/1219.js +0 -1
  175. package/dist/1229.js +0 -2
  176. package/dist/1229.js.LICENSE.txt +0 -3
  177. package/dist/135.js +0 -2
  178. package/dist/135.js.LICENSE.txt +0 -3
  179. package/dist/1385.js +0 -2
  180. package/dist/1385.js.LICENSE.txt +0 -3
  181. package/dist/1421.js +0 -2
  182. package/dist/1421.js.LICENSE.txt +0 -3
  183. package/dist/1426.js +0 -2
  184. package/dist/1426.js.LICENSE.txt +0 -3
  185. package/dist/1428.js +0 -2
  186. package/dist/1428.js.LICENSE.txt +0 -3
  187. package/dist/1677.js +0 -2
  188. package/dist/1677.js.LICENSE.txt +0 -3
  189. package/dist/173.js +0 -2
  190. package/dist/173.js.LICENSE.txt +0 -3
  191. package/dist/1798.js +0 -2
  192. package/dist/1798.js.LICENSE.txt +0 -3
  193. package/dist/1813.js +0 -2
  194. package/dist/1813.js.LICENSE.txt +0 -3
  195. package/dist/2411.js +0 -2
  196. package/dist/2411.js.LICENSE.txt +0 -3
  197. package/dist/2782.js +0 -2
  198. package/dist/2782.js.LICENSE.txt +0 -3
  199. package/dist/2827.js +0 -2
  200. package/dist/2827.js.LICENSE.txt +0 -3
  201. package/dist/2939.js +0 -2
  202. package/dist/2939.js.LICENSE.txt +0 -3
  203. package/dist/3002.js +0 -2
  204. package/dist/3002.js.LICENSE.txt +0 -3
  205. package/dist/3140.js +0 -1
  206. package/dist/3rdpartylicenses.txt +0 -3609
  207. package/dist/4189.js +0 -2
  208. package/dist/4189.js.LICENSE.txt +0 -3
  209. package/dist/4194.js +0 -2
  210. package/dist/4194.js.LICENSE.txt +0 -3
  211. package/dist/4220.js +0 -2
  212. package/dist/4220.js.LICENSE.txt +0 -3
  213. package/dist/434.js +0 -2
  214. package/dist/434.js.LICENSE.txt +0 -3
  215. package/dist/4606.js +0 -2
  216. package/dist/4606.js.LICENSE.txt +0 -3
  217. package/dist/4614.js +0 -2
  218. package/dist/4614.js.LICENSE.txt +0 -3
  219. package/dist/5065.js +0 -2
  220. package/dist/5065.js.LICENSE.txt +0 -3
  221. package/dist/5090.js +0 -2
  222. package/dist/5090.js.LICENSE.txt +0 -3
  223. package/dist/5143.js +0 -2
  224. package/dist/5143.js.LICENSE.txt +0 -3
  225. package/dist/5309.js +0 -2
  226. package/dist/5309.js.LICENSE.txt +0 -3
  227. package/dist/5397.js +0 -2
  228. package/dist/5397.js.LICENSE.txt +0 -3
  229. package/dist/5427.js +0 -2
  230. package/dist/5427.js.LICENSE.txt +0 -3
  231. package/dist/5941.js +0 -2
  232. package/dist/5941.js.LICENSE.txt +0 -3
  233. package/dist/5956.js +0 -2
  234. package/dist/5956.js.LICENSE.txt +0 -3
  235. package/dist/6016.js +0 -2
  236. package/dist/6016.js.LICENSE.txt +0 -3
  237. package/dist/6250.js +0 -2
  238. package/dist/6250.js.LICENSE.txt +0 -3
  239. package/dist/6290.js +0 -2
  240. package/dist/6290.js.LICENSE.txt +0 -3
  241. package/dist/6335.js +0 -2
  242. package/dist/6335.js.LICENSE.txt +0 -3
  243. package/dist/6462.js +0 -2
  244. package/dist/6462.js.LICENSE.txt +0 -3
  245. package/dist/650.js +0 -2
  246. package/dist/650.js.LICENSE.txt +0 -3
  247. package/dist/6531.js +0 -2
  248. package/dist/6531.js.LICENSE.txt +0 -3
  249. package/dist/6878.js +0 -2
  250. package/dist/6878.js.LICENSE.txt +0 -3
  251. package/dist/6892.js +0 -2
  252. package/dist/6892.js.LICENSE.txt +0 -3
  253. package/dist/6979.js +0 -2
  254. package/dist/6979.js.LICENSE.txt +0 -3
  255. package/dist/7120.js +0 -2
  256. package/dist/7120.js.LICENSE.txt +0 -3
  257. package/dist/7149.js +0 -2
  258. package/dist/7149.js.LICENSE.txt +0 -3
  259. package/dist/7202.js +0 -2
  260. package/dist/7202.js.LICENSE.txt +0 -3
  261. package/dist/7213.js +0 -2
  262. package/dist/7213.js.LICENSE.txt +0 -3
  263. package/dist/7290.js +0 -2
  264. package/dist/7290.js.LICENSE.txt +0 -3
  265. package/dist/7373.js +0 -2
  266. package/dist/7373.js.LICENSE.txt +0 -3
  267. package/dist/7515.js +0 -2
  268. package/dist/7515.js.LICENSE.txt +0 -3
  269. package/dist/7797.js +0 -2
  270. package/dist/7797.js.LICENSE.txt +0 -3
  271. package/dist/7804.js +0 -2
  272. package/dist/7804.js.LICENSE.txt +0 -3
  273. package/dist/7813.js +0 -2
  274. package/dist/7813.js.LICENSE.txt +0 -3
  275. package/dist/7843.js +0 -2
  276. package/dist/7843.js.LICENSE.txt +0 -3
  277. package/dist/8199.js +0 -2
  278. package/dist/8199.js.LICENSE.txt +0 -3
  279. package/dist/821.js +0 -2
  280. package/dist/821.js.LICENSE.txt +0 -3
  281. package/dist/8365.js +0 -2
  282. package/dist/8365.js.LICENSE.txt +0 -3
  283. package/dist/8599.js +0 -2
  284. package/dist/8599.js.LICENSE.txt +0 -3
  285. package/dist/880.js +0 -2
  286. package/dist/880.js.LICENSE.txt +0 -3
  287. package/dist/8831.js +0 -2
  288. package/dist/8831.js.LICENSE.txt +0 -3
  289. package/dist/885.js +0 -2
  290. package/dist/885.js.LICENSE.txt +0 -3
  291. package/dist/9079.js +0 -2
  292. package/dist/9079.js.LICENSE.txt +0 -3
  293. package/dist/9104.js +0 -2
  294. package/dist/9104.js.LICENSE.txt +0 -3
  295. package/dist/9236.js +0 -2
  296. package/dist/9236.js.LICENSE.txt +0 -3
  297. package/dist/942.js +0 -2
  298. package/dist/942.js.LICENSE.txt +0 -3
  299. package/dist/9456.js +0 -2
  300. package/dist/9456.js.LICENSE.txt +0 -3
  301. package/dist/951.js +0 -2
  302. package/dist/951.js.LICENSE.txt +0 -3
  303. package/dist/9636.js +0 -2
  304. package/dist/9636.js.LICENSE.txt +0 -3
  305. package/dist/9742.js +0 -2
  306. package/dist/9742.js.LICENSE.txt +0 -3
  307. package/dist/9792.js +0 -2
  308. package/dist/9792.js.LICENSE.txt +0 -3
  309. package/dist/9875.js +0 -2
  310. package/dist/9875.js.LICENSE.txt +0 -3
  311. package/dist/Carlito.eot +0 -0
  312. package/dist/Carlito.svg +0 -321
  313. package/dist/Carlito.ttf +0 -0
  314. package/dist/Carlito.woff +0 -0
  315. package/dist/Carlito.woff2 +0 -0
  316. package/dist/bookito-widget.umd.js.LICENSE.txt +0 -128
  317. package/dist/bookito-widget.window.js.LICENSE.txt +0 -128
  318. package/dist/layers-2x.png +0 -0
  319. package/dist/layers.png +0 -0
  320. package/dist/marker-icon.png +0 -0
  321. package/e2e-tests/e2e.html +0 -77
  322. package/index.html +0 -92
  323. package/jest.config.ts +0 -9
  324. package/postcss.config.js +0 -3
  325. package/project.json +0 -72
  326. package/src/BookitoEventDetail/index.tsx +0 -101
  327. package/src/BookitoEventModal/ModalLoader.tsx +0 -43
  328. package/src/BookitoEventModal/index.tsx +0 -71
  329. package/src/BookitoForm/EventInfo.tsx +0 -68
  330. package/src/BookitoForm/FormSubmitButton/AnimatedSuccessCheckmark/index.module.css +0 -45
  331. package/src/BookitoForm/FormSubmitButton/AnimatedSuccessCheckmark/index.tsx +0 -24
  332. package/src/BookitoForm/FormSubmitButton/index.tsx +0 -58
  333. package/src/BookitoForm/NewBookingForm.tsx +0 -199
  334. package/src/BookitoWidget/index.tsx +0 -299
  335. package/src/BookitoWidgetProvider/BookitoWidgetProvider.tsx +0 -36
  336. package/src/Card/EmptyCard.tsx +0 -30
  337. package/src/Card/index.tsx +0 -103
  338. package/src/CardHolder/index.tsx +0 -32
  339. package/src/Modal/index.tsx +0 -34
  340. package/src/assets/carlito-logo.svg +0 -10
  341. package/src/calendar-styles.css +0 -22
  342. package/src/index.module.css +0 -27
  343. package/src/index.tsx +0 -166
  344. package/src/types.ts +0 -8
  345. package/src/utils/index.tsx +0 -7
  346. package/tailwind.config.js +0 -13
  347. package/tsconfig.json +0 -26
  348. package/tsconfig.lib.json +0 -23
  349. package/tsconfig.spec.json +0 -20
@@ -0,0 +1,30 @@
1
+ import { BookingFormStateType } from '../../../../features/booking-flow/model/booking-form.types';
2
+ type __VLS_Props = {
3
+ canContinue: boolean;
4
+ form: BookingFormStateType;
5
+ hasPms: boolean;
6
+ isSubmitting?: boolean;
7
+ language: string;
8
+ };
9
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ next: () => any;
11
+ "update:phoneNumber": (value: string) => any;
12
+ "update:bookingReference": (value: string) => any;
13
+ "update:communicationLanguage": (value: string) => any;
14
+ "update:dateOfBirth": (value: string) => any;
15
+ "update:guestEmail": (value: string) => any;
16
+ "update:guestName": (value: string) => any;
17
+ "update:phoneDialCode": (value: string) => any;
18
+ "update:roomNumber": (value: string) => any;
19
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
20
+ onNext?: (() => any) | undefined;
21
+ "onUpdate:phoneNumber"?: ((value: string) => any) | undefined;
22
+ "onUpdate:bookingReference"?: ((value: string) => any) | undefined;
23
+ "onUpdate:communicationLanguage"?: ((value: string) => any) | undefined;
24
+ "onUpdate:dateOfBirth"?: ((value: string) => any) | undefined;
25
+ "onUpdate:guestEmail"?: ((value: string) => any) | undefined;
26
+ "onUpdate:guestName"?: ((value: string) => any) | undefined;
27
+ "onUpdate:phoneDialCode"?: ((value: string) => any) | undefined;
28
+ "onUpdate:roomNumber"?: ((value: string) => any) | undefined;
29
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
30
+ export default _default;
@@ -0,0 +1,13 @@
1
+ type __VLS_Props = {
2
+ autocomplete?: string;
3
+ inputmode?: 'text' | 'email' | 'tel' | 'numeric';
4
+ modelValue: string;
5
+ placeholder?: string;
6
+ type?: string;
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ "update:modelValue": (value: string) => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLInputElement>;
13
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import { BookitoPriceVariantType } from '../../../../features/event-feed/model/widget.types';
2
+ import { SupportedLanguageType } from '../../../../shared/config/languages';
3
+ type __VLS_Props = {
4
+ currency: string;
5
+ disabled?: boolean;
6
+ language: SupportedLanguageType;
7
+ priceVariants: BookitoPriceVariantType[];
8
+ selectedPriceVariantIds: string[];
9
+ };
10
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ "toggle-price-variant": (variantId: string) => any;
12
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
13
+ "onToggle-price-variant"?: ((variantId: string) => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
15
+ export default _default;
@@ -0,0 +1,10 @@
1
+ type __VLS_Props = {
2
+ disabled?: boolean;
3
+ label: string;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
6
+ click: () => any;
7
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ onClick?: (() => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLButtonElement>;
10
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { BookingFlowPanelPropsType } from '../../../../features/booking-flow/components/booking-flow.props';
2
+ declare const _default: import('vue').DefineComponent<BookingFlowPanelPropsType, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
3
+ completed: () => any;
4
+ }, string, import('vue').PublicProps, Readonly<BookingFlowPanelPropsType> & Readonly<{
5
+ onCompleted?: (() => any) | undefined;
6
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
7
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import { BookingDisplayStepEntryType, BookingDisplayStepType } from '../../../../features/booking-flow/model/booking-display-step.types';
2
+ type __VLS_Props = {
3
+ activeStep: BookingDisplayStepType;
4
+ canGoToStep: (stepId: BookingDisplayStepType) => boolean;
5
+ isStepComplete: (stepId: BookingDisplayStepType) => boolean;
6
+ steps: BookingDisplayStepEntryType[];
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ select: (stepId: BookingDisplayStepType) => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onSelect?: ((stepId: BookingDisplayStepType) => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
13
+ export default _default;
@@ -0,0 +1,5 @@
1
+ type __VLS_Props = {
2
+ successMessage: string;
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
5
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { BookingGuestOptionType } from '../../../../features/guest-auth/api/guest-auth.dto';
2
+ type __VLS_Props = {
3
+ guestOptions: BookingGuestOptionType[];
4
+ selectedGuestIds: string[];
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ "toggle-guest": (guestId: string) => any;
8
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ "onToggle-guest"?: ((guestId: string) => any) | undefined;
10
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
11
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import { BookingGuestsStepPropsType } from '../../../../features/booking-flow/components/booking-flow.props';
2
+ declare const _default: import('vue').DefineComponent<BookingGuestsStepPropsType, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
3
+ submit: () => any;
4
+ "toggle-price-variant": (variantId: string) => any;
5
+ "toggle-guest": (guestId: string) => any;
6
+ "update:comment": (value: string) => any;
7
+ "update:numberOfAdditionalParticipants": (count: number) => any;
8
+ }, string, import('vue').PublicProps, Readonly<BookingGuestsStepPropsType> & Readonly<{
9
+ onSubmit?: (() => any) | undefined;
10
+ "onToggle-price-variant"?: ((variantId: string) => any) | undefined;
11
+ "onToggle-guest"?: ((guestId: string) => any) | undefined;
12
+ "onUpdate:comment"?: ((value: string) => any) | undefined;
13
+ "onUpdate:numberOfAdditionalParticipants"?: ((count: number) => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
15
+ export default _default;
@@ -0,0 +1,13 @@
1
+ type __VLS_Props = {
2
+ disabled?: boolean;
3
+ heading: string;
4
+ hint: string;
5
+ isIncrementDisabled: boolean;
6
+ value: number;
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ "update:value": (count: number) => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ "onUpdate:value"?: ((count: number) => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
13
+ export default _default;
@@ -0,0 +1,24 @@
1
+ import { BookitoEventType, BookitoTimeSlotType } from '../../../../features/event-feed/model/widget.types';
2
+ type __VLS_Props = {
3
+ availableDates: string[];
4
+ canContinue: boolean;
5
+ event: BookitoEventType;
6
+ isSubmitting?: boolean;
7
+ isTimeSlotsLoading?: boolean;
8
+ language: string;
9
+ requiresTimeStep: boolean;
10
+ selectedDate: string;
11
+ selectedTimeSlotStart: string;
12
+ timeSlots: BookitoTimeSlotType[];
13
+ timezone?: string;
14
+ };
15
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
+ next: () => any;
17
+ "update:selectedDate": (value: string) => any;
18
+ "update:selectedTimeSlotStart": (value: string) => any;
19
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
20
+ onNext?: (() => any) | undefined;
21
+ "onUpdate:selectedDate"?: ((value: string) => any) | undefined;
22
+ "onUpdate:selectedTimeSlotStart"?: ((value: string) => any) | undefined;
23
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
24
+ export default _default;
@@ -0,0 +1,31 @@
1
+ import { BookingSubmitLabelKeyType } from '../../../../features/booking-flow/lib/booking-payload.helpers';
2
+ import { BookitoPriceVariantType, BookitoEventType } from '../../../../features/event-feed/model/widget.types';
3
+ import { BookingGuestOptionType } from '../../../../features/guest-auth/api/guest-auth.dto';
4
+ export type BookingFlowPanelPropsType = {
5
+ authId: string;
6
+ availableDates?: string[];
7
+ currency?: string;
8
+ event: BookitoEventType;
9
+ initialDate: string;
10
+ language: string;
11
+ timezone?: string;
12
+ };
13
+ export type BookingGuestsStepPropsType = {
14
+ basePrice?: number | null;
15
+ comment: string;
16
+ currency: string;
17
+ formError: string | null;
18
+ guestOptions: BookingGuestOptionType[];
19
+ hasExternalMainBooker?: boolean;
20
+ showRoomGuests?: boolean;
21
+ isCustomOverCapacity?: boolean;
22
+ isSpaEvent?: boolean;
23
+ isSubmitting?: boolean;
24
+ language: string;
25
+ maxAdditional: number | undefined;
26
+ numberOfAdditionalParticipants: number;
27
+ priceVariants: BookitoPriceVariantType[];
28
+ selectedGuestIds: string[];
29
+ selectedPriceVariantIds: string[];
30
+ submitLabelKey: BookingSubmitLabelKeyType;
31
+ };
@@ -0,0 +1,70 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ import { useBookingFlowActions } from '../../../../features/booking-flow/composables/useBookingFlowActions';
3
+ import { BookingSubmitLabelKeyType } from '../../../../features/booking-flow/lib/booking-payload.helpers';
4
+ import { BookingDisplayStepEntryType, BookingDisplayStepType } from '../../../../features/booking-flow/model/booking-display-step.types';
5
+ import { BookingFormStateType, BookingStepType } from '../../../../features/booking-flow/model/booking-form.types';
6
+ import { ResolveBookingWaitlistResultType } from '../../../../features/booking-flow/lib/resolve-booking-waitlist';
7
+ import { BookitoTimeSlotType } from '../../../../features/event-feed/model/widget.types';
8
+ type ActionsType = ReturnType<typeof useBookingFlowActions>;
9
+ type ContextType = {
10
+ actions: ActionsType;
11
+ activeDisplayStep: ComputedRef<BookingDisplayStepType>;
12
+ availableDates: ComputedRef<string[]>;
13
+ currency: ComputedRef<string>;
14
+ displaySteps: ComputedRef<BookingDisplayStepEntryType[]>;
15
+ form: BookingFormStateType;
16
+ hasPms: ComputedRef<boolean>;
17
+ isCustomOverCapacity: ComputedRef<boolean>;
18
+ isSubmitting: Ref<boolean>;
19
+ isSuccess: Ref<boolean>;
20
+ isTimeSlotsLoading: Ref<boolean>;
21
+ maxParticipants: ComputedRef<number>;
22
+ requiresTimeStep: ComputedRef<boolean>;
23
+ step: Ref<BookingStepType>;
24
+ submitError: Ref<string | null>;
25
+ submitLabelKey: ComputedRef<BookingSubmitLabelKeyType>;
26
+ successMessage: Ref<string>;
27
+ timeSlots: Ref<BookitoTimeSlotType[]>;
28
+ waitlist: ComputedRef<ResolveBookingWaitlistResultType>;
29
+ };
30
+ export declare function createBookingFlowApi(context: ContextType): {
31
+ activeDisplayStep: ComputedRef<BookingDisplayStepType>;
32
+ availableDates: ComputedRef<string[]>;
33
+ availableGuests: ComputedRef<import('../../guest-auth/api/guest-auth.dto').BookingGuestOptionType[]>;
34
+ canContinueDate: ComputedRef<boolean>;
35
+ canContinueTime: ComputedRef<boolean>;
36
+ canContinueDetails: ComputedRef<boolean>;
37
+ canContinueTimeSection: ComputedRef<boolean>;
38
+ canGoToDisplayStep: (target: BookingDisplayStepType) => boolean;
39
+ canGoToStep: (target: BookingStepType) => boolean;
40
+ confirmBooking: () => Promise<void>;
41
+ continueFromDetails: () => Promise<void>;
42
+ continueFromTimeSection: () => void;
43
+ currency: ComputedRef<string>;
44
+ displaySteps: ComputedRef<BookingDisplayStepEntryType[]>;
45
+ form: BookingFormStateType;
46
+ goToDisplayStep: (target: BookingDisplayStepType) => void;
47
+ goToStep: (target: BookingStepType) => void;
48
+ goToTimeStep: () => Promise<void> | undefined;
49
+ hasPms: ComputedRef<boolean>;
50
+ isCustomOverCapacity: ComputedRef<boolean>;
51
+ isDisplayStepComplete: (target: BookingDisplayStepType) => boolean;
52
+ isStepComplete: (stepId: BookingStepType) => boolean;
53
+ isSubmitting: Ref<boolean, boolean>;
54
+ isSuccess: Ref<boolean, boolean>;
55
+ isTimeSlotsLoading: Ref<boolean, boolean>;
56
+ maxParticipants: ComputedRef<number>;
57
+ onDateOfBirthInput: (value: string) => void;
58
+ requiresTimeStep: ComputedRef<boolean>;
59
+ setExtraParticipantCount: (count: number) => void;
60
+ step: Ref<BookingStepType, BookingStepType>;
61
+ submitError: Ref<string | null, string | null>;
62
+ submitLabelKey: ComputedRef<BookingSubmitLabelKeyType>;
63
+ successMessage: Ref<string, string>;
64
+ timeSlots: Ref<BookitoTimeSlotType[], BookitoTimeSlotType[]>;
65
+ toggleExtra: (id: string) => void;
66
+ toggleGuestId: (id: string) => void;
67
+ hasExternalMainBooker: ComputedRef<boolean>;
68
+ waitlist: ComputedRef<ResolveBookingWaitlistResultType>;
69
+ };
70
+ export {};
@@ -0,0 +1,52 @@
1
+ import { BookingStepType } from '../../../../features/booking-flow/model/booking-form.types';
2
+ import { BookitoEventType } from '../../../../features/event-feed/model/widget.types';
3
+ type OptionsType = {
4
+ authId: string;
5
+ availableDates?: string[];
6
+ currency?: string;
7
+ event: BookitoEventType;
8
+ initialDate: string;
9
+ language: string;
10
+ onCompleted: () => void;
11
+ };
12
+ export declare function useBookingFlow(options: OptionsType): {
13
+ activeDisplayStep: import('vue').ComputedRef<import('../model/booking-display-step.types').BookingDisplayStepType>;
14
+ availableDates: import('vue').ComputedRef<string[]>;
15
+ availableGuests: import('vue').ComputedRef<import('../../guest-auth/api/guest-auth.dto').BookingGuestOptionType[]>;
16
+ canContinueDate: import('vue').ComputedRef<boolean>;
17
+ canContinueTime: import('vue').ComputedRef<boolean>;
18
+ canContinueDetails: import('vue').ComputedRef<boolean>;
19
+ canContinueTimeSection: import('vue').ComputedRef<boolean>;
20
+ canGoToDisplayStep: (target: import('../model/booking-display-step.types').BookingDisplayStepType) => boolean;
21
+ canGoToStep: (target: BookingStepType) => boolean;
22
+ confirmBooking: () => Promise<void>;
23
+ continueFromDetails: () => Promise<void>;
24
+ continueFromTimeSection: () => void;
25
+ currency: import('vue').ComputedRef<string>;
26
+ displaySteps: import('vue').ComputedRef<import('../model/booking-display-step.types').BookingDisplayStepEntryType[]>;
27
+ form: import('../../../../features/booking-flow/model/booking-form.types').BookingFormStateType;
28
+ goToDisplayStep: (target: import('../model/booking-display-step.types').BookingDisplayStepType) => void;
29
+ goToStep: (target: BookingStepType) => void;
30
+ goToTimeStep: () => Promise<void> | undefined;
31
+ hasPms: import('vue').ComputedRef<boolean>;
32
+ isCustomOverCapacity: import('vue').ComputedRef<boolean>;
33
+ isDisplayStepComplete: (target: import('../model/booking-display-step.types').BookingDisplayStepType) => boolean;
34
+ isStepComplete: (stepId: BookingStepType) => boolean;
35
+ isSubmitting: import('vue').Ref<boolean, boolean>;
36
+ isSuccess: import('vue').Ref<boolean, boolean>;
37
+ isTimeSlotsLoading: import('vue').Ref<boolean, boolean>;
38
+ maxParticipants: import('vue').ComputedRef<number>;
39
+ onDateOfBirthInput: (value: string) => void;
40
+ requiresTimeStep: import('vue').ComputedRef<boolean>;
41
+ setExtraParticipantCount: (count: number) => void;
42
+ step: import('vue').Ref<BookingStepType, BookingStepType>;
43
+ submitError: import('vue').Ref<string | null, string | null>;
44
+ submitLabelKey: import('vue').ComputedRef<import('../../../../features/booking-flow/lib/booking-payload.helpers').BookingSubmitLabelKeyType>;
45
+ successMessage: import('vue').Ref<string, string>;
46
+ timeSlots: import('vue').Ref<import('../../../../features/event-feed/model/widget.types').BookitoTimeSlotType[], import('../../../../features/event-feed/model/widget.types').BookitoTimeSlotType[]>;
47
+ toggleExtra: (id: string) => void;
48
+ toggleGuestId: (id: string) => void;
49
+ hasExternalMainBooker: import('vue').ComputedRef<boolean>;
50
+ waitlist: import('vue').ComputedRef<import('../lib/resolve-booking-waitlist').ResolveBookingWaitlistResultType>;
51
+ };
52
+ export {};
@@ -0,0 +1,13 @@
1
+ import { BookingDisplayStepType } from '../../../../features/booking-flow/model/booking-display-step.types';
2
+ import { BookingStepType } from '../../../../features/booking-flow/model/booking-form.types';
3
+ import { BookingFlowActionsOptionsType } from './useBookingFlowActions.types';
4
+ export declare function useBookingFlowActions(options: BookingFlowActionsOptionsType): {
5
+ confirmBooking: () => Promise<void>;
6
+ continueFromDetails: () => Promise<void>;
7
+ continueFromTimeSection: () => void;
8
+ goToTimeStep: () => Promise<void> | undefined;
9
+ goToDisplayStep: (target: BookingDisplayStepType, internalStep: BookingStepType | null) => void;
10
+ goToStep: (target: BookingStepType) => void;
11
+ onDateOfBirthInput: (value: string) => void;
12
+ setExtraParticipantCount: (count: number) => void;
13
+ };
@@ -0,0 +1,31 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ import { CreateBookitoBookingRequestType } from '../../../../features/booking-flow/api/bookito-booking.dto';
3
+ import { BookingFormStateType, BookingStepType } from '../../../../features/booking-flow/model/booking-form.types';
4
+ import { ResolveBookingWaitlistResultType } from '../../../../features/booking-flow/lib/resolve-booking-waitlist';
5
+ import { BookitoEventType, BookitoTimeSlotType } from '../../../../features/event-feed/model/widget.types';
6
+ import { GuestLoginRequestType, GuestLoginResponseType } from '../../../../features/guest-auth/api/guest-auth.dto';
7
+ export type CreateBookingMutationType = {
8
+ mutateAsync: (payload: CreateBookitoBookingRequestType) => Promise<unknown>;
9
+ };
10
+ export type GuestLoginMutationType = {
11
+ mutateAsync: (payload: GuestLoginRequestType) => Promise<GuestLoginResponseType>;
12
+ };
13
+ export type BookingFlowActionsOptionsType = {
14
+ authId: string;
15
+ event: BookitoEventType;
16
+ form: BookingFormStateType;
17
+ hasCompletedConfirmStep: Ref<boolean>;
18
+ hasPms: ComputedRef<boolean>;
19
+ isSubmitting: Ref<boolean>;
20
+ isSuccess: Ref<boolean>;
21
+ language: string;
22
+ onCompleted: () => void;
23
+ requiresTimeStep: ComputedRef<boolean>;
24
+ step: Ref<BookingStepType>;
25
+ submitError: Ref<string | null>;
26
+ successMessage: Ref<string>;
27
+ timeSlots: Ref<BookitoTimeSlotType[]>;
28
+ waitlist: ComputedRef<ResolveBookingWaitlistResultType>;
29
+ createBookingMutation: CreateBookingMutationType;
30
+ guestLoginMutation: GuestLoginMutationType;
31
+ };
@@ -0,0 +1,12 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ import { BookingFormStateType } from '../../../../features/booking-flow/model/booking-form.types';
3
+ type OptionsType = {
4
+ form: BookingFormStateType;
5
+ hasCompletedConfirmStep: Ref<boolean>;
6
+ hasPms: ComputedRef<boolean>;
7
+ waitlist: ComputedRef<{
8
+ maxNumberOfAdditionalParticipants?: number | null;
9
+ }>;
10
+ };
11
+ export declare function useBookingFlowFormSync(options: OptionsType): void;
12
+ export {};
@@ -0,0 +1,17 @@
1
+ import { Ref } from 'vue';
2
+ import { BookingFormStateType } from '../../../../features/booking-flow/model/booking-form.types';
3
+ import { BookitoEventType, BookitoTimeSlotType } from '../../../../features/event-feed/model/widget.types';
4
+ type OptionsType = {
5
+ event: BookitoEventType;
6
+ form: BookingFormStateType;
7
+ initialDate: string;
8
+ requiresTimeStep: Ref<boolean>;
9
+ timeSlots: Ref<BookitoTimeSlotType[]>;
10
+ };
11
+ export declare function useBookingFlowWaitlist(options: OptionsType): {
12
+ capacityTimeSlot: import('vue').ComputedRef<BookitoTimeSlotType | null>;
13
+ maxParticipants: import('vue').ComputedRef<number>;
14
+ selectedTimeSlot: import('vue').ComputedRef<BookitoTimeSlotType | null>;
15
+ waitlist: import('vue').ComputedRef<import('../../../../features/booking-flow/lib/resolve-booking-waitlist').ResolveBookingWaitlistResultType>;
16
+ };
17
+ export {};
@@ -0,0 +1,26 @@
1
+ import { BookingSubmitLabelKeyType } from '../../../../features/booking-flow/lib/booking-payload.helpers';
2
+ import { BookitoPriceVariantType } from '../../../../features/event-feed/model/widget.types';
3
+ import { SupportedLanguageType } from '../../../../shared/config/languages';
4
+ type BookingGuestsStepLabelsParamsType = {
5
+ basePrice: number | null;
6
+ currency: string;
7
+ /** Custom timeslots over capacity — waitlist not allowed; CTA stays disabled (legacy). */
8
+ isCustomOverCapacity: boolean;
9
+ hasExternalMainBooker: boolean;
10
+ language: SupportedLanguageType;
11
+ maxAdditional: number | undefined;
12
+ numberOfAdditionalParticipants: number;
13
+ priceVariants: BookitoPriceVariantType[];
14
+ selectedGuestIds: string[];
15
+ selectedPriceVariantIds: string[];
16
+ submitLabelKey: BookingSubmitLabelKeyType;
17
+ };
18
+ export declare function useBookingGuestsStepLabels(getParams: () => BookingGuestsStepLabelsParamsType): {
19
+ bookingForLabel: import('vue').ComputedRef<string>;
20
+ isAdditionalIncrementDisabled: import('vue').ComputedRef<boolean>;
21
+ isSubmitDisabled: import('vue').ComputedRef<boolean>;
22
+ participantsHeading: import('vue').ComputedRef<string>;
23
+ submitLabel: import('vue').ComputedRef<string>;
24
+ totalParticipants: import('vue').ComputedRef<number>;
25
+ };
26
+ export {};
@@ -0,0 +1,19 @@
1
+ import { MaybeRefOrGetter } from 'vue';
2
+ import { BookitoEventType, BookitoTimeSlotType } from '../../../../features/event-feed/model/widget.types';
3
+ type OptionsType = {
4
+ availableDates: string[];
5
+ event: BookitoEventType;
6
+ language: string;
7
+ selectedDate: MaybeRefOrGetter<string>;
8
+ timezone?: string;
9
+ onSelectedDateChange: (value: string) => void;
10
+ onSelectedTimeSlotChange: (value: string) => void;
11
+ };
12
+ export declare function useBookingTimeSectionState(options: OptionsType): {
13
+ formatSlotLabel: (slot: BookitoTimeSlotType) => string;
14
+ hasAvailableDates: import('vue').ComputedRef<boolean>;
15
+ intlLanguage: import('vue').ComputedRef<"en" | "de" | "fr" | "it" | "pl">;
16
+ onTimeSlotChange: (event: Event) => void;
17
+ selectedDateKey: import('vue').WritableComputedRef<"" | `${number}-${string}-${string}`, "" | `${number}-${string}-${string}`>;
18
+ };
19
+ export {};
@@ -0,0 +1,18 @@
1
+ import { Ref } from 'vue';
2
+ import { BookitoTimeSlotType } from '../../../../features/event-feed/model/widget.types';
3
+ type TimeSlotsFormType = {
4
+ bookedForDate: string;
5
+ selectedTimeSlotStart: string;
6
+ };
7
+ export declare function useBookingTimeSlots(options: {
8
+ authId: string;
9
+ enabled: Ref<boolean>;
10
+ eventId: string;
11
+ form: TimeSlotsFormType;
12
+ initialDate: string;
13
+ requiresTimeStep: Ref<boolean>;
14
+ }): {
15
+ isTimeSlotsLoading: import('vue').ComputedRef<boolean>;
16
+ timeSlots: import('vue').ComputedRef<BookitoTimeSlotType[]>;
17
+ };
18
+ export {};
@@ -0,0 +1,9 @@
1
+ import { DateValue } from 'reka-ui';
2
+ import { CalendarDateKeyType } from '../../../../shared/calendar/calendar-date.types';
3
+ export declare function normalizeBookingCalendarDateKey(value: string): CalendarDateKeyType | null;
4
+ export declare function resolveBookingCalendarBounds(availableDates: string[]): {
5
+ availableDateKeys: `${number}-${string}-${string}`[];
6
+ maxValue: `${number}-${string}-${string}` | null;
7
+ minValue: `${number}-${string}-${string}` | null;
8
+ };
9
+ export declare function isBookingCalendarDateUnavailable(date: DateValue, availableDateKeys: ReadonlySet<CalendarDateKeyType>): boolean;
@@ -0,0 +1,11 @@
1
+ import { BookingFormStateType } from '../../../../features/booking-flow/model/booking-form.types';
2
+ export type BookingDetailsFlowSignatureType = {
3
+ flow: 'extended';
4
+ } | {
5
+ flow: 'pms_login';
6
+ bookingReference: string;
7
+ dateOfBirth: string;
8
+ roomNumber: string;
9
+ };
10
+ export declare function resolveBookingDetailsFlowSignature(hasPms: boolean, form: BookingFormStateType): BookingDetailsFlowSignatureType;
11
+ export declare function areBookingDetailsFlowSignaturesEqual(previous: BookingDetailsFlowSignatureType | undefined, next: BookingDetailsFlowSignatureType): boolean;
@@ -0,0 +1,26 @@
1
+ import { BookingFormStateType } from '../../../../features/booking-flow/model/booking-form.types';
2
+ export type BookingDetailsFormModeType = {
3
+ showBookingReferenceField: boolean;
4
+ showDateOfBirth: boolean;
5
+ showExtendedForm: boolean;
6
+ showLanguage: boolean;
7
+ showRoomField: boolean;
8
+ };
9
+ /**
10
+ * PMS hotels (legacy BookitoGuestForm):
11
+ * - Room/ref row (mutually exclusive) always visible.
12
+ * - Room OR ref filled → date of birth (hotel guest login path).
13
+ * - Neither filled → name, email, phone (external guest on PMS property).
14
+ *
15
+ * Non-PMS hotels:
16
+ * - Always extended form: room (optional), booking ref (optional), name, email, phone, language.
17
+ * - No date-of-birth swap (not in Web Widget doc for this case).
18
+ */
19
+ export declare function resolveBookingDetailsFormMode(hasPms: boolean, form: BookingFormStateType): BookingDetailsFormModeType;
20
+ export declare function isValidGuestEmail(value: string): boolean;
21
+ /** Fields marked “(Optional)” in copy are not required; all others are required when visible. */
22
+ export declare function canContinueFromDetails(hasPms: boolean, form: BookingFormStateType): boolean;
23
+ export declare function isDetailsStepValid(hasPms: boolean, form: BookingFormStateType): boolean;
24
+ export declare function shouldAuthenticateGuestOnDetailsSubmit(hasPms: boolean, form: BookingFormStateType): boolean;
25
+ /** Reservation guest chips apply only on the PMS hotel-guest path (room or booking ref + DOB). */
26
+ export declare function shouldShowRoomGuestSelection(hasPms: boolean, form: BookingFormStateType): boolean;
@@ -0,0 +1,10 @@
1
+ import { BookingFormStateType } from '../../../../features/booking-flow/model/booking-form.types';
2
+ export declare function buildExternalParticipant(form: BookingFormStateType): {
3
+ communicationLanguage: string | undefined;
4
+ email: string | undefined;
5
+ isMainBooker: boolean;
6
+ isExternal: boolean;
7
+ name: string | null;
8
+ phoneNr: string | undefined;
9
+ roomNr: string | undefined;
10
+ };
@@ -0,0 +1,17 @@
1
+ import { BookingDisplayStepEntryType, BookingDisplayStepType } from '../../../../features/booking-flow/model/booking-display-step.types';
2
+ import { BookingFormStateType, BookingStepType } from '../../../../features/booking-flow/model/booking-form.types';
3
+ export declare function getBookingFlowStepperStepClasses(options: {
4
+ isActive: boolean;
5
+ isFirst: boolean;
6
+ isLast: boolean;
7
+ }): string;
8
+ export declare function buildDisplayBookingStepEntries(labels: {
9
+ confirm: string;
10
+ details: string;
11
+ time: string;
12
+ }): BookingDisplayStepEntryType[];
13
+ export declare function isTimePhaseComplete(form: BookingFormStateType, requiresTimeStep: boolean): boolean;
14
+ export declare function resolveActiveDisplayStep(internalStep: BookingStepType): BookingDisplayStepType;
15
+ export declare function isDisplayStepComplete(displayStep: BookingDisplayStepType, internalStep: BookingStepType, form: BookingFormStateType, requiresTimeStep: boolean, isSuccess: boolean): boolean;
16
+ export declare function canGoToDisplayStep(targetStep: BookingDisplayStepType, internalStep: BookingStepType, form: BookingFormStateType, requiresTimeStep: boolean, hasPms: boolean): boolean;
17
+ export declare function resolveInternalStepFromDisplayStep(displayStep: BookingDisplayStepType): BookingStepType | null;
@@ -0,0 +1,34 @@
1
+ import { Ref } from 'vue';
2
+ import { CreateBookitoBookingRequestType } from '../../../../features/booking-flow/api/bookito-booking.dto';
3
+ import { BookingFormStateType, BookingStepType } from '../../../../features/booking-flow/model/booking-form.types';
4
+ import { BookingGuestOptionType, GuestLoginRequestType, GuestLoginResponseType } from '../../../../features/guest-auth/api/guest-auth.dto';
5
+ type GuestLoginMutationType = {
6
+ mutateAsync: (payload: GuestLoginRequestType) => Promise<GuestLoginResponseType>;
7
+ };
8
+ type CreateBookingMutationType = {
9
+ mutateAsync: (payload: CreateBookitoBookingRequestType) => Promise<unknown>;
10
+ };
11
+ export declare function navigateToBookingStep(targetStep: BookingStepType, currentStep: Ref<BookingStepType>, form: BookingFormStateType, requiresTimeStep?: boolean): void;
12
+ export declare function authenticateAndContinueBooking(options: {
13
+ authId: string;
14
+ form: BookingFormStateType;
15
+ guestLoginMutation: GuestLoginMutationType;
16
+ isSubmitting: Ref<boolean>;
17
+ loginErrorMessage: string;
18
+ nextStep: BookingStepType;
19
+ onGuestsResolved?: (guests: BookingGuestOptionType[]) => void;
20
+ resolveFixedTimeSlot?: () => string;
21
+ step: Ref<BookingStepType>;
22
+ submitError: Ref<string | null>;
23
+ }): Promise<void>;
24
+ export declare function submitBookingAndShowSuccess(options: {
25
+ bookingErrorMessage: string;
26
+ createBookingMutation: CreateBookingMutationType;
27
+ isSubmitting: Ref<boolean>;
28
+ isSuccess: Ref<boolean>;
29
+ onCompleted: () => void;
30
+ payload: CreateBookitoBookingRequestType;
31
+ successDelayMs: number;
32
+ submitError: Ref<string | null>;
33
+ }): Promise<void>;
34
+ export {};
@@ -0,0 +1,32 @@
1
+ import { BookingFormStateType, BookingStepType } from '../../../../features/booking-flow/model/booking-form.types';
2
+ import { BookitoEventType } from '../../../../features/event-feed/model/widget.types';
3
+ export declare function createBookingForm(initialDate: string): BookingFormStateType;
4
+ export declare function updateDateOfBirth(form: BookingFormStateType, value: string, language: string): void;
5
+ export declare function canContinueFromDate(form: BookingFormStateType): boolean;
6
+ export declare function canContinueFromTimeSection(form: BookingFormStateType, requiresTimeStep: boolean): boolean;
7
+ export declare function canContinueFromTime(form: BookingFormStateType): boolean;
8
+ export declare function canContinueFromDetailsStep(hasPms: boolean, form: BookingFormStateType): boolean;
9
+ export { isBookingStepComplete } from './booking-step-completion.helpers';
10
+ export declare function canGoToBookingStep(targetStep: BookingStepType, currentStep: BookingStepType, form: BookingFormStateType, requiresTimeStep?: boolean, hasPms?: boolean): boolean;
11
+ export declare function toggleIdInList(list: string[], id: string): string[];
12
+ export declare function clampParticipantCount(value: number, max: number): number;
13
+ export declare function resolveExtraParticipantCount(value: number, max: number | null | undefined): number;
14
+ export declare function resolveGuestLoginDateOfBirth(maskedValue: string): string | null;
15
+ export declare function eventRequiresCustomTimeStep(event: BookitoEventType): boolean;
16
+ export declare function resolveBookingAvailableDates(availableDates: string[] | undefined, initialDate: string): string[];
17
+ export declare function resolveHasExternalMainBooker(form: BookingFormStateType): boolean;
18
+ export declare function buildBookingStepEntries(labels: {
19
+ date: string;
20
+ guests: string;
21
+ time: string;
22
+ }, requiresTimeStep: boolean): ({
23
+ id: "date";
24
+ label: string;
25
+ } | {
26
+ id: "time";
27
+ label: string;
28
+ } | {
29
+ id: "guests";
30
+ label: string;
31
+ })[];
32
+ export declare const BOOKING_SUCCESS_DISPLAY_MS = 2000;