@licklist/design 0.68.5 → 0.68.6-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. package/dist/affiliate/form/AffiliateForm.d.ts.map +1 -1
  2. package/dist/auth/Login/LoginComponent.js +2 -1
  3. package/dist/calendar/components/CalendarButtons/CalendarButtons.d.ts.map +1 -1
  4. package/dist/calendar/components/CalendarButtons/CalendarButtons.js +35 -40
  5. package/dist/events/edit-event-modal/IntervalInput.js +1 -1
  6. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.d.ts.map +1 -1
  7. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.js +0 -1
  8. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.d.ts.map +1 -1
  9. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.js +24 -23
  10. package/dist/events/edit-event-modal/utils/getDefaultProductSet.d.ts.map +1 -1
  11. package/dist/events/edit-event-modal/utils/getDefaultProductSet.js +3 -2
  12. package/dist/iframe/activity-card/ActivityCard.d.ts +5 -4
  13. package/dist/iframe/activity-card/ActivityCard.d.ts.map +1 -1
  14. package/dist/iframe/activity-card/ActivityCard.js +52 -40
  15. package/dist/iframe/event/event-card/IframeEventCard.d.ts.map +1 -1
  16. package/dist/iframe/event/event-card/IframeEventCard.js +2 -2
  17. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts.map +1 -1
  18. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.js +2 -0
  19. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts.map +1 -1
  20. package/dist/index.js +1 -0
  21. package/dist/layout/DropDown.d.ts +2 -1
  22. package/dist/layout/DropDown.d.ts.map +1 -1
  23. package/dist/modals/confirmation/ConfirmModal.d.ts +3 -1
  24. package/dist/modals/confirmation/ConfirmModal.d.ts.map +1 -1
  25. package/dist/modals/confirmation/ConfirmModal.js +172 -8
  26. package/dist/product-set/card/ProductSetCard.d.ts +6 -2
  27. package/dist/product-set/card/ProductSetCard.d.ts.map +1 -1
  28. package/dist/product-set/card/ProductSetCard.js +30 -11
  29. package/dist/product-set/control/DateInput.d.ts.map +1 -1
  30. package/dist/product-set/control/DateInput.js +2 -2
  31. package/dist/product-set/control/ProductSetControl.d.ts +4 -0
  32. package/dist/product-set/control/ProductSetControl.d.ts.map +1 -1
  33. package/dist/product-set/control/ProductSetControl.js +23 -3
  34. package/dist/product-set/control/ProductSetImageControl.d.ts +2 -0
  35. package/dist/product-set/control/ProductSetImageControl.d.ts.map +1 -0
  36. package/dist/product-set/control/ProductSetImageControl.js +279 -0
  37. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  38. package/dist/product-set/form/ProductCategoriesControl.js +48 -2
  39. package/dist/product-set/form/ProductSetForm.d.ts +4 -1
  40. package/dist/product-set/form/ProductSetForm.d.ts.map +1 -1
  41. package/dist/product-set/form/ProductSetForm.js +59 -1
  42. package/dist/product-set/form/ProductSetNameControl.d.ts +6 -0
  43. package/dist/product-set/form/ProductSetNameControl.d.ts.map +1 -0
  44. package/dist/product-set/form/ProductSetNameControl.js +35 -0
  45. package/dist/product-set/form/ProductZonesControl.d.ts.map +1 -1
  46. package/dist/product-set/form/ProductZonesControl.js +0 -2
  47. package/dist/product-set/form/SelectCategoryModal.d.ts +12 -0
  48. package/dist/product-set/form/SelectCategoryModal.d.ts.map +1 -1
  49. package/dist/product-set/form/SelectCategoryModal.js +1 -1
  50. package/dist/product-set/form/SubProductsControl.d.ts.map +1 -1
  51. package/dist/product-set/form/SubProductsControl.js +0 -3
  52. package/dist/product-set/form/VenueMapsControl.d.ts.map +1 -1
  53. package/dist/product-set/form/VenueMapsControl.js +0 -3
  54. package/dist/product-set/form/index.d.ts +1 -0
  55. package/dist/product-set/form/index.d.ts.map +1 -1
  56. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  57. package/dist/product-set/utils/index.d.ts +7 -0
  58. package/dist/product-set/utils/index.d.ts.map +1 -1
  59. package/dist/product-set/utils/index.js +10 -1
  60. package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
  61. package/dist/sales/booking/results/components/ResultCard.js +0 -2
  62. package/dist/snippet/snippet-template/preview/Preview.d.ts.map +1 -1
  63. package/dist/snippet/snippet-template/preview/Preview.js +6 -0
  64. package/dist/sortable-tree/SortableTreeItem.d.ts +2 -1
  65. package/dist/sortable-tree/SortableTreeItem.d.ts.map +1 -1
  66. package/dist/sortable-tree/SortableTreeItem.js +10 -4
  67. package/dist/styles/activity-card/{GridActivitiesCard.scss → ActivitiesCard.scss} +19 -5
  68. package/dist/styles/activity-card/ListActivitiesCard.scss +12 -42
  69. package/dist/styles/activity-card/_index.scss +1 -1
  70. package/dist/styles/iframe-events/Calendar.scss +0 -1
  71. package/dist/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  72. package/dist/styles/product-set/ProductSetForm.scss +22 -0
  73. package/dist/styles/sales/BookingResults.scss +1 -1
  74. package/dist/tiptap-editor/TipTapMenu/extensions/constants.d.ts +2 -0
  75. package/dist/tiptap-editor/TipTapMenu/extensions/constants.d.ts.map +1 -0
  76. package/dist/tiptap-editor/TipTapMenu/extensions/constants.js +3 -0
  77. package/dist/tiptap-editor/TipTapMenu/extensions/utils.d.ts +1 -1
  78. package/dist/tiptap-editor/TipTapMenu/extensions/utils.d.ts.map +1 -1
  79. package/dist/tiptap-editor/TipTapMenu/extensions/utils.js +3 -1
  80. package/dist/typeahead/Typeahead.d.ts +5 -1
  81. package/dist/typeahead/Typeahead.d.ts.map +1 -1
  82. package/dist/typeahead/Typeahead.js +9 -2
  83. package/package.json +8 -6
  84. package/src/affiliate/card/AffiliateCard.tsx +15 -15
  85. package/src/affiliate/form/AffiliateControl.tsx +8 -8
  86. package/src/affiliate/form/AffiliateForm.tsx +6 -5
  87. package/src/auth/AccessDenied/AccessDenied.tsx +8 -8
  88. package/src/auth/ChangePassword/ChangePasswordComponent.tsx +4 -4
  89. package/src/auth/ChangePassword/ChangePasswordFormComponent.tsx +14 -14
  90. package/src/auth/Layout/AuthNavComponent.tsx +6 -6
  91. package/src/auth/Layout/UserNavComponent.tsx +2 -2
  92. package/src/auth/Layout/UserNavDropDown.tsx +1 -1
  93. package/src/auth/Layout/UserNavDropDownToggle.tsx +3 -3
  94. package/src/auth/Login/LoginComponent.tsx +9 -9
  95. package/src/auth/Login/LoginFormComponent.tsx +15 -15
  96. package/src/auth/Logout/Logout.stories.tsx +2 -2
  97. package/src/auth/Register/BirthDateFormComponent.tsx +17 -17
  98. package/src/auth/Register/RegisterComponent.tsx +7 -7
  99. package/src/auth/Register/RegisterFormComponent.tsx +56 -56
  100. package/src/auth/ResetPassword/ResetPasswordComponent.tsx +3 -3
  101. package/src/auth/ResetPassword/ResetPasswordFormComponent.tsx +13 -13
  102. package/src/auth/Social/SocialCallbackComponent.tsx +3 -3
  103. package/src/auth/Social/SocialFormComponent.tsx +4 -4
  104. package/src/availability-indicator/AvailabilityIndicator.tsx +1 -1
  105. package/src/calendar/Calendar.tsx +2 -2
  106. package/src/calendar/components/CalendarButtons/CalendarButtons.tsx +38 -37
  107. package/src/calendar/components/CalendarDates/CalendarDates.tsx +2 -2
  108. package/src/calendar/components/CalendarSelect/CalendarSelect.tsx +2 -2
  109. package/src/calendar/components/CalendarWeekdays/CalendarWeekdays.tsx +2 -2
  110. package/src/collapsible-input-group/CollapsibleInputGroup.tsx +6 -6
  111. package/src/custom-fields/CustomFields.stories.tsx +1 -1
  112. package/src/custom-fields/field/FieldItem.tsx +1 -1
  113. package/src/custom-fields/field/SelectFieldModal.tsx +4 -4
  114. package/src/custom-fields/field-set/components/CustomFieldSet/CustomFieldSet.tsx +8 -8
  115. package/src/custom-fields/forms/DropdownForm.tsx +16 -16
  116. package/src/custom-fields/forms/TextInputForm.tsx +6 -6
  117. package/src/customers/components/filter/CustomerFilter.tsx +3 -3
  118. package/src/date-time-button/DateContent.tsx +1 -1
  119. package/src/date-time-button/DateTimeButton.tsx +2 -2
  120. package/src/error/ErrorFallback.tsx +1 -1
  121. package/src/events/edit-event-modal/IntervalInput.tsx +15 -15
  122. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.stories.tsx +2 -2
  123. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.tsx +24 -25
  124. package/src/events/edit-event-modal/component/ProductSetShortForm/ProductSetShortForm.tsx +3 -3
  125. package/src/events/edit-event-modal/component/SaleDeadline/SaleDeadline.tsx +11 -11
  126. package/src/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.tsx +85 -88
  127. package/src/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.tsx +5 -5
  128. package/src/events/edit-event-modal/utils/getDefaultProductSet.ts +2 -1
  129. package/src/events/edit-recurrent-event-modal/EditRecurrentEventModal.stories.tsx +1 -1
  130. package/src/events/edit-recurrent-event-modal/EditRecurrentEventModal.tsx +16 -16
  131. package/src/events/event-card/EventCard.stories.tsx +5 -5
  132. package/src/events/event-card/EventCard.tsx +30 -30
  133. package/src/events/event-card/EventCardSkeleton.tsx +10 -10
  134. package/src/events/event-statistic-modal/EventStatisticModal.stories.tsx +1 -1
  135. package/src/events/event-statistic-modal/EventStatisticModal.tsx +8 -8
  136. package/src/events/event-venue-map/components/Dropdown/Dropdown.tsx +1 -1
  137. package/src/events/event-venue-map/components/Dropdown/components/DropdownWrapper/DropdownWrapper.tsx +3 -3
  138. package/src/events/event-venue-map/components/Dropdown/components/ProductsControl/ProductsControl.tsx +5 -5
  139. package/src/events/event-venue-map/components/Dropdown/components/SelectControl/SelectControl.tsx +10 -10
  140. package/src/events/event-venue-map/components/MapPoint/components/DeleteIcon/DeleteIcon.tsx +1 -1
  141. package/src/events/event-venue-map/components/MapPoint/components/EditIcon/EditIcon.tsx +1 -1
  142. package/src/events/event-venue-map/components/MapPoint/components/PointIcon/PointIcon.tsx +2 -2
  143. package/src/events/event-venue-map/components/MapPoint/components/ProductIcon/ProductIcon.tsx +1 -1
  144. package/src/events/event-venue-map/components/Scrollbars/Scrollbars.tsx +5 -5
  145. package/src/events/event-venue-map/components/VenueMap/VenueMap.tsx +3 -3
  146. package/src/events/event-venue-map/components/ZoomButtons/ZoomButtons.tsx +4 -4
  147. package/src/file-upload/FilePreview.tsx +8 -8
  148. package/src/file-upload/FileUpload.tsx +8 -8
  149. package/src/header/BookeditHeader.tsx +1 -1
  150. package/src/header/Header.stories.tsx +16 -16
  151. package/src/header/Header.tsx +11 -11
  152. package/src/header/LicklistHeader.tsx +1 -1
  153. package/src/header/elements/CompanySelector.tsx +6 -6
  154. package/src/help/example/Example.tsx +12 -12
  155. package/src/help/popover/HelpPopover.tsx +5 -5
  156. package/src/iframe/activity-card/ActivityCard.tsx +38 -27
  157. package/src/iframe/back-button/BackButton.tsx +3 -3
  158. package/src/iframe/custom-fields/components/CustomDateField.stories.tsx +1 -1
  159. package/src/iframe/custom-fields/components/CustomDateField.tsx +7 -7
  160. package/src/iframe/event/event-booking-form/EventBookingForm.tsx +14 -14
  161. package/src/iframe/event/event-booking-products/EventBookingProducts.tsx +3 -3
  162. package/src/iframe/event/event-booking-products/components/AccordionItem/AccordionItem.tsx +10 -10
  163. package/src/iframe/event/event-booking-view/EventBookingView.tsx +1 -1
  164. package/src/iframe/event/event-card/IframeEventCard.stories.tsx +6 -6
  165. package/src/iframe/event/event-card/IframeEventCard.tsx +30 -29
  166. package/src/iframe/event/event-card/IframeEventCardSkeleton.tsx +20 -20
  167. package/src/iframe/event/event-card/IframeEventCards.stories.tsx +2 -2
  168. package/src/iframe/event/event-description/EventDescription.stories.tsx +3 -3
  169. package/src/iframe/event/event-description/EventDescription.tsx +10 -10
  170. package/src/iframe/event/event-navigation-footer/EventNavigationFooter.tsx +6 -6
  171. package/src/iframe/event/event-order-short-summary/EventOrderShortSummary.tsx +2 -2
  172. package/src/iframe/event/event-order-short-summary/components/Summary/Summary.tsx +4 -4
  173. package/src/iframe/event/event-order-summary/EventOrderSummary.stories.tsx +1 -1
  174. package/src/iframe/event/event-order-summary/EventOrderSummary.tsx +5 -5
  175. package/src/iframe/event/event-product-sets/EventProductSets.stories.tsx +1 -1
  176. package/src/iframe/event/event-product-sets/EventProductSets.tsx +1 -1
  177. package/src/iframe/event/event-product-sets/components/EventProductSet.tsx +1 -1
  178. package/src/iframe/event/event-step-venue-map-zones/EventStepVenueMapZones.tsx +1 -1
  179. package/src/iframe/event/event-step-venue-map-zones/components/EventStepVenueMapZone.tsx +3 -3
  180. package/src/iframe/event/event-tables/EventTables.stories.tsx +1 -1
  181. package/src/iframe/event/event-tables/EventTables.tsx +5 -5
  182. package/src/iframe/event/event-venue-map/IframeEventVenueMap.stories.tsx +4 -4
  183. package/src/iframe/event/event-venue-map/IframeEventVenueMap.tsx +1 -1
  184. package/src/iframe/event/ticket-description/TicketDescription.stories.tsx +6 -6
  185. package/src/iframe/event/ticket-description/TicketDescription.tsx +7 -7
  186. package/src/iframe/external-modal/ExternalModal.tsx +7 -7
  187. package/src/iframe/order-process/components/BookingSummary/BookingSummary.stories.tsx +8 -8
  188. package/src/iframe/order-process/components/BookingSummary/BookingSummary.tsx +23 -23
  189. package/src/iframe/order-process/components/BookingSummary/components/BookingSummaryAccordion/BookingSummaryAccordion.tsx +1 -1
  190. package/src/iframe/order-process/components/BookingSummary/components/ProductSummary/ProductSummary.tsx +6 -6
  191. package/src/iframe/order-process/components/BookingSummary/components/ProductsByMenuStep/ProductsByMenuStep.tsx +3 -3
  192. package/src/iframe/order-process/components/BookingSummary/components/SummaryTotal/SummaryTotal.tsx +1 -1
  193. package/src/iframe/order-process/components/BookingSummary/components/SummaryTotal/components/SummaryTotalBlock.tsx +2 -2
  194. package/src/iframe/order-process/components/BookingSummary/components/ToggleHeader/ToggleHeader.tsx +9 -9
  195. package/src/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.tsx +3 -3
  196. package/src/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.stories.tsx +5 -5
  197. package/src/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.tsx +3 -3
  198. package/src/iframe/order-process/components/CalendarStepsForm/components/Category.tsx +1 -1
  199. package/src/iframe/order-process/components/CalendarStepsForm/components/CategoryProductModal.tsx +3 -3
  200. package/src/iframe/order-process/components/CategoryProduct/CategoryProduct.tsx +7 -7
  201. package/src/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.stories.tsx +1 -1
  202. package/src/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.tsx +4 -4
  203. package/src/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.tsx +3 -2
  204. package/src/iframe/order-process/components/ErrorModal/ErrorModal.tsx +8 -8
  205. package/src/iframe/order-process/components/NavigationFooter/NavigationFooter.tsx +4 -4
  206. package/src/iframe/order-process/components/NavigationSteps/NavigationSteps.stories.tsx +1 -1
  207. package/src/iframe/order-process/components/NavigationSteps/NavigationSteps.tsx +6 -6
  208. package/src/iframe/order-process/components/PaymentCard/PaymentCard.stories.tsx +2 -2
  209. package/src/iframe/order-process/components/PaymentCard/PaymentCard.tsx +9 -9
  210. package/src/iframe/order-process/components/Timer/Timer.stories.tsx +2 -2
  211. package/src/iframe/order-process/components/Timer/Timer.tsx +6 -6
  212. package/src/iframe/page/Page.stories.tsx +4 -4
  213. package/src/iframe/page/Page.tsx +1 -1
  214. package/src/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.tsx +2 -2
  215. package/src/iframe/page/components/PageBody/components/RightBlock/RightBlock.tsx +2 -2
  216. package/src/iframe/page/components/PageHeader/PageHeader.tsx +6 -6
  217. package/src/iframe/payment/order-items-table/OrderItemsTable.stories.tsx +2 -2
  218. package/src/iframe/payment/order-items-table/OrderItemsTable.tsx +2 -2
  219. package/src/iframe/payment/order-items-table/hooks/useTableData.tsx +3 -3
  220. package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +1 -0
  221. package/src/iframe/payment/payment-form/PaymentForm.stories.tsx +5 -5
  222. package/src/iframe/payment/payment-form/PaymentForm.tsx +12 -12
  223. package/src/iframe/payment/payment-page/PaymentPage.tsx +5 -5
  224. package/src/iframe/payment/payment-status-header/PaymentStatusHeader.stories.tsx +2 -2
  225. package/src/iframe/payment/payment-status-header/PaymentStatusHeader.tsx +2 -2
  226. package/src/iframe/payment/payment-status-page/PaymentStatusComponent.stories.tsx +2 -2
  227. package/src/iframe/payment/payment-status-page/PaymentStatusPage.tsx +2 -2
  228. package/src/iframe/payment/status-body/StatusBody.tsx +3 -3
  229. package/src/iframe/powered-by/PoweredBy.tsx +4 -4
  230. package/src/iframe/ryft/RyftPaymentForm.tsx +12 -12
  231. package/src/image-radio-input/ImageRadioInput.tsx +5 -5
  232. package/src/layout/BackgroundVideoContainer.tsx +2 -2
  233. package/src/layout/Container.tsx +1 -1
  234. package/src/layout/DropDown.tsx +2 -1
  235. package/src/layout/DropDownToggle.tsx +1 -1
  236. package/src/layout/Layout.stories.tsx +5 -5
  237. package/src/logo/Logo.tsx +2 -2
  238. package/src/modals/confirmation/ConfirmModal.tsx +32 -16
  239. package/src/modals/dialog/Dialog.tsx +10 -10
  240. package/src/modals/fullscreen/FullscreenModal.tsx +10 -10
  241. package/src/modals/fullscreen/FulscreenModal.stories.tsx +2 -2
  242. package/src/notification/components/NotificationPlaceholders.tsx +5 -5
  243. package/src/notification/email-template/card/EmailTemplateCard.tsx +10 -10
  244. package/src/notification/email-template/control/EmailTemplateControl.tsx +29 -29
  245. package/src/notification/email-template/form/EmailTemplateForm.tsx +3 -3
  246. package/src/notification/send-email-template/SendEmailTemplateForm.tsx +11 -11
  247. package/src/notification/sms-template/card/SmsTemplateCard.tsx +9 -9
  248. package/src/notification/sms-template/control/SmsTemplateControl.tsx +15 -15
  249. package/src/notification/sms-template/form/SmsTemplateForm.tsx +1 -1
  250. package/src/number-of-people-input/components/RenderNumberOfPeopleInputComponent.tsx +6 -6
  251. package/src/product-set/card/ProductSetCard.tsx +63 -24
  252. package/src/product-set/control/DateAndRecurrenceInput.tsx +10 -10
  253. package/src/product-set/control/DateInput.tsx +12 -11
  254. package/src/product-set/control/ProductSetControl.stories.tsx +2 -2
  255. package/src/product-set/control/ProductSetControl.tsx +64 -72
  256. package/src/product-set/control/ProductSetImageControl.tsx +97 -0
  257. package/src/product-set/control/ProductSetRecurrenceControl.stories.tsx +1 -1
  258. package/src/product-set/control/ProductSetRecurrenceControl.tsx +10 -10
  259. package/src/product-set/control/ProductSetRecurrenceOverridesControl.tsx +9 -9
  260. package/src/product-set/control/TutorialGifCard.tsx +10 -10
  261. package/src/product-set/deposit-paid/ProductSetDepositPaid.stories.tsx +2 -2
  262. package/src/product-set/deposit-paid/ProductSetDepositPaidControl.tsx +9 -9
  263. package/src/product-set/elements/DeleteFieldButton.tsx +3 -3
  264. package/src/product-set/form/MobileFooter.tsx +2 -2
  265. package/src/product-set/form/ProductCategoriesControl.tsx +43 -7
  266. package/src/product-set/form/ProductSetForm.tsx +21 -6
  267. package/src/product-set/form/ProductSetFormPopover.tsx +4 -4
  268. package/src/product-set/form/ProductSetNameControl.tsx +27 -0
  269. package/src/product-set/form/ProductZonesControl.tsx +5 -8
  270. package/src/product-set/form/ProductsControl.tsx +4 -4
  271. package/src/product-set/form/SelectCategoryModal.tsx +24 -24
  272. package/src/product-set/form/StepsControl.tsx +5 -5
  273. package/src/product-set/form/SubProductsControl.tsx +1 -4
  274. package/src/product-set/form/VenueMapSetModal.tsx +16 -16
  275. package/src/product-set/form/VenueMapsControl.tsx +9 -12
  276. package/src/product-set/form/index.ts +1 -0
  277. package/src/product-set/item/CreateProductSetItem.tsx +2 -2
  278. package/src/product-set/popover/ProductSetPopover.stories.tsx +7 -7
  279. package/src/product-set/popover/ProductSetPopover.tsx +5 -5
  280. package/src/product-set/product/Product.stories.tsx +4 -4
  281. package/src/product-set/product/ProductControl.tsx +19 -20
  282. package/src/product-set/product/advanced-options/AdvancedOptions.tsx +11 -11
  283. package/src/product-set/product/booking-management/ProductBookingManagement.stories.tsx +1 -1
  284. package/src/product-set/product/booking-management/ProductBookingManagementControl.tsx +9 -9
  285. package/src/product-set/product/deposit/ProductDeposit.stories.tsx +1 -1
  286. package/src/product-set/product/deposit/ProductDepositControl.tsx +4 -4
  287. package/src/product-set/product/duration/ProductDurationControl.stories.tsx +1 -1
  288. package/src/product-set/product/duration/ProductDurationControl.tsx +10 -10
  289. package/src/product-set/product/fixed-duration-fields/FixedDurationOptions.tsx +1 -1
  290. package/src/product-set/product/price/ProductPrice.stories.tsx +1 -1
  291. package/src/product-set/product/price/ProductPriceControl.tsx +4 -4
  292. package/src/product-set/product/quantity/ProductQuantity.stories.tsx +3 -3
  293. package/src/product-set/product/quantity/ProductQuantityConstantControl.tsx +10 -10
  294. package/src/product-set/product/quantity/ProductQuantityControl.tsx +8 -8
  295. package/src/product-set/product/quantity/ProductQuantityRechargingControl.tsx +3 -3
  296. package/src/product-set/product-category/ProductCategory.stories.tsx +4 -4
  297. package/src/product-set/product-category/ProductCategoryControl.tsx +27 -27
  298. package/src/product-set/product-zone/ProductZoneControl.tsx +7 -7
  299. package/src/product-set/step/Step.stories.tsx +1 -1
  300. package/src/product-set/step/StepControl.tsx +5 -5
  301. package/src/product-set/tabs/ProductSetTabs.stories.tsx +3 -3
  302. package/src/product-set/tabs/ProductSetTabs.tsx +1 -1
  303. package/src/product-set/utils/index.ts +11 -0
  304. package/src/provider/categories-input/CategoriesInput.tsx +9 -9
  305. package/src/provider/categories-input/CategoriesInputDescription.tsx +4 -4
  306. package/src/provider/company/user-form/UserForm.tsx +9 -9
  307. package/src/provider/location-input/LocationInput.tsx +11 -11
  308. package/src/provider/location-input/LocationInputDescription.tsx +1 -1
  309. package/src/provider/location-input/components/FormGroupControll.tsx +1 -1
  310. package/src/provider/provider-details-input/ProviderDetailsInput.tsx +18 -18
  311. package/src/provider/provider-form/ProviderForm.tsx +11 -11
  312. package/src/provider/provider-links-input/ProviderLinksInput.tsx +4 -4
  313. package/src/provider/venue-form/VenueForm.tsx +12 -12
  314. package/src/provider/working-hours-input/WorkingHoursInput.tsx +13 -13
  315. package/src/provider/working-hours-input/WorkingHoursInputDescription.tsx +1 -1
  316. package/src/radio-card/RadioCard.tsx +3 -3
  317. package/src/recurrence-input/RecurrenceEndInput.tsx +12 -12
  318. package/src/recurrence-input/RecurrenceIntervalAndFrequencyInput.tsx +6 -6
  319. package/src/recurrence-input/RecurrenceMonthlyRepeatByInput.tsx +4 -4
  320. package/src/recurrence-input/RecurrenceWeekdaysInput.tsx +4 -4
  321. package/src/recurring-date-picker-input/DatePickerInput.tsx +3 -3
  322. package/src/recurring-date-picker-input/RecurrenceAndFrequencyInput.tsx +8 -8
  323. package/src/recurring-date-picker-input/RecurrenceEndInput.tsx +12 -12
  324. package/src/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.tsx +10 -10
  325. package/src/recurring-date-picker-input/RecurrenceMonthlyRepeatByInput.tsx +4 -4
  326. package/src/recurring-date-picker-input/RecurrenceWeekdaysInput.tsx +6 -6
  327. package/src/recurring-date-picker-input/RecurringDatePickerInput.tsx +4 -4
  328. package/src/report/DataFieldsSelector/DataFieldsSelector.tsx +6 -6
  329. package/src/report/ReportRunnerModal/ReportRunnerModal.tsx +23 -23
  330. package/src/report/ReportTypeSelect/ReportTypeSelect.tsx +9 -9
  331. package/src/report/card/ReportCard.tsx +3 -3
  332. package/src/report/form/ReportForm.tsx +9 -9
  333. package/src/resource/form/ResourceForm.tsx +4 -4
  334. package/src/resource/form/components/CapacityControl.tsx +2 -2
  335. package/src/resource/form/components/NameControl.tsx +1 -1
  336. package/src/resource/form/components/SortControl.tsx +2 -2
  337. package/src/resource/form/components/ZoneControl.tsx +3 -3
  338. package/src/sales/booking/results/BookingResults.tsx +2 -2
  339. package/src/sales/booking/results/components/ResultCard.tsx +8 -10
  340. package/src/sales/coupon/control/CouponFormControl.tsx +24 -24
  341. package/src/sales/coupon/form/CouponFrom.tsx +3 -3
  342. package/src/sales/filters/SaleFilters.tsx +3 -3
  343. package/src/sales/guest-profile/previous-bookings/PreviousBookings.tsx +12 -12
  344. package/src/sales/guest-profile/profile/Profile.tsx +6 -6
  345. package/src/sales/guest-profile/profile/components/ImageHolder/ImageHolder.tsx +1 -1
  346. package/src/sales/guest-profile/user-metrics/UserMetrics.tsx +34 -34
  347. package/src/sales/guest-profile/visited-providers/VisitedProviders.tsx +10 -10
  348. package/src/sales/life-time-sales/LifeTimeSalesChart.tsx +8 -8
  349. package/src/sales/manual-booking/number-input-horizontal/NumberInputHorizontal.stories.tsx +1 -1
  350. package/src/sales/manual-booking/number-input-horizontal/NumberInputHorizontal.tsx +3 -3
  351. package/src/sales/manual-booking/search-user/SearchUser.tsx +8 -8
  352. package/src/sales/manual-booking/select-date-type-control/SelectDateTypeControl.tsx +10 -10
  353. package/src/sales/manual-booking/select-event/SelectEvent.tsx +13 -13
  354. package/src/sales/manual-booking/select-menu/SelectMenu.tsx +5 -5
  355. package/src/sales/manual-booking/select-menu/components/MenuButton.tsx +2 -2
  356. package/src/sales/manual-booking/summary/ManualBookingSummary.tsx +11 -11
  357. package/src/sales/modals/payment-modal/PaymentModal.tsx +10 -10
  358. package/src/sales/modals/refund-modal/RefundModal.stories.tsx +1 -1
  359. package/src/sales/modals/refund-modal/RefundModal.tsx +11 -11
  360. package/src/sales/notes/NotesTable.tsx +5 -5
  361. package/src/sales/notes/NotesTableRow.tsx +13 -13
  362. package/src/sales/notes/note-form/NoteForm.tsx +11 -11
  363. package/src/sales/payment-form/SalePaymentForm.tsx +5 -5
  364. package/src/sales/payment-form/components/RyftPayment/RyftPayment.tsx +9 -9
  365. package/src/sales/sales-and-views/SalesAndViewsChart.tsx +19 -19
  366. package/src/sales/source-of-sales/SourceOfSalesChart.tsx +9 -9
  367. package/src/sales/statistics-chart/StatisticsChart.tsx +4 -4
  368. package/src/setting/admin/AdminSettingForm.tsx +14 -14
  369. package/src/setting/admin/PaymentFeeForm.tsx +28 -28
  370. package/src/setting/dashboard/DashboardSettingForm.tsx +16 -16
  371. package/src/setting/dashboard/EventSettingForm.tsx +3 -3
  372. package/src/setting/dashboard/FinancialDataForm.tsx +5 -5
  373. package/src/setting/dashboard/OtherSettingForm.tsx +29 -29
  374. package/src/setting/dashboard/ProviderSettingForm.tsx +3 -3
  375. package/src/setting/dashboard/components/IpInput.tsx +10 -10
  376. package/src/setting/dashboard/payments/payments-form/PaymentsForm.tsx +8 -8
  377. package/src/setting/dashboard/payments/payments-modal/PaymentsModal.tsx +4 -4
  378. package/src/setting/dashboard/snippet-templates/card/SnippetTemplateCard.tsx +8 -8
  379. package/src/setting/dashboard/snippets/card/SnippetCard.tsx +16 -16
  380. package/src/setting/system/SystemSettingForm.tsx +8 -8
  381. package/src/sidebar/elements/Elements.stories.tsx +1 -1
  382. package/src/sidebar/elements/ReturnBack.tsx +3 -3
  383. package/src/slide-curtain/SlideCurtain.stories.tsx +1 -1
  384. package/src/slide-curtain/SlideCurtain.tsx +4 -4
  385. package/src/snippet/snippet-template/SnippetTemplate.tsx +3 -3
  386. package/src/snippet/snippet-template/context/snippetTemplate.tsx +2 -2
  387. package/src/snippet/snippet-template/control/PropertyControl.tsx +8 -8
  388. package/src/snippet/snippet-template/form/SnippetTemplateForm.tsx +7 -7
  389. package/src/snippet/snippet-template/preview/Preview.tsx +72 -66
  390. package/src/snippet/snippet-template/settings/SettingButton.tsx +2 -2
  391. package/src/sortable-fields/SortableFieldItem.tsx +2 -2
  392. package/src/sortable-list/CreateSortableListItem.tsx +3 -3
  393. package/src/sortable-tree/SortableTreeItem.stories.tsx +2 -2
  394. package/src/sortable-tree/SortableTreeItem.tsx +46 -40
  395. package/src/sorting-select/SortingSelect.tsx +4 -4
  396. package/src/static/CountryCodeSelect.tsx +4 -4
  397. package/src/static/CountrySelect.tsx +5 -5
  398. package/src/static/CurrencyNumberInput.tsx +5 -5
  399. package/src/static/RestrictedAccess.tsx +6 -6
  400. package/src/static/SocialButton.tsx +1 -1
  401. package/src/static/Static.stories.tsx +24 -24
  402. package/src/static/UserBadge.tsx +7 -7
  403. package/src/static/WarningMessage.tsx +2 -2
  404. package/src/static/date-range-input/DateRangeInput.stories.tsx +1 -1
  405. package/src/static/date-range-input/DateRangeInput.tsx +12 -12
  406. package/src/static/form-number-input/FormNumberInput.stories.tsx +1 -1
  407. package/src/static/form-number-input/FormNumberInput.tsx +4 -4
  408. package/src/static/images/Images.stories.tsx +1 -1
  409. package/src/static/loader/BlockLoader.tsx +2 -2
  410. package/src/static/loader/ButtonLoader.tsx +1 -1
  411. package/src/static/loader/Loader.stories.tsx +2 -2
  412. package/src/static/loader/PaymentLoader.tsx +4 -4
  413. package/src/static/loader/SnippetLoader.tsx +2 -2
  414. package/src/static/manual-date-picker/ManualDatePicker.tsx +9 -9
  415. package/src/static/number-input/NumberInput.tsx +6 -6
  416. package/src/static/switch/Switch.stories.tsx +3 -3
  417. package/src/static/switch/Switch.tsx +4 -4
  418. package/src/static/tabs/Tabs.tsx +1 -1
  419. package/src/static/text-expand/TextExpand.tsx +3 -3
  420. package/src/striped-static-table/StripedStaticTable.tsx +2 -2
  421. package/src/styles/activity-card/{GridActivitiesCard.scss → ActivitiesCard.scss} +19 -5
  422. package/src/styles/activity-card/ListActivitiesCard.scss +12 -42
  423. package/src/styles/activity-card/_index.scss +1 -1
  424. package/src/styles/iframe-events/Calendar.scss +0 -1
  425. package/src/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  426. package/src/styles/product-set/ProductSetForm.scss +22 -0
  427. package/src/styles/sales/BookingResults.scss +1 -1
  428. package/src/table/FilterHelperComponent.tsx +10 -10
  429. package/src/table/MenuButton.tsx +1 -1
  430. package/src/table/PaginationHelperComponent.tsx +7 -7
  431. package/src/table/PerPageHelperComponent.tsx +5 -5
  432. package/src/table/ReactTableHelperComponent.tsx +1 -1
  433. package/src/table/TableHelperComponent.tsx +1 -1
  434. package/src/theme/Theme.stories.tsx +36 -36
  435. package/src/tiptap-editor/TipTapEditor.tsx +1 -1
  436. package/src/tiptap-editor/TipTapMenu/TipTapMenu.tsx +21 -21
  437. package/src/tiptap-editor/TipTapMenu/components/TipTapMenuItem.tsx +2 -2
  438. package/src/tiptap-editor/TipTapMenu/extensions/constants.ts +1 -0
  439. package/src/tiptap-editor/TipTapMenu/extensions/utils.ts +4 -1
  440. package/src/typeahead/Typeahead.stories.tsx +3 -3
  441. package/src/typeahead/Typeahead.tsx +15 -1
  442. package/src/typeahead-helper/TypeaheadHelperComponent.tsx +4 -4
  443. package/src/venue-map-sets/card/VenueMapSetCard.tsx +14 -14
  444. package/src/venue-map-sets/form/VenueMapSetForm.tsx +3 -3
  445. package/src/venue-map-sets/form/components/NameControl.tsx +1 -1
  446. package/src/venue-map-sets/form/components/VenueMapControl.tsx +8 -8
  447. package/src/venue-map-sets/form/components/VenueMapImageControl.tsx +5 -5
  448. package/src/venue-map-sets/form/components/VenueMapModal.tsx +16 -16
  449. package/src/venue-map-sets/form/components/VenueMapsControl.tsx +1 -1
  450. package/src/virtualized/components/VirtualizedGrid.tsx +1 -1
  451. package/src/zone/card/ZoneCard.tsx +14 -14
  452. package/src/zone/form/ZoneForm.tsx +3 -3
  453. package/src/zone/form/components/AvailableTimesControl.tsx +4 -4
  454. package/src/zone/form/components/DescriptionControl.tsx +2 -2
  455. package/src/zone/form/components/GameDurationControl.tsx +2 -2
  456. package/src/zone/form/components/NameControl.tsx +1 -1
  457. package/src/zone/form/components/SortControl.tsx +2 -2
  458. package/src/zone/form/components/ZoneControl.tsx +1 -1
  459. package/src/zone/form/components/ZoneImageControl.tsx +3 -3
  460. package/src/zone/form/components/ZoneRecurrenceControl.tsx +10 -10
  461. package/src/zone/form/components/ZoneRecurrencesControl.tsx +10 -10
  462. package/src/zone/form/components/ZoneTypeControl.tsx +2 -2
  463. package/yarn.lock +40 -14
  464. package/dist/assets/iframe/selectArrow.svg.js +0 -17
