@licklist/design 0.44.486-dev.19 → 0.44.486-dev.2

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 (165) hide show
  1. package/dist/collapsible-input-group/CollapsibleInputGroup.js +1 -1
  2. package/dist/date-time-button/DateTimeButton.js +1 -1
  3. package/dist/events/edit-event-modal/IntervalInput.d.ts.map +1 -1
  4. package/dist/events/edit-event-modal/IntervalInput.js +1 -1
  5. package/dist/events/event-venue-map/hooks/useImage.d.ts.map +1 -1
  6. package/dist/events/event-venue-map/hooks/useImage.js +1 -1
  7. package/dist/iframe/activity-cards/activity-card/ActivityCard.d.ts +12 -0
  8. package/dist/iframe/activity-cards/activity-card/ActivityCard.d.ts.map +1 -0
  9. package/dist/iframe/activity-cards/activity-card/ActivityCard.js +1 -0
  10. package/dist/iframe/activity-cards/index.d.ts +3 -0
  11. package/dist/iframe/activity-cards/index.d.ts.map +1 -0
  12. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.d.ts +12 -0
  13. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.d.ts.map +1 -0
  14. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.js +1 -0
  15. package/dist/iframe/event/event-calendar/EventCalendar.d.ts +3 -5
  16. package/dist/iframe/event/event-calendar/EventCalendar.d.ts.map +1 -1
  17. package/dist/iframe/event/event-calendar/EventCalendar.js +1 -1
  18. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.d.ts +2 -3
  19. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.d.ts.map +1 -1
  20. package/dist/iframe/event/event-calendar/components/CalendarDate/CalendarDate.js +1 -1
  21. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.d.ts +3 -5
  22. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.d.ts.map +1 -1
  23. package/dist/iframe/event/event-calendar/components/CalendarDates/CalendarDates.js +1 -1
  24. package/dist/iframe/index.d.ts +1 -1
  25. package/dist/iframe/index.d.ts.map +1 -1
  26. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts +1 -1
  27. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts.map +1 -1
  28. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.js +1 -1
  29. package/dist/iframe/order-process/components/BookingSummary/types/index.d.ts +0 -1
  30. package/dist/iframe/order-process/components/BookingSummary/types/index.d.ts.map +1 -1
  31. package/dist/iframe/order-process/components/BookingSummary/utils/index.d.ts.map +1 -1
  32. package/dist/iframe/order-process/components/BookingSummary/utils/index.js +1 -1
  33. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.d.ts +1 -1
  34. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.d.ts.map +1 -1
  35. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.js +1 -1
  36. package/dist/iframe/order-process/components/utils/useCategoryVerification.d.ts +2 -3
  37. package/dist/iframe/order-process/components/utils/useCategoryVerification.d.ts.map +1 -1
  38. package/dist/iframe/order-process/components/utils/useCategoryVerification.js +1 -1
  39. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.d.ts.map +1 -1
  40. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.js +1 -1
  41. package/dist/iframe/payment/order-items-table/hooks/useTableData.d.ts.map +1 -1
  42. package/dist/iframe/payment/order-items-table/hooks/useTableData.js +1 -1
  43. package/dist/iframe/payment/order-items-table/types/index.d.ts +1 -7
  44. package/dist/iframe/payment/order-items-table/types/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -1
  46. package/dist/notification/email-template/control/EmailTemplateControl.d.ts.map +1 -1
  47. package/dist/notification/email-template/control/EmailTemplateControl.js +1 -1
  48. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  49. package/dist/product-set/form/ProductCategoriesControl.js +1 -1
  50. package/dist/product-set/form/ProductsControl.d.ts +1 -3
  51. package/dist/product-set/form/ProductsControl.d.ts.map +1 -1
  52. package/dist/product-set/form/ProductsControl.js +1 -1
  53. package/dist/product-set/product/ProductControl.d.ts +1 -2
  54. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  55. package/dist/product-set/product/ProductControl.js +1 -1
  56. package/dist/product-set/product/duration/ProductDurationControl.js +1 -1
  57. package/dist/product-set/product-category/ProductCategoryControl.d.ts.map +1 -1
  58. package/dist/product-set/product-category/ProductCategoryControl.js +1 -1
  59. package/dist/provider/working-hours-input/WorkingHoursInputDescription.d.ts.map +1 -1
  60. package/dist/provider/working-hours-input/WorkingHoursInputDescription.js +1 -1
  61. package/dist/recurrence-input/RecurrenceEndInput.d.ts +1 -2
  62. package/dist/recurrence-input/RecurrenceEndInput.d.ts.map +1 -1
  63. package/dist/recurrence-input/RecurrenceEndInput.js +1 -1
  64. package/dist/recurrence-input/RecurrenceInput.d.ts +1 -2
  65. package/dist/recurrence-input/RecurrenceInput.d.ts.map +1 -1
  66. package/dist/recurrence-input/RecurrenceInput.js +1 -1
  67. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.d.ts +1 -4
  68. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.d.ts.map +1 -1
  69. package/dist/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.js +1 -1
  70. package/dist/snippet/snippet-template/preview/Preview.js +1 -1
  71. package/dist/static/CountryCodeSelect.d.ts.map +1 -1
  72. package/dist/static/CountryCodeSelect.js +1 -1
  73. package/dist/static/form-number-input/FormNumberInput.d.ts +1 -2
  74. package/dist/static/form-number-input/FormNumberInput.d.ts.map +1 -1
  75. package/dist/static/form-number-input/FormNumberInput.js +1 -1
  76. package/dist/styles/{activity-card/GridActivitiesCard.scss → iframe-customers-journey/ActivitiesCard.scss} +1 -1
  77. package/dist/styles/{activity-card/ListActivitiesCard.scss → iframe-customers-journey/ActivitiesSelectedCard.scss} +1 -2
  78. package/dist/styles/iframe-customers-journey/_index.scss +3 -0
  79. package/dist/styles/iframe-events/Calendar.scss +14 -14
  80. package/dist/styles/iframe-page/PageBody.scss +2 -3
  81. package/dist/styles/notification/Notification.scss +0 -4
  82. package/dist/styles/packages.scss +1 -2
  83. package/dist/styles/resources-blocking/_index.scss +0 -5
  84. package/dist/styles/themes/bookedit/_index.scss +0 -1
  85. package/dist/zone/form/components/AvailableTimesControl.d.ts.map +1 -1
  86. package/dist/zone/form/components/AvailableTimesControl.js +1 -1
  87. package/dist/zone/form/components/ZoneControl.d.ts.map +1 -1
  88. package/dist/zone/form/components/ZoneControl.js +1 -1
  89. package/dist/zone/form/components/ZoneRecurrencesControl.d.ts.map +1 -1
  90. package/dist/zone/form/components/ZoneRecurrencesControl.js +1 -1
  91. package/dist/zone/form/utils/dates.d.ts.map +1 -1
  92. package/dist/zone/form/utils/dates.js +1 -1
  93. package/package.json +1 -1
  94. package/src/collapsible-input-group/CollapsibleInputGroup.tsx +1 -1
  95. package/src/date-time-button/DateTimeButton.tsx +1 -1
  96. package/src/events/edit-event-modal/IntervalInput.tsx +0 -3
  97. package/src/events/event-venue-map/hooks/useImage.tsx +8 -17
  98. package/src/iframe/{activity-card → activity-cards/activity-card}/ActivityCard.stories.tsx +1 -24
  99. package/src/iframe/activity-cards/activity-card/ActivityCard.tsx +38 -0
  100. package/src/iframe/activity-cards/index.ts +2 -0
  101. package/src/iframe/activity-cards/list-activity-card/ListActivityCard.stories.tsx +52 -0
  102. package/src/iframe/activity-cards/list-activity-card/ListActivityCard.tsx +49 -0
  103. package/src/iframe/event/event-calendar/EventCalendar.stories.tsx +21 -20
  104. package/src/iframe/event/event-calendar/EventCalendar.tsx +3 -10
  105. package/src/iframe/event/event-calendar/components/CalendarDate/CalendarDate.tsx +2 -10
  106. package/src/iframe/event/event-calendar/components/CalendarDates/CalendarDates.tsx +2 -6
  107. package/src/iframe/index.ts +1 -1
  108. package/src/iframe/order-process/components/BookingSummary/BookingSummary.tsx +0 -2
  109. package/src/iframe/order-process/components/BookingSummary/types/index.ts +0 -1
  110. package/src/iframe/order-process/components/BookingSummary/utils/index.ts +0 -2
  111. package/src/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.tsx +2 -2
  112. package/src/iframe/order-process/components/utils/useCategoryVerification.ts +29 -28
  113. package/src/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.tsx +1 -6
  114. package/src/iframe/payment/order-items-table/hooks/useTableData.tsx +99 -11
  115. package/src/iframe/payment/order-items-table/types/index.ts +1 -18
  116. package/src/iframe/payment/payment-page/PaymentPage.tsx +4 -4
  117. package/src/notification/email-template/control/EmailTemplateControl.tsx +1 -26
  118. package/src/product-set/form/ProductCategoriesControl.tsx +0 -2
  119. package/src/product-set/form/ProductSetForm.stories.tsx +0 -1
  120. package/src/product-set/form/ProductsControl.tsx +0 -10
  121. package/src/product-set/product/ProductControl.tsx +8 -31
  122. package/src/product-set/product/duration/ProductDurationControl.tsx +1 -1
  123. package/src/product-set/product-category/ProductCategoryControl.tsx +5 -15
  124. package/src/provider/working-hours-input/WorkingHoursInputDescription.tsx +8 -10
  125. package/src/recurrence-input/RecurrenceEndInput.tsx +9 -27
  126. package/src/recurrence-input/RecurrenceInput.tsx +0 -3
  127. package/src/recurring-date-picker-input/RecurrenceIntervalAndFrequencyInput.tsx +13 -23
  128. package/src/static/CountryCodeSelect.tsx +5 -3
  129. package/src/static/form-number-input/FormNumberInput.tsx +1 -8
  130. package/src/styles/{activity-card/GridActivitiesCard.scss → iframe-customers-journey/ActivitiesCard.scss} +1 -1
  131. package/src/styles/{activity-card/ListActivitiesCard.scss → iframe-customers-journey/ActivitiesSelectedCard.scss} +1 -2
  132. package/src/styles/iframe-customers-journey/_index.scss +3 -0
  133. package/src/styles/iframe-events/Calendar.scss +14 -14
  134. package/src/styles/iframe-page/PageBody.scss +2 -3
  135. package/src/styles/notification/Notification.scss +0 -4
  136. package/src/styles/packages.scss +1 -2
  137. package/src/styles/resources-blocking/_index.scss +0 -5
  138. package/src/styles/themes/bookedit/_index.scss +0 -1
  139. package/src/typings.d.ts +0 -11
  140. package/src/zone/form/components/AvailableTimesControl.tsx +9 -4
  141. package/src/zone/form/components/ZoneControl.tsx +0 -2
  142. package/src/zone/form/components/ZoneRecurrencesControl.tsx +35 -27
  143. package/src/zone/form/utils/dates.ts +36 -29
  144. package/dist/iframe/activity-card/ActivityCard.d.ts +0 -17
  145. package/dist/iframe/activity-card/ActivityCard.d.ts.map +0 -1
  146. package/dist/iframe/activity-card/ActivityCard.js +0 -1
  147. package/dist/iframe/activity-card/index.d.ts +0 -2
  148. package/dist/iframe/activity-card/index.d.ts.map +0 -1
  149. package/dist/iframe/payment/order-items-table/types/index.js +0 -1
  150. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts +0 -3
  151. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts.map +0 -1
  152. package/dist/iframe/payment/order-items-table/utils/paymentSummary.js +0 -1
  153. package/dist/styles/activity-card/_index.scss +0 -2
  154. package/dist/styles/date-time-button/_index.scss +0 -1
  155. package/dist/zone/form/components/GameDurationControl.d.ts +0 -7
  156. package/dist/zone/form/components/GameDurationControl.d.ts.map +0 -1
  157. package/dist/zone/form/components/GameDurationControl.js +0 -1
  158. package/src/iframe/activity-card/ActivityCard.tsx +0 -77
  159. package/src/iframe/activity-card/index.ts +0 -1
  160. package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +0 -118
  161. package/src/styles/activity-card/_index.scss +0 -2
  162. package/src/styles/date-time-button/_index.scss +0 -1
  163. package/src/zone/form/components/GameDurationControl.tsx +0 -46
  164. /package/dist/styles/{date-time-button → iframe-customers-journey}/DateTimeButton.scss +0 -0
  165. /package/src/styles/{date-time-button → iframe-customers-journey}/DateTimeButton.scss +0 -0
