@licklist/design 0.44.485-dev.87 → 0.44.485-dev.89

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 (132) hide show
  1. package/dist/date-time-button/DateTimeButton.d.ts +12 -0
  2. package/dist/date-time-button/DateTimeButton.d.ts.map +1 -0
  3. package/dist/date-time-button/DateTimeButton.js +1 -0
  4. package/dist/date-time-button/index.d.ts +2 -0
  5. package/dist/date-time-button/index.d.ts.map +1 -0
  6. package/dist/iframe/activity-cards/activity-card/ActivityCard.d.ts +12 -0
  7. package/dist/iframe/activity-cards/activity-card/ActivityCard.d.ts.map +1 -0
  8. package/dist/iframe/activity-cards/activity-card/ActivityCard.js +1 -0
  9. package/dist/iframe/activity-cards/index.d.ts +3 -0
  10. package/dist/iframe/activity-cards/index.d.ts.map +1 -0
  11. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.d.ts +12 -0
  12. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.d.ts.map +1 -0
  13. package/dist/iframe/activity-cards/list-activity-card/ListActivityCard.js +1 -0
  14. package/dist/iframe/index.d.ts +2 -3
  15. package/dist/iframe/index.d.ts.map +1 -1
  16. package/dist/iframe/order-process/components/CategoryProduct/CategoryProduct.js +1 -1
  17. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts +2 -2
  18. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts.map +1 -1
  19. package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.js +1 -1
  20. package/dist/iframe/order-process/components/NavigationSteps/NavigationSteps.d.ts +7 -6
  21. package/dist/iframe/order-process/components/NavigationSteps/NavigationSteps.d.ts.map +1 -1
  22. package/dist/iframe/order-process/components/NavigationSteps/index.d.ts +1 -1
  23. package/dist/iframe/order-process/components/NavigationSteps/index.d.ts.map +1 -1
  24. package/dist/iframe/order-process/index.d.ts +1 -2
  25. package/dist/iframe/order-process/index.d.ts.map +1 -1
  26. package/dist/iframe/page/components/PageBody/PageBody.d.ts +1 -1
  27. package/dist/iframe/page/components/PageBody/PageBody.js +1 -1
  28. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.d.ts +2 -2
  29. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.d.ts.map +1 -1
  30. package/dist/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.js +1 -1
  31. package/dist/iframe/payment/payment-page/PaymentPage.js +1 -1
  32. package/dist/iframe/payment/payment-page/PaymentTimer.js +1 -1
  33. package/dist/iframe/payment/payment-status-page/PaymentStatusPage.js +1 -1
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1 -1
  37. package/dist/snippet/snippet-template/preview/Preview.js +1 -1
  38. package/dist/styles/iframe-customers-journey/ActivitiesCard.scss +17 -35
  39. package/dist/styles/iframe-customers-journey/ActivitiesSelectedCard.scss +48 -43
  40. package/dist/styles/iframe-customers-journey/DateTimeButton.scss +84 -0
  41. package/dist/styles/iframe-customers-journey/_index.scss +1 -1
  42. package/dist/styles/iframe-order-process/IframeOrderProcess.scss +5 -0
  43. package/dist/types/iframe.d.ts +1 -1
  44. package/dist/types/iframe.d.ts.map +1 -1
  45. package/dist/zone/form/components/ZoneRecurrencesControl.js +1 -1
  46. package/package.json +1 -1
  47. package/src/date-time-button/DateTimeButton.stories.tsx +68 -0
  48. package/src/date-time-button/DateTimeButton.tsx +106 -0
  49. package/src/date-time-button/index.ts +1 -0
  50. package/src/iframe/activity-cards/activity-card/ActivityCard.stories.tsx +52 -0
  51. package/src/iframe/activity-cards/activity-card/ActivityCard.tsx +38 -0
  52. package/src/iframe/activity-cards/index.ts +2 -0
  53. package/src/iframe/activity-cards/list-activity-card/ListActivityCard.stories.tsx +52 -0
  54. package/src/iframe/activity-cards/list-activity-card/ListActivityCard.tsx +49 -0
  55. package/src/iframe/index.ts +2 -7
  56. package/src/iframe/order-process/components/CategoryProduct/CategoryProduct.tsx +1 -1
  57. package/src/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.tsx +4 -4
  58. package/src/iframe/order-process/components/NavigationSteps/NavigationSteps.tsx +8 -6
  59. package/src/iframe/order-process/components/NavigationSteps/index.ts +1 -1
  60. package/src/iframe/order-process/index.ts +1 -2
  61. package/src/iframe/page/components/PageBody/PageBody.tsx +1 -1
  62. package/src/iframe/page/components/PageBody/components/LeftBlock/LeftBlock.tsx +4 -4
  63. package/src/index.ts +1 -0
  64. package/src/product-set/product/constants.ts +1 -1
  65. package/src/sortable-fields/index.ts +1 -1
  66. package/src/styles/iframe-customers-journey/ActivitiesCard.scss +17 -35
  67. package/src/styles/iframe-customers-journey/ActivitiesSelectedCard.scss +48 -43
  68. package/src/styles/iframe-customers-journey/DateTimeButton.scss +84 -0
  69. package/src/styles/iframe-customers-journey/_index.scss +1 -1
  70. package/src/styles/iframe-order-process/IframeOrderProcess.scss +5 -0
  71. package/src/types/iframe.ts +1 -1
  72. package/src/zone/form/components/ZoneRecurrencesControl.tsx +1 -1
  73. package/dist/assets/iframe/dateInfo/available.svg.js +0 -1
  74. package/dist/assets/iframe/dateInfo/limited.svg.js +0 -1
  75. package/dist/assets/iframe/dateInfo/soldOut.svg.js +0 -1
  76. package/dist/iframe/activities-card-page/components/activities-card/ActivitiesCard.d.ts +0 -8
  77. package/dist/iframe/activities-card-page/components/activities-card/ActivitiesCard.d.ts.map +0 -1
  78. package/dist/iframe/activities-card-page/components/activities-card/ActivitiesCard.js +0 -1
  79. package/dist/iframe/activities-card-page/components/activities-selected-card/ActivitiesSelectedCard.d.ts +0 -9
  80. package/dist/iframe/activities-card-page/components/activities-selected-card/ActivitiesSelectedCard.d.ts.map +0 -1
  81. package/dist/iframe/activities-card-page/components/activities-selected-card/ActivitiesSelectedCard.js +0 -1
  82. package/dist/iframe/activities-card-page/index.d.ts +0 -3
  83. package/dist/iframe/activities-card-page/index.d.ts.map +0 -1
  84. package/dist/iframe/data-time-view-selector/DateAndTimeAndCalendar.d.ts +0 -8
  85. package/dist/iframe/data-time-view-selector/DateAndTimeAndCalendar.d.ts.map +0 -1
  86. package/dist/iframe/data-time-view-selector/constants.d.ts +0 -7
  87. package/dist/iframe/data-time-view-selector/constants.d.ts.map +0 -1
  88. package/dist/iframe/data-time-view-selector/constants.js +0 -1
  89. package/dist/iframe/data-time-view-selector/index.d.ts +0 -2
  90. package/dist/iframe/data-time-view-selector/index.d.ts.map +0 -1
  91. package/dist/iframe/order-process/components/Category/Category.d.ts +0 -13
  92. package/dist/iframe/order-process/components/Category/Category.d.ts.map +0 -1
  93. package/dist/iframe/order-process/components/Category/Category.js +0 -1
  94. package/dist/iframe/order-process/components/Category/index.d.ts +0 -2
  95. package/dist/iframe/order-process/components/Category/index.d.ts.map +0 -1
  96. package/dist/iframe/select-date-time/SelectDateAndTimeList.d.ts +0 -3
  97. package/dist/iframe/select-date-time/SelectDateAndTimeList.d.ts.map +0 -1
  98. package/dist/iframe/select-date-time/SelectDateAndTimeList.js +0 -1
  99. package/dist/iframe/select-date-time/SelectDateOrTimeList.d.ts +0 -8
  100. package/dist/iframe/select-date-time/SelectDateOrTimeList.d.ts.map +0 -1
  101. package/dist/iframe/select-date-time/SelectDateOrTimeList.js +0 -1
  102. package/dist/iframe/select-date-time/component/date-container/DateTimeSelector.d.ts +0 -10
  103. package/dist/iframe/select-date-time/component/date-container/DateTimeSelector.d.ts.map +0 -1
  104. package/dist/iframe/select-date-time/component/date-container/DateTimeSelector.js +0 -1
  105. package/dist/iframe/select-date-time/component/date-container/SelectorDateAndTimeList.d.ts +0 -11
  106. package/dist/iframe/select-date-time/component/date-container/SelectorDateAndTimeList.d.ts.map +0 -1
  107. package/dist/iframe/select-date-time/component/date-container/SelectorDateAndTimeList.js +0 -1
  108. package/dist/iframe/select-date-time/constants.d.ts +0 -6
  109. package/dist/iframe/select-date-time/constants.d.ts.map +0 -1
  110. package/dist/iframe/select-date-time/constants.js +0 -1
  111. package/dist/iframe/select-date-time/index.d.ts +0 -4
  112. package/dist/iframe/select-date-time/index.d.ts.map +0 -1
  113. package/dist/styles/iframe-customers-journey/SelectDateAndTime.scss +0 -126
  114. package/src/iframe/activities-card-page/components/activities-card/ActivitiesCard.tsx +0 -68
  115. package/src/iframe/activities-card-page/components/activities-card/ActivitiesCardList.stories.tsx +0 -120
  116. package/src/iframe/activities-card-page/components/activities-selected-card/ActivitiesSelectedCard.stories.tsx +0 -67
  117. package/src/iframe/activities-card-page/components/activities-selected-card/ActivitiesSelectedCard.tsx +0 -57
  118. package/src/iframe/activities-card-page/index.ts +0 -2
  119. package/src/iframe/data-time-view-selector/DateAndTimeAndCalendar.tsx +0 -37
  120. package/src/iframe/data-time-view-selector/constants.ts +0 -6
  121. package/src/iframe/data-time-view-selector/index.ts +0 -1
  122. package/src/iframe/order-process/components/Category/Category.stories.tsx +0 -118
  123. package/src/iframe/order-process/components/Category/Category.tsx +0 -51
  124. package/src/iframe/order-process/components/Category/index.ts +0 -1
  125. package/src/iframe/select-date-time/SelectDateAndTimeList.tsx +0 -39
  126. package/src/iframe/select-date-time/SelectDateOrTimeList.tsx +0 -42
  127. package/src/iframe/select-date-time/component/date-container/DateTimeSelector.tsx +0 -79
  128. package/src/iframe/select-date-time/component/date-container/SelectorDateAndTimeList.stories.tsx +0 -164
  129. package/src/iframe/select-date-time/component/date-container/SelectorDateAndTimeList.tsx +0 -41
  130. package/src/iframe/select-date-time/constants.ts +0 -5
  131. package/src/iframe/select-date-time/index.ts +0 -4
  132. package/src/styles/iframe-customers-journey/SelectDateAndTime.scss +0 -126
