@hellobetterdigitalnz/selwynui 0.0.1

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 (277) hide show
  1. package/.storybook/main.ts +19 -0
  2. package/.storybook/preview.tsx +55 -0
  3. package/.storybook/vitest.setup.ts +7 -0
  4. package/README.md +73 -0
  5. package/eslint.config.js +29 -0
  6. package/index.html +13 -0
  7. package/package.json +63 -0
  8. package/public/img/card-one.png +0 -0
  9. package/public/img/card-three.png +0 -0
  10. package/public/img/card-two.png +0 -0
  11. package/public/img/footer-bg-design.svg +14 -0
  12. package/public/img/footer-logo.svg +9 -0
  13. package/public/img/promo-banner-image.svg +9 -0
  14. package/public/img/visit-brand-piller.svg +6 -0
  15. package/public/img/waikirikiri-full-logo.svg +23 -0
  16. package/public/vite.svg +1 -0
  17. package/src/App.tsx +8 -0
  18. package/src/Components/DataDisplay/DetailsCard/DetailsCard.stories.tsx +39 -0
  19. package/src/Components/DataDisplay/DetailsCard/DetailsCard.tsx +87 -0
  20. package/src/Components/DataDisplay/DetailsCard/DetailsCardProps.tsx +12 -0
  21. package/src/Components/DataDisplay/DetailsCard/detailsCard.module.scss +123 -0
  22. package/src/Components/DataDisplay/ImageContent/ImageContent.stories.tsx +150 -0
  23. package/src/Components/DataDisplay/ImageContent/ImageContent.tsx +118 -0
  24. package/src/Components/DataDisplay/ImageContent/ImageContentMaskingImages.tsx +334 -0
  25. package/src/Components/DataDisplay/ImageContent/ImageContentProps.tsx +42 -0
  26. package/src/Components/DataDisplay/ImageContent/imageContent.module.scss +278 -0
  27. package/src/Components/DataDisplay/IntroBlock/IntroBlock.stories.tsx +37 -0
  28. package/src/Components/DataDisplay/IntroBlock/IntroBlock.tsx +37 -0
  29. package/src/Components/DataDisplay/IntroBlock/IntroBlockProps.tsx +10 -0
  30. package/src/Components/DataDisplay/IntroBlock/introBlock.module.scss +33 -0
  31. package/src/Components/DataDisplay/KPIBlock/KPIBlock.stories.tsx +114 -0
  32. package/src/Components/DataDisplay/KPIBlock/KPIBlock.tsx +35 -0
  33. package/src/Components/DataDisplay/KPIBlock/KPIBlockProps.tsx +13 -0
  34. package/src/Components/DataDisplay/KPIBlock/kpiBlock.module.scss +73 -0
  35. package/src/Components/DataDisplay/Pathway/Pathway.stories.tsx +27 -0
  36. package/src/Components/DataDisplay/Pathway/Pathway.tsx +83 -0
  37. package/src/Components/DataDisplay/Pathway/PathwayProps.tsx +17 -0
  38. package/src/Components/DataDisplay/Pathway/pathway.module.scss +124 -0
  39. package/src/Components/DataDisplay/PromoBannerBlock/PromoBanner.stories.tsx +45 -0
  40. package/src/Components/DataDisplay/PromoBannerBlock/PromoBannerBlock.tsx +74 -0
  41. package/src/Components/DataDisplay/PromoBannerBlock/PromoBannerBlockProps.tsx +16 -0
  42. package/src/Components/DataDisplay/PromoBannerBlock/promo-banner-bg-design.tsx +14 -0
  43. package/src/Components/DataDisplay/PromoBannerBlock/promoBanner.module.scss +172 -0
  44. package/src/Components/DataDisplay/index.ts +19 -0
  45. package/src/Components/Form/Button/Button.stories.tsx +42 -0
  46. package/src/Components/Form/Button/Button.tsx +69 -0
  47. package/src/Components/Form/Button/ButtonProps.tsx +16 -0
  48. package/src/Components/Form/Button/button.module.scss +132 -0
  49. package/src/Components/Form/index.ts +2 -0
  50. package/src/Components/Icons/Arrows/ArrowLeft/ArrowLeft.tsx +49 -0
  51. package/src/Components/Icons/Arrows/ArrowRight/ArrowRight.tsx +47 -0
  52. package/src/Components/Icons/Arrows/ArrowSquareOut/ArrowSquareOut.tsx +48 -0
  53. package/src/Components/Icons/Arrows/ArrowsDownUp/ArrowsDownUp.tsx +49 -0
  54. package/src/Components/Icons/Arrows/ArrowsOutCardinal/ArrowsOutCardinal.tsx +50 -0
  55. package/src/Components/Icons/Arrows/CaretCircleRight/CaretCircleRight.tsx +37 -0
  56. package/src/Components/Icons/Arrows/CaretDown/CaretDown.tsx +49 -0
  57. package/src/Components/Icons/Arrows/CaretLeft/CaretLeft.tsx +102 -0
  58. package/src/Components/Icons/Arrows/CaretRight/CaretRight.tsx +102 -0
  59. package/src/Components/Icons/Arrows/CaretUp/CaretUp.tsx +49 -0
  60. package/src/Components/Icons/Arrows/CaretUpDown/CaretUpDown.tsx +49 -0
  61. package/src/Components/Icons/Brands/FacebookLogo/FacebookLogo.tsx +35 -0
  62. package/src/Components/Icons/Brands/InstagramLogo/InstagramLogo.tsx +35 -0
  63. package/src/Components/Icons/Brands/LinkedinLogo/LinkedinLogo.tsx +35 -0
  64. package/src/Components/Icons/Brands/WindowsLogo/WindowsLogo.tsx +105 -0
  65. package/src/Components/Icons/Commerce/Backpack/Backpack.tsx +54 -0
  66. package/src/Components/Icons/Commerce/BowlSteam/BowlSteam.tsx +34 -0
  67. package/src/Components/Icons/Commerce/Bread/Bread.tsx +34 -0
  68. package/src/Components/Icons/Commerce/Cheers/Cheers.tsx +34 -0
  69. package/src/Components/Icons/Commerce/ChefHat/ChefHat.tsx +34 -0
  70. package/src/Components/Icons/Commerce/Coffee/Coffee.tsx +54 -0
  71. package/src/Components/Icons/Commerce/CreditCard/CreditCard.tsx +54 -0
  72. package/src/Components/Icons/Commerce/CurrencyDollarSimple/CurrencyDollarSimple.tsx +105 -0
  73. package/src/Components/Icons/Commerce/Grains/Grains.tsx +54 -0
  74. package/src/Components/Icons/Commerce/Scale/Scale.tsx +61 -0
  75. package/src/Components/Icons/Commerce/StoreFront/StoreFront.tsx +54 -0
  76. package/src/Components/Icons/Communication/AddressBook/AddressBook.stories.ts +28 -0
  77. package/src/Components/Icons/Communication/AddressBook/AddressBook.tsx +50 -0
  78. package/src/Components/Icons/Communication/AsterickSimple/AsteriskSimple.stories.ts +28 -0
  79. package/src/Components/Icons/Communication/AsterickSimple/AsteriskSimple.tsx +49 -0
  80. package/src/Components/Icons/Communication/Asterisk/Asterisk.stories.ts +28 -0
  81. package/src/Components/Icons/Communication/Asterisk/Asterisk.tsx +50 -0
  82. package/src/Components/Icons/Communication/At/At.stories.ts +28 -0
  83. package/src/Components/Icons/Communication/At/At.tsx +49 -0
  84. package/src/Components/Icons/Communication/Broadcast/Broadcast.stories.ts +27 -0
  85. package/src/Components/Icons/Communication/Broadcast/Broadcast.tsx +49 -0
  86. package/src/Components/Icons/Communication/Chat/Chat.stories.ts +28 -0
  87. package/src/Components/Icons/Communication/Chat/Chat.tsx +49 -0
  88. package/src/Components/Icons/Communication/ChatCircleText/ChatCircleText.tsx +87 -0
  89. package/src/Components/Icons/Communication/EnvelopeSimple/EnvelopeSimple.tsx +52 -0
  90. package/src/Components/Icons/Communication/Export/Export.tsx +52 -0
  91. package/src/Components/Icons/Communication/Phone/Phone.tsx +54 -0
  92. package/src/Components/Icons/Communication/ThumbsUp/ThumbsUp.tsx +47 -0
  93. package/src/Components/Icons/Communication/Translate/Translate.tsx +51 -0
  94. package/src/Components/Icons/Design/DropHalfBottom/DropHalfBottom.tsx +37 -0
  95. package/src/Components/Icons/Design/Eye/Eye.tsx +105 -0
  96. package/src/Components/Icons/Design/EyeSlash/EyeSlash.tsx +105 -0
  97. package/src/Components/Icons/Design/GearFine/GearFine.tsx +105 -0
  98. package/src/Components/Icons/Design/PencilLine/PencilLine.tsx +63 -0
  99. package/src/Components/Icons/Design/PencilSimple/PencilSimple.tsx +63 -0
  100. package/src/Components/Icons/Design/Ruler/Ruler.tsx +63 -0
  101. package/src/Components/Icons/Design/SquaresFour/SquaresFour.tsx +54 -0
  102. package/src/Components/Icons/Education/BookOpenText/BookOpenText.tsx +63 -0
  103. package/src/Components/Icons/Education/BookmarkSimple/BookmarkSimple.tsx +44 -0
  104. package/src/Components/Icons/Education/Certificate/Certificate.tsx +56 -0
  105. package/src/Components/Icons/Education/GraduationCap/GraduationCap.tsx +105 -0
  106. package/src/Components/Icons/Games/Cricket/Cricket.tsx +23 -0
  107. package/src/Components/Icons/Games/Football/Football.tsx +47 -0
  108. package/src/Components/Icons/Games/Golf/Golf.tsx +34 -0
  109. package/src/Components/Icons/HealthAndWellness/Barbell/Barbell.tsx +36 -0
  110. package/src/Components/Icons/IconProps.tsx +5 -0
  111. package/src/Components/Icons/MapAndTravel/Barn/Barn.tsx +34 -0
  112. package/src/Components/Icons/MapAndTravel/Bicycle/Bicycle.tsx +54 -0
  113. package/src/Components/Icons/MapAndTravel/Bus/Bus.tsx +54 -0
  114. package/src/Components/Icons/MapAndTravel/Car/Car.tsx +54 -0
  115. package/src/Components/Icons/MapAndTravel/ChargingStation/ChargingStation.tsx +54 -0
  116. package/src/Components/Icons/MapAndTravel/Farm/Farm.tsx +34 -0
  117. package/src/Components/Icons/MapAndTravel/Globe/Globe.tsx +61 -0
  118. package/src/Components/Icons/MapAndTravel/Goggles/Goggles.tsx +47 -0
  119. package/src/Components/Icons/MapAndTravel/House/House.tsx +61 -0
  120. package/src/Components/Icons/MapAndTravel/HouseSimple/HouseSimple.tsx +61 -0
  121. package/src/Components/Icons/MapAndTravel/MapPin/MapPin.tsx +53 -0
  122. package/src/Components/Icons/MapAndTravel/MapTriFold/MapTriFold.tsx +59 -0
  123. package/src/Components/Icons/MapAndTravel/Path/Path.tsx +35 -0
  124. package/src/Components/Icons/MapAndTravel/RoadHorizon/RoadHorizon.tsx +35 -0
  125. package/src/Components/Icons/MapAndTravel/SteeringWheel/SteeringWheel.tsx +61 -0
  126. package/src/Components/Icons/MapAndTravel/SwimmingPool/SwimmingPool.tsx +36 -0
  127. package/src/Components/Icons/MapAndTravel/Tram/Tram.tsx +35 -0
  128. package/src/Components/Icons/MapAndTravel/Van/Van.tsx +60 -0
  129. package/src/Components/Icons/MathsAndFinance/Calculator/Calculator.tsx +59 -0
  130. package/src/Components/Icons/MathsAndFinance/ChartBar/ChartBar.tsx +59 -0
  131. package/src/Components/Icons/MathsAndFinance/ChartBarHorizontal/ChartBarHorizontal.tsx +52 -0
  132. package/src/Components/Icons/MathsAndFinance/ChartLine/ChartLine.tsx +53 -0
  133. package/src/Components/Icons/MathsAndFinance/ChartLineUp/ChartLineUp.tsx +47 -0
  134. package/src/Components/Icons/MathsAndFinance/ChartPie/ChartPie.tsx +54 -0
  135. package/src/Components/Icons/MathsAndFinance/Minus/Minus.tsx +49 -0
  136. package/src/Components/Icons/MathsAndFinance/MinusCircle/MinusCircle.tsx +44 -0
  137. package/src/Components/Icons/MathsAndFinance/NumberSquareThree/NumberSquareThree.tsx +63 -0
  138. package/src/Components/Icons/MathsAndFinance/Plus/Plus.tsx +63 -0
  139. package/src/Components/Icons/MathsAndFinance/PlusCircle/PlusCircle.tsx +51 -0
  140. package/src/Components/Icons/MathsAndFinance/XIcon/XIcon.tsx +107 -0
  141. package/src/Components/Icons/Media/Camera/Camera.tsx +49 -0
  142. package/src/Components/Icons/Media/DiscoBall/DiscoBall.tsx +22 -0
  143. package/src/Components/Icons/Media/FilmStrip/FilmStrip.tsx +45 -0
  144. package/src/Components/Icons/Media/Microphone/Microphone.tsx +94 -0
  145. package/src/Components/Icons/Media/MusicNotes/MusicNotes.tsx +42 -0
  146. package/src/Components/Icons/Media/PlayCircle/PlayCircle.tsx +49 -0
  147. package/src/Components/Icons/Media/SlidersHorizontal/SlidersHorizontal.tsx +49 -0
  148. package/src/Components/Icons/Media/StopCircle/StopCircle.tsx +50 -0
  149. package/src/Components/Icons/Media/VideoCamera/VideoCamera.tsx +105 -0
  150. package/src/Components/Icons/OfficeAndEditing/BuildinfOffice/BuildingOffice.tsx +22 -0
  151. package/src/Components/Icons/OfficeAndEditing/Copy/Copy.tsx +47 -0
  152. package/src/Components/Icons/OfficeAndEditing/FileText/FileText.tsx +35 -0
  153. package/src/Components/Icons/OfficeAndEditing/Files/Files.tsx +49 -0
  154. package/src/Components/Icons/OfficeAndEditing/FloppyDisk/FloppyDisk.tsx +49 -0
  155. package/src/Components/Icons/OfficeAndEditing/Folder/Folder.tsx +61 -0
  156. package/src/Components/Icons/OfficeAndEditing/FolderSimplePlus/FolderSimplePlus.tsx +35 -0
  157. package/src/Components/Icons/OfficeAndEditing/Folders/Folders.tsx +47 -0
  158. package/src/Components/Icons/OfficeAndEditing/List/List.tsx +46 -0
  159. package/src/Components/Icons/OfficeAndEditing/ListBullets/ListBullets.tsx +59 -0
  160. package/src/Components/Icons/OfficeAndEditing/ListDashes/ListDashes.tsx +59 -0
  161. package/src/Components/Icons/OfficeAndEditing/Printer/Printer.tsx +48 -0
  162. package/src/Components/Icons/OfficeAndEditing/TextAa/TextAa.tsx +63 -0
  163. package/src/Components/Icons/OfficeAndEditing/TextColumns/TextColumns.tsx +61 -0
  164. package/src/Components/Icons/OfficeAndEditing/Trash/Trash.tsx +49 -0
  165. package/src/Components/Icons/OfficeAndEditing/TrashSimple/TrashSimple.tsx +49 -0
  166. package/src/Components/Icons/People/Person/Person.tsx +35 -0
  167. package/src/Components/Icons/People/PersonArmsSpread/PersonArmsSpread.tsx +35 -0
  168. package/src/Components/Icons/People/PersonSimpleBike/PersonSimpleBike.tsx +35 -0
  169. package/src/Components/Icons/People/PersonSimpleSki/PersonSimpleSki.tsx +34 -0
  170. package/src/Components/Icons/People/PersonSimpleWalk/PersonSimpleWalk.tsx +35 -0
  171. package/src/Components/Icons/People/User/User.tsx +61 -0
  172. package/src/Components/Icons/People/UserCircle/UserCircle.tsx +61 -0
  173. package/src/Components/Icons/People/UserSwitch/UserSwitch.tsx +61 -0
  174. package/src/Components/Icons/People/Users/Users.tsx +107 -0
  175. package/src/Components/Icons/SecurityAndWarnings/Info/Info.tsx +54 -0
  176. package/src/Components/Icons/SecurityAndWarnings/Key/Key.tsx +54 -0
  177. package/src/Components/Icons/SecurityAndWarnings/LockKeyOpen/LockKeyOpen.tsx +54 -0
  178. package/src/Components/Icons/SecurityAndWarnings/LockSimple/LockSimple.tsx +61 -0
  179. package/src/Components/Icons/SecurityAndWarnings/Question/Question.tsx +53 -0
  180. package/src/Components/Icons/SecurityAndWarnings/ShieldCheck/ShieldCheck.tsx +89 -0
  181. package/src/Components/Icons/SecurityAndWarnings/WarningCircle/WarningCircle.tsx +105 -0
  182. package/src/Components/Icons/SystemAndDevice/Bell/Bell.tsx +49 -0
  183. package/src/Components/Icons/SystemAndDevice/Check/Check.tsx +49 -0
  184. package/src/Components/Icons/SystemAndDevice/CheckSquare/CheckSquare.tsx +63 -0
  185. package/src/Components/Icons/SystemAndDevice/CloudCheck/CloudCheck.tsx +74 -0
  186. package/src/Components/Icons/SystemAndDevice/Desktop/Desktop.tsx +107 -0
  187. package/src/Components/Icons/SystemAndDevice/DeviceMobile/DeviceMobile.tsx +78 -0
  188. package/src/Components/Icons/SystemAndDevice/DotSixVertical/DotSixVertical.tsx +49 -0
  189. package/src/Components/Icons/SystemAndDevice/DotsSix/DotsSix.tsx +107 -0
  190. package/src/Components/Icons/SystemAndDevice/DotsThree/DotsThree.tsx +63 -0
  191. package/src/Components/Icons/SystemAndDevice/DotsThreeVertical/DotsThreeVertical.tsx +63 -0
  192. package/src/Components/Icons/SystemAndDevice/DownloadSimple/DownloadSimple.tsx +52 -0
  193. package/src/Components/Icons/SystemAndDevice/Gear/Gear.tsx +61 -0
  194. package/src/Components/Icons/SystemAndDevice/Link/Link.tsx +54 -0
  195. package/src/Components/Icons/SystemAndDevice/MagnifyingGlass/MagnifyingGlass.tsx +105 -0
  196. package/src/Components/Icons/SystemAndDevice/RadioButtonIcon/RadioButtonIcon.tsx +63 -0
  197. package/src/Components/Icons/SystemAndDevice/SignIn/SignIn.tsx +51 -0
  198. package/src/Components/Icons/SystemAndDevice/SignOut/SignOut.tsx +49 -0
  199. package/src/Components/Icons/SystemAndDevice/ToggleLeft/ToggleLeft.tsx +51 -0
  200. package/src/Components/Icons/SystemAndDevice/ToggleRight/ToggleRight.tsx +51 -0
  201. package/src/Components/Icons/Time/Calendar/Calendar.tsx +61 -0
  202. package/src/Components/Icons/Time/CalendarBank/CalendarBank.tsx +105 -0
  203. package/src/Components/Icons/Time/CalendarCheck/CalendarCheck.tsx +61 -0
  204. package/src/Components/Icons/Time/CalendarDots/CalendarDots.tsx +28 -0
  205. package/src/Components/Icons/Time/Clock/Clock.tsx +105 -0
  206. package/src/Components/Icons/Time/ClockCounterClockwise/ClockCounterClockwise.tsx +74 -0
  207. package/src/Components/Icons/WeatherAndNature/Bird/Bird.tsx +54 -0
  208. package/src/Components/Icons/WeatherAndNature/Campfire/Campfire.tsx +35 -0
  209. package/src/Components/Icons/WeatherAndNature/CloudSun/CloudSun.tsx +49 -0
  210. package/src/Components/Icons/WeatherAndNature/Cow/Cow.tsx +34 -0
  211. package/src/Components/Icons/WeatherAndNature/Dog/Dog.tsx +54 -0
  212. package/src/Components/Icons/WeatherAndNature/FishSimple/FishSimple.tsx +54 -0
  213. package/src/Components/Icons/WeatherAndNature/Flower/Flower.tsx +47 -0
  214. package/src/Components/Icons/WeatherAndNature/Moon/Moon.tsx +35 -0
  215. package/src/Components/Icons/WeatherAndNature/Mountains/Mountains.tsx +49 -0
  216. package/src/Components/Icons/WeatherAndNature/Plant/Plant.tsx +105 -0
  217. package/src/Components/Icons/WeatherAndNature/Snowflake/Snowflake.tsx +46 -0
  218. package/src/Components/Icons/WeatherAndNature/Sparkle/Sparkle.tsx +35 -0
  219. package/src/Components/Icons/WeatherAndNature/Sun/Sun.tsx +47 -0
  220. package/src/Components/Icons/WeatherAndNature/Tree/Tree.tsx +84 -0
  221. package/src/Components/Icons/index.ts +165 -0
  222. package/src/Components/Layout/Footer/Footer.stories.tsx +178 -0
  223. package/src/Components/Layout/Footer/Footer.tsx +32 -0
  224. package/src/Components/Layout/Footer/FooterBottom.tsx +21 -0
  225. package/src/Components/Layout/Footer/FooterBottomLeft.tsx +31 -0
  226. package/src/Components/Layout/Footer/FooterBottomLeftProps.tsx +13 -0
  227. package/src/Components/Layout/Footer/FooterBottomProps.tsx +7 -0
  228. package/src/Components/Layout/Footer/FooterBottomRight.tsx +47 -0
  229. package/src/Components/Layout/Footer/FooterBottomRightProps.tsx +7 -0
  230. package/src/Components/Layout/Footer/FooterItem.tsx +17 -0
  231. package/src/Components/Layout/Footer/FooterItemProps.tsx +8 -0
  232. package/src/Components/Layout/Footer/FooterMiddle.tsx +14 -0
  233. package/src/Components/Layout/Footer/FooterMiddleProps.tsx +8 -0
  234. package/src/Components/Layout/Footer/FooterProps.tsx +11 -0
  235. package/src/Components/Layout/Footer/FooterTop.tsx +30 -0
  236. package/src/Components/Layout/Footer/FooterTopProps.tsx +9 -0
  237. package/src/Components/Layout/Footer/footer-bg-design.tsx +21 -0
  238. package/src/Components/Layout/Footer/footer.module.scss +295 -0
  239. package/src/Components/Layout/Header/Header.stories.tsx +66 -0
  240. package/src/Components/Layout/Header/Header.tsx +27 -0
  241. package/src/Components/Layout/Header/HeaderProps.tsx +9 -0
  242. package/src/Components/Layout/Header/HeaderRight.tsx +12 -0
  243. package/src/Components/Layout/Header/HeaderRightItem.tsx +21 -0
  244. package/src/Components/Layout/Header/HeaderRightItemProps.tsx +13 -0
  245. package/src/Components/Layout/Header/HeaderRightProps.tsx +7 -0
  246. package/src/Components/Layout/Header/MagnifyingGlass/MagnifyingGlass.tsx +10 -0
  247. package/src/Components/Layout/Header/MegaMenu/MegaMenu.tsx +5 -0
  248. package/src/Components/Layout/Header/MegaMenu/MegaMenuProps.tsx +5 -0
  249. package/src/Components/Layout/Header/header.module.scss +90 -0
  250. package/src/Components/Layout/HeroBanner/HeroBanner.stories.tsx +77 -0
  251. package/src/Components/Layout/HeroBanner/HeroBanner.tsx +77 -0
  252. package/src/Components/Layout/HeroBanner/HeroBannerProps.tsx +10 -0
  253. package/src/Components/Layout/HeroBanner/LargeHeroIcon.tsx +18 -0
  254. package/src/Components/Layout/HeroBanner/heroBanner.module.scss +179 -0
  255. package/src/Components/Layout/index.ts +27 -0
  256. package/src/Components/Shared/Container/Container.tsx +19 -0
  257. package/src/Components/Shared/Container/ContainerProps.tsx +8 -0
  258. package/src/Components/Shared/Container/container.module.scss +13 -0
  259. package/src/Components/Shared/ElementHolder/ElementHolder.tsx +40 -0
  260. package/src/Components/Shared/ElementHolder/ElementHolderProps.tsx +18 -0
  261. package/src/Components/Shared/ElementHolder/elementHolder.module.scss +189 -0
  262. package/src/Components/Shared/index.ts +5 -0
  263. package/src/assets/react.svg +1 -0
  264. package/src/global.scss +337 -0
  265. package/src/globals.d.ts +1 -0
  266. package/src/index.ts +5 -0
  267. package/src/main.tsx +10 -0
  268. package/src/scss.d.ts +1 -0
  269. package/src/variable.scss +3 -0
  270. package/tsconfig.app.json +45 -0
  271. package/tsconfig.json +7 -0
  272. package/tsconfig.node.json +10 -0
  273. package/tsconfig.node.tsbuildinfo +1 -0
  274. package/vite.config.d.ts +2 -0
  275. package/vite.config.js +40 -0
  276. package/vite.config.ts +31 -0
  277. package/vitest.shims.d.ts +1 -0
