@licklist/design 0.71.16 → 0.71.18-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 (236) hide show
  1. package/dist/affiliate/form/AffiliateForm.d.ts.map +1 -1
  2. package/dist/auth/Layout/AuthNavComponent.d.ts.map +1 -1
  3. package/dist/auth/Login/LoginComponent.d.ts.map +1 -1
  4. package/dist/auth/Login/LoginComponent.js +2 -1
  5. package/dist/auth/Login/LoginFormComponent.d.ts.map +1 -1
  6. package/dist/auth/Logout/Logout.js +1 -0
  7. package/dist/auth/Register/RegisterComponent.d.ts.map +1 -1
  8. package/dist/auth/Register/RegisterFormComponent.d.ts.map +1 -1
  9. package/dist/auth/ResetPassword/ResetPasswordFormComponent.d.ts.map +1 -1
  10. package/dist/auth/Router.d.ts.map +1 -1
  11. package/dist/auth/Router.js +2 -0
  12. package/dist/calendar/utils/index.d.ts +1 -1
  13. package/dist/calendar/utils/index.d.ts.map +1 -1
  14. package/dist/events/edit-event-modal/component/SaleDeadline/SaleDeadline.d.ts.map +1 -1
  15. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.js +2 -1
  16. package/dist/events/edit-event-modal/utils/getDefaultProductSet.d.ts.map +1 -1
  17. package/dist/events/edit-event-modal/utils/getDefaultProductSet.js +0 -1
  18. package/dist/events/event-card/utils.d.ts.map +1 -1
  19. package/dist/events/event-statistic-modal/EventStatisticModal.d.ts +2 -1
  20. package/dist/events/event-statistic-modal/EventStatisticModal.d.ts.map +1 -1
  21. package/dist/events/event-statistic-modal/EventStatisticModal.js +2 -2
  22. package/dist/events/event-statistic-modal/hooks/useTableData.d.ts +1 -1
  23. package/dist/events/event-statistic-modal/hooks/useTableData.d.ts.map +1 -1
  24. package/dist/events/event-statistic-modal/hooks/useTableData.js +2 -1
  25. package/dist/events/event-statistic-modal/utils/index.d.ts.map +1 -1
  26. package/dist/events/event-venue-map/EventVenueMap.d.ts.map +1 -1
  27. package/dist/events/event-venue-map/EventVenueMap.js +1 -0
  28. package/dist/events/event-venue-map/hooks/useCanvasSize.d.ts.map +1 -1
  29. package/dist/events/event-venue-map/hooks/useCanvasSize.js +11 -4
  30. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts +1 -1
  31. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts.map +1 -1
  32. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.js +1 -2
  33. package/dist/iframe/order-process/components/BookingSummary/components/ProductSummary/ProductSummary.d.ts +1 -2
  34. package/dist/iframe/order-process/components/BookingSummary/components/ProductSummary/ProductSummary.d.ts.map +1 -1
  35. package/dist/iframe/order-process/components/BookingSummary/components/ProductSummary/ProductSummary.js +2 -2
  36. package/dist/iframe/order-process/components/BookingSummary/components/ProductsByMenuStep/ProductsByMenuStep.d.ts +1 -2
  37. package/dist/iframe/order-process/components/BookingSummary/components/ProductsByMenuStep/ProductsByMenuStep.d.ts.map +1 -1
  38. package/dist/iframe/order-process/components/BookingSummary/components/ProductsByMenuStep/ProductsByMenuStep.js +1 -2
  39. package/dist/iframe/order-process/components/BookingSummary/components/SummaryTotal/SummaryTotal.d.ts.map +1 -1
  40. package/dist/iframe/order-process/components/BookingSummary/components/SummaryTotal/SummaryTotal.js +13 -5
  41. package/dist/iframe/order-process/components/BookingSummary/utils/index.d.ts.map +1 -1
  42. package/dist/iframe/order-process/components/BookingSummary/utils/index.js +1 -1
  43. package/dist/iframe/order-process/components/CategoryProduct/CategoryProduct.d.ts.map +1 -1
  44. package/dist/iframe/order-process/components/CategoryProduct/CategoryProduct.js +1 -1
  45. package/dist/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.d.ts.map +1 -1
  46. package/dist/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.js +13 -0
  47. package/dist/iframe/page/components/PageBody/hooks/useResizePageBody.d.ts.map +1 -1
  48. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts.map +1 -1
  49. package/dist/iframe/payment/payment-page/PaymentPage.d.ts.map +1 -1
  50. package/dist/iframe/payment/payment-page/PaymentPage.js +3 -11
  51. package/dist/iframe/payment/payment-status-page/PaymentStatusPage.d.ts.map +1 -1
  52. package/dist/iframe/payment/payment-status-page/PaymentStatusPage.js +2 -2
  53. package/dist/iframe/ryft/RyftPaymentForm.js +1 -0
  54. package/dist/iframe/ryft/utils/ryft-form.d.ts.map +1 -1
  55. package/dist/iframe/ryft/utils/ryft-form.js +4 -5
  56. package/dist/index.js +1 -0
  57. package/dist/layout/DropDown.d.ts +2 -1
  58. package/dist/layout/DropDown.d.ts.map +1 -1
  59. package/dist/notification/email-template/card/EmailTemplateCard.d.ts.map +1 -1
  60. package/dist/notification/email-template/control/EmailTemplateControl.d.ts.map +1 -1
  61. package/dist/notification/email-template/control/EmailTemplateControl.js +3 -0
  62. package/dist/notification/sms-template/card/SmsTemplateCard.d.ts.map +1 -1
  63. package/dist/product-set/control/DateAndRecurrenceInput.d.ts.map +1 -1
  64. package/dist/product-set/control/DateInput.d.ts.map +1 -1
  65. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  66. package/dist/product-set/form/ProductCategoriesControl.js +48 -2
  67. package/dist/product-set/form/ProductSetForm.d.ts +4 -1
  68. package/dist/product-set/form/ProductSetForm.d.ts.map +1 -1
  69. package/dist/product-set/form/ProductSetForm.js +1 -1
  70. package/dist/product-set/form/ProductZonesControl.d.ts.map +1 -1
  71. package/dist/product-set/form/ProductZonesControl.js +0 -2
  72. package/dist/product-set/form/ProductsControl.js +1 -0
  73. package/dist/product-set/form/SelectCategoryModal.d.ts +12 -0
  74. package/dist/product-set/form/SelectCategoryModal.d.ts.map +1 -1
  75. package/dist/product-set/form/SelectCategoryModal.js +1 -1
  76. package/dist/product-set/form/SubProductsControl.d.ts.map +1 -1
  77. package/dist/product-set/form/SubProductsControl.js +0 -3
  78. package/dist/product-set/form/VenueMapsControl.d.ts +1 -1
  79. package/dist/product-set/form/VenueMapsControl.d.ts.map +1 -1
  80. package/dist/product-set/form/VenueMapsControl.js +0 -3
  81. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  82. package/dist/product-set/product/booking-management/ProductBookingManagementControl.d.ts.map +1 -1
  83. package/dist/product-set/product/booking-management/ProductBookingManagementControl.js +6 -0
  84. package/dist/product-set/product/deposit/ProductDepositControl.d.ts.map +1 -1
  85. package/dist/product-set/product/deposit/ProductDepositControl.js +3 -0
  86. package/dist/product-set/product/duration/ProductDurationControl.d.ts.map +1 -1
  87. package/dist/product-set/product/duration/ProductDurationControl.js +6 -0
  88. package/dist/product-set/product/price/ProductPriceControl.d.ts.map +1 -1
  89. package/dist/product-set/product/price/ProductPriceControl.js +3 -0
  90. package/dist/product-set/product/quantity/ProductQuantityConstantControl.d.ts.map +1 -1
  91. package/dist/product-set/product/quantity/ProductQuantityConstantControl.js +6 -0
  92. package/dist/product-set/product/quantity/ProductQuantityControl.d.ts.map +1 -1
  93. package/dist/product-set/product/quantity/ProductQuantityControl.js +6 -0
  94. package/dist/product-set/product/quantity/ProductQuantityRechargingControl.d.ts.map +1 -1
  95. package/dist/product-set/product/quantity/ProductQuantityRechargingControl.js +4 -1
  96. package/dist/product-set/product-category/ProductCategoryControl.d.ts.map +1 -1
  97. package/dist/product-set/product-category/ProductCategoryControl.js +12 -0
  98. package/dist/recurrence-input/RecurrenceEndInput.d.ts.map +1 -1
  99. package/dist/recurrence-input/RecurrenceEndInput.js +3 -0
  100. package/dist/recurring-date-picker-input/RecurrenceEndInput.d.ts.map +1 -1
  101. package/dist/report/ReportRunnerModal/ReportRunnerModal.js +1 -0
  102. package/dist/resource/form/components/CapacityControl.d.ts.map +1 -1
  103. package/dist/resource/form/components/CapacityControl.js +3 -0
  104. package/dist/resource/form/components/SortControl.d.ts.map +1 -1
  105. package/dist/resource/form/components/SortControl.js +3 -0
  106. package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
  107. package/dist/sales/booking/results/components/ResultCard.js +0 -2
  108. package/dist/sales/coupon/control/CouponFormControl.d.ts.map +1 -1
  109. package/dist/sales/coupon/control/CouponFormControl.js +21 -0
  110. package/dist/sales/life-time-sales/LifeTimeSalesChart.js +1 -0
  111. package/dist/sales/manual-booking/select-event/SelectEvent.js +1 -0
  112. package/dist/sales/manual-booking/select-menu/SelectMenu.js +1 -0
  113. package/dist/sales/manual-booking/summary/ManualBookingSummary.js +1 -0
  114. package/dist/setting/admin/AdminSettingForm.d.ts.map +1 -1
  115. package/dist/setting/admin/PaymentFeeForm.d.ts.map +1 -1
  116. package/dist/setting/admin/PaymentFeeForm.js +16 -1
  117. package/dist/setting/dashboard/DashboardSettingForm.d.ts.map +1 -1
  118. package/dist/setting/dashboard/DashboardSettingForm.js +4 -1
  119. package/dist/setting/dashboard/snippet-templates/card/SnippetTemplateCard.d.ts.map +1 -1
  120. package/dist/snippet/snippet-template/preview/Preview.d.ts.map +1 -1
  121. package/dist/snippet/snippet-template/preview/Preview.js +3 -1
  122. package/dist/sortable-tree/SortableTreeItem.d.ts +2 -1
  123. package/dist/sortable-tree/SortableTreeItem.d.ts.map +1 -1
  124. package/dist/sortable-tree/SortableTreeItem.js +10 -4
  125. package/dist/static/CurrencyNumberInput.d.ts.map +1 -1
  126. package/dist/static/CurrencyNumberInput.js +3 -0
  127. package/dist/static/date-range-input/utils/index.d.ts +1 -1
  128. package/dist/static/date-range-input/utils/index.d.ts.map +1 -1
  129. package/dist/static/form-number-input/FormNumberInput.d.ts.map +1 -1
  130. package/dist/static/form-number-input/FormNumberInput.js +3 -0
  131. package/dist/static/loader/FullScreenLoader.d.ts +8 -0
  132. package/dist/static/loader/FullScreenLoader.d.ts.map +1 -0
  133. package/dist/static/loader/FullScreenLoader.js +41 -0
  134. package/dist/static/loader/LoaderIndicator.d.ts +2 -3
  135. package/dist/static/loader/LoaderIndicator.d.ts.map +1 -1
  136. package/dist/static/loader/LoaderIndicator.js +4 -2
  137. package/dist/static/loader/index.d.ts +1 -0
  138. package/dist/static/loader/index.d.ts.map +1 -1
  139. package/dist/static/number-input/NumberInput.d.ts.map +1 -1
  140. package/dist/static/number-input/NumberInput.js +3 -0
  141. package/dist/styles/availability-indicator/AvailabilityIndicator.scss +1 -4
  142. package/dist/styles/date-time-button/DateTimeButton.scss +3 -1
  143. package/dist/styles/iframe-events/Calendar.scss +1 -1
  144. package/dist/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  145. package/dist/styles/product-set/ProductSetForm.scss +22 -0
  146. package/dist/styles/ryft-payment-form/RyftPaymentForm.scss +2 -4
  147. package/dist/styles/sales/BookingResults.scss +1 -1
  148. package/dist/styles/static/Loader.scss +9 -0
  149. package/dist/zone/form/components/GameDurationControl.d.ts.map +1 -1
  150. package/dist/zone/form/components/GameDurationControl.js +3 -0
  151. package/dist/zone/form/components/SortControl.d.ts.map +1 -1
  152. package/dist/zone/form/components/SortControl.js +3 -0
  153. package/package.json +9 -7
  154. package/src/affiliate/form/AffiliateForm.tsx +1 -0
  155. package/src/auth/Layout/AuthNavComponent.tsx +4 -0
  156. package/src/auth/Login/LoginComponent.tsx +3 -1
  157. package/src/auth/Login/LoginFormComponent.tsx +2 -0
  158. package/src/auth/Register/RegisterComponent.tsx +2 -0
  159. package/src/auth/Register/RegisterFormComponent.tsx +4 -0
  160. package/src/auth/ResetPassword/ResetPasswordFormComponent.tsx +4 -0
  161. package/src/auth/Router.tsx +2 -0
  162. package/src/calendar/Calendar.stories.tsx +2 -2
  163. package/src/calendar/utils/index.ts +1 -1
  164. package/src/events/edit-event-modal/component/SaleDeadline/SaleDeadline.tsx +9 -7
  165. package/src/events/edit-event-modal/utils/getDefaultProductSet.ts +0 -1
  166. package/src/events/event-card/utils.ts +10 -9
  167. package/src/events/event-statistic-modal/EventStatisticModal.tsx +3 -1
  168. package/src/events/event-statistic-modal/hooks/useTableData.tsx +2 -1
  169. package/src/events/event-statistic-modal/utils/index.ts +2 -1
  170. package/src/events/event-venue-map/EventVenueMap.tsx +1 -0
  171. package/src/events/event-venue-map/hooks/useCanvasSize.ts +5 -1
  172. package/src/iframe/order-process/components/BookingSummary/BookingSummary.tsx +0 -2
  173. package/src/iframe/order-process/components/BookingSummary/components/ProductSummary/ProductSummary.tsx +1 -6
  174. package/src/iframe/order-process/components/BookingSummary/components/ProductsByMenuStep/ProductsByMenuStep.tsx +0 -3
  175. package/src/iframe/order-process/components/BookingSummary/components/SummaryTotal/SummaryTotal.tsx +16 -10
  176. package/src/iframe/order-process/components/BookingSummary/utils/index.ts +11 -7
  177. package/src/iframe/order-process/components/CategoryProduct/CategoryProduct.tsx +4 -7
  178. package/src/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.tsx +9 -0
  179. package/src/iframe/page/components/PageBody/hooks/useResizePageBody.ts +1 -2
  180. package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +1 -0
  181. package/src/iframe/payment/payment-page/PaymentPage.tsx +7 -14
  182. package/src/iframe/payment/payment-status-page/PaymentStatusPage.tsx +19 -20
  183. package/src/iframe/ryft/utils/ryft-form.ts +6 -5
  184. package/src/layout/DropDown.tsx +1 -1
  185. package/src/notification/email-template/card/EmailTemplateCard.tsx +2 -0
  186. package/src/notification/email-template/control/EmailTemplateControl.tsx +1 -0
  187. package/src/notification/sms-template/card/SmsTemplateCard.tsx +2 -0
  188. package/src/product-set/control/DateAndRecurrenceInput.tsx +3 -4
  189. package/src/product-set/control/DateInput.tsx +3 -4
  190. package/src/product-set/form/ProductCategoriesControl.tsx +37 -1
  191. package/src/product-set/form/ProductSetForm.tsx +6 -2
  192. package/src/product-set/form/ProductZonesControl.tsx +1 -4
  193. package/src/product-set/form/SelectCategoryModal.tsx +2 -2
  194. package/src/product-set/form/SubProductsControl.tsx +0 -3
  195. package/src/product-set/form/VenueMapsControl.tsx +1 -4
  196. package/src/product-set/product/ProductControl.tsx +0 -1
  197. package/src/product-set/product/advanced-options/AdvancedOptions.tsx +1 -1
  198. package/src/product-set/product/booking-management/ProductBookingManagementControl.tsx +2 -0
  199. package/src/product-set/product/deposit/ProductDepositControl.tsx +1 -0
  200. package/src/product-set/product/duration/ProductDurationControl.tsx +2 -0
  201. package/src/product-set/product/price/ProductPriceControl.tsx +1 -0
  202. package/src/product-set/product/quantity/ProductQuantityConstantControl.tsx +2 -0
  203. package/src/product-set/product/quantity/ProductQuantityControl.tsx +2 -0
  204. package/src/product-set/product/quantity/ProductQuantityRechargingControl.tsx +1 -0
  205. package/src/product-set/product-category/ProductCategoryControl.tsx +4 -0
  206. package/src/product-set/product-zone/ProductZoneControl.tsx +1 -1
  207. package/src/recurrence-input/RecurrenceEndInput.tsx +1 -0
  208. package/src/recurring-date-picker-input/RecurrenceEndInput.tsx +1 -0
  209. package/src/resource/form/components/CapacityControl.tsx +1 -0
  210. package/src/resource/form/components/SortControl.tsx +1 -0
  211. package/src/sales/booking/results/components/ResultCard.tsx +0 -2
  212. package/src/sales/coupon/control/CouponFormControl.tsx +7 -0
  213. package/src/setting/admin/AdminSettingForm.tsx +4 -0
  214. package/src/setting/admin/PaymentFeeForm.tsx +5 -0
  215. package/src/setting/dashboard/DashboardSettingForm.tsx +1 -0
  216. package/src/setting/dashboard/snippet-templates/card/SnippetTemplateCard.tsx +2 -0
  217. package/src/snippet/snippet-template/preview/Preview.tsx +1 -2
  218. package/src/sortable-tree/SortableTreeItem.tsx +6 -0
  219. package/src/static/CurrencyNumberInput.tsx +1 -0
  220. package/src/static/date-range-input/utils/index.ts +1 -1
  221. package/src/static/form-number-input/FormNumberInput.tsx +1 -0
  222. package/src/static/loader/FullScreenLoader.tsx +16 -0
  223. package/src/static/loader/LoaderIndicator.tsx +6 -3
  224. package/src/static/loader/index.ts +1 -0
  225. package/src/static/number-input/NumberInput.tsx +1 -0
  226. package/src/styles/availability-indicator/AvailabilityIndicator.scss +1 -4
  227. package/src/styles/date-time-button/DateTimeButton.scss +3 -1
  228. package/src/styles/iframe-events/Calendar.scss +1 -1
  229. package/src/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  230. package/src/styles/product-set/ProductSetForm.scss +22 -0
  231. package/src/styles/ryft-payment-form/RyftPaymentForm.scss +2 -4
  232. package/src/styles/sales/BookingResults.scss +1 -1
  233. package/src/styles/static/Loader.scss +9 -0
  234. package/src/zone/form/components/GameDurationControl.tsx +1 -0
  235. package/src/zone/form/components/SortControl.tsx +1 -0
  236. package/yarn.lock +422 -367