@@ -1 +1 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var r=require("tslib"),t=e(require("react")),n=require("react-i18next"),a=require("react-bootstrap"),o=require("react-hook-form"),u=e(require("@licklist/plugins/dist/services/Form/HookFormService")),l=require("@react-aria/utils"),i=require("../../assets/dashboard/increment.svg.js");exports.FormNumberInput=function(e){var s=e.label,c=e.fieldName,m=e.step,d=void 0===m?1:m,p=e.rules,b=e.disabled,f=e.onChange,v=l.useId(),g=n.useTranslation("Validation").t,E=o.useFormContext(),F=E.control,C=E.setValue,q=E.formState.errors,I=o.useWatch({name:c}),N=function(e){return e.target.select()};return t.createElement(a.Form.Group,{controlId:v},t.createElement(a.Form.Label,null,s),t.createElement(a.InputGroup,{hasValidation:!0},t.createElement(a.InputGroup.Prepend,{className:"arrow-up-btn",onClick:function(){return C(c,Number(I)+1)}},t.createElement(a.InputGroup.Text,{className:"py-0 px-3"},t.createElement(i.ReactComponent,null))),t.createElement(o.Controller,{control:F,name:c,rules:r.__assign({min:{value:0,message:g("fieldMinNumber",{attribute:s,min:0})}},p),render:function(e){var n=e.field;return t.createElement(a.Form.Control,r.__assign({type:"number",step:d,disabled:b,isInvalid:u.isInvalid(c,q)},n,{onChange:function(e){f&&f(Number(e.target.value)),n.onChange(Number(e.target.value))},onFocus:N}))}}),t.createElement(a.Form.Control.Feedback,{type:"invalid"},u.getErrors(c,q))))};
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var r=require("tslib"),t=e(require("react")),n=require("react-i18next"),a=require("react-bootstrap"),o=require("react-hook-form"),u=e(require("@licklist/plugins/dist/services/Form/HookFormService")),i=require("@react-aria/utils"),l=require("../../assets/dashboard/increment.svg.js");exports.FormNumberInput=function(e){var s=e.label,c=e.fieldName,m=e.step,d=void 0===m?1:m,p=e.rules,b=e.disabled,f=i.useId(),v=n.useTranslation("Validation").t,g=o.useFormContext(),E=g.control,F=g.setValue,q=g.formState.errors,C=o.useWatch({name:c}),I=function(e){return e.target.select()};return t.createElement(a.Form.Group,{controlId:f},t.createElement(a.Form.Label,null,s),t.createElement(a.InputGroup,{hasValidation:!0},t.createElement(a.InputGroup.Prepend,{className:"arrow-up-btn",onClick:function(){return F(c,Number(C)+1)}},t.createElement(a.InputGroup.Text,{className:"py-0 px-3"},t.createElement(l.ReactComponent,null))),t.createElement(o.Controller,{control:E,name:c,rules:r.__assign({min:{value:0,message:v("fieldMinNumber",{attribute:s,min:0})}},p),render:function(e){var n=e.field;return t.createElement(a.Form.Control,r.__assign({type:"number",step:d,disabled:b,isInvalid:u.isInvalid(c,q)},n,{onChange:function(e){return n.onChange(Number(e.target.value))},onFocus:I}))}}),t.createElement(a.Form.Control.Feedback,{type:"invalid"},u.getErrors(c,q))))};
@@ -11,7 +11,7 @@
11
11
  word-wrap: break-word;
