@licklist/design 0.67.0 → 0.67.2-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 (249) hide show
  1. package/.storybook/main.cjs +15 -12
  2. package/dist/auth/Login/LoginComponent.js +2 -1
  3. package/dist/calendar/components/CalendarButtons/CalendarButtons.d.ts.map +1 -1
  4. package/dist/calendar/components/CalendarButtons/CalendarButtons.js +35 -40
  5. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.d.ts.map +1 -1
  6. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.js +4 -2
  7. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.d.ts +2 -1
  8. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.d.ts.map +1 -1
  9. package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.js +13 -11
  10. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.d.ts +2 -1
  11. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.d.ts.map +1 -1
  12. package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.js +4 -2
  13. package/dist/events/edit-event-modal/utils/getDefaultProductSet.d.ts.map +1 -1
  14. package/dist/events/edit-event-modal/utils/getDefaultProductSet.js +0 -1
  15. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts.map +1 -1
  16. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.js +2 -0
  17. package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts.map +1 -1
  18. package/dist/layout/DropDown.d.ts +2 -1
  19. package/dist/layout/DropDown.d.ts.map +1 -1
  20. package/dist/layout/DropDownToggle.d.ts.map +1 -1
  21. package/dist/layout/DropDownToggle.js +1 -0
  22. package/dist/product-set/control/DateAndRecurrenceInput.d.ts +1 -1
  23. package/dist/product-set/control/DateAndRecurrenceInput.d.ts.map +1 -1
  24. package/dist/product-set/control/DateAndRecurrenceInput.js +1 -0
  25. package/dist/product-set/control/DateInput.d.ts.map +1 -1
  26. package/dist/product-set/control/DateInput.js +2 -2
  27. package/dist/product-set/control/ProductSetControl.d.ts +3 -2
  28. package/dist/product-set/control/ProductSetControl.d.ts.map +1 -1
  29. package/dist/product-set/control/ProductSetControl.js +15 -2
  30. package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
  31. package/dist/product-set/form/ProductCategoriesControl.js +48 -2
  32. package/dist/product-set/form/ProductSetForm.d.ts +4 -1
  33. package/dist/product-set/form/ProductSetForm.d.ts.map +1 -1
  34. package/dist/product-set/form/ProductSetForm.js +60 -2
  35. package/dist/product-set/form/ProductZonesControl.d.ts.map +1 -1
  36. package/dist/product-set/form/ProductZonesControl.js +0 -2
  37. package/dist/product-set/form/SelectCategoryModal.d.ts +12 -0
  38. package/dist/product-set/form/SelectCategoryModal.d.ts.map +1 -1
  39. package/dist/product-set/form/SelectCategoryModal.js +1 -1
  40. package/dist/product-set/form/SubProductsControl.d.ts.map +1 -1
  41. package/dist/product-set/form/SubProductsControl.js +0 -3
  42. package/dist/product-set/form/VenueMapsControl.d.ts.map +1 -1
  43. package/dist/product-set/form/VenueMapsControl.js +0 -3
  44. package/dist/provider/location-input/LocationInput.d.ts +4 -1
  45. package/dist/provider/location-input/LocationInput.d.ts.map +1 -1
  46. package/dist/provider/location-input/LocationInput.js +46 -2
  47. package/dist/provider/location-input/index.d.ts +1 -0
  48. package/dist/provider/location-input/index.d.ts.map +1 -1
  49. package/dist/provider/provider-form/ProviderForm.d.ts +3 -1
  50. package/dist/provider/provider-form/ProviderForm.d.ts.map +1 -1
  51. package/dist/provider/provider-form/ProviderForm.js +26 -5
  52. package/dist/provider/venue-form/VenueForm.d.ts +3 -1
  53. package/dist/provider/venue-form/VenueForm.d.ts.map +1 -1
  54. package/dist/provider/venue-form/VenueForm.js +4 -2
  55. package/dist/provider/working-hours-input/WorkingHoursInputDescription.d.ts.map +1 -1
  56. package/dist/provider/working-hours-input/WorkingHoursInputDescription.js +4 -8
  57. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts +3 -1
  58. package/dist/recurring-date-picker-input/RecurringDatePickerInput.d.ts.map +1 -1
  59. package/dist/recurring-date-picker-input/RecurringDatePickerInput.js +6 -3
  60. package/dist/recurring-date-picker-input/utils.d.ts +5 -0
  61. package/dist/recurring-date-picker-input/utils.d.ts.map +1 -1
  62. package/dist/recurring-date-picker-input/utils.js +75 -3
  63. package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
  64. package/dist/sales/booking/results/components/ResultCard.js +0 -2
  65. package/dist/setting/admin/AdminSettingForm.d.ts +2 -2
  66. package/dist/setting/admin/AdminSettingForm.d.ts.map +1 -1
  67. package/dist/snippet/snippet-template/preview/Preview.d.ts.map +1 -1
  68. package/dist/snippet/snippet-template/preview/Preview.js +6 -0
  69. package/dist/sortable-tree/SortableTreeItem.d.ts +2 -1
  70. package/dist/sortable-tree/SortableTreeItem.d.ts.map +1 -1
  71. package/dist/sortable-tree/SortableTreeItem.js +10 -4
  72. package/dist/styles/auth/AccessDenied.scss +1 -1
  73. package/dist/styles/back-button/BackButton.scss +25 -24
  74. package/dist/styles/back-button/_index.scss +1 -1
  75. package/dist/styles/company-user-form/UserForm.scss +4 -7
  76. package/dist/styles/company-user-form/_index.scss +1 -1
  77. package/dist/styles/custom-fields/CreateSortableListItem.scss +2 -1
  78. package/dist/styles/custom-fields/_index.scss +1 -1
  79. package/dist/styles/customers/Filter.scss +5 -5
  80. package/dist/styles/events/EditEventModal.scss +1 -3
  81. package/dist/styles/events/EventVenueMap.scss +7 -7
  82. package/dist/styles/form/Input.scss +1 -1
  83. package/dist/styles/header/Header.scss +1 -1
  84. package/dist/styles/header/elements/CompanySelector.scss +2 -2
  85. package/dist/styles/iframe-events/Calendar.scss +0 -1
  86. package/dist/styles/iframe-events/CalendarSelect.scss +1 -1
  87. package/dist/styles/iframe-events/CategoryStepsForm.scss +6 -7
  88. package/dist/styles/iframe-events/Event.scss +2 -4
  89. package/dist/styles/iframe-events/EventForm.scss +54 -54
  90. package/dist/styles/iframe-events/EventNavigationFooter.scss +1 -0
  91. package/dist/styles/iframe-events/TicketDescription.scss +1 -1
  92. package/dist/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  93. package/dist/styles/iframe-payments/PaymentForm.scss +1 -1
  94. package/dist/styles/layout/BackgroundVideoContainer.scss +2 -2
  95. package/dist/styles/notification/Notification.scss +1 -1
  96. package/dist/styles/order-items-table/OrderItemsTable.scss +1 -2
  97. package/dist/styles/product-set/CreateProductSetItem.scss +15 -13
  98. package/dist/styles/product-set/DateAndRecurrenceInput.scss +6 -8
  99. package/dist/styles/product-set/EditCategoryModal.scss +4 -4
  100. package/dist/styles/product-set/EditProductModal.scss +3 -3
  101. package/dist/styles/product-set/EditStepModal.scss +4 -4
  102. package/dist/styles/product-set/EditVenueMapSetModal.scss +6 -6
  103. package/dist/styles/product-set/ProductSetForm.scss +25 -2
  104. package/dist/styles/product-set/TutorialGifCard.scss +1 -1
  105. package/dist/styles/product-set/_index.scss +2 -2
  106. package/dist/styles/report/ReportCard.scss +1 -0
  107. package/dist/styles/report/_index.scss +1 -1
  108. package/dist/styles/resources-blocking/_index.scss +4 -0
  109. package/dist/styles/sales/BookingFilter.scss +2 -2
  110. package/dist/styles/sales/BookingResults.scss +1 -1
  111. package/dist/styles/sales/BookingTabs.scss +7 -5
  112. package/dist/styles/sales/Filters.scss +5 -4
  113. package/dist/styles/sales/GuestProfile.scss +170 -175
  114. package/dist/styles/sales/LifeTimeSales.scss +1 -1
  115. package/dist/styles/sales/ManualBooking.scss +4 -2
  116. package/dist/styles/snippet-templates/_snippetVariables.scss +63 -244
  117. package/dist/styles/sortable-field/SortableField.scss +16 -16
  118. package/dist/styles/sortable-field/_index.scss +1 -1
  119. package/dist/styles/sortable-tree/Item.scss +4 -4
  120. package/dist/styles/table/Table.scss +1 -1
  121. package/dist/styles/themes/bookedit/_variables.scss +10 -32
  122. package/dist/styles/themes/licklist/_variables.scss +1 -1
  123. package/dist/styles/tiptap-editor/TiptapEditor.scss +9 -10
  124. package/dist/styles/tiptap-editor/_index.scss +1 -1
  125. package/dist/styles/venue-map-sets/VenueMapSetForm.scss +5 -4
  126. package/dist/styles/virtualized/_index.scss +1 -1
  127. package/dist/styles/zones/ZoneForm.scss +1 -0
  128. package/dist/styles/zones/ZoneRecurrencesControl.scss +6 -8
  129. package/dist/zone/form/ZoneForm.d.ts +2 -2
  130. package/dist/zone/form/ZoneForm.d.ts.map +1 -1
  131. package/dist/zone/form/ZoneForm.js +3 -2
  132. package/dist/zone/form/components/ZoneControl.d.ts +2 -2
  133. package/dist/zone/form/components/ZoneControl.d.ts.map +1 -1
  134. package/dist/zone/form/components/ZoneControl.js +4 -2
  135. package/dist/zone/form/components/ZoneRecurrencesControl.d.ts +4 -4
  136. package/dist/zone/form/components/ZoneRecurrencesControl.d.ts.map +1 -1
  137. package/dist/zone/form/components/ZoneRecurrencesControl.js +4 -2
  138. package/dist/zone/form/utils/dates.d.ts.map +1 -1
  139. package/package.json +7 -7
  140. package/src/auth/ChangePassword/ChangePassword.stories.tsx +1 -1
  141. package/src/auth/Login/LoginComponent.tsx +1 -1
  142. package/src/auth/ResetPassword/ResetPassword.stories.tsx +1 -1
  143. package/src/calendar/components/CalendarButtons/CalendarButtons.tsx +31 -28
  144. package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.tsx +2 -0
  145. package/src/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.tsx +18 -12
  146. package/src/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.tsx +4 -0
  147. package/src/events/edit-event-modal/utils/getDefaultProductSet.ts +0 -1
  148. package/src/header/elements/Elements.stories.tsx +1 -1
  149. package/src/help/popover/Popover.stories.tsx +1 -1
  150. package/src/iframe/event/event-venue-map/IframeEventVenueMap.stories.tsx +3 -3
  151. package/src/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.tsx +1 -0
  152. package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +1 -0
  153. package/src/layout/DropDown.tsx +2 -1
  154. package/src/layout/DropDownToggle.tsx +2 -0
  155. package/src/product-set/card/ProductSetCard.stories.tsx +3 -1
  156. package/src/product-set/control/DateAndRecurrenceInput.tsx +3 -4
  157. package/src/product-set/control/DateInput.tsx +2 -1
  158. package/src/product-set/control/ProductSetControl.tsx +15 -1
  159. package/src/product-set/control/ProductSetRecurrenceControl.stories.tsx +2 -2
  160. package/src/product-set/form/ProductCategoriesControl.tsx +38 -2
  161. package/src/product-set/form/ProductSetForm.tsx +22 -3
  162. package/src/product-set/form/ProductZonesControl.tsx +4 -7
  163. package/src/product-set/form/SelectCategoryModal.stories.tsx +1 -1
  164. package/src/product-set/form/SelectCategoryModal.tsx +2 -2
  165. package/src/product-set/form/SubProductsControl.tsx +0 -3
  166. package/src/product-set/form/VenueMapsControl.tsx +0 -3
  167. package/src/product-set/product/advanced-options/AdvancedOptions.tsx +5 -5
  168. package/src/product-set/product/booking-management/ProductBookingManagement.stories.tsx +1 -1
  169. package/src/product-set/product/quantity/ProductQuantity.stories.tsx +1 -1
  170. package/src/product-set/product-zone/ProductZoneControl.tsx +9 -9
  171. package/src/provider/location-input/LocationInput.tsx +40 -1
  172. package/src/provider/location-input/index.ts +1 -0
  173. package/src/provider/provider-form/ProviderForm.tsx +26 -2
  174. package/src/provider/venue-form/VenueForm.tsx +4 -1
  175. package/src/provider/working-hours-input/WorkingHoursInputDescription.tsx +4 -18
  176. package/src/recurring-date-picker-input/RecurringDatePickerInput.stories.tsx +11 -4
  177. package/src/recurring-date-picker-input/RecurringDatePickerInput.tsx +12 -1
  178. package/src/recurring-date-picker-input/utils.ts +91 -1
  179. package/src/sales/booking/results/components/ResultCard.tsx +0 -2
  180. package/src/setting/admin/AdminSetting.stories.tsx +1 -0
  181. package/src/setting/admin/AdminSettingForm.tsx +2 -2
  182. package/src/setting/system/SystemSetting.stories.tsx +1 -1
  183. package/src/snippet/snippet-template/preview/Preview.tsx +6 -0
  184. package/src/sortable-tree/SortableTreeItem.tsx +13 -1
  185. package/src/styles/auth/AccessDenied.scss +1 -1
  186. package/src/styles/back-button/BackButton.scss +25 -24
  187. package/src/styles/back-button/_index.scss +1 -1
  188. package/src/styles/company-user-form/UserForm.scss +4 -7
  189. package/src/styles/company-user-form/_index.scss +1 -1
  190. package/src/styles/custom-fields/CreateSortableListItem.scss +2 -1
  191. package/src/styles/custom-fields/_index.scss +1 -1
  192. package/src/styles/customers/Filter.scss +5 -5
  193. package/src/styles/events/EditEventModal.scss +1 -3
  194. package/src/styles/events/EventVenueMap.scss +7 -7
  195. package/src/styles/form/Input.scss +1 -1
  196. package/src/styles/header/Header.scss +1 -1
  197. package/src/styles/header/elements/CompanySelector.scss +2 -2
  198. package/src/styles/iframe-events/Calendar.scss +0 -1
  199. package/src/styles/iframe-events/CalendarSelect.scss +1 -1
  200. package/src/styles/iframe-events/CategoryStepsForm.scss +6 -7
  201. package/src/styles/iframe-events/Event.scss +2 -4
  202. package/src/styles/iframe-events/EventForm.scss +54 -54
  203. package/src/styles/iframe-events/EventNavigationFooter.scss +1 -0
  204. package/src/styles/iframe-events/TicketDescription.scss +1 -1
  205. package/src/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
  206. package/src/styles/iframe-payments/PaymentForm.scss +1 -1
  207. package/src/styles/layout/BackgroundVideoContainer.scss +2 -2
  208. package/src/styles/notification/Notification.scss +1 -1
  209. package/src/styles/order-items-table/OrderItemsTable.scss +1 -2
  210. package/src/styles/product-set/CreateProductSetItem.scss +15 -13
  211. package/src/styles/product-set/DateAndRecurrenceInput.scss +6 -8
  212. package/src/styles/product-set/EditCategoryModal.scss +4 -4
  213. package/src/styles/product-set/EditProductModal.scss +3 -3
  214. package/src/styles/product-set/EditStepModal.scss +4 -4
  215. package/src/styles/product-set/EditVenueMapSetModal.scss +6 -6
  216. package/src/styles/product-set/ProductSetForm.scss +25 -2
  217. package/src/styles/product-set/TutorialGifCard.scss +1 -1
  218. package/src/styles/product-set/_index.scss +2 -2
  219. package/src/styles/report/ReportCard.scss +1 -0
  220. package/src/styles/report/_index.scss +1 -1
  221. package/src/styles/resources-blocking/_index.scss +4 -0
  222. package/src/styles/sales/BookingFilter.scss +2 -2
  223. package/src/styles/sales/BookingResults.scss +1 -1
  224. package/src/styles/sales/BookingTabs.scss +7 -5
  225. package/src/styles/sales/Filters.scss +5 -4
  226. package/src/styles/sales/GuestProfile.scss +170 -175
  227. package/src/styles/sales/LifeTimeSales.scss +1 -1
  228. package/src/styles/sales/ManualBooking.scss +4 -2
  229. package/src/styles/snippet-templates/_snippetVariables.scss +63 -244
  230. package/src/styles/sortable-field/SortableField.scss +16 -16
  231. package/src/styles/sortable-field/_index.scss +1 -1
  232. package/src/styles/sortable-tree/Item.scss +4 -4
  233. package/src/styles/table/Table.scss +1 -1
  234. package/src/styles/themes/bookedit/_variables.scss +10 -32
  235. package/src/styles/themes/licklist/_variables.scss +1 -1
  236. package/src/styles/tiptap-editor/TiptapEditor.scss +9 -10
  237. package/src/styles/tiptap-editor/_index.scss +1 -1
  238. package/src/styles/venue-map-sets/VenueMapSetForm.scss +5 -4
  239. package/src/styles/virtualized/_index.scss +1 -1
  240. package/src/styles/zones/ZoneForm.scss +1 -0
  241. package/src/styles/zones/ZoneRecurrencesControl.scss +6 -8
  242. package/src/tiptap-editor/TipTapEditor.stories.tsx +6 -4
  243. package/src/tiptap-editor/TipTapMenu/TipTapMenu.stories.tsx +5 -2
  244. package/src/zone/form/ZoneForm.tsx +3 -2
  245. package/src/zone/form/components/ZoneControl.tsx +3 -3
  246. package/src/zone/form/components/ZoneRecurrencesControl.tsx +7 -5
  247. package/src/zone/form/utils/dates.ts +9 -10
  248. package/yarn.lock +127 -114
  249. package/dist/assets/iframe/selectArrow.svg.js +0 -17