@@ -24,38 +24,38 @@ const TutorialGifCard = ({
24
24
  return (
25
25
  <>
26
26
  <Card className={`tutorial-card ${!isVisible && 'hidden'}`}>
27
- <Card.Header className="tutorial-card-header">
27
+ <Card.Header className='tutorial-card-header'>
28
28
  <div>
29
29
  <FaCheck
30
- color="white"
31
- className="rounded product-set-item-icon"
30
+ color='white'
31
+ className='rounded product-set-item-icon'
32
32
  size={14}
33
33
  />
34
34
  <span>{t('bookedTopTip')}</span>
35
35
  </div>
36
36
  <button
37
- className="border-0"
37
+ className='border-0'
38
38
  onClick={() => setIsVisible(false)}
39
- type="button"
39
+ type='button'
40
40
  >
41
41
  <span>{t('gotIt')}</span>
42
- <FaTimes size={18} className="rounded tutorial-close-icon p-1" />
42
+ <FaTimes size={18} className='rounded tutorial-close-icon p-1' />
43
43
  </button>
44
44
  </Card.Header>
45
- <Card.Body className="tutorial-card-body">
45
+ <Card.Body className='tutorial-card-body'>
46
46
  <p>
47
47
  {t(isOverrides ? 'buildOverrideProductSet' : 'buildProductSet')}
48
48
  </p>
49
49
  <span>
50
50
  {t(isOverrides ? 'buildOverrideRules' : 'buildProductSetDesc')}
51
51
  </span>
52
- {tutorialAsset && <Image src={tutorialAsset} alt="Tutorial Gif" />}
52
+ {tutorialAsset && <Image src={tutorialAsset} alt='Tutorial Gif' />}
53
53
  </Card.Body>
54
54
  </Card>
55
55
  <Button
56
- type="button"
56
+ type='button'
57
57
  onClick={() => setIsVisible(true)}
58
- className="mb-4"
58
+ className='mb-4'
59
59
  style={{ display: !isVisible ? 'block' : 'none' }}
60
60
  >
61
61
  <span>{t('hint')}</span>
@@ -26,7 +26,7 @@ export const Default: Story<ProductSetDepositPaidControlProps> = (args) => {
26
26
  return (
27
27
  <FormProvider {...form}>
28
28
  <Form
29
- className="d-flex flex-column"
29
+ className='d-flex flex-column'
30
30
  noValidate
31
31
  onSubmit={form.handleSubmit(onSubmit)}
32
32
  >
@@ -47,7 +47,7 @@ export const WithData: Story<ProductSetDepositPaidControlProps> = (args) => {
47
47
  return (
48
48
  <FormProvider {...form}>
49
49
  <Form
50
- className="d-flex flex-column"
50
+ className='d-flex flex-column'
51
51
  noValidate
52
52
  onSubmit={form.handleSubmit(onSubmit)}
53
53
  >
@@ -38,11 +38,11 @@ export function ProductSetDepositPaidControl(
38
38
  return (
39
39
  <Row>
40
40
  <Col xs={12}>
41
- <div className="form-inline">
41
+ <div className='form-inline'>
42
42
  <Form.Group controlId={depositPaidId}>
43
43
  <Form.Label>{t('depositPaid')}</Form.Label>
44
44
 
45
- <div className="form-inline-group">
45
+ <div className='form-inline-group'>
46
46
  <InputGroup hasValidation>
47
47
  <InputGroup.Prepend>
48
48
  <InputGroup.Text>{t('pay')}</InputGroup.Text>
@@ -58,7 +58,7 @@ export function ProductSetDepositPaidControl(
58
58
  />
59
59
  )}
60
60
  control={control}
61
- name="depositPaidAmount"
61
+ name='depositPaidAmount'
62
62
  rules={{
63
63
  required: t('Validation:fieldRequired', {
64
64
  attribute: t('depositPaidAmount'),
@@ -83,7 +83,7 @@ export function ProductSetDepositPaidControl(
83
83
  <Controller
84
84
  render={({ field: { value, onChange } }) => (
85
85
  <Form.Control
86
- as="select"
86
+ as='select'
87
87
  onChange={onChange}
88
88
  isInvalid={Boolean(errors.depositPaidAmountType)}
89
89
  disabled={isLoading}
@@ -100,7 +100,7 @@ export function ProductSetDepositPaidControl(
100
100
  </Form.Control>
101
101
  )}
102
102
  control={control}
103
- name="depositPaidAmountType"
103
+ name='depositPaidAmountType'
104
104
  rules={{
105
105
  required: t('Validation:fieldRequired', {
106
106
  attribute: t('depositPaidAmountType'),
@@ -122,7 +122,7 @@ export function ProductSetDepositPaidControl(
122
122
  />
123
123
  )}
124
124
  control={control}
125
- name="depositPaidPeriod"
125
+ name='depositPaidPeriod'
126
126
  rules={{
127
127
  required: t('Validation:fieldRequired', {
128
128
  attribute: t('depositPaidPeriod'),
@@ -147,7 +147,7 @@ export function ProductSetDepositPaidControl(
147
147
  <Controller
148
148
  render={({ field: { value, onChange } }) => (
149
149
  <Form.Control
150
- as="select"
150
+ as='select'
151
151
  onChange={onChange}
152
152
  isInvalid={Boolean(errors.depositPaidPeriodType)}
153
153
  disabled={isLoading}
@@ -164,7 +164,7 @@ export function ProductSetDepositPaidControl(
164
164
  </Form.Control>
165
165
  )}
166
166
  control={control}
167
- name="depositPaidPeriodType"
167
+ name='depositPaidPeriodType'
168
168
  rules={{
169
169
  required: t('Validation:fieldRequired', {
170
170
  attribute: t('depositPaidPeriodType'),
@@ -176,7 +176,7 @@ export function ProductSetDepositPaidControl(
176
176
  <InputGroup.Text>{t('beforeEvent')}</InputGroup.Text>
177
177
  </InputGroup.Append>
178
178
 
179
- <Form.Control.Feedback type="invalid">
179
+ <Form.Control.Feedback type='invalid'>
180
180
  {errors.depositPaidAmount?.message}
181
181
  {errors.depositPaidPeriod?.message}
182
182
  </Form.Control.Feedback>
@@ -11,11 +11,11 @@ export function DeleteFieldButton({ onDelete }: DeleteFieldButtonProps) {
11
11
  return (
12
12
  <Button
13
13
  onClick={onDelete}
14
- variant="outline-danger"
15
- className="d-flex align-items-center"
14
+ variant='outline-danger'
15
+ className='d-flex align-items-center'
16
16
  >
17
17
  <FaTrashAlt size={16} />{' '}
18
- <span className="d-none d-sm-inline ml-2">{t('delete')}</span>
18
+ <span className='d-none d-sm-inline ml-2'>{t('delete')}</span>
19
19
  </Button>
20
20
  )
21
21
  }
@@ -5,12 +5,12 @@ export function MobileFooter() {
5
5
  const { t } = useTranslation('Design')
6
6
 
7
7
  return (
8
- <div className="container product-set-mobile-footer">
8
+ <div className='container product-set-mobile-footer'>
9
9
  <div
10
10
  className={`d-block d-sm-none bg-white border-top fixed-bottom
11
11
  py-4 px-5 d-flex justify-content-between flex-row-reverse`}
12
12
  >
13
- <Button type="submit">{t('save')}</Button>
13
+ <Button type='submit'>{t('save')}</Button>
14
14
  </div>
15
15
  </div>
16
16
  )
@@ -8,6 +8,7 @@ import {
8
8
  useFormContext,
9
9
  useWatch,
10
10
  } from 'react-hook-form'
11
+ import { FaBars, FaBowlingBall, FaCalendar, FaTicketAlt } from 'react-icons/fa'
11
12
  import { useTranslation } from 'react-i18next'
12
13
  import { useSensor, MouseSensor } from '@dnd-kit/core'
13
14
  import {
@@ -25,7 +26,11 @@ import { ProductCategoryControl } from '../product-category'
25
26
  import { ProductCategory } from '../types'
26
27
  import { ProductsControl } from './ProductsControl'
27
28
  import { ProductSetFormValues, WithIsLoading } from './ProductSetForm'
28
- import { SelectCategoryModal } from './SelectCategoryModal'
29
+ import {
30
+ SelectCategoryModal,
31
+ CATEGORY_TYPES_NAMES,
32
+ CategoryConfig,
33
+ } from './SelectCategoryModal'
29
34
  import { ProductSetLoadingContext } from './context'
30
35
  import { VenueMapSetModal } from './VenueMapSetModal'
31
36
  import { moveArrayElements, sortArrayByIndex } from '../utils'
@@ -33,6 +38,29 @@ import { useSortableTreeFunctions } from '../hooks/useSortableTreeFunctions'
33
38
  // @TODO not for first release
34
39
  // import Popover from "./ProductSetFormPopover";
35
40
 
41
+ const CATEGORIES_TYPE: Partial<Record<CategoryType, CategoryConfig>> = {
42
+ [CATEGORY_TYPES_NAMES.tickets]: {
43
+ label: 'tickets',
44
+ icon: <FaTicketAlt color='#0e8ce2' size={10} />,
45
+ },
46
+ [CATEGORY_TYPES_NAMES.bookings]: {
47
+ label: 'bookings',
48
+ icon: <FaCalendar color='#0e8ce2' size={10} />,
49
+ },
50
+ [CATEGORY_TYPES_NAMES.menuItems]: {
51
+ label: 'menuItems',
52
+ icon: <FaBars color='#0e8ce2' size={10} />,
53
+ },
54
+ [CATEGORY_TYPES_NAMES.game]: {
55
+ label: 'game',
56
+ icon: <FaBowlingBall color='#0e8ce2' size={10} />,
57
+ },
58
+ [CATEGORY_TYPES_NAMES.fixedDuration]: {
59
+ label: 'fixedDuration',
60
+ icon: <FaCalendar color='#0e8ce2' size={10} />,
61
+ },
62
+ }
63
+
36
64
  interface ProductCategoriesControlProps extends WithIsLoading {
37
65
  stepIndex: number
38
66
  isOverrides?: boolean
@@ -228,6 +256,8 @@ export function ProductCategoriesControl({
228
256
  setIsExpanded(productCategoryId)
229
257
  }
230
258
 
259
+ const categoryType = CATEGORIES_TYPE[productCategory.type]
260
+
231
261
  return (
232
262
  <Controller
233
263
  key={`product-category-${productCategory._id}`}
@@ -248,14 +278,14 @@ export function ProductCategoriesControl({
248
278
  cancelChanges={() => cancelChanges(index)}
249
279
  isInvalid={!!productCategoriesErrors}
250
280
  badge={
251
- <Badge className="category-badge">
281
+ <Badge className='category-badge'>
252
282
  {t('productCategory')}
253
283
  </Badge>
254
284
  }
255
285
  isIconInHeader={false}
256
286
  subTitle={
257
- <div className="product-set-badges-container">
258
- <div className="product-set-subtitle-dot product-set-subtitle-category-dot" />
287
+ <div className='product-set-badges-container'>
288
+ <div className='product-set-subtitle-dot product-set-subtitle-category-dot' />
259
289
  <span>
260
290
  {productCategoryState[
261
291
  productCategory?.id ?? productCategory.uniqueId
@@ -264,7 +294,7 @@ export function ProductCategoriesControl({
264
294
  </span>
265
295
  </div>
266
296
  }
267
- treeLineIconColor="#1A93AA"
297
+ treeLineIconColor='#1A93AA'
268
298
  modalLabel={t('addNewCategory')}
269
299
  secondaryBadge={getBadgeConfig(
270
300
  productCategory.type,
@@ -272,6 +302,12 @@ export function ProductCategoriesControl({
272
302
  )}
273
303
  modalClass={ProductSetModalClasses.category}
274
304
  isNewAdded={showCategoryModal}
305
+ itemButton={
306
+ <div className='btn-outline-primary item-icon sm border border-primary rounded-sm'>
307
+ {categoryType.icon}
308
+ <span className='ml-2'>{t(categoryType.label)}</span>
309
+ </div>
310
+ }
275
311
  body={
276
312
  <ProductCategoryControl
277
313
  isLoading={isLoading}
@@ -353,7 +389,7 @@ export function ProductCategoriesControl({
353
389
  )}
354
390
  />
355
391
  {showVenueMapSetError && (
356
- <div className="manual-form-error">
392
+ <div className='manual-form-error'>
357
393
  {venueMapSetIdError &&
358
394
  t('Validation:fieldRequired', {
359
395
  attribute: t('Design:venueMapSet'),
@@ -373,7 +409,7 @@ export function ProductCategoriesControl({
373
409
  </>
374
410
  )}
375
411
 
376
- <div className="manual-form-error">
412
+ <div className='manual-form-error'>
377
413
  {productCategoriesErrors && productCategoriesErrors.message}
378
414
  </div>
379
415
  </>
@@ -1,4 +1,4 @@
1
- import { useEffect } from 'react'
1
+ import { useEffect, useState } from 'react'
2
2
  import { FormValues } from '@licklist/plugins/dist/types/services/Form/hook-form-service'
3
3
  import { Button, Form, Col, Row } from 'react-bootstrap'
4
4
  import { FormProvider, useForm } from 'react-hook-form'
@@ -22,16 +22,21 @@ import { Step } from '../types'
22
22
  import { ProductSetContextProvider, ProductSetLoadingContext } from './context'
23
23
  import { SelectItem } from '../../types/generic/SelectItem'
24
24
  import { checkAvailableTimesErrors, getFilteredTemplates } from '../utils'
25
+ import { ErrorModal } from '../../iframe/order-process/components/ErrorModal'
25
26
 
26
27
  export interface WithIsLoading {
27
28
  isLoading: boolean
28
29
  }
30
+ export interface WithIdOptional {
31
+ id?: number
32
+ }
33
+
29
34
  export interface WithId {
30
35
  id: number
31
36
  }
32
37
  export interface ProductSetFormValues
33
38
  extends FormValues,
34
- WithId,
39
+ WithIdOptional,
35
40
  ProductSetControlValues {
36
41
  steps: Step[]
37
42
  isOverrides?: boolean
@@ -84,6 +89,7 @@ export function ProductSetForm({
84
89
  onApproveDialog,
85
90
  onDeclineDialog,
86
91
  } = useDialogContext()
92
+ const [errorMessage, setErrorMessage] = useState('')
87
93
 
88
94
  const form = useForm<ProductSetFormValues>({
89
95
  defaultValues,
@@ -121,6 +127,9 @@ export function ProductSetForm({
121
127
  if (!serverErrors) {
122
128
  return
123
129
  }
130
+ if (Array.isArray(serverErrors) && serverErrors[0]) {
131
+ setErrorMessage(serverErrors[0])
132
+ }
124
133
  FormErrorService.handleServerErrors(serverErrors, setError)
125
134
  }, [serverErrors, setError])
126
135
 
@@ -156,6 +165,12 @@ export function ProductSetForm({
156
165
  onDecline={onDeclineDialog}
157
166
  />
158
167
 
168
+ <ErrorModal
169
+ message={errorMessage}
170
+ isOpen={!!errorMessage}
171
+ onClose={() => setErrorMessage('')}
172
+ />
173
+
159
174
  <FormProvider {...form}>
160
175
  <Form onSubmit={form.handleSubmit(submitHandler(onSubmitAndRedirect))}>
161
176
  <ProductSetLoadingContext.Consumer>
@@ -185,13 +200,13 @@ export function ProductSetForm({
185
200
  <Row>
186
201
  <Col md={6} sm={12} />
187
202
  <Col
188
- className="product-set-save-btn-wrapper p-0 pl-4 d-flex mw-100"
203
+ className='product-set-save-btn-wrapper p-0 pl-4 d-flex mw-100'
189
204
  md={6}
190
205
  sm={12}
191
206
  >
192
207
  {onSubmitNoRedirect && (
193
208
  <Button
194
- className="product-set-save-btn mt-5 ml-5 d-no dne d-md-block"
209
+ className='product-set-save-btn mt-5 ml-5 d-no dne d-md-block'
195
210
  onClick={form.handleSubmit(
196
211
  submitHandler(onSubmitNoRedirect),
197
212
  )}
@@ -203,8 +218,8 @@ export function ProductSetForm({
203
218
  </Button>
204
219
  )}
205
220
  <Button
206
- className="product-set-save-btn mt-5 ml-5 d-no dne d-md-block"
207
- type="submit"
221
+ className='product-set-save-btn mt-5 ml-5 d-no dne d-md-block'
222
+ type='submit'
208
223
  disabled={
209
224
  isLoading || contextIsLoading || !formValues.name
210
225
  }
@@ -14,18 +14,18 @@ function ProductSetFormPopover({ className = '' }: ProductSetFormPopoverProps) {
14
14
 
15
15
  return (
16
16
  <ProductSetPopover
17
- placement="bottom"
17
+ placement='bottom'
18
18
  ref={popoverRef}
19
19
  onClick={() => setIsVisible(true)}
20
20
  isVisible={isVisible}
21
21
  className={className}
22
22
  >
23
- <Tabs defaultActiveKey="first">
24
- <Tabs.Tab eventKey="first" title="Add item">
23
+ <Tabs defaultActiveKey='first'>
24
+ <Tabs.Tab eventKey='first' title='Add item'>
25
25
  <p>Add new sub product item</p>
26
26
  <p>Add new sub product modifier</p>
27
27
  </Tabs.Tab>
28
- <Tabs.Tab eventKey="second" title="Reusable subsets">
28
+ <Tabs.Tab eventKey='second' title='Reusable subsets'>
29
29
  <p>Add new sub product item 1</p>
30
30
  <p>Add new sub product modifier 2</p>
31
31
  </Tabs.Tab>
@@ -0,0 +1,27 @@
1
+ import { Form } from 'react-bootstrap'
2
+ import { useTranslation } from 'react-i18next'
3
+
4
+ export const ProductSetNameControl = ({
5
+ value,
6
+ onChange,
7
+ error,
8
+ }: {
9
+ value: string
10
+ onChange: (value: string) => void
11
+ error?: string
12
+ }) => {
13
+ const { t } = useTranslation(['Design'])
14
+ return (
15
+ <Form.Group>
16
+ <Form.Label>{t('Design:ProductSetName')}*</Form.Label>
17
+ <Form.Control
18
+ value={value}
19
+ maxLength={255}
20
+ onChange={(e) => onChange(e.target.value)}
21
+ placeholder={t('Design:placeholderProductSetName')}
22
+ isInvalid={Boolean(error)}
23
+ />
24
+ <Form.Control.Feedback type='invalid'>{error}</Form.Control.Feedback>
25
+ </Form.Group>
26
+ )
27
+ }
@@ -1,7 +1,4 @@
1
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2
- // @ts-nocheck
3
- import React, { useContext, useState } from 'react'
4
-
1
+ import { useContext, useState } from 'react'
5
2
  import {
6
3
  ArrayPath,
7
4
  Controller,
@@ -125,14 +122,14 @@ export const ProductZonesControl = <T extends FormValues>({
125
122
  id={String(productZones._id)}
126
123
  title={zones.find((zone) => zone.id === Number(value))?.name}
127
124
  badge={
128
- <Badge className="product-zone-badge">{t('productZone')}</Badge>
125
+ <Badge className='product-zone-badge'>{t('productZone')}</Badge>
129
126
  }
130
127
  isIconInHeader={false}
131
128
  cancelChanges={() => cancelChanges(index)}
132
129
  edit={() => edit(index)}
133
130
  subTitle={
134
- <div className="product-set-badges-container">
135
- <div className="product-set-subtitle-dot product-set-subtitle-product-dot" />
131
+ <div className='product-set-badges-container'>
132
+ <div className='product-set-subtitle-dot product-set-subtitle-product-dot' />
136
133
  <span>
137
134
  {zoneCapacity[index] &&
138
135
  `${t('Cap')}: ${zoneCapacity[index]}; `}
@@ -175,7 +172,7 @@ export const ProductZonesControl = <T extends FormValues>({
175
172
  }
176
173
  }}
177
174
  />
178
- <div className="manual-form-error">{productZonesError}</div>
175
+ <div className='manual-form-error'>{productZonesError}</div>
179
176
  </>
180
177
  )
181
178
  }
@@ -219,15 +219,15 @@ export function ProductsControl({
219
219
  title={value}
220
220
  isOverride={isOverrides}
221
221
  badge={
222
- <Badge className="product-badge">{t('product')}</Badge>
222
+ <Badge className='product-badge'>{t('product')}</Badge>
223
223
  }
224
224
  isIconInHeader={false}
225
225
  cancelChanges={() => cancelChanges(index)}
226
226
  edit={() => edit(index)}
227
227
  secondaryBadge={getBadgeConfig(categoryType, t(categoryType))}
228
228
  subTitle={
229
- <div className="product-set-badges-container">
230
- <div className="product-set-subtitle-dot product-set-subtitle-product-dot" />
229
+ <div className='product-set-badges-container'>
230
+ <div className='product-set-subtitle-dot product-set-subtitle-product-dot' />
231
231
  <span>
232
232
  {`£${prices[index]} ${t('each')} - ${t('qty')}:${
233
233
  !isUnlimitedQuantities[index]
@@ -295,7 +295,7 @@ export function ProductsControl({
295
295
  }
296
296
  }}
297
297
  />
298
- <div className="manual-form-error">
298
+ <div className='manual-form-error'>
299
299
  {categoryProductErrors && categoryProductErrors.message}
300
300
  </div>
301
301
  </>
@@ -25,7 +25,7 @@ import {
25
25
  } from 'react-icons/fa'
26
26
  import { ProductSetLoadingContext } from './context'
27
27
 
28
- const CATEGORY_TYPES_NAMES = {
28
+ export const CATEGORY_TYPES_NAMES = {
29
29
  menuItems: CATEGORY_TYPE_MENU_ITEMS,
30
30
  tickets: CATEGORY_TYPE_TICKETS,
31
31
  bookings: CATEGORY_TYPE_BOOKINGS,
@@ -33,31 +33,31 @@ const CATEGORY_TYPES_NAMES = {
33
33
  fixedDuration: CATEGORY_TYPE_FIXED_DURATION,
34
34
  } as const
35
35
 
36
- type CategoryConfig = { label: string; icon: ReactElement }
36
+ export type CategoryConfig = { label: string; icon: ReactElement }
37
37
 
38
38
  const MAIN_CATEGORIES: Partial<Record<CategoryType, CategoryConfig>> = {
39
39
  [CATEGORY_TYPES_NAMES.tickets]: {
40
40
  label: 'tickets',
41
- icon: <FaTicketAlt color="#0e8ce2" size={32} />,
41
+ icon: <FaTicketAlt color='#0e8ce2' size={32} />,
42
42
  },
43
43
  [CATEGORY_TYPES_NAMES.bookings]: {
44
44
  label: 'bookings',
45
- icon: <FaCalendar color="#0e8ce2" size={32} />,
45
+ icon: <FaCalendar color='#0e8ce2' size={32} />,
46
46
  },
47
47
  [CATEGORY_TYPES_NAMES.menuItems]: {
48
48
  label: 'menuItems',
49
- icon: <FaBars color="#0e8ce2" size={32} />,
49
+ icon: <FaBars color='#0e8ce2' size={32} />,
50
50
  },
51
51
  }
52
52
 
53
53
  const BOOKING_SUBCATEGORIES: Partial<Record<CategoryType, CategoryConfig>> = {
54
54
  [CATEGORY_TYPES_NAMES.game]: {
55
55
  label: 'game',
56
- icon: <FaBowlingBall color="#0e8ce2" size={32} />,
56
+ icon: <FaBowlingBall color='#0e8ce2' size={32} />,
57
57
  },
58
58
  [CATEGORY_TYPES_NAMES.fixedDuration]: {
59
59
  label: 'fixedDuration',
60
- icon: <FaCalendar color="#0e8ce2" size={32} />,
60
+ icon: <FaCalendar color='#0e8ce2' size={32} />,
61
61
  },
62
62
  }
63
63
 
@@ -102,18 +102,18 @@ export function SelectCategoryModal({
102
102
 
103
103
  return (
104
104
  <Modal
105
- size="lg"
105
+ size='lg'
106
106
  centered
107
107
  show={isVisible}
108
108
  onHide={onHide}
109
- className="p-3 border-0"
109
+ className='p-3 border-0'
110
110
  animation={false}
111
- contentClassName="rounded"
111
+ contentClassName='rounded'
112
112
  >
113
- <ModalHeader className="align-items-center border-0">
114
- <ModalTitle as="h5">{t('Design:selectCategory')}</ModalTitle>
113
+ <ModalHeader className='align-items-center border-0'>
114
+ <ModalTitle as='h5'>{t('Design:selectCategory')}</ModalTitle>
115
115
 
116
- <Button variant="danger" className="btn-sm rounded" onClick={onHide}>
116
+ <Button variant='danger' className='btn-sm rounded' onClick={onHide}>
117
117
  <FaTimes size={20} />
118
118
  </Button>
119
119
  </ModalHeader>
@@ -127,22 +127,22 @@ export function SelectCategoryModal({
127
127
  controls={false}
128
128
  >
129
129
  <Carousel.Item>
130
- <div className="d-flex flex-row flex-wrap p-4 justify-content-between mb-6">
130
+ <div className='d-flex flex-row flex-wrap p-4 justify-content-between mb-6'>
131
131
  {mainCategories.map((categoryType) => {
132
132
  const { label, icon } = MAIN_CATEGORIES[categoryType]
133
133
 
134
134
  return (
135
135
  <Col key={label}>
136
136
  <Button
137
- variant="outline-light"
138
- className="d-flex justify-content-center align-items-center flex-column w-100 py-6 rounded"
139
- role="button"
137
+ variant='outline-light'
138
+ className='d-flex justify-content-center align-items-center flex-column w-100 py-6 rounded'
139
+ role='button'
140
140
  tabIndex={0}
141
141
  onClick={() => categorySelectHandler(categoryType)}
142
142
  active={selectedCategory === categoryType}
143
143
  >
144
144
  {icon}
145
- <h6 className="text-dark mt-3">{t(label)}</h6>
145
+ <h6 className='text-dark mt-3'>{t(label)}</h6>
146
146
  </Button>
147
147
  </Col>
148
148
  )
@@ -150,22 +150,22 @@ export function SelectCategoryModal({
150
150
  </div>
151
151
  </Carousel.Item>
152
152
  <Carousel.Item>
153
- <div className="d-flex flex-row flex-wrap p-4 justify-content-between mb-6">
153
+ <div className='d-flex flex-row flex-wrap p-4 justify-content-between mb-6'>
154
154
  {bookingSubcategories.map((categoryType) => {
155
155
  const { label, icon } = BOOKING_SUBCATEGORIES[categoryType]
156
156
 
157
157
  return (
158
158
  <Col key={label}>
159
159
  <Button
160
- variant="outline-light"
161
- className="d-flex justify-content-center align-items-center flex-column w-100 py-6 rounded"
162
- role="button"
160
+ variant='outline-light'
161
+ className='d-flex justify-content-center align-items-center flex-column w-100 py-6 rounded'
162
+ role='button'
163
163
  tabIndex={0}
164
164
  onClick={() => categorySelectHandler(categoryType)}
165
165
  active={selectedCategory === categoryType}
166
166
  >
167
167
  {icon}
168
- <h6 className="text-dark mt-3">{t(label)}</h6>
168
+ <h6 className='text-dark mt-3'>{t(label)}</h6>
169
169
  </Button>
170
170
  </Col>
171
171
  )
@@ -176,7 +176,7 @@ export function SelectCategoryModal({
176
176
 
177
177
  {isBookingsSelected && (
178
178
  <Button
179
- size="sm"
179
+ size='sm'
180
180
  className={`carousel-control-button ${
181
181
  activeCarouselIndex ? 'left' : 'right'
182
182
  }`}