@hellobetterdigitalnz/selwynui 0.0.1-38 → 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.
Files changed (72) hide show
  1. package/dist/Components/DataDisplay/ChatItenaryBlock/ChatItenaryBlockProps.d.ts +8 -1
  2. package/dist/Components/DataDisplay/PathwayBlock/PathwayBlockProps.d.ts +9 -0
  3. package/dist/Components/Form/Checkbox/Checkbox.d.ts +3 -0
  4. package/dist/Components/Form/Checkbox/CheckboxProps.d.ts +22 -0
  5. package/dist/Components/Form/EmailField/EmailField.d.ts +3 -0
  6. package/dist/Components/Form/EmailField/EmailField.stories.d.ts +13 -0
  7. package/dist/Components/Form/FormFieldHolder/FormFieldHolder.d.ts +3 -0
  8. package/dist/Components/Form/FormFieldHolder/FormFieldHolderProps.d.ts +13 -0
  9. package/dist/Components/Form/InputProps.d.ts +27 -0
  10. package/dist/Components/Form/LoadingInput/LoadingInput.d.ts +2 -0
  11. package/dist/Components/Form/SimpleForm/SimpleForm.d.ts +3 -0
  12. package/dist/Components/Form/SimpleForm/SimpleFormProps.d.ts +9 -0
  13. package/dist/Components/Form/SimpleForm/simple-form-bg-design.d.ts +2 -0
  14. package/dist/Components/Form/TextField/TextField.d.ts +3 -0
  15. package/dist/Components/Form/TextField/TextField.stories.d.ts +13 -0
  16. package/dist/Components/Form/TextField/TextFieldProps.d.ts +6 -0
  17. package/dist/Components/Form/Textarea/Textarea.d.ts +3 -0
  18. package/dist/Components/Form/Textarea/Textarea.stories.d.ts +14 -0
  19. package/dist/Components/Form/Textarea/TextareaProps.d.ts +26 -0
  20. package/dist/Components/Form/index.d.ts +3 -0
  21. package/dist/Components/Layout/Footer/FooterProps.d.ts +1 -1
  22. package/dist/index.cjs.js +12 -12
  23. package/dist/index.cjs.js.map +1 -1
  24. package/dist/index.es.js +1515 -1407
  25. package/dist/index.es.js.map +1 -1
  26. package/dist/selwynui.css +1 -1
  27. package/package.json +3 -1
  28. package/src/Components/DataDisplay/Accordion/accordion.module.scss +49 -36
  29. package/src/Components/DataDisplay/ChatItenaryBlock/ChatItenaryBlock.stories.tsx +36 -6
  30. package/src/Components/DataDisplay/ChatItenaryBlock/ChatItenaryBlock.tsx +39 -20
  31. package/src/Components/DataDisplay/ChatItenaryBlock/ChatItenaryBlockProps.tsx +8 -1
  32. package/src/Components/DataDisplay/ChatItenaryBlock/chatItenaryBlock.module.scss +98 -41
  33. package/src/Components/DataDisplay/KPIBlock/kpiBlock.module.scss +96 -7
  34. package/src/Components/DataDisplay/ListingDetailBlock/ListingDetailBlock.tsx +5 -2
  35. package/src/Components/DataDisplay/ListingDetailBlock/listingDetailBlock.module.scss +130 -15
  36. package/src/Components/DataDisplay/PathwayBlock/PathwayBlock.stories.tsx +6 -0
  37. package/src/Components/DataDisplay/PathwayBlock/PathwayBlock.tsx +4 -1
  38. package/src/Components/DataDisplay/PathwayBlock/PathwayBlockProps.tsx +9 -0
  39. package/src/Components/DataDisplay/TestimonyCard/TestimonyCard.stories.tsx +2 -1
  40. package/src/Components/DataDisplay/TestimonyCard/TestimonyCard.tsx +1 -1
  41. package/src/Components/DataDisplay/TestimonyCard/testimonyCard.module.scss +1 -3
  42. package/src/Components/Form/Checkbox/Checkbox.stories.tsx +51 -0
  43. package/src/Components/Form/Checkbox/Checkbox.tsx +111 -0
  44. package/src/Components/Form/Checkbox/CheckboxProps.tsx +24 -0
  45. package/src/Components/Form/Checkbox/checkbox.module.scss +105 -0
  46. package/src/Components/Form/EmailField/EmailField.stories.ts +23 -0
  47. package/src/Components/Form/EmailField/EmailField.tsx +56 -0
  48. package/src/Components/Form/FormFieldHolder/FormFieldHolder.stories.tsx +31 -0
  49. package/src/Components/Form/FormFieldHolder/FormFieldHolder.tsx +55 -0
  50. package/src/Components/Form/FormFieldHolder/FormFieldHolderProps.tsx +15 -0
  51. package/src/Components/Form/FormFieldHolder/formHolder.module.scss +68 -0
  52. package/src/Components/Form/InputProps.tsx +30 -0
  53. package/src/Components/Form/LoadingInput/LoadingInput.tsx +12 -0
  54. package/src/Components/Form/LoadingInput/loadingInput.module.scss +15 -0
  55. package/src/Components/Form/SimpleForm/SimpleForm.stories.tsx +54 -0
  56. package/src/Components/Form/SimpleForm/SimpleForm.tsx +55 -0
  57. package/src/Components/Form/SimpleForm/SimpleFormProps.tsx +11 -0
  58. package/src/Components/Form/SimpleForm/simple-form-bg-design.svg +14 -0
  59. package/src/Components/Form/SimpleForm/simple-form-bg-design.tsx +21 -0
  60. package/src/Components/Form/SimpleForm/simpleForm.module.scss +36 -0
  61. package/src/Components/Form/TextField/TextField.stories.ts +22 -0
  62. package/src/Components/Form/TextField/TextField.tsx +62 -0
  63. package/src/Components/Form/TextField/TextFieldProps.tsx +8 -0
  64. package/src/Components/Form/Textarea/Textarea.stories.ts +31 -0
  65. package/src/Components/Form/Textarea/Textarea.tsx +74 -0
  66. package/src/Components/Form/Textarea/TextareaProps.tsx +28 -0
  67. package/src/Components/Form/Textarea/textarea.module.scss +48 -0
  68. package/src/Components/Form/index.ts +6 -1
  69. package/src/Components/Form/inputs.module.scss +172 -0
  70. package/src/Components/Layout/Footer/Footer.tsx +0 -1
  71. package/src/Components/Layout/Footer/FooterProps.tsx +1 -1
  72. 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'm your AI<br />
