@hellobetterdigitalnz/selwynui 0.0.1-1 → 0.0.1-11

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 (92) hide show
  1. package/dist/Components/DataDisplay/Accordion/Accordion.d.ts +3 -0
  2. package/dist/Components/DataDisplay/Accordion/AccordionContext.d.ts +3 -0
  3. package/dist/Components/DataDisplay/Accordion/AccordionContextInterface.d.ts +7 -0
  4. package/dist/Components/DataDisplay/Accordion/AccordionItem.d.ts +3 -0
  5. package/dist/Components/DataDisplay/Accordion/AccordionItemProps.d.ts +18 -0
  6. package/dist/Components/DataDisplay/Accordion/AccordionProps.d.ts +11 -0
  7. package/dist/Components/DataDisplay/Accordion/AccordionProvider.d.ts +3 -0
  8. package/dist/Components/DataDisplay/Accordion/AccordionProviderInterface.d.ts +7 -0
  9. package/dist/Components/DataDisplay/Accordion/accordion-bg-design.d.ts +2 -0
  10. package/dist/Components/DataDisplay/DetailsCard/DetailsCardProps.d.ts +7 -1
  11. package/dist/Components/DataDisplay/ImageContent/ImageContentProps.d.ts +4 -4
  12. package/dist/Components/DataDisplay/Pathway/PathwayProps.d.ts +13 -4
  13. package/dist/Components/DataDisplay/PathwayBlock/PathwayBlock.d.ts +3 -0
  14. package/dist/Components/DataDisplay/PathwayBlock/PathwayBlockProps.d.ts +11 -0
  15. package/dist/Components/DataDisplay/PromoBannerBlock/PromoBannerBlockProps.d.ts +9 -9
  16. package/dist/Components/DataDisplay/PromoBannerBlock/brand-piller.d.ts +3 -0
  17. package/dist/Components/DataDisplay/TestimonyCard/TestimonyCard.d.ts +3 -0
  18. package/dist/Components/DataDisplay/TestimonyCard/TestimonyCardProps.d.ts +10 -0
  19. package/dist/Components/DataDisplay/index.d.ts +2 -0
  20. package/dist/Components/Form/Button/Button.d.ts +3 -0
  21. package/dist/Components/Form/Button/ButtonProps.d.ts +16 -5
  22. package/dist/Components/Layout/Header/MegaMenu/MegaMenu.d.ts +2 -1
  23. package/dist/Components/Layout/Header/MegaMenu/MegaMenuProps.d.ts +15 -1
  24. package/dist/Components/Layout/Header/MobileNavigation/MobileNavigation.d.ts +3 -0
  25. package/dist/Components/Layout/Header/MobileNavigation/MobileNavigationItem.d.ts +3 -0
  26. package/dist/Components/Layout/Header/MobileNavigation/MobileNavigationItemProps.d.ts +4 -0
  27. package/dist/Components/Layout/Header/MobileNavigation/MobileNavigationProps.d.ts +6 -0
  28. package/dist/Components/Layout/Header/MobileNavigation/MobileSubNavigation/MobileSubNavigation.d.ts +3 -0
  29. package/dist/Components/Layout/Header/MobileNavigation/MobileSubNavigation/MobileSubNavigationItem.d.ts +3 -0
  30. package/dist/Components/Layout/Header/MobileNavigation/MobileSubNavigation/MobileSubNavigationItemProps.d.ts +4 -0
  31. package/dist/Components/Layout/Header/MobileNavigation/MobileSubNavigation/MobileSubNavigationProps.d.ts +7 -0
  32. package/dist/Components/Layout/Header/MobileNavigation/MobileWhatuOverlay.d.ts +2 -0
  33. package/dist/Components/Layout/HeroBanner/HeroBannerProps.d.ts +1 -1
  34. package/dist/Components/Layout/index.d.ts +3 -1
  35. package/dist/Components/Shared/Hook/useScrollFadeIn/useScrollFadeIn.d.ts +6 -0
  36. package/dist/Components/Shared/PillarIcon/PillarIcon.d.ts +3 -0
  37. package/dist/Components/Shared/PillarIcon/PillarIconsProps.d.ts +4 -0
  38. package/dist/Components/Shared/PillarLogo/PillarLogo.d.ts +6 -0
  39. package/dist/Components/Shared/ScrollFadeIn/ScrollFadeIn.d.ts +12 -0
  40. package/dist/Components/index.d.ts +5 -0
  41. package/dist/img/accordion-image.svg +9 -0
  42. package/dist/index.cjs.js +10 -10
  43. package/dist/index.cjs.js.map +1 -1
  44. package/dist/index.d.ts +1 -5
  45. package/dist/index.es.js +1304 -677
  46. package/dist/index.es.js.map +1 -1
  47. package/dist/selwynui.css +1 -1
  48. package/package.json +2 -1
  49. package/src/Components/DataDisplay/Accordion/Accordion.tsx +15 -17
  50. package/src/Components/DataDisplay/DetailsCard/DetailsCard.stories.tsx +7 -3
  51. package/src/Components/DataDisplay/DetailsCard/DetailsCard.tsx +11 -39
  52. package/src/Components/DataDisplay/DetailsCard/DetailsCardProps.tsx +7 -1
  53. package/src/Components/DataDisplay/DetailsCard/detailsCard.module.scss +10 -10
  54. package/src/Components/DataDisplay/ImageContent/ImageContent.stories.tsx +48 -2
  55. package/src/Components/DataDisplay/ImageContent/ImageContent.tsx +65 -18
  56. package/src/Components/DataDisplay/ImageContent/ImageContentProps.tsx +2 -1
  57. package/src/Components/DataDisplay/ImageContent/imageContent.module.scss +140 -46
  58. package/src/Components/DataDisplay/Pathway/Pathway.stories.tsx +50 -13
  59. package/src/Components/DataDisplay/Pathway/Pathway.tsx +15 -4
  60. package/src/Components/DataDisplay/Pathway/PathwayProps.tsx +13 -4
  61. package/src/Components/DataDisplay/PathwayBlock/PathwayBlock.tsx +0 -2
  62. package/src/Components/DataDisplay/PromoBannerBlock/PromoBanner.stories.tsx +1 -2
  63. package/src/Components/DataDisplay/PromoBannerBlock/PromoBannerBlock.tsx +1 -5
  64. package/src/Components/DataDisplay/PromoBannerBlock/promoBanner.module.scss +0 -1
  65. package/src/Components/DataDisplay/index.ts +5 -1
  66. package/src/Components/DataDisplay/slider.scss +2 -0
  67. package/src/Components/Form/Button/ButtonProps.tsx +1 -1
  68. package/src/Components/Form/Button/button.module.scss +0 -1
  69. package/src/Components/Layout/Footer/Footer.stories.tsx +1 -1
  70. package/src/Components/Layout/Header/Header.stories.tsx +34 -7
  71. package/src/Components/Layout/Header/HeaderRightItem.tsx +2 -2
  72. package/src/Components/Layout/Header/MegaMenu/MegaMenu.tsx +1 -6
  73. package/src/Components/Layout/Header/MegaMenu/MegaMenuProps.tsx +2 -2
  74. package/src/Components/Layout/Header/MobileNavigation/MobileNavigation.tsx +25 -0
  75. package/src/Components/Layout/Header/MobileNavigation/MobileNavigationItem.tsx +17 -0
  76. package/src/Components/Layout/Header/MobileNavigation/MobileNavigationItemProps.tsx +5 -0
  77. package/src/Components/Layout/Header/MobileNavigation/MobileNavigationProps.tsx +8 -0
  78. package/src/Components/Layout/Header/MobileNavigation/MobileSubNavigation/MobileSubNavigation.tsx +21 -0
  79. package/src/Components/Layout/Header/MobileNavigation/MobileSubNavigation/MobileSubNavigationItem.tsx +17 -0
  80. package/src/Components/Layout/Header/MobileNavigation/MobileSubNavigation/MobileSubNavigationItemProps.tsx +5 -0
  81. package/src/Components/Layout/Header/MobileNavigation/MobileSubNavigation/MobileSubNavigationProps.tsx +9 -0
  82. package/src/Components/Layout/Header/MobileNavigation/MobileWhatuOverlay.tsx +18 -0
  83. package/src/Components/Layout/Header/MobileNavigation/mobileNavigation.module.scss +62 -0
  84. package/src/Components/Layout/Header/header.module.scss +16 -2
  85. package/src/Components/Layout/Header/header.scss +15 -0
  86. package/src/Components/Layout/HeroBanner/HeroBanner.tsx +10 -0
  87. package/src/Components/Layout/HeroBanner/HeroBannerProps.tsx +1 -1
  88. package/src/Components/Layout/HeroBanner/heroBanner.module.scss +92 -18
  89. package/src/Components/Layout/index.ts +1 -2
  90. package/src/Components/Shared/Container/container.module.scss +3 -3
  91. package/src/Components/index.ts +5 -0
  92. package/dist/index.es.d.ts +0 -2
