@licklist/design 0.69.4 → 0.69.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 (192) 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/utils/index.d.ts +8 -2
  4. package/dist/calendar/utils/index.d.ts.map +1 -1
  5. package/dist/calendar/utils/index.js +9 -21
  6. package/dist/date-time-button/DateContent.d.ts.map +1 -1
  7. package/dist/date-time-button/DateContent.js +3 -3
  8. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.d.ts +2 -1
  9. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.d.ts.map +1 -1
  10. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.js +3 -2
  11. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.d.ts +2 -1
  12. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.d.ts.map +1 -1
  13. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.js +31 -28
  14. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.d.ts +2 -1
  15. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.d.ts.map +1 -1
  16. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.js +14 -2
  17. package/dist/events/edit-event-modal/utils/getDefaultProductSet.d.ts.map +1 -1
  18. package/dist/events/edit-event-modal/utils/getDefaultProductSet.js +0 -1
  19. package/dist/events/event-card/utils.d.ts +1 -0
  20. package/dist/events/event-card/utils.d.ts.map +1 -1
  21. package/dist/events/event-card/utils.js +6 -2
  22. package/dist/iframe/activity-card/ActivityCard.d.ts +3 -1
  23. package/dist/iframe/activity-card/ActivityCard.d.ts.map +1 -1
  24. package/dist/iframe/activity-card/ActivityCard.js +8 -1
  25. package/dist/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.d.ts.map +1 -1
  26. package/dist/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.js +13 -0
  27. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts.map +1 -1
  28. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.js +2 -0
  29. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts.map +1 -1
  30. package/dist/iframe/ryft/RyftPaymentForm.d.ts +2 -2
  31. package/dist/iframe/ryft/RyftPaymentForm.d.ts.map +1 -1
  32. package/dist/iframe/ryft/RyftPaymentForm.js +8 -2
  33. package/dist/iframe/ryft/utils/ryft-form.d.ts +2 -1
  34. package/dist/iframe/ryft/utils/ryft-form.d.ts.map +1 -1
  35. package/dist/iframe/ryft/utils/ryft-form.js +20 -1
  36. package/dist/index.js +1 -0
  37. package/dist/layout/DropDown.d.ts +2 -1
  38. package/dist/layout/DropDown.d.ts.map +1 -1
  39. package/dist/modals/confirmation/ConfirmModal.d.ts +3 -1
  40. package/dist/modals/confirmation/ConfirmModal.d.ts.map +1 -1
  41. package/dist/modals/confirmation/ConfirmModal.js +172 -8
  42. package/dist/notification/email-template/control/EmailTemplateControl.d.ts.map +1 -1
  43. package/dist/notification/email-template/control/EmailTemplateControl.js +3 -0
  44. package/dist/product-set/card/ProductSetCard.d.ts +6 -2
  45. package/dist/product-set/card/ProductSetCard.d.ts.map +1 -1
  46. package/dist/product-set/card/ProductSetCard.js +20 -11
  47. package/dist/product-set/control/DateAndRecurrenceInput.d.ts.map +1 -1
  48. package/dist/product-set/control/DateAndRecurrenceInput.js +4 -3
  49. package/dist/product-set/control/DateInput.d.ts.map +1 -1
  50. package/dist/product-set/control/DateInput.js +2 -2
  51. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  52. package/dist/product-set/form/ProductCategoriesControl.js +48 -2
  53. package/dist/product-set/form/ProductSetForm.d.ts +4 -1
  54. package/dist/product-set/form/ProductSetForm.d.ts.map +1 -1
  55. package/dist/product-set/form/ProductSetForm.js +64 -1
  56. package/dist/product-set/form/ProductSetNameControl.d.ts +6 -0
  57. package/dist/product-set/form/ProductSetNameControl.d.ts.map +1 -0
  58. package/dist/product-set/form/ProductSetNameControl.js +35 -0
  59. package/dist/product-set/form/ProductZonesControl.d.ts.map +1 -1
  60. package/dist/product-set/form/ProductZonesControl.js +0 -2
  61. package/dist/product-set/form/ProductsControl.js +1 -0
  62. package/dist/product-set/form/SelectCategoryModal.d.ts +12 -0
  63. package/dist/product-set/form/SelectCategoryModal.d.ts.map +1 -1
  64. package/dist/product-set/form/SelectCategoryModal.js +1 -1
  65. package/dist/product-set/form/SubProductsControl.d.ts.map +1 -1
  66. package/dist/product-set/form/SubProductsControl.js +0 -3
  67. package/dist/product-set/form/VenueMapsControl.d.ts.map +1 -1
  68. package/dist/product-set/form/VenueMapsControl.js +0 -3
  69. package/dist/product-set/form/index.d.ts +1 -0
  70. package/dist/product-set/form/index.d.ts.map +1 -1
  71. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  72. package/dist/product-set/product/booking-management/ProductBookingManagementControl.d.ts.map +1 -1
  73. package/dist/product-set/product/booking-management/ProductBookingManagementControl.js +6 -0
  74. package/dist/product-set/product/deposit/ProductDepositControl.d.ts.map +1 -1
  75. package/dist/product-set/product/deposit/ProductDepositControl.js +3 -0
  76. package/dist/product-set/product/duration/ProductDurationControl.d.ts.map +1 -1
  77. package/dist/product-set/product/duration/ProductDurationControl.js +6 -0
  78. package/dist/product-set/product/price/ProductPriceControl.d.ts.map +1 -1
  79. package/dist/product-set/product/price/ProductPriceControl.js +3 -0
  80. package/dist/product-set/product/quantity/ProductQuantityConstantControl.d.ts.map +1 -1
  81. package/dist/product-set/product/quantity/ProductQuantityConstantControl.js +6 -0
  82. package/dist/product-set/product/quantity/ProductQuantityControl.d.ts.map +1 -1
  83. package/dist/product-set/product/quantity/ProductQuantityControl.js +6 -0
  84. package/dist/product-set/product/quantity/ProductQuantityRechargingControl.d.ts.map +1 -1
  85. package/dist/product-set/product/quantity/ProductQuantityRechargingControl.js +4 -1
  86. package/dist/product-set/product-category/ProductCategoryControl.d.ts.map +1 -1
  87. package/dist/product-set/product-category/ProductCategoryControl.js +12 -0
  88. package/dist/product-set/utils/index.d.ts +7 -0
  89. package/dist/product-set/utils/index.d.ts.map +1 -1
  90. package/dist/product-set/utils/index.js +10 -1
  91. package/dist/recurrence-input/RecurrenceEndInput.d.ts.map +1 -1
  92. package/dist/recurrence-input/RecurrenceEndInput.js +3 -0
  93. package/dist/recurring-date-picker-input/RecurrenceEndInput.d.ts.map +1 -1
  94. package/dist/resource/form/components/CapacityControl.d.ts.map +1 -1
  95. package/dist/resource/form/components/CapacityControl.js +3 -0
  96. package/dist/resource/form/components/SortControl.d.ts.map +1 -1
  97. package/dist/resource/form/components/SortControl.js +3 -0
  98. package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
  99. package/dist/sales/booking/results/components/ResultCard.js +0 -2
  100. package/dist/sales/coupon/control/CouponFormControl.d.ts.map +1 -1
  101. package/dist/sales/coupon/control/CouponFormControl.js +21 -0
  102. package/dist/setting/admin/PaymentFeeForm.d.ts.map +1 -1
  103. package/dist/setting/admin/PaymentFeeForm.js +16 -1
  104. package/dist/setting/dashboard/DashboardSettingForm.d.ts.map +1 -1
  105. package/dist/setting/dashboard/DashboardSettingForm.js +4 -1
  106. package/dist/snippet/snippet-template/preview/Preview.d.ts.map +1 -1
  107. package/dist/snippet/snippet-template/preview/Preview.js +6 -0
  108. package/dist/sortable-tree/SortableTreeItem.d.ts +2 -1
  109. package/dist/sortable-tree/SortableTreeItem.d.ts.map +1 -1
  110. package/dist/sortable-tree/SortableTreeItem.js +10 -4
  111. package/dist/static/CurrencyNumberInput.d.ts.map +1 -1
  112. package/dist/static/CurrencyNumberInput.js +3 -0
  113. package/dist/static/form-number-input/FormNumberInput.d.ts.map +1 -1
  114. package/dist/static/form-number-input/FormNumberInput.js +3 -0
  115. package/dist/static/number-input/NumberInput.d.ts.map +1 -1
  116. package/dist/static/number-input/NumberInput.js +3 -0
  117. package/dist/styles/availability-indicator/AvailabilityIndicator.scss +9 -0
  118. package/dist/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  119. package/dist/styles/product-set/ProductSetForm.scss +22 -0
  120. package/dist/styles/ryft-payment-form/RyftPaymentForm.scss +25 -0
  121. package/dist/styles/sales/BookingResults.scss +1 -1
  122. package/dist/typeahead/Typeahead.d.ts +5 -1
  123. package/dist/typeahead/Typeahead.d.ts.map +1 -1
  124. package/dist/typeahead/Typeahead.js +9 -2
  125. package/dist/zone/form/components/GameDurationControl.d.ts.map +1 -1
  126. package/dist/zone/form/components/GameDurationControl.js +3 -0
  127. package/dist/zone/form/components/SortControl.d.ts.map +1 -1
  128. package/dist/zone/form/components/SortControl.js +3 -0
  129. package/package.json +8 -7
  130. package/src/affiliate/form/AffiliateForm.tsx +1 -0
  131. package/src/auth/Login/LoginComponent.tsx +1 -1
  132. package/src/calendar/utils/index.ts +17 -26
  133. package/src/date-time-button/DateContent.tsx +3 -3
  134. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.tsx +3 -0
  135. package/src/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.tsx +88 -85
  136. package/src/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.tsx +11 -1
  137. package/src/events/edit-event-modal/utils/getDefaultProductSet.ts +0 -1
  138. package/src/events/event-card/utils.ts +5 -1
  139. package/src/iframe/activity-card/ActivityCard.tsx +6 -0
  140. package/src/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.tsx +9 -0
  141. package/src/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.tsx +1 -0
  142. package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +1 -0
  143. package/src/iframe/ryft/RyftPaymentForm.tsx +9 -4
  144. package/src/iframe/ryft/utils/ryft-form.ts +28 -2
  145. package/src/layout/DropDown.tsx +1 -1
  146. package/src/modals/confirmation/ConfirmModal.tsx +19 -3
  147. package/src/notification/email-template/control/EmailTemplateControl.tsx +1 -0
  148. package/src/product-set/card/ProductSetCard.tsx +32 -6
  149. package/src/product-set/control/DateAndRecurrenceInput.tsx +3 -1
  150. package/src/product-set/control/DateInput.tsx +2 -1
  151. package/src/product-set/form/ProductCategoriesControl.tsx +37 -1
  152. package/src/product-set/form/ProductSetForm.tsx +24 -2
  153. package/src/product-set/form/ProductSetNameControl.tsx +27 -0
  154. package/src/product-set/form/ProductZonesControl.tsx +1 -4
  155. package/src/product-set/form/SelectCategoryModal.tsx +2 -2
  156. package/src/product-set/form/SubProductsControl.tsx +0 -3
  157. package/src/product-set/form/VenueMapsControl.tsx +0 -3
  158. package/src/product-set/form/index.ts +1 -0
  159. package/src/product-set/product/ProductControl.tsx +0 -1
  160. package/src/product-set/product/advanced-options/AdvancedOptions.tsx +1 -1
  161. package/src/product-set/product/booking-management/ProductBookingManagementControl.tsx +2 -0
  162. package/src/product-set/product/deposit/ProductDepositControl.tsx +1 -0
  163. package/src/product-set/product/duration/ProductDurationControl.tsx +2 -0
  164. package/src/product-set/product/price/ProductPriceControl.tsx +1 -0
  165. package/src/product-set/product/quantity/ProductQuantityConstantControl.tsx +2 -0
  166. package/src/product-set/product/quantity/ProductQuantityControl.tsx +2 -0
  167. package/src/product-set/product/quantity/ProductQuantityRechargingControl.tsx +1 -0
  168. package/src/product-set/product-category/ProductCategoryControl.tsx +4 -0
  169. package/src/product-set/product-zone/ProductZoneControl.tsx +1 -1
  170. package/src/product-set/utils/index.ts +11 -0
  171. package/src/recurrence-input/RecurrenceEndInput.tsx +1 -0
  172. package/src/recurring-date-picker-input/RecurrenceEndInput.tsx +1 -0
  173. package/src/resource/form/components/CapacityControl.tsx +1 -0
  174. package/src/resource/form/components/SortControl.tsx +1 -0
  175. package/src/sales/booking/results/components/ResultCard.tsx +0 -2
  176. package/src/sales/coupon/control/CouponFormControl.tsx +7 -0
  177. package/src/setting/admin/PaymentFeeForm.tsx +5 -0
  178. package/src/setting/dashboard/DashboardSettingForm.tsx +1 -0
  179. package/src/snippet/snippet-template/preview/Preview.tsx +6 -0
  180. package/src/sortable-tree/SortableTreeItem.tsx +6 -0
  181. package/src/static/CurrencyNumberInput.tsx +1 -0
  182. package/src/static/form-number-input/FormNumberInput.tsx +1 -0
  183. package/src/static/number-input/NumberInput.tsx +1 -0
  184. package/src/styles/availability-indicator/AvailabilityIndicator.scss +9 -0
  185. package/src/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  186. package/src/styles/product-set/ProductSetForm.scss +22 -0
  187. package/src/styles/ryft-payment-form/RyftPaymentForm.scss +25 -0
  188. package/src/styles/sales/BookingResults.scss +1 -1
  189. package/src/typeahead/Typeahead.tsx +15 -1
  190. package/src/zone/form/components/GameDurationControl.tsx +1 -0
  191. package/src/zone/form/components/SortControl.tsx +1 -0
  192. package/yarn.lock +20 -62
