@licklist/design 0.44.486-dev.58 → 0.44.486-dev.6

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 (409) 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 -7
  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.d.ts.map +1 -1
  12. package/dist/events/edit-event-modal/utils/getDefaultProductSet.js +1 -1
  13. package/dist/events/event-card/EventCard.d.ts.map +1 -1
  14. package/dist/events/event-card/EventCard.js +1 -1
  15. package/dist/events/event-card/utils.d.ts +0 -1
  16. package/dist/events/event-card/utils.d.ts.map +1 -1
  17. package/dist/events/event-card/utils.js +1 -1
  18. package/dist/events/event-venue-map/hooks/useImage.d.ts.map +1 -1
  19. package/dist/events/event-venue-map/hooks/useImage.js +1 -1
  20. package/dist/file-upload/FileUpload.d.ts.map +1 -1
  21. package/dist/file-upload/FileUpload.js +1 -1
  22. package/dist/iframe/activity-cards/activity-card/ActivityCard.d.ts +12 -0
  23. package/dist/iframe/activity-cards/activity-card/ActivityCard.d.ts.map +1 -0
  24. package/dist/iframe/activity-cards/activity-card/ActivityCard.js +1 -0
  25. package/dist/iframe/activity-cards/index.d.ts +3 -0
  26. package/dist/iframe/activity-cards/index.d.ts.map +1 -0
  27. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.d.ts +12 -0
  28. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.d.ts.map +1 -0
  29. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.js +1 -0
  30. package/dist/iframe/event/event-calendar/EventCalendar.d.ts +7 -0
  31. package/dist/iframe/event/event-calendar/EventCalendar.d.ts.map +1 -0
  32. package/dist/iframe/event/event-calendar/EventCalendar.js +1 -0
  33. package/dist/iframe/event/event-calendar/components/CalendarButtons/CalendarButtons.d.ts +6 -0
  34. package/dist/iframe/event/event-calendar/components/CalendarButtons/CalendarButtons.d.ts.map +1 -0
  35. package/dist/iframe/event/event-calendar/components/CalendarButtons/CalendarButtons.js +1 -0
  36. package/dist/iframe/event/event-calendar/components/CalendarButtons/index.d.ts.map +1 -0
  37. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.d.ts +12 -0
  38. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.d.ts.map +1 -0
  39. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.js +1 -0
  40. package/dist/iframe/event/event-calendar/components/CalendarDate/index.d.ts +3 -0
  41. package/dist/iframe/event/event-calendar/components/CalendarDate/index.d.ts.map +1 -0
  42. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.d.ts +7 -0
  43. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.d.ts.map +1 -0
  44. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.js +1 -0
  45. package/dist/iframe/event/event-calendar/components/CalendarDates/index.d.ts.map +1 -0
  46. package/dist/iframe/event/event-calendar/components/CalendarSelect/CalendarSelect.d.ts.map +1 -0
  47. package/dist/iframe/event/event-calendar/components/CalendarSelect/CalendarSelect.js +1 -0
  48. package/dist/iframe/event/event-calendar/components/CalendarSelect/index.d.ts.map +1 -0
  49. package/dist/iframe/event/event-calendar/components/CalendarWeekdays/CalendarWeekdays.d.ts.map +1 -0
  50. package/dist/iframe/event/event-calendar/components/CalendarWeekdays/index.d.ts.map +1 -0
  51. package/dist/iframe/event/event-calendar/index.d.ts +4 -0
  52. package/dist/iframe/event/event-calendar/index.d.ts.map +1 -0
  53. package/dist/iframe/event/event-calendar/types/index.d.ts +6 -0
  54. package/dist/iframe/event/event-calendar/types/index.d.ts.map +1 -0
  55. package/dist/iframe/event/event-calendar/utils/index.d.ts +3 -0
  56. package/dist/iframe/event/event-calendar/utils/index.d.ts.map +1 -0
  57. package/dist/iframe/event/event-calendar/utils/index.js +1 -0
  58. package/dist/iframe/event/event-details/EventDetails.d.ts +10 -0
  59. package/dist/iframe/event/event-details/EventDetails.d.ts.map +1 -0
  60. package/dist/iframe/event/event-details/EventDetails.js +1 -0
  61. package/dist/iframe/event/event-details/components/category-product/CategoryProduct.d.ts +9 -0
  62. package/dist/iframe/event/event-details/components/category-product/CategoryProduct.d.ts.map +1 -0
  63. package/dist/iframe/event/event-details/components/category-product/CategoryProduct.js +1 -0
  64. package/dist/iframe/event/event-details/components/category-product/index.d.ts +2 -0
  65. package/dist/iframe/event/event-details/components/category-product/index.d.ts.map +1 -0
  66. package/dist/iframe/event/event-details/components/event-details-form/EventDetailsForm.d.ts +26 -0
  67. package/dist/iframe/event/event-details/components/event-details-form/EventDetailsForm.d.ts.map +1 -0
  68. package/dist/iframe/event/event-details/components/event-details-form/EventDetailsForm.js +1 -0
  69. package/dist/iframe/event/event-details/components/event-details-form/index.d.ts +2 -0
  70. package/dist/iframe/event/event-details/components/event-details-form/index.d.ts.map +1 -0
  71. package/dist/iframe/event/event-details/components/number-of-people-input/NumberOfPeopleInput.d.ts.map +1 -0
  72. package/dist/iframe/event/event-details/components/number-of-people-input/NumberOfPeopleInput.js +1 -0
  73. package/dist/{number-of-people-input/components → iframe/event/event-details/components/number-of-people-input/component}/RenderNumberOfPeopleInputComponent.d.ts +3 -2
  74. package/dist/iframe/event/event-details/components/number-of-people-input/component/RenderNumberOfPeopleInputComponent.d.ts.map +1 -0
  75. package/dist/iframe/event/event-details/components/number-of-people-input/component/RenderNumberOfPeopleInputComponent.js +1 -0
  76. package/dist/iframe/event/event-details/components/number-of-people-input/component/index.d.ts +2 -0
  77. package/dist/iframe/event/event-details/components/number-of-people-input/component/index.d.ts.map +1 -0
  78. package/dist/iframe/event/event-details/components/number-of-people-input/index.d.ts +2 -0
  79. package/dist/iframe/event/event-details/components/number-of-people-input/index.d.ts.map +1 -0
  80. package/dist/iframe/event/event-details/components/product-category-view/ProductCategoryView.d.ts +8 -0
  81. package/dist/iframe/event/event-details/components/product-category-view/ProductCategoryView.d.ts.map +1 -0
  82. package/dist/iframe/event/event-details/components/product-category-view/ProductCategoryView.js +1 -0
  83. package/dist/iframe/event/event-details/components/product-category-view/index.d.ts +2 -0
  84. package/dist/iframe/event/event-details/components/product-category-view/index.d.ts.map +1 -0
  85. package/dist/iframe/event/event-details/index.d.ts +2 -0
  86. package/dist/iframe/event/event-details/index.d.ts.map +1 -0
  87. package/dist/iframe/event/event-details/utils/index.d.ts +2 -0
  88. package/dist/iframe/event/event-details/utils/index.d.ts.map +1 -0
  89. package/dist/iframe/event/event-details/utils/routes.d.ts +2 -0
  90. package/dist/iframe/event/event-details/utils/routes.d.ts.map +1 -0
  91. package/dist/iframe/event/event-details/utils/routes.js +1 -0
  92. package/dist/iframe/event/index.d.ts +2 -0
  93. package/dist/iframe/event/index.d.ts.map +1 -1
  94. package/dist/iframe/event/ticket-description/TicketDescription.d.ts.map +1 -1
  95. package/dist/iframe/event/ticket-description/TicketDescription.js +1 -1
  96. package/dist/iframe/index.d.ts +2 -2
  97. package/dist/iframe/index.d.ts.map +1 -1
  98. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts +1 -1
  99. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts.map +1 -1
  100. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.js +1 -1
  101. package/dist/iframe/order-process/components/BookingSummary/components/BookingSummaryAccordion/BookingSummaryAccordion.js +1 -1
  102. package/dist/iframe/order-process/components/BookingSummary/types/index.d.ts +1 -2
  103. package/dist/iframe/order-process/components/BookingSummary/types/index.d.ts.map +1 -1
  104. package/dist/iframe/order-process/components/BookingSummary/utils/index.d.ts.map +1 -1
  105. package/dist/iframe/order-process/components/BookingSummary/utils/index.js +1 -1
  106. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.d.ts +1 -1
  107. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.d.ts.map +1 -1
  108. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.js +1 -1
  109. package/dist/iframe/order-process/components/CategoryProduct/CategoryProduct.d.ts.map +1 -1
  110. package/dist/iframe/order-process/components/CategoryProduct/CategoryProduct.js +1 -1
  111. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts +0 -1
  112. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts.map +1 -1
  113. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.js +1 -1
  114. package/dist/iframe/order-process/components/ErrorModal/ErrorModal.d.ts +1 -2
  115. package/dist/iframe/order-process/components/ErrorModal/ErrorModal.d.ts.map +1 -1
  116. package/dist/iframe/order-process/components/ErrorModal/ErrorModal.js +1 -1
  117. package/dist/iframe/order-process/components/Timer/utils/index.d.ts +1 -1
  118. package/dist/iframe/order-process/components/Timer/utils/index.d.ts.map +1 -1
  119. package/dist/iframe/order-process/components/Timer/utils/index.js +1 -1
  120. package/dist/iframe/order-process/components/utils/useCategoryVerification.d.ts +3 -4
  121. package/dist/iframe/order-process/components/utils/useCategoryVerification.d.ts.map +1 -1
  122. package/dist/iframe/order-process/components/utils/useCategoryVerification.js +1 -1
  123. package/dist/iframe/order-process/constants.d.ts +0 -1
  124. package/dist/iframe/order-process/constants.d.ts.map +1 -1
  125. package/dist/iframe/order-process/constants.js +1 -1
  126. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.d.ts.map +1 -1
  127. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.js +1 -1
  128. package/dist/iframe/payment/order-items-table/hooks/useTableData.d.ts.map +1 -1
  129. package/dist/iframe/payment/order-items-table/hooks/useTableData.js +1 -1
  130. package/dist/iframe/payment/order-items-table/types/index.d.ts +1 -7
  131. package/dist/iframe/payment/order-items-table/types/index.d.ts.map +1 -1
  132. package/dist/index.d.ts +0 -3
  133. package/dist/index.d.ts.map +1 -1
  134. package/dist/index.js +1 -1
  135. package/dist/notification/email-template/control/EmailTemplateControl.d.ts.map +1 -1
  136. package/dist/notification/email-template/control/EmailTemplateControl.js +1 -1
  137. package/dist/product-set/control/ProductSetControl.d.ts +1 -2
  138. package/dist/product-set/control/ProductSetControl.d.ts.map +1 -1
  139. package/dist/product-set/control/ProductSetControl.js +1 -1
  140. package/dist/product-set/control/ProductSetRecurrenceControl.d.ts.map +1 -1
  141. package/dist/product-set/control/ProductSetRecurrenceControl.js +1 -1
  142. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  143. package/dist/product-set/form/ProductCategoriesControl.js +1 -1
  144. package/dist/product-set/form/ProductsControl.d.ts +1 -3
  145. package/dist/product-set/form/ProductsControl.d.ts.map +1 -1
  146. package/dist/product-set/form/ProductsControl.js +1 -1
  147. package/dist/product-set/product/ProductControl.d.ts +1 -2
  148. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  149. package/dist/product-set/product/ProductControl.js +1 -1
  150. package/dist/product-set/product/duration/ProductDurationControl.js +1 -1
  151. package/dist/product-set/product-category/ProductCategoryControl.d.ts +1 -0
  152. package/dist/product-set/product-category/ProductCategoryControl.d.ts.map +1 -1
  153. package/dist/product-set/product-category/ProductCategoryControl.js +1 -1
  154. package/dist/recurrence-input/RecurrenceEndInput.d.ts +1 -8
  155. package/dist/recurrence-input/RecurrenceEndInput.d.ts.map +1 -1
  156. package/dist/recurrence-input/RecurrenceEndInput.js +1 -1
  157. package/dist/recurrence-input/RecurrenceInput.d.ts +1 -2
  158. package/dist/recurrence-input/RecurrenceInput.d.ts.map +1 -1
  159. package/dist/recurrence-input/RecurrenceInput.js +1 -1
  160. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.d.ts +1 -4
  161. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.d.ts.map +1 -1
  162. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.js +1 -1
  163. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts +0 -1
  164. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts.map +1 -1
  165. package/dist/recurring-date-picker-input/RecurringDatePickerInput.js +1 -1
  166. package/dist/report/form/ReportForm.d.ts.map +1 -1
  167. package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
  168. package/dist/sales/booking/results/components/ResultCard.js +1 -1
  169. package/dist/sales/coupon/control/CouponFormControl.d.ts.map +1 -1
  170. package/dist/sales/coupon/control/CouponFormControl.js +1 -1
  171. package/dist/sales/manual-booking/summary/ManualBookingSummary.d.ts +1 -3
  172. package/dist/sales/manual-booking/summary/ManualBookingSummary.d.ts.map +1 -1
  173. package/dist/sales/manual-booking/summary/ManualBookingSummary.js +1 -1
  174. package/dist/sales/source-of-sales/SourceOfSalesChart.d.ts.map +1 -1
  175. package/dist/sales/source-of-sales/SourceOfSalesChart.js +1 -1
  176. package/dist/snippet/snippet-template/preview/Preview.d.ts.map +1 -1
  177. package/dist/snippet/snippet-template/preview/Preview.js +1 -1
  178. package/dist/static/RestrictedAccess.d.ts.map +1 -1
  179. package/dist/static/form-number-input/FormNumberInput.d.ts +1 -2
  180. package/dist/static/form-number-input/FormNumberInput.d.ts.map +1 -1
  181. package/dist/static/form-number-input/FormNumberInput.js +1 -1
  182. package/dist/styles/events/EventCard.scss +3 -10
  183. package/dist/styles/form/CustomCheckbox.scss +0 -5
  184. package/dist/styles/header/Header.scss +4 -0
  185. package/dist/styles/{activity-card/GridActivitiesCard.scss → iframe-customers-journey/ActivitiesCard.scss} +1 -1
  186. package/{src/styles/activity-card/ListActivitiesCard.scss → dist/styles/iframe-customers-journey/ActivitiesSelectedCard.scss} +1 -2
  187. package/dist/styles/{date-time-button → iframe-customers-journey}/DateTimeButton.scss +12 -6
  188. package/dist/styles/iframe-customers-journey/_index.scss +3 -0
  189. package/dist/styles/iframe-events/Card.scss +0 -1
  190. package/dist/styles/notification/Notification.scss +0 -4
  191. package/dist/styles/packages.scss +1 -3
  192. package/dist/styles/resources-blocking/_index.scss +0 -5
  193. package/dist/styles/sales/BookingResults.scss +1 -9
  194. package/dist/styles/themes/bookedit/_index.scss +0 -1
  195. package/dist/types/iframe.d.ts +0 -1
  196. package/dist/types/iframe.d.ts.map +1 -1
  197. package/dist/virtualized/components/VirtualizedWindowScroller.d.ts.map +1 -1
  198. package/dist/virtualized/components/VirtualizedWindowScroller.js +1 -1
  199. package/dist/zone/form/components/AvailableTimesControl.d.ts.map +1 -1
  200. package/dist/zone/form/components/AvailableTimesControl.js +1 -1
  201. package/dist/zone/form/components/ZoneControl.d.ts.map +1 -1
  202. package/dist/zone/form/components/ZoneControl.js +1 -1
  203. package/dist/zone/form/components/ZoneRecurrencesControl.d.ts.map +1 -1
  204. package/dist/zone/form/components/ZoneRecurrencesControl.js +1 -1
  205. package/dist/zone/form/utils/dates.d.ts.map +1 -1
  206. package/dist/zone/form/utils/dates.js +1 -1
  207. package/package.json +3 -3
  208. package/src/assets/logo/bookedit.svg +11 -9
  209. package/src/assets/logo/licklist.svg +2 -0
  210. package/src/date-time-button/DateTimeButton.stories.tsx +0 -17
  211. package/src/date-time-button/DateTimeButton.tsx +22 -19
  212. package/src/events/edit-event-modal/IntervalInput.tsx +0 -3
  213. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.stories.tsx +9 -0
  214. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.tsx +1 -1
  215. package/src/events/edit-event-modal/utils/getDefaultProductSet.ts +1 -2
  216. package/src/events/event-card/EventCard.tsx +2 -6
  217. package/src/events/event-card/utils.ts +0 -2
  218. package/src/events/event-venue-map/hooks/useImage.tsx +8 -17
  219. package/src/file-upload/FileUpload.tsx +1 -3
  220. package/src/iframe/{activity-card → activity-cards/activity-card}/ActivityCard.stories.tsx +1 -24
  221. package/src/iframe/activity-cards/activity-card/ActivityCard.tsx +38 -0
  222. package/src/iframe/activity-cards/index.ts +2 -0
  223. package/src/iframe/activity-cards/list-activity-card/ListActivityCard.stories.tsx +52 -0
  224. package/src/iframe/activity-cards/list-activity-card/ListActivityCard.tsx +49 -0
  225. package/src/iframe/event/event-calendar/EventCalendar.stories.tsx +36 -0
  226. package/src/iframe/event/event-calendar/EventCalendar.tsx +27 -0
  227. package/src/{calendar → iframe/event/event-calendar}/components/CalendarButtons/CalendarButtons.tsx +14 -31
  228. package/src/iframe/event/event-calendar/components/CalendarDate/CalendarDate.tsx +51 -0
  229. package/src/iframe/event/event-calendar/components/CalendarDate/index.ts +2 -0
  230. package/src/{calendar → iframe/event/event-calendar}/components/CalendarDates/CalendarDates.tsx +19 -24
  231. package/src/{calendar → iframe/event/event-calendar}/components/CalendarSelect/CalendarSelect.tsx +1 -1
  232. package/src/iframe/event/event-calendar/index.ts +6 -0
  233. package/src/iframe/event/event-calendar/types/index.ts +6 -0
  234. package/src/iframe/event/event-calendar/utils/index.ts +11 -0
  235. package/src/iframe/event/event-details/EventDetails.stories.tsx +187 -0
  236. package/src/iframe/event/event-details/EventDetails.tsx +92 -0
  237. package/src/iframe/event/event-details/EventDetailsOneStepForm.stories.tsx +123 -0
  238. package/src/iframe/event/event-details/components/category-product/CategoryProduct.tsx +109 -0
  239. package/src/iframe/event/event-details/components/category-product/index.ts +1 -0
  240. package/src/iframe/event/event-details/components/event-details-form/EventDetailsForm.tsx +250 -0
  241. package/src/iframe/event/event-details/components/event-details-form/index.ts +5 -0
  242. package/src/{number-of-people-input → iframe/event/event-details/components/number-of-people-input}/NumberOfPeopleInput.tsx +1 -1
  243. package/src/{number-of-people-input/components → iframe/event/event-details/components/number-of-people-input/component}/RenderNumberOfPeopleInputComponent.tsx +3 -3
  244. package/src/iframe/event/event-details/components/number-of-people-input/component/index.ts +1 -0
  245. package/src/iframe/event/event-details/components/number-of-people-input/index.ts +1 -0
  246. package/src/iframe/event/event-details/components/product-category-view/ProductCategoryView.tsx +34 -0
  247. package/src/iframe/event/event-details/components/product-category-view/index.ts +1 -0
  248. package/src/iframe/event/event-details/index.ts +1 -0
  249. package/src/iframe/event/event-details/utils/index.ts +1 -0
  250. package/src/iframe/event/event-details/utils/routes.ts +6 -0
  251. package/src/iframe/event/event-venue-map/IframeEventVenueMap.stories.tsx +2 -1
  252. package/src/iframe/event/index.ts +7 -0
  253. package/src/iframe/event/ticket-description/TicketDescription.stories.tsx +2 -8
  254. package/src/iframe/event/ticket-description/TicketDescription.tsx +2 -7
  255. package/src/iframe/index.ts +3 -1
  256. package/src/iframe/order-process/components/BookingSummary/BookingSummary.tsx +3 -4
  257. package/src/iframe/order-process/components/BookingSummary/types/index.ts +1 -2
  258. package/src/iframe/order-process/components/BookingSummary/utils/index.ts +0 -2
  259. package/src/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.stories.tsx +1 -0
  260. package/src/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.tsx +8 -17
  261. package/src/iframe/order-process/components/CategoryProduct/CategoryProduct.tsx +15 -1
  262. package/src/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.tsx +0 -5
  263. package/src/iframe/order-process/components/ErrorModal/ErrorModal.tsx +9 -12
  264. package/src/iframe/order-process/components/Timer/utils/index.ts +9 -6
  265. package/src/iframe/order-process/components/utils/useCategoryVerification.ts +32 -62
  266. package/src/iframe/order-process/constants.ts +0 -1
  267. package/src/iframe/page/Page.stories.tsx +2 -2
  268. package/src/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.tsx +1 -6
  269. package/src/iframe/payment/order-items-table/hooks/useTableData.tsx +99 -11
  270. package/src/iframe/payment/order-items-table/types/index.ts +1 -18
  271. package/src/iframe/payment/payment-page/PaymentPage.stories.tsx +1 -1
  272. package/src/iframe/payment/payment-page/PaymentPage.tsx +4 -4
  273. package/src/index.ts +0 -3
  274. package/src/notification/email-template/control/EmailTemplateControl.tsx +1 -26
  275. package/src/product-set/control/ProductSetControl.tsx +0 -36
  276. package/src/product-set/control/ProductSetRecurrenceControl.tsx +4 -8
  277. package/src/product-set/form/ProductCategoriesControl.tsx +1 -2
  278. package/src/product-set/form/ProductSetForm.stories.tsx +6 -3
  279. package/src/product-set/form/ProductsControl.tsx +0 -10
  280. package/src/product-set/product/ProductControl.tsx +1 -28
  281. package/src/product-set/product/duration/ProductDurationControl.tsx +1 -1
  282. package/src/product-set/product-category/ProductCategory.stories.tsx +1 -0
  283. package/src/product-set/product-category/ProductCategoryControl.tsx +30 -1
  284. package/src/provider/location-input/LocationInputDescription.tsx +2 -2
  285. package/src/recurrence-input/RecurrenceEndInput.tsx +10 -28
  286. package/src/recurrence-input/RecurrenceInput.tsx +2 -12
  287. package/src/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.tsx +21 -24
  288. package/src/recurring-date-picker-input/RecurringDatePickerInput.tsx +0 -9
  289. package/src/report/form/ReportForm.tsx +1 -1
  290. package/src/sales/booking/results/BookingResults.stories.tsx +7 -0
  291. package/src/sales/booking/results/components/ResultCard.tsx +3 -9
  292. package/src/sales/coupon/control/CouponFormControl.tsx +0 -5
  293. package/src/sales/guest-profile/previous-bookings/PreviousBookings.stories.tsx +7 -0
  294. package/src/sales/manual-booking/summary/ManualBookingSummary.tsx +5 -20
  295. package/src/sales/source-of-sales/SourceOfSalesChart.tsx +28 -31
  296. package/src/snippet/snippet-template/preview/Preview.tsx +2 -14
  297. package/src/static/RestrictedAccess.tsx +1 -1
  298. package/src/static/form-number-input/FormNumberInput.tsx +1 -8
  299. package/src/styles/events/EventCard.scss +3 -10
  300. package/src/styles/form/CustomCheckbox.scss +0 -5
  301. package/src/styles/header/Header.scss +4 -0
  302. package/src/styles/{activity-card/GridActivitiesCard.scss → iframe-customers-journey/ActivitiesCard.scss} +1 -1
  303. package/{dist/styles/activity-card/ListActivitiesCard.scss → src/styles/iframe-customers-journey/ActivitiesSelectedCard.scss} +1 -2
  304. package/src/styles/{date-time-button → iframe-customers-journey}/DateTimeButton.scss +12 -6
  305. package/src/styles/iframe-customers-journey/_index.scss +3 -0
  306. package/src/styles/iframe-events/Card.scss +0 -1
  307. package/src/styles/notification/Notification.scss +0 -4
  308. package/src/styles/packages.scss +1 -3
  309. package/src/styles/resources-blocking/_index.scss +0 -5
  310. package/src/styles/sales/BookingResults.scss +1 -9
  311. package/src/styles/themes/bookedit/_index.scss +0 -1
  312. package/src/types/iframe.ts +0 -1
  313. package/src/typings.d.ts +0 -11
  314. package/src/virtualized/components/VirtualizedWindowScroller.tsx +1 -2
  315. package/src/zone/form/components/AvailableTimesControl.tsx +9 -4
  316. package/src/zone/form/components/ZoneControl.tsx +0 -2
  317. package/src/zone/form/components/ZoneRecurrencesControl.tsx +35 -27
  318. package/src/zone/form/utils/dates.ts +36 -29
  319. package/dist/assets/iframe/available.svg.js +0 -1
  320. package/dist/assets/iframe/limited.svg.js +0 -1
  321. package/dist/assets/iframe/soldOut.svg.js +0 -1
  322. package/dist/assets/logo/favicon.svg +0 -12
  323. package/dist/availability-indicator/AvailabilityIndicator.d.ts +0 -9
  324. package/dist/availability-indicator/AvailabilityIndicator.d.ts.map +0 -1
  325. package/dist/availability-indicator/AvailabilityIndicator.js +0 -1
  326. package/dist/availability-indicator/index.d.ts +0 -2
  327. package/dist/availability-indicator/index.d.ts.map +0 -1
  328. package/dist/calendar/Calendar.d.ts +0 -21
  329. package/dist/calendar/Calendar.d.ts.map +0 -1
  330. package/dist/calendar/Calendar.js +0 -1
  331. package/dist/calendar/components/CalendarButtons/CalendarButtons.d.ts +0 -6
  332. package/dist/calendar/components/CalendarButtons/CalendarButtons.d.ts.map +0 -1
  333. package/dist/calendar/components/CalendarButtons/CalendarButtons.js +0 -1
  334. package/dist/calendar/components/CalendarButtons/index.d.ts.map +0 -1
  335. package/dist/calendar/components/CalendarDates/CalendarDates.d.ts +0 -5
  336. package/dist/calendar/components/CalendarDates/CalendarDates.d.ts.map +0 -1
  337. package/dist/calendar/components/CalendarDates/CalendarDates.js +0 -1
  338. package/dist/calendar/components/CalendarDates/index.d.ts.map +0 -1
  339. package/dist/calendar/components/CalendarSelect/CalendarSelect.d.ts.map +0 -1
  340. package/dist/calendar/components/CalendarSelect/CalendarSelect.js +0 -1
  341. package/dist/calendar/components/CalendarSelect/index.d.ts.map +0 -1
  342. package/dist/calendar/components/CalendarWeekdays/CalendarWeekdays.d.ts.map +0 -1
  343. package/dist/calendar/components/CalendarWeekdays/index.d.ts.map +0 -1
  344. package/dist/calendar/index.d.ts +0 -4
  345. package/dist/calendar/index.d.ts.map +0 -1
  346. package/dist/calendar/utils/index.d.ts +0 -5
  347. package/dist/calendar/utils/index.d.ts.map +0 -1
  348. package/dist/calendar/utils/index.js +0 -1
  349. package/dist/iframe/activity-card/ActivityCard.d.ts +0 -17
  350. package/dist/iframe/activity-card/ActivityCard.d.ts.map +0 -1
  351. package/dist/iframe/activity-card/ActivityCard.js +0 -1
  352. package/dist/iframe/activity-card/index.d.ts +0 -2
  353. package/dist/iframe/activity-card/index.d.ts.map +0 -1
  354. package/dist/iframe/payment/order-items-table/types/index.js +0 -1
  355. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts +0 -3
  356. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts.map +0 -1
  357. package/dist/iframe/payment/order-items-table/utils/paymentSummary.js +0 -1
  358. package/dist/number-of-people-input/NumberOfPeopleInput.d.ts.map +0 -1
  359. package/dist/number-of-people-input/NumberOfPeopleInput.js +0 -1
  360. package/dist/number-of-people-input/components/RenderNumberOfPeopleInputComponent.d.ts.map +0 -1
  361. package/dist/number-of-people-input/components/RenderNumberOfPeopleInputComponent.js +0 -1
  362. package/dist/number-of-people-input/components/index.d.ts +0 -2
  363. package/dist/number-of-people-input/components/index.d.ts.map +0 -1
  364. package/dist/number-of-people-input/index.d.ts +0 -3
  365. package/dist/number-of-people-input/index.d.ts.map +0 -1
  366. package/dist/styles/activity-card/_index.scss +0 -2
  367. package/dist/styles/availability-indicator/AvailabilityIndicator.scss +0 -7
  368. package/dist/styles/availability-indicator/_index.scss +0 -1
  369. package/dist/styles/date-time-button/_index.scss +0 -1
  370. package/dist/zone/form/components/GameDurationControl.d.ts +0 -7
  371. package/dist/zone/form/components/GameDurationControl.d.ts.map +0 -1
  372. package/dist/zone/form/components/GameDurationControl.js +0 -1
  373. package/src/assets/logo/favicon.svg +0 -12
  374. package/src/availability-indicator/AvailabilityIndicator.tsx +0 -59
  375. package/src/availability-indicator/index.ts +0 -1
  376. package/src/calendar/Calendar.stories.tsx +0 -33
  377. package/src/calendar/Calendar.tsx +0 -46
  378. package/src/calendar/index.ts +0 -3
  379. package/src/calendar/utils/index.ts +0 -28
  380. package/src/iframe/activity-card/ActivityCard.tsx +0 -77
  381. package/src/iframe/activity-card/index.ts +0 -1
  382. package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +0 -118
  383. package/src/number-of-people-input/components/RenderNumberOfPeopleInputComponent.stories.tsx +0 -92
  384. package/src/number-of-people-input/components/index.ts +0 -1
  385. package/src/number-of-people-input/index.ts +0 -2
  386. package/src/styles/activity-card/_index.scss +0 -2
  387. package/src/styles/availability-indicator/AvailabilityIndicator.scss +0 -7
  388. package/src/styles/availability-indicator/_index.scss +0 -1
  389. package/src/styles/date-time-button/_index.scss +0 -1
  390. package/src/zone/form/components/GameDurationControl.tsx +0 -46
  391. /package/dist/assets/iframe/{available.svg → dateInfo/available.svg} +0 -0
  392. /package/dist/assets/iframe/{limited.svg → dateInfo/limited.svg} +0 -0
  393. /package/dist/assets/iframe/{soldOut.svg → dateInfo/soldOut.svg} +0 -0
  394. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarButtons/index.d.ts +0 -0
  395. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarDates/index.d.ts +0 -0
  396. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarSelect/CalendarSelect.d.ts +0 -0
  397. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarSelect/index.d.ts +0 -0
  398. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarWeekdays/CalendarWeekdays.d.ts +0 -0
  399. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarWeekdays/CalendarWeekdays.js +0 -0
  400. /package/dist/{calendar → iframe/event/event-calendar}/components/CalendarWeekdays/index.d.ts +0 -0
  401. /package/dist/{number-of-people-input → iframe/event/event-details/components/number-of-people-input}/NumberOfPeopleInput.d.ts +0 -0
  402. /package/src/assets/iframe/{available.svg → dateInfo/available.svg} +0 -0
  403. /package/src/assets/iframe/{limited.svg → dateInfo/limited.svg} +0 -0
  404. /package/src/assets/iframe/{soldOut.svg → dateInfo/soldOut.svg} +0 -0
  405. /package/src/{calendar → iframe/event/event-calendar}/components/CalendarButtons/index.ts +0 -0
  406. /package/src/{calendar → iframe/event/event-calendar}/components/CalendarDates/index.ts +0 -0
  407. /package/src/{calendar → iframe/event/event-calendar}/components/CalendarSelect/index.ts +0 -0
  408. /package/src/{calendar → iframe/event/event-calendar}/components/CalendarWeekdays/CalendarWeekdays.tsx +0 -0
  409. /package/src/{calendar → iframe/event/event-calendar}/components/CalendarWeekdays/index.ts +0 -0