12
12
  background-color: #fff;
13
13
  font-size: 0.8rem;
14
- background-color: $snippet-product-set-background-color;
14
+ color: $snippet-elements-body-color;
15
15
 
16
16
  div {
17
17
  text-align: left;
@@ -6,9 +6,8 @@
6
6
  align-items: center;
7
7
  cursor: pointer;
8
8
  height: 5rem;
9
- padding: 0.375rem;
10
9
  border: 2px solid transparent;
11
- border-radius: 0.5rem;
10
+ border: 2px solid transparent;
12
11
  background-color: $snippet-product-set-background-color;
13
12
  color: $snippet-product-set-font-color;
14
13
  transition: $color-transition;
@@ -0,0 +1,3 @@
1
+ @import "./ActivitiesSelectedCard.scss";
2
+ @import "./ActivitiesCard.scss";
3
+ @import "./DateTimeButton.scss";
@@ -1,3 +1,4 @@
1
+
1
2
  .calendar-wrapper {
2
3
  display: flex;
3
4
 
@@ -20,7 +21,7 @@
20
21
  background-color: transparent;
21
22
  }
22
23
 
23
- &:focus {
24
+ &:focus{
24
25
  box-shadow: none;
25
26
  }
26
27
  }
@@ -72,9 +73,10 @@
72
73
  }
73
74
  }
74
75
 