70
+ Kia ora, Im 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
- <Button
92
- label={isLoading ? 'PLANNING...' : 'PLAN MY TRIP'}
93
- secondaryIcon={<PaperPlaneTilt type={'fill'}/>}
94
- onClick={handlePlanTrip}
95
- type={'button'}
96
- size={'default'}
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
- <button className={styles.planButtonMobile} aria-label="Plan Trip" disabled={isLoading} onClick={handlePlanTrip}>
100
- <PaperPlaneTilt type={'fill'}/>
101
- </button>
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
- </div>
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
- description: activity.title,
169
- image: activity.image
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={'small'} level={'primary'} style={'hollow'}/>
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.inputBox}>
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
- link: string;
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: 10;
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 96px;
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
- min-height: calc(100vh - 100px);
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: 67%;
39
- background-image: url('https://images.pexels.com/photos/1365425/pexels-photo-1365425.jpeg');
40
- border-radius: 10000px 0 0 0;
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: 96px;
61
+ padding-top: 84px;
58
62
  z-index: 2;
59
- width: 46%;
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: 72px;
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: var(--font-size-h6);
101
+ font-size: 28px;
96
102
  line-height: var(--line-height-h6);
97
- margin: 0 0 72px 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: 40px;
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 - 380px);
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 - 320px);
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 72px 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
- margin: 20px 0;
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
- margin: 40px 0;
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: 8px;
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: 40px;
472
- height: 40px;
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: 40px;
490
- height: 40px;
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: 0 0 12px 0;
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: 48px;
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: 72px;
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
- svg{
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.infoValue}>{phone}</div>
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