@@ -0,0 +1,165 @@
1
+ // export type { default as IconProps } from './IconProps';
2
+
3
+ // Arrows
4
+ export { default as CaretDown } from './Arrows/CaretDown/CaretDown';
5
+ export { default as CaretUp } from './Arrows/CaretUp/CaretUp';
6
+ export { default as CaretRight } from './Arrows/CaretRight/CaretRight';
7
+ export { default as CaretLeft } from './Arrows/CaretLeft/CaretLeft';
8
+ export { default as CaretUpDown } from './Arrows/CaretUpDown/CaretUpDown.tsx';
9
+ export { default as ArrowLeft } from './Arrows/ArrowLeft/ArrowLeft.tsx';
10
+ export { default as ArrowsDownUp } from './Arrows/ArrowsDownUp/ArrowsDownUp.tsx';
11
+ export { default as ArrowsOutCardinal } from './Arrows/ArrowsOutCardinal/ArrowsOutCardinal.tsx';
12
+ export { default as CaretCircleRight } from './Arrows/CaretCircleRight/CaretCircleRight.tsx';
13
+
14
+
15
+ // Brands and logos
16
+ export { default as WindowsLogo } from './Brands/WindowsLogo/WindowsLogo';
17
+
18
+ // Commerce
19
+ export { default as CurrencyDollarSimple } from './Commerce/CurrencyDollarSimple/CurrencyDollarSimple';
20
+ export { default as Scale } from './Commerce/Scale/Scale.tsx';
21
+ export { default as CreditCard } from "./Commerce/CreditCard/CreditCard.tsx"
22
+
23
+ // Communication
24
+ export { default as AddressBook } from './Communication/AddressBook/AddressBook';
25
+ export { default as Asterisk } from './Communication/Asterisk/Asterisk';
26
+ export { default as At } from './Communication/At/At';
27
+ export { default as Broadcast } from './Communication/Broadcast/Broadcast';
28
+ export { default as Chat } from './Communication/Chat/Chat';
29
+ export { default as Translate } from './Communication/Translate/Translate.tsx';
30
+ export { default as Phone } from './Communication/Phone/Phone.tsx';
31
+ export { default as EnvelopeSimple } from './Communication/EnvelopeSimple/EnvelopeSimple.tsx';
32
+ export { default as Export } from './Communication/Export/Export.tsx';
33
+ export { default as ChatCircleText } from './Communication/ChatCircleText/ChatCircleText.tsx';
34
+
35
+ // Design
36
+ export { default as Eye } from './Design/Eye/Eye';
37
+ export { default as EyeSlash } from './Design/EyeSlash/EyeSlash';
38
+ export { default as PencilLine } from './Design/PencilLine/PencilLine.tsx';
39
+ export { default as PencilSimple } from './Design/PencilSimple/PencilSimple.tsx';
40
+ export { default as Ruler } from './Design/Ruler/Ruler.tsx';
41
+ export { default as DropHalfBottom } from './Design/DropHalfBottom/DropHalfBottom.tsx';
42
+ export { default as SquaresFour } from './Design/SquaresFour/SquaresFour.tsx';
43
+ export { default as GearFine } from './Design/GearFine/GearFine.tsx';
44
+
45
+ // Education
46
+ export { default as BookOpenText } from './Education/BookOpenText/BookOpenText.tsx';
47
+ export { default as GraduationCap } from './Education/GraduationCap/GraduationCap.tsx';
48
+
49
+ //Map and Travel
50
+ export { default as Globe } from './MapAndTravel/Globe/Globe.tsx';
51
+ export { default as House } from './MapAndTravel/House/House.tsx';
52
+ export { default as HouseSimple } from './MapAndTravel/HouseSimple/HouseSimple.tsx';
53
+ export { default as Path } from './MapAndTravel/Path/Path.tsx';
54
+ export { default as Tram } from './MapAndTravel/Tram/Tram.tsx';
55
+ export { default as RoadHorizon } from './MapAndTravel/RoadHorizon/RoadHorizon.tsx';
56
+ export { default as SwimmingPool } from './MapAndTravel/SwimmingPool/SwimmingPool.tsx';
57
+ export { default as MapPin } from './MapAndTravel/MapPin/MapPin.tsx';
58
+ export { default as MapTriFold } from './MapAndTravel/MapTriFold/MapTriFold.tsx';
59
+ export { default as SteeringWheel } from './MapAndTravel/SteeringWheel/SteeringWheel.tsx';
60
+ export { default as Van } from './MapAndTravel/Van/Van.tsx';
61
+
62
+
63
+ // Maths and Finance
64
+ export { default as XIcon } from './MathsAndFinance/XIcon/XIcon';
65
+ export { default as Plus } from './MathsAndFinance/Plus/Plus.tsx';
66
+ export { default as Minus } from './MathsAndFinance/Minus/Minus.tsx';
67
+ export { default as NumberSquareThree } from './MathsAndFinance/NumberSquareThree/NumberSquareThree.tsx';
68
+ export { default as ChartBar } from './MathsAndFinance/ChartBar/ChartBar.tsx';
69
+ export { default as ChartLine } from './MathsAndFinance/ChartLine/ChartLine.tsx';
70
+ export { default as ChartPie } from './MathsAndFinance/ChartPie/ChartPie.tsx';
71
+ export { default as ChartBarHorizontal } from './MathsAndFinance/ChartBarHorizontal/ChartBarHorizontal.tsx';
72
+ export { default as PlusCircle } from './MathsAndFinance/PlusCircle/PlusCircle.tsx';
73
+ export { default as Calculator } from './MathsAndFinance/Calculator/Calculator.tsx';
74
+
75
+ //Media
76
+ export { default as SildersHorizontal } from './Media/SlidersHorizontal/SlidersHorizontal.tsx';
77
+ export { default as PlayCircle } from './Media/PlayCircle/PlayCircle.tsx';
78
+ export { default as StopCircle } from './Media/StopCircle/StopCircle.tsx';
79
+ export { default as Camera } from './Media/Camera/Camera.tsx';
80
+ export { default as Microphone } from './Media/Microphone/Microphone.tsx';
81
+ export { default as VideoCamera } from './Media/VideoCamera/VideoCamera.tsx';
82
+
83
+
84
+ // Office and Editing
85
+ export { default as TextAa } from './OfficeAndEditing/TextAa/TextAa.tsx';
86
+ export { default as TextColumns } from './OfficeAndEditing/TextColumns/TextColumns.tsx';
87
+ export { default as Folder } from './OfficeAndEditing/Folder/Folder.tsx';
88
+ export { default as Folders } from './OfficeAndEditing/Folders/Folders.tsx';
89
+ export { default as ListBullets } from './OfficeAndEditing/ListBullets/ListBullets.tsx';
90
+ export { default as List } from './OfficeAndEditing/List/List.tsx';
91
+ export { default as ListDashes } from './OfficeAndEditing/ListDashes/ListDashes.tsx';
92
+ export { default as Printer } from './OfficeAndEditing/Printer/Printer.tsx';
93
+ export { default as Trash } from './OfficeAndEditing/Trash/Trash.tsx';
94
+ export { default as TrashSimple } from './OfficeAndEditing/TrashSimple/TrashSimple.tsx';
95
+ export { default as FloppyDisk } from './OfficeAndEditing/FloppyDisk/FloppyDisk.tsx';
96
+ export { default as Copy } from './OfficeAndEditing/Copy/Copy.tsx';
97
+ export { default as Files } from './OfficeAndEditing/Files/Files.tsx';
98
+ export { default as FileText } from './OfficeAndEditing/FileText/FileText.tsx';
99
+ export { default as FolderSimplePlus } from './OfficeAndEditing/FolderSimplePlus/FolderSimplePlus.tsx'
100
+
101
+ //People
102
+ export { default as User } from './People/User/User.tsx';
103
+ export { default as Users } from './People/Users/Users.tsx';
104
+ export { default as UserCircle } from './People/UserCircle/UserCircle.tsx';
105
+ export { default as UserSwitch } from './People/UserSwitch/UserSwitch.tsx';
106
+ export { default as PersonSimpleWalk } from './People/PersonSimpleWalk/PersonSimpleWalk.tsx';
107
+ export { default as PersonSimpleBike } from './People/PersonSimpleBike/PersonSimpleBike.tsx';
108
+ export { default as Person } from './People/Person/Person.tsx';
109
+ export { default as PersonArmsSpread } from './People/PersonArmsSpread/PersonArmsSpread.tsx';
110
+
111
+
112
+
113
+ // Security and warnings
114
+ export { default as WarningCircle } from './SecurityAndWarnings/WarningCircle/WarningCircle';
115
+ export { default as LockSimple } from './SecurityAndWarnings/LockSimple/LockSimple.tsx';
116
+ export { default as LockKeyOpen } from './SecurityAndWarnings/LockKeyOpen/LockKeyOpen.tsx';
117
+ export { default as Question } from './SecurityAndWarnings/Question/Question.tsx';
118
+ export { default as Key } from './SecurityAndWarnings/Key/Key.tsx';
119
+ export { default as Info } from './SecurityAndWarnings/Info/Info.tsx';
120
+ export { default as ShieldCheck } from './SecurityAndWarnings/ShieldCheck/ShieldCheck.tsx';
121
+
122
+ // Systems and devices
123
+ export { default as Bell } from './SystemAndDevice/Bell/Bell';
124
+ export { default as MagnifyingGlass } from './SystemAndDevice/MagnifyingGlass/MagnifyingGlass';
125
+ export { default as DotsSixVertical } from './SystemAndDevice/DotSixVertical/DotSixVertical.tsx';
126
+ export { default as DotsSix } from './SystemAndDevice/DotsSix/DotsSix.tsx';
127
+ export { default as DotsThree } from './SystemAndDevice/DotsThree/DotsThree.tsx';
128
+ export { default as DotsThreeVertical } from './SystemAndDevice/DotsThreeVertical/DotsThreeVertical.tsx';
129
+ export { default as CheckSquare } from './SystemAndDevice/CheckSquare/CheckSquare.tsx';
130
+ export { default as RadioButtonIcon } from './SystemAndDevice/RadioButtonIcon/RadioButtonIcon.tsx';
131
+ export { default as Gear } from './SystemAndDevice/Gear/Gear.tsx';
132
+ export { default as DownloadSimple } from './SystemAndDevice/DownloadSimple/DownloadSimple.tsx';
133
+ export { default as SignOut } from './SystemAndDevice/SignOut/SignOut.tsx';
134
+ export { default as SignIn } from './SystemAndDevice/SignIn/SignIn.tsx';
135
+ export { default as Check } from './SystemAndDevice/Check/Check.tsx';
136
+ export { default as ToggleRight } from './SystemAndDevice/ToggleRight/ToggleRight.tsx';
137
+ export { default as ToggleLeft } from './SystemAndDevice/ToggleLeft/ToggleLeft.tsx';
138
+ export { default as CloudCheck } from './SystemAndDevice/CloudCheck/CloudCheck.tsx';
139
+ export { default as DeviceMobile } from './SystemAndDevice/DeviceMobile/DeviceMobile.tsx';
140
+ export { default as Desktop } from './SystemAndDevice/Desktop/Desktop.tsx';
141
+
142
+
143
+
144
+ // Time
145
+ export { default as Calendar } from './Time/Calendar/Calendar';
146
+ export { default as CalendarCheck } from './Time/CalendarCheck/CalendarCheck.tsx';
147
+ export { default as CalendarBank } from './Time/CalendarBank/CalendarBank';
148
+ export { default as Clock } from './Time/Clock/Clock';
149
+ export { default as ClockCounterClockwise } from './Time/ClockCounterClockwise/ClockCounterClockwise.tsx';
150
+
151
+ // Health And Wellness
152
+ export { default as Barbell } from './HealthAndWellness/Barbell/Barbell'
153
+
154
+ // Weather And Nature
155
+ export { default as Mountains } from './WeatherAndNature/Mountains/Mountains';
156
+ export { default as Tree } from './WeatherAndNature/Tree/Tree';
157
+ export { default as Campfire } from './WeatherAndNature/Campfire/Campfire';
158
+ export { default as CloudSun } from './WeatherAndNature/CloudSun/CloudSun.tsx';
159
+ export { default as Snowflake } from './WeatherAndNature/Snowflake/Snowflake.tsx';
160
+ export { default as Plant } from './WeatherAndNature/Plant/Plant.tsx';
161
+ export { default as Sparkle } from './WeatherAndNature/Sparkle/Sparkle.tsx';
162
+ export { default as Flower } from './WeatherAndNature/Flower/Flower.tsx';
163
+ export { default as Moon } from './WeatherAndNature/Moon/Moon.tsx';
164
+
165
+
@@ -0,0 +1,178 @@
1
+ import React from "react";
2
+ import { Meta, StoryObj } from "@storybook/react-vite";
3
+ import Footer from "./Footer";
4
+ import FooterTop from "./FooterTop";
5
+ import FooterMiddle from "./FooterMiddle";
6
+ import FooterItem from "./FooterItem";
7
+ import FooterBottom from "./FooterBottom";
8
+ import FooterBottomLeft from "./FooterBottomLeft";
9
+ import FooterBottomRight from "./FooterBottomRight";
10
+
11
+ const meta: Meta = {
12
+ title: "Layout / Footer",
13
+ component: Footer,
14
+ parameters: {
15
+ layout: 'fullscreen',
16
+ },
17
+ tags: ["autodocs"]
18
+ }
19
+
20
+ export default meta;
21
+
22
+ type Story = StoryObj<typeof meta>;
23
+
24
+ const FooterTemplate: Story = {
25
+ render: () => {
26
+ const footerTop = (
27
+ <FooterTop title={'Selwyn.'} subtitle={'A place for more.'}>
28
+ <p>Stay in the know, sign up to our newsletter.</p>
29
+ <div>
30
+
31
+ {/* need to add the NEWSLETTER SIGNUP component */}
32
+ </div>
33
+ </FooterTop>
34
+ )
35
+
36
+ const footerMiddle = (
37
+ <FooterMiddle>
38
+ <FooterItem title={'Visit'}>
39
+ <li>
40
+ <a href="#">Footer Item</a>
41
+ </li>
42
+ <li>
43
+ <a href="#">Footer Item</a>
44
+ </li>
45
+ <li>
46
+ <a href="#">Footer Item</a>
47
+ </li>
48
+ <li>
49
+ <a href="#">Footer Item</a>
50
+ </li>
51
+ <li>
52
+ <a href="#">Footer Item</a>
53
+ </li>
54
+ <li>
55
+ <a href="#">Footer Item</a>
56
+ </li>
57
+ <li>
58
+ <a href="#">Footer Item</a>
59
+ </li>
60
+ </FooterItem>
61
+
62
+ <FooterItem title={'Live'}>
63
+ <li>
64
+ <a href="#">Footer Item</a>
65
+ </li>
66
+ <li>
67
+ <a href="#">Footer Item</a>
68
+ </li>
69
+ <li>
70
+ <a href="#">Footer Item</a>
71
+ </li>
72
+ <li>
73
+ <a href="#">Footer Item</a>
74
+ </li>
75
+ <li>
76
+ <a href="#">Footer Item</a>
77
+ </li>
78
+ <li>
79
+ <a href="#">Footer Item</a>
80
+ </li>
81
+ <li>
82
+ <a href="#">Footer Item</a>
83
+ </li>
84
+ </FooterItem>
85
+
86
+ <FooterItem title={'Business'}>
87
+ <li>
88
+ <a href="#">Footer Item</a>
89
+ </li>
90
+ <li>
91
+ <a href="#">Footer Item</a>
92
+ </li>
93
+ <li>
94
+ <a href="#">Footer Item</a>
95
+ </li>
96
+ <li>
97
+ <a href="#">Footer Item</a>
98
+ </li>
99
+ <li>
100
+ <a href="#">Footer Item</a>
101
+ </li>
102
+ <li>
103
+ <a href="#">Footer Item</a>
104
+ </li>
105
+ </FooterItem>
106
+
107
+ <FooterItem title={'Taste'}>
108
+ <li>
109
+ <a href="#">Footer Item</a>
110
+ </li>
111
+ <li>
112
+ <a href="#">Footer Item</a>
113
+ </li>
114
+ <li>
115
+ <a href="#">Footer Item</a>
116
+ </li>
117
+ <li>
118
+ <a href="#">Footer Item</a>
119
+ </li>
120
+ <li>
121
+ <a href="#">Footer Item</a>
122
+ </li>
123
+ <li>
124
+ <a href="#">Footer Item</a>
125
+ </li>
126
+ </FooterItem>
127
+
128
+ <FooterItem title={'Participate'}>
129
+ <li>
130
+ <a href="#">Footer Item</a>
131
+ </li>
132
+ <li>
133
+ <a href="#">Footer Item</a>
134
+ </li>
135
+ <li>
136
+ <a href="#">Footer Item</a>
137
+ </li>
138
+ <li>
139
+ <a href="#">Footer Item</a>
140
+ </li>
141
+ <li>
142
+ <a href="#">Footer Item</a>
143
+ </li>
144
+ <li>
145
+ <a href="#">Footer Item</a>
146
+ </li>
147
+
148
+ </FooterItem>
149
+ </FooterMiddle>
150
+ )
151
+
152
+ const footerBottom = (
153
+ <FooterBottom>
154
+ <FooterBottomLeft logoImgUrl="./img/footer-logo.svg" copyRightYear={2025} copyRightText={'Selwyn District Council'} footerLinks={[
155
+ { title: "Privacy Policy", link: "#" },
156
+ { title: "Terms of Use", link: "#" }
157
+ ]}>
158
+ </FooterBottomLeft>
159
+
160
+ <FooterBottomRight facebookLink="#" instagramLink="#" linkedinLink="#" />
161
+ </FooterBottom>
162
+ );
163
+
164
+ return (
165
+ <Footer
166
+ logo='img\waikirikiri-full-logo.svg'
167
+ footerTop={footerTop}
168
+ footerMiddle={footerMiddle}
169
+ footerBottom={footerBottom}
170
+ >
171
+ </Footer>
172
+ )
173
+ }
174
+ }
175
+
176
+ export const FooterComponent = {
177
+ ...FooterTemplate
178
+ };
@@ -0,0 +1,32 @@
1
+ import Container from "../../Shared/Container/Container";
2
+ import FooterProps from "./FooterProps";
3
+ import styles from "./footer.module.scss";
4
+
5
+ const Footer = (props: FooterProps) => {
6
+ const {
7
+ footerTop,
8
+ footerMiddle,
9
+ footerBottom,
10
+ extraClass,
11
+ logo
12
+ } = props
13
+
14
+ return (
15
+ <footer className={`${styles.footer} ${extraClass}`}>
16
+ {footerTop}
17
+ {footerMiddle && <div className={styles.footerMiddle}>
18
+ <Container>
19
+ <div className={styles.footerMiddleWrapper}>
20
+ <div className={styles.footerLogoContainer}>
21
+ <img src={logo} alt="" />
22
+ </div>
23
+ {footerMiddle}
24
+ </div>
25
+ </Container>
26
+ </div>}
27
+ {footerBottom}
28
+ </footer>
29
+ )
30
+ }
31
+
32
+ export default Footer;
@@ -0,0 +1,21 @@
1
+ import Container from "../../Shared/Container/Container";
2
+ import FooterBottomProps from "./FooterBottomProps";
3
+ import styles from "./footer.module.scss";
4
+
5
+ const FooterBottom = (props: FooterBottomProps) => {
6
+ const {
7
+ children
8
+ } = props
9
+
10
+ return (
11
+ <div className={styles.footerBottom}>
12
+ <Container>
13
+ <div className={styles.footerBottomWrapper}>
14
+ {children}
15
+ </div>
16
+ </Container>
17
+ </div>
18
+ )
19
+ }
20
+
21
+ export default FooterBottom;
@@ -0,0 +1,31 @@
1
+ import FooterBottomLeftProps from "./FooterBottomLeftProps";
2
+ import styles from './footer.module.scss';
3
+
4
+ const FooterBottomLeft = (props: FooterBottomLeftProps) => {
5
+ const {logoImgUrl, copyRightYear, copyRightText, footerLinks} = props;
6
+
7
+ return (
8
+ <div className={styles.footerBottomLeft}>
9
+ <div className={styles. footerBottomLeftWrapper}>
10
+ <div className={styles.footerBottomLeftLogo}>
11
+ <img src={logoImgUrl} alt="" />
12
+ <p>© <span>{copyRightYear}</span> {copyRightText}</p>
13
+ </div>
14
+
15
+ <div className={styles.footerBottomLeftLinks}>
16
+ <ul>
17
+ {
18
+ footerLinks?.map((footerLink, index) => (
19
+ <li key={index}>
20
+ <a href={footerLink.link}>{footerLink.title}</a>
21
+ </li>
22
+ ))
23
+ }
24
+ </ul>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ )
29
+ }
30
+
31
+ export default FooterBottomLeft;
@@ -0,0 +1,13 @@
1
+ export interface FooterLinkItem {
2
+ title?: string;
3
+ link?: string;
4
+ }
5
+
6
+ interface FooterBottomLeftProps {
7
+ logoImgUrl?: string;
8
+ copyRightYear?: number | string;
9
+ copyRightText?: string;
10
+ footerLinks?: FooterLinkItem[];
11
+ }
12
+
13
+ export default FooterBottomLeftProps;
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from "react";
2
+
3
+ interface FooterBottomProps {
4
+ children?: ReactNode;
5
+ }
6
+
7
+ export default FooterBottomProps;
@@ -0,0 +1,47 @@
1
+ import FooterBottomRightProps from "./FooterBottomRightProps";
2
+ import styles from "./footer.module.scss";
3
+ import FacebookLogo from "../../Icons/Brands/FacebookLogo/FacebookLogo";
4
+ import InstagramLogo from "../../Icons/Brands/InstagramLogo/InstagramLogo";
5
+ import LinkedinLogo from "../../Icons/Brands/LinkedinLogo/LinkedinLogo";
6
+
7
+
8
+ const FooterBottomRight = (props: FooterBottomRightProps) => {
9
+ const {
10
+ facebookLink,
11
+ instagramLink,
12
+ linkedinLink,
13
+ } = props
14
+
15
+ return (
16
+ <div className={styles.footerBottomRight}>
17
+ <div className={styles.footerBottomRightWrapper}>
18
+ <div className={styles.footerLogoWrapper}>
19
+ {facebookLink && <div className={styles.footerLogo}>
20
+ <a target={'_blank'} href={facebookLink}>
21
+ <FacebookLogo type="regular"/>
22
+ </a>
23
+ </div>}
24
+ </div>
25
+
26
+ <div className={styles.footerLogoWrapper}>
27
+ {instagramLink && <div className={styles.footerLogo}>
28
+ <a target={'_blank'} href={instagramLink}>
29
+ <InstagramLogo type="regular"/>
30
+ </a>
31
+ </div>}
32
+ </div>
33
+
34
+
35
+ <div className={styles.footerLogoWrapper}>
36
+ {linkedinLink && <div className={styles.footerLogo}>
37
+ <a target={'_blank'} href={linkedinLink}>
38
+ <LinkedinLogo type="regular"/>
39
+ </a>
40
+ </div>}
41
+ </div>
42
+ </div>
43
+ </div>
44
+ )
45
+ }
46
+
47
+ export default FooterBottomRight;
@@ -0,0 +1,7 @@
1
+ interface FooterBottomRightProps {
2
+ facebookLink?: string;
3
+ instagramLink?: string;
4
+ linkedinLink?: string;
5
+ }
6
+
7
+ export default FooterBottomRightProps;
@@ -0,0 +1,17 @@
1
+ import FooterMiddleItemProps from "./FooterItemProps";
2
+ import styles from "./footer.module.scss"
3
+
4
+ const FooterMiddleItem = (props: FooterMiddleItemProps) => {
5
+ const {title, children} = props
6
+
7
+ return (
8
+ <div className={styles.footerItem}>
9
+ <h3>{title}</h3>
10
+ <ul>
11
+ {children}
12
+ </ul>
13
+ </div>
14
+ )
15
+ }
16
+
17
+ export default FooterMiddleItem
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from "react";
2
+
3
+ interface FooterMiddleItemProps {
4
+ title?: string;
5
+ children?: ReactNode;
6
+ }
7
+
8
+ export default FooterMiddleItemProps;
@@ -0,0 +1,14 @@
1
+ import FooterMiddleProps from "./FooterMiddleProps"
2
+ import styles from "./footer.module.scss"
3
+
4
+ const FooterMiddle = (props: FooterMiddleProps) => {
5
+ const { children } = props
6
+
7
+ return <>
8
+ <div className={styles.footerMiddleLinks}>
9
+ {children}
10
+ </div>
11
+ </>
12
+ }
13
+
14
+ export default FooterMiddle;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from "react";
2
+
3
+ interface FooterMiddleProps {
4
+ children?: ReactNode
5
+ extraClass?: string
6
+ }
7
+
8
+ export default FooterMiddleProps;
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from "react";
2
+
3
+ interface FooterProps {
4
+ footerTop?: ReactNode
5
+ footerMiddle?: ReactNode
6
+ footerBottom?: ReactNode
7
+ extraClass?: string
8
+ logo?: string
9
+ }
10
+
11
+ export default FooterProps;
@@ -0,0 +1,30 @@
1
+ import Container from "../../Shared/Container/Container";
2
+ import FooterTopProps from "./FooterTopProps";
3
+ import FooterBgDesign from "./footer-bg-design";
4
+ import styles from './footer.module.scss'
5
+
6
+ const FooterTop = (props: FooterTopProps) => {
7
+ const { title, subtitle, children } = props
8
+
9
+ return (
10
+ <div className={styles.footerTop}>
11
+ <Container>
12
+ <div className={styles.footerTopWrapper}>
13
+ <div className={styles.footerTopLeft}>
14
+ <h1>{title}</h1>
15
+ <h2>{subtitle}</h2>
16
+ </div>
17
+
18
+ <div className={styles.footerTopRight}>
19
+ {children}
20
+ </div>
21
+ </div>
22
+ <div className={styles.footerBgDesignContainer}>
23
+ <FooterBgDesign/>
24
+ </div>
25
+ </Container>
26
+ </div>
27
+ )
28
+ }
29
+
30
+ export default FooterTop
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from "react";
2
+
3
+ interface FooterTopProps {
4
+ title?: string;
5
+ subtitle?: string;
6
+ children?: ReactNode;
7
+ }
8
+
9
+ export default FooterTopProps;
@@ -0,0 +1,21 @@
1
+ const FooterBgDesign = () => {
2
+ return (
3
+ <svg width="524" height="240" viewBox="0 0 524 240" fill="none" xmlns="http://www.w3.org/2000/svg">
4
+ <g opacity="0.2">
5
+ <path opacity="0.5" d="M0 80C48.1937 80 87.2727 115.822 87.2727 160H0V80Z" fill="#EFEAE7" />
6
+ <path opacity="0.25" d="M174.546 80C126.352 80 87.2729 115.822 87.2729 160H174.546V80Z" fill="#EFEAE7" />
7
+ <path opacity="0.5" d="M523.636 160C475.443 160 436.364 124.178 436.364 80H523.636V160Z" fill="#EFEAE7" />
8
+ <path opacity="0.75" d="M87.2729 160C135.467 160 174.546 195.822 174.546 240H87.2729V160Z" fill="#EFEAE7" />
9
+ <path opacity="0.5" d="M174.545 240C222.739 240 261.818 204.178 261.818 160H174.545V240Z" fill="#EFEAE7" />
10
+ <path opacity="0.25" d="M349.091 240C300.897 240 261.818 204.178 261.818 160H349.091V240Z" fill="#EFEAE7" />
11
+ <path opacity="0.75" d="M436.364 160C388.17 160 349.091 195.822 349.091 240H436.364V160Z" fill="#EFEAE7" />
12
+ <path opacity="0.25" d="M349.091 0C397.285 0 436.364 35.8225 436.364 80H349.091V0Z" fill="#EFEAE7" />
13
+ <path opacity="0.5" d="M261.818 160C310.012 160 349.091 124.178 349.091 80H261.818V160Z" fill="#EFEAE7" />
14
+ <path opacity="0.75" d="M174.545 80C222.739 80 261.818 44.1775 261.818 0H174.545V80Z" fill="#EFEAE7" />
15
+ </g>
16
+ </svg>
17
+ )
18
+ }
19
+
20
+ export default FooterBgDesign;
21
+