@licklist/design 0.44.486-dev.78 → 0.44.486-dev.8

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 (459) hide show
  1. package/dist/assets/logo/bookedit.svg +11 -9
  2. package/dist/assets/logo/bookedit.svg.js +1 -1
  3. package/dist/assets/logo/licklist.svg +2 -0
  4. package/dist/assets/logo/licklist.svg.js +1 -1
  5. package/dist/date-time-button/DateTimeButton.d.ts +1 -6
  6. package/dist/date-time-button/DateTimeButton.d.ts.map +1 -1
  7. package/dist/date-time-button/DateTimeButton.js +1 -1
  8. package/dist/events/edit-event-modal/IntervalInput.d.ts.map +1 -1
  9. package/dist/events/edit-event-modal/IntervalInput.js +1 -1
  10. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.js +1 -1
  11. package/dist/events/edit-event-modal/utils/getDefaultProductSet.js +1 -1
  12. package/dist/events/event-card/EventCard.d.ts.map +1 -1
  13. package/dist/events/event-card/EventCard.js +1 -1
  14. package/dist/events/event-card/utils.d.ts +0 -29
  15. package/dist/events/event-card/utils.d.ts.map +1 -1
  16. package/dist/events/event-card/utils.js +1 -1
  17. package/dist/events/event-statistic-modal/EventStatisticModal.d.ts +1 -3
  18. package/dist/events/event-statistic-modal/EventStatisticModal.d.ts.map +1 -1
  19. package/dist/events/event-statistic-modal/EventStatisticModal.js +1 -1
  20. package/dist/events/event-statistic-modal/hooks/useTableData.d.ts +1 -2
  21. package/dist/events/event-statistic-modal/hooks/useTableData.d.ts.map +1 -1
  22. package/dist/events/event-statistic-modal/hooks/useTableData.js +1 -1
  23. package/dist/events/event-statistic-modal/utils/index.d.ts +1 -1
  24. package/dist/events/event-statistic-modal/utils/index.d.ts.map +1 -1
  25. package/dist/events/event-statistic-modal/utils/index.js +1 -1
  26. package/dist/events/event-venue-map/hooks/useImage.d.ts.map +1 -1
  27. package/dist/events/event-venue-map/hooks/useImage.js +1 -1
  28. package/dist/file-upload/FileUpload.d.ts.map +1 -1
  29. package/dist/file-upload/FileUpload.js +1 -1
  30. package/dist/iframe/activity-cards/activity-card/ActivityCard.d.ts +12 -0
  31. package/dist/iframe/activity-cards/activity-card/ActivityCard.d.ts.map +1 -0
  32. package/dist/iframe/activity-cards/activity-card/ActivityCard.js +1 -0
  33. package/dist/iframe/activity-cards/index.d.ts +3 -0
  34. package/dist/iframe/activity-cards/index.d.ts.map +1 -0
  35. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.d.ts +12 -0
  36. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.d.ts.map +1 -0
  37. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.js +1 -0
  38. package/dist/iframe/event/event-calendar/EventCalendar.d.ts +7 -0
  39. package/dist/iframe/event/event-calendar/EventCalendar.d.ts.map +1 -0
  40. package/dist/iframe/event/event-calendar/EventCalendar.js +1 -0
  41. package/dist/iframe/event/event-calendar/components/CalendarButtons/CalendarButtons.d.ts +6 -0
  42. package/dist/iframe/event/event-calendar/components/CalendarButtons/CalendarButtons.d.ts.map +1 -0
  43. package/dist/iframe/event/event-calendar/components/CalendarButtons/CalendarButtons.js +1 -0
  44. package/dist/iframe/event/event-calendar/components/CalendarButtons/index.d.ts.map +1 -0
  45. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.d.ts +12 -0
  46. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.d.ts.map +1 -0
  47. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.js +1 -0
  48. package/dist/iframe/event/event-calendar/components/CalendarDate/index.d.ts +3 -0
  49. package/dist/iframe/event/event-calendar/components/CalendarDate/index.d.ts.map +1 -0
  50. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.d.ts +7 -0
  51. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.d.ts.map +1 -0
  52. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.js +1 -0
  53. package/dist/iframe/event/event-calendar/components/CalendarDates/index.d.ts.map +1 -0
  54. package/dist/iframe/event/event-calendar/components/CalendarSelect/CalendarSelect.d.ts.map +1 -0
  55. package/dist/iframe/event/event-calendar/components/CalendarSelect/CalendarSelect.js +1 -0
  56. package/dist/iframe/event/event-calendar/components/CalendarSelect/index.d.ts.map +1 -0
  57. package/dist/iframe/event/event-calendar/components/CalendarWeekdays/CalendarWeekdays.d.ts.map +1 -0
  58. package/dist/iframe/event/event-calendar/components/CalendarWeekdays/index.d.ts.map +1 -0
  59. package/dist/iframe/event/event-calendar/index.d.ts +4 -0
  60. package/dist/iframe/event/event-calendar/index.d.ts.map +1 -0
  61. package/dist/iframe/event/event-calendar/types/index.d.ts +6 -0
  62. package/dist/iframe/event/event-calendar/types/index.d.ts.map +1 -0
  63. package/dist/iframe/event/event-calendar/utils/index.d.ts +3 -0
  64. package/dist/iframe/event/event-calendar/utils/index.d.ts.map +1 -0
  65. package/dist/iframe/event/event-calendar/utils/index.js +1 -0
  66. package/dist/iframe/event/event-details/EventDetails.d.ts +10 -0
  67. package/dist/iframe/event/event-details/EventDetails.d.ts.map +1 -0
  68. package/dist/iframe/event/event-details/EventDetails.js +1 -0
  69. package/dist/iframe/event/event-details/components/category-product/CategoryProduct.d.ts +9 -0
  70. package/dist/iframe/event/event-details/components/category-product/CategoryProduct.d.ts.map +1 -0
  71. package/dist/iframe/event/event-details/components/category-product/CategoryProduct.js +1 -0
  72. package/dist/iframe/event/event-details/components/category-product/index.d.ts +2 -0
  73. package/dist/iframe/event/event-details/components/category-product/index.d.ts.map +1 -0
  74. package/dist/iframe/event/event-details/components/event-details-form/EventDetailsForm.d.ts +26 -0
  75. package/dist/iframe/event/event-details/components/event-details-form/EventDetailsForm.d.ts.map +1 -0
  76. package/dist/iframe/event/event-details/components/event-details-form/EventDetailsForm.js +1 -0
  77. package/dist/iframe/event/event-details/components/event-details-form/index.d.ts +2 -0
  78. package/dist/iframe/event/event-details/components/event-details-form/index.d.ts.map +1 -0
  79. package/dist/iframe/event/event-details/components/number-of-people-input/NumberOfPeopleInput.d.ts.map +1 -0
  80. package/dist/iframe/event/event-details/components/number-of-people-input/NumberOfPeopleInput.js +1 -0
  81. package/dist/{number-of-people-input/components → iframe/event/event-details/components/number-of-people-input/component}/RenderNumberOfPeopleInputComponent.d.ts +3 -2
  82. package/dist/iframe/event/event-details/components/number-of-people-input/component/RenderNumberOfPeopleInputComponent.d.ts.map +1 -0
  83. package/dist/iframe/event/event-details/components/number-of-people-input/component/RenderNumberOfPeopleInputComponent.js +1 -0
  84. package/dist/iframe/event/event-details/components/number-of-people-input/component/index.d.ts +2 -0
  85. package/dist/iframe/event/event-details/components/number-of-people-input/component/index.d.ts.map +1 -0
  86. package/dist/iframe/event/event-details/components/number-of-people-input/index.d.ts +2 -0
  87. package/dist/iframe/event/event-details/components/number-of-people-input/index.d.ts.map +1 -0
  88. package/dist/iframe/event/event-details/components/product-category-view/ProductCategoryView.d.ts +8 -0
  89. package/dist/iframe/event/event-details/components/product-category-view/ProductCategoryView.d.ts.map +1 -0
  90. package/dist/iframe/event/event-details/components/product-category-view/ProductCategoryView.js +1 -0
  91. package/dist/iframe/event/event-details/components/product-category-view/index.d.ts +2 -0
  92. package/dist/iframe/event/event-details/components/product-category-view/index.d.ts.map +1 -0
  93. package/dist/iframe/event/event-details/index.d.ts +2 -0
  94. package/dist/iframe/event/event-details/index.d.ts.map +1 -0
  95. package/dist/iframe/event/event-details/utils/index.d.ts +2 -0
  96. package/dist/iframe/event/event-details/utils/index.d.ts.map +1 -0
  97. package/dist/iframe/event/event-details/utils/routes.d.ts +2 -0
  98. package/dist/iframe/event/event-details/utils/routes.d.ts.map +1 -0
  99. package/dist/iframe/event/event-details/utils/routes.js +1 -0
  100. package/dist/iframe/event/index.d.ts +2 -0
  101. package/dist/iframe/event/index.d.ts.map +1 -1
  102. package/dist/iframe/event/ticket-description/TicketDescription.d.ts.map +1 -1
  103. package/dist/iframe/event/ticket-description/TicketDescription.js +1 -1
  104. package/dist/iframe/index.d.ts +2 -2
  105. package/dist/iframe/index.d.ts.map +1 -1
  106. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts +1 -1
  107. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts.map +1 -1
  108. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.js +1 -1
  109. package/dist/iframe/order-process/components/BookingSummary/components/BookingSummaryAccordion/BookingSummaryAccordion.js +1 -1
  110. package/dist/iframe/order-process/components/BookingSummary/types/index.d.ts +1 -2
  111. package/dist/iframe/order-process/components/BookingSummary/types/index.d.ts.map +1 -1
  112. package/dist/iframe/order-process/components/BookingSummary/utils/index.d.ts.map +1 -1
  113. package/dist/iframe/order-process/components/BookingSummary/utils/index.js +1 -1
  114. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.d.ts +1 -1
  115. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.d.ts.map +1 -1
  116. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.js +1 -1
  117. package/dist/iframe/order-process/components/CategoryProduct/CategoryProduct.d.ts.map +1 -1
  118. package/dist/iframe/order-process/components/CategoryProduct/CategoryProduct.js +1 -1
  119. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts +1 -4
  120. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts.map +1 -1
  121. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.js +1 -1
  122. package/dist/iframe/order-process/components/ErrorModal/ErrorModal.d.ts +1 -2
  123. package/dist/iframe/order-process/components/ErrorModal/ErrorModal.d.ts.map +1 -1
  124. package/dist/iframe/order-process/components/ErrorModal/ErrorModal.js +1 -1
  125. package/dist/iframe/order-process/components/Timer/utils/index.d.ts +1 -1
  126. package/dist/iframe/order-process/components/Timer/utils/index.d.ts.map +1 -1
  127. package/dist/iframe/order-process/components/Timer/utils/index.js +1 -1
  128. package/dist/iframe/order-process/components/utils/useCategoryVerification.d.ts +3 -4
  129. package/dist/iframe/order-process/components/utils/useCategoryVerification.d.ts.map +1 -1
  130. package/dist/iframe/order-process/components/utils/useCategoryVerification.js +1 -1
  131. package/dist/iframe/order-process/constants.d.ts +0 -1
  132. package/dist/iframe/order-process/constants.d.ts.map +1 -1
  133. package/dist/iframe/order-process/constants.js +1 -1
  134. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.d.ts.map +1 -1
  135. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.js +1 -1
  136. package/dist/index.d.ts +0 -3
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +1 -1
  139. package/dist/notification/email-template/control/EmailTemplateControl.d.ts.map +1 -1
  140. package/dist/notification/email-template/control/EmailTemplateControl.js +1 -1
  141. package/dist/product-set/control/DateAndRecurrenceInput.d.ts +1 -5
  142. package/dist/product-set/control/DateAndRecurrenceInput.d.ts.map +1 -1
  143. package/dist/product-set/control/DateAndRecurrenceInput.js +1 -1
  144. package/dist/product-set/control/ProductSetControl.d.ts +3 -6
  145. package/dist/product-set/control/ProductSetControl.d.ts.map +1 -1
  146. package/dist/product-set/control/ProductSetControl.js +1 -1
  147. package/dist/product-set/control/ProductSetRecurrenceControl.d.ts +1 -2
  148. package/dist/product-set/control/ProductSetRecurrenceControl.d.ts.map +1 -1
  149. package/dist/product-set/control/ProductSetRecurrenceControl.js +1 -1
  150. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  151. package/dist/product-set/form/ProductCategoriesControl.js +1 -1
  152. package/dist/product-set/form/ProductSetForm.d.ts +1 -3
  153. package/dist/product-set/form/ProductSetForm.d.ts.map +1 -1
  154. package/dist/product-set/form/ProductSetForm.js +1 -1
  155. package/dist/product-set/form/ProductsControl.d.ts +1 -3
  156. package/dist/product-set/form/ProductsControl.d.ts.map +1 -1
  157. package/dist/product-set/form/ProductsControl.js +1 -1
  158. package/dist/product-set/product/ProductControl.d.ts +1 -2
  159. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  160. package/dist/product-set/product/ProductControl.js +1 -1
  161. package/dist/product-set/product/duration/ProductDurationControl.js +1 -1
  162. package/dist/product-set/product-category/ProductCategoryControl.d.ts +1 -0
  163. package/dist/product-set/product-category/ProductCategoryControl.d.ts.map +1 -1
  164. package/dist/product-set/product-category/ProductCategoryControl.js +1 -1
  165. package/dist/product-set/utils/index.d.ts +0 -10
  166. package/dist/product-set/utils/index.d.ts.map +1 -1
  167. package/dist/product-set/utils/index.js +1 -1
  168. package/dist/provider/location-input/LocationInput.d.ts.map +1 -1
  169. package/dist/provider/location-input/LocationInput.js +1 -1
  170. package/dist/provider/location-input/index.d.ts +0 -1
  171. package/dist/provider/location-input/index.d.ts.map +1 -1
  172. package/dist/provider/provider-details-input/ProviderDetailsInput.d.ts.map +1 -1
  173. package/dist/provider/provider-details-input/ProviderDetailsInput.js +1 -1
  174. package/dist/provider/provider-form/ProviderForm.js +1 -1
  175. package/dist/provider/venue-form/VenueForm.d.ts +1 -3
  176. package/dist/provider/venue-form/VenueForm.d.ts.map +1 -1
  177. package/dist/provider/venue-form/VenueForm.js +1 -1
  178. package/dist/recurrence-input/RecurrenceEndInput.d.ts +1 -8
  179. package/dist/recurrence-input/RecurrenceEndInput.d.ts.map +1 -1
  180. package/dist/recurrence-input/RecurrenceEndInput.js +1 -1
  181. package/dist/recurrence-input/RecurrenceInput.d.ts +1 -2
  182. package/dist/recurrence-input/RecurrenceInput.d.ts.map +1 -1
  183. package/dist/recurrence-input/RecurrenceInput.js +1 -1
  184. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.d.ts +1 -4
  185. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.d.ts.map +1 -1
  186. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.js +1 -1
  187. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts +0 -1
  188. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts.map +1 -1
  189. package/dist/recurring-date-picker-input/RecurringDatePickerInput.js +1 -1
  190. package/dist/report/form/ReportForm.d.ts.map +1 -1
  191. package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
  192. package/dist/sales/booking/results/components/ResultCard.js +1 -1
  193. package/dist/sales/coupon/control/CouponFormControl.d.ts.map +1 -1
  194. package/dist/sales/coupon/control/CouponFormControl.js +1 -1
  195. package/dist/sales/filters/SaleFilters.d.ts +0 -1
  196. package/dist/sales/filters/SaleFilters.d.ts.map +1 -1
  197. package/dist/sales/manual-booking/summary/ManualBookingSummary.d.ts +1 -3
  198. package/dist/sales/manual-booking/summary/ManualBookingSummary.d.ts.map +1 -1
  199. package/dist/sales/manual-booking/summary/ManualBookingSummary.js +1 -1
  200. package/dist/sales/payment-form/SalePaymentForm.js +1 -1
  201. package/dist/sales/source-of-sales/SourceOfSalesChart.d.ts.map +1 -1
  202. package/dist/sales/source-of-sales/SourceOfSalesChart.js +1 -1
  203. package/dist/snippet/snippet-template/preview/Preview.d.ts.map +1 -1
  204. package/dist/snippet/snippet-template/preview/Preview.js +1 -1
  205. package/dist/static/RestrictedAccess.d.ts.map +1 -1
  206. package/dist/static/form-number-input/FormNumberInput.d.ts +1 -2
  207. package/dist/static/form-number-input/FormNumberInput.d.ts.map +1 -1
  208. package/dist/static/form-number-input/FormNumberInput.js +1 -1
  209. package/dist/styles/events/EventCard.scss +5 -12
  210. package/dist/styles/form/CustomCheckbox.scss +0 -6
  211. package/dist/styles/header/Header.scss +4 -0
  212. package/{src/styles/activity-card/GridActivitiesCard.scss → dist/styles/iframe-customers-journey/ActivitiesCard.scss} +9 -1
  213. package/dist/styles/{activity-card/ListActivitiesCard.scss → iframe-customers-journey/ActivitiesSelectedCard.scss} +1 -2
  214. package/dist/styles/{date-time-button → iframe-customers-journey}/DateTimeButton.scss +12 -6
  215. package/dist/styles/iframe-customers-journey/_index.scss +3 -0
  216. package/dist/styles/iframe-events/Card.scss +0 -1
  217. package/dist/styles/notification/Notification.scss +0 -4
  218. package/dist/styles/packages.scss +1 -3
  219. package/dist/styles/resources-blocking/_index.scss +0 -16
  220. package/dist/styles/sales/BookingResults.scss +6 -14
  221. package/dist/styles/themes/bookedit/_index.scss +0 -1
  222. package/dist/styles/zones/ZoneForm.scss +0 -3
  223. package/dist/types/iframe.d.ts +0 -1
  224. package/dist/types/iframe.d.ts.map +1 -1
  225. package/dist/virtualized/components/VirtualizedWindowScroller.d.ts.map +1 -1
  226. package/dist/virtualized/components/VirtualizedWindowScroller.js +1 -1
  227. package/dist/zone/form/ZoneForm.d.ts +1 -1
  228. package/dist/zone/form/ZoneForm.d.ts.map +1 -1
  229. package/dist/zone/form/ZoneForm.js +1 -1
  230. package/dist/zone/form/components/AvailableTimesControl.d.ts +0 -2
  231. package/dist/zone/form/components/AvailableTimesControl.d.ts.map +1 -1
  232. package/dist/zone/form/components/AvailableTimesControl.js +1 -1
  233. package/dist/zone/form/components/ZoneControl.d.ts +1 -1
  234. package/dist/zone/form/components/ZoneControl.d.ts.map +1 -1
  235. package/dist/zone/form/components/ZoneControl.js +1 -1
  236. package/dist/zone/form/components/ZoneRecurrencesControl.d.ts +1 -1
  237. package/dist/zone/form/components/ZoneRecurrencesControl.d.ts.map +1 -1
  238. package/dist/zone/form/components/ZoneRecurrencesControl.js +1 -1
  239. package/dist/zone/form/utils/dates.d.ts.map +1 -1
  240. package/dist/zone/form/utils/dates.js +1 -1
  241. package/package.json +3 -3
  242. package/src/assets/logo/bookedit.svg +11 -9
  243. package/src/assets/logo/licklist.svg +2 -0
  244. package/src/date-time-button/DateTimeButton.stories.tsx +0 -17
  245. package/src/date-time-button/DateTimeButton.tsx +22 -24
  246. package/src/events/edit-event-modal/IntervalInput.tsx +0 -3
  247. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.stories.tsx +12 -0
  248. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.tsx +1 -1
  249. package/src/events/edit-event-modal/utils/getDefaultProductSet.ts +2 -2
  250. package/src/events/event-card/EventCard.tsx +2 -6
  251. package/src/events/event-card/utils.ts +16 -89
  252. package/src/events/event-statistic-modal/EventStatisticModal.tsx +1 -5
  253. package/src/events/event-statistic-modal/hooks/useTableData.tsx +5 -12
  254. package/src/events/event-statistic-modal/utils/index.ts +34 -39
  255. package/src/events/event-venue-map/hooks/useImage.tsx +8 -17
  256. package/src/file-upload/FileUpload.tsx +1 -3
  257. package/src/iframe/activity-cards/activity-card/ActivityCard.stories.tsx +52 -0
  258. package/src/iframe/activity-cards/activity-card/ActivityCard.tsx +38 -0
  259. package/src/iframe/activity-cards/index.ts +2 -0
  260. package/src/iframe/activity-cards/list-activity-card/ListActivityCard.stories.tsx +52 -0
  261. package/src/iframe/activity-cards/list-activity-card/ListActivityCard.tsx +49 -0
  262. package/src/iframe/event/event-calendar/EventCalendar.stories.tsx +36 -0
  263. package/src/iframe/event/event-calendar/EventCalendar.tsx +27 -0
  264. package/src/{calendar → iframe/event/event-calendar}/components/CalendarButtons/CalendarButtons.tsx +14 -31
  265. package/src/iframe/event/event-calendar/components/CalendarDate/CalendarDate.tsx +51 -0
  266. package/src/iframe/event/event-calendar/components/CalendarDate/index.ts +2 -0
  267. package/src/{calendar → iframe/event/event-calendar}/components/CalendarDates/CalendarDates.tsx +19 -24
  268. package/src/{calendar → iframe/event/event-calendar}/components/CalendarSelect/CalendarSelect.tsx +1 -1
  269. package/src/iframe/event/event-calendar/index.ts +6 -0
  270. package/src/iframe/event/event-calendar/types/index.ts +6 -0
  271. package/src/iframe/event/event-calendar/utils/index.ts +11 -0
  272. package/src/iframe/event/event-details/EventDetails.stories.tsx +187 -0
  273. package/src/iframe/event/event-details/EventDetails.tsx +92 -0
  274. package/src/iframe/event/event-details/EventDetailsOneStepForm.stories.tsx +123 -0
  275. package/src/iframe/event/event-details/components/category-product/CategoryProduct.tsx +109 -0
  276. package/src/iframe/event/event-details/components/category-product/index.ts +1 -0
  277. package/src/iframe/event/event-details/components/event-details-form/EventDetailsForm.tsx +250 -0
  278. package/src/iframe/event/event-details/components/event-details-form/index.ts +5 -0
  279. package/src/{number-of-people-input → iframe/event/event-details/components/number-of-people-input}/NumberOfPeopleInput.tsx +1 -1
  280. package/src/{number-of-people-input/components → iframe/event/event-details/components/number-of-people-input/component}/RenderNumberOfPeopleInputComponent.tsx +3 -3
  281. package/src/iframe/event/event-details/components/number-of-people-input/component/index.ts +1 -0
  282. package/src/iframe/event/event-details/components/number-of-people-input/index.ts +1 -0
  283. package/src/iframe/event/event-details/components/product-category-view/ProductCategoryView.tsx +34 -0
  284. package/src/iframe/event/event-details/components/product-category-view/index.ts +1 -0
  285. package/src/iframe/event/event-details/index.ts +1 -0
  286. package/src/iframe/event/event-details/utils/index.ts +1 -0
  287. package/src/iframe/event/event-details/utils/routes.ts +6 -0
  288. package/src/iframe/event/event-venue-map/IframeEventVenueMap.stories.tsx +2 -1
  289. package/src/iframe/event/index.ts +7 -0
  290. package/src/iframe/event/ticket-description/TicketDescription.stories.tsx +2 -8
  291. package/src/iframe/event/ticket-description/TicketDescription.tsx +2 -7
  292. package/src/iframe/index.ts +3 -1
  293. package/src/iframe/order-process/components/BookingSummary/BookingSummary.tsx +3 -4
  294. package/src/iframe/order-process/components/BookingSummary/types/index.ts +1 -2
  295. package/src/iframe/order-process/components/BookingSummary/utils/index.ts +0 -2
  296. package/src/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.stories.tsx +1 -0
  297. package/src/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.tsx +8 -17
  298. package/src/iframe/order-process/components/CategoryProduct/CategoryProduct.tsx +15 -1
  299. package/src/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.tsx +29 -15
  300. package/src/iframe/order-process/components/ErrorModal/ErrorModal.tsx +9 -12
  301. package/src/iframe/order-process/components/Timer/utils/index.ts +9 -6
  302. package/src/iframe/order-process/components/utils/useCategoryVerification.ts +32 -62
  303. package/src/iframe/order-process/constants.ts +0 -1
  304. package/src/iframe/page/Page.stories.tsx +2 -2
  305. package/src/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.tsx +6 -13
  306. package/src/iframe/payment/payment-page/PaymentPage.stories.tsx +1 -1
  307. package/src/iframe/payment/payment-page/PaymentPage.tsx +4 -4
  308. package/src/index.ts +0 -3
  309. package/src/notification/email-template/control/EmailTemplateControl.tsx +1 -26
  310. package/src/product-set/control/DateAndRecurrenceInput.tsx +2 -73
  311. package/src/product-set/control/ProductSetControl.stories.tsx +2 -0
  312. package/src/product-set/control/ProductSetControl.tsx +10 -44
  313. package/src/product-set/control/ProductSetRecurrenceControl.tsx +5 -14
  314. package/src/product-set/form/ProductCategoriesControl.tsx +1 -2
  315. package/src/product-set/form/ProductSetForm.stories.tsx +12 -9
  316. package/src/product-set/form/ProductSetForm.tsx +3 -19
  317. package/src/product-set/form/ProductsControl.tsx +0 -10
  318. package/src/product-set/product/ProductControl.tsx +1 -28
  319. package/src/product-set/product/duration/ProductDurationControl.tsx +1 -1
  320. package/src/product-set/product-category/ProductCategory.stories.tsx +1 -0
  321. package/src/product-set/product-category/ProductCategoryControl.tsx +30 -1
  322. package/src/product-set/utils/index.ts +0 -38
  323. package/src/provider/location-input/LocationInput.tsx +20 -21
  324. package/src/provider/location-input/LocationInputDescription.tsx +2 -2
  325. package/src/provider/location-input/index.ts +1 -1
  326. package/src/provider/provider-details-input/ProviderDetailsInput.tsx +13 -5
  327. package/src/provider/venue-form/VenueForm.stories.tsx +0 -24
  328. package/src/provider/venue-form/VenueForm.tsx +4 -55
  329. package/src/recurrence-input/RecurrenceEndInput.tsx +10 -28
  330. package/src/recurrence-input/RecurrenceInput.tsx +2 -12
  331. package/src/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.tsx +11 -21
  332. package/src/recurring-date-picker-input/RecurringDatePickerInput.tsx +0 -9
  333. package/src/report/form/ReportForm.tsx +1 -1
  334. package/src/sales/booking/results/BookingResults.stories.tsx +7 -12
  335. package/src/sales/booking/results/components/ResultCard.tsx +3 -24
  336. package/src/sales/coupon/control/CouponFormControl.tsx +0 -5
  337. package/src/sales/filters/SaleFilters.tsx +0 -1
  338. package/src/sales/guest-profile/previous-bookings/PreviousBookings.stories.tsx +7 -0
  339. package/src/sales/manual-booking/summary/ManualBookingSummary.tsx +5 -20
  340. package/src/sales/source-of-sales/SourceOfSalesChart.tsx +28 -31
  341. package/src/snippet/snippet-template/preview/Preview.tsx +2 -14
  342. package/src/static/RestrictedAccess.tsx +1 -1
  343. package/src/static/form-number-input/FormNumberInput.tsx +1 -8
  344. package/src/styles/events/EventCard.scss +5 -12
  345. package/src/styles/form/CustomCheckbox.scss +0 -6
  346. package/src/styles/header/Header.scss +4 -0
  347. package/{dist/styles/activity-card/GridActivitiesCard.scss → src/styles/iframe-customers-journey/ActivitiesCard.scss} +9 -1
  348. package/src/styles/{activity-card/ListActivitiesCard.scss → iframe-customers-journey/ActivitiesSelectedCard.scss} +1 -2
  349. package/src/styles/{date-time-button → iframe-customers-journey}/DateTimeButton.scss +12 -6
  350. package/src/styles/iframe-customers-journey/_index.scss +3 -0
  351. package/src/styles/iframe-events/Card.scss +0 -1
  352. package/src/styles/notification/Notification.scss +0 -4
  353. package/src/styles/packages.scss +1 -3
  354. package/src/styles/resources-blocking/_index.scss +0 -16
  355. package/src/styles/sales/BookingResults.scss +6 -14
  356. package/src/styles/themes/bookedit/_index.scss +0 -1
  357. package/src/styles/zones/ZoneForm.scss +0 -3
  358. package/src/types/iframe.ts +0 -1
  359. package/src/typings.d.ts +0 -11
  360. package/src/virtualized/components/VirtualizedWindowScroller.tsx +1 -2
  361. package/src/zone/form/ZoneForm.tsx +2 -1
  362. package/src/zone/form/components/AvailableTimesControl.tsx +88 -89
  363. package/src/zone/form/components/ZoneControl.tsx +5 -4
  364. package/src/zone/form/components/ZoneRecurrencesControl.tsx +59 -3
  365. package/src/zone/form/utils/dates.ts +36 -29
  366. package/dist/assets/iframe/available.svg.js +0 -1
  367. package/dist/assets/iframe/limited.svg.js +0 -1
  368. package/dist/assets/iframe/soldOut.svg.js +0 -1
  369. package/dist/assets/logo/favicon.svg +0 -12
  370. package/dist/availability-indicator/AvailabilityIndicator.d.ts +0 -10
  371. package/dist/availability-indicator/AvailabilityIndicator.d.ts.map +0 -1
  372. package/dist/availability-indicator/AvailabilityIndicator.js +0 -1
  373. package/dist/availability-indicator/index.d.ts +0 -2
  374. package/dist/availability-indicator/index.d.ts.map +0 -1
  375. package/dist/calendar/Calendar.d.ts +0 -19
  376. package/dist/calendar/Calendar.d.ts.map +0 -1
  377. package/dist/calendar/Calendar.js +0 -1
  378. package/dist/calendar/components/CalendarButtons/CalendarButtons.d.ts +0 -6
  379. package/dist/calendar/components/CalendarButtons/CalendarButtons.d.ts.map +0 -1
  380. package/dist/calendar/components/CalendarButtons/CalendarButtons.js +0 -1
  381. package/dist/calendar/components/CalendarButtons/index.d.ts.map +0 -1
  382. package/dist/calendar/components/CalendarDates/CalendarDates.d.ts +0 -5
  383. package/dist/calendar/components/CalendarDates/CalendarDates.d.ts.map +0 -1
  384. package/dist/calendar/components/CalendarDates/CalendarDates.js +0 -1
  385. package/dist/calendar/components/CalendarDates/index.d.ts.map +0 -1
  386. package/dist/calendar/components/CalendarSelect/CalendarSelect.d.ts.map +0 -1
  387. package/dist/calendar/components/CalendarSelect/CalendarSelect.js +0 -1
  388. package/dist/calendar/components/CalendarSelect/index.d.ts.map +0 -1
  389. package/dist/calendar/components/CalendarWeekdays/CalendarWeekdays.d.ts.map +0 -1
  390. package/dist/calendar/components/CalendarWeekdays/index.d.ts.map +0 -1
  391. package/dist/calendar/index.d.ts +0 -4
  392. package/dist/calendar/index.d.ts.map +0 -1
  393. package/dist/calendar/utils/index.d.ts +0 -5
  394. package/dist/calendar/utils/index.d.ts.map +0 -1
  395. package/dist/calendar/utils/index.js +0 -1
  396. package/dist/iframe/activity-card/ActivityCard.d.ts +0 -15
  397. package/dist/iframe/activity-card/ActivityCard.d.ts.map +0 -1
  398. package/dist/iframe/activity-card/ActivityCard.js +0 -1
  399. package/dist/iframe/activity-card/index.d.ts +0 -2
  400. package/dist/iframe/activity-card/index.d.ts.map +0 -1
  401. package/dist/number-of-people-input/NumberOfPeopleInput.d.ts.map +0 -1
  402. package/dist/number-of-people-input/NumberOfPeopleInput.js +0 -1
  403. package/dist/number-of-people-input/components/RenderNumberOfPeopleInputComponent.d.ts.map +0 -1
  404. package/dist/number-of-people-input/components/RenderNumberOfPeopleInputComponent.js +0 -1
  405. package/dist/number-of-people-input/components/index.d.ts +0 -2
  406. package/dist/number-of-people-input/components/index.d.ts.map +0 -1
  407. package/dist/number-of-people-input/index.d.ts +0 -3
  408. package/dist/number-of-people-input/index.d.ts.map +0 -1
  409. package/dist/provider/location-input/components/FormGroupControll.d.ts +0 -7
  410. package/dist/provider/location-input/components/FormGroupControll.d.ts.map +0 -1
  411. package/dist/provider/location-input/components/FormGroupControll.js +0 -1
  412. package/dist/provider/location-input/components/index.d.ts +0 -2
  413. package/dist/provider/location-input/components/index.d.ts.map +0 -1
  414. package/dist/styles/activity-card/_index.scss +0 -2
  415. package/dist/styles/availability-indicator/AvailabilityIndicator.scss +0 -7
  416. package/dist/styles/availability-indicator/_index.scss +0 -1
  417. package/dist/styles/date-time-button/_index.scss +0 -1
  418. package/dist/zone/form/components/GameDurationControl.d.ts +0 -7
  419. package/dist/zone/form/components/GameDurationControl.d.ts.map +0 -1
  420. package/dist/zone/form/components/GameDurationControl.js +0 -1
  421. package/src/assets/logo/favicon.svg +0 -12
  422. package/src/availability-indicator/AvailabilityIndicator.tsx +0 -67
  423. package/src/availability-indicator/index.ts +0 -1
  424. package/src/calendar/Calendar.stories.tsx +0 -33
  425. package/src/calendar/Calendar.tsx +0 -45
  426. package/src/calendar/index.ts +0 -3
  427. package/src/calendar/utils/index.ts +0 -28
  428. package/src/iframe/activity-card/ActivityCard.stories.tsx +0 -51
  429. package/src/iframe/activity-card/ActivityCard.tsx +0 -66
  430. package/src/iframe/activity-card/index.ts +0 -1
  431. package/src/number-of-people-input/components/RenderNumberOfPeopleInputComponent.stories.tsx +0 -92
  432. package/src/number-of-people-input/components/index.ts +0 -1
  433. package/src/number-of-people-input/index.ts +0 -2
  434. package/src/provider/location-input/components/FormGroupControll.tsx +0 -16
  435. package/src/provider/location-input/components/index.ts +0 -1
  436. package/src/styles/activity-card/_index.scss +0 -2
  437. package/src/styles/availability-indicator/AvailabilityIndicator.scss +0 -7
  438. package/src/styles/availability-indicator/_index.scss +0 -1
  439. package/src/styles/date-time-button/_index.scss +0 -1
  440. package/src/zone/form/components/GameDurationControl.tsx +0 -46
  441. /package/dist/assets/iframe/{available.svg → dateInfo/available.svg} +0 -0
  442. /package/dist/assets/iframe/{limited.svg → dateInfo/limited.svg} +0 -0
  443. /package/dist/assets/iframe/{soldOut.svg → dateInfo/soldOut.svg} +0 -0
  444. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarButtons/index.d.ts +0 -0
  445. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarDates/index.d.ts +0 -0
  446. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarSelect/CalendarSelect.d.ts +0 -0
  447. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarSelect/index.d.ts +0 -0
  448. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarWeekdays/CalendarWeekdays.d.ts +0 -0
  449. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarWeekdays/CalendarWeekdays.js +0 -0
  450. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarWeekdays/index.d.ts +0 -0
  451. /package/dist/{number-of-people-input → iframe/event/event-details/components/number-of-people-input}/NumberOfPeopleInput.d.ts +0 -0
  452. /package/src/assets/iframe/{available.svg → dateInfo/available.svg} +0 -0
  453. /package/src/assets/iframe/{limited.svg → dateInfo/limited.svg} +0 -0
  454. /package/src/assets/iframe/{soldOut.svg → dateInfo/soldOut.svg} +0 -0
  455. /package/src/{calendar → iframe/event/event-calendar}/components/CalendarButtons/index.ts +0 -0
  456. /package/src/{calendar → iframe/event/event-calendar}/components/CalendarDates/index.ts +0 -0
  457. /package/src/{calendar → iframe/event/event-calendar}/components/CalendarSelect/index.ts +0 -0
  458. /package/src/{calendar → iframe/event/event-calendar}/components/CalendarWeekdays/CalendarWeekdays.tsx +0 -0
  459. /package/src/{calendar → iframe/event/event-calendar}/components/CalendarWeekdays/index.ts +0 -0