@@ -216,6 +216,7 @@ export function ProductCategoryControl({
216
216
  step={1}
217
217
  value={value === null ? '' : value}
218
218
  onChange={onChange}
219
+ onWheel={(event) => event.currentTarget.blur()}
219
220
  isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
220
221
  `${fieldNamePrefix}.minSubItems` as const,
221
222
  errors,
@@ -288,6 +289,7 @@ export function ProductCategoryControl({
288
289
  name={name}
289
290
  value={value === null ? '' : value}
290
291
  onChange={onChange}
292
+ onWheel={(event) => event.currentTarget.blur()}
291
293
  isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
292
294
  `${fieldNamePrefix}.maxSubItems` as const,
293
295
  errors,
@@ -348,6 +350,7 @@ export function ProductCategoryControl({
348
350
  min={0}
349
351
  step={1}
350
352
  type='number'
353
+ onWheel={(event) => event.currentTarget.blur()}
351
354
  disabled={isOverride}
352
355
  isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
353
356
  `${fieldNamePrefix}.overallQuantity`,
@@ -530,6 +533,7 @@ export function ProductCategoryControl({
530
533
  step={1}
531
534
  value={value}
532
535
  onChange={onChange}
536
+ onWheel={(event) => event.currentTarget.blur()}
533
537
  isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
534
538
  `${fieldNamePrefix}.remainderExpireAfter` as const,
535
539
  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,
@@ -3,6 +3,7 @@ import { SmsTemplate } from '@licklist/core/dist/DataMapper/Notification/SmsTemp
3
3
  import { TFunction } from 'react-i18next'
4
4
  import { UseFormSetError } from 'react-hook-form'
5
5
  import { checkIfZoneCategory } from '@licklist/plugins'
6
+ import { ProductSet } from '@licklist/core/dist/DataMapper/Product/ProductSetDataMapper'
6
7
  import { TemplateItem } from '../control/ProductSetControl'
7
8
  import { ProductSetFormValues } from '../form/ProductSetForm'
8
9
 
@@ -12,6 +13,11 @@ interface CheckAvailableTimesErrors {
12
13
  t: TFunction
13
14
  }
14
15
 
16
+ export interface MenuTypeheadItem {
17
+ id: number
18
+ label: string
19
+ value: number
20
+ }
15
21
  export const moveArrayElements = <T>(
16
22
  array: T[],
17
23
  prevIndex: number,
@@ -83,3 +89,8 @@ export const checkAvailableTimesErrors = ({
83
89
  })
84
90
  return hasError
85
91
  }
92
+
93
+ export const getTypeHeadItemsFromMenus = (
94
+ menus?: (ProductSet | ProductSetFormValues)[],
95
+ ): MenuTypeheadItem[] =>
96
+ menus?.map((menu) => ({ id: menu.id, value: menu.id, label: menu.name }))
@@ -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,
@@ -179,6 +179,7 @@ export const CouponFormControl = ({
179
179
  <Form.Label>{t('Design:discount')}</Form.Label>
180
180
  <Form.Control
181
181
  type='number'
182
+ onWheel={(event) => event.currentTarget.blur()}
182
183
  isInvalid={errors.discount !== undefined}
183
184
  {...register('discount', {
184
185
  required: t('Validation:fieldRequired', {
@@ -316,6 +317,7 @@ export const CouponFormControl = ({
316
317
  <Form.Control
317
318
  {...register('totalCoupons')}
318
319
  type='number'
320
+ onWheel={(event) => event.currentTarget.blur()}
319
321
  isInvalid={errors.totalCoupons !== undefined}
320
322
  disabled={isLoading}
321
323
  />
@@ -330,6 +332,7 @@ export const CouponFormControl = ({
330
332
  <Form.Control
331
333
  type='number'
332
334
  {...register('usesPerUser')}
335
+ onWheel={(event) => event.currentTarget.blur()}
333
336
  disabled={isLoading}
334
337
  />
335
338
  </Form.Group>
@@ -342,6 +345,7 @@ export const CouponFormControl = ({
342
345
  <Form.Control
343
346
  type='number'
344
347
  {...register('useAgain')}
348
+ onWheel={(event) => event.currentTarget.blur()}
345
349
  disabled={isLoading}
346
350
  />
347
351
  <Form.Text className='text-muted'>
@@ -355,6 +359,7 @@ export const CouponFormControl = ({
355
359
  <Form.Control
356
360
  type='number'
357
361
  {...register('usesPerUserDay')}
362
+ onWheel={(event) => event.currentTarget.blur()}
358
363
  disabled={isLoading}
359
364
  />
360
365
  <Form.Text className='text-muted'>
@@ -370,6 +375,7 @@ export const CouponFormControl = ({
370
375
  <Form.Control
371
376
  type='number'
372
377
  {...register('minAmount')}
378
+ onWheel={(event) => event.currentTarget.blur()}
373
379
  disabled={isLoading}
374
380
  />
375
381
  <Form.Text className='text-muted'>
@@ -383,6 +389,7 @@ export const CouponFormControl = ({
383
389
  <Form.Control
384
390
  type='number'
385
391
  {...register('maxAmount')}
392
+ onWheel={(event) => event.currentTarget.blur()}
386
393
  disabled={isLoading}
387
394
  />
388
395
  <Form.Text className='text-muted'>
@@ -74,6 +74,7 @@ export function PaymentFeeForm({ isLoading = false }: PaymentFeeFormProps) {
74
74
  max={100}
75
75
  step='1'
76
76
  placeholder='0'
77
+ onWheel={(event) => event.currentTarget.blur()}
77
78
  {...register('feeInPercent', {
78
79
  validate: {
79
80
  moreThan: (v) => (v ? v >= 0 : true),
@@ -129,6 +130,7 @@ export function PaymentFeeForm({ isLoading = false }: PaymentFeeFormProps) {
129
130
  max={999999.99}
130
131
  step='0.01'
131
132
  placeholder='0,00'
133
+ onWheel={(event) => event.currentTarget.blur()}
132
134
  isInvalid={Boolean(errors.minFeeInPounds)}
133
135
  disabled={isLoading}
134
136
  />
@@ -174,6 +176,7 @@ export function PaymentFeeForm({ isLoading = false }: PaymentFeeFormProps) {
174
176
  max={999999.99}
175
177
  step='0.01'
176
178
  placeholder='0,00'
179
+ onWheel={(event) => event.currentTarget.blur()}
177
180
  isInvalid={Boolean(errors.maxFeeInPounds)}
178
181
  disabled={isLoading}
179
182
  />
@@ -231,6 +234,7 @@ export function PaymentFeeForm({ isLoading = false }: PaymentFeeFormProps) {
231
234
  max={100}
232
235
  step='1'
233
236
  placeholder='0'
237
+ onWheel={(event) => event.currentTarget.blur()}
234
238
  isInvalid={Boolean(errors.vatInPercent)}
235
239
  disabled={isLoading}
236
240
  />
@@ -276,6 +280,7 @@ export function PaymentFeeForm({ isLoading = false }: PaymentFeeFormProps) {
276
280
  max={999999.99}
277
281
  step='0.01'
278
282
  placeholder='0,00'
283
+ onWheel={(event) => event.currentTarget.blur()}
279
284
  isInvalid={Boolean(errors.fixedFee)}
280
285
  disabled={isLoading}
281
286
  />
@@ -178,6 +178,7 @@ export const DashboardSettingForm = ({
178
178
  <Form.Label>{t('metaPixelId')}</Form.Label>
179
179
  <Form.Control
180
180
  type='number'
181
+ onWheel={(event) => event.currentTarget.blur()}
181
182
  {...register('metaPixelId', {
182
183
  minLength: {
183
184
  value: 15,
@@ -307,6 +307,7 @@ export function Preview({
307
307
  productCategoryId: 57,
308
308
  productGroupId: null,
309
309
  availableQuantity: 980,
310
+ zoneId: null,
310
311
  name: 'Cofee',
311
312
  description: '',
312
313
  price: 15,
@@ -315,6 +316,8 @@ export function Preview({
315
316
  maxQuantity: 15,
316
317
  totalQuantity: 980,
317
318
  type: 'sale' as const,
319
+ capacity: 0,
320
+ duration: 0,
318
321
  weight: 0,
319
322
  isAvailable: true,
320
323
  isSoldOut: false,
@@ -333,6 +336,7 @@ export function Preview({
333
336
  productCategoryId: 57,
334
337
  productGroupId: null,
335
338
  availableQuantity: 980,
339
+ zoneId: null,
336
340
  name: 'Cofee 2',
337
341
  description: '',
338
342
  price: 15,
@@ -341,6 +345,8 @@ export function Preview({
341
345
  maxQuantity: 15,
342
346
  totalQuantity: 980,
343
347
  type: 'sale' as const,
348
+ capacity: 0,
349
+ duration: 0,
344
350
  weight: 0,
345
351
  isAvailable: true,
346
352
  isSoldOut: false,
@@ -33,6 +33,7 @@ export interface SortableTreeItemProps {
33
33
  body: ReactNode
34
34
  children?: ReactNode
35
35
  preItem?: ReactNode
36
+ itemButton?: ReactNode
36
37
  postItem?: ReactNode
37
38
  sortableItems?: string[]
38
39
  isExpanded?: boolean
@@ -82,6 +83,7 @@ export function SortableTreeItem({
82
83
  secondaryBadge,
83
84
  setIsExpanded,
84
85
  isOverride,
86
+ itemButton,
85
87
  }: SortableTreeItemProps) {
86
88
  const [expanded, setExpanded] = useState(isExpanded)
87
89
  const [isModalVisible, setIsModalVisible] = useState(isNewAdded)
@@ -287,9 +289,13 @@ export function SortableTreeItem({
287
289
  className={clsx(
288
290
  'sortable-tree-item-title',
289
291
  modalLabel && 'sortable-tree-product-set-element-title',
292
+ 'd-flex justify-content-between',
290
293
  )}
291
294
  >
292
295
  {title}
296
+ <div className='sortable-tree-item-subtitle'>
297
+ {itemButton}
298
+ </div>
293
299
  </span>
294
300
  {!expanded && (
295
301
  <span className='sortable-tree-item-subtitle'>
@@ -45,6 +45,7 @@ export const CurrencyNumberInput = forwardRef<
45
45
  disabled={disabled}
46
46
  value={value}
47
47
  onChange={onChange}
48
+ onWheel={(event) => event.currentTarget.blur()}
48
49
  ref={ref}
49
50
  {...props}
50
51
  />
@@ -75,6 +75,7 @@ export const FormNumberInput = ({
75
75
  type='number'
76
76
  step={step}
77
77
  disabled={disabled}
78
+ onWheel={(event) => event.currentTarget.blur()}
78
79
  isInvalid={HookFormService.isInvalid(fieldName, errors)}
79
80
  {...field}
80
81
  onChange={(event) => {
@@ -49,6 +49,7 @@ export function NumberInput({
49
49
  <div className={inputWrapperClasses}>
50
50
  <FormControl
51
51
  type='number'
52
+ onWheel={(event) => event.currentTarget.blur()}
52
53
  onChange={(e) => onChange(Number(e.target.value))}
53
54
  value={value}
54
55
  min={min}
@@ -15,3 +15,12 @@
15
15
  }
16
16
  }
17
17
  }
18
+
19
+
20
+
21
+ .activity-card {
22
+ .availability-indicator {
23
+ margin-top: 0.5rem;
24
+ justify-content: flex-start;
25
+ }
26
+ }
@@ -15,7 +15,7 @@ body[bkdt-scrollable='false'] .bkdt-mask {
15
15
  left: 0;
16
16
  width: 100%;
17
17
  height: 100%;
18
- z-index: 1000000;
18
+ z-index: 2147483646;
19
19
  background-color: rgba(0, 0, 0, 0.5);
20
20
  display: none;
21
21
  }
@@ -24,7 +24,7 @@ body[bkdt-scrollable='false'] .bkdt-mask {
24
24
  position: fixed;
25
25
  top: 0;
26
26
  left: 0;
27
- z-index: 1000001;
27
+ z-index: 2147483647;
28
28
  display: none;
29
29
  width: 100%;
30
30
  height: 100%;
@@ -15,10 +15,12 @@
15
15
  height: 2.5rem;
16
16
  border-width: 2px;
17
17
  padding: 2px;
18
+
18
19
  label,
19
20
  .btn-switch-indicator {
20
21
  border-radius: 0.375rem !important;
21
22
  }
23
+
22
24
  label {
23
25
  height: 2rem;
24
26
  }
@@ -34,6 +36,7 @@
34
36
  margin-top: 1.5rem;
35
37
  margin-bottom: 1.5rem;
36
38
  }
39
+
37
40
  @include media-breakpoint-down(sm) {
38
41
  padding: 1.5rem 1rem;
39
42
  margin-top: 0.5rem;
@@ -59,10 +62,21 @@
59
62
  background-color: #ffdbdb;
60
63
  color: #d52902;
61
64
  }
65
+
62
66
  .category-badge {
63
67
  background-color: #e8f4f6;
64
68
  color: #1a93aa;
65
69
  }
70
+
71
+ .item-icon {
72
+ display: flex;
73
+ justify-items: center;
74
+ align-items: center;
75
+ font-size: 0.65rem;
76
+ padding: 0.2rem;
77
+ margin-right: 1rem;
78
+ }
79
+
66
80
  .product-badge {
67
81
  background-color: #e9f5ea;
68
82
  color: #269b36;
@@ -75,10 +89,12 @@
75
89
 
76
90
  .product-set-mobile-modal {
77
91
  margin: 0;
92
+
78
93
  .modal-content {
79
94
  border-radius: 1rem 1rem 0 0;
80
95
  border-width: 0;
81
96
  margin: 0;
97
+
82
98
  .modal-body {
83
99
  padding: 1rem 0;
84
100
  }
@@ -100,18 +116,22 @@
100
116
  font-weight: 600;
101
117
  font-size: 0.625rem;
102
118
  }
119
+
103
120
  .product-set-subtitle-dot {
104
121
  margin-right: 0.375rem;
105
122
  width: 0.375rem;
106
123
  height: 0.375rem;
107
124
  border-radius: 3px;
108
125
  }
126
+
109
127
  .product-set-subtitle-category-dot {
110
128
  background-color: #269b36;
111
129
  }
130
+
112
131
  .product-set-subtitle-step-dot {
113
132
  background-color: #1a93aa;
114
133
  }
134
+
115
135
  .product-set-subtitle-product-dot {
116
136
  background-color: #269b36;
117
137
  }
@@ -156,6 +176,7 @@
156
176
  justify-self: flex-end;
157
177
  align-items: flex-end;
158
178
  }
179
+
159
180
  .small-badge {
160
181
  font-size: 0.5rem;
161
182
  height: 1rem;
@@ -163,6 +184,7 @@
163
184
  padding: 0 0.2rem;
164
185
  margin-bottom: 0.2rem;
165
186
  }
187
+
166
188
  .product-set-save-btn-wrapper {
167
189
  padding-left: 0 !important;
168
190
  display: flex;
@@ -14,6 +14,7 @@
14
14
 
15
15
  .navigation {
16
16
  display: block;
17
+
17
18
  @include media-breakpoint-down(sm) {
18
19
  padding: 0;
19
20
  }
@@ -23,6 +24,7 @@
23
24
  margin-left: 0;
24
25
  height: calc(100vh - 2rem);
25
26
  max-height: calc(100vh - 1rem);
27
+
26
28
  @include media-breakpoint-down(sm) {
27
29
  width: calc(100% - 2rem);
28
30
  max-width: unset;
@@ -69,9 +71,11 @@
69
71
  .left-block {
70
72
  min-height: 100%;
71
73
  }
74
+
72
75
  .right-block {
73
76
  margin: 0 auto;
74
77
  width: 100%;
78
+
75
79
  .children-wrapper {
76
80
  .accordion {
77
81
  .collapse {
@@ -85,6 +89,7 @@
85
89
  }
86
90
  }
87
91
  }
92
+
88
93
  ::-webkit-scrollbar {
89
94
  display: none;
90
95
  scrollbar-width: none;
@@ -97,6 +102,13 @@
97
102
  }
98
103
 
99
104
  .ryft-payment-form {
105
+ .form-disable-box {
106
+ display: none;
107
+ position: absolute;
108
+ width: 100%;
109
+ height: 100%;
110
+ }
111
+
100
112
  .submit-button-wrapper {
101
113
  margin: -1rem 0 1rem;
102
114
 
@@ -104,15 +116,18 @@
104
116
  width: 100%;
105
117
  }
106
118
  }
119
+
107
120
  #mobile-pay-divider-container {
108
121
  display: flex;
109
122
  position: relative;
110
123
  margin-bottom: 1rem;
124
+
111
125
  #mobile-pay-divider-text {
112
126
  margin-right: 1rem;
113
127
  font-size: 0.875rem;
114
128
  font-weight: 600;
115
129
  }
130
+
116
131
  #mobile-pay-divider {
117
132
  width: 100%;
118
133
  border-bottom: 1px #dfdfdf solid;
@@ -125,6 +140,7 @@
125
140
  border: none;
126
141
  margin-bottom: 0.5rem;
127
142
  text-align: left;
143
+
128
144
  :first-child {
129
145
  font-size: 1rem;
130
146
  font-weight: 600;
@@ -135,14 +151,17 @@
135
151
  margin-bottom: 0.5rem;
136
152
  }
137
153
  }
154
+
138
155
  .ryft-pay-grid {
139
156
  display: flex;
140
157
  flex-direction: column;
158
+
141
159
  .apple-pay-button {
142
160
  height: 2.5rem;
143
161
  margin-top: 1rem;
144
162
  }
145
163
  }
164
+
146
165
  .mobile-pay-title {
147
166
  display: block;
148
167
  font-weight: 600;
@@ -157,9 +176,14 @@
157
176
 
158
177
  @include media-breakpoint-up(md) {
159
178
  .ryft-payment-form,
179
+ .form-disable-box {
180
+ height: 50%;
181
+ top: 15rem;
182
+ }
160
183
  .iframe-payment-form {
161
184
  position: relative;
162
185
  max-height: 300px !important;
186
+
163
187
  .submit-button-wrapper {
164
188
  max-width: 15.5rem;
165
189
  }
@@ -171,6 +195,7 @@
171
195
  max-width: 15.5rem;
172
196
  margin-bottom: 1rem;
173
197
  }
198
+
174
199
  .ryft-pay-apple-pay-button {
175
200
  border-radius: 0.25rem;
176
201
  }
@@ -5,7 +5,7 @@
5
5
  flex-wrap: wrap;
6
6
 
7
7
  .result-card {
8
- height: 14.25rem;
8
+ height: 14rem;
9
9
  border: 1px solid $gray-400;
10
10
  max-width: calc(50% - 0.75rem);
11
11
  flex: 0 0 calc(50% - 0.75rem);
@@ -12,10 +12,13 @@ export interface TypeaheadProps {
12
12
  placeholder: string
13
13
  isRequired?: boolean
14
14
  name: string
15
+ value?: TypeaheadOptions
15
16
  isMultipleChoise?: boolean
16
17
  noOptionsMessage: string
17
18
  isInvalid?: boolean
18
19
  isCouponForm?: boolean
20
+ containerStyles?: CSSObjectWithLabel
21
+ onChangeValue?: (value: TypeaheadOptions) => void
19
22
  }
20
23
 
21
24
  function Typeahead({
@@ -24,6 +27,9 @@ function Typeahead({
24
27
  isRequired = false,
25
28
  isMultipleChoise,
26
29
  name = '',
30
+ value,
31
+ onChangeValue,
32
+ containerStyles,
27
33
  isCouponForm = false,
28
34
  noOptionsMessage = '',
29
35
  isInvalid,
@@ -53,15 +59,23 @@ function Typeahead({
53
59
  render={({ field }) => (
54
60
  <Select
55
61
  placeholder={placeholder}
56
- value={field.value}
62
+ value={value ?? field.value}
57
63
  isMulti={isMultipleChoise}
58
64
  styles={{
65
+ container: (base) => ({
66
+ ...base,
67
+ ...containerStyles,
68
+ }),
59
69
  control: (base) => ({
60
70
  ...base,
61
71
  ...getStyle(),
62
72
  }),
63
73
  }}
64
74
  onChange={(value) => {
75
+ if (onChangeValue) {
76
+ onChangeValue(value)
77
+ return
78
+ }
65
79
  field.onChange(value)
66
80
  }}
67
81
  options={options}
@@ -29,6 +29,7 @@ export const GameDurationControl = ({
29
29
  required: false,
30
30
  min: 1,
31
31
  })}
32
+ onWheel={(event) => event.currentTarget.blur()}
32
33
  placeholder={t('Design:duration')}
33
34
  isInvalid={Boolean(errors.defaultDuration)}
34
35
  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}