@@ -60,6 +60,7 @@ const contextValue = {
60
60
  minSubItems: 1,
61
61
  maxSubItems: 10,
62
62
  quantityType: "constant",
63
+ isRelyOnPeople: false,
63
64
  isTimeRelated: false,
64
65
  hasTicket: false,
65
66
  allowDeposits: false,
@@ -125,6 +126,7 @@ const contextValue = {
125
126
  minSubItems: 0,
126
127
  maxSubItems: 0,
127
128
  quantityType: "recharging",
129
+ isRelyOnPeople: false,
128
130
  isTimeRelated: false,
129
131
  hasTicket: false,
130
132
  allowDeposits: false,
@@ -142,6 +144,7 @@ const contextValue = {
142
144
  minSubItems: 0,
143
145
  maxSubItems: 0,
144
146
  quantityType: "recharging",
147
+ isRelyOnPeople: false,
145
148
  isTimeRelated: false,
146
149
  hasTicket: false,
147
150
  allowDeposits: false,
@@ -710,6 +713,7 @@ const defaultProductSets = [
710
713
  minSubItems: 1,
711
714
  maxSubItems: 10,
712
715
  quantityType: "constant",
716
+ isRelyOnPeople: false,
713
717
  isTimeRelated: false,
714
718
  hasTicket: false,
715
719
  allowDeposits: false,
@@ -775,6 +779,7 @@ const defaultProductSets = [
775
779
  minSubItems: 0,
776
780
  maxSubItems: 0,
777
781
  quantityType: "recharging",
782
+ isRelyOnPeople: false,
778
783
  isTimeRelated: false,
779
784
  hasTicket: false,
780
785
  allowDeposits: false,
@@ -792,6 +797,7 @@ const defaultProductSets = [
792
797
  minSubItems: 0,
793
798
  maxSubItems: 0,
794
799
  quantityType: "recharging",
800
+ isRelyOnPeople: false,
795
801
  isTimeRelated: false,
796
802
  hasTicket: false,
797
803
  allowDeposits: false,
@@ -900,6 +906,7 @@ const defaultProductSets = [
900
906
  minSubItems: 1,
901
907
  maxSubItems: 10,
902
908
  quantityType: "constant",
909
+ isRelyOnPeople: false,
903
910
  isTimeRelated: false,
904
911
  hasTicket: false,
905
912
  allowDeposits: false,
@@ -965,6 +972,7 @@ const defaultProductSets = [
965
972
  minSubItems: 0,
966
973
  maxSubItems: 0,
967
974
  quantityType: "recharging",
975
+ isRelyOnPeople: false,
968
976
  isTimeRelated: false,
969
977
  hasTicket: false,
970
978
  allowDeposits: false,
@@ -982,6 +990,7 @@ const defaultProductSets = [
982
990
  minSubItems: 0,
983
991
  maxSubItems: 0,
984
992
  quantityType: "recharging",
993
+ isRelyOnPeople: false,
985
994
  isTimeRelated: false,
986
995
  hasTicket: false,
987
996
  allowDeposits: false,
@@ -266,7 +266,7 @@ export const EditEventForm = ({
266
266
  </Form.Group>
267
267
  {/* key is used as a hack to make sure rrule is rendered correctly */}
268
268
  <IntervalInput
269
- key={watch("name")}
269
+ key={watch("rrule")}
270
270
  disabled={disabled}
271
271
  productSetId={productSetId}
272
272
  productSets={productSets}
@@ -15,7 +15,6 @@ export const getDefaultValues = (
15
15
  type: productSet?.type ?? DEFAULT_PRODUCT_SET_TYPE,
16
16
  termsAndConditions: productSet?.termsAndConditions ?? "",
17
17
  operationalCost: productSet?.operationalCost ?? DEFAULT_OPERATIONAL_COST_TYPE,
18
- relyOnPeopleType: productSet?.relyOnPeopleType ?? null,
19
18
  thankYouPageUrl: productSet?.thankYouPageUrl ?? "",
20
19
  isDefault: productSet?.isDefault ?? false,
21
20
  fieldSetId: productSet?.fieldSetId,
@@ -25,7 +24,7 @@ export const getDefaultValues = (
25
24
  : undefined,
26
25
  smsTemplates:
27
26
  productSet?.smsTemplates && productSet?.smsTemplates?.length > 0
28
- ? getFilteredTemplates(productSet?.smsTemplates)
27
+ ? getFilteredTemplates(productSet?.mailTemplates)
29
28
  : undefined,
30
29
  steps:
31
30
  productSet?.steps?.map(({ productCategories, ...step }) => ({
@@ -9,11 +9,7 @@ import { EventStatistic } from "@licklist/core/dist/DataMapper/Provider/EventSta
9
9
  import Icon from "../../static/Icon";
10
10
  import { Sale } from "../../types/bookings";
11
11
  import { TipTapEditor } from "../../tiptap-editor/TipTapEditor";
12
- import {
13
- EVENT_DESCRIPTION_SIZE,
14
- formatContent,
15
- getStatisticInfo,
16
- } from "./utils";
12
+ import { formatContent, getStatisticInfo } from "./utils";
17
13
  import { ReactComponent as ChartBarIcon } from "../../assets/dashboard/chartBar.svg";
18
14
 
19
15
  export interface EventCardProps extends HasPermissionProp {
@@ -52,7 +48,7 @@ export function EventCard({
52
48
  const { formatNumber, formatDate } = useIntl();
53
49
  const { totalViews, ...statistics } = getStatisticInfo(eventStatistic, date);
54
50
  const memoedContent = useMemo(
55
- () => formatContent(description, EVENT_DESCRIPTION_SIZE),
51
+ () => formatContent(description, 300),
56
52
  [description]
57
53
  );
58
54
 
@@ -8,8 +8,6 @@ export function formatContent(content, maxSymbols) {
8
8
  return content;
9
9
  }
10
10
 
11
- export const EVENT_DESCRIPTION_SIZE = 340;
12
-
13
11
  export const getStatisticInfo = (
14
12
  eventStatistic: EventStatistic | null,
15
13
  date: string
@@ -12,30 +12,21 @@ export const useImage = (
12
12
  height: 0,
13
13
  });
14
14
 
15
- const setImageEventHandler = function setImageEventHandler(
16
- this: HTMLImageElement
17
- ) {
18
- imageRef.current = this;
19
-
20
- setImageAttributes({
21
- width: this.naturalWidth,
22
- height: this.naturalHeight,
23
- });
24
- };
25
-
26
15
  const loadImage = useCallback((imageUrl?: string) => {
27
16
  imageRef.current = new window.Image();
28
17
  imageRef.current.src = imageUrl;
29
- imageRef.current.addEventListener("load", setImageEventHandler);
18
+ imageRef.current.addEventListener("load", function () {
19
+ imageRef.current = this;
20
+
21
+ setImageAttributes({
22
+ width: this.naturalWidth,
23
+ height: this.naturalHeight,
24
+ });
25
+ });
30
26
  }, []);
31
27
 
32
28
  useEffect(() => {
33
29
  loadImage(url);
34
-
35
- return () => {
36
- imageRef.current.removeEventListener("load", setImageEventHandler);
37
- imageRef.current = undefined;
38
- };
39
30
  }, [url, loadImage]);
40
31
 
41
32
  const memoizedImageAttributes = useMemo(() => {
@@ -175,9 +175,7 @@ export const useFileUpload = ({
175
175
  const filesArray = Array.from(uploadedFiles);
176
176
  filesArray.forEach((file) => {
177
177
  const fileExtension = file.name.split(".").pop();
178
- const extensionIndex = allowedExtensions.indexOf(
179
- fileExtension.toLowerCase()
180
- );
178
+ const extensionIndex = allowedExtensions.indexOf(fileExtension);
181
179
  const isExtensionValid = extensionIndex !== -1;
182
180
 
183
181
  if (isExtensionValid) {
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { Meta, Story } from "@storybook/react";
3
- import { ActivityCard, ActivityCardProps, LAYOUT_LIST } from "./ActivityCard";
3
+ import { ActivityCard, ActivityCardProps } from "./ActivityCard";
4
4
 
5
5
  export default {
6
6
  title: "Iframe/ActivityCard",
@@ -50,26 +50,3 @@ Selected.args = {
50
50
  onSelect: () => null,
51
51
  isSelected: true,
52
52
  };
53
-
54
- export const ListView: Story<ActivityCardProps> = (props) => {
55
- return <ActivityCard {...props} />;
56
- };
57
-
58
- Default.args = {
59
- layout: LAYOUT_LIST,
60
- title: "Clay Pigeons & Axe Thowing",
61
- duration: "60 mins",
62
- price: "from £20",
63
- image: {
64
- hash: "0b37b130e22aa2d3",
65
- id: 195,
66
- imageType: "cover",
67
- imageableId: 25,
68
- imageableType: "zone",
69
- path: "images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
70
- // eslint-disable-next-line max-len
71
- url: "https://cdn.lickli.st/doNktZRze1yuz3Uo2OPrLSvXVtUcdUsF/images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
72
- },
73
- onSelect: () => null,
74
- isSelected: false,
75
- };
@@ -0,0 +1,38 @@
1
+ import React, { ReactNode } from "react";
2
+ import clsx from "clsx";
3
+ import { Image } from "@licklist/core/dist/DataMapper/Media/ImageDataMapper";
4
+
5
+ export interface ActivityCardProps {
6
+ title: ReactNode;
7
+ duration: ReactNode;
8
+ price: ReactNode;
9
+ image?: Image | null;
10
+ onSelect: () => void;
11
+ isSelected: boolean;
12
+ }
13
+
14
+ export const ActivityCard = ({
15
+ title,
16
+ duration,
17
+ price,
18
+ image,
19
+ onSelect,
20
+ isSelected,
21
+ }: ActivityCardProps) => {
22
+ return (
23
+ <button
24
+ type="button"
25
+ className={clsx("activity-card", isSelected && "active")}
26
+ onClick={onSelect}
27
+ >
28
+ {image && <img className="activity-card-image" alt="" src={image.url} />}
29
+ <div className={clsx("d-flex", "flex-column", !image && "no-image")}>
30
+ <div className="activity-card-title">{title}</div>
31
+
32
+ {duration && <div>{duration}</div>}
33
+
34
+ {price && <div>{price}</div>}
35
+ </div>
36
+ </button>
37
+ );
38
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./list-activity-card/ListActivityCard";
2
+ export * from "./activity-card/ActivityCard";
@@ -0,0 +1,52 @@
1
+ import React from "react";
2
+ import { Meta, Story } from "@storybook/react";
3
+ import { ListActivityCardProps, ListActivityCard } from "./ListActivityCard";
4
+
5
+ export default {
6
+ title: "Iframe/ListActivityCard",
7
+ component: ListActivityCard,
8
+ } as Meta;
9
+
10
+ export const Default: Story<ListActivityCardProps> = (props) => {
11
+ return <ListActivityCard {...props} />;
12
+ };
13
+
14
+ Default.args = {
15
+ title: "Clay Pigeons & Axe Thowing",
16
+ duration: "60 mins",
17
+ price: "from £20",
18
+ image: {
19
+ hash: "0b37b130e22aa2d3",
20
+ id: 195,
21
+ imageType: "cover",
22
+ imageableId: 25,
23
+ imageableType: "zone",
24
+ path: "images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
25
+ // eslint-disable-next-line max-len
26
+ url: "https://cdn.lickli.st/doNktZRze1yuz3Uo2OPrLSvXVtUcdUsF/images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
27
+ },
28
+ onSelect: () => null,
29
+ isSelected: false,
30
+ };
31
+
32
+ export const Selected: Story<ListActivityCardProps> = (props) => {
33
+ return <ListActivityCard {...props} />;
34
+ };
35
+
36
+ Selected.args = {
37
+ title: "Clay Pigeons & Axe Thowing",
38
+ duration: "60 mins",
39
+ price: "from £20",
40
+ image: {
41
+ hash: "0b37b130e22aa2d3",
42
+ id: 195,
43
+ imageType: "cover",
44
+ imageableId: 25,
45
+ imageableType: "zone",
46
+ path: "images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
47
+ // eslint-disable-next-line max-len
48
+ url: "https://cdn.lickli.st/doNktZRze1yuz3Uo2OPrLSvXVtUcdUsF/images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
49
+ },
50
+ onSelect: () => null,
51
+ isSelected: true,
52
+ };
@@ -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
+ };