@hellobetterdigitalnz/selwynui 0.0.1-37 → 0.0.1-39
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.
- package/dist/Components/DataDisplay/ChatItenaryBlock/ChatItenaryBlockProps.d.ts +8 -1
- package/dist/Components/DataDisplay/PathwayBlock/PathwayBlockProps.d.ts +9 -0
- package/dist/Components/Form/Checkbox/Checkbox.d.ts +3 -0
- package/dist/Components/Form/Checkbox/CheckboxProps.d.ts +22 -0
- package/dist/Components/Form/EmailField/EmailField.d.ts +3 -0
- package/dist/Components/Form/EmailField/EmailField.stories.d.ts +13 -0
- package/dist/Components/Form/FormFieldHolder/FormFieldHolder.d.ts +3 -0
- package/dist/Components/Form/FormFieldHolder/FormFieldHolderProps.d.ts +13 -0
- package/dist/Components/Form/InputProps.d.ts +27 -0
- package/dist/Components/Form/LoadingInput/LoadingInput.d.ts +2 -0
- package/dist/Components/Form/SimpleForm/SimpleForm.d.ts +3 -0
- package/dist/Components/Form/SimpleForm/SimpleFormProps.d.ts +9 -0
- package/dist/Components/Form/SimpleForm/simple-form-bg-design.d.ts +2 -0
- package/dist/Components/Form/TextField/TextField.d.ts +3 -0
- package/dist/Components/Form/TextField/TextField.stories.d.ts +13 -0
- package/dist/Components/Form/TextField/TextFieldProps.d.ts +6 -0
- package/dist/Components/Form/Textarea/Textarea.d.ts +3 -0
- package/dist/Components/Form/Textarea/Textarea.stories.d.ts +14 -0
- package/dist/Components/Form/Textarea/TextareaProps.d.ts +26 -0
- package/dist/Components/Form/index.d.ts +3 -0
- package/dist/Components/Layout/Footer/FooterProps.d.ts +1 -1
- package/dist/index.cjs.js +12 -12
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1515 -1408
- package/dist/index.es.js.map +1 -1
- package/dist/selwynui.css +1 -1
- package/package.json +3 -1
- package/src/Components/DataDisplay/Accordion/accordion.module.scss +49 -36
- package/src/Components/DataDisplay/ChatItenaryBlock/ChatItenaryBlock.stories.tsx +36 -6
- package/src/Components/DataDisplay/ChatItenaryBlock/ChatItenaryBlock.tsx +39 -20
- package/src/Components/DataDisplay/ChatItenaryBlock/ChatItenaryBlockProps.tsx +8 -1
- package/src/Components/DataDisplay/ChatItenaryBlock/chatItenaryBlock.module.scss +98 -41
- package/src/Components/DataDisplay/ImageContent/ImageContent.tsx +0 -1
- package/src/Components/DataDisplay/KPIBlock/kpiBlock.module.scss +96 -7
- package/src/Components/DataDisplay/ListingDetailBlock/ListingDetailBlock.tsx +5 -2
- package/src/Components/DataDisplay/ListingDetailBlock/listingDetailBlock.module.scss +130 -15
- package/src/Components/DataDisplay/PathwayBlock/PathwayBlock.stories.tsx +6 -0
- package/src/Components/DataDisplay/PathwayBlock/PathwayBlock.tsx +4 -1
- package/src/Components/DataDisplay/PathwayBlock/PathwayBlockProps.tsx +9 -0
- package/src/Components/DataDisplay/TestimonyCard/TestimonyCard.stories.tsx +2 -1
- package/src/Components/DataDisplay/TestimonyCard/TestimonyCard.tsx +1 -1
- package/src/Components/DataDisplay/TestimonyCard/testimonyCard.module.scss +1 -3
- package/src/Components/Form/Checkbox/Checkbox.stories.tsx +51 -0
- package/src/Components/Form/Checkbox/Checkbox.tsx +111 -0
- package/src/Components/Form/Checkbox/CheckboxProps.tsx +24 -0
- package/src/Components/Form/Checkbox/checkbox.module.scss +105 -0
- package/src/Components/Form/EmailField/EmailField.stories.ts +23 -0
- package/src/Components/Form/EmailField/EmailField.tsx +56 -0
- package/src/Components/Form/FormFieldHolder/FormFieldHolder.stories.tsx +31 -0
- package/src/Components/Form/FormFieldHolder/FormFieldHolder.tsx +55 -0
- package/src/Components/Form/FormFieldHolder/FormFieldHolderProps.tsx +15 -0
- package/src/Components/Form/FormFieldHolder/formHolder.module.scss +68 -0
- package/src/Components/Form/InputProps.tsx +30 -0
- package/src/Components/Form/LoadingInput/LoadingInput.tsx +12 -0
- package/src/Components/Form/LoadingInput/loadingInput.module.scss +15 -0
- package/src/Components/Form/SimpleForm/SimpleForm.stories.tsx +54 -0
- package/src/Components/Form/SimpleForm/SimpleForm.tsx +55 -0
- package/src/Components/Form/SimpleForm/SimpleFormProps.tsx +11 -0
- package/src/Components/Form/SimpleForm/simple-form-bg-design.svg +14 -0
- package/src/Components/Form/SimpleForm/simple-form-bg-design.tsx +21 -0
- package/src/Components/Form/SimpleForm/simpleForm.module.scss +36 -0
- package/src/Components/Form/TextField/TextField.stories.ts +22 -0
- package/src/Components/Form/TextField/TextField.tsx +62 -0
- package/src/Components/Form/TextField/TextFieldProps.tsx +8 -0
- package/src/Components/Form/Textarea/Textarea.stories.ts +31 -0
- package/src/Components/Form/Textarea/Textarea.tsx +74 -0
- package/src/Components/Form/Textarea/TextareaProps.tsx +28 -0
- package/src/Components/Form/Textarea/textarea.module.scss +48 -0
- package/src/Components/Form/index.ts +6 -1
- package/src/Components/Form/inputs.module.scss +172 -0
- package/src/Components/Layout/Footer/Footer.tsx +0 -1
- package/src/Components/Layout/Footer/FooterProps.tsx +1 -1
- package/src/Components/Shared/Container/container.module.scss +1 -1
|
@@ -63,10 +63,11 @@ const ChatItineraryBlock = (props: ChatItineraryBlockProps) => {
|
|
|
63
63
|
</Header>
|
|
64
64
|
|
|
65
65
|
<div className={`${styles.chatItineraryBlock} ${styles.hero} ${pillar}`}>
|
|
66
|
-
<div className={styles.heroBackground}>
|
|
66
|
+
<div style={{backgroundImage: `url('https://images.pexels.com/photos/1563356/pexels-photo-1563356.jpeg')`}} className={styles.heroBackground}></div>
|
|
67
|
+
<Container>
|
|
67
68
|
<div className={styles.heroContent}>
|
|
68
69
|
<h1 className={styles.titleHeader}>
|
|
69
|
-
Kia ora, I
|
|
70
|
+
Kia ora, I’m your AI<br />
|
|
70
71
|
<span className={styles.highlight}>Selwyn trip planner.</span>
|
|
71
72
|
</h1>
|
|
72
73
|
<p className={styles.subtitle}>
|
|
@@ -88,23 +89,23 @@ const ChatItineraryBlock = (props: ChatItineraryBlockProps) => {
|
|
|
88
89
|
</button>
|
|
89
90
|
<div className={styles.planButton}>
|
|
90
91
|
<div className={styles.planButtonDesktop}>
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
92
|
+
<Button
|
|
93
|
+
label={isLoading ? 'PLANNING...' : 'PLAN MY TRIP'}
|
|
94
|
+
secondaryIcon={<PaperPlaneTilt type={'fill'}/>}
|
|
95
|
+
onClick={handlePlanTrip}
|
|
96
|
+
type={'button'}
|
|
97
|
+
size={'default'}
|
|
98
|
+
/>
|
|
98
99
|
</div>
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
<button className={styles.planButtonMobile} aria-label="Plan Trip" disabled={isLoading} onClick={handlePlanTrip}>
|
|
101
|
+
<PaperPlaneTilt type={'fill'}/>
|
|
102
|
+
</button>
|
|
102
103
|
</div>
|
|
103
104
|
</div>
|
|
104
105
|
</div>
|
|
105
106
|
</div>
|
|
106
107
|
</div>
|
|
107
|
-
</
|
|
108
|
+
</Container>
|
|
108
109
|
</div>
|
|
109
110
|
<div className={styles.heroSvg}>
|
|
110
111
|
<LargeHeroIcon/>
|
|
@@ -148,6 +149,23 @@ const ChatItineraryBlock = (props: ChatItineraryBlockProps) => {
|
|
|
148
149
|
<div key={index} className={styles.daySection}>
|
|
149
150
|
<div className={styles.dayHeader}>
|
|
150
151
|
<h3>{day.title}</h3>
|
|
152
|
+
{/*<div className={styles.navigationButtons}>*/}
|
|
153
|
+
{/* <button className={styles.navButtonLeft} aria-label="Previous">*/}
|
|
154
|
+
{/* <CaretLeft type={'light'}/>*/}
|
|
155
|
+
{/* </button>*/}
|
|
156
|
+
{/* <button className={styles.navButtonRight} aria-label="Next">*/}
|
|
157
|
+
{/* <CaretRight type={'light'}/>*/}
|
|
158
|
+
{/* </button>*/}
|
|
159
|
+
{/*</div>*/}
|
|
160
|
+
</div>
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
<div className={styles.headerWithArrows}>
|
|
165
|
+
<div className={styles.arrowHeaderContent}>
|
|
166
|
+
<h4 className={styles.daySubtitle}>{day.subtitle}</h4>
|
|
167
|
+
<p className={styles.dayDescription}>{day.description}</p>
|
|
168
|
+
</div>
|
|
151
169
|
<div className={styles.navigationButtons}>
|
|
152
170
|
<button className={styles.navButtonLeft} aria-label="Previous">
|
|
153
171
|
<CaretLeft type={'light'}/>
|
|
@@ -158,15 +176,16 @@ const ChatItineraryBlock = (props: ChatItineraryBlockProps) => {
|
|
|
158
176
|
</div>
|
|
159
177
|
</div>
|
|
160
178
|
|
|
161
|
-
<h4 className={styles.daySubtitle}>{day.subtitle}</h4>
|
|
162
|
-
<p className={styles.dayDescription}>{day.description}</p>
|
|
163
|
-
|
|
164
179
|
<PathwayBlock
|
|
165
180
|
pillar={pillar}
|
|
166
181
|
cards={day.activities.map((activity) => ({
|
|
167
182
|
date: activity.date || "",
|
|
168
|
-
|
|
169
|
-
|
|
183
|
+
title: activity.title,
|
|
184
|
+
description: activity.description,
|
|
185
|
+
image: activity.image,
|
|
186
|
+
link: activity.link,
|
|
187
|
+
category: activity.category,
|
|
188
|
+
variation: 'short',
|
|
170
189
|
}))}
|
|
171
190
|
/>
|
|
172
191
|
</div>
|
|
@@ -191,7 +210,7 @@ const ChatItineraryBlock = (props: ChatItineraryBlockProps) => {
|
|
|
191
210
|
{itinerary?.tags && itinerary.tags.length > 0 && (
|
|
192
211
|
<div className={styles.tags}>
|
|
193
212
|
{itinerary.tags.map((tag, index) => (
|
|
194
|
-
<Button key={index} label={tag} size={'
|
|
213
|
+
<Button key={index} label={tag} size={'default'} level={'primary'} style={'hollow'}/>
|
|
195
214
|
))}
|
|
196
215
|
</div>
|
|
197
216
|
)}
|
|
@@ -209,7 +228,7 @@ const ChatItineraryBlock = (props: ChatItineraryBlockProps) => {
|
|
|
209
228
|
{/* </div>*/}
|
|
210
229
|
{/*</div>*/}
|
|
211
230
|
|
|
212
|
-
<div className={styles.
|
|
231
|
+
<div className={styles.fixedInputBox}>
|
|
213
232
|
<textarea
|
|
214
233
|
value={userInput}
|
|
215
234
|
onChange={(e) => setUserInput(e.target.value)}
|
|
@@ -3,7 +3,14 @@
|
|
|
3
3
|
export interface Activity {
|
|
4
4
|
image: string;
|
|
5
5
|
title: string;
|
|
6
|
-
|
|
6
|
+
description: string;
|
|
7
|
+
link: {
|
|
8
|
+
title?: string | undefined;
|
|
9
|
+
href?: string | undefined;
|
|
10
|
+
target?: "_blank" | "_self" | "_parent" | "_top" | undefined;
|
|
11
|
+
rel?: string | undefined;
|
|
12
|
+
};
|
|
13
|
+
category: 'all' | 'adventure' | 'ski' | 'nature';
|
|
7
14
|
date?: string;
|
|
8
15
|
}
|
|
9
16
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
.mainContainer {
|
|
2
2
|
position: relative;
|
|
3
|
-
z-index:
|
|
3
|
+
z-index: 1;
|
|
4
4
|
width: 100%;
|
|
5
|
+
min-height: 100vh;
|
|
5
6
|
}
|
|
6
7
|
|
|
7
8
|
.chatItineraryBlock {
|
|
@@ -10,10 +11,16 @@
|
|
|
10
11
|
&.hero {
|
|
11
12
|
display: flex;
|
|
12
13
|
flex-direction: column;
|
|
14
|
+
position: relative;
|
|
15
|
+
min-height: calc(100vh - 98px);
|
|
16
|
+
|
|
17
|
+
@media (max-width: 834px) {
|
|
18
|
+
min-height: calc(100vh - 60px);
|
|
19
|
+
}
|
|
13
20
|
}
|
|
14
21
|
|
|
15
22
|
&.itinerary {
|
|
16
|
-
padding: 48px 0
|
|
23
|
+
padding: 48px 0 76px;
|
|
17
24
|
border-top: 1px solid var(--color-taste);
|
|
18
25
|
|
|
19
26
|
@media (max-width: 834px) {
|
|
@@ -23,11 +30,7 @@
|
|
|
23
30
|
}
|
|
24
31
|
|
|
25
32
|
.heroBackground {
|
|
26
|
-
|
|
27
|
-
position: relative;
|
|
28
|
-
border-top: 1px solid var(--color-taste);
|
|
29
|
-
display: flex;
|
|
30
|
-
overflow: hidden;
|
|
33
|
+
height: 100%;
|
|
31
34
|
|
|
32
35
|
&::after {
|
|
33
36
|
content: '';
|
|
@@ -35,11 +38,11 @@
|
|
|
35
38
|
right: 0;
|
|
36
39
|
top: 0;
|
|
37
40
|
bottom: 0;
|
|
38
|
-
width:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
background-size: cover;
|
|
41
|
+
width: 61%;
|
|
42
|
+
border-radius: 850px 0 0 0;
|
|
43
|
+
background-image: inherit;
|
|
42
44
|
background-position: center;
|
|
45
|
+
background-repeat: no-repeat;
|
|
43
46
|
z-index: 0;
|
|
44
47
|
|
|
45
48
|
@media (max-width: 1024px) {
|
|
@@ -49,23 +52,22 @@
|
|
|
49
52
|
|
|
50
53
|
@media (max-width: 834px) {
|
|
51
54
|
min-height: calc(100vh - 80px);
|
|
55
|
+
display: none;
|
|
52
56
|
}
|
|
53
57
|
}
|
|
54
58
|
|
|
55
59
|
.heroContent {
|
|
56
60
|
position: relative;
|
|
57
|
-
padding-top:
|
|
61
|
+
padding-top: 84px;
|
|
58
62
|
z-index: 2;
|
|
59
|
-
width:
|
|
60
|
-
min-width: 662px;
|
|
63
|
+
width: 50%;
|
|
61
64
|
display: flex;
|
|
62
65
|
flex-direction: column;
|
|
63
66
|
justify-content: flex-start;
|
|
64
|
-
padding-left: 120px;
|
|
65
67
|
padding-right: 24px;
|
|
66
68
|
|
|
67
69
|
.titleHeader {
|
|
68
|
-
padding-bottom:
|
|
70
|
+
padding-bottom: 59px;
|
|
69
71
|
letter-spacing: -2.88px;
|
|
70
72
|
|
|
71
73
|
@media (max-width: 834px) {
|
|
@@ -77,6 +79,7 @@
|
|
|
77
79
|
font-size: var(--font-size-h3);
|
|
78
80
|
font-weight: var(--font-weight-body-regular);
|
|
79
81
|
line-height: 1;
|
|
82
|
+
color: var(--color-taste);
|
|
80
83
|
|
|
81
84
|
@media (max-width: 834px) {
|
|
82
85
|
font-size: var(--font-size-h4);
|
|
@@ -89,12 +92,17 @@
|
|
|
89
92
|
|
|
90
93
|
.highlight {
|
|
91
94
|
font-weight: var(--font-weight-h5);
|
|
95
|
+
letter-spacing: -3.6px;
|
|
96
|
+
line-height: 1;
|
|
97
|
+
color: var(--color-taste);
|
|
92
98
|
}
|
|
93
99
|
|
|
94
100
|
.subtitle {
|
|
95
|
-
font-size:
|
|
101
|
+
font-size: 28px;
|
|
96
102
|
line-height: var(--line-height-h6);
|
|
97
|
-
margin: 0 0
|
|
103
|
+
margin: 0 0 70px 0;
|
|
104
|
+
letter-spacing: -0.56px;
|
|
105
|
+
color: var(--color-taste);
|
|
98
106
|
|
|
99
107
|
@media (max-width: 834px) {
|
|
100
108
|
font-size: var(--font-size-body-regular);
|
|
@@ -133,6 +141,7 @@
|
|
|
133
141
|
padding: 24px 24px 24px 24px;
|
|
134
142
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
|
|
135
143
|
width: 100%;
|
|
144
|
+
max-width: 669px;
|
|
136
145
|
min-height: 200px;
|
|
137
146
|
display: flex;
|
|
138
147
|
flex-direction: column;
|
|
@@ -140,6 +149,7 @@
|
|
|
140
149
|
@media (max-width: 834px) {
|
|
141
150
|
padding: 16px;
|
|
142
151
|
min-height: 180px;
|
|
152
|
+
width: 100%;
|
|
143
153
|
}
|
|
144
154
|
|
|
145
155
|
textarea {
|
|
@@ -288,19 +298,19 @@
|
|
|
288
298
|
|
|
289
299
|
.itineraryWrapper {
|
|
290
300
|
background: var(--color-sand);
|
|
291
|
-
border-radius: 16px;
|
|
292
|
-
padding:
|
|
301
|
+
border-radius: 16px 0;
|
|
302
|
+
padding: 65px 32px 0 32px;
|
|
293
303
|
position: relative;
|
|
294
304
|
animation: fadeIn 0.5s ease;
|
|
295
305
|
width: 100%;
|
|
296
306
|
overflow-y: auto;
|
|
297
307
|
overflow-x: hidden;
|
|
298
|
-
max-height: calc(100vh -
|
|
308
|
+
max-height: calc(100vh - 400px);
|
|
299
309
|
|
|
300
310
|
@media (max-width: 834px) {
|
|
301
311
|
padding: 24px 16px;
|
|
302
|
-
border-radius: 8px;
|
|
303
|
-
max-height: calc(100vh -
|
|
312
|
+
border-radius: 8px 0;
|
|
313
|
+
max-height: calc(100vh - 360px);
|
|
304
314
|
}
|
|
305
315
|
|
|
306
316
|
// Optional: Style the scrollbar
|
|
@@ -369,7 +379,7 @@
|
|
|
369
379
|
line-height: var(--line-height-h3);
|
|
370
380
|
letter-spacing: -1.92px;
|
|
371
381
|
color: var(--header-bg);
|
|
372
|
-
margin: 0 0
|
|
382
|
+
margin: 0 0 62px 0;
|
|
373
383
|
|
|
374
384
|
@media (max-width: 834px) {
|
|
375
385
|
font-size: var(--font-size-h5);
|
|
@@ -390,8 +400,6 @@
|
|
|
390
400
|
line-height: var(--line-height-body-regular);
|
|
391
401
|
font-weight: var(--font-weight-h4);
|
|
392
402
|
color: var(--header-bg);
|
|
393
|
-
margin: 0 0 20px 0;
|
|
394
|
-
padding: 16px;
|
|
395
403
|
background: var(--color-sand);
|
|
396
404
|
border-radius: 24px;
|
|
397
405
|
|
|
@@ -402,7 +410,8 @@
|
|
|
402
410
|
}
|
|
403
411
|
|
|
404
412
|
.userMessage {
|
|
405
|
-
|
|
413
|
+
padding-top: 42px;
|
|
414
|
+
padding-bottom: 42px;
|
|
406
415
|
display: flex;
|
|
407
416
|
justify-content: flex-end;
|
|
408
417
|
|
|
@@ -430,8 +439,7 @@
|
|
|
430
439
|
}
|
|
431
440
|
|
|
432
441
|
.daySection {
|
|
433
|
-
|
|
434
|
-
padding: 48px 0;
|
|
442
|
+
padding: 62px 0;
|
|
435
443
|
|
|
436
444
|
@media (max-width: 834px) {
|
|
437
445
|
margin: 24px 0;
|
|
@@ -440,10 +448,6 @@
|
|
|
440
448
|
}
|
|
441
449
|
|
|
442
450
|
.dayHeader {
|
|
443
|
-
display: flex;
|
|
444
|
-
justify-content: space-between;
|
|
445
|
-
align-items: center;
|
|
446
|
-
margin-bottom: 16px;
|
|
447
451
|
|
|
448
452
|
h3 {
|
|
449
453
|
font-size: var(--font-size-h5);
|
|
@@ -458,9 +462,20 @@
|
|
|
458
462
|
}
|
|
459
463
|
}
|
|
460
464
|
|
|
465
|
+
.headerWithArrows {
|
|
466
|
+
display: flex;
|
|
467
|
+
justify-content: space-between;
|
|
468
|
+
align-items: flex-end;
|
|
469
|
+
margin-bottom: 48px;
|
|
470
|
+
|
|
471
|
+
.arrowHeaderContent{
|
|
472
|
+
gap: 24px;
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
|
|
461
476
|
.navigationButtons {
|
|
462
477
|
display: flex;
|
|
463
|
-
gap:
|
|
478
|
+
gap: 24px;
|
|
464
479
|
|
|
465
480
|
@media (max-width: 834px) {
|
|
466
481
|
display: none;
|
|
@@ -468,8 +483,8 @@
|
|
|
468
483
|
}
|
|
469
484
|
|
|
470
485
|
.navButtonRight {
|
|
471
|
-
width:
|
|
472
|
-
height:
|
|
486
|
+
width: 48px;
|
|
487
|
+
height: 48px;
|
|
473
488
|
border-radius: 50%;
|
|
474
489
|
background: var(--color-bg);
|
|
475
490
|
border: none;
|
|
@@ -486,8 +501,8 @@
|
|
|
486
501
|
}
|
|
487
502
|
|
|
488
503
|
.navButtonLeft {
|
|
489
|
-
width:
|
|
490
|
-
height:
|
|
504
|
+
width: 48px;
|
|
505
|
+
height: 48px;
|
|
491
506
|
border-radius: 50%;
|
|
492
507
|
background: none;
|
|
493
508
|
border: 1px solid var(--color-bg);
|
|
@@ -508,7 +523,8 @@
|
|
|
508
523
|
font-weight: var(--font-weight-h4);
|
|
509
524
|
line-height: var(--line-height-h6);
|
|
510
525
|
letter-spacing: -0.56px;
|
|
511
|
-
margin:
|
|
526
|
+
margin-top: 22px;
|
|
527
|
+
margin-bottom: 14px;
|
|
512
528
|
|
|
513
529
|
@media (max-width: 834px) {
|
|
514
530
|
font-size: var(--font-size-h7);
|
|
@@ -519,7 +535,6 @@
|
|
|
519
535
|
font-size: var(--font-size-body-regular);
|
|
520
536
|
line-height: var(--line-height-body-regular);
|
|
521
537
|
font-weight: var(--font-weight-h4);
|
|
522
|
-
margin: 0 0 48px 0;
|
|
523
538
|
|
|
524
539
|
@media (max-width: 834px) {
|
|
525
540
|
font-size: var(--font-size-body-sm);
|
|
@@ -653,7 +668,7 @@
|
|
|
653
668
|
line-height: var(--line-height-h6);
|
|
654
669
|
letter-spacing: -0.56px;
|
|
655
670
|
color: var(--color-bg);
|
|
656
|
-
margin-top:
|
|
671
|
+
margin-top: 40px;
|
|
657
672
|
|
|
658
673
|
@media (max-width: 834px) {
|
|
659
674
|
font-size: var(--font-size-h7);
|
|
@@ -717,4 +732,46 @@
|
|
|
717
732
|
display: flex;
|
|
718
733
|
}
|
|
719
734
|
}
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
.fixedInputBox {
|
|
738
|
+
background: var(--bg-modal-color);
|
|
739
|
+
border-radius: var(--tw-8, 32px);
|
|
740
|
+
border: 2px solid var(--color-taste);
|
|
741
|
+
padding: 24px 24px 24px 24px;
|
|
742
|
+
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
|
|
743
|
+
width: 100%;
|
|
744
|
+
height: 162px;
|
|
745
|
+
display: flex;
|
|
746
|
+
flex-direction: column;
|
|
747
|
+
|
|
748
|
+
@media (max-width: 834px) {
|
|
749
|
+
padding: 16px;
|
|
750
|
+
min-height: 180px;
|
|
751
|
+
width: 100%;
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
textarea {
|
|
755
|
+
width: 100%;
|
|
756
|
+
flex: 1;
|
|
757
|
+
border: none;
|
|
758
|
+
outline: none;
|
|
759
|
+
font-size: 18px;
|
|
760
|
+
resize: none;
|
|
761
|
+
font-family: inherit;
|
|
762
|
+
color: var(--header-bg);
|
|
763
|
+
margin-bottom: 16px;
|
|
764
|
+
|
|
765
|
+
@media (max-width: 834px) {
|
|
766
|
+
font-size: 16px;
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
&::placeholder {
|
|
770
|
+
color: var(--header-bg);
|
|
771
|
+
|
|
772
|
+
@media (max-width: 834px) {
|
|
773
|
+
font-size: var(--font-size-body-sm);
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
}
|
|
720
777
|
}
|
|
@@ -1,27 +1,55 @@
|
|
|
1
1
|
.kpi {
|
|
2
|
-
|
|
3
2
|
.kpiWrapper {
|
|
4
3
|
display: flex;
|
|
5
4
|
flex-direction: inherit;
|
|
6
5
|
align-items: start;
|
|
7
6
|
|
|
7
|
+
@media (max-width: 900px) {
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
}
|
|
8
10
|
|
|
9
11
|
.header {
|
|
10
12
|
flex: 0 0 40%;
|
|
11
13
|
margin-right: 90px;
|
|
12
14
|
|
|
15
|
+
@media (max-width: 1200px) {
|
|
16
|
+
margin-right: 60px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@media (max-width: 900px) {
|
|
20
|
+
flex: 1;
|
|
21
|
+
width: 100%;
|
|
22
|
+
margin-right: 0;
|
|
23
|
+
margin-bottom: 16px;
|
|
24
|
+
}
|
|
25
|
+
|
|
13
26
|
h2 {
|
|
14
27
|
font-size: var(--font-size-h4);
|
|
15
28
|
font-weight: var(--font-weight-h5);
|
|
16
29
|
letter-spacing: -1.92px;
|
|
17
30
|
line-height: 1;
|
|
18
|
-
margin-bottom:
|
|
31
|
+
margin-bottom: 48px;
|
|
32
|
+
|
|
33
|
+
@media (max-width: 900px) {
|
|
34
|
+
font-size: var(--font-size-h5);
|
|
35
|
+
margin-bottom: 40px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@media (max-width: 480px) {
|
|
39
|
+
font-size: var(--font-size-h6);
|
|
40
|
+
margin-bottom: 22px;
|
|
41
|
+
letter-spacing: -1.2px;
|
|
42
|
+
}
|
|
19
43
|
}
|
|
20
44
|
|
|
21
45
|
p {
|
|
22
46
|
font-size: var(--font-size-body-regular);
|
|
23
47
|
line-height: var(--line-height-body-regular);
|
|
24
48
|
font-weight: var(--font-weight-body-sm);
|
|
49
|
+
|
|
50
|
+
@media (max-width: 900px) {
|
|
51
|
+
font-size: var(--font-size-body-sm);
|
|
52
|
+
}
|
|
25
53
|
}
|
|
26
54
|
}
|
|
27
55
|
|
|
@@ -29,13 +57,32 @@
|
|
|
29
57
|
width: 60%;
|
|
30
58
|
display: flex;
|
|
31
59
|
flex-direction: column;
|
|
32
|
-
gap:48px;
|
|
60
|
+
gap: 48px;
|
|
61
|
+
|
|
62
|
+
@media (max-width: 900px) {
|
|
63
|
+
width: 100%;
|
|
64
|
+
gap: 32px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@media (max-width: 480px) {
|
|
68
|
+
gap: 24px;
|
|
69
|
+
}
|
|
33
70
|
|
|
34
71
|
.statItem {
|
|
35
72
|
display: flex;
|
|
36
73
|
padding-bottom: 48px;
|
|
37
|
-
border-bottom: 1px solid
|
|
74
|
+
border-bottom: 1px solid;
|
|
75
|
+
|
|
76
|
+
@media (max-width: 900px) {
|
|
77
|
+
padding-bottom: 32px;
|
|
78
|
+
flex-direction: column;
|
|
79
|
+
gap: 16px;
|
|
80
|
+
}
|
|
38
81
|
|
|
82
|
+
@media (max-width: 480px) {
|
|
83
|
+
padding-bottom: 24px;
|
|
84
|
+
gap: 12px;
|
|
85
|
+
}
|
|
39
86
|
|
|
40
87
|
&:last-child {
|
|
41
88
|
border-bottom: none;
|
|
@@ -49,6 +96,23 @@
|
|
|
49
96
|
font-weight: var(--font-weight-h5);
|
|
50
97
|
letter-spacing: -3.6px;
|
|
51
98
|
min-width: 230px;
|
|
99
|
+
|
|
100
|
+
@media (max-width: 1200px) {
|
|
101
|
+
flex: 0 0 180px;
|
|
102
|
+
min-width: 180px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@media (max-width: 900px) {
|
|
106
|
+
flex: 1;
|
|
107
|
+
min-width: 0;
|
|
108
|
+
font-size: var(--font-size-h4);
|
|
109
|
+
letter-spacing: -2.4px;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@media (max-width: 480px) {
|
|
113
|
+
font-size: var(--font-size-h5);
|
|
114
|
+
letter-spacing: -1.8px;
|
|
115
|
+
}
|
|
52
116
|
}
|
|
53
117
|
|
|
54
118
|
.description {
|
|
@@ -59,21 +123,46 @@
|
|
|
59
123
|
display: flex;
|
|
60
124
|
align-items: center;
|
|
61
125
|
padding-left: 24px;
|
|
126
|
+
|
|
127
|
+
@media (max-width: 900px) {
|
|
128
|
+
padding-left: 0;
|
|
129
|
+
font-size: var(--font-size-body-sm);
|
|
130
|
+
align-items: flex-start;
|
|
131
|
+
}
|
|
62
132
|
}
|
|
63
133
|
}
|
|
64
134
|
}
|
|
65
135
|
}
|
|
66
136
|
}
|
|
67
137
|
|
|
68
|
-
.pillarIcon{
|
|
138
|
+
.pillarIcon {
|
|
69
139
|
position: absolute;
|
|
70
|
-
//top: 0;
|
|
71
140
|
right: 0;
|
|
72
141
|
bottom: 0;
|
|
73
142
|
pointer-events: none;
|
|
143
|
+
z-index: 1;
|
|
74
144
|
|
|
75
|
-
|
|
145
|
+
@media (max-width: 1200px) {
|
|
146
|
+
right: -100px;
|
|
147
|
+
display: none;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
@media (max-width: 900px) {
|
|
151
|
+
display: none;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
svg {
|
|
76
155
|
height: 577px;
|
|
77
156
|
width: 639px;
|
|
157
|
+
|
|
158
|
+
@media (max-width: 1400px) {
|
|
159
|
+
height: 450px;
|
|
160
|
+
width: 500px;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@media (max-width: 1200px) {
|
|
164
|
+
height: 350px;
|
|
165
|
+
width: 400px;
|
|
166
|
+
}
|
|
78
167
|
}
|
|
79
168
|
}
|
|
@@ -3,6 +3,7 @@ import styles from "./ListingDetailBlock.module.scss";
|
|
|
3
3
|
import {CheckCircle, Clock, DeviceMobile, MapPin, Mountains, Path} from "../../Icons";
|
|
4
4
|
import {Button} from "../../Form";
|
|
5
5
|
import ArrowRight from "../../Icons/Arrows/ArrowRight/ArrowRight.tsx";
|
|
6
|
+
import Container from "../../Shared/Container/Container.tsx";
|
|
6
7
|
|
|
7
8
|
const ListingDetailBlock = ({
|
|
8
9
|
title,
|
|
@@ -16,6 +17,7 @@ const ListingDetailBlock = ({
|
|
|
16
17
|
websiteUrl,
|
|
17
18
|
}: ListingDetailBlockProps) => {
|
|
18
19
|
return (
|
|
20
|
+
<Container>
|
|
19
21
|
<div className={styles.listingDetail}>
|
|
20
22
|
{/* Main Content - Left */}
|
|
21
23
|
<div className={styles.mainContent}>
|
|
@@ -37,7 +39,7 @@ const ListingDetailBlock = ({
|
|
|
37
39
|
{distance && (
|
|
38
40
|
<div className={styles.infoItem}>
|
|
39
41
|
<Path type={'fill'}/>
|
|
40
|
-
<div>
|
|
42
|
+
<div className={styles.sidebarItems}>
|
|
41
43
|
<div className={styles.infoLabel}>Distance from Christchurch Airport</div>
|
|
42
44
|
<div className={styles.infoValue}>{distance}</div>
|
|
43
45
|
</div>
|
|
@@ -79,7 +81,7 @@ const ListingDetailBlock = ({
|
|
|
79
81
|
<DeviceMobile type={'fill'}/>
|
|
80
82
|
<div>
|
|
81
83
|
<div className={styles.infoLabel}>Phone</div>
|
|
82
|
-
<div className={styles.
|
|
84
|
+
<div className={styles.infoValuePhone}>{phone}</div>
|
|
83
85
|
</div>
|
|
84
86
|
</div>
|
|
85
87
|
)}
|
|
@@ -92,6 +94,7 @@ const ListingDetailBlock = ({
|
|
|
92
94
|
)}
|
|
93
95
|
</div>
|
|
94
96
|
</div>
|
|
97
|
+
</Container>
|
|
95
98
|
);
|
|
96
99
|
};
|
|
97
100
|
|