@licklist/design 0.49.0 → 0.50.0-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 (81) hide show
  1. package/dist/calendar/Calendar.d.ts +3 -0
  2. package/dist/calendar/Calendar.d.ts.map +1 -1
  3. package/dist/calendar/components/CalendarButtons/CalendarButtons.js +1 -1
  4. package/dist/calendar/components/CalendarDates/CalendarDates.d.ts +1 -1
  5. package/dist/calendar/components/CalendarDates/CalendarDates.d.ts.map +1 -1
  6. package/dist/calendar/components/CalendarDates/CalendarDates.js +1 -1
  7. package/dist/calendar/utils/index.d.ts +2 -1
  8. package/dist/calendar/utils/index.d.ts.map +1 -1
  9. package/dist/calendar/utils/index.js +1 -1
  10. package/dist/date-time-button/DateTimeButton.d.ts +3 -2
  11. package/dist/date-time-button/DateTimeButton.d.ts.map +1 -1
  12. package/dist/date-time-button/DateTimeButton.js +1 -1
  13. package/dist/events/event-venue-map/components/Scrollbars/Scrollbars.js +1 -1
  14. package/dist/iframe/event/event-booking-products/EventBookingProducts.js +1 -1
  15. package/dist/iframe/event/event-booking-products/components/AccordionItem/AccordionItem.d.ts +2 -2
  16. package/dist/iframe/event/event-booking-products/components/AccordionItem/AccordionItem.d.ts.map +1 -1
  17. package/dist/iframe/event/event-booking-products/components/AccordionItem/AccordionItem.js +1 -1
  18. package/dist/iframe/order-process/components/BookingSummary/components/ProductsByMenuStep/ProductsByMenuStep.js +1 -1
  19. package/dist/iframe/order-process/components/BookingSummary/components/ToggleHeader/ToggleHeader.js +1 -1
  20. package/dist/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.d.ts +2 -1
  21. package/dist/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.d.ts.map +1 -1
  22. package/dist/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.js +1 -1
  23. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts +1 -1
  24. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts.map +1 -1
  25. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.js +1 -1
  26. package/dist/iframe/order-process/components/utils/useCategoryVerification.js +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  29. package/dist/product-set/product/ProductControl.js +1 -1
  30. package/dist/product-set/product/duration/ProductDurationControl.d.ts +1 -2
  31. package/dist/product-set/product/duration/ProductDurationControl.d.ts.map +1 -1
  32. package/dist/product-set/product/duration/ProductDurationControl.js +1 -1
  33. package/dist/sales/manual-booking/summary/ManualBookingSummary.d.ts +2 -1
  34. package/dist/sales/manual-booking/summary/ManualBookingSummary.d.ts.map +1 -1
  35. package/dist/sales/manual-booking/summary/ManualBookingSummary.js +1 -1
  36. package/dist/static/date-range-input/DateRangeInput.d.ts.map +1 -1
  37. package/dist/static/date-range-input/DateRangeInput.js +1 -1
  38. package/dist/static/switch/BooleanSwitch.d.ts +3 -1
  39. package/dist/static/switch/BooleanSwitch.d.ts.map +1 -1
  40. package/dist/static/switch/BooleanSwitch.js +1 -1
  41. package/dist/styles/resources-blocking/_index.scss +6 -0
  42. package/dist/styles/sales/BookingFilter.scss +21 -1
  43. package/dist/styles/sales/BookingResults.scss +1 -1
  44. package/dist/styles/sales/BookingTabs.scss +63 -5
  45. package/dist/styles/sales/LifeTimeSales.scss +1 -0
  46. package/dist/styles/sales/ManualBooking.scss +56 -2
  47. package/dist/styles/sales/SourceOfSales.scss +3 -0
  48. package/dist/styles/static/Switch.scss +1 -0
  49. package/dist/styles/static/Tabs.scss +6 -0
  50. package/dist/table/TableHelperComponent.d.ts +2 -1
  51. package/dist/table/TableHelperComponent.d.ts.map +1 -1
  52. package/dist/table/TableHelperComponent.js +1 -1
  53. package/package.json +3 -3
  54. package/src/calendar/Calendar.tsx +5 -0
  55. package/src/calendar/components/CalendarButtons/CalendarButtons.tsx +3 -3
  56. package/src/calendar/components/CalendarDates/CalendarDates.tsx +5 -2
  57. package/src/calendar/utils/index.ts +15 -6
  58. package/src/date-time-button/DateTimeButton.tsx +16 -3
  59. package/src/iframe/event/event-booking-products/EventBookingProducts.tsx +1 -1
  60. package/src/iframe/event/event-booking-products/components/AccordionItem/AccordionItem.tsx +8 -8
  61. package/src/iframe/order-process/components/BookingSummary/BookingSummary.stories.tsx +5 -5
  62. package/src/iframe/order-process/components/BookingSummary/components/ProductsByMenuStep/ProductsByMenuStep.tsx +2 -2
  63. package/src/iframe/order-process/components/BookingSummaryFooter/BookingSummaryFooter.tsx +16 -3
  64. package/src/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.tsx +2 -2
  65. package/src/iframe/order-process/components/utils/useCategoryVerification.ts +1 -1
  66. package/src/iframe/payment/payment-page/PaymentPage.stories.tsx +1 -1
  67. package/src/product-set/product/ProductControl.tsx +1 -4
  68. package/src/product-set/product/duration/ProductDurationControl.tsx +10 -9
  69. package/src/sales/manual-booking/summary/ManualBookingSummary.tsx +9 -1
  70. package/src/static/date-range-input/DateRangeInput.tsx +23 -2
  71. package/src/static/switch/BooleanSwitch.tsx +6 -2
  72. package/src/styles/resources-blocking/_index.scss +6 -0
  73. package/src/styles/sales/BookingFilter.scss +21 -1
  74. package/src/styles/sales/BookingResults.scss +1 -1
  75. package/src/styles/sales/BookingTabs.scss +63 -5
  76. package/src/styles/sales/LifeTimeSales.scss +1 -0
  77. package/src/styles/sales/ManualBooking.scss +56 -2
  78. package/src/styles/sales/SourceOfSales.scss +3 -0
  79. package/src/styles/static/Switch.scss +1 -0
  80. package/src/styles/static/Tabs.scss +6 -0
  81. package/src/table/TableHelperComponent.tsx +73 -18