@@ -0,0 +1,49 @@
1
+ import React from "react";
2
+ import clsx from "clsx";
3
+ import { Image } from "@licklist/core/dist/DataMapper/Media/ImageDataMapper";
4
+
5
+ export interface ListActivityCardProps {
6
+ title: string;
7
+ duration: string;
8
+ price: string;
9
+ image?: Image | null;
10
+ onSelect: () => void;
11
+ isSelected: boolean;
12
+ }
13
+
14
+ export const ListActivityCard = ({
15
+ title,
16
+ duration,
17
+ price,
18
+ image,
19
+ onSelect,
20
+ isSelected,
21
+ }: ListActivityCardProps) => {
22
+ return (
23
+ <div role="button" onClick={onSelect} onKeyPress={onSelect} tabIndex={0}>
24
+ <div
25
+ className={clsx("list-activity-card", {
26
+ active: isSelected,
27
+ })}
28
+ >
29
+ <div className="description">
30
+ <div className="title">{title}</div>
31
+ {duration && (
32
+ <div>
33
+ <p>{duration}</p>
34
+ </div>
35
+ )}
36
+
37
+ {price && <div>{price}</div>}
38
+ </div>
39
+
40
+ {image && (
41
+ <div className="image-container">
42
+ <img className="image" src={image.url} alt="" />
43
+ </div>
44
+ )}
45
+ </div>
46
+ <hr className="list-activity-card-hr" />
47
+ </div>
48
+ );
49
+ };
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ import { DateTime } from "luxon";
3
+ import { Meta, Story } from "@storybook/react";
4
+ import {
5
+ EventCalendarProvider,
6
+ getMonthCalendarDates,
7
+ } from "@licklist/plugins/dist/context/event/EventCalendarContext";
8
+ import { EventCalendar, EventCalendarProps } from "./EventCalendar";
9
+
10
+ export default {
11
+ title: "Iframe/Event/Calendar",
12
+ component: EventCalendar,
13
+ } as Meta;
14
+
15
+ export const Default: Story<EventCalendarProps> = (args) => {
16
+ return (
17
+ <EventCalendarProvider getCalendarDates={getMonthCalendarDates}>
18
+ <div style={{ backgroundColor: "white" }}>
19
+ <EventCalendar {...args} />
20
+ </div>
21
+ </EventCalendarProvider>
22
+ );
23
+ };
24
+
25
+ const now = DateTime.now().set({
26
+ hour: 0,
27
+ second: 0,
28
+ millisecond: 0,
29
+ minute: 0,
30
+ });
31
+
32
+ Default.args = {
33
+ disabledDates: [now.minus({ day: 2 }), now, now.plus({ day: 2 })],
34
+ isLoading: false,
35
+ fromPrice: "from £10",
36
+ };
@@ -0,0 +1,27 @@
1
+ import React, { ReactElement } from "react";
2
+ import { CalendarButtons } from "./components/CalendarButtons";
3
+ import { CalendarDates } from "./components/CalendarDates";
4
+ import { CalendarBaseProps } from "./types";
5
+
6
+ export type EventCalendarProps = CalendarBaseProps & {
7
+ fromPrice?: string | ReactElement | null;
8
+ };
9
+
10
+ export const EventCalendar = ({
11
+ disabledDates = [],
12
+ isLoading = false,
13
+ fromPrice,
14
+ }: EventCalendarProps) => {
15
+ return (
16
+ <div className="calendar-wrapper">
17
+ <div className="calendar">
18
+ <CalendarButtons disabledDates={disabledDates} isLoading={isLoading} />
19
+ <CalendarDates
20
+ disabledDates={disabledDates}
21
+ isLoading={isLoading}
22
+ fromPrice={fromPrice}
23
+ />
24
+ </div>
25
+ </div>
26
+ );
27
+ };
@@ -1,53 +1,36 @@
1
- import React, { useCallback, useMemo } from "react";
1
+ import React, { useContext, useMemo } from "react";
2
2
  import { Button } from "react-bootstrap";