76
+
77
+
75
78
  .calendar-dates-wrapper {
76
- .calendar-weekdays,
77
- .calendar-dates {
79
+ .calendar-weekdays, .calendar-dates {
78
80
  display: grid;
79
81
  grid-template-columns: repeat(7, auto);
80
82
  grid-gap: 0.5rem 1rem;
@@ -96,17 +98,17 @@
96
98
  margin-top: 0.75rem;
97
99
 
98
100
  .calendar-date {
101
+ height: 2rem;
99
102
  display: flex;
100
- flex-direction: column;
101
103
  align-items: center;
102
104
  justify-content: center;
103
- padding: 0.25rem;
105
+ padding: 0;
104
106
  border-radius: 0.25rem;
105
107
  background-color: $snippet-calendar-button-background-color;
106
108
  color: $snippet-calendar-button-font-color;
107
109
  font-size: 0.875rem;
108
110
  line-height: 1.3125rem;
109
- border: 1px solid $snippet-calendar-button-border-color;
111
+ border: 1px solid $snippet-calendar-button-border-color;;
110
112
 
111
113
  &.selected-date {
112
114
  background-color: $snippet-calendar-active-button-background-color;
@@ -136,7 +138,7 @@
136
138
  &:hover {
137
139
  border-color: $snippet-calendar-active-button-border-color;
138
140
  }
139
-
141
+
140
142
  &:focus {
141
143
  box-shadow: none;
142
144
  }
@@ -165,11 +167,11 @@
165
167
  justify-content: center;
166
168
  width: 3.75rem;
167
169
  height: 2.5rem;
168
- background-color: #f2f2f2;
170
+ background-color: #F2F2F2;
169
171
  color: $black;
170
172
  font-size: 0.75rem;
171
173
  border-radius: 0.25rem;
172
-
174
+
173
175
  &.selected-time {
174
176
  background-color: $blue;
175
177
  color: $white;
@@ -187,16 +189,14 @@
187
189
  flex-direction: column;
188
190
  align-items: center;
189
191
 
190
- .calendar,
191
- .start-time-wrapper {
192
+ .calendar, .start-time-wrapper {
192
193
  min-width: 20.75rem;
193
194
 
194
195
  .calendar-dates-wrapper {
195
- .calendar-weekdays,
196
- .calendar-dates {
196
+ .calendar-weekdays, .calendar-dates {
197
197
  grid-gap: 0.5rem;
198
198
  }
199
-
199
+
200
200
  .calendar-dates {
201
201
  .calendar-date {
202
202
  width: 2.5rem;
@@ -199,8 +199,7 @@
199
199
  color: $snippet-elements-button-color;
200
200
  border: none;
201
201
  background-color: $snippet-elements-button-background-color;
202
- box-shadow: 0 0 0 $input-btn-focus-width
203
- $snippet-elements-button-background-color;
202
+ box-shadow: 0 0 0 $input-btn-focus-width $snippet-elements-button-background-color;
204
203
  }
205
204
 
206
205
  &:disabled {
@@ -235,7 +234,7 @@
235
234
  font-weight: 500;
236
235
  border-radius: 0.25rem;
237
236
  font-size: 0.875rem;
238
- min-height: 2.25rem;
237
+ height: 2.25rem;
239
238
 
240
239
  &:focus {
241
240
  box-shadow: unset;
@@ -15,10 +15,6 @@
15
15
  display: none !important;
16
16
  }
17
17
  }
18
-
19
- &.is-invalid {
20
- border-color: theme-color("danger");
21
- }
22
18
  }
23
19
 
24
20
  .placeholder-row {
@@ -13,6 +13,7 @@
13
13
  @import "./static";
14
14
  @import "./table";
15
15
  @import "./back-button";
16
+ @import "./iframe-customers-journey";
16
17
  @import "./custom-fields";
17
18
  @import "./file-upload";
18
19
  @import "./iframe-events";
@@ -40,5 +41,3 @@
40
41
  @import "./striped-static-table/";
41
42
  @import "./image-radio-input/";
42
43
  @import "./radio-card/";
43
- @import "./activity-card/";
44
- @import "./date-time-button/";
@@ -7,11 +7,6 @@
7
7
  overflow: auto;
8
8
  }
9
9
 
10
- .modal-form-content {
11
- max-height: 21rem;
12
- overflow-x: auto;
13
- }
14
-
15
10
  .reccurrence-interval-container {
16
11
  .form-group {
17
12
  margin-bottom: 0.5rem;
@@ -46,7 +46,6 @@
46
46
  .header {
47
47
  background-color: color("white");
48
48
  padding: 0 2.5rem;
49
- z-index: 2;
50
49
  min-height: 4rem;
51
50
  border-bottom: 1px solid #f0f0f0;
52
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AvailableTimesControl.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/components/AvailableTimesControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAKN,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,eAAe,EAAW,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAGtF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM;QAAE,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9C,QAAQ,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;CAC/C,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IAAE,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvD,eAAO,MAAM,qBAAqB,6GA0FhC,CAAC"}
1
+ {"version":3,"file":"AvailableTimesControl.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/components/AvailableTimesControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAKN,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,eAAe,EAAW,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAItF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM;QAAE,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9C,QAAQ,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;CAC/C,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IAAE,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvD,eAAO,MAAM,qBAAqB,6GA8FhC,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("tslib"),t=require("react"),a=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,i=require("react-i18next"),l=require("react-bootstrap"),n=require("react-hook-form"),s=require("@react-aria/utils"),o=require("../utils/dates.js"),u=t.forwardRef((function(e,u){var c,m=e.isLoading,d=e.workHours,f=e.defaultValues,b=void 0===f?[]:f,v=s.useId(),g=i.useTranslation(["Design","Validation"]).t,p=n.useForm({mode:"onChange"}),h=p.register,E=p.formState.errors,k=p.reset,T=p.trigger,_=p.getValues,q=p.setValue,y=p.watch,C=p.setError,F=y("availableTimes")||[],V=t.useMemo((function(){return o.getCheckboxesByWorkHours(d)}),[d]);t.useImperativeHandle(u,(function(){return{trigger:T,getValues:_,setError:C}}));return t.useEffect((function(){b&&k({availableTimes:b})}),[b]),a.createElement(l.Form.Group,{controlId:v},a.createElement(l.Form.Label,null,g("Design:startTimes")),a.createElement("div",{className:"zone-available-times"},V.map((function(e){return a.createElement(l.Form.Check,{key:e,inline:!0,custom:!0,id:e},a.createElement(l.Form.Check.Input,{type:"checkbox",value:e,checked:F.includes(e),onChange:function(){return function(e){F.includes(e)?q("availableTimes",F.filter((function(r){return r!==e}))):q("availableTimes",r.__spreadArray(r.__spreadArray([],r.__read(F),!1),[e],!1))}(e)},disabled:m}),a.createElement(l.Form.Check.Label,null,e))}))),a.createElement(l.Form.Control,r.__assign({type:"hidden"},h("availableTimes",{required:{value:!0,message:g("Validation:fieldMinNumber",{attribute:g("startTimes"),min:1})}}))),a.createElement("div",{className:"manual-form-error"},null===(c=E.availableTimes)||void 0===c?void 0:c.message))}));exports.AvailableTimesControl=u;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("tslib"),t=require("react"),a=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,i=require("react-i18next"),l=require("react-bootstrap"),s=require("react-hook-form"),n=require("@react-aria/utils"),u=require("@licklist/plugins/dist/utils/time"),o=require("../utils/dates.js"),c=t.forwardRef((function(e,c){var m,d=e.isLoading,f=e.workHours,v=e.defaultValues,b=void 0===v?[]:v,g=n.useId(),p=i.useTranslation(["Design","Validation"]).t,h=s.useForm({mode:"onChange"}),T=h.register,k=h.formState.errors,E=h.reset,_=h.trigger,q=h.getValues,y=h.setValue,C=h.watch,F=h.setError,V=C("availableTimes")||[],x=t.useMemo((function(){return o.getCheckboxesByWorkHours(f)}),[f]);t.useImperativeHandle(c,(function(){return{trigger:_,getValues:q,setError:F}}));return t.useEffect((function(){b&&E({availableTimes:b})}),[b]),a.createElement(l.Form.Group,{controlId:g},a.createElement(l.Form.Label,null,p("Design:startTimes")),a.createElement("div",{className:"zone-available-times"},x.map((function(e){return a.createElement(l.Form.Check,{key:e,inline:!0,custom:!0,id:e},a.createElement(l.Form.Check.Input,{type:"checkbox",value:e,checked:V.includes(u.calculateTimeWithOffset(e)),onChange:function(){return function(e){var t=u.calculateTimeWithOffset(e);V.includes(t)?y("availableTimes",V.filter((function(e){return e!==t}))):y("availableTimes",r.__spreadArray(r.__spreadArray([],r.__read(V),!1),[t],!1))}(e)},disabled:d}),a.createElement(l.Form.Check.Label,null,e))}))),a.createElement(l.Form.Control,r.__assign({type:"hidden"},T("availableTimes",{required:{value:!0,message:p("Validation:fieldMinNumber",{attribute:p("startTimes"),min:1})}}))),a.createElement("div",{className:"manual-form-error"},null===(m=k.availableTimes)||void 0===m?void 0:m.message))}));exports.AvailableTimesControl=c;
@@ -1 +1 @@
1
- {"version":3,"file":"ZoneControl.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/components/ZoneControl.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAStF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,WAAW,8BAGrB,gBAAgB,gBA0BlB,CAAC"}
1
+ {"version":3,"file":"ZoneControl.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/components/ZoneControl.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAQtF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,WAAW,8BAGrB,gBAAgB,gBAyBlB,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("react"),o=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,t=require("react-bootstrap"),n=require("./NameControl.js"),l=require("./ZoneTypeControl.js"),a=require("./SortControl.js"),i=require("./ZoneRecurrencesControl.js"),s=require("./DescriptionControl.js"),m=require("./ZoneImageControl.js"),c=require("./GameDurationControl.js");exports.ZoneControl=function(e){var r=e.isLoading,u=e.workHours,C=void 0===u?[]:u;return o.createElement(t.Row,null,o.createElement(t.Col,{md:6,sm:12,className:"pr-5"},o.createElement(n.NameControl,{isLoading:r}),o.createElement(i.ZoneRecurrencesControl,{workHours:C,isLoading:r}),o.createElement("hr",null),o.createElement(t.Row,null,o.createElement(t.Col,{md:6,sm:6},o.createElement(l.ZoneTypeControl,{isLoading:r}),o.createElement(a.SortControl,{isLoading:r}),o.createElement(c.GameDurationControl,{isLoading:r})),o.createElement(t.Col,{md:6,sm:6},o.createElement(m.ZoneImageControl,{isLoading:r}))),o.createElement("hr",null),o.createElement(t.Row,null,o.createElement(t.Col,{md:12,sm:12},o.createElement(s.DescriptionControl,{isLoading:r})))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("react"),o=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,t=require("react-bootstrap"),n=require("./NameControl.js"),l=require("./ZoneTypeControl.js"),a=require("./SortControl.js"),i=require("./ZoneRecurrencesControl.js"),s=require("./DescriptionControl.js"),c=require("./ZoneImageControl.js");exports.ZoneControl=function(e){var r=e.isLoading,m=e.workHours,u=void 0===m?[]:m;return o.createElement(t.Row,null,o.createElement(t.Col,{md:6,sm:12,className:"pr-5"},o.createElement(n.NameControl,{isLoading:r}),o.createElement(i.ZoneRecurrencesControl,{workHours:u,isLoading:r}),o.createElement("hr",null),o.createElement(t.Row,null,o.createElement(t.Col,{md:6,sm:6},o.createElement(l.ZoneTypeControl,{isLoading:r}),o.createElement(a.SortControl,{isLoading:r})),o.createElement(t.Col,{md:6,sm:6},o.createElement(c.ZoneImageControl,{isLoading:r}))),o.createElement("hr",null),o.createElement(t.Row,null,o.createElement(t.Col,{md:12,sm:12},o.createElement(s.DescriptionControl,{isLoading:r})))))};
@@ -1 +1 @@
1
- {"version":3,"file":"ZoneRecurrencesControl.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/components/ZoneRecurrencesControl.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,kEAAkE,CAAC;AAMlG,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAiBtF,MAAM,WAAW,4BAA4B;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,8BAGhC,0BAA0B,gBA8O5B,CAAC"}
1
+ {"version":3,"file":"ZoneRecurrencesControl.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/components/ZoneRecurrencesControl.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,kEAAkE,CAAC;AAMlG,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAoBtF,MAAM,WAAW,4BAA4B;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,8BAGhC,0BAA0B,gBAmP5B,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("tslib"),t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,i=require("@licklist/core/dist/Config"),a=require("react-i18next"),o=require("react-bootstrap"),u=require("../../../static/Icon.js"),l=require("react-hook-form"),s=require("@react-aria/utils"),c=require("react-use"),d=require("luxon");require("../../../static/index.js");var m=require("@dnd-kit/core"),v=require("@dnd-kit/sortable"),f=require("../../../modals/confirmation/ConfirmModal.js"),g=require("../../../recurring-date-picker-input/RecurringDatePickerInput.js"),p=require("../../../product-set/control/DateAndRecurrenceInput.js"),T=require("./ZoneRecurrenceControl.js"),_=require("./AvailableTimesControl.js");exports.ZoneRecurrencesControl=function(e){var E,b,q=e.workHours,D=e.isLoading,R=void 0!==D&&D,x=l.useFormContext(),C=x.control,I=x.register,S=x.formState.errors,k=x.getValues,y=x.setValue,A=x.clearErrors,F=l.useFieldArray({name:"zoneRecurrences",control:C,keyName:"_id"}),M=F.fields,h=F.append,z=F.update,N=F.move,w=r.__read(t.useState(!1),2),O=w[0],j=w[1],V=r.__read(t.useState({index:null,values:null}),2),P=V[0],L=V[1],Z=function(){return L({index:null,values:null})},H=r.__read(t.useState([]),2),B=H[0],G=H[1],K=t.useRef(),W=t.useRef();c.useClickAway(K,(function(e){var r,t,n;f.CONFIRM_MODAL_ACTIONS.includes(null===(n=null===(t=null===(r=e.target)||void 0===r?void 0:r.attributes)||void 0===t?void 0:t.getNamedItem("data-id"))||void 0===n?void 0:n.value)||(j(!1),Z())}));var J=s.useId(),Q=a.useTranslation(["Design","Validation"]).t,U=function(){Z(),j((function(e){return!e}))};return t.useEffect((function(){M.length&&A("zoneRecurrences")}),[M,A]),n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,Q("zoneAvailable")),n.createElement(o.OverlayTrigger,{show:O,overlay:n.createElement(o.Popover,{id:J,className:"rounded"},n.createElement(o.Popover.Content,{className:"shadow-lg rounded",ref:K},n.createElement(g.RecurringDatePickerInput,{defaultValues:P.values,onChange:function(e){return r.__awaiter(void 0,void 0,void 0,(function(){var t,n,a,o,u,l,s;return r.__generator(this,(function(c){switch(c.label){case 0:return[4,null===(u=W.current)||void 0===u?void 0:u.trigger()];case 1:return c.sent()?!(null==e?void 0:e.startTime)||!(null==e?void 0:e.endTime)||(t=d.DateTime.fromISO(e.startTime),n=d.DateTime.fromISO(e.endTime),a=W.current.getValues().availableTimes,a.every((function(e){var r=d.DateTime.fromFormat(e,i.TIME_FORMAT);return r.diff(t,"minutes").minutes>=0&&r.diff(n,"minutes").minutes<=0})))?(o=r.__assign({rrule:e.rrule,startDate:e.startDate,endDate:e.endDate,startTime:e.startTime,endTime:e.endTime},W.current.getValues()),(null===(l=P.values)||void 0===l?void 0:l.id)&&(o.id=null===(s=P.values)||void 0===s?void 0:s.id),null!==P.index?z(P.index,o):h(o),j((function(){return!1})),Z(),[2]):(W.current.setError("availableTimes",{message:Q("Validation:fieldTimeBetween",{attribute:Q("Design:startTimesSmall"),min:t.toFormat(i.TIME_FORMAT),max:n.toFormat(i.TIME_FORMAT)})}),[2]):[2]}}))}))},onDelete:function(){var e=P.index;j(!1),Z(),setTimeout((function(){var r=k().zoneRecurrences;y("zoneRecurrences",(void 0===r?[]:r).filter((function(r,t){return t!==e})))}),100)},setInitialStartDateAfterSelect:!0},n.createElement(_.AvailableTimesControl,{workHours:q,isLoading:R,defaultValues:B,ref:W})))),trigger:"click",placement:"bottom",popperConfig:{modifiers:[p.sameWidthPopperModifier]}},n.createElement("div",{className:"zone-recurrences"},n.createElement(m.DndContext,{onDragEnd:function(e){var r=e.over,t=e.active;if(r.id!==t.id){var n=M.findIndex((function(e){return String(e._id)===t.id})),i=M.findIndex((function(e){return String(e._id)===r.id}));N(n,i)}}},n.createElement(v.SortableContext,{items:null!==(E=null==M?void 0:M.map((function(e){return String(e._id)})))&&void 0!==E?E:[],strategy:v.verticalListSortingStrategy},null==M?void 0:M.map((function(e,r){return n.createElement(T.ZoneRecurrenceControl,{key:e._id,zoneRecurrence:e,onEdit:function(){return function(e,r){Z(),L({index:r,values:e}),G(e.availableTimes||[]),j((function(){return!0}))}(e,r)}})})))),n.createElement("div",{className:"zone-recurrence-icon-wrapper",role:"button",tabIndex:0,onClick:U,onKeyDown:U},n.createElement(u.default,{type:"plus-circle",height:"1rem",className:"zone-recurrence-icon-add mr-2"}),Q("addDates")),n.createElement(o.Form.Control,r.__assign({type:"hidden"},I("zoneRecurrences",{required:{value:!0,message:Q("Validation:fieldMinNumber",{attribute:Q("dates"),min:1})}}))),n.createElement("div",{className:"manual-form-error"},null===(b=S.zoneRecurrences)||void 0===b?void 0:b.message))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("tslib"),t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,i=require("@licklist/core/dist/Config"),a=require("react-i18next"),o=require("react-bootstrap"),u=require("../../../static/Icon.js"),l=require("react-hook-form"),s=require("@react-aria/utils"),c=require("react-use"),d=require("luxon");require("../../../static/index.js");var m=require("@dnd-kit/core"),f=require("@dnd-kit/sortable"),v=require("../../../modals/confirmation/ConfirmModal.js"),g=require("../../../recurring-date-picker-input/RecurringDatePickerInput.js"),T=require("../../../product-set/control/DateAndRecurrenceInput.js"),_=require("@licklist/plugins/dist/utils/time"),p=require("./ZoneRecurrenceControl.js"),E=require("./AvailableTimesControl.js");exports.ZoneRecurrencesControl=function(e){var R,b,q=e.workHours,C=e.isLoading,D=void 0!==C&&C,I=l.useFormContext(),x=I.control,F=I.register,M=I.formState.errors,k=I.getValues,A=I.setValue,y=I.clearErrors,O=l.useFieldArray({name:"zoneRecurrences",control:x,keyName:"_id"}),S=O.fields,h=O.append,N=O.update,z=O.move,L=r.__read(t.useState(!1),2),w=L[0],j=L[1],V=r.__read(t.useState({index:null,values:null}),2),P=V[0],Z=V[1],H=function(){return Z({index:null,values:null})},U=r.__read(t.useState([]),2),W=U[0],B=U[1],G=t.useRef(),K=t.useRef();c.useClickAway(G,(function(e){var r,t,n;v.CONFIRM_MODAL_ACTIONS.includes(null===(n=null===(t=null===(r=e.target)||void 0===r?void 0:r.attributes)||void 0===t?void 0:t.getNamedItem("data-id"))||void 0===n?void 0:n.value)||(j(!1),H())}));var J=s.useId(),Q=a.useTranslation(["Design","Validation"]).t,X=function(){H(),j((function(e){return!e}))};return t.useEffect((function(){S.length&&y("zoneRecurrences")}),[S,y]),n.createElement(o.Form.Group,null,n.createElement(o.Form.Label,null,Q("zoneAvailable")),n.createElement(o.OverlayTrigger,{show:w,overlay:n.createElement(o.Popover,{id:J,className:"rounded"},n.createElement(o.Popover.Content,{className:"shadow-lg rounded",ref:G},n.createElement(g.RecurringDatePickerInput,{defaultValues:P.values,onChange:function(e){return r.__awaiter(void 0,void 0,void 0,(function(){var t,n,a,o,u,l,s;return r.__generator(this,(function(c){switch(c.label){case 0:return[4,null===(u=K.current)||void 0===u?void 0:u.trigger()];case 1:return c.sent()?(t=d.DateTime.fromFormat(e.startTime,i.TIME_FULL_FORMAT),n=d.DateTime.fromFormat(e.endTime,i.TIME_FULL_FORMAT),a=K.current.getValues().availableTimes,a.every((function(e){var r=d.DateTime.fromFormat(_.calculateTimeWithOffset(e,_.DIRECTION_TO_LOCAL),i.TIME_FORMAT);return r.diff(t,"minutes").minutes>=0&&r.diff(n,"minutes").minutes<=0}))?(o=r.__assign({rrule:e.rrule,startDate:e.startDate,endDate:e.endDate,startTime:e.startTime,endTime:e.endTime},K.current.getValues()),(null===(l=P.values)||void 0===l?void 0:l.id)&&(o.id=null===(s=P.values)||void 0===s?void 0:s.id),null!==P.index?N(P.index,o):h(o),j((function(){return!1})),H(),[2]):(K.current.setError("availableTimes",{message:Q("Validation:fieldTimeBetween",{attribute:Q("Design:startTimesSmall"),min:t.toFormat(i.TIME_FORMAT),max:n.toFormat(i.TIME_FORMAT)})}),[2])):[2]}}))}))},onDelete:function(){var e=P.index;j(!1),H(),setTimeout((function(){var r=k().zoneRecurrences;A("zoneRecurrences",(void 0===r?[]:r).filter((function(r,t){return t!==e})))}),100)},setInitialStartDateAfterSelect:!0},n.createElement(E.AvailableTimesControl,{workHours:q,isLoading:D,defaultValues:W,ref:K})))),trigger:"click",placement:"bottom",popperConfig:{modifiers:[T.sameWidthPopperModifier]}},n.createElement("div",{className:"zone-recurrences"},n.createElement(m.DndContext,{onDragEnd:function(e){var r=e.over,t=e.active;if(r.id!==t.id){var n=S.findIndex((function(e){return String(e._id)===t.id})),i=S.findIndex((function(e){return String(e._id)===r.id}));z(n,i)}}},n.createElement(f.SortableContext,{items:null!==(R=null==S?void 0:S.map((function(e){return String(e._id)})))&&void 0!==R?R:[],strategy:f.verticalListSortingStrategy},null==S?void 0:S.map((function(e,r){return n.createElement(p.ZoneRecurrenceControl,{key:e._id,zoneRecurrence:e,onEdit:function(){return function(e,r){H(),setTimeout((function(){Z({index:r,values:e}),B(e.availableTimes||[]),j((function(){return!0}))}),100)}(e,r)}})})))),n.createElement("div",{className:"zone-recurrence-icon-wrapper",role:"button",tabIndex:0,onClick:X,onKeyDown:X},n.createElement(u.default,{type:"plus-circle",height:"1rem",className:"zone-recurrence-icon-add mr-2"}),Q("addDates")),n.createElement(o.Form.Control,r.__assign({type:"hidden"},F("zoneRecurrences",{required:{value:!0,message:Q("Validation:fieldMinNumber",{attribute:Q("dates"),min:1})}}))),n.createElement("div",{className:"manual-form-error"},null===(b=M.zoneRecurrences)||void 0===b?void 0:b.message))))};
@@ -1 +1 @@
1
- {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/utils/dates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAOtF,eAAO,MAAM,qBAAqB,cACrB,MAAM,WACR,MAAM,6BAuChB,CAAC;AAEF,eAAO,MAAM,wBAAwB,eAAgB,QAAQ,EAAE,aA0C9D,CAAC"}
1
+ {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../../../src/zone/form/utils/dates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4DAA4D,CAAC;AAKtF,eAAO,MAAM,qBAAqB,cACrB,MAAM,WACR,MAAM,6BAgDhB,CAAC;AAEF,eAAO,MAAM,wBAAwB,eAAgB,QAAQ,EAAE,aA0C9D,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("@licklist/core/dist/Config"),t=require("luxon"),n=require("@licklist/core/dist/Services/Date"),a="00:00",o="23:59",u=function(a,o,u){void 0===u&&(u=5);for(var s=new Date,i=e.__read(a.split(n.TIME_SEPARATOR),2),d=i[0],_=i[1],l=e.__read(o.split(n.TIME_SEPARATOR),2),c=l[0],m=l[1],g=t.DateTime.now().setZone("UTC").set({year:s.getFullYear(),month:s.getMonth()+1,day:s.getDate(),hour:Number(d),minute:Number(_),second:0}),T=t.DateTime.now().setZone("UTC").set({year:s.getFullYear(),month:s.getMonth()+1,day:s.getDate(),hour:Number(c),minute:Number(m),second:0}),f=[g.toFormat(r.TIME_FORMAT)],p=0;T.diff(g,["minutes"]).minutes>=u;)g=g.plus({minutes:u}),f[p+=1]=g.toFormat(r.TIME_FORMAT);return f};exports.getCheckboxesByWorkHours=function(r){if(!r||!r.length)return u(a,o);var t=r.reduce((function(r,t){var n=t.start,a=t.end;return n&&a?e.__spreadArray(e.__spreadArray([],e.__read(r),!1),[{start:n,end:a}],!1):r}),[]);if(7!==t.length)return u(a,o);var n=t.reduce((function(r,t){var n=t.start,a=t.end;return e.__spreadArray(e.__spreadArray([],e.__read(r),!1),[n,a],!1)}),[]).sort((function(e,r){return e.localeCompare(r)}));return u(n[0]||a,n[n.length-1]||o)},exports.getTimeCheckboxRanges=u;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("@licklist/core/dist/Services/Date"),t="00:00",a="23:59",n=function(t,a,n){void 0===n&&(n=5);for(var i=new Date,u=e.__read(t.split(r.TIME_SEPARATOR),2),o=u[0],s=u[1],_=e.__read(a.split(r.TIME_SEPARATOR),2),l=_[0],d=_[1],c=r.datetime(i.getFullYear(),i.getMonth()+1,i.getDate(),Number(o),Number(s)),g=r.datetime(i.getFullYear(),i.getMonth()+1,i.getDate(),Number(l),Number(d)),p={0:c},f=0;g>=c;)c=new Date(c.getTime()+60*n*1e3),p[f+=1]=c;var v=Object.keys(p).map((function(t){var a=p[t];if(a<g){var n=e.__read(a.toISOString().split("T"),2)[1],i=e.__read(n.split(r.TIME_SEPARATOR),2);return[i[0],i[1]].join(r.TIME_SEPARATOR)}return null})).filter(Boolean);return v};exports.getCheckboxesByWorkHours=function(r){if(!r||!r.length)return n(t,a);var i=r.reduce((function(r,t){var a=t.start,n=t.end;return a&&n?e.__spreadArray(e.__spreadArray([],e.__read(r),!1),[{start:a,end:n}],!1):r}),[]);if(7!==i.length)return n(t,a);var u=i.reduce((function(r,t){var a=t.start,n=t.end;return e.__spreadArray(e.__spreadArray([],e.__read(r),!1),[a,n],!1)}),[]).sort((function(e,r){return e.localeCompare(r)}));return n(u[0]||t,u[u.length-1]||a)},exports.getTimeCheckboxRanges=n;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@licklist/design",
3
- "version": "0.44.486-dev.19",
3
+ "version": "0.44.486-dev.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@bitbucket.org/artelogicsoft/licklist_design.git"
@@ -36,7 +36,7 @@ export function CollapsibleInputGroup({
36
36
  <Accordion.Toggle
37
37
  as={Card.Header}
38
38
  eventKey={eventKey}
39
- alwaysopen={alwaysOpen}
39
+ alwaysOpen={alwaysOpen}
40
40
  role="button"
41
41
  className={clsx("accordion-form-control", isInvalid && "is-invalid")}
42
42
  >
@@ -59,7 +59,7 @@ export const DateTimeButton = <T extends DateTime | string>({
59
59
  />
60
60
  )}
61
61
 
62
- {price && !isDisabled && <div className="price">{price}</div>}
62
+ {price && <div className="price">{price}</div>}
63
63
 
64
64
  {/* TODO uncomment when adding availability */}
65
65
  {/* {info && (
@@ -168,9 +168,6 @@ export function IntervalInput({
168
168
  value={value}
169
169
  onChange={onChange}
170
170
  date={start}
171
- minDate={DateTime.fromISO(start)
172
- .plus({ day: 1 })
173
- .toFormat("yyyy-MM-dd")}
174
171
  disabled={disabled}
175
172
  />
176
173
  )}
@@ -12,30 +12,21 @@ export const useImage = (
12
12
  height: 0,
13
13
  });
14
14
 
15
- const setImageEventHandler = function setImageEventHandler(
16
- this: HTMLImageElement
17
- ) {
18
- imageRef.current = this;
19
-
20
- setImageAttributes({
21
- width: this.naturalWidth,
22
- height: this.naturalHeight,
23
- });
24
- };
25
-
26
15
  const loadImage = useCallback((imageUrl?: string) => {
27
16
  imageRef.current = new window.Image();
28
17
  imageRef.current.src = imageUrl;
29
- imageRef.current.addEventListener("load", setImageEventHandler);
18
+ imageRef.current.addEventListener("load", function () {
19
+ imageRef.current = this;
20
+
21
+ setImageAttributes({
22
+ width: this.naturalWidth,
23
+ height: this.naturalHeight,
24
+ });
25
+ });
30
26
  }, []);
31
27
 
32
28
  useEffect(() => {
33
29
  loadImage(url);
34
-
35
- return () => {
36
- imageRef.current.removeEventListener("load", setImageEventHandler);
37
- imageRef.current = undefined;
38
- };
39
30
  }, [url, loadImage]);
40
31
 
41
32
  const memoizedImageAttributes = useMemo(() => {
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { Meta, Story } from "@storybook/react";
3
- import { ActivityCard, ActivityCardProps, LAYOUT_LIST } from "./ActivityCard";
3
+ import { ActivityCard, ActivityCardProps } from "./ActivityCard";
4
4
 
5
5
  export default {
6
6
  title: "Iframe/ActivityCard",
@@ -50,26 +50,3 @@ Selected.args = {
50
50
  onSelect: () => null,
51
51
  isSelected: true,
52
52
  };
53
-
54
- export const ListView: Story<ActivityCardProps> = (props) => {
55
- return <ActivityCard {...props} />;
56
- };
57
-
58
- Default.args = {
59
- layout: LAYOUT_LIST,
60
- title: "Clay Pigeons & Axe Thowing",
61
- duration: "60 mins",
62
- price: "from £20",
63
- image: {
64
- hash: "0b37b130e22aa2d3",
65
- id: 195,
66
- imageType: "cover",
67
- imageableId: 25,
68
- imageableType: "zone",
69
- path: "images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
70
- // eslint-disable-next-line max-len
71
- url: "https://cdn.lickli.st/doNktZRze1yuz3Uo2OPrLSvXVtUcdUsF/images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
72
- },
73
- onSelect: () => null,
74
- isSelected: false,
75
- };
@@ -0,0 +1,38 @@
1
+ import React, { ReactNode } from "react";
2
+ import clsx from "clsx";
3
+ import { Image } from "@licklist/core/dist/DataMapper/Media/ImageDataMapper";
4
+
5
+ export interface ActivityCardProps {
6
+ title: ReactNode;
7
+ duration: ReactNode;
8
+ price: ReactNode;
9
+ image?: Image | null;
10
+ onSelect: () => void;
11
+ isSelected: boolean;
12
+ }
13
+
14
+ export const ActivityCard = ({
15
+ title,
16
+ duration,
17
+ price,
18
+ image,
19
+ onSelect,
20
+ isSelected,
21
+ }: ActivityCardProps) => {
22
+ return (
23
+ <button
24
+ type="button"
25
+ className={clsx("activity-card", isSelected && "active")}
26
+ onClick={onSelect}
27
+ >
28
+ {image && <img className="activity-card-image" alt="" src={image.url} />}
29
+ <div className={clsx("d-flex", "flex-column", !image && "no-image")}>
30
+ <div className="activity-card-title">{title}</div>
31
+
32
+ {duration && <div>{duration}</div>}
33
+
34
+ {price && <div>{price}</div>}
35
+ </div>
36
+ </button>
37
+ );
38
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./list-activity-card/ListActivityCard";
2
+ export * from "./activity-card/ActivityCard";
@@ -0,0 +1,52 @@
1
+ import React from "react";
2
+ import { Meta, Story } from "@storybook/react";
3
+ import { ListActivityCardProps, ListActivityCard } from "./ListActivityCard";
4
+
5
+ export default {
6
+ title: "Iframe/ListActivityCard",
7
+ component: ListActivityCard,
8
+ } as Meta;
9
+
10
+ export const Default: Story<ListActivityCardProps> = (props) => {
11
+ return <ListActivityCard {...props} />;
12
+ };
13
+
14
+ Default.args = {
15
+ title: "Clay Pigeons & Axe Thowing",
16
+ duration: "60 mins",
17
+ price: "from £20",
18
+ image: {
19
+ hash: "0b37b130e22aa2d3",
20
+ id: 195,
21
+ imageType: "cover",
22
+ imageableId: 25,
23
+ imageableType: "zone",
24
+ path: "images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
25
+ // eslint-disable-next-line max-len
26
+ url: "https://cdn.lickli.st/doNktZRze1yuz3Uo2OPrLSvXVtUcdUsF/images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
27
+ },
28
+ onSelect: () => null,
29
+ isSelected: false,
30
+ };
31
+
32
+ export const Selected: Story<ListActivityCardProps> = (props) => {
33
+ return <ListActivityCard {...props} />;
34
+ };
35
+
36
+ Selected.args = {
37
+ title: "Clay Pigeons & Axe Thowing",
38
+ duration: "60 mins",
39
+ price: "from £20",
40
+ image: {
41
+ hash: "0b37b130e22aa2d3",
42
+ id: 195,
43
+ imageType: "cover",
44
+ imageableId: 25,
45
+ imageableType: "zone",
46
+ path: "images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
47
+ // eslint-disable-next-line max-len
48
+ url: "https://cdn.lickli.st/doNktZRze1yuz3Uo2OPrLSvXVtUcdUsF/images/original/000/000/000/000/195-0b37b130e22aa2d3.jpeg",
49
+ },
50
+ onSelect: () => null,
51
+ isSelected: true,
52
+ };
@@ -0,0 +1,49 @@
1
+ import React from "react";
2
+ import clsx from "clsx";
3
+ import { Image } from "@licklist/core/dist/DataMapper/Media/ImageDataMapper";
4
+
5
+ export interface ListActivityCardProps {
6
+ title: string;
7
+ duration: string;
8
+ price: string;
9
+ image?: Image | null;
10
+ onSelect: () => void;
11
+ isSelected: boolean;
12
+ }
13
+
14
+ export const ListActivityCard = ({
15
+ title,
16
+ duration,
17
+ price,
18
+ image,
19
+ onSelect,
20
+ isSelected,
21
+ }: ListActivityCardProps) => {
22
+ return (
23
+ <div role="button" onClick={onSelect} onKeyPress={onSelect} tabIndex={0}>
24
+ <div
25
+ className={clsx("list-activity-card", {
26
+ active: isSelected,
27
+ })}
28
+ >
29
+ <div className="description">
30
+ <div className="title">{title}</div>
31
+ {duration && (
32
+ <div>
33
+ <p>{duration}</p>
34
+ </div>
35
+ )}
36
+
37
+ {price && <div>{price}</div>}
38
+ </div>
39
+
40
+ {image && (
41
+ <div className="image-container">
42
+ <img className="image" src={image.url} alt="" />
43
+ </div>
44
+ )}
45
+ </div>
46
+ <hr className="list-activity-card-hr" />
47
+ </div>
48
+ );
49
+ };
@@ -1,36 +1,37 @@
1
1
  import React from "react";
2
2
  import { DateTime } from "luxon";
3
3
  import { Meta, Story } from "@storybook/react";
4
- import {
5
- EventCalendarProvider,
6
- getMonthCalendarDates,
7
- } from "@licklist/plugins/dist/context/event/EventCalendarContext";
8
- import { EventCalendar, EventCalendarProps } from "./EventCalendar";
4
+ import { boolean } from "@storybook/addon-knobs";
5
+ import { EventCalendarProvider } from "@licklist/plugins/dist/context/event/EventCalendarContext";
6
+ import { EventCalendar } from "./EventCalendar";
9
7
 
10
8
  export default {
11
9
  title: "Iframe/Event/Calendar",
12
10
  component: EventCalendar,
13
11
  } as Meta;
14
12
 
15
- export const Default: Story<EventCalendarProps> = (args) => {
13
+ export const Default: Story<any> = (args) => {
14
+ const now = DateTime.now().set({
15
+ hour: 0,
16
+ second: 0,
17
+ millisecond: 0,
18
+ minute: 0,
19
+ });
20
+ const disabledDates = [now.minus({ day: 2 }), now, now.plus({ day: 2 })];
21
+
22
+ const isLoading = boolean("isLoading", false);
23
+
16
24
  return (
17
- <EventCalendarProvider getCalendarDates={getMonthCalendarDates}>
25
+ <EventCalendarProvider>
18
26
  <div style={{ backgroundColor: "white" }}>
19
- <EventCalendar {...args} />
27
+ <EventCalendar
28
+ {...args}
29
+ disabledDates={disabledDates}
30
+ isLoading={isLoading}
31
+ />
20
32
  </div>
21
33
  </EventCalendarProvider>
22
34
  );
23
35
  };
24
36
 
25
- const now = DateTime.now().set({
26
- hour: 0,
27
- second: 0,
28
- millisecond: 0,
29
- minute: 0,
30
- });
31
-
32
- Default.args = {
33
- disabledDates: [now.minus({ day: 2 }), now, now.plus({ day: 2 })],
34
- isLoading: false,
35
- fromPrice: "from £10",
36
- };
37
+ Default.args = {};
@@ -1,26 +1,19 @@
1
- import React, { ReactElement } from "react";
1
+ import React from "react";
2
2
  import { CalendarButtons } from "./components/CalendarButtons";
3
3
  import { CalendarDates } from "./components/CalendarDates";
4
4
  import { CalendarBaseProps } from "./types";
5
5
 
6
- export type EventCalendarProps = CalendarBaseProps & {
7
- fromPrice?: string | ReactElement | null;
8
- };
6
+ export type EventCalendarProps = CalendarBaseProps;
9
7
 
10
8
  export const EventCalendar = ({
11
9
  disabledDates = [],
12
10
  isLoading = false,
13
- fromPrice,
14
11
  }: EventCalendarProps) => {
15
12
  return (
16
13
  <div className="calendar-wrapper">
17
14
  <div className="calendar">
18
15
  <CalendarButtons disabledDates={disabledDates} isLoading={isLoading} />
19
- <CalendarDates
20
- disabledDates={disabledDates}
21
- isLoading={isLoading}
22
- fromPrice={fromPrice}
23
- />
16
+ <CalendarDates disabledDates={disabledDates} isLoading={isLoading} />
24
17
  </div>
25
18
  </div>
26
19
  );