@@ -100,8 +100,24 @@
100
100
  &.maskedImageContent{
101
101
 
102
102
  .pillarlogo{
103
+ display: flex;
103
104
  margin-bottom: 48px;
105
+ align-items: center;
104
106
 
107
+ p{
108
+ margin-left: 16px;
109
+ font-size: 18px;
110
+ font-style: normal;
111
+ font-weight: 700;
112
+ line-height: 140%;
113
+ }
114
+
115
+ &.pillarlogoFull{
116
+ svg{
117
+ width: 32px;
118
+ height: 32px;
119
+ }
120
+ }
105
121
  svg{
106
122
  width: 160px;
107
123
  height: 54px;
@@ -141,6 +157,7 @@
141
157
  // full image
142
158
  &.imageContentFull{
143
159
  position: relative;
160
+ overflow: hidden;
144
161
 
145
162
  .svgBackgroundPillar{
146
163
  position: absolute;
@@ -158,71 +175,51 @@
158
175
  }
159
176
  }
160
177
 
161
- &.top{
162
- &.left{
163
- .imageHolder {
164
- border-radius: 0px 500px 0px 0px;
165
- }
166
- }
178
+ &.top-left{
179
+ .imageHolder{
180
+ border-radius: 200px 0 0 0;
181
+ }
182
+ }
167
183
 
168
- &.right{
169
- .imageHolder {
170
- border-radius: 500px 0px 0px;
171
- }
184
+ &.top-right{
185
+ .imageHolder{
186
+ border-radius: 0 200px 0 0;
172
187
  }
173
188
  }
174
189
 
175
- &.bottom{
176
- &.left{
177
- .imageHolder {
178
- border-radius: 0px 0px 500px 0px;
179
- }
180
- }
181
-
182
- &.right{
183
- .imageHolder {
184
- border-radius: 0px 0px 0px 500px;
185
- }
190
+ &.bottom-right{
191
+ .imageHolder{
192
+ border-radius: 0 0 200px 0;
186
193
  }
187
194
  }
188
195
 
189
- &.left{
190
- .imageContentWrapper {
191
- flex-direction: row;
192
- }
193
-
194
- .imageHolder {
195
- height: 100%;
196
- position: absolute;
197
- width: calc(50vw + 10px);
198
- right: 0;
199
- left: unset;
196
+ &.bottom-left{
197
+ .imageHolder{
198
+ border-radius: 0 0 0 200px;
200
199
  }
201
-
202
- .content{
203
- padding-left: 198px;
204
- padding-right: 0;
205
- }
206
-
207
200
  }
208
201
 
209
202
  .imageContentWrapper{
210
203
  margin: 0px;
211
- min-height: 935px;
212
204
  }
213
205
 
214
206
  .imageWrapper{
215
207
  position: relative;
216
208
  padding: 0px;
209
+ //width: 100%;
210
+ z-index: 1;
211
+ margin-top: 0;
212
+ width: calc(100% + 32px);
213
+ margin-left: -16px;
214
+ margin-right: -15px;
217
215
  }
218
216
 
219
217
  .imageHolder {
220
218
  padding: 0;
221
219
  height: 100%;
222
- position: absolute;
223
- width: calc(50vw - 10px);
224
- left: 0;
225
- overflow: hidden;
220
+ width: 100%;
221
+ min-width: 50vw;
222
+ min-height: 380px;
226
223
 
227
224
 
228
225
  &::before {
@@ -238,8 +235,9 @@
238
235
  }
239
236
 
240
237
  .content{
241
- padding: 0;
242
- padding-right: 198px;
238
+ padding-top: 32px;
239
+ padding-bottom: 32px;
240
+ padding-right: 0px;
243
241
 
244
242
  .desc{
245
243
  }
@@ -274,7 +272,65 @@
274
272
 
275
273
  }
276
274
 
277
- @media screen and (min-width: 992px){
275
+ //Fluid
276
+ &.imageContentFluid{
277
+ overflow-x: hidden;
278
+
279
+ .pillarlogo{
280
+ display: flex;
281
+ margin-bottom: 48px;
282
+ align-items: center;
283
+
284
+ p{
285
+ margin-left: 16px;
286
+ font-size: 18px;
287
+ font-style: normal;
288
+ font-weight: 700;
289
+ line-height: 140%;
290
+ }
291
+
292
+ &.pillarlogoFull{
293
+ svg{
294
+ width: 32px;
295
+ height: 32px;
296
+ }
297
+ }
298
+ svg{
299
+ width: 160px;
300
+ height: 54px;
301
+ }
302
+
303
+ }
304
+
305
+ .imageContentWrapper{
306
+ min-height: 725px;
307
+ }
308
+
309
+ .imageHolder{
310
+ min-width: 50vw;
311
+ border-radius: 0;
312
+ width: calc(100% + 32px);
313
+ margin-left: -16px;
314
+ margin-right: -16px;
315
+ position: relative;
316
+
317
+ .clipPath{
318
+ position: absolute;
319
+ top: 0;
320
+ bottom: 0;
321
+ color: var(--color-block-bg);
322
+ }
323
+
324
+ }
325
+
326
+ .content{
327
+ padding-top: 32px;
328
+ padding-bottom: 32px;
329
+ }
330
+
331
+ }
332
+
333
+ @media screen and (min-width: 1200px){
278
334
 
279
335
  &Wrapper{
280
336
  margin: 0 -52px;
@@ -336,6 +392,44 @@
336
392
  .pillarlogo{
337
393
  margin-bottom: 48px;
338
394
  }
395
+
396
+ &.top-left{
397
+ .imageHolder{
398
+ border-radius: 500px 0 0 0;
399
+ }
400
+ }
401
+
402
+ &.top-right{
403
+ .imageHolder{
404
+ border-radius: 0 500px 0 0;
405
+ }
406
+ }
407
+
408
+ &.bottom-right{
409
+ .imageHolder{
410
+ border-radius: 0 0 500px 0;
411
+ }
412
+ }
413
+
414
+ &.bottom-left{
415
+ .imageHolder{
416
+ border-radius: 0 0 0 500px;
417
+ }
418
+ }
419
+
420
+ .imageContentWrapper{
421
+ margin: 0px;
422
+ min-height: 935px;
423
+ }
424
+
425
+ .imageWrapper{
426
+ width: 50%;
427
+ }
428
+
429
+ .content{
430
+ padding-right: 198px;
431
+ }
432
+
339
433
  }
340
434
 
341
435
  }
@@ -1,27 +1,64 @@
1
+ import React from 'react'
1
2
  import type { Meta, StoryObj } from '@storybook/react-vite';
2
3
  import Pathway from './Pathway';
3
- import { FaArrowRight } from "react-icons/fa";
4
+ import {ElementHolder} from "../../Shared";
4
5
 
5
6
  const meta : Meta<typeof Pathway> = {
6
7
  title: "Form / Pathway",
7
8
  component: Pathway,
8
-
9
9
  }
10
10
 
11
11
  export default meta;
12
12
  type Story = StoryObj<typeof Pathway>
13
13
 
14
- export const grid: Story = {
15
- args: {
16
- title: "This is a card title that is quite long and probably wraps over a few lines",
17
- link: '#',
18
- filters: ["all", "adventure", "ski", "nature", "city"],
19
- cards: [
20
- { title: "Ballooning Canterbury", link: "#", image: "./img/card-one.png", category: "adventure" },
14
+ const GridTemplate: Story = {
15
+ render : () =>{
16
+
17
+ return <ElementHolder paddingTop={'md'} paddingBottom={"md"}>
18
+ <Pathway
19
+ title={'Food and drink'}
20
+ description={'Find the ideal event venues in Selwyn, where beautiful landscapes blend with top-notch facilities. '}
21
+ variation={'grid'}
22
+ filters={["all", "adventure", "ski", "nature", "city"]}
23
+ cards={
24
+ [
25
+ { title: "Ballooning Canterbury", link: "#", image: "./img/card-one.png", category: "adventure", pillar: "live" },
26
+ { title: "Ski Resort", link: "#", image: "./img/card-two.png", category: "ski" },
27
+ { title: "Nature Walk", link: "#", image: "./img/card-three.png", category: "nature" },
28
+ { title: "City Tour", link: "#", image: "./img/card-four.png" }
29
+ ]
30
+ }
31
+ />
32
+ </ElementHolder>
33
+ }
34
+ };
35
+
36
+ const CarouselTemplate: Story = {
37
+ render : () =>{
38
+
39
+ return <ElementHolder paddingTop={'md'} paddingBottom={"md"}>
40
+ <Pathway
41
+ title={'Food and drink'}
42
+ description={'Find the ideal event venues in Selwyn, where beautiful landscapes blend with top-notch facilities. '}
43
+ variation={'carousel'}
44
+ cards={
45
+ [
46
+ { title: "Ballooning Canterbury", link: "#", image: "./img/card-one.png", category: "adventure", pillar: "live" },
21
47
  { title: "Ski Resort", link: "#", image: "./img/card-two.png", category: "ski" },
22
48
  { title: "Nature Walk", link: "#", image: "./img/card-three.png", category: "nature" },
23
- { title: "City Tour", link: "#", image: "./img/card-four.png" }
24
- ]
25
-
26
- },
49
+ { title: "City Tour", link: "#", image: "./img/card-four.png" }
50
+ ]
51
+ }
52
+ />
53
+ </ElementHolder>
54
+ }
27
55
  };
56
+
57
+
58
+ export const GridView = {
59
+ ...GridTemplate,
60
+ }
61
+
62
+ export const CarouselView = {
63
+ ...CarouselTemplate,
64
+ }
@@ -2,7 +2,6 @@ import cx from "classnames";
2
2
  import PathwayProps from './PathwayProps';
3
3
  import styles from "./pathway.module.scss";
4
4
  import cslx from "clsx";
5
- import ElementHolder from "../../Shared/ElementHolder/ElementHolder";
6
5
  import Container from "../../Shared/Container/Container";
7
6
  import DetailsCard from "../DetailsCard/DetailsCard";
8
7
  import { CaretDown } from "../../Icons";
@@ -29,10 +28,22 @@ const Pathway = (props:PathwayProps) => {
29
28
  const classes = [styles.pathway, "pathway", variation === "carousel" && styles.pathwayCarousel];
30
29
 
31
30
  return (
32
- <ElementHolder paddingTop="none" level="light">
31
+ <div>
33
32
  <Container>
34
33
  {variation === "carousel" ? (
35
- <div className={cx(classes)}>{/* TODO */}</div>
34
+ <div className={cx(classes)}>
35
+ <div className={styles.contentWrapper}>
36
+ <div className={styles.content}>
37
+ <div className={styles.pathwayTitle}><h3>{title}</h3></div>
38
+ <div className={styles.pathwayDescription}><p>{description}</p></div>
39
+ </div>
40
+ <div className={styles.silderNav}>
41
+ </div>
42
+ </div>
43
+ {/*<div className={styles.}>*/}
44
+
45
+ {/*</div>*/}
46
+ </div>
36
47
  ) : (
37
48
  <div className={cslx(classes)}>
38
49
  <div className={styles.pathwayTitle}><h3>{title}</h3></div>
@@ -76,7 +87,7 @@ const Pathway = (props:PathwayProps) => {
76
87
  </div>
77
88
  )}
78
89
  </Container>
79
- </ElementHolder>
90
+ </div>
80
91
  );
81
92
  };
82
93
 
@@ -1,8 +1,17 @@
1
1
  export interface Card {
2
- title: string;
3
- link: string;
4
- image: string;
5
- category?: 'adventure' | 'ski' | 'nature';
2
+ title?:string,
3
+ description?:string,
4
+ date?: string,
5
+ link?: {
6
+ title?: string;
7
+ href?: string;
8
+ target?: "_blank" | "_self" | "_parent" | "_top";
9
+ rel?: string;
10
+ };
11
+ pillar?: 'visit' | 'live' | 'business' | 'participate' | 'taste'
12
+ image?:string,
13
+ variation?: "long" | "short";
14
+ category?: 'all' | 'adventure' | 'ski' | 'nature',
6
15
  }
7
16
 
8
17
  interface PathwayProps {
@@ -22,8 +22,6 @@ const PathwayBlock = (props: PathwayBlockProps) => {
22
22
  key={index}
23
23
  title={card.description}
24
24
  image={card.image}
25
- link="Learn More"
26
-
27
25
  />
28
26
  </div>
29
27
  ))}
@@ -31,9 +31,8 @@ const PromoBannerBlockTemplate: Story = {
31
31
  content={'Visit Selwyn is for those who like to take the back roads, breathe mountain air, and find their own pace. Stay a little longer, explore deeper, and refuel with great kai and local stories along the way.'}
32
32
  image={'promo-banner-image.svg'}
33
33
  button={
34
- <Button label={'START EXPLORING'} piller={'visit'} level={'primary'} icon={<ArrowRight />} />
34
+ <Button label={'START EXPLORING'} piller={'visit'} level={'primary'} secondaryIcon={<ArrowRight />} />
35
35
  }
36
-
37
36
  />
38
37
  </ElementHolder>
39
38
  )
@@ -43,7 +43,6 @@ const PromoBannerBlock = (props: PromoBannerBlockProps) => {
43
43
  <PromoBannerBgDesign />
44
44
  </div>
45
45
  </div>
46
-
47
46
  <div className={styles.promoBannerBottom}>
48
47
  <div className={styles.promoBannerBottomLeft}>
49
48
  <div className={styles.promoBannerBrandPiller}>
@@ -52,19 +51,16 @@ const PromoBannerBlock = (props: PromoBannerBlockProps) => {
52
51
  </div>
53
52
  {pillerTitle}
54
53
  </div>
55
-
56
54
  <div className={styles.promoBannerTitleContainer}>
57
55
  <h1>{title}</h1>
58
56
  <h2>{boldTitle}</h2>
59
57
  </div>
60
-
61
58
  <p>{content}</p>
62
-
63
59
  {button}
64
60
  </div>
65
61
 
66
62
  <div className={styles.promoBannerBottomRight}>
67
- <img src={`./img/${image}`} alt="" />
63
+ <img src={image} alt={title} />
68
64
  </div>
69
65
  </div>
70
66
  </div>
@@ -92,7 +92,6 @@
92
92
  }
93
93
 
94
94
  @media screen and (min-width: 992px) {
95
- padding: 120px 0;
96
95
 
97
96
  .promoBannerBlockContainer {
98
97
  .promoBannerTop {
@@ -16,4 +16,8 @@ export type { default as PathwayProps } from './Pathway/PathwayProps';
16
16
 
17
17
  // PromoBanner
18
18
  export { default as PromoBannerBlock } from './PromoBannerBlock/PromoBannerBlock';
19
- export type { default as PromoBannerBlockProps } from './PromoBannerBlock/PromoBannerBlockProps';
19
+ export type { default as PromoBannerBlockProps } from './PromoBannerBlock/PromoBannerBlockProps';
20
+
21
+ //ImageContent
22
+ export {default as ImageContent} from './ImageContent/ImageContent'
23
+ export type {default as ImageContentProps} from './ImageContent/ImageContentProps'
@@ -0,0 +1,2 @@
1
+ @import "../../../node_modules/slick-carousel/slick/slick.css";
2
+ @import "../../../node_modules/slick-carousel/slick/slick-theme.css";
@@ -5,7 +5,7 @@ interface ButtonProps {
5
5
  size?: "default" | "large" | "small";
6
6
  style?: "solid" | "hollow" | "no-border";
7
7
  level?: 'primary' | 'secondary' | 'light'
8
- pillar?: 'main' | 'live' | 'visit' | 'taste' | 'business' | 'participate'
8
+ pillar?: 'main' | 'live' | 'visit' | 'taste' | 'business' | 'participate' | undefined;
9
9
  linkable?: boolean;
10
10
  extraClass?: string;
11
11
  link?:{
@@ -1,4 +1,3 @@
1
- @use "../../../variable.scss" as *;
2
1
 
3
2
  .button {
4
3
  position: relative;
@@ -161,7 +161,7 @@ const FooterTemplate: Story = {
161
161
  </FooterBottom>
162
162
  );
163
163
 
164
- return (
164
+ return (
165
165
  <Footer
166
166
  logo='img\waikirikiri-full-logo.svg'
167
167
  footerTop={footerTop}
@@ -5,6 +5,10 @@ import HeaderRight from "./HeaderRight";
5
5
  import HeaderRightItem from "./HeaderRightItem";
6
6
  import MagnifyingGlass from "./MagnifyingGlass/MagnifyingGlass";
7
7
  import MegaMenu from "./MegaMenu/MegaMenu";
8
+ import {List} from "../../Icons";
9
+ import "./header.scss"
10
+ import MobileNavigation from "./MobileNavigation/MobileNavigation";
11
+ import MobileNavigationItem from "./MobileNavigation/MobileNavigationItem";
8
12
 
9
13
 
10
14
  const meta: Meta = {
@@ -28,7 +32,7 @@ const logo = (
28
32
 
29
33
  const logoSmall = (
30
34
  <a href={"/"}>
31
- <img src={'/img/waikirikiri-full-logo.svg'} width={110} height={45} alt={'Hello Better'}/>
35
+ <img src={'/img/waikirikiri-full-logo.svg'} width={110} height={34} alt={'Hello Better'}/>
32
36
  </a>
33
37
  );
34
38
 
@@ -39,25 +43,48 @@ const HeaderTemplate: Story = {
39
43
  // @ts-ignore
40
44
  return <Header logo={logo} logoSmall={logoSmall}>
41
45
  <HeaderRight>
42
- <HeaderRightItem menuDropdown={<MegaMenu pillar={'live'}/>}>
46
+ <HeaderRightItem extraClass={'desktop-item'} menuDropdown={<MegaMenu pillar={'live'}/>}>
43
47
  Participate
44
48
  </HeaderRightItem>
45
- <HeaderRightItem>
49
+ <HeaderRightItem extraClass={'desktop-item'}>
46
50
  Business
47
51
  </HeaderRightItem>
48
- <HeaderRightItem>
52
+ <HeaderRightItem extraClass={'desktop-item'}>
49
53
  Live
50
54
  </HeaderRightItem>
51
- <HeaderRightItem>
55
+ <HeaderRightItem extraClass={'desktop-item'}>
52
56
  Visit
53
57
  </HeaderRightItem>
54
- <HeaderRightItem>
58
+ <HeaderRightItem extraClass={'desktop-item'}>
55
59
  Taste
56
60
  </HeaderRightItem>
57
- <HeaderRightItem>
61
+ <HeaderRightItem extraClass={'desktop-item'}>
58
62
  <MagnifyingGlass/>
59
63
  </HeaderRightItem>
64
+ <HeaderRightItem extraClass={'mobile-item'}>
65
+ <List/>
66
+ </HeaderRightItem>
60
67
  </HeaderRight>
68
+ <MobileNavigation>
69
+ <li>
70
+ <MobileNavigationItem label={'Attractions'}/>
71
+ </li>
72
+ <li>
73
+ <MobileNavigationItem label={'Eateries'}/>
74
+ </li>
75
+ <li>
76
+ <MobileNavigationItem label={'Accommodation'}/>
77
+ </li>
78
+ <li>
79
+ <MobileNavigationItem label={'Why visit Selwyn'}/>
80
+ </li>
81
+ <li>
82
+ <MobileNavigationItem label={'Events'}/>
83
+ </li>
84
+ <li>
85
+ <MobileNavigationItem label={'Venues'}/>
86
+ </li>
87
+ </MobileNavigation>
61
88
  </Header>
62
89
  },
63
90
  };
@@ -3,8 +3,8 @@ import HeaderRightItemProps from "./HeaderRightItemProps.tsx";
3
3
 
4
4
  const HeaderRightItem = (props : HeaderRightItemProps) =>{
5
5
  const { href , target, children, extraClass, icon, menuDropdown, active } = props
6
- return <div className={`${styles.headerBottomItemHolder} ${active && styles.active}`}>
7
- <a href={href} target={target} className={`${styles.headerBottomItem} ${extraClass}`}>
6
+ return <div className={`${styles.headerBottomItemHolder} ${extraClass} ${active && styles.active}`}>
7
+ <a href={href} target={target} className={`${styles.headerBottomItem} headerBottomItem`}>
8
8
  {icon && <div className={styles.icon}>
9
9
  {icon}
10
10
  </div>}
@@ -8,12 +8,7 @@ import Container from "../../../Shared/Container/Container.tsx";
8
8
  const MegaMenu = (props : MegaMenuProps) => {
9
9
 
10
10
  const {
11
- pillar,
12
- menu,
13
- imageSrc,
14
- heading,
15
- headingHighlight,
16
- description
11
+ pillar = 'main',
17
12
  } = props
18
13
 
19
14
  return <div className={`${styles.megaMenu} ${pillar}`}>
@@ -5,11 +5,11 @@ export interface MenuItem {
5
5
  title: string;
6
6
  description: string;
7
7
  target: string;
8
- pillar: 'vist' | 'live' | 'business' | 'participate' | 'taste';
8
+ pillar: 'visit' | 'live' | 'business' | 'participate' | 'taste';
9
9
  }
10
10
 
11
11
  interface MegaMenuProps {
12
- pillar: 'vist' | 'live' | 'business' | 'participate' | 'taste';
12
+ pillar: 'visit' | 'live' | 'business' | 'participate' | 'taste';
13
13
  menu: MenuItem[];
14
14
  headingHighlight?: string;
15
15
  defaultImg?:string
@@ -0,0 +1,25 @@
1
+ import MobileNavigationProps from "./MobileNavigationProps.tsx";
2
+ import styles from './mobileNavigation.module.scss'
3
+ import {Container} from "../../../Shared";
4
+ import MobileWhatuOverlay from "./MobileWhatuOverlay.tsx";
5
+
6
+ const MobileNavigation = (props : MobileNavigationProps) => {
7
+
8
+ const {
9
+ children,
10
+ extraClass
11
+ } = props
12
+
13
+ return <div className={`${styles.mobileNavigation} ${extraClass} mobileNavigation`}>
14
+ <Container>
15
+ <ul className={`${styles.mobileNavigationWrapper} mobileNavigationWrapper`}>
16
+ {children}
17
+ </ul>
18
+ </Container>
19
+ <div className={styles.svg}>
20
+ <MobileWhatuOverlay/>
21
+ </div>
22
+ </div>
23
+ }
24
+
25
+ export default MobileNavigation;
@@ -0,0 +1,17 @@
1
+ import styles from './mobileNavigation.module.scss'
2
+ import MobileNavigationItemProps from "./MobileNavigationItemProps.tsx";
3
+ import ArrowRight from "../../../Icons/Arrows/ArrowRight/ArrowRight.tsx";
4
+
5
+ const MobileNavigationItem = (props : MobileNavigationItemProps) => {
6
+
7
+ const {label} = props
8
+
9
+ return <div className={styles.mobileNavItem}>
10
+ <div className={styles.mobileNavItemWrapper}>
11
+ <h6>{label}</h6>
12
+ <ArrowRight type={'light'}/>
13
+ </div>
14
+ </div>
15
+ }
16
+
17
+ export default MobileNavigationItem;
@@ -0,0 +1,5 @@
1
+ interface MobileNavigationItemProps {
2
+ label?: string;
3
+ }
4
+
5
+ export default MobileNavigationItemProps;
@@ -0,0 +1,8 @@
1
+ import {ReactNode} from "react";
2
+
3
+ interface MobileNavigationProps {
4
+ children?:ReactNode;
5
+ extraClass?:string;
6
+ }
7
+
8
+ export default MobileNavigationProps