3
3
  import { useTranslation } from "react-i18next";
4
4
  import { range } from "lodash";
5
- import { ReactComponent as SelectArrow } from "../../../assets/iframe/selectArrow.svg";
5
+ import { EventCalendarContext } from "@licklist/plugins/dist/context/event/EventCalendarContext";
6
+ import { ReactComponent as SelectArrow } from "../../../../../assets/iframe/selectArrow.svg";
6
7
  import { CalendarSelect } from "../CalendarSelect";
8
+ import { CalendarBaseProps } from "../../types";
7
9
  import { isSelectedDateDisabled } from "../../utils";
8
- import { CalendarProps } from "../../Calendar";
9
10
 
10
- type CalendarButtonsProps = Pick<
11
- CalendarProps,
12
- | "isLoading"
13
- | "disabledDates"
14
- | "initialDate"
15
- | "currentDate"
16
- | "setCurrentDate"
17
- | "setSelectedDate"
18
- >;
11
+ type CalendarButtonsProps = CalendarBaseProps;
19
12
 
20
13
  export const CalendarButtons = ({
21
14
  disabledDates = [],
22
15
  isLoading = false,
23
- initialDate,
24
- currentDate,
25
- setCurrentDate,
26
- setSelectedDate,
27
16
  }: CalendarButtonsProps) => {
17
+ const {
18
+ initialDate,
19
+ currentDate,
20
+ canMoveBack,
21
+ onSelectPreviousMonth,
22
+ onSelectNextMonth,
23
+ setCurrentDate,
24
+ setSelectedDate,
25
+ } = useContext(EventCalendarContext);
28
26
  const { t } = useTranslation("Design");
29
27
 
30
- const onSelectNextMonth = useCallback(() => {
31
- setCurrentDate((prevDate) => prevDate.plus({ months: 1 }));
32
- // eslint-disable-next-line react-hooks/exhaustive-deps
33
- }, []);
34
-
35
- const onSelectPreviousMonth = useCallback(() => {
36
- setCurrentDate((prevDate) => prevDate.minus({ month: 1 }));
37
- // eslint-disable-next-line react-hooks/exhaustive-deps
38
- }, []);
39
-
40
28
  const yearOptions = useMemo(() => {
41
29
  return range(initialDate.year, initialDate.year + 5, 1).map((year) => {
42
30
  return { label: String(year), value: year };
43
31
  });
44
32
  }, [initialDate]);
45
33
 
46
- const canMoveBack = useMemo(
47
- () => currentDate > initialDate,
48
- [currentDate, initialDate]
49
- );
50
-
51
34
  const onSelectYear = (value: string) => {
52
35
  const selectedYear = Number(value);
53
36
  const nextDateTime = currentDate.set({ year: selectedYear });
@@ -0,0 +1,51 @@
1
+ import React, { ReactElement } from "react";
2
+ import { Button } from "react-bootstrap";
3
+ import { DateTime } from "luxon";
4
+ import clsx from "clsx";
5
+
6
+ export type CalendarDateProps = {
7
+ initialDate: DateTime;
8
+ currentDate: DateTime;
9
+ selectedDate?: DateTime;
10
+ setSelectedDate: (date: DateTime) => void;
11
+ isDisabled?: boolean;
12
+ fromPrice?: string | ReactElement | null;
13
+ };
14
+
15
+ export const CalendarDate = ({
16
+ initialDate,
17
+ currentDate,
18
+ selectedDate,
19
+ setSelectedDate,
20
+ isDisabled = false,
21
+ fromPrice,
22
+ }: CalendarDateProps) => {
23
+ const onClick = () => {
24
+ if (isDisabled) return;
25
+
26
+ setSelectedDate(currentDate);
27
+ };
28
+
29
+ const disabled = currentDate < initialDate || isDisabled;
30
+
31
+ return (
32
+ <Button
33
+ variant="link"
34
+ disabled={disabled}
35
+ className={clsx(
36
+ "calendar-date",
37
+ selectedDate?.hasSame(currentDate, "day") && "selected-date",
38
+ disabled && "disabled-date"
39
+ )}
40
+ onClick={onClick}
41
+ >
42
+ <div>{currentDate.day}</div>
43
+
44
+ {typeof fromPrice === "string" ? (
45
+ <div>{fromPrice}</div>
46
+ ) : (
47
+ <>{fromPrice}</>
48
+ )}
49
+ </Button>
50
+ );
51
+ };
@@ -0,0 +1,2 @@
1
+ export { CalendarDate } from "./CalendarDate";
2
+ export type { CalendarDateProps } from "./CalendarDate";
@@ -1,26 +1,23 @@
1
- import React, { useMemo } from "react";
1
+ import React, { ReactElement, useContext, useMemo } from "react";
2
2
  import { DateTime } from "luxon";
3
- import { DAY_NUMBER } from "@licklist/core/dist/Config";
4
- import { DateTimeButton } from "../../../date-time-button";
3
+ import { EventCalendarContext } from "@licklist/plugins/dist/context/event/EventCalendarContext";
5
4
  import { CalendarWeekdays } from "../CalendarWeekdays";
5
+ import { CalendarDate } from "../CalendarDate";
6
+ import { CalendarBaseProps } from "../../types";
6
7
  import { isSelectedDateDisabled } from "../../utils";
7
- import { CalendarProps } from "../../Calendar";
8
8
 
9
- export type CalendarDatesProps = Omit<
10
- CalendarProps,
11
- "currentDate" | "setCurrentDate" | "initialDate"
12
- >;
9
+ export type CalendarDatesProps = CalendarBaseProps & {
10
+ fromPrice?: string | ReactElement | null;
11
+ };
13
12
 
14
13
  export const CalendarDates = ({
15
14
  disabledDates = [],
16
15
  isLoading = false,
17
- calendarDates,
18
- selectedDate,
19
- setSelectedDate,
20
16
  fromPrice,
21
- getAvailability,
22
- includeAvailability,
23
17
  }: CalendarDatesProps) => {
18
+ const { calendarDates, initialDate, selectedDate, setSelectedDate } =
19
+ useContext(EventCalendarContext);
20
+
24
21
  const fillCalendarDates = useMemo(() => {
25
22
  let firstDayOfWeek = calendarDates[0]?.weekday ?? 0;
26
23
 
@@ -43,24 +40,22 @@ export const CalendarDates = ({
43
40
  <CalendarWeekdays />
44
41
  <div className="calendar-dates">
45
42
  {fillCalendarDates.map((date: DateTime | null) => {
46
- if (date === null) return <div />;
43
+ if (date === null) {
44
+ return <div />;
45
+ }
47
46
 
48
47
  const isDisabled =
49
48
  isLoading || isSelectedDateDisabled(date, disabledDates);
50
49
 
51
50
  return (
52
- <DateTimeButton
51
+ <CalendarDate
53
52
  key={+date}
53
+ currentDate={date}
54
+ initialDate={initialDate}
55
+ selectedDate={selectedDate}
56
+ setSelectedDate={setSelectedDate}
54
57
  isDisabled={isDisabled}
55
- isSelected={
56
- selectedDate ? date.hasSame(selectedDate, "day") : undefined
57
- }
58
- date={date.toFormat(DAY_NUMBER)}
59
- onSelect={() => setSelectedDate(date)}
60
- price={fromPrice}
61
- resources={getAvailability?.(date)}
62
- showResources={includeAvailability}
63
- calendarView
58
+ fromPrice={fromPrice}
64
59
  />
65
60
  );
66
61
  })}
@@ -1,7 +1,7 @@
1
1
  import React, { useRef } from "react";
2
2
  import { Form } from "react-bootstrap";
3
3
  import clsx from "clsx";
4
- import { PAGE_CALENDAR_SELECT_WRAPPER } from "../../../iframe/page/components/PageBody/constants";
4
+ import { PAGE_CALENDAR_SELECT_WRAPPER } from "../../../../page/components/PageBody/constants";
5
5
 
6
6
  export type CalendarSelectOption = {
7
7
  label: string;
@@ -0,0 +1,6 @@
1
+ export { EventCalendar } from "./EventCalendar";
2
+ export { CalendarSelect } from "./components/CalendarSelect";
3
+ export type {
4
+ CalendarSelectProps,
5
+ CalendarSelectOption,
6
+ } from "./components/CalendarSelect";
@@ -0,0 +1,6 @@
1
+ import { DateTime } from "luxon";
2
+
3
+ export type CalendarBaseProps = {
4
+ disabledDates?: DateTime[];
5
+ isLoading?: boolean;
6
+ };
@@ -0,0 +1,11 @@
1
+ import { DateTime } from "luxon";
2
+ import isEqual from "lodash/isEqual";
3
+
4
+ export const isSelectedDateDisabled = (
5
+ selectedDate: DateTime,
6
+ disabledDates: DateTime[] = []
7
+ ) => {
8
+ return !!disabledDates.find((disabledDate) =>
9
+ isEqual(disabledDate.toObject(), selectedDate.toObject())
10
+ );
11
+ };
@@ -0,0 +1,187 @@
1
+ import { Meta } from "@storybook/react";
2
+ import React, { useState } from "react";
3
+ import { EventDetails } from "./EventDetails";
4
+
5
+ export default {
6
+ title: "Iframe/Event/EventDetails",
7
+ component: EventDetails,
8
+ } as Meta;
9
+
10
+ const productCategories = [
11
+ {
12
+ id: 1,
13
+ name: "Early Bird General Admission",
14
+ products: [
15
+ {
16
+ id: 7,
17
+ name: "Beer",
18
+ description: `Ticket <em>is</em> valid for students and non students.
19
+ You do not need student ID for this event but do require regular age ID e.g. driving licence or passport.
20
+ Ticket valid for entry before 11.30pm for 12.30am showtime.`,
21
+ minQuantity: 1,
22
+ maxQuantity: 10,
23
+ price: 1,
24
+ },
25
+ {
26
+ id: 8,
27
+ name: "Wine",
28
+ description: `Ticket is valid for students and non students.
29
+ You do not need <strong>student ID</strong> for this event but do require regular age ID e.g. driving licence or passport.
30
+ Ticket valid for entry before 11.30pm for 12.30am showtime.`,
31
+ minQuantity: 1,
32
+ maxQuantity: 10,
33
+ price: 1,
34
+ isRequired: true,
35
+ },
36
+ ],
37
+ },
38
+ {
39
+ id: 2,
40
+ name: "Nice",
41
+ products: [
42
+ {
43
+ id: 3,
44
+ name: "Beer",
45
+ description: `Ticket is valid for students and non students.
46
+ You do not need student ID for this event but do require regular age ID e.g. driving licence or passport.
47
+ Ticket valid for entry before 11.30pm for 12.30am showtime.`,
48
+ minQuantity: 1,
49
+ maxQuantity: 10,
50
+ price: 1,
51
+ },
52
+ {
53
+ id: 5,
54
+ name: "Wine",
55
+ description: `Ticket is valid for students and non students.
56
+ You do not need <strong>student ID</strong> for this event but do require regular age ID e.g. driving licence or passport.
57
+ Ticket valid for entry before 11.30pm for 12.30am showtime.`,
58
+ minQuantity: 1,
59
+ maxQuantity: 10,
60
+ price: 1,
61
+ },
62
+ ],
63
+ },
64
+ ];
65
+
66
+ const productCategories2 = [
67
+ {
68
+ id: 1,
69
+ name: "fine",
70
+ products: [
71
+ {
72
+ id: 9,
73
+ name: "Beer",
74
+ description: `Ticket is valid for students and non students.
75
+ You do not need student ID for this event but do require regular age ID e.g. driving licence or passport.
76
+ Ticket valid for entry before 11.30pm for 12.30am showtime.`,
77
+ minQuantity: 1,
78
+ maxQuantity: 10,
79
+ price: 1,
80
+ },
81
+ {
82
+ id: 10,
83
+ name: "Wine",
84
+ description: `Ticket is valid for students and non students.
85
+ You do not need student ID for this event but do require regular age ID e.g. driving licence or passport.
86
+ Ticket valid for entry before 11.30pm for 12.30am showtime.`,
87
+ minQuantity: 1,
88
+ maxQuantity: 10,
89
+ price: 1,
90
+ isRequired: true,
91
+ },
92
+ ],
93
+ },
94
+ {
95
+ id: 2,
96
+ name: "Nice",
97
+ products: [
98
+ {
99
+ id: 11,
100
+ name: "Beer",
101
+ description: `Ticket is valid for students and non students.
102
+ You do not need student ID for this event but do require regular age ID e.g. driving licence or passport.
103
+ Ticket valid for entry before 11.30pm for 12.30am showtime.`,
104
+ minQuantity: 1,
105
+ maxQuantity: 10,
106
+ price: 1,
107
+ },
108
+ {
109
+ id: 12,
110
+ name: "Wine",
111
+ description: `Ticket is valid for students and non students.
112
+ You do not need student ID for this event but do require regular age ID e.g. driving licence or passport.
113
+ Ticket valid for entry before 11.30pm for 12.30am showtime.`,
114
+ minQuantity: 1,
115
+ maxQuantity: 10,
116
+ price: 1,
117
+ },
118
+ ],
119
+ },
120
+ ];
121
+
122
+ const menus = [
123
+ {
124
+ id: 1,
125
+ name: "Menu 1",
126
+ menuSteps: [
127
+ {
128
+ id: 1,
129
+ name: "Burger",
130
+ productCategories: productCategories,
131
+ },
132
+ {
133
+ id: 2,
134
+ name: "Cheese",
135
+ productCategories: productCategories2,
136
+ },
137
+ ],
138
+ },
139
+ ];
140
+
141
+ const defaultValues = {
142
+ "8": {
143
+ id: 8,
144
+ name: "Wine",
145
+ price: 1,
146
+ productsCategoryId: 1,
147
+ quantity: 1,
148
+ },
149
+ };
150
+
151
+ export function Default() {
152
+ const [_order, setOrder] = useState({});
153
+
154
+ const onSubmit = (values: any) => {
155
+ setOrder(values);
156
+ };
157
+
158
+ return (
159
+ <div>
160
+ <EventDetails
161
+ menus={menus}
162
+ description="On the other hand, we denounce with righteous indignation and dislike
163
+ men who are so beguiled and demoralized by the charms of pleasure of
164
+ the moment, so blinded by desire, that they cannot foresee the pain
165
+ and trouble that are bound to ensue; and equal blame belongs to those
166
+ who fail in their duty through weakness of will, which is the same as
167
+ saying through shrinking from toil and pain. These cases are perfectly
168
+ simple and easy to distinguish. In a free hour, when our power of
169
+ choice is untrammelled and when nothing prevents our being able to do
170
+ what we like best, every pleasure is to be welcomed and every pain
171
+ avoided. But in certain circumstances and owing to the claims of duty
172
+ or the obligations of business it will frequently occur that pleasures
173
+ have to be repudiated and annoyances accepted. The wise man therefore
174
+ always holds in these matters to this principle of selection: he
175
+ rejects pleasures to secure other greater pleasures, or else he
176
+ endures pains to avoid worse pains."
177
+ cost={6}
178
+ title="Glitterbomb Bucks / Baga Chipz"
179
+ date="Sat 2nd May"
180
+ // eslint-disable-next-line max-len
181
+ imageSrc="https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=387&q=80 387w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80 687w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=774&q=80 774w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=987&q=80 987w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1287&q=80 1287w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1374&q=80 1374w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1587&q=80 1587w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1887&q=80 1887w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1974&q=80 1974w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2187&q=80 2187w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2487&q=80 2487w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2574&q=80 2574w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2787&q=80 2787w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=3087&q=80 3087w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=3174&q=80 3174w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=3387&q=80 3387w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=3687&q=80 3687w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=3774&q=80 3774w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=3987&q=80 3987w, https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=4000&q=80 4000w"
182
+ onSubmit={onSubmit}
183
+ defaultValues={defaultValues}
184
+ />
185
+ </div>
186
+ );
187
+ }
@@ -0,0 +1,92 @@
1
+ import React, { useState, useMemo } from "react";
2
+ import { MemoryRouter, Route } from "react-router-dom";
3
+ import {
4
+ EventDetailsForm,
5
+ EventDetailsFormProps,
6
+ } from "./components/event-details-form";
7
+ import { WizardFormValues } from "../../../types";
8
+ import { routesByStepsCount } from "./utils";
9
+
10
+ type EventDetailsProps = EventDetailsFormProps & {
11
+ onSubmit: (values: WizardFormValues) => void;
12
+ defaultValues?: WizardFormValues;
13
+ };
14
+
15
+ export function EventDetails({
16
+ onSubmit,
17
+ menus,
18
+ defaultValues = {},
19
+ ...restProps
20
+ }: EventDetailsProps) {
21
+ const [stepFormValues, setStepFormValues] =
22
+ useState<WizardFormValues>(defaultValues);
23
+
24
+ const menu = menus && menus?.length !== 0 ? menus[0] : null;
25
+ const numberOfSteps = menu?.menuSteps?.length || 0;
26
+
27
+ const routes = useMemo(
28
+ () => routesByStepsCount(numberOfSteps),
29
+ [numberOfSteps]
30
+ );
31
+
32
+ const submitFormsValues = (values: WizardFormValues) => {
33
+ if (!onSubmit) return;
34
+
35
+ onSubmit(values);
36
+ };
37
+
38
+ const saveFormValues = ({
39
+ values,
40
+ pathname,
41
+ isBackAction = false,
42
+ }: {
43
+ values: WizardFormValues;
44
+ pathname?: string;
45
+ isBackAction?: boolean;
46
+ }) => {
47
+ const nextValues = { ...stepFormValues, ...values };
48
+ setStepFormValues(nextValues);
49
+
50
+ if (!pathname || (routes[routes.length - 1] === pathname && !isBackAction))
51
+ return submitFormsValues(nextValues);
52
+
53
+ return undefined;
54
+ };
55
+
56
+ if (routes.length) {
57
+ return (
58
+ <MemoryRouter initialEntries={routes} initialIndex={0}>
59
+ {routes.map((route: string) => {
60
+ return (
61
+ <Route
62
+ path={route}
63
+ exact
64
+ key={route}
65
+ render={() => (
66
+ <EventDetailsForm
67
+ {...restProps}
68
+ menu={menu}
69
+ onFormSubmit={saveFormValues}
70
+ routes={routes}
71
+ numberOfSteps={numberOfSteps}
72
+ defaultValues={stepFormValues}
73
+ />
74
+ )}
75
+ />
76
+ );
77
+ })}
78
+ </MemoryRouter>
79
+ );
80
+ }
81
+
82
+ return (
83
+ <EventDetailsForm
84
+ {...restProps}
85
+ menu={menu}
86
+ onFormSubmit={saveFormValues}
87
+ routes={routes}
88
+ numberOfSteps={numberOfSteps}
89
+ defaultValues={stepFormValues}
90
+ />
91
+ );
92
+ }