@@ -147,35 +147,35 @@ export function Default() {
147
147
  quantity: 1,
148
148
  name: "cat 1 prod 1",
149
149
  price: 0,
150
- productsCategoryId: 1,
150
+ productCategoryId: 1,
151
151
  },
152
152
  "21": {
153
153
  id: 21,
154
154
  quantity: 2,
155
155
  name: "cat 2 prod 1",
156
156
  price: 1,
157
- productsCategoryId: 2,
157
+ productCategoryId: 2,
158
158
  },
159
159
  "31": {
160
160
  id: 31,
161
161
  quantity: 4,
162
162
  name: "cat 3 prod 1",
163
163
  price: 1,
164
- productsCategoryId: 3,
164
+ productCategoryId: 3,
165
165
  },
166
166
  "32": {
167
167
  id: 32,
168
168
  quantity: 4,
169
169
  name: "cat 3 prod 2",
170
170
  price: 1,
171
- productsCategoryId: 3,
171
+ productCategoryId: 3,
172
172
  },
173
173
  "41": {
174
174
  id: 41,
175
175
  quantity: 4,
176
176
  name: "cat 4 prod 1",
177
177
  price: 1,
178
- productsCategoryId: 4,
178
+ productCategoryId: 4,
179
179
  },
180
180
  }}
181
181
  totalWithDiscount={5}
