@licklist/design 0.58.6-dev.0 → 0.58.6-dev.10

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 (138) hide show
  1. package/bitbucket-pipelines.yml +0 -8
  2. package/dist/assets/iframe/calendar.svg +2 -2
  3. package/dist/assets/iframe/calendar.svg.js +1 -1
  4. package/dist/assets/iframe/ticket.svg +2 -2
  5. package/dist/assets/iframe/ticket.svg.js +1 -1
  6. package/dist/calendar/Calendar.d.ts +1 -1
  7. package/dist/calendar/Calendar.d.ts.map +1 -1
  8. package/dist/calendar/Calendar.js +1 -1
  9. package/dist/calendar/components/CalendarButtons/CalendarButtons.js +1 -1
  10. package/dist/calendar/components/CalendarDates/CalendarDates.d.ts +2 -2
  11. package/dist/calendar/components/CalendarDates/CalendarDates.d.ts.map +1 -1
  12. package/dist/calendar/components/CalendarDates/CalendarDates.js +1 -1
  13. package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.js +1 -1
  14. package/dist/events/event-statistic-modal/EventStatisticModal.js +1 -1
  15. package/dist/iframe/event/event-venue-map/IframeEventVenueMap.js +1 -1
  16. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts +2 -2
  17. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.d.ts.map +1 -1
  18. package/dist/iframe/order-process/components/BookingSummary/BookingSummary.js +1 -1
  19. package/dist/iframe/order-process/components/BookingSummary/components/BookingSummaryAccordion/BookingSummaryAccordion.d.ts +4 -2
  20. package/dist/iframe/order-process/components/BookingSummary/components/BookingSummaryAccordion/BookingSummaryAccordion.d.ts.map +1 -1
  21. package/dist/iframe/order-process/components/BookingSummary/components/BookingSummaryAccordion/BookingSummaryAccordion.js +1 -1
  22. package/dist/iframe/order-process/components/BookingSummary/components/SummaryTotal/components/SummaryTotalBlock.d.ts +1 -1
  23. package/dist/iframe/order-process/components/BookingSummary/components/SummaryTotal/components/SummaryTotalBlock.d.ts.map +1 -1
  24. package/dist/iframe/order-process/components/BookingSummary/components/SummaryTotal/components/SummaryTotalBlock.js +1 -1
  25. package/dist/iframe/order-process/components/BookingSummary/components/ToggleHeader/ToggleHeader.d.ts +4 -2
  26. package/dist/iframe/order-process/components/BookingSummary/components/ToggleHeader/ToggleHeader.d.ts.map +1 -1
  27. package/dist/iframe/order-process/components/BookingSummary/components/ToggleHeader/ToggleHeader.js +1 -1
  28. package/dist/iframe/order-process/components/BookingSummary/types/index.d.ts +4 -0
  29. package/dist/iframe/order-process/components/BookingSummary/types/index.d.ts.map +1 -1
  30. package/dist/iframe/order-process/components/CalendarStepsForm/CalendarStepsForm.js +1 -1
  31. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.js +1 -1
  32. package/dist/iframe/page/components/PageBody/constants.d.ts +1 -0
  33. package/dist/iframe/page/components/PageBody/constants.d.ts.map +1 -1
  34. package/dist/iframe/page/components/PageBody/constants.js +1 -1
  35. package/dist/iframe/page/components/PageBody/hooks/useResizePageBody.d.ts.map +1 -1
  36. package/dist/iframe/page/components/PageBody/hooks/useResizePageBody.js +1 -1
  37. package/dist/iframe/payment/order-items-table/OrderItemsTable.js +1 -1
  38. package/dist/iframe/payment/payment-form/PaymentForm.js +1 -1
  39. package/dist/iframe/payment/payment-page/PaymentPage.d.ts.map +1 -1
  40. package/dist/iframe/payment/payment-page/PaymentPage.js +1 -1
  41. package/dist/iframe/payment/payment-page/PaymentTimer.js +1 -1
  42. package/dist/iframe/payment/payment-status-page/PaymentStatusPage.js +1 -1
  43. package/dist/iframe/ryft/RyftPaymentForm.d.ts.map +1 -1
  44. package/dist/iframe/ryft/RyftPaymentForm.js +1 -1
  45. package/dist/iframe/ryft/utils/ryft-form.d.ts +5 -0
  46. package/dist/iframe/ryft/utils/ryft-form.d.ts.map +1 -0
  47. package/dist/iframe/ryft/utils/ryft-form.js +1 -0
  48. package/dist/index.js +1 -1
  49. package/dist/product-set/card/ProductSetCard.d.ts.map +1 -1
  50. package/dist/product-set/card/ProductSetCard.js +1 -1
  51. package/dist/product-set/control/DateInput.d.ts.map +1 -1
  52. package/dist/product-set/control/DateInput.js +1 -1
  53. package/dist/product-set/form/VenueMapsControl.js +1 -1
  54. package/dist/product-set/product/ProductControl.d.ts +1 -0
  55. package/dist/product-set/product/ProductControl.d.ts.map +1 -1
  56. package/dist/product-set/product/ProductControl.js +1 -1
  57. package/dist/product-set/product-category/ProductCategoryControl.d.ts +1 -0
  58. package/dist/product-set/product-category/ProductCategoryControl.d.ts.map +1 -1
  59. package/dist/product-set/product-category/ProductCategoryControl.js +1 -1
  60. package/dist/provider/working-hours-input/WorkingHoursInputDescription.d.ts.map +1 -1
  61. package/dist/provider/working-hours-input/WorkingHoursInputDescription.js +1 -1
  62. package/dist/recurring-date-picker-input/RecurrenceAndFrequencyInput.js +1 -1
  63. package/dist/sales/booking/results/components/ResultCard.js +1 -1
  64. package/dist/sales/notes/NotesTableRow.js +1 -1
  65. package/dist/setting/dashboard/snippets/card/SnippetCard.js +1 -1
  66. package/dist/snippet/snippet-template/control/PropertyControl.d.ts +3 -1
  67. package/dist/snippet/snippet-template/control/PropertyControl.d.ts.map +1 -1
  68. package/dist/snippet/snippet-template/control/PropertyControl.js +1 -1
  69. package/dist/snippet/snippet-template/preview/Preview.js +1 -1
  70. package/dist/striped-static-table/StripedStaticTable.js +1 -1
  71. package/dist/styles/iframe-order-process/IframeOrderProcess.scss +57 -18
  72. package/dist/styles/iframe-page/PageBody.scss +2 -1
  73. package/dist/styles/ryft-payment-form/RyftPaymentForm.scss +125 -2
  74. package/dist/venue-map-sets/form/components/VenueMapImageControl.js +1 -1
  75. package/package.json +10 -35
  76. package/src/assets/iframe/calendar.svg +2 -2
  77. package/src/assets/iframe/ticket.svg +2 -2
  78. package/src/calendar/Calendar.stories.tsx +23 -0
  79. package/src/calendar/Calendar.tsx +5 -5
  80. package/src/calendar/components/CalendarDates/CalendarDates.tsx +0 -5
  81. package/src/iframe/order-process/components/BookingSummary/BookingSummary.stories.tsx +9 -0
  82. package/src/iframe/order-process/components/BookingSummary/BookingSummary.tsx +58 -7
  83. package/src/iframe/order-process/components/BookingSummary/components/BookingSummaryAccordion/BookingSummaryAccordion.tsx +8 -0
  84. package/src/iframe/order-process/components/BookingSummary/components/SummaryTotal/components/SummaryTotalBlock.tsx +4 -4
  85. package/src/iframe/order-process/components/BookingSummary/components/ToggleHeader/ToggleHeader.tsx +63 -10
  86. package/src/iframe/order-process/components/BookingSummary/types/index.ts +4 -0
  87. package/src/iframe/page/components/PageBody/constants.ts +2 -0
  88. package/src/iframe/page/components/PageBody/hooks/useResizePageBody.ts +10 -0
  89. package/src/iframe/payment/payment-page/PaymentPage.stories.tsx +546 -6
  90. package/src/iframe/payment/payment-page/PaymentPage.tsx +38 -29
  91. package/src/iframe/ryft/RyftPaymentForm.tsx +11 -5
  92. package/src/iframe/ryft/utils/ryft-form.ts +47 -0
  93. package/src/product-set/card/ProductSetCard.tsx +5 -3
  94. package/src/product-set/control/DateInput.tsx +7 -3
  95. package/src/product-set/product/ProductControl.tsx +25 -3
  96. package/src/product-set/product-category/ProductCategoryControl.tsx +105 -43
  97. package/src/provider/working-hours-input/WorkingHoursInputDescription.tsx +4 -18
  98. package/src/recurring-date-picker-input/RecurrenceAndFrequencyInput.tsx +1 -1
  99. package/src/snippet/snippet-template/control/PropertyControl.tsx +6 -2
  100. package/src/styles/iframe-order-process/IframeOrderProcess.scss +57 -18
  101. package/src/styles/iframe-page/PageBody.scss +2 -1
  102. package/src/styles/ryft-payment-form/RyftPaymentForm.scss +125 -2
  103. package/jest.config.js +0 -29
  104. package/tests/Auth/Authorizer.test.tsx +0 -194
  105. package/tests/Auth/Layout/UserNavDropDown.test.tsx +0 -43
  106. package/tests/Auth/Layout/UserNavDropDownToggle.test.tsx +0 -33
  107. package/tests/Auth/Login/LoginComponent.test.tsx +0 -246
  108. package/tests/Auth/Login/LoginFormComponent.test.tsx +0 -182
  109. package/tests/Auth/Register/RegisterComponent.test.tsx +0 -285
  110. package/tests/Auth/Register/RegisterFormComponent.test.tsx +0 -170
  111. package/tests/Auth/Settings/Dashboard/IpInput.test.tsx +0 -130
  112. package/tests/Auth/Social/SocialCallbackComponent.test.tsx +0 -133
  113. package/tests/Auth/Social/SocialFormComponent.test.tsx +0 -118
  114. package/tests/FileUpload/FileUpload.test.tsx +0 -42
  115. package/tests/Notification/EmailTemplate.test.tsx +0 -82
  116. package/tests/ProductSet/ProductSetPopover.test.tsx +0 -40
  117. package/tests/Report/Report.test.tsx +0 -48
  118. package/tests/Sales/Coupon.test.tsx +0 -51
  119. package/tests/Sales/SalesAndVIews.test.tsx +0 -63
  120. package/tests/SnippetTemplates/SnippetTemplates.test.tsx +0 -56
  121. package/tests/Table/FilterHelperComponent.test.tsx +0 -88
  122. package/tests/Table/PaginationHelperComponent.test.tsx +0 -109
  123. package/tests/Table/PerPageHelperComponent.test.tsx +0 -34
  124. package/tests/Table/TableHelperComponent.test.tsx +0 -295
  125. package/tests/TipTapEditor/TipTapEditor.test.tsx +0 -28
  126. package/tests/__mock__/hooks/useAuthApi.ts +0 -13
  127. package/tests/__mock__/hooks/useAuthMock.ts +0 -13
  128. package/tests/__mock__/hooks/useFormMock.ts +0 -27
  129. package/tests/__mock__/hooks/useNotificationMock.ts +0 -13
  130. package/tests/__mock__/hooks/useQueryMock.ts +0 -16
  131. package/tests/__mock__/hooks/useSocialApiMock.ts +0 -20
  132. package/tests/__mock__/hooks/useTranslationMock.ts +0 -17
  133. package/tests/__mock__/hooks/useUserApiMock.ts +0 -18
  134. package/tests/__mock__/hooks/useUserMock.ts +0 -13
  135. package/tests/__mock__/styleMock.js +0 -1
  136. package/tests/__mock__/windowMock.ts +0 -5
  137. package/tests/packages/react-query.tsx +0 -28
  138. package/tests/setupTests.ts +0 -10
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import { Meta } from "@storybook/react";
3
3
  import { BookingSummary } from "./BookingSummary";