@@ -1,4 +1,9 @@
1
- import { DateTime } from "luxon";
1
+ import { TIME_FORMAT, TIME_FULL_FORMAT } from "@licklist/core/dist/Config";
2
+ import { WorkHour } from "@licklist/core/dist/DataMapper/Provider/WorkHourDataMapper";
3
+ import { fromFormat } from "@licklist/plugins/dist/utils/dateTime";
4
+ import { DateTime, Interval } from "luxon";
5
+ import { Validate } from "react-hook-form";
6
+ import { useTranslation } from "react-i18next";
2
7
  import RRule, { Frequency, Weekday } from "rrule";
3
8
 
4
9
  export const getWeekdayForFrequency = ({
@@ -11,6 +16,7 @@ export const getWeekdayForFrequency = ({
11
16
  const parsedDate = DateTime.fromISO(date);
12
17
  return new Weekday(
13
18
  parsedDate.weekday - 1,
19
+ // eslint-disable-next-line no-nested-ternary
14
20
  frequency !== Frequency.MONTHLY
15
21
  ? undefined
16
22
  : parsedDate.day + 7 > parsedDate.daysInMonth
@@ -109,3 +115,87 @@ export const parseAndValidateRRule = ({
109
115
  until: options.until,
110
116
  } as ParsedRRuleOptions;
111
117
  };
118
+
119
+ export const useWorkHoursValidation = (
120
+ byWeekDay: Weekday[] = [],
121
+ workHours: WorkHour[] | undefined,
122
+ ): {
123
+ /* @ts-expect-error 2314 */
124
+ validate?: Validate<string>;
125
+ } => {
126
+ const { t } = useTranslation("Validation");
127
+ if (!workHours) return {};
128
+
129
+ const fromTimeFormat = fromFormat(TIME_FORMAT);
130
+ const fromTimeFullFormat = fromFormat(TIME_FULL_FORMAT);
131
+
132
+ // map every day to array of intervals describing workhours for that day
133
+ let intervalsByDay = workHours.map((workhour, index, self) => {
134
+ const res: Interval[] = [];
135
+
136
+ const startTime = fromTimeFormat(workhour.start);
137
+ const endTime = fromTimeFormat(workhour.end);
138
+
139
+ if (endTime > startTime) {
140
+ res.push(Interval.fromDateTimes(startTime, endTime));
141
+ } else {
142
+ // if end is before start, then it means that end is on the next day
143
+ // so count only to the end of current day
144
+ res.push(Interval.fromDateTimes(startTime, startTime.endOf("day")));
145
+ }
146
+
147
+ const prevIndex = index === 0 ? self.length - 1 : index - 1;
148
+
149
+ const prevStartTime = fromTimeFormat(self[prevIndex].start);
150
+ const prevEndTime = fromTimeFormat(self[prevIndex].end);
151
+
152
+ // if prevStartTime > prevEndTime then it means that prevEndTime is on the current day
153
+ // so we need to add interval from start of current day to prevEndTime
154
+ if (prevStartTime > prevEndTime) {
155
+ res.push(Interval.fromDateTimes(prevEndTime.startOf("day"), prevEndTime));
156
+ }
157
+
158
+ return res;
159
+ });
160
+
161
+ // if length === 0 or length === 7 then all workhours are selected, no need to filter
162
+ if (![0, 7].includes(byWeekDay.length)) {
163
+ intervalsByDay = intervalsByDay.filter((_, index) =>
164
+ byWeekDay.find(({ weekday }) => weekday === index),
165
+ );
166
+ }
167
+
168
+ return {
169
+ validate: (_time: string) => {
170
+ // workaround for issue with form values
171
+ // default values and entered values have different formats
172
+ const time = fromTimeFormat(_time).isValid
173
+ ? fromTimeFormat(_time)
174
+ : fromTimeFullFormat(_time);
175
+
176
+ const notFittingIntervalsByDay = intervalsByDay.reduce<Interval[][]>(
177
+ (acc, intervalsByDay) => {
178
+ if (!intervalsByDay.some((interval) => interval.contains(time))) {
179
+ acc.push(intervalsByDay);
180
+ }
181
+ return acc;
182
+ },
183
+ [],
184
+ );
185
+
186
+ const notFittingIntervals = notFittingIntervalsByDay
187
+ .flat()
188
+ .filter((interval) => !interval.contains(time));
189
+
190
+ const attribute = notFittingIntervals
191
+ .map((interval) => interval.toFormat("HH:mm"))
192
+ .join(", ");
193
+
194
+ if (notFittingIntervalsByDay.length !== 0) {
195
+ return t("outsideWorkingHours", { attribute }) as string;
196
+ }
197
+
198
+ return true;
199
+ },
200
+ };
201
+ };
@@ -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,
@@ -19,6 +19,7 @@ export const SettingFormComponent: Story<AdminSettingFormProps> = (args) => (
19
19
  </Container>
20
20
  );
21
21
 
22
+
22
23
  export const PaymentFeeFormComponent: Story<PaymentFeeFormProps> = (args) => {
23
24
  const form = useForm<PaymentFeeFormFieldValues>({
24
25
  defaultValues: args.defaultValues,
@@ -10,7 +10,7 @@ import Row from "react-bootstrap/Row";
10
10
  import Col from "react-bootstrap/Col";
11
11
  import { Link } from "react-router-dom";
12
12
  import HookFormService from "@licklist/plugins/dist/services/Form/HookFormService";
13
- import { ProviderType } from "@licklist/core/dist/DataMapper/Provider/ProvidableDataMapper";
13
+ import { ProvidableType } from "@licklist/core/dist/DataMapper/Provider/ProvidableDataMapper";
14
14
  import { FaCommentAlt } from "react-icons/fa";
15
15
  import { PaymentFeeForm, PaymentFeeFormFieldValues } from "./PaymentFeeForm";
16
16
  import { Currency } from "../../types/currency";
@@ -32,7 +32,7 @@ export interface AdminSettingFormProps extends HasPermissionProp {
32
32
  providerMetadata: {
33
33
  country?: string;
34
34
  providableId?: number;
35
- providerType?: ProviderType;
35
+ providerType?: ProvidableType;
36
36
  };
37
37
  }
38
38
 
@@ -23,4 +23,4 @@ export function Default() {
23
23
  />
24
24
  </Container>
25
25
  );
26
- }
26
+ }
@@ -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,
@@ -1,4 +1,10 @@
1
- import { ReactNode, useCallback, useEffect, useState } from "react";
1
+ import {
2
+ ReactElement,
3
+ ReactNode,
4
+ useCallback,
5
+ useEffect,
6
+ useState,
7
+ } from "react";
2
8
  import { DndContext, useDraggable } from "@dnd-kit/core";
3
9
  import {
4
10
  SortableContext,
@@ -33,6 +39,7 @@ export interface SortableTreeItemProps {
33
39
  body: ReactNode;
34
40
  children?: ReactNode;
35
41
  preItem?: ReactNode;
42
+ itemButton?: ReactNode;
36
43
  postItem?: ReactNode;
37
44
  sortableItems?: string[];
38
45
  isExpanded?: boolean;
@@ -82,6 +89,7 @@ export function SortableTreeItem({
82
89
  secondaryBadge,
83
90
  setIsExpanded,
84
91
  isOverride,
92
+ itemButton,
85
93
  }: SortableTreeItemProps) {
86
94
  const [expanded, setExpanded] = useState(isExpanded);
87
95
  const [isModalVisible, setIsModalVisible] = useState(isNewAdded);
@@ -287,9 +295,13 @@ export function SortableTreeItem({
287
295
  className={clsx(
288
296
  "sortable-tree-item-title",
289
297
  modalLabel && "sortable-tree-product-set-element-title",
298
+ "d-flex justify-content-between",
290
299
  )}
291
300
  >
292
301
  {title}
302
+ <div className="sortable-tree-item-subtitle">
303
+ {itemButton}
304
+ </div>
293
305
  </span>
294
306
  {!expanded && (
295
307
  <span className="sortable-tree-item-subtitle">
@@ -8,4 +8,4 @@
8
8
  h6 {
9
9
  color: $gray-600;
10
10
  }
11
- }
11
+ }
@@ -1,32 +1,33 @@
1
1
  $base-height: 2.5rem;
2
2
 
3
3
  .button-wrapper {
4
- background-color: $snippet-page-header-steps-close-button-background-color;
5
- height: $base-height;
6
- width: $base-height;
7
- border-radius: $base-height;
8
- transition: $color-transition;
9
-
10
- .back-button {
11
- font-size: 2rem;
12
- width: $base-height;
4
+ background-color: $snippet-page-header-steps-close-button-background-color;
13
5
  height: $base-height;
14
- display: flex;
15
- align-items: center;
16
- justify-content: center;
17
- font-weight: lighter;
18
- color: $snippet-page-header-steps-close-button-border-color;
6
+ width: $base-height;
7
+ border-radius: $base-height;
19
8
  transition: $color-transition;
20
9
 
21
- &:hover {
22
- cursor: pointer;
10
+
11
+ .back-button {
12
+ font-size: 2rem;
13
+ width: $base-height;
14
+ height: $base-height;
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ font-weight: lighter;
19
+ color: $snippet-page-header-steps-close-button-border-color;
20
+ transition: $color-transition;
21
+
22
+ &:hover {
23
+ cursor: pointer;
24
+ }
23
25
  }
24
- }
25
26
 
26
- &.back-button {
27
- display: flex;
28
- align-items: center;
29
- justify-content: center;
30
- margin-right: 1rem;
31
- }
32
- }
27
+ &.back-button {
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ margin-right: 1rem;
32
+ }
33
+ }
@@ -1 +1 @@
1
- @import "./BackButton.scss";
1
+ @import "./BackButton.scss";
@@ -33,15 +33,11 @@
33
33
  }
34
34
 
35
35
  &.active {
36
- color: #0e8ce2;
37
- background: linear-gradient(
38
- 149.72deg,
39
- #d9efff 50.04%,
40
- #e9f4fe 107.75%
41
- );
36
+ color: #0E8CE2;
37
+ background: linear-gradient(149.72deg, #D9EFFF 50.04%, #E9F4FE 107.75%);
42
38
 
43
39
  svg path {
44
- stroke: #0e8ce2;
40
+ stroke: #0E8CE2;
45
41
  }
46
42
  }
47
43
  }
@@ -66,3 +62,4 @@
66
62
  }
67
63
  }
68
64
  }
65
+
@@ -1 +1 @@
1
- @import "./UserForm.scss";
1
+ @import "./UserForm.scss";
@@ -1,3 +1,4 @@
1
+
1
2
  $sortable-list-item-hover-bg-color: #d9efff !default;
2
3
 
3
4
  .sortable-list-item-wrapper {
@@ -25,4 +26,4 @@ $sortable-list-item-hover-bg-color: #d9efff !default;
25
26
  &:hover {
26
27
  background-color: $sortable-list-item-hover-bg-color;
27
28
  }
28
- }
29
+ }
@@ -1,3 +1,3 @@
1
1
  @import "./FieldItem.scss";
2
2
  @import "./SelectFieldModal.scss";
3
- @import "./CreateSortableListItem.scss";
3
+ @import "./CreateSortableListItem.scss";
@@ -4,13 +4,13 @@
4
4
  font-size: 0.8rem;
5
5
  }
6
6
  }
7
-
7
+
8
8
  @include media-breakpoint-up(md) {
9
9
  label {
10
10
  font-size: 0.9rem;
11
11
  }
12
12
  }
13
-
13
+
14
14
  @include media-breakpoint-up(lg) {
15
15
  label {
16
16
  font-size: 1rem;
@@ -28,7 +28,7 @@
28
28
  flex: 0 0 33.33%;
29
29
  max-width: 33.33%;
30
30
  }
31
-
31
+
32
32
  @include media-breakpoint-down(xs) {
33
33
  flex-direction: column;
34
34
 
@@ -43,11 +43,11 @@
43
43
  &:first-child {
44
44
  padding-left: 0;
45
45
  }
46
-
46
+
47
47
  &:last-child {
48
48
  padding-right: 0;
49
49
  }
50
50
  }
51
51
  }
52
- }
52
+ }
53
53
  }
@@ -5,9 +5,7 @@
5
5
  padding: 1rem 2rem;
6
6
  border-radius: 1rem;
7
7
  margin-bottom: 1.5rem;
8
- transition:
9
- color 0.2s ease-out,
10
- background-color 0.2s ease-out;
8
+ transition: color 0.2s ease-out, background-color 0.2s ease-out;
11
9
  margin-left: 1rem;
12
10
 
13
11
  &:hover {
@@ -5,44 +5,44 @@
5
5
  overflow: hidden;
6
6
  background-color: $gray-600;
7
7
  }
8
-
8
+
9
9
  .canvas-scrollbars {
10
10
  .scrollbar-wrapper {
11
11
  position: absolute;
12
12
  z-index: 5;
13
13
  overflow: hidden;
14
-
14
+
15
15
  .scroll-element {
16
16
  position: absolute;
17
17
  display: block;
18
18
  border-radius: 0.375rem;
19
19
  background: rgba(0, 0, 0, 0.3);
20
20
  outline: 1px solid rgba(255, 255, 255, 0.3);
21
-
21
+
22
22
  &:hover {
23
23
  background: rgba(0, 0, 0, 0.5);
24
24
  transition: background-color 500ms linear;
25
25
  cursor: pointer;
26
26
  }
27
27
  }
28
-
28
+
29
29
  .horizontal-scroll {
30
30
  width: 100%;
31
31
  height: 0.375rem;
32
32
  }
33
-
33
+
34
34
  .vertical-scroll {
35
35
  height: 100%;
36
36
  width: 0.375rem;
37
37
  }
38
-
38
+
39
39
  &-vertical {
40
40
  right: 0.1rem;
41
41
  height: calc(100% - 1rem);
42
42
  margin: 0.5rem 0;
43
43
  width: 0.5rem;
44
44
  }
45
-
45
+
46
46
  &-horizontal {
47
47
  bottom: 0.1rem;
48
48
  width: calc(100% - 1rem);
@@ -33,4 +33,4 @@ input[type="date"].date-input-with-value::-webkit-datetime-edit-year-field {
33
33
  .invalid-feedback-message {
34
34
  font-size: 80%;
35
35
  color: #f94b25;
36
- }
36
+ }
@@ -5,7 +5,7 @@
5
5
  justify-content: space-between;
6
6
  display: flex;
7
7
  flex-direction: row;
8
-
8
+
9
9
  @include media-breakpoint-down(sm) {
10
10
  width: 100%;
11
11
  }
@@ -1,4 +1,4 @@
1
- $company-selector-font-size: 0.85rem !default;
1
+ $company-selector-font-size: .85rem !default;
2
2
  $company-selector-font-weight: $font-weight-semibold !default;
3
3
 
4
4
  .header-company-selector-container {
@@ -20,7 +20,7 @@ $company-selector-font-weight: $font-weight-semibold !default;
20
20
  .header-company-selector {
21
21
  border-color: transparent;
22
22
  background: transparent;
23
- padding: 0 0.25rem;
23
+ padding: 0 .25rem;
24
24
  font-size: $company-selector-font-size;
25
25
  font-weight: $company-selector-font-weight;
26
26
  }
@@ -48,7 +48,6 @@
48
48
  height: 2.25rem;
49
49
  width: 14.125rem;
50
50
  justify-content: space-between;
51
- border: 1px solid $snippet-dropdown-border-color;
52
51
  border-radius: $iframe-border-radius;
53
52
  transition: $color-transition;
54
53
 
@@ -15,4 +15,4 @@
15
15
  box-shadow: 0 0 0 0;
16
16
  }
17
17
  }
18
- }
18
+ }
@@ -44,15 +44,15 @@
44
44
  background-color: $snippet-canvas-background-color;
45
45
  transition: $color-transition;
46
46
  }