@@ -13,7 +13,7 @@ const doesStepHaveItems = (orderItems: OrderItems, step: MenuStep): boolean => {
13
13
  const categoriesIds = step.productCategories.map((category) => category.id);
14
14
 
15
15
  const stepItems = values(orderItems).filter((item) =>
16
- categoriesIds.includes(item.productsCategoryId)
16
+ categoriesIds.includes(item.productCategoryId)
17
17
  );
18
18
 
19
19
  return stepItems.length > 0;
@@ -23,7 +23,7 @@ const getOrderItemsForCategory = (
23
23
  orderItems: OrderItems,
24
24
  categoryId: number
25
25
  ): OrderItem[] =>
26
- values(orderItems).filter((item) => item.productsCategoryId === categoryId);
26
+ values(orderItems).filter((item) => item.productCategoryId === categoryId);
27
27
 
28
28
  export type ProductsByMenuStepsProps = {
29
29
  orderItems: OrderItems;
@@ -1,6 +1,7 @@
1
1
  import React, { ReactNode, PropsWithChildren } from "react";
2
2
  import { useTranslation } from "react-i18next";
3
3
  import Button from "react-bootstrap/Button";
4
+ import { Spinner } from "react-bootstrap";
4
5
  import { STEP_FORM_ID } from "../../constants";
5
6
 
6
7
  type ButtonPropsWithoutOnClick = {
@@ -18,29 +19,41 @@ type FooterProps = Partial<
18
19
  disabled?: boolean;
19
20
  buttonLabel?: ReactNode;
20
21
  showButton?: boolean;
22
+ isLoading: boolean;
21
23
  } & (ButtonPropsWithoutOnClick | ButtonPropsWithOnClick)
22
24
  >;
23
25
 
24
26
  export type BookingSummaryFooterProps = PropsWithChildren<FooterProps>;
25
27
 
26
28
  export const BookingSummaryFooter = ({
27
- disabled = false,
29
+ disabled: _disabled = false,
28
30
  onClick,
29
31
  buttonLabel,
30
32
  form = STEP_FORM_ID,
31
33
  children,
32
34
  showButton = true,
35
+ isLoading = false,
33
36
  }: BookingSummaryFooterProps) => {
34
37
  const { t } = useTranslation("Design");
35
38
 
36
39
  const buttonProps = onClick ? { onClick } : { type: "submit", form };
37
40
 
41
+ const disabled = _disabled || isLoading;
42
+
38
43
  return (
39
44
  <div className="d-flex flex-column">
40
45
  {children}
41
46
  {showButton && (
42
- <Button className="m-0 mt-3" disabled={disabled} {...buttonProps}>
43
- {buttonLabel ?? t("continue")}
47
+ <Button
48
+ className="m-0 d-flex align-items-center justify-content-center mt-3"
49
+ disabled={disabled}
50
+ {...buttonProps}
51
+ >
52
+ {isLoading ? (
53
+ <Spinner animation="border" size="sm" role="status" />
54
+ ) : (
55
+ buttonLabel ?? t("continue")
56
+ )}
44
57
  </Button>
45
58
  )}
46
59
  </div>
@@ -14,7 +14,7 @@ interface FormOrderItem {
14
14
  id: number;
15
15
  name: string;
16
16
  price: number;
17
- productsCategoryId: number;
17
+ productCategoryId: number;
18
18
  zoneId?: Zone["id"];
19
19
  deposit?: number | null;
20
20
  quantity: number;
@@ -50,7 +50,7 @@ export const ProductQuantityInput = ({
50
50
  name: product.name,
51
51
  deposit,
52
52
  price: product.price,
53
- productsCategoryId: category.id,
53
+ productCategoryId: category.id,
54
54
  zoneId: category.zone?.id,
55
55
  quantity,
56
56
  capacity: product?.capacity,
@@ -47,7 +47,7 @@ export const useCategoryVerification = () => {
47
47
  if (!minSubItems && !maxSubItems) return;
48
48
 
49
49
  const categoryProductsQuantity = productArray.filter(
50
- (product) => product?.productsCategoryId === id
50
+ (product) => product?.productCategoryId === id
51
51
  ).length;
52
52
 
53
53
  if (minSubItems && categoryProductsQuantity < minSubItems) {
@@ -33,7 +33,7 @@ Default.args = {
33
33
  id: 348,
34
34
  quantity: 1,
35
35
  price: 3,
36
- productsCategoryId: 216,
36
+ productCategoryId: 216,
37
37
  name: "test",
38
38
  },
39
39
  numberOfPeople: 1,
@@ -140,9 +140,7 @@ export function ProductControl<T extends FormValues>({
140
140
  clearErrors,
141
141
  } = useFormContext<T>();
142
142
 
143
- const { setLoading, providerHasBookingManagement } = useContext(
144
- ProductSetLoadingContext
145
- );
143
+ const { setLoading } = useContext(ProductSetLoadingContext);
146
144
  const { t } = useTranslation(["Design", "Validation"]);
147
145
  const [expanded, setExpanded] = useState(false);
148
146
  const [initialImages, setInitialImages] = useState<Image[] | null>(null);
@@ -394,7 +392,6 @@ export function ProductControl<T extends FormValues>({
394
392
  <Row className="align-items-start duration-capacity-container">
395
393
  <ProductDurationControl
396
394
  fieldNamePrefix={fieldNamePrefix}
397
- providerHasBookingManagement={providerHasBookingManagement}
398
395
  disabled={disabledDuration}
399
396
  />
400
397
 
@@ -8,13 +8,11 @@ import { useTranslation } from "react-i18next";
8
8
  import { ReactComponent as IncrementIcon } from "../../../assets/dashboard/increment.svg";
9
9
 
10
10
  export interface ProductDurationControlProps<T> extends FieldNamePrefixPath<T> {
11
- providerHasBookingManagement: boolean;
12
11
  disabled: boolean;
13
12
  }
14
13
 
15
14
  export const ProductDurationControl = <T,>({
16
15
  fieldNamePrefix,
17
- providerHasBookingManagement,
18
16
  disabled,
19
17
  }: ProductDurationControlProps<T>) => {
20
18
  const { t } = useTranslation("Design");
@@ -59,18 +57,21 @@ export const ProductDurationControl = <T,>({
59
57
  control={control}
60
58
  name={fieldName}
61
59
  rules={{
62
- required: {
63
- value: Boolean(providerHasBookingManagement),
64
- message: t("Validation:fieldRequired", {
65
- attribute: t("duration"),
66
- }),
67
- },
68
60
  min: {
69
- value: 1,
61
+ value: 0,
70
62
  message: t("Validation:fieldMinNumber", {
71
63
  attribute: t("duration"),
64
+ min: 0,
72
65
  }),
73
66
  },
67
+ validate: (val) => {
68
+ if (!disabled && (!val || val < 1)) {
69
+ return t("Validation:fieldRequired", {
70
+ attribute: t("duration"),
71
+ }) as string;
72
+ }
73
+ return true;
74
+ },
74
75
  }}
75
76
  render={({ field }) => (
76
77
  <>
@@ -24,6 +24,7 @@ export interface ManualBookingSummaryProps {
24
24
  isFeeFetching: boolean;
25
25
  orderDate: string;
26
26
  relyOnPeopleType?: RelyOnPeopleType | null;
27
+ isMobileView?: boolean;
27
28
  }
28
29
 
29
30
  export const ManualBookingSummary = ({
@@ -35,6 +36,7 @@ export const ManualBookingSummary = ({
35
36
  orderDate,
36
37
  relyOnPeopleType,
37
38
  hasBookingCategory,
39
+ isMobileView,
38
40
  }: ManualBookingSummaryProps) => {
39
41
  const { t } = useTranslation(["Design", "Sale"]);
40
42
  const { formatNumber } = useIntl();
@@ -44,7 +46,13 @@ export const ManualBookingSummary = ({
44
46
  const date = currentDate.toFormat(DATE_TIME_MANUAL_BOOKING_FORMAT);
45
47
  const time = currentDate.toFormat(TIME_FORMAT);
46
48
  return (
47
- <div className="manual-booking-summary">
49
+ <div
50
+ className={
51
+ isMobileView
52
+ ? "manual-booking-summary-mobile"
53
+ : "manual-booking-summary"
54
+ }
55
+ >
48
56
  <div className="receipt-title">{t("Sale:receipt")}</div>
49
57
  <div className="event-name border-summary-item">{eventName}</div>
50
58
  <div className="border-summary-item">{date}</div>
@@ -11,10 +11,13 @@ import {
11
11
  rangeDatesToStringDates,
12
12
  stringDatesToInputValue,
13
13
  } from "./utils";
14
+ import { MOBILE_WIDTH } from "../../iframe/order-process/components/BookingSummary/types";
14
15
 
15
16
  import "react-date-range/dist/styles.css";
16
17
  import "react-date-range/dist/theme/default.css";
17
18
 
19
+ type DateRangeDirection = "vertical" | "horizontal";
20
+
18
21
  type DateRangeInputProps = {
19
22
  placeholder: string;
20
23
  startDate?: string;
@@ -33,7 +36,7 @@ export const DateRangeInput = ({
33
36
  disabled,
34
37
  }: DateRangeInputProps) => {
35
38
  const { t } = useTranslation("Design");
36
-
39
+ const [direction, setDirection] = useState<DateRangeDirection>("horizontal");
37
40
  const [state, setState] = useState<Range[]>([
38
41
  {
39
42
  startDate: new Date(),
@@ -82,6 +85,24 @@ export const DateRangeInput = ({
82
85
  }
83
86
  }, [startDate, endDate]);
84
87
 
88
+ useEffect(() => {
89
+ const resizeBodyInMobile = () => {
90
+ if (window.innerWidth > MOBILE_WIDTH) {
91
+ setDirection("horizontal");
92
+ return;
93
+ }
94
+
95
+ setDirection("vertical");
96
+ };
97
+
98
+ resizeBodyInMobile();
99
+ window.addEventListener("resize", resizeBodyInMobile);
100
+
101
+ return () => {
102
+ window.removeEventListener("resize", resizeBodyInMobile);
103
+ };
104
+ }, []);
105
+
85
106
  return (
86
107
  <div>
87
108
  <OverlayTrigger
@@ -94,7 +115,7 @@ export const DateRangeInput = ({
94
115
  moveRangeOnFirstSelection={false}
95
116
  ranges={state}
96
117
  months={months}
97
- direction="horizontal"
118
+ direction={direction}
98
119
  />
99
120
  <div className="mt-3 d-flex justify-content-end">
100
121
  <Button onClick={onReset} variant="link">
@@ -8,6 +8,8 @@ export interface BooleanSwitchProps {
8
8
  value?: boolean;
9
9
  disabled?: boolean;
10
10
  onChange: (value: boolean) => void;
11
+ firstValueTitle?: string;
12
+ secondValueTitle?: string;
11
13
  }
12
14
 
13
15
  export function BooleanSwitch({
@@ -15,12 +17,14 @@ export function BooleanSwitch({
15
17
  value,
16
18
  disabled,
17
19
  onChange,
20
+ firstValueTitle,
21
+ secondValueTitle,
18
22
  }: BooleanSwitchProps) {
19
23
  const { t } = useTranslation("Design");
20
24
 
21
25
  const options: SelectItem[] = [
22
- { id: 1, value: t("yes") },
23
- { id: 0, value: t("no") },
26
+ { id: 1, value: firstValueTitle ?? t("yes") },
27
+ { id: 0, value: secondValueTitle ?? t("no") },
24
28
  ];
25
29
 
26
30
  const handleChange = useCallback(
@@ -106,6 +106,12 @@
106
106
  align-items: center;
107
107
  gap: 0.25rem;
108
108
  margin-bottom: 0.5rem;
109
+
110
+ @include media-breakpoint-down(sm) {
111
+ justify-content: center;
112
+ flex-wrap: wrap;
113
+ }
114
+
109
115
  }
110
116
 
111
117
  .text-input.form-group {
@@ -157,6 +157,19 @@
157
157
  margin-bottom: 0;
158
158
  }
159
159
  }
160
+
161
+ .apply-container{
162
+ display: flex;
163
+ justify-content: space-around;
164
+ column-gap: 2rem;
165
+ margin-left: 3rem;
166
+
167
+ @include media-breakpoint-down(sm) {
168
+ flex-direction: row;
169
+ margin-left: 0rem;
170
+ column-gap: 1rem;
171
+ }
172
+ }
160
173
  }
161
174
 
162
175
  .additional-filter-container {
@@ -164,10 +177,12 @@
164
177
 
165
178
  @include media-breakpoint-down(md) {
166
179
  flex-wrap: wrap;
180
+
167
181
  .date-container {
168
182
  width: 100%;
169
183
  flex: 1;
170
184
  }
185
+
171
186
  .btn-primary {
172
187
  margin-top: 1rem;
173
188
  }
@@ -228,6 +243,11 @@
228
243
  transform: rotate(45deg);
229
244
  }
230
245
  }
246
+
247
+ @include media-breakpoint-down(sm) {
248
+ flex-direction: column;
249
+ justify-content: flex-start;
250
+ }
231
251
  }
232
252
  }
233
- }
253
+ }
@@ -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);
@@ -1,24 +1,49 @@
1
1
  .booking-tabs-pane {
2
2
  display: flex;
3
3
  flex-direction: row;
4
+ justify-content: space-between;
4
5
  align-items: center;
5
6
  height: 2.75rem;
6
7
  background-color: $white;
7
8
 
8
9
  .booking-tabs {
9
10
  svg {
10
- g > rect:first-child {
11
- fill: $white;
11
+ g>rect:first-child {
12
+ fill: $white;
12
13
  }
13
14
  }
14
-
15
+
15
16
  .active {
16
17
  svg {
17
- g > rect:first-child {
18
- fill: $blue;
18
+ g>rect:first-child {
19
+ fill: $blue;
19
20
  }
20
21
  }
21
22
  }
23
+
24
+ @include media-breakpoint-down(sm) {
25
+ width: 4rem;
26
+ }
27
+ }
28
+
29
+ .content {
30
+ display: flex;
31
+ justify-content: space-between;
32
+ width: 90%;
33
+ flex-direction: row;
34
+
35
+ @include media-breakpoint-down(sm) {
36
+ display: flex;
37
+ flex-direction: column;
38
+ align-items: start;
39
+ height: 4rem;
40
+ }
41
+
42
+ .booking {
43
+ @include media-breakpoint-down(sm) {
44
+ height: 13rem;
45
+ }
46
+ }
22
47
  }
23
48
 
24
49
  .separator {
@@ -29,6 +54,12 @@
29
54
  .children {
30
55
  flex: 1;
31
56
  margin-left: 1rem;
57
+
58
+ @include media-breakpoint-down(sm) {
59
+ display: flex;
60
+ flex-direction: column;
61
+ align-items: start;
62
+ }
32
63
  }
33
64
 
34
65
  .buttons {
@@ -61,6 +92,33 @@
61
92
  border-radius: 0.625rem;
62
93
  margin-right: 0.5rem;
63
94
  }
95
+ @include media-breakpoint-down(sm) {
96
+ width: 12.5rem;
97
+ }
98
+
99
+ }
100
+
101
+ @include media-breakpoint-down(sm) {
102
+ display: flex;
103
+ flex-direction: column;
104
+ align-items: start;
105
+ gap: .5rem;
106
+ margin-top: .5rem;
107
+ white-space: nowrap;
108
+ }
109
+ }
110
+
111
+ @include media-breakpoint-down(sm) {
112
+ display: flex;
113
+ align-items: start;
114
+ gap: 1rem;
115
+ margin-top: 1rem;
116
+ height: 100%;
117
+ }
118
+
119
+ .booking {
120
+ @include media-breakpoint-down(sm) {
121
+ height: 13rem;
64
122
  }
65
123
  }
66
124
  }
@@ -33,6 +33,7 @@
33
33
  }
34
34
 
35
35
  @include media-breakpoint-down(sm) {
36
+ height: 12rem;
36
37
  &__value {
37
38
  line-height: 1rem;
38
39
  font-size: 2rem;
@@ -361,10 +361,11 @@
361
361
  width: inherit;
362
362
 
363
363
  @include media-breakpoint-down(sm) {
364
- padding: 0 0.5rem;
365
- padding-top: 2rem;
364
+ display: none;
366
365
  }
367
366
 
367
+
368
+
368
369
  .form-control {
369
370
  margin-bottom: 1.5rem;
370
371
  }
@@ -411,6 +412,59 @@
411
412
  }
412
413
  }
413
414
 
415
+ .manual-booking-summary-mobile {
416
+ padding: 0 1.5rem;
417
+ padding-top: 2rem;
418
+ height: max-content;
419
+ margin-bottom: 1.5rem;
420
+ width: inherit;
421
+
422
+ .form-control {
423
+ margin-bottom: .5rem;
424
+ }
425
+ .receipt-title {
426
+ font-size: 1.125rem;
427
+ font-weight: 600;
428
+ padding-bottom: 0.4rem;
429
+ margin-bottom: 1rem;
430
+ border-bottom: 2px solid $gray-400;
431
+ }
432
+ .event-name {
433
+ font-size: 0.94rem;
434
+ font-weight: 600;
435
+ }
436
+
437
+ .border-summary-item {
438
+ padding-bottom: 0.9rem;
439
+ margin-bottom: 1%;
440
+ border-bottom: 2px solid $gray-100;
441
+ flex-wrap: wrap;
442
+ }
443
+
444
+ .total-container {
445
+ display: flex;
446
+ justify-content: space-between;
447
+ font-size: 1rem;
448
+ font-weight: 600;
449
+
450
+ @include media-breakpoint-down(lg) {
451
+ flex-wrap: wrap;
452
+ }
453
+ .total-amount {
454
+ padding-left: 1rem;
455
+ @include media-breakpoint-down(lg) {
456
+ padding-left: 0;
457
+ }
458
+ }
459
+ }
460
+
461
+ .summary-item-container {
462
+ .border-summary-item:nth-last-child(2) {
463
+ border-bottom: 2px solid $gray-400;
464
+ }
465
+ }
466
+ }
467
+
414
468
  .menu-list-manual-booking {
415
469
  display: flex;
416
470
  align-items: center;
@@ -13,6 +13,9 @@
13
13
 
14
14
  &__pie-chart {
15
15
  height: 100%;
16
+ @include media-breakpoint-down(sm) {
17
+ height: 12rem;
18
+ }
16
19
  }
17
20
 
18
21
  .colors-0 {
@@ -27,6 +27,7 @@ $btn-switch-option-padding-y: calc(#{$btn-padding-y} - #{sp(1)}) !default;
27
27
  border-radius: $btn-switch-option-border-radius;
28
28
  margin: 0;
29
29
  padding: $btn-switch-option-padding-y $btn-switch-option-padding-x;
30
+ min-width: 4.25rem;
30
31
 
31
32
  &:hover,
32
33
  &:active,
@@ -11,6 +11,12 @@ $tab-nav-link-active-border-bottom: 1px solid $tab-nav-link-active-color !defaul
11
11
  margin-left: -1.25rem;
12
12
  border-bottom: 1px solid $nav-tabs-border-color;
13
13
 
14
+ @include media-breakpoint-down(sm) {
15
+ display: flex;
16
+ flex-direction: column;
17
+ white-space: nowrap;
18
+ }
19
+
14
20
  .nav-link {
15
21
  color: $tab-nav-link-color;
16
22
  background-color: transparent;