4
+ import { SummaryTotalBlock } from "./components/SummaryTotal";
4
5
 
5
6
  export default {
6
7
  title: "Iframe/Order-Process/BookingSummary",
@@ -138,6 +139,14 @@ export function Default() {
138
139
  <div className="payment-process">
139
140
  <div className="col-lg-4">
140
141
  <BookingSummary
142
+ isPaymentPage
143
+ eventName="new Event"
144
+ footer={
145
+ <div className="d-flex flex-column justify-content-between">
146
+ <SummaryTotalBlock label={"Total"} amount={2} />
147
+ <SummaryTotalBlock label={"Total with discount"} amount={1} />
148
+ </div>
149
+ }
141
150
  date="29 Sept 2022 at 09:00"
142
151
  menuSteps={menuSteps as any}
143
152
  peopleAmount={5}
@@ -8,6 +8,8 @@ import { ProductsByMenuStep } from "./components/ProductsByMenuStep";
8
8
  import { BookingSummaryProps } from "./types";
9
9
  import { SummaryTotal } from "./components/SummaryTotal";
10
10
  import { BookingSummaryAccordion } from "./components/BookingSummaryAccordion";
11
+ import { ReactComponent as TicketIcon } from "../../../../assets/iframe/ticket.svg";
12
+ import { ReactComponent as CalendarIcon } from "../../../../assets/iframe/calendar.svg";
11
13
 
12
14
  export const BookingSummary = ({
13
15
  date,
@@ -22,6 +24,10 @@ export const BookingSummary = ({
22
24
  hasPeopleInput,
23
25
  isPaymentLink,
24
26
  peopleAmount,
27
+ footer,
28
+ headerComponent,
29
+ // TODO Remove this, when all iframe pages will be ready
30
+ isPaymentPage,
25
31
  }: Omit<BookingSummaryProps, "totallWithDiscount">) => {
26
32
  const { t } = useTranslation("Design");
27
33
  const { formatNumber } = useIntl();
@@ -36,11 +42,18 @@ export const BookingSummary = ({
36
42
 
37
43
  return (
38
44
  <div className="payment-booking-summary">
39
- <BookingSummaryAccordion hasPeopleInput={hasPeopleInput}>
45
+ <BookingSummaryAccordion
46
+ isPaymentPage={isPaymentPage}
47
+ hasPeopleInput={hasPeopleInput}
48
+ headerComponent={headerComponent}
49
+ >
40
50
  <div className="event-info">
41
- <p className="m-0 title event-name">{eventName}</p>
42
- <p className="m-0">{date}</p>
43
- {time && <p className="m-0">{time}</p>}
51
+ <EventInfo
52
+ eventName={eventName}
53
+ isPaymentPage={isPaymentPage}
54
+ date={date}
55
+ time={time}
56
+ />
44
57
  </div>
45
58
  <hr />
46
59
 
@@ -62,8 +75,8 @@ export const BookingSummary = ({
62
75
  {!shouldHidePeopleAmount && peopleAmount > 0 && (
63
76
  <>
64
77
  <hr />
65
- <div className="d-flex justify-content-between mt-3">
66
- <p className="m-0">{t("people")}:</p>
78
+ <div className="d-flex justify-content-between mt-3 people">
79
+ <p className="m-0 payment-metadata">{t("people")}:</p>
67
80
  <p className="price">{peopleAmount}</p>
68
81
  </div>
69
82
  </>
@@ -73,7 +86,9 @@ export const BookingSummary = ({
73
86
  <>
74
87
  <hr />
75
88
  <div className="d-flex justify-content-between mt-3">
76
- <p className="m-0">{t("transactionFee")}:</p>
89
+ <p className="m-0 payment-metadata">
90
+ {t("transactionFee")}:
91
+ </p>
77
92
  <p className="price">
78
93
  {formatNumber(transactionFee, {
79
94
  style: "currency",
@@ -84,6 +99,7 @@ export const BookingSummary = ({
84
99
  </>
85
100
  )}
86
101
  </div>
102
+ {footer}
87
103
  </div>
88
104
  ) : (
89
105
  <div className="cart-items">
@@ -97,3 +113,38 @@ export const BookingSummary = ({
97
113
 
98
114
  BookingSummary.SummaryTotal = SummaryTotal;
99
115
  BookingSummary.Accordion = BookingSummaryAccordion;
116
+
117
+ const EventInfo = ({
118
+ isPaymentPage,
119
+ eventName,
120
+ date,
121
+ time,
122
+ }: Pick<
123
+ BookingSummaryProps,
124
+ "date" | "time" | "eventName" | "isPaymentPage"
125
+ >) => {
126
+ if (isPaymentPage) {
127
+ return (
128
+ <>
129
+ <div className="d-flex align-items-center mb-5">
130
+ <TicketIcon height={16} width={20} fill="black" />
131
+ <div className="m-0 pl-2 title event-name metadata">{eventName}</div>
132
+ </div>
133
+
134
+ <div className="d-flex align-items-center mb-5">
135
+ <CalendarIcon height={16} width={20} fill="black" />
136
+ <div className="m-0 pl-2 metadata">{date}</div>
137
+ </div>
138
+ {time && <div className="mb-5 metadata">{time}</div>}
139
+ </>
140
+ );
141
+ }
142
+
143
+ return (
144
+ <>
145
+ <p className="m-0 title event-name">{eventName}</p>
146
+ <p className="m-0">{date}</p>
147
+ {time && <p className="m-0">{time}</p>}
148
+ </>
149
+ );
150
+ };
@@ -3,6 +3,7 @@ import React, {
3
3
  useCallback,
4
4
  PropsWithChildren,
5
5
  useEffect,
6
+ ReactElement,
6
7
  } from "react";
7
8
  import { Accordion } from "react-bootstrap";
8
9
  import { useWindowDimensions } from "@licklist/plugins/dist/hooks/Media/useWindowDimensions";
@@ -20,6 +21,9 @@ export type BookingSummaryAccordionProps = PropsWithChildren<{
20
21
  title?: string;
21
22
  showTitleOnlyOnMobile?: boolean;
22
23
  hasPeopleInput?: boolean;
24
+ // TODO Remove this, when all iframe pages will be ready
25
+ isPaymentPage?: boolean;
26
+ headerComponent?: ReactElement;
23
27
  }>;
24
28
 
25
29
  export const BookingSummaryAccordion = ({
@@ -27,6 +31,8 @@ export const BookingSummaryAccordion = ({
27
31
  title,
28
32
  showTitleOnlyOnMobile = false,
29
33
  hasPeopleInput,
34
+ isPaymentPage,
35
+ headerComponent,
30
36
  }: BookingSummaryAccordionProps) => {
31
37
  const { width } = useWindowDimensions();
32
38
  const [isExpanded, setIsExpanded] = useState(width <= MOBILE_WIDTH);
@@ -68,10 +74,12 @@ export const BookingSummaryAccordion = ({
68
74
  return (
69
75
  <Accordion defaultActiveKey={ACCORDION_KEY} onSelect={onSelect}>
70
76
  <ToggleHeader
77
+ isPaymentPage={isPaymentPage}
71
78
  showExpandButton={showExpandButton}
72
79
  isExpanded={isExpanded}
73
80
  title={title}
74
81
  hideComponent={!showToggleHeader}
82
+ headerComponent={headerComponent}
75
83
  />
76
84
  <Accordion.Collapse
77
85
  eventKey={ACCORDION_KEY}
@@ -3,7 +3,7 @@ import { useIntl } from "react-intl";
3
3
  import * as Config from "@licklist/core/dist/Config";
4
4
 
5
5
  export type SummaryTotalBlockProps = {
6
- label: string;
6
+ label?: string;
7
7
  amount: number;
8
8
  };
9
9
 
@@ -15,13 +15,13 @@ export const SummaryTotalBlock = ({
15
15
 
16
16
  return (
17
17
  <div className="total">
18
- <p className="m-0">{label}</p>
19
- <p className="m-0 price">
18
+ {label && <div>{label}</div>}
19
+ <div className="m-0 price">
20
20
  {formatNumber(amount, {
21
21
  style: "currency",
22
22
  currency: Config.Currency.GBP,
23
23
  })}
24
- </p>
24
+ </div>
25
25
  </div>
26
26
  );
27
27
  };
@@ -1,4 +1,4 @@
1
- import React, { useContext, useEffect } from "react";
1
+ import React, { ReactElement, useContext, useEffect } from "react";
2
2
  import { useTranslation } from "react-i18next";
3
3
  import { useAccordionToggle } from "react-bootstrap/AccordionToggle";
4
4
  import AccordionContext from "react-bootstrap/AccordionContext";
@@ -11,15 +11,23 @@ type ToggleHeaderProps = {
11
11
  isExpanded: boolean;
12
12
  title?: string;
13
13
  hideComponent?: boolean;
14
+ headerComponent?: ReactElement;
15
+ isPaymentPage: boolean;
14
16
  };
15
17
 
18
+ interface HeaderContentProps
19
+ extends Omit<ToggleHeaderProps, "hideComponent" | "isExpanded"> {
20
+ currentEventKey: string;
21
+ }
22
+
16
23
  export const ToggleHeader = ({
17
24
  showExpandButton,
18
25
  isExpanded,
19
26
  title,
20
27
  hideComponent,
28
+ isPaymentPage,
29
+ headerComponent,
21
30
  }: ToggleHeaderProps) => {
22
- const { t } = useTranslation("Design");
23
31
  const currentEventKey = useContext(AccordionContext);
24
32
 
25
33
  const decoratedOnClick = useAccordionToggle(ACCORDION_KEY);
@@ -46,14 +54,41 @@ export const ToggleHeader = ({
46
54
  onKeyPress={(event) => showExpandButton && decoratedOnClick(event)}
47
55
  role="button"
48
56
  tabIndex={0}
49
- className="d-flex flex-column"
57
+ className={clsx(
58
+ "d-flex flex-column",
59
+ isPaymentPage && "payment-page-toggle"
60
+ )}
50
61
  >
51
62
  <h6 className={clsx("title", showExpandButton && "pointer")}>
52
63
  <div className="d-flex w-100 align-content-center justify-content-between">
53
- <div className="d-flex">
54
- <p className="m-0">{title || t("yourBooking")}</p>
55
- </div>
64
+ <HeaderContent
65
+ showExpandButton={showExpandButton}
66
+ title={title}
67
+ currentEventKey={currentEventKey}
68
+ isPaymentPage={isPaymentPage}
69
+ headerComponent={headerComponent}
70
+ />
71
+ </div>
72
+ </h6>
73
+ {isExpanded && <hr className="mt-3" />}
74
+ </div>
75
+ );
76
+ };
56
77
 
78
+ const HeaderContent = ({
79
+ title,
80
+ showExpandButton,
81
+ currentEventKey,
82
+ isPaymentPage,
83
+ headerComponent,
84
+ }: HeaderContentProps) => {
85
+ const { t } = useTranslation("Design");
86
+
87
+ if (isPaymentPage) {
88
+ return (
89
+ <>
90
+ <div className="d-flex">
91
+ <p className="m-0 mr-2 toggle-title">{title || t("yourBooking")}</p>
57
92
  {showExpandButton && (
58
93
  <div className="expand-button">
59
94
  <Icon
@@ -62,13 +97,31 @@ export const ToggleHeader = ({
62
97
  ? "chevron-up"
63
98
  : "chevron-down"
64
99
  }
65
- width="1rem"
100
+ width="0.5rem"
66
101
  />
67
102
  </div>
68
103
  )}
69
104
  </div>
70
- </h6>
71
- {isExpanded && <hr className="mt-3" />}
72
- </div>
105
+ {headerComponent}
106
+ </>
107
+ );
108
+ }
109
+ return (
110
+ <>
111
+ <div className="d-flex">
112
+ <p className="m-0">{title || t("yourBooking")}</p>
113
+ </div>
114
+
115
+ {showExpandButton && (
116
+ <div className="expand-button">
117
+ <Icon
118
+ type={
119
+ currentEventKey === ACCORDION_KEY ? "chevron-up" : "chevron-down"
120
+ }
121
+ width="1rem"
122
+ />
123
+ </div>
124
+ )}
125
+ </>
73
126
  );
74
127
  };
@@ -1,6 +1,7 @@
1
1
  import { QuantityCheckProductInfo } from "@licklist/plugins/dist/types/Api/verifyStock";
2
2
  import { OrderItems } from "@licklist/plugins/dist/types/context/Iframe/orderItems";
3
3
  import { MenuStep } from "@licklist/plugins/dist/types/context/sale/menuSteps";
4
+ import { ReactElement } from "react";
4
5
 
5
6
  export const MOBILE_WIDTH = 576;
6
7
  export const ACCORDION_KEY = "booking-summary";
@@ -20,4 +21,7 @@ export type BookingSummaryProps = {
20
21
  isLoading?: boolean;
21
22
  peopleAmount: number;
22
23
  isPaymentLink?: boolean;
24
+ isPaymentPage?: boolean;
25
+ headerComponent?: ReactElement;
26
+ footer?: ReactElement;
23
27
  };
@@ -25,4 +25,6 @@ export const COLLAPSE_MARGIN = 36;
25
25
 
26
26
  export const PAGE_LEFT_BLOCK_CONTAINER_ID = "page-left-block-container";
27
27
  export const PAGE_CALENDAR_SELECT_WRAPPER = "calendar-select-wrapper";
28
+ export const PAGE_BODY_WITH_SCROLL = "page-body-with-scroll";
29
+
28
30
  export const PAGE_LEFT_BLOCK_MAP_DEFAULT_SIZE = 300;
@@ -16,6 +16,7 @@ import {
16
16
  PAGE_LEFT_BLOCK_CONTAINER_ID,
17
17
  PAGE_LEFT_BLOCK_MAP_DEFAULT_SIZE,
18
18
  PAGE_CALENDAR_SELECT_WRAPPER,
19
+ PAGE_BODY_WITH_SCROLL,
19
20
  } from "../constants";
20
21
  import { ChangeRightBlockHeightEvent } from "../types";
21
22
 
@@ -46,10 +47,19 @@ export const useResizePageBody = () => {
46
47
  const calenderWrapper = document.getElementById(
47
48
  PAGE_CALENDAR_SELECT_WRAPPER
48
49
  );
50
+
49
51
  const CALENDAR_WRAPPER_HEIGHT = calenderWrapper
50
52
  ? calenderWrapper.clientHeight
51
53
  : 0;
52
54
 
55
+ const paymentLinkPageBody = document.getElementById(PAGE_BODY_WITH_SCROLL);
56
+ if (paymentLinkPageBody) {
57
+ paymentLinkPageBody.scroll({
58
+ top: -height,
59
+ behavior: "smooth",
60
+ });
61
+ }
62
+
53
63
  return {
54
64
  maxHeight:
55
65
  height -