@@ -132,13 +132,10 @@ export const CategoryProduct = ({
132
132
  </div>
133
133
  <div className='iframe-event__product-price-wrapper'>
134
134
  <span className='product-price'>
135
- {formatNumber(
136
- category.allowDeposits ? product?.deposit : product.price,
137
- {
138
- style: 'currency',
139
- currency: Config.Currency.GBP,
140
- },
141
- )}
135
+ {formatNumber(product.price, {
136
+ style: 'currency',
137
+ currency: Config.Currency.GBP,
138
+ })}
142
139
  </span>
143
140
  <ProductQuantityInput
144
141
  onChange={onChange}
@@ -89,6 +89,7 @@ export const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(
89
89
  <FormControl
90
90
  type='number'
91
91
  onChange={(e) => handleChangeValue(Number(e.target.value))}
92
+ onWheel={(event) => event.currentTarget.blur()}
92
93
  value={value}
93
94
  min={0}
94
95
  max={max}
@@ -101,6 +102,14 @@ export const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(
101
102
  <button
102
103
  type='button'
103
104
  onClick={handleArrowUpClick}
105
+ onWheel={(event) => event.currentTarget.blur()}
106
+ onFocus={(event) =>
107
+ event.target.addEventListener(
108
+ 'wheel',
109
+ (event) => event.preventDefault(),
110
+ { passive: false },
111
+ )
112
+ }
104
113
  className={`payment-number-input__btn-up ${
105
114
  plusButtonGreyedOut && 'disabled-number-input-button'
106
115
  }`}
@@ -69,8 +69,7 @@ export const useResizePageBody = () => {
69
69
  rightBlockHeight -
70
70
  CALENDAR_WRAPPER_HEIGHT,
71
71
  }
72
-
73
- }
72
+ }
74
73
  return {
75
74
  maxHeight:
76
75
  height -
@@ -61,6 +61,7 @@ const processedPaymentSummary = ({
61
61
  const total = calculateTotalPrice(order, externalPaymentDetail)
62
62
 
63
63
  const totalDiscount = calculateTotalDiscount(order.payments)
64
+
64
65
  let summaryItems: SummaryItem[] = [
65
66
  {
66
67
  translateKey: AMOUNT_TOTAL,
@@ -198,20 +198,13 @@ export const PaymentPage = ({
198
198
  )}
199
199
 
200
200
  {hasRemaingToPay && (
201
- <>
202
- <SummaryTotalBlock
203
- label={t('remaining')}
204
- amount={
205
- orderTotalAmountByFormValues -
206
- orderCartAmountByFormValues
207
- }
208
- />
209
-
210
- <SummaryTotalBlock
211
- label={t('total')}
212
- amount={orderTotalAmountByFormValues}
213
- />
214
- </>
201
+ <SummaryTotalBlock
202
+ label={t('remaining')}
203
+ amount={
204
+ orderTotalAmountByFormValues -
205
+ orderCartAmountByFormValues
206
+ }
207
+ />
215
208
  )}
216
209
 
217
210
  {isPaymentLinkWithRemainingToPay && (
@@ -59,20 +59,19 @@ export const PaymentStatusPage = ({
59
59
 
60
60
  if (isLoading) return <LoaderIndicator isLoaded={false} />
61
61
 
62
-
63
- const orderCartAmountByFormValues = cartSumByOrderProducts({
64
- orderProducts:
65
- bookingSummaryProps?.formValues &&
66
- Object.values(bookingSummaryProps?.formValues),
67
- });
68
- const orderTotalAmountByFormValues = cartSumByOrderProducts({
69
- orderProducts:
70
- bookingSummaryProps?.formValues &&
71
- Object.values(bookingSummaryProps?.formValues),
72
- isTotalSum: true,
73
- });
74
- const hasRemaingToPay =
75
- orderTotalAmountByFormValues > orderCartAmountByFormValues;
62
+ const orderCartAmountByFormValues = cartSumByOrderProducts({
63
+ orderProducts:
64
+ bookingSummaryProps?.formValues &&
65
+ Object.values(bookingSummaryProps?.formValues),
66
+ })
67
+ const orderTotalAmountByFormValues = cartSumByOrderProducts({
68
+ orderProducts:
69
+ bookingSummaryProps?.formValues &&
70
+ Object.values(bookingSummaryProps?.formValues),
71
+ isTotalSum: true,
72
+ })
73
+ const hasRemaingToPay =
74
+ orderTotalAmountByFormValues > orderCartAmountByFormValues
76
75
 
77
76
  // User can fill promocode only in iframe appcliation.
78
77
  // It didn't possible via payment link. This check will
@@ -81,9 +80,9 @@ const hasRemaingToPay =
81
80
  // For payment status page booking summary props can be empty
82
81
  // so we should also check for them
83
82
  const isCalculatedAmountGreaterThanOrderAmount =
84
- !hasRemaingToPay &&
85
- bookingSummaryProps &&
86
- orderCartAmountByFormValues > totalAmount;
83
+ !hasRemaingToPay &&
84
+ bookingSummaryProps &&
85
+ orderCartAmountByFormValues > totalAmount
87
86
 
88
87
  return (
89
88
  <Page
@@ -140,7 +139,7 @@ const hasRemaingToPay =
140
139
  <>
141
140
  {isCalculatedAmountGreaterThanOrderAmount && (
142
141
  <SummaryTotalBlock
143
- label={t(hasRemaingToPay ? "payNow" : "total")}
142
+ label={t(hasRemaingToPay ? 'payNow' : 'total')}
144
143
  amount={
145
144
  orderCartAmountByFormValues +
146
145
  (bookingSummaryProps?.transactionFee || 0)
@@ -159,9 +158,9 @@ const hasRemaingToPay =
159
158
  (bookingSummaryProps?.transactionFee || 0)
160
159
  }
161
160
  />
162
- {hasRemaingToPay && (
161
+ {hasRemaingToPay && (
163
162
  <SummaryTotalBlock
164
- label={t("remaining")}
163
+ label={t('remaining')}
165
164
  amount={
166
165
  orderTotalAmountByFormValues -
167
166
  orderCartAmountByFormValues
@@ -61,20 +61,22 @@ export const injectComponentsInRyftForm = ({
61
61
  divider.id = 'mobile-pay-divider'
62
62
  container.id = 'mobile-pay-divider-container'
63
63
  container.append(dividerText, divider)
64
- const payIframe = document.getElementById("ryft-pay-iframe");
64
+ const payIframe = document.getElementById('ryft-pay-iframe')
65
65
  if (payIframe) {
66
66
  const formBox = document.getElementById('form-disable-box')
67
67
  if (formBox) {
68
- formBox.style.display = isDisableButton ? "block" : "none"
68
+ formBox.style.display = isDisableButton ? 'block' : 'none'
69
69
  }
70
70
 
71
71
  const googleButton = document.getElementById(
72
72
  'gpay-button-online-api-id',
73
73
  ) as HTMLButtonElement
74
- const appleButton =document.getElementById("ryft-pay-apple-pay-button") as HTMLButtonElement
74
+ const appleButton = document.getElementById(
75
+ 'ryft-pay-apple-pay-button',
76
+ ) as HTMLButtonElement
75
77
  if (googleButton) {
76
78
  googleButton.disabled = isDisableButton
77
- googleButton.style.opacity = isDisableButton ? '1' : '0.6'
79
+ googleButton.style.opacity = !isDisableButton ? '1' : '0.6'
78
80
  }
79
81
  if (appleButton) {
80
82
  appleButton.disabled = isDisableButton
@@ -86,7 +88,6 @@ export const injectComponentsInRyftForm = ({
86
88
  const applePayButton = document.createElement('button')
87
89
  applePayButton.id = 'apple-pay'
88
90
  applePayButton.type = 'button'
89
- applePayButton.style.opacity = !isDisableButton ? '1' : '0.6'
90
91
  applePayButton.className = 'bg-dark btn btn-primary apple-pay-button'
91
92
  applePayButton.textContent = t('Events:payWithApple')
92
93
  applePayButton.onclick = onApplePayButtonClick
@@ -1,4 +1,4 @@
1
- import { forwardRef } from 'react'
1
+ import React, { forwardRef } from 'react'
2
2
 
3
3
  interface Props {
4
4
  children?: React.ReactNode | React.ReactNode[]
@@ -35,6 +35,8 @@ export function EmailTemplateCard({
35
35
  return (
36
36
  <div className='snippet-template-card'>
37
37
  <div className='snippet-template-card-header'>
38
+ {/* TODO fix issue react router types
39
+ @ts-expect-error */}
38
40
  <Link to={href}>{name}</Link>
39
41
  {hasPermission && Boolean(onRemove) && (
40
42
  <ConfirmModal
@@ -434,6 +434,7 @@ export const EmailTemplateControl = forwardRef(
434
434
  `templateOptionValues.${option?.id}.value`,
435
435
  )}
436
436
  type='number'
437
+ onWheel={(event) => event.currentTarget.blur()}
437
438
  placeholder={t(`Design:${option.name}`)}
438
439
  id={option.name + option.id}
439
440
  defaultValue={option.selectedValue || ''}
@@ -33,6 +33,8 @@ export function SmsTemplateCard({
33
33
  return (
34
34
  <div className='snippet-template-card'>
35
35
  <div className='snippet-template-card-header'>
36
+ {/* TODO fix issue react router types
37
+ @ts-expect-error */}
36
38
  <Link to={href}>{name}</Link>
37
39
  {hasPermission && Boolean(onRemove) && (
38
40
  <ConfirmModal
@@ -198,7 +198,8 @@ export const DateAndRecurrenceInput = ({
198
198
  move(prevIndex, nextIndex)
199
199
  }
200
200
 
201
- const errorMessage = errors.menuRecurrences?.message || errors.menuRecurrences?.root?.message
201
+ const errorMessage =
202
+ errors.menuRecurrences?.message || errors.menuRecurrences?.root?.message
202
203
 
203
204
  useEffect(() => {
204
205
  if (fields.length) {
@@ -308,9 +309,7 @@ export const DateAndRecurrenceInput = ({
308
309
  })}
309
310
  />
310
311
 
311
- <div className='manual-form-error'>
312
- {errorMessage}
313
- </div>
312
+ <div className='manual-form-error'>{errorMessage}</div>
314
313
  </div>
315
314
  </OverlayTrigger>
316
315
  </Form.Group>
@@ -195,7 +195,8 @@ export const DateInput = ({
195
195
  }, 100)
196
196
  }
197
197
 
198
- const errorMessage = errors.menuRecurrences?.message || errors.menuRecurrences?.root?.message
198
+ const errorMessage =
199
+ errors.menuRecurrences?.message || errors.menuRecurrences?.root?.message
199
200
 
200
201
  return (
201
202
  <Form.Group>
@@ -284,9 +285,7 @@ export const DateInput = ({
284
285
  })}
285
286
  />
286
287
 
287
- <div className='manual-form-error'>
288
- {errorMessage}
289
- </div>
288
+ <div className='manual-form-error'>{errorMessage}</div>
290
289
  </div>
291
290
  </OverlayTrigger>
292
291
  </Form.Group>
@@ -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
@@ -229,6 +257,8 @@ export function ProductCategoriesControl({
229
257
  setIsExpanded(productCategoryId)
230
258
  }
231
259
 
260
+ const categoryType = CATEGORIES_TYPE[productCategory.type]
261
+
232
262
  return (
233
263
  <Controller
234
264
  key={`product-category-${productCategory._id}`}
@@ -273,6 +303,12 @@ export function ProductCategoriesControl({
273
303
  )}
274
304
  modalClass={ProductSetModalClasses.category}
275
305
  isNewAdded={showCategoryModal}
306
+ itemButton={
307
+ <div className='btn-outline-primary item-icon sm border border-primary rounded-sm'>
308
+ {categoryType.icon}
309
+ <span className='ml-2'>{t(categoryType.label)}</span>
310
+ </div>
311
+ }
276
312
  body={
277
313
  <ProductCategoryControl
278
314
  isLoading={isLoading}
@@ -12,7 +12,7 @@ import { isEqual } from 'lodash'
12
12
  import { ProviderBookingManagementSetting } from '@licklist/core/dist/DataMapper/Provider/ProviderBookingManagementSettingDataMapper'
13
13
  import { Zone } from '@licklist/core/dist/DataMapper/Provider/ZoneDataMapper'
14
14
  import { WorkHour } from '@licklist/core/dist/DataMapper/Provider/WorkHourDataMapper'
15
- import { transformErrorToMessage } from '@licklist/plugins'
15
+ import { transformErrorToMessage } from '@licklist/plugins/dist/utils/error'
16
16
  import { Dialog, useDialogContext } from '../../modals/dialog'
17
17
  import {
18
18
  ProductSetControl,
@@ -28,12 +28,16 @@ import { ErrorModal } from '../../iframe/order-process/components/ErrorModal'
28
28
  export interface WithIsLoading {
29
29
  isLoading: boolean
30
30
  }
31
+ export interface WithIdOptional {
32
+ id?: number
33
+ }
34
+
31
35
  export interface WithId {
32
36
  id: number
33
37
  }
34
38
  export interface ProductSetFormValues
35
39
  extends FormValues,
36
- WithId,
40
+ WithIdOptional,
37
41
  ProductSetControlValues {
38
42
  steps: Step[]
39
43
  isOverrides?: boolean
@@ -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,
@@ -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,7 +33,7 @@ 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]: {
@@ -70,9 +70,6 @@ export function SubProductsControl({
70
70
  images: subProducts[index]?.images as Image[],
71
71
  }
72
72
  // @ts-expect-error TS2345
73
- // @TODO fix prod type error
74
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
75
- // @ts-ignore
76
73
  append(subProductCopy)
77
74
  }}
78
75
  />
@@ -3,9 +3,9 @@ import { Button } from 'react-bootstrap'
3
3
  import { VenueMap } from '@licklist/core/dist/DataMapper/Product/VenueMapDataMapper'
4
4
  import MediaService from '@licklist/plugins/dist/services/Media/MediaService'
5
5
  import { PointProduct } from '@licklist/core/dist/DataMapper/Product/PointProductDataMapper'
6
+ import { Product } from '@licklist/core/dist/DataMapper/Product/ProductDataMapper'
6
7
  import { FullscreenModal } from '../../modals/fullscreen'
7
8
  import { EventVenueMap } from '../../events/event-venue-map'
8
- import { Product } from '../types'
9
9
 
10
10
  type VenueMapsControlProps = {
11
11
  venueMaps?: VenueMap[]
@@ -46,9 +46,6 @@ export const VenueMapsControl = ({
46
46
  url={image.url}
47
47
  name={name}
48
48
  points={points}
49
- // @TODO fix prod type error
50
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
51
- // @ts-ignore
52
49
  products={products}
53
50
  pointProducts={pointProducts}
54
51
  onPointProductsChange={onPointProductsChange}
@@ -34,7 +34,6 @@ import {
34
34
  } from 'react-hook-form'
35
35
  import { useTranslation } from 'react-i18next'
36
36
  import { useImages } from '@licklist/plugins/dist/hooks/Media/useImages'
37
-
38
37
  import {
39
38
  Image,
40
39
  IMAGE_TYPE_IMAGE,
@@ -1,4 +1,4 @@
1
- import React, { useContext } from 'react'
1
+ import { useContext } from 'react'
2
2
  import { Col, Form } from 'react-bootstrap'
3
3
  import { Controller, Path, useFormContext } from 'react-hook-form'
4
4
  import { HookFormService } from '@licklist/plugins'
@@ -86,6 +86,7 @@ export function ProductBookingManagementControl<T extends FormValues>(
86
86
  <Form.Control
87
87
  ref={ref}
88
88
  type='number'
89
+ onWheel={(event) => event.currentTarget.blur()}
89
90
  min={0}
90
91
  step={1}
91
92
  value={value as string}
@@ -129,6 +130,7 @@ export function ProductBookingManagementControl<T extends FormValues>(
129
130
  <Form.Control
130
131
  ref={ref}
131
132
  type='number'
133
+ onWheel={(event) => event.currentTarget.blur()}
132
134
  min='0'
133
135
  step='1'
134
136
  value={value as string}
@@ -50,6 +50,7 @@ export function ProductDepositControl<T extends FormValues>(
50
50
  <Form.Control
51
51
  ref={ref}
52
52
  type='number'
53
+ onWheel={(event) => event.currentTarget.blur()}
53
54
  min={0}
54
55
  max={Number(totalPrice)}
55
56
  step='0.01'
@@ -91,6 +91,7 @@ export const ProductDurationControl = <T,>({
91
91
  <Form.Control
92
92
  type='number'
93
93
  min={0}
94
+ onWheel={(event) => event.currentTarget.blur()}
94
95
  step={1}
95
96
  value={durationHours}
96
97
  disabled={disabled}
@@ -127,6 +128,7 @@ export const ProductDurationControl = <T,>({
127
128
  type='number'
128
129
  min={0}
129
130
  step={1}
131
+ onWheel={(event) => event.currentTarget.blur()}
130
132
  disabled={disabled}
131
133
  value={durationMinutes}
132
134
  isInvalid={isInvalid}
@@ -59,6 +59,7 @@ export function ProductPriceControl<T extends FormValues>({
59
59
  ref={ref}
60
60
  type='number'
61
61
  min={0}
62
+ onWheel={(event) => event.currentTarget.blur()}
62
63
  max={999999.99}
63
64
  step='0.01'
64
65
  value={value as string}
@@ -111,6 +111,7 @@ export function ProductQuantityConstantControl<T extends FormValues>(
111
111
  type='number'
112
112
  min={0}
113
113
  step={1}
114
+ onWheel={(event) => event.currentTarget.blur()}
114
115
  value={value as string}
115
116
  isInvalid={HookFormService.isInvalid<T>(
116
117
  `${fieldNamePrefix}.totalQuantity` as Path<T>,
@@ -165,6 +166,7 @@ export function ProductQuantityConstantControl<T extends FormValues>(
165
166
  type='number'
166
167
  min={0}
167
168
  step={1}
169
+ onWheel={(event) => event.currentTarget.blur()}
168
170
  value={value as string}
169
171
  onChange={onChange}
170
172
  onFocus={onFocus}
@@ -85,6 +85,7 @@ export function ProductQuantityControl<T extends FormValues>(
85
85
  type='number'
86
86
  min={0}
87
87
  step={1}
88
+ onWheel={(event) => event.currentTarget.blur()}
88
89
  value={value as string}
89
90
  onChange={onChange}
90
91
  onFocus={onFocus}
@@ -143,6 +144,7 @@ export function ProductQuantityControl<T extends FormValues>(
143
144
  type='number'
144
145
  min={0}
145
146
  step={1}
147
+ onWheel={(event) => event.currentTarget.blur()}
146
148
  value={value && (value as string)}
147
149
  onFocus={onFocus}
148
150
  onChange={onChange}
@@ -69,6 +69,7 @@ export function ProductQuantityRechargingControl<T extends FormValues>(
69
69
  type='number'
70
70
  min={0}
71
71
  step={1}
72
+ onWheel={(event) => event.currentTarget.blur()}
72
73
  {...register(`${fieldNamePrefix}.totalQuantity` as Path<T>, {
73
74
  validate: (value) => {
74
75
  if (unlimited) return true
@@ -221,6 +221,7 @@ export function ProductCategoryControl({
221
221
  step={1}
222
222
  value={value === null ? '' : value}
223
223
  onChange={onChange}
224
+ onWheel={(event) => event.currentTarget.blur()}
224
225
  isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
225
226
  `${fieldNamePrefix}.minSubItems` as const,
226
227
  errors,
@@ -293,6 +294,7 @@ export function ProductCategoryControl({
293
294
  name={name}
294
295
  value={value === null ? '' : value}
295
296
  onChange={onChange}
297
+ onWheel={(event) => event.currentTarget.blur()}
296
298
  isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
297
299
  `${fieldNamePrefix}.maxSubItems` as const,
298
300
  errors,
@@ -353,6 +355,7 @@ export function ProductCategoryControl({
353
355
  min={0}
354
356
  step={1}
355
357
  type='number'
358
+ onWheel={(event) => event.currentTarget.blur()}
356
359
  disabled={isOverride}
357
360
  isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
358
361
  `${fieldNamePrefix}.overallQuantity`,
@@ -543,6 +546,7 @@ export function ProductCategoryControl({
543
546
  step={1}
544
547
  value={value}
545
548
  onChange={onChange}
549
+ onWheel={(event) => event.currentTarget.blur()}
546
550
  isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
547
551
  `${fieldNamePrefix}.remainderExpireAfter` as const,
548
552
  errors,
@@ -1,4 +1,4 @@
1
- import React, { useContext, useEffect, useMemo } from 'react'
1
+ import { useContext, useEffect, useMemo } from 'react'
2
2
  import { Col, Form, Row } from 'react-bootstrap'
3
3
  import {
4
4
  ArrayPath,
@@ -109,6 +109,7 @@ function RecurrenceEndInput({
109
109
  type='number'
110
110
  min={1}
111
111
  max={500}
112
+ onWheel={(event) => event.currentTarget.blur()}
112
113
  disabled={disabled || !count || count === 500}
113
114
  aria-label='Occurrence count'
114
115
  value={count ?? defaultOccurrences[frequency]}
@@ -91,6 +91,7 @@ function RecurrenceEndInput({
91
91
  type='number'
92
92
  min={1}
93
93
  max={500}
94
+ onWheel={(event) => event.currentTarget.blur()}
94
95
  disabled={disabled || !count || count === 500}
95
96
  aria-label='Occurrence count'
96
97
  value={count ?? defaultOccurrences[frequency]}
@@ -27,6 +27,7 @@ export const CapacityControl = ({ isLoading }: CapacityControlProps) => {
27
27
  required: true,
28
28
  min: 1,
29
29
  })}
30
+ onWheel={(event) => event.currentTarget.blur()}
30
31
  placeholder={t('Design:capacity')}
31
32
  isInvalid={Boolean(errors.capacity)}
32
33
  disabled={isLoading}
@@ -27,6 +27,7 @@ export const SortControl = ({ isLoading }: SortControlProps) => {
27
27
  required: false,
28
28
  min: 1,
29
29
  })}
30
+ onWheel={(event) => event.currentTarget.blur()}
30
31
  placeholder={t('Design:ordering')}
31
32
  isInvalid={Boolean(errors.sort)}
32
33
  disabled={isLoading}
@@ -20,8 +20,6 @@ export type ResultCardProps = {
20
20
  onCardClick?: (id: number) => void
21
21
  }
22
22
 
23
- // @TODO integrate when API will be available
24
- // activity and staff keys
25
23
  export const ResultCard = ({
26
24
  order,
27
25
  className,