47
-
47
+
48
48
  .zoom-buttons {
49
49
  bottom: 0;
50
50
  top: unset;
51
-
51
+
52
52
  .buttons-wrapper {
53
53
  background-color: transparent;
54
- }
55
-
54
+ }
55
+
56
56
  .icon-wrapper {
57
57
  display: none;
58
58
  }
@@ -65,8 +65,7 @@
65
65
  background-color: $snippet-elements-button-background-color;
66
66
  border-color: $snippet-elements-button-border-color;
67
67
 
68
- &:hover,
69
- &:focus {
68
+ &:hover, &:focus {
70
69
  box-shadow: none;
71
70
  transition: $color-transition;
72
71
  color: $snippet-elements-button-color;
@@ -92,4 +91,4 @@
92
91
  padding: 1rem;
93
92
  }
94
93
  }
95
- }
94
+ }
@@ -171,8 +171,7 @@
171
171
  color: $snippet-elements-button-color;
172
172
  border: none;
173
173
  background-color: $snippet-elements-button-background-color;
174
- box-shadow: 0 0 0 $input-btn-focus-width
175
- $snippet-elements-button-background-color;
174
+ box-shadow: 0 0 0 $input-btn-focus-width $snippet-elements-button-background-color;
176
175
  }
177
176
 