@@ -1,118 +0,0 @@
1
- import React from "react";
2
- import { Meta } from "@storybook/react";
3
- import { useForm, FormProvider } from "react-hook-form";
4
- import { Image } from "@licklist/core/dist/DataMapper/Media/ImageDataMapper";
5
- import { Category } from "./Category";
6
-
7
- export default {
8
- title: "Iframe/Order-Process/Category",
9
- component: Category,
10
- } as Meta;
11
-
12
- const IMAGES = [
13
- {
14
- id: 1,
15
- path: "test",
16
- imageType: "image",
17
- url: "https://fastly.picsum.photos/id/13/2500/1667.jpg?hmac=SoX9UoHhN8HyklRA4A3vcCWJMVtiBXUg0W4ljWTor7s",
18
- } as Image,
19
- ];
20
-
21
- const productCategories = [
22
- {
23
- id: 1,
24
- name: "Early Bird General Admission",
25
- allowDeposits: true,
26
- remainderExpireAfter: null,
27
- products: [
28
- {
29
- id: 7,
30
- name: "Beer",
31
- description: `Ticket is valid for students and non students.You do not need student ID for this event but do require regular age ID.`,
32
- minQuantity: 1,
33
- maxQuantity: 10,
34
- price: 7,
35
- images: IMAGES,
36
- isRequired: true,
37
- deposit: 4,
38
- },
39
- {
40
- id: 8,
41
- name: "Wine",
42
- description: `Ticket is valid for students and non students.
43
- You do not need student ID for this event but do require regular age ID e.g. driving licence or passport.
44
- Ticket valid for entry before 11.30pm for 12.30am showtime.Ticket is valid for students and non students.
45
- You do not need student ID for this event but do require regular age ID e.g. driving licence or passport.
46
- Ticket valid for entry before 11.30pm for 12.30am showtime.`,
47
- minQuantity: 1,
48
- maxQuantity: 10,
49
- price: 1,
50
- isSoldOut: true,
51
- images: IMAGES,
52
- },
53
- ],
54
- },
55
- {
56
- id: 2,
57
- name: "Nice",
58
- products: [
59
- {
60
- id: 3,
61
- name: "Beer",
62
- description: `Ticket is valid for students and non students.
63
- You do not need student ID for this event but do require regular age ID e.g. driving licence or passport.
64
- Ticket valid for entry before 11.30pm for 12.30am showtime.`,
65
- minQuantity: 1,
66
- maxQuantity: 10,
67
- price: 1,
68
- images: [],
69
- },
70
- {
71
- id: 5,
72
- name: "Wine",
73
- description: `Ticket is valid for students and non students.
74
- You do not need student ID for this event but do require regular age ID e.g. driving licence or passport.
75
- Ticket valid for entry before 11.30pm for 12.30am showtime.`,
76
- minQuantity: 1,
77
- maxQuantity: 10,
78
- price: 1,
79
- images: IMAGES,
80
- },
81
- ],
82
- },
83
- {
84
- id: 9,
85
- name: "Super",
86
- products: [
87
- {
88
- id: 10,
89
- name: "Beer no description",
90
- description: ``,
91
- minQuantity: 1,
92
- maxQuantity: 10,
93
- price: 1,
94
- images: IMAGES,
95
- },
96
- {
97
- id: 11,
98
- name: "Wine no description",
99
- description: ``,
100
- minQuantity: 1,
101
- maxQuantity: 10,
102
- price: 0,
103
- images: IMAGES,
104
- },
105
- ],
106
- },
107
- ];
108
-
109
- export function Default() {
110
- const form = useForm();
111
- return (
112
- <FormProvider {...form}>
113
- <div className="payment-process">
114
- <Category productCategories={productCategories} />
115
- </div>
116
- </FormProvider>
117
- );
118
- }
@@ -1,51 +0,0 @@
1
- import React from "react";
2
-
3
- import { DeepMap, FieldError } from "react-hook-form";
4
- import { QuantityCheckProductInfo } from "@licklist/plugins/dist/types/Api/verifyStock";
5
- import { ProductCategory } from "../../../../types";
6
- import { CategoryProduct } from "../CategoryProduct";
7
-
8
- interface CategoryProps {
9
- productCategories: ProductCategory[];
10
- productsWithErrors?: QuantityCheckProductInfo[];
11
- soldOutProducts?: QuantityCheckProductInfo[];
12
- errors?: DeepMap<Record<string, any>, FieldError>;
13
- }
14
-
15
- export function Category({
16
- productCategories,
17
- productsWithErrors,
18
- errors,
19
- soldOutProducts,
20
- }: CategoryProps) {
21
- return (
22
- <>
23
- {productCategories.length !== 0 &&
24
- productCategories.map((category) => {
25
- const categoryError = errors?.[`category_${category.id}`];
26
- return (
27
- <div key={category.id} className="iframe-event__category">
28
- <h4 className="iframe-event__name">{category.name}</h4>
29
- {categoryError && (
30
- <div className="iframe-event__message-error">
31
- {categoryError?.message}
32
- </div>
33
- )}
34
-
35
- {category.products.map((product) => {
36
- return (
37
- <CategoryProduct
38
- key={product.id}
39
- product={product}
40
- category={category}
41
- productsWithErrors={productsWithErrors}
42
- soldOutProducts={soldOutProducts}
43
- />
44
- );
45
- })}
46
- </div>
47
- );
48
- })}
49
- </>
50
- );
51
- }
@@ -1 +0,0 @@
1
- export { Category } from "./Category";
@@ -1,39 +0,0 @@
1
- import React, { useState } from "react";
2
- import { useTranslation } from "react-i18next";
3
- import { SelectorDateAndTimeList } from "./component/date-container/SelectorDateAndTimeList";
4
- import { ReactComponent as CalendarSvg } from "../../assets/iframe/calendar.svg";
5
-
6
- export const SelectDateAndTimeList = () => {
7
- const [eventDayId, setEventDayId] = useState<number>();
8
- const [eventTimeId, setEventTimeId] = useState<number>();
9
- const { t } = useTranslation(["Design"]);
10
- const dayList = [];
11
- const timeList = [];
12
- return (
13
- <div>
14
- <div className="date-time-icon-container">
15
- <div className="icon-wrapper">
16
- <CalendarSvg className="icon" />
17
- </div>
18
- <h5>{t("selectDate")}</h5>
19
- </div>
20
- <div>
21
- <SelectorDateAndTimeList
22
- title={t("selectDateAndTime")}
23
- dateList={dayList}
24
- selectedDateId={eventDayId}
25
- onSelectDate={setEventDayId}
26
- />
27
- </div>
28
- <div>
29
- <SelectorDateAndTimeList
30
- title={t("selectYourTime")}
31
- isTimeContainer
32
- dateList={timeList}
33
- selectedDateId={eventTimeId}
34
- onSelectDate={setEventTimeId}
35
- />
36
- </div>
37
- </div>
38
- );
39
- };
@@ -1,42 +0,0 @@
1
- import React, { useState } from "react";
2
- import { useTranslation } from "react-i18next";
3
- import { SelectorDateAndTimeList } from "./component/date-container/SelectorDateAndTimeList";
4
- import { viewType } from "../data-time-view-selector/constants";
5
- import { ReactComponent as CalendarSvg } from "../../assets/iframe/calendar.svg";
6
-
7
- type SelectDateOrTimeListProps = {
8
- view: viewType.DATE | viewType.TIME;
9
- };
10
-
11
- export const SelectDateOrTimeList = ({ view }: SelectDateOrTimeListProps) => {
12
- const [dateId, setDateId] = useState<number>();
13
- const { t } = useTranslation("Design");
14
- const dayList = [];
15
- const timeList = [];
16
- const isTimeSelector = view === viewType.TIME;
17
- const listTitle = isTimeSelector ? t("selectorTime") : t("selectDate");
18
- const dateList = isTimeSelector ? timeList : dayList;
19
-
20
- return (
21
- <div>
22
- {!isTimeSelector && (
23
- <div className="date-time-icon-container">
24
- <div className="icon-wrapper">
25
- <CalendarSvg className="icon" />
26
- </div>
27
- <h5>{t("selectDate")}</h5>
28
- </div>
29
- )}
30
- <div>
31
- <SelectorDateAndTimeList
32
- title={listTitle}
33
- dateList={dateList}
34
- isTimeContainer={isTimeSelector}
35
- selectedDateId={dateId}
36
- onSelectDate={setDateId}
37
- isOnlyTimeContainer={isTimeSelector}
38
- />
39
- </div>
40
- </div>
41
- );
42
- };
@@ -1,79 +0,0 @@
1
- import React, { useMemo } from "react";
2
- import clsx from "clsx";
3
- import { Logo } from "../../../../logo";
4
- import { ReactComponent as LimitedSvg } from "../../../../assets/iframe/dateInfo/limited.svg";
5
- import { ReactComponent as AvailableSvg } from "../../../../assets/iframe/dateInfo/available.svg";
6
- import { ReactComponent as SoldOutSvg } from "../../../../assets/iframe/dateInfo/soldOut.svg";
7
- import { infoLogoType } from "../../constants";
8
-
9
- export type DateAndTimeProps = {
10
- date: any;
11
- selected: boolean;
12
- onSelectDate?: (id: number) => void;
13
- isTimeContainer?: boolean;
14
- isOnlyTimeContainer?: boolean;
15
- };
16
-
17
- export const DateTimeSelector = ({
18
- date,
19
- isTimeContainer,
20
- selected,
21
- onSelectDate,
22
- isOnlyTimeContainer,
23
- }: DateAndTimeProps) => {
24
- const { title, disabled, info, description, id, time } = date;
25
-
26
- const onClick = () => {
27
- if (disabled) return;
28
- onSelectDate(id);
29
- };
30
-
31
- const infoLogo = useMemo(() => {
32
- if (info?.logo === infoLogoType.LIMIT) {
33
- return <LimitedSvg />;
34
- }
35
- if (info?.logo === infoLogoType.AVAILABLE) {
36
- return <AvailableSvg />;
37
- }
38
- if (info?.logo === infoLogoType.SOLD_OUT) {
39
- return <SoldOutSvg />;
40
- }
41
- return null;
42
- }, [info]);
43
-
44
- return (
45
- <div
46
- role="button"
47
- onClick={onClick}
48
- onKeyPress={onClick}
49
- className={clsx(
50
- "date-set",
51
- disabled && "disabled",
52
- selected && "selected",
53
- isTimeContainer && "time-container",
54
- isOnlyTimeContainer && "only-time-container"
55
- )}
56
- tabIndex={0}
57
- >
58
- {title}
59
- {time && <div className="time">{time}</div>}
60
- {description && (
61
- <div
62
- className={clsx(
63
- "descriptions",
64
- selected && "selected",
65
- disabled && "disabled"
66
- )}
67
- >
68
- {description}
69
- </div>
70
- )}
71
- {info && (
72
- <div className="info">
73
- {info.logo && <Logo className="logo" logo={infoLogo} />}
74
- <div>{info.description}</div>
75
- </div>
76
- )}
77
- </div>
78
- );
79
- };
@@ -1,164 +0,0 @@
1
- import React, { useState } from "react";
2
- import { Meta } from "@storybook/react";
3
- import { SelectorDateAndTimeList } from "./SelectorDateAndTimeList";
4
- import { Form } from "react-bootstrap";
5
- import { ReactComponent as CalendarSvg } from "../../../../assets/iframe/calendar.svg";
6
-
7
- export default {
8
- title: "Iframe/Date Selector",
9
- component: SelectorDateAndTimeList,
10
- } as Meta;
11
-
12
- export function Default() {
13
- const [dayId, setDayId] = useState<number>();
14
- const [timeId, setTimeId] = useState<number>();
15
- const [timeWithInfoId, setTimeWithInfoId] = useState<number>();
16
-
17
- const dayList = [
18
- {
19
- id: 1,
20
- title: "TODAY",
21
- descriptions: "13th March",
22
- },
23
- {
24
- id: 2,
25
- title: "TODAY",
26
- disabled: true,
27
- description: "13th March",
28
- },
29
- {
30
- id: 3,
31
- title: "TOMORROW",
32
- description: "13th March",
33
- },
34
- {
35
- id: 4,
36
- title: "TOMORROW",
37
- description: "13th March",
38
- },
39
- {
40
- id: 5,
41
- title: "TOMORROW",
42
- description: "13th March",
43
- },
44
- ];
45
-
46
- const dayListWithInfo = [
47
- {
48
- id: 1,
49
- title: "TODAY",
50
- description: "13th March",
51
- info: {
52
- description: "test",
53
- logo: "limit",
54
- }
55
- },
56
- {
57
- id: 2,
58
- title: "TODAY",
59
- disabled: true,
60
- description: "13th March",
61
- info: {
62
- description: "test",
63
- logo: "soldOut",
64
- }
65
- },
66
- {
67
- id: 3,
68
- title: "TOMORROW",
69
- description: "13th March",
70
- info: {
71
- description: "test",
72
- logo: "limit",
73
- }
74
- },
75
- {
76
- id: 4,
77
- title: "TOMORROW",
78
- description: "13th March",
79
- info: {
80
- description: "test",
81
- logo: "available",
82
- }
83
- },
84
- {
85
- id: 5,
86
- title: "TOMORROW",
87
- descriptions: "13th March",
88
- info: {
89
- description: "test",
90
- logo: "available",
91
- }
92
- },
93
- ];
94
-
95
- const timeList = [
96
- {
97
- id: 1,
98
- time: "10:30",
99
- },
100
- {
101
- id: 2,
102
- time: "11:30",
103
- },
104
- {
105
- id: 3,
106
- time: "12:30",
107
- },
108
- {
109
- id: 4,
110
- time: "13:30",
111
- },
112
- {
113
- id: 5,
114
- time: "14:30",
115
- },
116
- {
117
- id: 6,
118
- time: "11:30",
119
- disabled: true,
120
- },
121
- {
122
- id: 7,
123
- time: "12:30",
124
- },
125
- ];
126
-
127
- return (
128
- <div>
129
- <div className="date-time-icon-container">
130
- <div className="icon-wrapper">
131
- <CalendarSvg className='icon' />
132
- </div>
133
- <h5>{"Select Date"}</h5>
134
- </div>
135
- <Form>
136
- <Form.Group>
137
- <SelectorDateAndTimeList
138
- title="Select Date & Time"
139
- dateList={dayList}
140
- selectedDateId={dayId}
141
- onSelectDate={setDayId}
142
- />
143
- </Form.Group>
144
- <Form.Group>
145
- <SelectorDateAndTimeList
146
- title="Select your Date with Info"
147
- dateList={dayListWithInfo}
148
- selectedDateId={timeWithInfoId}
149
- onSelectDate={setTimeWithInfoId}
150
- />
151
- </Form.Group>
152
- <Form.Group>
153
- <SelectorDateAndTimeList
154
- title="Select your Time"
155
- dateList={timeList}
156
- isTimeContainer
157
- selectedDateId={timeId}
158
- onSelectDate={setTimeId}
159
- />
160
- </Form.Group>
161
- </Form>
162
- </div>
163
- );
164
- }
@@ -1,41 +0,0 @@
1
- import React from "react";
2
- import clsx from "clsx";
3
- import { DateTimeSelector } from "./DateTimeSelector";
4
-
5
- export type SelectorDateAndTimeListProps = {
6
- selectedDateId?: number;
7
- onSelectDate?: (id: number) => void;
8
- dateList: any[];
9
- title?: string;
10
- isTimeContainer?: boolean;
11
- isOnlyTimeContainer?: boolean;
12
- };
13
-
14
- export const SelectorDateAndTimeList = ({
15
- selectedDateId,
16
- onSelectDate,
17
- dateList,
18
- title,
19
- isTimeContainer,
20
- isOnlyTimeContainer,
21
- }: SelectorDateAndTimeListProps) => {
22
- return (
23
- <>
24
- <h5>{title}</h5>
25
- <div className={clsx("date-list", isTimeContainer && "time-container")}>
26
- {dateList.map((date) => {
27
- return (
28
- <DateTimeSelector
29
- key={date.id}
30
- date={date}
31
- isTimeContainer={isTimeContainer}
32
- selected={selectedDateId === date.id}
33
- onSelectDate={onSelectDate}
34
- isOnlyTimeContainer={isOnlyTimeContainer}
35
- />
36
- );
37
- })}
38
- </div>
39
- </>
40
- );
41
- };
@@ -1,5 +0,0 @@
1
- export enum infoLogoType {
2
- LIMIT = "limit",
3
- AVAILABLE = "available",
4
- SOLD_OUT = "soldOut",
5
- }
@@ -1,4 +0,0 @@
1
- export { DateTimeSelector } from "./component/date-container/DateTimeSelector";
2
- export { SelectDateAndTimeList } from "./SelectDateAndTimeList";
3
- export { SelectDateOrTimeList } from "./SelectDateOrTimeList";
4
-
@@ -1,126 +0,0 @@
1
- .date-time-selector-container {
2
- background-color: $snippet-page-background-color;
3
- height: 35rem;
4
- padding: 1rem;
5
- }
6
-
7
- .date-time-icon-container {
8
- display: flex;
9
- justify-content: end;
10
- position: relative;
11
- top: 2rem;
12
-
13
- .icon-wrapper {
14
- display: flex;
15
- flex-direction: row;
16
- align-items: center;
17
- width: 1rem;
18
- height: 1.1rem;
19
-
20
- .icon {
21
- fill: $snippet-calendar-active-button-background-color;
22
- }
23
-
24
- }
25
-
26
- h5 {
27
- font-size: 1rem;
28
- margin-left: .5rem;
29
- text-transform: uppercase;
30
- }
31
- }
32
-
33
- .date-list {
34
- display: flex;
35
- align-items: center;
36
- justify-content: start;
37
- grid-gap: 1rem;
38
- margin: 1rem 0;
39
- flex-wrap: wrap;
40
-
41
- .date-set {
42
- display: flex;
43
- align-items: center;
44
- justify-content: center;
45
- flex-direction: column;
46
- font-size: .82rem;
47
- line-height: 1.3rem;
48
- font-weight: 600;
49
- background-color: $snippet-calendar-button-background-color;
50
- border-radius: .4rem;
51
- text-align: center;
52
- border: 2px solid $snippet-calendar-button-border-color;
53
- color: $snippet-calendar-button-font-color;
54
- flex-grow: 1;
55
- transition: $color-transition;
56
- min-width: 6rem;
57
- max-width: 7.25rem;
58
- min-height: 3.3rem;
59
- max-height: 8.375rem;
60
-
61
-
62
- &.disabled {
63
- border: 2px solid $snippet-calendar-disabled-button-border-color;
64
- background-color: $snippet-calendar-disabled-button-background-color;
65
- color: $snippet-calendar-disabled-button-font-color;
66
-
67
- .descriptions {
68
- color: $snippet-calendar-disabled-button-font-color;
69
- }
70
- }
71
-
72
- &.selected {
73
- border: 2px solid $snippet-calendar-active-button-border-color;
74
- background-color: $snippet-calendar-active-button-background-color;
75
- color: $snippet-calendar-active-button-font-color;
76
- transition: $color-transition;
77
-
78
- .descriptions {
79
- color: $snippet-calendar-active-button-font-color;
80
- background-color: $snippet-calendar-active-button-background-color;
81
- font-weight: 600;
82
- transition: $color-transition;
83
- }
84
-
85
- .time {
86
- font-weight: 600;
87
- }
88
- }
89
-
90
- &.time-container {
91
- min-width: 4.75rem;
92
- max-width: 4.75rem;
93
- min-height: 2.75rem;
94
- }
95
-
96
- &.only-time-container {
97
- min-width: 5.3rem;
98
- max-width: 5.3rem;
99
- min-height: 2.75rem;
100
- }
101
- }
102
-
103
- .time {
104
- font-size: .875rem;
105
- font-weight: 300;
106
- }
107
-
108
- .descriptions {
109
- font-size: .7rem;
110
- line-height: 1.03rem;
111
- font-weight: 300;
112
- color: $snippet-calendar-button-font-color;
113
- }
114
-
115
- .info {
116
- display: flex;
117
- justify-content: center;
118
- font-weight: 300;
119
- flex-direction: row;
120
-
121
- .logo {
122
- width: .5rem;
123
- margin-right: .5rem;
124
- }
125
- }
126
- }