@licklist/design 0.44.486-dev.4 → 0.44.486-dev.41

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 (303) hide show
  1. package/dist/assets/iframe/available.svg.js +1 -0
  2. package/dist/assets/iframe/limited.svg.js +1 -0
  3. package/dist/assets/iframe/soldOut.svg.js +1 -0
  4. package/dist/assets/logo/bookedit.svg +9 -11
  5. package/dist/assets/logo/bookedit.svg.js +1 -1
  6. package/dist/assets/logo/favicon.svg +12 -0
  7. package/dist/assets/logo/licklist.svg +0 -2
  8. package/dist/assets/logo/licklist.svg.js +1 -1
  9. package/dist/availability-indicator/AvailabilityIndicator.d.ts +9 -0
  10. package/dist/availability-indicator/AvailabilityIndicator.d.ts.map +1 -0
  11. package/dist/availability-indicator/AvailabilityIndicator.js +1 -0
  12. package/dist/availability-indicator/index.d.ts +2 -0
  13. package/dist/availability-indicator/index.d.ts.map +1 -0
  14. package/dist/calendar/Calendar.d.ts +20 -0
  15. package/dist/calendar/Calendar.d.ts.map +1 -0
  16. package/dist/calendar/Calendar.js +1 -0
  17. package/dist/calendar/components/CalendarButtons/CalendarButtons.d.ts +6 -0
  18. package/dist/calendar/components/CalendarButtons/CalendarButtons.d.ts.map +1 -0
  19. package/dist/calendar/components/CalendarButtons/CalendarButtons.js +1 -0
  20. package/dist/calendar/components/CalendarButtons/index.d.ts.map +1 -0
  21. package/dist/calendar/components/CalendarDates/CalendarDates.d.ts +5 -0
  22. package/dist/calendar/components/CalendarDates/CalendarDates.d.ts.map +1 -0
  23. package/dist/calendar/components/CalendarDates/CalendarDates.js +1 -0
  24. package/dist/calendar/components/CalendarDates/index.d.ts.map +1 -0
  25. package/dist/calendar/components/CalendarSelect/CalendarSelect.d.ts.map +1 -0
  26. package/dist/calendar/components/CalendarSelect/CalendarSelect.js +1 -0
  27. package/dist/calendar/components/CalendarSelect/index.d.ts.map +1 -0
  28. package/dist/calendar/components/CalendarWeekdays/CalendarWeekdays.d.ts.map +1 -0
  29. package/dist/calendar/components/CalendarWeekdays/index.d.ts.map +1 -0
  30. package/dist/calendar/index.d.ts +4 -0
  31. package/dist/calendar/index.d.ts.map +1 -0
  32. package/dist/calendar/utils/index.d.ts +5 -0
  33. package/dist/calendar/utils/index.d.ts.map +1 -0
  34. package/dist/calendar/utils/index.js +1 -0
  35. package/dist/date-time-button/DateTimeButton.d.ts +6 -1
  36. package/dist/date-time-button/DateTimeButton.d.ts.map +1 -1
  37. package/dist/date-time-button/DateTimeButton.js +1 -1
  38. package/dist/events/edit-event-modal/IntervalInput.d.ts.map +1 -1
  39. package/dist/events/edit-event-modal/IntervalInput.js +1 -1
  40. package/dist/events/event-venue-map/hooks/useImage.d.ts.map +1 -1
  41. package/dist/events/event-venue-map/hooks/useImage.js +1 -1
  42. package/dist/file-upload/FileUpload.d.ts.map +1 -1
  43. package/dist/file-upload/FileUpload.js +1 -1
  44. package/dist/iframe/activity-card/ActivityCard.d.ts +17 -0
  45. package/dist/iframe/activity-card/ActivityCard.d.ts.map +1 -0
  46. package/dist/iframe/activity-card/ActivityCard.js +1 -0
  47. package/dist/iframe/activity-card/index.d.ts +2 -0
  48. package/dist/iframe/activity-card/index.d.ts.map +1 -0
  49. package/dist/iframe/event/index.d.ts +0 -1
  50. package/dist/iframe/event/index.d.ts.map +1 -1
  51. package/dist/iframe/index.d.ts +2 -2
  52. package/dist/iframe/index.d.ts.map +1 -1
  53. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts +1 -1
  54. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts.map +1 -1
  55. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.js +1 -1
  56. package/dist/iframe/order-process/components/BookingSummary/components/BookingSummaryAccordion/BookingSummaryAccordion.js +1 -1
  57. package/dist/iframe/order-process/components/BookingSummary/types/index.d.ts +1 -0
  58. package/dist/iframe/order-process/components/BookingSummary/types/index.d.ts.map +1 -1
  59. package/dist/iframe/order-process/components/BookingSummary/utils/index.d.ts.map +1 -1
  60. package/dist/iframe/order-process/components/BookingSummary/utils/index.js +1 -1
  61. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.d.ts +1 -1
  62. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.d.ts.map +1 -1
  63. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.js +1 -1
  64. package/dist/iframe/order-process/components/CategoryProduct/CategoryProduct.d.ts.map +1 -1
  65. package/dist/iframe/order-process/components/CategoryProduct/CategoryProduct.js +1 -1
  66. package/dist/iframe/order-process/components/ErrorModal/ErrorModal.d.ts +2 -1
  67. package/dist/iframe/order-process/components/ErrorModal/ErrorModal.d.ts.map +1 -1
  68. package/dist/iframe/order-process/components/ErrorModal/ErrorModal.js +1 -1
  69. package/dist/iframe/order-process/components/Timer/utils/index.d.ts +1 -1
  70. package/dist/iframe/order-process/components/Timer/utils/index.d.ts.map +1 -1
  71. package/dist/iframe/order-process/components/Timer/utils/index.js +1 -1
  72. package/dist/iframe/order-process/components/utils/useCategoryVerification.d.ts +4 -3
  73. package/dist/iframe/order-process/components/utils/useCategoryVerification.d.ts.map +1 -1
  74. package/dist/iframe/order-process/components/utils/useCategoryVerification.js +1 -1
  75. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.d.ts.map +1 -1
  76. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.js +1 -1
  77. package/dist/iframe/payment/order-items-table/hooks/useTableData.d.ts.map +1 -1
  78. package/dist/iframe/payment/order-items-table/hooks/useTableData.js +1 -1
  79. package/dist/iframe/payment/order-items-table/types/index.d.ts +7 -1
  80. package/dist/iframe/payment/order-items-table/types/index.d.ts.map +1 -1
  81. package/dist/iframe/payment/order-items-table/types/index.js +1 -0
  82. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts +3 -0
  83. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts.map +1 -0
  84. package/dist/iframe/payment/order-items-table/utils/paymentSummary.js +1 -0
  85. package/dist/index.d.ts +2 -0
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +1 -1
  88. package/dist/notification/email-template/control/EmailTemplateControl.d.ts.map +1 -1
  89. package/dist/notification/email-template/control/EmailTemplateControl.js +1 -1
  90. package/dist/product-set/control/DateAndRecurrenceInput.d.ts.map +1 -1
  91. package/dist/product-set/control/DateAndRecurrenceInput.js +1 -1
  92. package/dist/product-set/control/ProductSetRecurrenceControl.d.ts.map +1 -1
  93. package/dist/product-set/control/ProductSetRecurrenceControl.js +1 -1
  94. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  95. package/dist/product-set/form/ProductCategoriesControl.js +1 -1
  96. package/dist/product-set/form/ProductsControl.d.ts +3 -1
  97. package/dist/product-set/form/ProductsControl.d.ts.map +1 -1
  98. package/dist/product-set/form/ProductsControl.js +1 -1
  99. package/dist/product-set/product/ProductControl.d.ts +2 -1
  100. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  101. package/dist/product-set/product/ProductControl.js +1 -1
  102. package/dist/product-set/product/duration/ProductDurationControl.js +1 -1
  103. package/dist/product-set/product-category/ProductCategoryControl.d.ts.map +1 -1
  104. package/dist/product-set/product-category/ProductCategoryControl.js +1 -1
  105. package/dist/provider/working-hours-input/WorkingHoursInputDescription.d.ts.map +1 -1
  106. package/dist/provider/working-hours-input/WorkingHoursInputDescription.js +1 -1
  107. package/dist/recurrence-input/RecurrenceEndInput.d.ts +8 -1
  108. package/dist/recurrence-input/RecurrenceEndInput.d.ts.map +1 -1
  109. package/dist/recurrence-input/RecurrenceEndInput.js +1 -1
  110. package/dist/recurrence-input/RecurrenceInput.d.ts +2 -1
  111. package/dist/recurrence-input/RecurrenceInput.d.ts.map +1 -1
  112. package/dist/recurrence-input/RecurrenceInput.js +1 -1
  113. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.d.ts +5 -1
  114. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.d.ts.map +1 -1
  115. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.js +1 -1
  116. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts +3 -1
  117. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts.map +1 -1
  118. package/dist/recurring-date-picker-input/RecurringDatePickerInput.js +1 -1
  119. package/dist/report/form/ReportForm.d.ts.map +1 -1
  120. package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
  121. package/dist/sales/booking/results/components/ResultCard.js +1 -1
  122. package/dist/snippet/snippet-template/preview/Preview.d.ts.map +1 -1
  123. package/dist/snippet/snippet-template/preview/Preview.js +1 -1
  124. package/dist/static/RestrictedAccess.d.ts.map +1 -1
  125. package/dist/static/form-number-input/FormNumberInput.d.ts +2 -1
  126. package/dist/static/form-number-input/FormNumberInput.d.ts.map +1 -1
  127. package/dist/static/form-number-input/FormNumberInput.js +1 -1
  128. package/dist/styles/{iframe-customers-journey/ActivitiesCard.scss → activity-card/GridActivitiesCard.scss} +1 -1
  129. package/dist/styles/{iframe-customers-journey/ActivitiesSelectedCard.scss → activity-card/ListActivitiesCard.scss} +2 -1
  130. package/dist/styles/activity-card/_index.scss +2 -0
  131. package/dist/styles/availability-indicator/AvailabilityIndicator.scss +7 -0
  132. package/dist/styles/availability-indicator/_index.scss +1 -0
  133. package/dist/styles/{iframe-customers-journey → date-time-button}/DateTimeButton.scss +6 -12
  134. package/dist/styles/date-time-button/_index.scss +1 -0
  135. package/dist/styles/form/CustomCheckbox.scss +5 -0
  136. package/dist/styles/header/Header.scss +0 -4
  137. package/dist/styles/iframe-events/Card.scss +1 -0
  138. package/dist/styles/iframe-page/PageBody.scss +3 -2
  139. package/dist/styles/notification/Notification.scss +4 -0
  140. package/dist/styles/packages.scss +3 -1
  141. package/dist/styles/resources-blocking/_index.scss +5 -0
  142. package/dist/styles/themes/bookedit/_index.scss +1 -0
  143. package/dist/virtualized/components/VirtualizedWindowScroller.d.ts.map +1 -1
  144. package/dist/virtualized/components/VirtualizedWindowScroller.js +1 -1
  145. package/dist/zone/form/components/AvailableTimesControl.d.ts.map +1 -1
  146. package/dist/zone/form/components/AvailableTimesControl.js +1 -1
  147. package/dist/zone/form/components/GameDurationControl.d.ts +7 -0
  148. package/dist/zone/form/components/GameDurationControl.d.ts.map +1 -0
  149. package/dist/zone/form/components/GameDurationControl.js +1 -0
  150. package/dist/zone/form/components/ZoneControl.d.ts.map +1 -1
  151. package/dist/zone/form/components/ZoneControl.js +1 -1
  152. package/dist/zone/form/components/ZoneRecurrencesControl.d.ts.map +1 -1
  153. package/dist/zone/form/components/ZoneRecurrencesControl.js +1 -1
  154. package/dist/zone/form/utils/dates.d.ts.map +1 -1
  155. package/dist/zone/form/utils/dates.js +1 -1
  156. package/package.json +2 -2
  157. package/src/assets/logo/bookedit.svg +9 -11
  158. package/src/assets/logo/favicon.svg +12 -0
  159. package/src/assets/logo/licklist.svg +0 -2
  160. package/src/availability-indicator/AvailabilityIndicator.tsx +59 -0
  161. package/src/availability-indicator/index.ts +1 -0
  162. package/src/calendar/Calendar.stories.tsx +33 -0
  163. package/src/calendar/Calendar.tsx +45 -0
  164. package/src/{iframe/event/event-calendar → calendar}/components/CalendarButtons/CalendarButtons.tsx +31 -14
  165. package/src/{iframe/event/event-calendar → calendar}/components/CalendarDates/CalendarDates.tsx +28 -19
  166. package/src/{iframe/event/event-calendar → calendar}/components/CalendarSelect/CalendarSelect.tsx +1 -1
  167. package/src/calendar/index.ts +3 -0
  168. package/src/calendar/utils/index.ts +28 -0
  169. package/src/date-time-button/DateTimeButton.stories.tsx +17 -0
  170. package/src/date-time-button/DateTimeButton.tsx +17 -22
  171. package/src/events/edit-event-modal/IntervalInput.tsx +3 -0
  172. package/src/events/event-venue-map/hooks/useImage.tsx +17 -8
  173. package/src/file-upload/FileUpload.tsx +3 -1
  174. package/src/iframe/{activity-cards/activity-card → activity-card}/ActivityCard.stories.tsx +24 -1
  175. package/src/iframe/activity-card/ActivityCard.tsx +77 -0
  176. package/src/iframe/activity-card/index.ts +1 -0
  177. package/src/iframe/event/event-venue-map/IframeEventVenueMap.stories.tsx +1 -1
  178. package/src/iframe/event/index.ts +0 -6
  179. package/src/iframe/index.ts +1 -2
  180. package/src/iframe/order-process/components/BookingSummary/BookingSummary.tsx +2 -0
  181. package/src/iframe/order-process/components/BookingSummary/types/index.ts +1 -0
  182. package/src/iframe/order-process/components/BookingSummary/utils/index.ts +2 -0
  183. package/src/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.tsx +5 -3
  184. package/src/iframe/order-process/components/CategoryProduct/CategoryProduct.tsx +0 -10
  185. package/src/iframe/order-process/components/ErrorModal/ErrorModal.tsx +12 -9
  186. package/src/iframe/order-process/components/Timer/utils/index.ts +6 -9
  187. package/src/iframe/order-process/components/utils/useCategoryVerification.ts +59 -31
  188. package/src/iframe/page/Page.stories.tsx +2 -2
  189. package/src/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.tsx +6 -1
  190. package/src/iframe/payment/order-items-table/hooks/useTableData.tsx +11 -99
  191. package/src/iframe/payment/order-items-table/types/index.ts +18 -1
  192. package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +118 -0
  193. package/src/iframe/payment/payment-page/PaymentPage.tsx +4 -4
  194. package/src/index.ts +2 -0
  195. package/src/notification/email-template/control/EmailTemplateControl.tsx +26 -1
  196. package/src/product-set/control/DateAndRecurrenceInput.tsx +1 -0
  197. package/src/product-set/control/ProductSetRecurrenceControl.tsx +8 -4
  198. package/src/product-set/form/ProductCategoriesControl.tsx +2 -0
  199. package/src/product-set/form/ProductSetForm.stories.tsx +1 -0
  200. package/src/product-set/form/ProductsControl.tsx +10 -0
  201. package/src/product-set/product/ProductControl.tsx +28 -1
  202. package/src/product-set/product/duration/ProductDurationControl.tsx +1 -1
  203. package/src/product-set/product-category/ProductCategoryControl.tsx +1 -7
  204. package/src/provider/location-input/LocationInputDescription.tsx +2 -2
  205. package/src/provider/working-hours-input/WorkingHoursInputDescription.tsx +10 -8
  206. package/src/recurrence-input/RecurrenceEndInput.tsx +28 -10
  207. package/src/recurrence-input/RecurrenceInput.tsx +12 -2
  208. package/src/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.tsx +53 -24
  209. package/src/recurring-date-picker-input/RecurringDatePickerInput.tsx +12 -0
  210. package/src/report/form/ReportForm.tsx +1 -1
  211. package/src/sales/booking/results/components/ResultCard.tsx +3 -2
  212. package/src/snippet/snippet-template/preview/Preview.tsx +14 -2
  213. package/src/static/RestrictedAccess.tsx +1 -1
  214. package/src/static/form-number-input/FormNumberInput.tsx +8 -1
  215. package/src/styles/{iframe-customers-journey/ActivitiesCard.scss → activity-card/GridActivitiesCard.scss} +1 -1
  216. package/src/styles/{iframe-customers-journey/ActivitiesSelectedCard.scss → activity-card/ListActivitiesCard.scss} +2 -1
  217. package/src/styles/activity-card/_index.scss +2 -0
  218. package/src/styles/availability-indicator/AvailabilityIndicator.scss +7 -0
  219. package/src/styles/availability-indicator/_index.scss +1 -0
  220. package/src/styles/{iframe-customers-journey → date-time-button}/DateTimeButton.scss +6 -12
  221. package/src/styles/date-time-button/_index.scss +1 -0
  222. package/src/styles/form/CustomCheckbox.scss +5 -0
  223. package/src/styles/header/Header.scss +0 -4
  224. package/src/styles/iframe-events/Card.scss +1 -0
  225. package/src/styles/iframe-page/PageBody.scss +3 -2
  226. package/src/styles/notification/Notification.scss +4 -0
  227. package/src/styles/packages.scss +3 -1
  228. package/src/styles/resources-blocking/_index.scss +5 -0
  229. package/src/styles/themes/bookedit/_index.scss +1 -0
  230. package/src/typings.d.ts +11 -0
  231. package/src/virtualized/components/VirtualizedWindowScroller.tsx +2 -1
  232. package/src/zone/form/components/AvailableTimesControl.tsx +4 -9
  233. package/src/zone/form/components/GameDurationControl.tsx +46 -0
  234. package/src/zone/form/components/ZoneControl.tsx +2 -0
  235. package/src/zone/form/components/ZoneRecurrencesControl.tsx +27 -35
  236. package/src/zone/form/utils/dates.ts +29 -36
  237. package/dist/iframe/activity-cards/activity-card/ActivityCard.d.ts +0 -12
  238. package/dist/iframe/activity-cards/activity-card/ActivityCard.d.ts.map +0 -1
  239. package/dist/iframe/activity-cards/activity-card/ActivityCard.js +0 -1
  240. package/dist/iframe/activity-cards/index.d.ts +0 -3
  241. package/dist/iframe/activity-cards/index.d.ts.map +0 -1
  242. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.d.ts +0 -12
  243. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.d.ts.map +0 -1
  244. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.js +0 -1
  245. package/dist/iframe/event/event-calendar/EventCalendar.d.ts +0 -7
  246. package/dist/iframe/event/event-calendar/EventCalendar.d.ts.map +0 -1
  247. package/dist/iframe/event/event-calendar/EventCalendar.js +0 -1
  248. package/dist/iframe/event/event-calendar/components/CalendarButtons/CalendarButtons.d.ts +0 -6
  249. package/dist/iframe/event/event-calendar/components/CalendarButtons/CalendarButtons.d.ts.map +0 -1
  250. package/dist/iframe/event/event-calendar/components/CalendarButtons/CalendarButtons.js +0 -1
  251. package/dist/iframe/event/event-calendar/components/CalendarButtons/index.d.ts.map +0 -1
  252. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.d.ts +0 -12
  253. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.d.ts.map +0 -1
  254. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.js +0 -1
  255. package/dist/iframe/event/event-calendar/components/CalendarDate/index.d.ts +0 -3
  256. package/dist/iframe/event/event-calendar/components/CalendarDate/index.d.ts.map +0 -1
  257. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.d.ts +0 -7
  258. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.d.ts.map +0 -1
  259. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.js +0 -1
  260. package/dist/iframe/event/event-calendar/components/CalendarDates/index.d.ts.map +0 -1
  261. package/dist/iframe/event/event-calendar/components/CalendarSelect/CalendarSelect.d.ts.map +0 -1
  262. package/dist/iframe/event/event-calendar/components/CalendarSelect/CalendarSelect.js +0 -1
  263. package/dist/iframe/event/event-calendar/components/CalendarSelect/index.d.ts.map +0 -1
  264. package/dist/iframe/event/event-calendar/components/CalendarWeekdays/CalendarWeekdays.d.ts.map +0 -1
  265. package/dist/iframe/event/event-calendar/components/CalendarWeekdays/index.d.ts.map +0 -1
  266. package/dist/iframe/event/event-calendar/index.d.ts +0 -4
  267. package/dist/iframe/event/event-calendar/index.d.ts.map +0 -1
  268. package/dist/iframe/event/event-calendar/types/index.d.ts +0 -6
  269. package/dist/iframe/event/event-calendar/types/index.d.ts.map +0 -1
  270. package/dist/iframe/event/event-calendar/utils/index.d.ts +0 -3
  271. package/dist/iframe/event/event-calendar/utils/index.d.ts.map +0 -1
  272. package/dist/iframe/event/event-calendar/utils/index.js +0 -1
  273. package/dist/styles/iframe-customers-journey/_index.scss +0 -3
  274. package/src/iframe/activity-cards/activity-card/ActivityCard.tsx +0 -38
  275. package/src/iframe/activity-cards/index.ts +0 -2
  276. package/src/iframe/activity-cards/list-activity-card/ListActivityCard.stories.tsx +0 -52
  277. package/src/iframe/activity-cards/list-activity-card/ListActivityCard.tsx +0 -49
  278. package/src/iframe/event/event-calendar/EventCalendar.stories.tsx +0 -36
  279. package/src/iframe/event/event-calendar/EventCalendar.tsx +0 -27
  280. package/src/iframe/event/event-calendar/components/CalendarDate/CalendarDate.tsx +0 -51
  281. package/src/iframe/event/event-calendar/components/CalendarDate/index.ts +0 -2
  282. package/src/iframe/event/event-calendar/index.ts +0 -6
  283. package/src/iframe/event/event-calendar/types/index.ts +0 -6
  284. package/src/iframe/event/event-calendar/utils/index.ts +0 -11
  285. package/src/styles/iframe-customers-journey/_index.scss +0 -3
  286. /package/dist/assets/iframe/{dateInfo/available.svg → available.svg} +0 -0
  287. /package/dist/assets/iframe/{dateInfo/limited.svg → limited.svg} +0 -0
  288. /package/dist/assets/iframe/{dateInfo/soldOut.svg → soldOut.svg} +0 -0
  289. /package/dist/{iframe/event/event-calendar → calendar}/components/CalendarButtons/index.d.ts +0 -0
  290. /package/dist/{iframe/event/event-calendar → calendar}/components/CalendarDates/index.d.ts +0 -0
  291. /package/dist/{iframe/event/event-calendar → calendar}/components/CalendarSelect/CalendarSelect.d.ts +0 -0
  292. /package/dist/{iframe/event/event-calendar → calendar}/components/CalendarSelect/index.d.ts +0 -0
  293. /package/dist/{iframe/event/event-calendar → calendar}/components/CalendarWeekdays/CalendarWeekdays.d.ts +0 -0
  294. /package/dist/{iframe/event/event-calendar → calendar}/components/CalendarWeekdays/CalendarWeekdays.js +0 -0
  295. /package/dist/{iframe/event/event-calendar → calendar}/components/CalendarWeekdays/index.d.ts +0 -0
  296. /package/src/assets/iframe/{dateInfo/available.svg → available.svg} +0 -0
  297. /package/src/assets/iframe/{dateInfo/limited.svg → limited.svg} +0 -0
  298. /package/src/assets/iframe/{dateInfo/soldOut.svg → soldOut.svg} +0 -0
  299. /package/src/{iframe/event/event-calendar → calendar}/components/CalendarButtons/index.ts +0 -0
  300. /package/src/{iframe/event/event-calendar → calendar}/components/CalendarDates/index.ts +0 -0
  301. /package/src/{iframe/event/event-calendar → calendar}/components/CalendarSelect/index.ts +0 -0
  302. /package/src/{iframe/event/event-calendar → calendar}/components/CalendarWeekdays/CalendarWeekdays.tsx +0 -0
  303. /package/src/{iframe/event/event-calendar → calendar}/components/CalendarWeekdays/index.ts +0 -0