178
177
  &:disabled {
@@ -228,8 +227,7 @@
228
227
  color: $snippet-elements-button-color;
229
228
  border: none;
230
229
  background-color: $snippet-elements-button-background-color;
231
- box-shadow: 0 0 0 $input-btn-focus-width
232
- $snippet-elements-button-background-color;
230
+ box-shadow: 0 0 0 $input-btn-focus-width $snippet-elements-button-background-color;
233
231
  }
234
232
 
235
233
  &:disabled {
@@ -1,69 +1,69 @@
1
1
  @import "../snippet-templates/snippetVariables";
2
2
 
3
3
  .iframe-event-form {
4
- background-color: transparent;
5
- border-color: transparent;
6
- border-width: 1px;
7
- border-style: solid;
8
- transition: $color-transition;
9
- padding: 1.5rem;
10
- border-radius: $iframe-border-radius;
11
- width: 100%;
12
-
13
- &__title {
14
- transition: $color-transition;
15
- color: $snippet-elements-body-color;
16
- }
17
-
18
- .btn.btn-primary {
19
- transition: $color-transition;
20
- color: $snippet-elements-button-color;
21
4
  background-color: transparent;
22
- border: none;
5
+ border-color: transparent;
6
+ border-width: 1px;
7
+ border-style: solid;
8
+ transition: $color-transition;
9
+ padding: 1.5rem;
23
10
  border-radius: $iframe-border-radius;
24
-
25
- &:active,
26
- &.active,
27
- &:hover,
28
- &.hover,
29
- &:focus,
30
- &.focus {
31
- &:not(:disabled) {
32
- color: $snippet-elements-button-color;
33
- border: none;
34
- background-color: transparent;
35
- box-shadow: 0 0 0 $input-btn-focus-width transparent;
11
+ width: 100%;
12
+
13
+ &__title {
14
+ transition: $color-transition;
15
+ color: $snippet-elements-body-color;
16
+ }
17
+
18
+ .btn.btn-primary {
19
+ transition: $color-transition;
20
+ color: $snippet-elements-button-color;
21
+ background-color: transparent;
22
+ border: none;
23
+ border-radius: $iframe-border-radius;
24
+
25
+ &:active,
26
+ &.active,
27
+ &:hover,
28
+ &.hover,
29
+ &:focus,
30
+ &.focus {
31
+ &:not(:disabled) {
32
+ color: $snippet-elements-button-color;
33
+ border: none;
34
+ background-color: transparent;
35
+ box-shadow: 0 0 0 $input-btn-focus-width transparent;
36
+ }
37
+
38
+ &:disabled {
39
+ border: none;
40
+ }
36
41
  }
37
-
38
- &:disabled {
39
- border: none;
42
+
43
+ &:hover,
44
+ &.hover,
45
+ &:focus,
46
+ &.focus {
47
+ &:not(:disabled) {
48
+ opacity: .7;
49
+ }
40
50
  }
41
- }
42
-
43
- &:hover,
44
- &.hover,
45
- &:focus,
46
- &.focus {
47
- &:not(:disabled) {
48
- opacity: 0.7;
51
+
52
+ &:active,
53
+ &.active {
54
+ &:not(:disabled) {
55
+ opacity: .8;
56
+ }
49
57
  }
50
58
  }
51
59
 
52
- &:active,
53
- &.active {
54
- &:not(:disabled) {
55
- opacity: 0.8;
56
- }
60
+ input {
61
+ border-radius: $iframe-border-radius;
57
62
  }
58
- }
59
-
60
- input {
61
- border-radius: $iframe-border-radius;
62
- }
63
63
  }
64
64
 
65
65
  @include media-breakpoint-down(sm) {
66
- .iframe-event-form {
67
- margin-bottom: 5rem;
68
- }
66
+ .iframe-event-form {
67
+ margin-bottom: 5rem;
68
+ }
69
69
  }