@@ -113,6 +113,7 @@ export interface ProductControlProps<T>
113
113
  productName: string;
114
114
  hasTicket?: boolean;
115
115
  categoryType?: CategoryType;
116
+ zoneDuration?: number;
116
117
  }
117
118
 
118
119
  export function ProductControl<T extends FormValues>({
@@ -126,6 +127,7 @@ export function ProductControl<T extends FormValues>({
126
127
  productName,
127
128
  hasTicket,
128
129
  categoryType,
130
+ zoneDuration,
129
131
  }: ProductControlProps<T>) {
130
132
  const {
131
133
  register,
@@ -190,6 +192,16 @@ export function ProductControl<T extends FormValues>({
190
192
  [handleImageUploading]
191
193
  );
192
194
 
195
+ const onChangeGameCapacity = (value: number) => {
196
+ if (!zoneDuration) {
197
+ return;
198
+ }
199
+ setValue(
200
+ `${fieldNamePrefix}.duration` as Path<T>,
201
+ (value * zoneDuration) as UnpackNestedValue<PathValue<T, Path<T>>>
202
+ );
203
+ };
204
+
193
205
  const onImageRemove = useCallback(
194
206
  (id, path) => {
195
207
  handleImageRemove(String(id), path);
@@ -372,6 +384,14 @@ export function ProductControl<T extends FormValues>({
372
384
  <FormNumberInput
373
385
  fieldName={`${fieldNamePrefix}.capacity`}
374
386
  label={t("capacity")}
387
+ rules={{
388
+ min: {
389
+ value: 1,
390
+ message: t("Validation:fieldRequired", {
391
+ attribute: t("capacity"),
392
+ }) as string,
393
+ },
394
+ }}
375
395
  />
376
396
  </Col>
377
397
  </Row>
@@ -383,7 +403,11 @@ export function ProductControl<T extends FormValues>({
383
403
  <FormNumberInput
384
404
  fieldName={`${fieldNamePrefix}.capacity`}
385
405
  label={t("capacity")}
406
+ onChange={onChangeGameCapacity}
386
407
  rules={{
408
+ required: t("Validation:fieldRequired", {
409
+ attribute: t("capacity"),
410
+ }) as string,
387
411
  min: {
388
412
  value: 1,
389
413
  message: t("Validation:fieldRequired", {
@@ -398,10 +422,13 @@ export function ProductControl<T extends FormValues>({
398
422
  fieldName={`${fieldNamePrefix}.duration`}
399
423
  label={t("durationMinutes")}
400
424
  rules={{
425
+ required: t("Validation:fieldRequired", {
426
+ attribute: t("capacity"),
427
+ }) as string,
401
428
  min: {
402
429
  value: 1,
403
430
  message: t("Validation:fieldRequired", {
404
- attribute: t("duration"),
431
+ attribute: t("capacity"),
405
432
  }) as string,
406
433
  },
407
434
  }}
@@ -66,7 +66,7 @@ export const ProductDurationControl = <T,>({
66
66
  },
67
67
  min: {
68
68
  value: 1,
69
- message: t("Validation:fieldMin", {
69
+ message: t("Validation:fieldMinNumber", {
70
70
  attribute: t("duration"),
71
71
  }),
72
72
  },
@@ -332,7 +332,7 @@ export function ProductCategoryControl({
332
332
  <Row>
333
333
  <Col>
334
334
  <Form.Group controlId={zoneId}>
335
- <Form.Label>Zone</Form.Label>
335
+ <Form.Label>{t("Design:zone")}</Form.Label>
336
336
  <Controller
337
337
  control={control}
338
338
  name={`${fieldNamePrefix}.zoneId`}
@@ -360,12 +360,6 @@ export function ProductCategoryControl({
360
360
  attribute: t("zone"),
361
361
  }),
362
362
  },
363
- validate: (value) => {
364
- if (value) return true;
365
- return t("Validation:fieldRequired", {
366
- attribute: t("zone"),
367
- }) as string;
368
- },
369
363
  }}
370
364
  />
371
365
  <Form.Control.Feedback type="invalid">
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { ReactElement } from "react";
2
2
  import { useFormContext } from "react-hook-form";
3
3
  import en from "react-phone-number-input/locale/en.json";
4
4
  import { LocationInputValues } from ".";
@@ -13,7 +13,7 @@ export function LocationInputDescription() {
13
13
  "postcode",
14
14
  "country",
15
15
  ] as const;
16
- const fields = fieldNames.reduce<JSX.Element[]>((acc, field) => {
16
+ const fields = fieldNames.reduce<ReactElement[]>((acc, field) => {
17
17
  const value = values?.[field];
18
18
  if (!value) return acc;
19
19
 
@@ -3,7 +3,7 @@ import React from "react";
3
3
  import { Col, Row } from "react-bootstrap";
4
4
  import { useFormContext } from "react-hook-form";
5
5
  import { useTranslation } from "react-i18next";
6
- import { useIntl } from "react-intl";
6
+ import { TIME_FORMAT } from "@licklist/core/dist/Config";
7
7
  import { WorkingHoursInputValues } from ".";
8
8
  import { useWeekdays } from "./utils";
9
9
 
@@ -12,7 +12,9 @@ export function WorkingHoursInputDescription() {
12
12
  const values = watch("workingHours");
13
13
  const weekdays = useWeekdays("short");
14
14
  const { t } = useTranslation("Design");
15
- const { formatTime } = useIntl();
15
+
16
+ if (!values) return null;
17
+
16
18
  return (
17
19
  <>
18
20
  {Array.from({ length: weekdays.length }, (_, i) => i)
@@ -26,16 +28,16 @@ export function WorkingHoursInputDescription() {
26
28
  {weekday?.end
27
29
  ? weekday.start
28
30
  ? t("timeInterval", {
29
- start: formatTime(
30
- DateTime.fromISO(weekday.start).toJSDate()
31
+ start: DateTime.fromISO(weekday.start).toFormat(
32
+ TIME_FORMAT
31
33
  ),
32
- end: formatTime(
33
- DateTime.fromISO(weekday.end).toJSDate()
34
+ end: DateTime.fromISO(weekday.start).toFormat(
35
+ TIME_FORMAT
34
36
  ),
35
37
  })
36
38
  : t("timeFrom", {
37
- start: formatTime(
38
- DateTime.fromISO(weekday.start).toJSDate()
39
+ start: DateTime.fromISO(weekday.start).toFormat(
40
+ TIME_FORMAT
39
41
  ),
40
42
  })
41
43
  : null}
@@ -1,17 +1,19 @@
1
- import React, { useRef } from "react";
1
+ import React, { useEffect, useRef } from "react";
2
2
  import { useId } from "@react-aria/utils";
3
3
  import { DateTime, DurationUnit } from "luxon";
4
4
  import { Col, Form, InputGroup, Row } from "react-bootstrap";
5
5
  import RRule from "rrule";
6
-
6
+ import { DATE_FORMAT } from "@licklist/core/dist/Config";
7
+ import { useTranslation } from "react-i18next";
7
8
  import { SupportedFrequency } from "./utils";
8
9
  import HTMLInputDateElement from "../types/static/HTMLInputDateElement";
9
10
 
10
11
  interface Props {
11
12
  disabled?: boolean;
12
- date: string;
13
+ date: string; // yyyy-mm-ddThh:mm
14
+ minDate?: string; // should be in yyyy-mm-dd format
13
15
  frequency: SupportedFrequency;
14
- until?: string;
16
+ until?: string; // yyyy-mm-dd
15
17
  count?: number;
16
18
  onChange: (values: { until?: string; count?: number }) => void;
17
19
  }
@@ -23,16 +25,31 @@ function RecurrenceEndInput({
23
25
  until,
24
26
  count,
25
27
  onChange,
28
+ minDate,
26
29
  }: Props) {
30
+ const { t } = useTranslation("Design");
27
31
  // unique ids for radios
28
32
  const neverId = useId();
29
33
  const onId = useId();
30
34
  const afterId = useId();
31
35
  const dateInput = useRef<HTMLInputDateElement | null>(null);
32
36
 
37
+ useEffect(() => {
38
+ const untilDatetime = DateTime.fromFormat(
39
+ until ?? getUntil({ date, frequency }),
40
+ DATE_FORMAT
41
+ );
42
+
43
+ const minDatetime = DateTime.fromFormat(minDate, DATE_FORMAT);
44
+
45
+ if (minDatetime > untilDatetime) {
46
+ onChange({ until: minDate });
47
+ }
48
+ }, [minDate, onChange, until, date, frequency]);
49
+
33
50
  return (
34
51
  <Form.Group>
35
- <Form.Label>Ends</Form.Label>
52
+ <Form.Label>{t("ends")}</Form.Label>
36
53
 
37
54
  <Form.Check type="radio" id={neverId} custom className="mt-3">
38
55
  <Form.Check.Input
@@ -41,7 +58,7 @@ function RecurrenceEndInput({
41
58
  onChange={() => onChange({ count: 500 })}
42
59
  disabled={disabled}
43
60
  />
44
- <Form.Check.Label>Never</Form.Check.Label>
61
+ <Form.Check.Label>{t("never")}</Form.Check.Label>
45
62
  </Form.Check>
46
63
 
47
64
  <Form.Check type="radio" id={onId} custom className="mt-3">
@@ -55,11 +72,12 @@ function RecurrenceEndInput({
55
72
  }
56
73
  disabled={disabled}
57
74
  />
58
- <Form.Check.Label>On</Form.Check.Label>
75
+ <Form.Check.Label>{t("on")}</Form.Check.Label>
59
76
  </Col>
60
77
  <Col>
61
78
  <Form.Control
62
79
  type="date"
80
+ min={minDate}
63
81
  disabled={disabled || !until}
64
82
  aria-label="Date on which the recurrence ends"
65
83
  value={until ?? getUntil({ date, frequency })}
@@ -83,7 +101,7 @@ function RecurrenceEndInput({
83
101
  }
84
102
  disabled={disabled}
85
103
  />
86
- <Form.Check.Label>After</Form.Check.Label>
104
+ <Form.Check.Label>{t("after")}</Form.Check.Label>
87
105
  </Col>
88
106
  <Col>
89
107
  <InputGroup>
@@ -99,7 +117,7 @@ function RecurrenceEndInput({
99
117
  }
100
118
  />
101
119
  <InputGroup.Append>
102
- <InputGroup.Text>occurrences</InputGroup.Text>
120
+ <InputGroup.Text>{t("occurences")}</InputGroup.Text>
103
121
  </InputGroup.Append>
104
122
  </InputGroup>
105
123
  </Col>
@@ -109,7 +127,7 @@ function RecurrenceEndInput({
109
127
  );
110
128
  }
111
129
 
112
- const defaultOccurrences = {
130
+ export const defaultOccurrences = {
113
131
  [RRule.DAILY]: 30,
114
132
  [RRule.WEEKLY]: 13,
115
133
  [RRule.MONTHLY]: 12,
@@ -3,7 +3,7 @@
3
3
  import { DateTime } from "luxon";
4
4
  import React, { useEffect, useReducer } from "react";
5
5
  import RRule, { Frequency, Weekday } from "rrule";
6
- import RecurrenceEndInput from "./RecurrenceEndInput";
6
+ import RecurrenceEndInput, { defaultOccurrences } from "./RecurrenceEndInput";
7
7
  import RecurrenceIntervalAndFrequencyInput from "./RecurrenceIntervalAndFrequencyInput";
8
8
  import RecurrenceMonthlyRepeatByInput from "./RecurrenceMonthlyRepeatByInput";
9
9
  import RecurrenceWeekdaysInput from "./RecurrenceWeekdaysInput";
@@ -16,6 +16,7 @@ import {
16
16
  export interface RecurrenceInputProps {
17
17
  disabled?: boolean;
18
18
  date: string;
19
+ minDate?: string;
19
20
  value?: string;
20
21
  onChange: (value: string) => void;
21
22
  initialFrequency?: Frequency;
@@ -24,6 +25,7 @@ export interface RecurrenceInputProps {
24
25
  export function RecurrenceInput({
25
26
  disabled = false,
26
27
  date,
28
+ minDate,
27
29
  value,
28
30
  onChange,
29
31
  initialFrequency = Frequency.WEEKLY,
@@ -82,6 +84,7 @@ export function RecurrenceInput({
82
84
  )}
83
85
  <RecurrenceEndInput
84
86
  date={date}
87
+ minDate={minDate}
85
88
  frequency={state.freq}
86
89
  until={state.until && DateTime.fromJSDate(state.until).toISODate()}
87
90
  count={state.count}
@@ -130,5 +133,12 @@ const getInitialState = ({
130
133
  byweekday = options.byweekday[0];
131
134
  }
132
135
 
133
- return { ...options, byweekday };
136
+ return {
137
+ ...options,
138
+ count:
139
+ options?.count || options.until
140
+ ? options.count
141
+ : defaultOccurrences[options.freq],
142
+ byweekday,
143
+ };
134
144
  };
@@ -1,9 +1,9 @@
1
- import React, { useEffect } from "react";
1
+ import React, { useEffect, useState } from "react";
2
2
  import { DateTime } from "luxon";
3
3
  import { Col, Form, Row } from "react-bootstrap";
4
4
  import { useTranslation } from "react-i18next";
5
- import { useFormContext } from "react-hook-form";
6
- import { DATE_FORMAT, TIME_FULL_FORMAT } from "@licklist/core/dist/Config";
5
+ import { RegisterOptions, useFormContext } from "react-hook-form";
6
+ import { DATE_FORMAT } from "@licklist/core/dist/Config";
7
7
  import { RecurringDatePickerInputValues } from "./RecurringDatePickerInput";
8
8
 
9
9
  interface RecurrenceIntervalAndFrequencyInputProps {
@@ -11,8 +11,17 @@ interface RecurrenceIntervalAndFrequencyInputProps {
11
11
  minDate?: string;
12
12
  startDateLabel?: string;
13
13
  startTimeLabel?: string;
14
+ isProductSet?: boolean;
14
15
  endDateLabel?: string;
15
16
  endTimeLabel?: string;
17
+ startTimeRules?: Pick<
18
+ RegisterOptions,
19
+ "max" | "min" | "validate" | "required" | "pattern"
20
+ >;
21
+ endTimeRules?: Pick<
22
+ RegisterOptions,
23
+ "max" | "min" | "validate" | "required" | "pattern"
24
+ >;
16
25
  }
17
26
 
18
27
  function RecurrenceIntervalAndFrequencyInput({
@@ -22,15 +31,18 @@ function RecurrenceIntervalAndFrequencyInput({
22
31
  startTimeLabel,
23
32
  endDateLabel,
24
33
  endTimeLabel,
34
+ startTimeRules,
35
+ endTimeRules,
36
+ isProductSet,
25
37
  }: RecurrenceIntervalAndFrequencyInputProps) {
26
38
  const { t } = useTranslation(["Design", "Notification", "App"]);
27
39
 
28
40
  const {
29
41
  getValues,
42
+ setValue,
30
43
  formState: { errors },
31
44
  register,
32
45
  trigger,
33
- setValue,
34
46
  } = useFormContext<RecurringDatePickerInputValues>();
35
47
 
36
48
  const startDate = getValues("startDate");
@@ -38,6 +50,14 @@ function RecurrenceIntervalAndFrequencyInput({
38
50
  const startTime = getValues("startTime");
39
51
  const endTime = getValues("endTime");
40
52
 
53
+ const [withOutEndDate, setWithOutEndDate] = useState<boolean>(!endDate);
54
+ const isProductSetWithoutEndDate = isProductSet && withOutEndDate;
55
+
56
+ const handleWithoutEndDate = () => {
57
+ setValue("endDate", "");
58
+ setWithOutEndDate((prevWithOutEndDateValue) => !prevWithOutEndDateValue);
59
+ };
60
+
41
61
  useEffect(() => {
42
62
  if (!startDate || !endDate) {
43
63
  return;
@@ -47,6 +67,9 @@ function RecurrenceIntervalAndFrequencyInput({
47
67
  }, [startDate]);
48
68
 
49
69
  useEffect(() => {
70
+ if (!startTime || !endTime) {
71
+ return;
72
+ }
50
73
  trigger("endTime");
51
74
  // eslint-disable-next-line react-hooks/exhaustive-deps
52
75
  }, [startTime]);
@@ -78,7 +101,7 @@ function RecurrenceIntervalAndFrequencyInput({
78
101
  <Form.Control
79
102
  type="date"
80
103
  {...register("endDate", {
81
- required: true,
104
+ required: !isProductSetWithoutEndDate,
82
105
  validate: (date) => {
83
106
  if (!startDate || !date) {
84
107
  return true;
@@ -99,7 +122,7 @@ function RecurrenceIntervalAndFrequencyInput({
99
122
  })}
100
123
  defaultValue={endDate}
101
124
  className={endDate && "date-input-with-value"}
102
- disabled={disabled}
125
+ disabled={disabled || isProductSetWithoutEndDate}
103
126
  min={startDate || undefined}
104
127
  isInvalid={Boolean(errors.endDate)}
105
128
  />
@@ -107,6 +130,21 @@ function RecurrenceIntervalAndFrequencyInput({
107
130
  {errors.endDate?.message}
108
131
  </Form.Control.Feedback>
109
132
  </Form.Group>
133
+ {isProductSet && (
134
+ <Form.Group className="custom-checkbox">
135
+ <Form.Check custom type="checkbox">
136
+ <Form.Check.Input
137
+ type="checkbox"
138
+ className="checkbox-input"
139
+ checked={withOutEndDate}
140
+ onChange={handleWithoutEndDate}
141
+ />
142
+ <Form.Check.Label>
143
+ {t("Design:infiniteProductSet")}
144
+ </Form.Check.Label>
145
+ </Form.Check>
146
+ </Form.Group>
147
+ )}
110
148
  </Col>
111
149
  </Row>
112
150
 
@@ -118,15 +156,15 @@ function RecurrenceIntervalAndFrequencyInput({
118
156
  </Form.Label>
119
157
  <Form.Control
120
158
  type="time"
121
- {...register("startTime", { required: false })}
122
- onChange={({ target: { value } }) => {
123
- setValue("startTime", `${value}:00`);
124
- }}
159
+ {...register("startTime", { required: false, ...startTimeRules })}
125
160
  placeholder="hh:mm"
126
161
  defaultValue={startTime}
127
162
  disabled={disabled}
128
163
  isInvalid={Boolean(errors.startTime)}
129
164
  />
165
+ <Form.Control.Feedback type="invalid">
166
+ {errors.startTime?.message}
167
+ </Form.Control.Feedback>
130
168
  </Form.Group>
131
169
  </Col>
132
170
 
@@ -141,28 +179,19 @@ function RecurrenceIntervalAndFrequencyInput({
141
179
  if (!startTime || !time) {
142
180
  return true;
143
181
  }
144
- const currentStartTime = DateTime.fromFormat(
145
- startTime,
146
- TIME_FULL_FORMAT
147
- );
148
-
149
- const currentEndTime = DateTime.fromFormat(
150
- time,
151
- TIME_FULL_FORMAT
152
- );
182
+ const currentStartTime = DateTime.fromISO(startTime);
183
+ const currentEndTime = DateTime.fromISO(time);
153
184
 
154
- return currentEndTime?.diff(currentStartTime, ["seconds"])
155
- ?.seconds > 0
185
+ return currentEndTime?.diff(currentStartTime, ["minutes"])
186
+ ?.minutes >= 0
156
187
  ? true
157
188
  : `${t(`Validation:fieldLaterDate`, {
158
189
  attribute: t("Design:endTimeSmall"),
159
190
  min: t("Design:startTimeSmall"),
160
191
  })}`;
161
192
  },
193
+ ...endTimeRules,
162
194
  })}
163
- onChange={({ target: { value } }) => {
164
- setValue("endTime", `${value}:59`, { shouldValidate: true });
165
- }}
166
195
  placeholder="hh:mm"
167
196
  defaultValue={endTime}
168
197
  disabled={disabled}
@@ -7,6 +7,7 @@ import { useIntl } from "react-intl";
7
7
  import {
8
8
  DATE_TIME_FORMAT,
9
9
  DATE_TIME_FULL_FORMAT,
10
+ TIME_FULL_FORMAT,
10
11
  } from "@licklist/core/dist/Config/Date";
11
12
  import { usePreviousValue } from "@licklist/plugins/dist/hooks/Value/usePreviousValue";
12
13
  import { FormProvider, useForm } from "react-hook-form";
@@ -25,6 +26,7 @@ export interface RecurringDatePickerInputProps {
25
26
  initialFrequency?: Frequency;
26
27
  setInitialStartDateAfterSelect?: boolean;
27
28
  minDate?: string;
29
+ isProductSet?: boolean;
28
30
  }
29
31
 
30
32
  export interface RecurringDatePickerInputValues {
@@ -38,6 +40,7 @@ export interface RecurringDatePickerInputValues {
38
40
  byweekday?: Weekday[];
39
41
  until?: Date;
40
42
  count?: number;
43
+ withOutEndDate?: boolean;
41
44
  }
42
45
 
43
46
  export function RecurringDatePickerInput({
@@ -49,6 +52,7 @@ export function RecurringDatePickerInput({
49
52
  setInitialStartDateAfterSelect = false,
50
53
  children,
51
54
  minDate,
55
+ isProductSet,
52
56
  }: PropsWithChildren<RecurringDatePickerInputProps>) {
53
57
  const { t } = useTranslation(["Design"]);
54
58
 
@@ -101,6 +105,11 @@ export function RecurringDatePickerInput({
101
105
  })
102
106
  : nextState.byweekday;
103
107
 
108
+ const endTimeNextState = nextState?.endTime
109
+ ? DateTime.fromISO(nextState?.endTime).toFormat(TIME_FULL_FORMAT)
110
+ : "";
111
+ const endDateNextState = nextState?.endDate ?? "";
112
+
104
113
  const rrule = RRule.optionsToString({
105
114
  // @TODO: investigate if we need these fields
106
115
  // dtstart: getDateTimeObject(startDate, startTime).toJSDate(),
@@ -115,6 +124,8 @@ export function RecurringDatePickerInput({
115
124
 
116
125
  onChange({
117
126
  ...nextState,
127
+ endDate: endDateNextState,
128
+ endTime: endTimeNextState,
118
129
  rrule,
119
130
  });
120
131
  };
@@ -179,6 +190,7 @@ export function RecurringDatePickerInput({
179
190
  <RecurrenceIntervalAndFrequencyInput
180
191
  disabled={disabled}
181
192
  minDate={minDate}
193
+ isProductSet={isProductSet}
182
194
  />
183
195
 
184
196
  {children}
@@ -15,7 +15,7 @@ export function ReportForm({
15
15
  onSubmit,
16
16
  onHide,
17
17
  hasPermission,
18
- }: ReportFormProps): JSX.Element {
18
+ }: ReportFormProps) {
19
19
  const { t } = useTranslation(["App"]);
20
20
  const fromDateInput = useRef<HTMLInputDateElement | null>(null);
21
21
  const toDateInput = useRef<HTMLInputDateElement | null>(null);
@@ -3,6 +3,7 @@ import clsx from "clsx";
3
3
  import { useTranslation } from "react-i18next";
4
4
  import { DateTime } from "luxon";
5
5
  import { Order } from "@licklist/core/dist/DataMapper/Order/OrderDataMapper";
6
+ import { TIME_FORMAT } from "@licklist/core/dist/Config";
6
7
  import { formatDateStringForEvent } from "@licklist/plugins/dist/utils/formatDate";
7
8
  import Icon from "../../../../static/Icon";
8
9
 
@@ -55,10 +56,10 @@ export const ResultCard = ({
55
56
  {t("status")}: {t(status)}
56
57
  </p>
57
58
  <p>
58
- {t("date")}: {formatDateStringForEvent(startDate)}
59
+ {t("date")}: {formatDateStringForEvent(startDate, false)}
59
60
  </p>
60
61
  <p>
61
- {t("time")}: {DateTime.fromISO(startDate).toFormat("hh:MM")}
62
+ {t("time")}: {DateTime.fromISO(startDate).toFormat(TIME_FORMAT)}
62
63
  </p>
63
64
  </div>
64
65
  </div>
@@ -7,6 +7,9 @@ import {
7
7
  SNIPPET_TYPE_VENUE_MAP,
8
8
  } from "@licklist/core/dist/DataMapper/Provider/SnippetDataMapper";
9
9
  import { ProductSet } from "@licklist/core/dist/DataMapper/Product/ProductSetDataMapper";
10
+ import { DateTime } from "luxon";
11
+ import { Calendar, defaultStartDay } from "../../../calendar";
12
+ import { getMonthCalendarDates } from "../../../calendar/utils";
10
13
  import { IframeEventCard } from "../../../iframe/event/event-card";
11
14
  import { SettingButton } from "../settings";
12
15
  import {
@@ -24,7 +27,6 @@ import {
24
27
  } from "../../../iframe";
25
28
  import { NumberInput } from "../../../iframe/order-process/components/CategoryProduct/components/NumberInput";
26
29
  import { SnippetTemplateContext } from "../context/snippetTemplate";
27
- import { EventCalendar } from "../../../iframe/event/event-calendar";
28
30
 
29
31
  const DEFAULT_IMAGE =
30
32
  "https://images.unsplash.com/photo-1638988319382-90e61be77c59?ixlib=rb-1.2.1&auto=format&fit=crop&w=687&q=80";
@@ -52,6 +54,10 @@ export function Preview({
52
54
  onSettingClick();
53
55
  };
54
56
 
57
+ const [currentDate, setCurrentDate] = useState<DateTime>(defaultStartDay);
58
+ const [selectedDate, setSelectedDate] = useState<DateTime | null>(null);
59
+ const calendarDates = getMonthCalendarDates(currentDate);
60
+
55
61
  return (
56
62
  <div className="w-100 h-100 snippet-template-preview">
57
63
  <Page
@@ -196,7 +202,13 @@ export function Preview({
196
202
  className="mt-3 m-0"
197
203
  containerClassName="mt-5 pt-5"
198
204
  >
199
- <EventCalendar />
205
+ <Calendar
206
+ currentDate={currentDate}
207
+ setCurrentDate={setCurrentDate}
208
+ selectedDate={selectedDate}
209
+ setSelectedDate={setSelectedDate}
210
+ calendarDates={calendarDates}
211
+ />
200
212
  </SettingButton>
201
213
  </div>
202
214
  <div className="pt-4">
@@ -4,7 +4,7 @@ import RouteService from "@licklist/plugins/dist/services/Route/RouteService";
4
4
  import { useTranslation } from "react-i18next";
5
5
  import Icon from "./Icon";
6
6
 
7
- function RestrictedAccess(): JSX.Element {
7
+ function RestrictedAccess() {
8
8
  const { t } = useTranslation("Design");
9
9
 
10
10
  return (
@@ -15,6 +15,7 @@ interface FormNumberInputProps {
15
15
  label: string;
16
16
  fieldName: string;
17
17
  step?: number;
18
+ onChange?: (value: number) => void;
18
19
  disabled?: boolean;
19
20
  rules?: Pick<
20
21
  RegisterOptions,
@@ -28,6 +29,7 @@ export const FormNumberInput = ({
28
29
  step = 1,
29
30
  rules,
30
31
  disabled,
32
+ onChange,
31
33
  }: FormNumberInputProps) => {
32
34
  const controlId = useId();
33
35
  const { t } = useTranslation("Validation");
@@ -76,7 +78,12 @@ export const FormNumberInput = ({
76
78
  disabled={disabled}
77
79
  isInvalid={HookFormService.isInvalid(fieldName, errors)}
78
80
  {...field}
79
- onChange={(event) => field.onChange(Number(event.target.value))}
81
+ onChange={(event) => {
82
+ if (onChange) {
83
+ onChange(Number(event.target.value));
84
+ }
85
+ field.onChange(Number(event.target.value));
86
+ }}
80
87
  onFocus={onFocus}
81
88
  />
82
89
  )}
@@ -11,7 +11,7 @@
11
11
  word-wrap: break-word;
12
12
  background-color: #fff;
13
13
  font-size: 0.8rem;
14
- color: $snippet-elements-body-color;
14
+ background-color: $snippet-product-set-background-color;
15
15
 
16
16
  div {
17
17
  text-align: left;
@@ -6,8 +6,9 @@
6
6
  align-items: center;
7
7
  cursor: pointer;
8
8
  height: 5rem;
9
+ padding: 0.375rem;
9
10
  border: 2px solid transparent;
10
- border: 2px solid transparent;
11
+ border-radius: 0.5rem;
11
12
  background-color: $snippet-product-set-background-color;
12
13
  color: $snippet-product-set-font-color;
13
14
  transition: $color-transition;