@hellobetterdigitalnz/selwynui 0.0.1-7 → 0.0.1-71

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 (422) hide show
  1. package/package.json +9 -1
  2. package/src/Components/DataDisplay/Accordion/Accordion.stories.tsx +7 -20
  3. package/src/Components/DataDisplay/Accordion/Accordion.tsx +21 -20
  4. package/src/Components/DataDisplay/Accordion/AccordionItem.tsx +2 -2
  5. package/src/Components/DataDisplay/Accordion/AccordionProps.tsx +2 -1
  6. package/src/Components/DataDisplay/Accordion/accordion-bg-design.tsx +5 -5
  7. package/src/Components/DataDisplay/Accordion/accordion.module.scss +75 -43
  8. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderTool.stories.tsx +53 -0
  9. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderTool.tsx +23 -0
  10. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolMain/BrandBuilderToolMain.tsx +13 -0
  11. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolMain/BrandBuilderToolMainProps.tsx +7 -0
  12. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolProps.tsx +9 -0
  13. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateItem.tsx +15 -0
  14. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateItemProps.tsx +10 -0
  15. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateSelector.tsx +29 -0
  16. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateSelectorProps.tsx +8 -0
  17. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolUploader/BrandBuilderToolUploader.tsx +33 -0
  18. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolUploader/BrandBuilderToolUploaderProps.tsx +8 -0
  19. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolWrapper/BrandBuilderToolWrapper.tsx +17 -0
  20. package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolWrapper/BrandBuilderToolWrapperProps.tsx +8 -0
  21. package/src/Components/DataDisplay/BrandBuilderTool/BrandbuilderToolPreview/BrandBuilderToolPreview.tsx +25 -0
  22. package/src/Components/DataDisplay/BrandBuilderTool/BrandbuilderToolPreview/BrandBuilderToolPreviewProps.tsx +8 -0
  23. package/src/Components/DataDisplay/BrandBuilderTool/brandBuilder.module.scss +215 -0
  24. package/src/Components/DataDisplay/CallToActionBlock/CallToActionBlock.stories.tsx +92 -0
  25. package/src/Components/DataDisplay/CallToActionBlock/CallToActionBlock.tsx +80 -0
  26. package/src/Components/DataDisplay/CallToActionBlock/CallToActionBlockProps.tsx +18 -0
  27. package/src/Components/DataDisplay/CallToActionBlock/callToAction.module.scss +79 -0
  28. package/src/Components/DataDisplay/CallToActionBlock/callToAction.module.scss~ +78 -0
  29. package/src/Components/DataDisplay/CarouselBlock/CarouselBlock.stories.tsx +77 -0
  30. package/src/Components/DataDisplay/CarouselBlock/CarouselBlock.tsx +73 -0
  31. package/src/Components/DataDisplay/CarouselBlock/CarouselBlockProps.tsx +23 -0
  32. package/src/Components/DataDisplay/CarouselBlock/carouselBlock.module.scss +60 -0
  33. package/src/Components/DataDisplay/ChatItenaryBlock/ChatItenaryBlock.stories.tsx +128 -0
  34. package/src/Components/DataDisplay/ChatItenaryBlock/ChatItenaryBlock.tsx +257 -0
  35. package/src/Components/DataDisplay/ChatItenaryBlock/ChatItenaryBlockProps.tsx +44 -0
  36. package/src/Components/DataDisplay/ChatItenaryBlock/chatItenaryBlock.module.scss +777 -0
  37. package/src/Components/DataDisplay/ContactsBlock/ContactItem.tsx +47 -0
  38. package/src/Components/DataDisplay/ContactsBlock/ContactItemProps.tsx +10 -0
  39. package/src/Components/DataDisplay/ContactsBlock/ContactsBlock.stories.tsx +59 -0
  40. package/src/Components/DataDisplay/ContactsBlock/ContactsBlock.tsx +24 -0
  41. package/src/Components/DataDisplay/ContactsBlock/ContactsBlockProps.tsx +8 -0
  42. package/src/Components/DataDisplay/ContactsBlock/contactsBlock.module.scss +165 -0
  43. package/src/Components/DataDisplay/ContentBlock/ContentBlock.stories.tsx +107 -0
  44. package/src/Components/DataDisplay/ContentBlock/ContentBlock.tsx +36 -0
  45. package/src/Components/DataDisplay/ContentBlock/ContentBlockProps.tsx +11 -0
  46. package/src/Components/DataDisplay/ContentBlock/contentBlock.module.scss +76 -0
  47. package/src/Components/DataDisplay/DetailsCard/DetailsCard.tsx +8 -10
  48. package/src/Components/DataDisplay/DetailsCard/DetailsCardProps.tsx +0 -1
  49. package/src/Components/DataDisplay/DetailsCard/detailsCard.module.scss +3 -1
  50. package/src/Components/DataDisplay/ImageContent/ImageContent.stories.tsx +5 -11
  51. package/src/Components/DataDisplay/ImageContent/ImageContent.tsx +12 -11
  52. package/src/Components/DataDisplay/ImageContent/ImageContentProps.tsx +4 -0
  53. package/src/Components/DataDisplay/ImageContent/imageContent.module.scss +30 -14
  54. package/src/Components/DataDisplay/IntroBlock/IntroBlock.stories.tsx +1 -1
  55. package/src/Components/DataDisplay/IntroBlock/introBlock.module.scss +27 -3
  56. package/src/Components/DataDisplay/KPIBlock/KPIBlock.stories.tsx +3 -4
  57. package/src/Components/DataDisplay/KPIBlock/KPIBlock.tsx +14 -7
  58. package/src/Components/DataDisplay/KPIBlock/KPIBlockProps.tsx +6 -2
  59. package/src/Components/DataDisplay/KPIBlock/kpiBlock.module.scss +179 -16
  60. package/src/Components/DataDisplay/{Pathway/Pathway.stories.tsx → ListBlock/ListBlock.stories.tsx} +20 -18
  61. package/src/Components/DataDisplay/ListBlock/ListBlock.tsx +133 -0
  62. package/src/Components/DataDisplay/ListBlock/ListBlockProps.tsx +28 -0
  63. package/src/Components/DataDisplay/{Pathway/pathway.module.scss → ListBlock/listBlock.module.scss} +30 -6
  64. package/src/Components/DataDisplay/ListingDetailBlock/ListingDetailBlock.stories.tsx +93 -0
  65. package/src/Components/DataDisplay/ListingDetailBlock/ListingDetailBlock.tsx +74 -0
  66. package/src/Components/DataDisplay/ListingDetailBlock/ListingDetailBlockProps.tsx +23 -0
  67. package/src/Components/DataDisplay/ListingDetailBlock/listingDetailBlock.module.scss +265 -0
  68. package/src/Components/DataDisplay/Media/Media.stories.tsx +36 -0
  69. package/src/Components/DataDisplay/Media/Media.tsx +158 -0
  70. package/src/Components/DataDisplay/Media/MediaProps.tsx +8 -0
  71. package/src/Components/DataDisplay/Media/media.module.scss +16 -0
  72. package/src/Components/DataDisplay/Media/mediaVideo.scss +88 -0
  73. package/src/Components/DataDisplay/Modal/Modal.stories.tsx +89 -0
  74. package/src/Components/DataDisplay/Modal/Modal.tsx +16 -0
  75. package/src/Components/DataDisplay/Modal/ModalActions.tsx +14 -0
  76. package/src/Components/DataDisplay/Modal/ModalActionsLeft.tsx +13 -0
  77. package/src/Components/DataDisplay/Modal/ModalActionsLeftProps.tsx +8 -0
  78. package/src/Components/DataDisplay/Modal/ModalActionsProps.tsx +8 -0
  79. package/src/Components/DataDisplay/Modal/ModalActionsRight.tsx +14 -0
  80. package/src/Components/DataDisplay/Modal/ModalActionsRightProps.tsx +8 -0
  81. package/src/Components/DataDisplay/Modal/ModalBody.tsx +14 -0
  82. package/src/Components/DataDisplay/Modal/ModalBodyProps.tsx +8 -0
  83. package/src/Components/DataDisplay/Modal/ModalCurtain.tsx +6 -0
  84. package/src/Components/DataDisplay/Modal/ModalHeader.tsx +55 -0
  85. package/src/Components/DataDisplay/Modal/ModalHeaderProps.tsx +10 -0
  86. package/src/Components/DataDisplay/Modal/ModalProps.tsx +9 -0
  87. package/src/Components/DataDisplay/Modal/modal.module.scss +178 -0
  88. package/src/Components/DataDisplay/PathwayBlock/PathwayBlock.stories.tsx +27 -13
  89. package/src/Components/DataDisplay/PathwayBlock/PathwayBlock.tsx +7 -6
  90. package/src/Components/DataDisplay/PathwayBlock/PathwayBlockProps.tsx +10 -4
  91. package/src/Components/DataDisplay/PathwayBlock/pathwayBlock.module.scss +27 -23
  92. package/src/Components/DataDisplay/PromoBannerBlock/PromoBanner.stories.tsx +3 -4
  93. package/src/Components/DataDisplay/PromoBannerBlock/PromoBannerBlock.tsx +2 -6
  94. package/src/Components/DataDisplay/PromoBannerBlock/promoBanner.module.scss +12 -15
  95. package/src/Components/DataDisplay/TestimonyCard/TestimonyCard.stories.tsx +11 -5
  96. package/src/Components/DataDisplay/TestimonyCard/TestimonyCard.tsx +73 -53
  97. package/src/Components/DataDisplay/TestimonyCard/testimonyCard.module.scss +137 -70
  98. package/src/Components/DataDisplay/index.ts +87 -4
  99. package/src/Components/DataDisplay/slider.scss +43 -0
  100. package/src/Components/Form/Button/ButtonProps.tsx +1 -1
  101. package/src/Components/Form/Button/button.module.scss +2 -0
  102. package/src/Components/Form/Checkbox/Checkbox.stories.tsx +51 -0
  103. package/src/Components/Form/Checkbox/Checkbox.tsx +111 -0
  104. package/src/Components/Form/Checkbox/CheckboxProps.tsx +24 -0
  105. package/src/Components/Form/Checkbox/checkbox.module.scss +105 -0
  106. package/src/Components/Form/EmailField/EmailField.stories.ts +23 -0
  107. package/src/Components/Form/EmailField/EmailField.tsx +56 -0
  108. package/src/Components/Form/FormFieldHolder/FormFieldHolder.stories.tsx +31 -0
  109. package/src/Components/Form/FormFieldHolder/FormFieldHolder.tsx +57 -0
  110. package/src/Components/Form/FormFieldHolder/FormFieldHolderProps.tsx +16 -0
  111. package/src/Components/Form/FormFieldHolder/formHolder.module.scss +71 -0
  112. package/src/Components/Form/InputProps.tsx +30 -0
  113. package/src/Components/Form/LandingPageForm/LandingPageForm.stories.tsx +110 -0
  114. package/src/Components/Form/LandingPageForm/LandingPageForm.tsx +24 -0
  115. package/src/Components/Form/LandingPageForm/LandingPageFormLeft.tsx +51 -0
  116. package/src/Components/Form/LandingPageForm/LandingPageFormLeftProps.tsx +13 -0
  117. package/src/Components/Form/LandingPageForm/LandingPageFormProps.tsx +9 -0
  118. package/src/Components/Form/LandingPageForm/LandingPageFormRight.tsx +49 -0
  119. package/src/Components/Form/LandingPageForm/LandingPageFormRightProps.tsx +14 -0
  120. package/src/Components/Form/LandingPageForm/landingPageForm.module.scss +190 -0
  121. package/src/Components/Form/LoadingInput/LoadingInput.tsx +12 -0
  122. package/src/Components/Form/LoadingInput/loadingInput.module.scss +15 -0
  123. package/src/Components/Form/RadioButtons/RadioButton.tsx +83 -0
  124. package/src/Components/Form/RadioButtons/RadioButtonProps.tsx +24 -0
  125. package/src/Components/Form/RadioButtons/RadioButtons.stories.tsx +129 -0
  126. package/src/Components/Form/RadioButtons/RadioButtons.tsx +18 -0
  127. package/src/Components/Form/RadioButtons/RadioButtonsProps.tsx +10 -0
  128. package/src/Components/Form/RadioButtons/radioButton.stories.scss +3 -0
  129. package/src/Components/Form/RadioButtons/radiobutton.module.scss +189 -0
  130. package/src/Components/Form/SimpleForm/SimpleForm.stories.tsx +55 -0
  131. package/src/Components/Form/SimpleForm/SimpleForm.tsx +63 -0
  132. package/src/Components/Form/SimpleForm/SimpleFormProps.tsx +13 -0
  133. package/src/Components/Form/SimpleForm/simple-form-bg-design.tsx +21 -0
  134. package/src/Components/Form/SimpleForm/simpleForm.module.scss +72 -0
  135. package/src/Components/Form/TextField/TextField.stories.ts +22 -0
  136. package/src/Components/Form/TextField/TextField.tsx +62 -0
  137. package/src/Components/Form/TextField/TextFieldProps.tsx +8 -0
  138. package/src/Components/Form/Textarea/Textarea.stories.ts +31 -0
  139. package/src/Components/Form/Textarea/Textarea.tsx +74 -0
  140. package/src/Components/Form/Textarea/TextareaProps.tsx +28 -0
  141. package/src/Components/Form/Textarea/textarea.module.scss +48 -0
  142. package/src/Components/Form/index.ts +34 -1
  143. package/src/Components/Form/index.ts~ +32 -0
  144. package/src/Components/Form/inputs.module.scss +172 -0
  145. package/src/Components/Icons/Communication/PaperPlaneTilt/PaperPlaneTilt.tsx +37 -0
  146. package/src/Components/Icons/OfficeAndEditing/Paperclip/Paperclip.tsx +37 -0
  147. package/src/Components/Icons/SystemAndDevice/CheckCircle/CheckCircle.tsx +35 -0
  148. package/src/Components/Icons/index.ts +5 -1
  149. package/src/Components/Layout/Footer/Footer.tsx +1 -2
  150. package/src/Components/Layout/Footer/FooterBottom.tsx +7 -7
  151. package/src/Components/Layout/Footer/FooterProps.tsx +1 -1
  152. package/src/Components/Layout/Footer/FooterTop.tsx +1 -1
  153. package/src/Components/Layout/Footer/footer.module.scss +3 -2
  154. package/src/Components/Layout/Header/Header.stories.tsx +23 -23
  155. package/src/Components/Layout/Header/Header.tsx +3 -3
  156. package/src/Components/Layout/Header/HeaderProps.tsx +1 -0
  157. package/src/Components/Layout/Header/MegaMenu/MegaMenu.tsx +156 -83
  158. package/src/Components/Layout/Header/MegaMenu/MegaMenuProps.tsx +22 -9
  159. package/src/Components/Layout/Header/MegaMenu/megaMenu.module.scss +4 -2
  160. package/src/Components/Layout/Header/MobileNavigation/MobileNavigation.tsx +4 -3
  161. package/src/Components/Layout/Header/MobileNavigation/MobileNavigationProps.tsx +1 -0
  162. package/src/Components/Layout/Header/MobileNavigation/MobileSubNavigation/MobileSubNavigation.tsx +2 -2
  163. package/src/Components/Layout/Header/MobileNavigation/MobileSubNavigation/MobileSubNavigationItem.tsx +3 -3
  164. package/src/Components/Layout/Header/header.module.scss +17 -19
  165. package/src/Components/Layout/HeroBanner/HeroBanner.tsx +6 -6
  166. package/src/Components/Layout/HeroBanner/heroBanner.module.scss +42 -6
  167. package/src/Components/Layout/index.ts +11 -2
  168. package/src/Components/SelwynUIProvider/SelwynUIContext.tsx +16 -0
  169. package/src/Components/SelwynUIProvider/SelwynUIProvider.tsx +46 -0
  170. package/src/Components/SelwynUIProvider/index.ts +2 -0
  171. package/src/Components/Shared/Container/Container.tsx +18 -8
  172. package/src/Components/Shared/Container/ContainerProps.tsx +7 -2
  173. package/src/Components/Shared/Container/container.module.scss +55 -7
  174. package/src/Components/Shared/ElementHolder/ElementHolderProps.tsx +1 -1
  175. package/src/Components/Shared/ElementHolder/elementHolder.module.scss +10 -5
  176. package/src/Components/Shared/PillarIcon/PillarIcon.tsx +4 -4
  177. package/src/Components/Shared/PillarLogo/PillarLogo.tsx +2 -2
  178. package/src/Components/index.ts +1 -0
  179. package/dist/App.d.ts +0 -2
  180. package/dist/Components/DataDisplay/DetailsCard/DetailsCard.d.ts +0 -3
  181. package/dist/Components/DataDisplay/DetailsCard/DetailsCardProps.d.ts +0 -10
  182. package/dist/Components/DataDisplay/ImageContent/ImageContent.d.ts +0 -3
  183. package/dist/Components/DataDisplay/ImageContent/ImageContentMaskingImages.d.ts +0 -2
  184. package/dist/Components/DataDisplay/ImageContent/ImageContentProps.d.ts +0 -27
  185. package/dist/Components/DataDisplay/IntroBlock/IntroBlock.d.ts +0 -3
  186. package/dist/Components/DataDisplay/IntroBlock/IntroBlockProps.d.ts +0 -8
  187. package/dist/Components/DataDisplay/KPIBlock/KPIBlock.d.ts +0 -3
  188. package/dist/Components/DataDisplay/KPIBlock/KPIBlockProps.d.ts +0 -11
  189. package/dist/Components/DataDisplay/Pathway/Pathway.d.ts +0 -3
  190. package/dist/Components/DataDisplay/Pathway/PathwayProps.d.ts +0 -15
  191. package/dist/Components/DataDisplay/PromoBannerBlock/PromoBannerBlock.d.ts +0 -3
  192. package/dist/Components/DataDisplay/PromoBannerBlock/PromoBannerBlockProps.d.ts +0 -14
  193. package/dist/Components/DataDisplay/PromoBannerBlock/promo-banner-bg-design.d.ts +0 -2
  194. package/dist/Components/DataDisplay/index.d.ts +0 -10
  195. package/dist/Components/Form/Button/Button.d.ts +0 -3
  196. package/dist/Components/Form/Button/ButtonProps.d.ts +0 -14
  197. package/dist/Components/Form/index.d.ts +0 -2
  198. package/dist/Components/Icons/Arrows/ArrowLeft/ArrowLeft.d.ts +0 -3
  199. package/dist/Components/Icons/Arrows/ArrowRight/ArrowRight.d.ts +0 -3
  200. package/dist/Components/Icons/Arrows/ArrowSquareOut/ArrowSquareOut.d.ts +0 -3
  201. package/dist/Components/Icons/Arrows/ArrowsDownUp/ArrowsDownUp.d.ts +0 -3
  202. package/dist/Components/Icons/Arrows/ArrowsOutCardinal/ArrowsOutCardinal.d.ts +0 -3
  203. package/dist/Components/Icons/Arrows/CaretCircleRight/CaretCircleRight.d.ts +0 -3
  204. package/dist/Components/Icons/Arrows/CaretDown/CaretDown.d.ts +0 -3
  205. package/dist/Components/Icons/Arrows/CaretLeft/CaretLeft.d.ts +0 -3
  206. package/dist/Components/Icons/Arrows/CaretRight/CaretRight.d.ts +0 -3
  207. package/dist/Components/Icons/Arrows/CaretUp/CaretUp.d.ts +0 -3
  208. package/dist/Components/Icons/Arrows/CaretUpDown/CaretUpDown.d.ts +0 -3
  209. package/dist/Components/Icons/Brands/FacebookLogo/FacebookLogo.d.ts +0 -3
  210. package/dist/Components/Icons/Brands/InstagramLogo/InstagramLogo.d.ts +0 -3
  211. package/dist/Components/Icons/Brands/LinkedinLogo/LinkedinLogo.d.ts +0 -3
  212. package/dist/Components/Icons/Brands/WindowsLogo/WindowsLogo.d.ts +0 -3
  213. package/dist/Components/Icons/Commerce/Backpack/Backpack.d.ts +0 -3
  214. package/dist/Components/Icons/Commerce/BowlSteam/BowlSteam.d.ts +0 -3
  215. package/dist/Components/Icons/Commerce/Bread/Bread.d.ts +0 -3
  216. package/dist/Components/Icons/Commerce/Cheers/Cheers.d.ts +0 -3
  217. package/dist/Components/Icons/Commerce/ChefHat/ChefHat.d.ts +0 -3
  218. package/dist/Components/Icons/Commerce/Coffee/Coffee.d.ts +0 -3
  219. package/dist/Components/Icons/Commerce/CreditCard/CreditCard.d.ts +0 -3
  220. package/dist/Components/Icons/Commerce/CurrencyDollarSimple/CurrencyDollarSimple.d.ts +0 -3
  221. package/dist/Components/Icons/Commerce/Grains/Grains.d.ts +0 -3
  222. package/dist/Components/Icons/Commerce/Scale/Scale.d.ts +0 -3
  223. package/dist/Components/Icons/Commerce/StoreFront/StoreFront.d.ts +0 -3
  224. package/dist/Components/Icons/Communication/AddressBook/AddressBook.d.ts +0 -3
  225. package/dist/Components/Icons/Communication/AddressBook/AddressBook.stories.d.ts +0 -21
  226. package/dist/Components/Icons/Communication/AsterickSimple/AsteriskSimple.d.ts +0 -3
  227. package/dist/Components/Icons/Communication/AsterickSimple/AsteriskSimple.stories.d.ts +0 -21
  228. package/dist/Components/Icons/Communication/Asterisk/Asterisk.d.ts +0 -3
  229. package/dist/Components/Icons/Communication/Asterisk/Asterisk.stories.d.ts +0 -21
  230. package/dist/Components/Icons/Communication/At/At.d.ts +0 -3
  231. package/dist/Components/Icons/Communication/At/At.stories.d.ts +0 -21
  232. package/dist/Components/Icons/Communication/Broadcast/Broadcast.d.ts +0 -3
  233. package/dist/Components/Icons/Communication/Broadcast/Broadcast.stories.d.ts +0 -21
  234. package/dist/Components/Icons/Communication/Chat/Chat.d.ts +0 -3
  235. package/dist/Components/Icons/Communication/Chat/Chat.stories.d.ts +0 -21
  236. package/dist/Components/Icons/Communication/ChatCircleText/ChatCircleText.d.ts +0 -3
  237. package/dist/Components/Icons/Communication/EnvelopeSimple/EnvelopeSimple.d.ts +0 -3
  238. package/dist/Components/Icons/Communication/Export/Export.d.ts +0 -3
  239. package/dist/Components/Icons/Communication/Phone/Phone.d.ts +0 -3
  240. package/dist/Components/Icons/Communication/ThumbsUp/ThumbsUp.d.ts +0 -3
  241. package/dist/Components/Icons/Communication/Translate/Translate.d.ts +0 -3
  242. package/dist/Components/Icons/Design/DropHalfBottom/DropHalfBottom.d.ts +0 -3
  243. package/dist/Components/Icons/Design/Eye/Eye.d.ts +0 -3
  244. package/dist/Components/Icons/Design/EyeSlash/EyeSlash.d.ts +0 -3
  245. package/dist/Components/Icons/Design/GearFine/GearFine.d.ts +0 -3
  246. package/dist/Components/Icons/Design/PencilLine/PencilLine.d.ts +0 -3
  247. package/dist/Components/Icons/Design/PencilSimple/PencilSimple.d.ts +0 -3
  248. package/dist/Components/Icons/Design/Ruler/Ruler.d.ts +0 -3
  249. package/dist/Components/Icons/Design/SquaresFour/SquaresFour.d.ts +0 -3
  250. package/dist/Components/Icons/Education/BookOpenText/BookOpenText.d.ts +0 -3
  251. package/dist/Components/Icons/Education/BookmarkSimple/BookmarkSimple.d.ts +0 -3
  252. package/dist/Components/Icons/Education/Certificate/Certificate.d.ts +0 -3
  253. package/dist/Components/Icons/Education/GraduationCap/GraduationCap.d.ts +0 -3
  254. package/dist/Components/Icons/Games/Cricket/Cricket.d.ts +0 -3
  255. package/dist/Components/Icons/Games/Football/Football.d.ts +0 -3
  256. package/dist/Components/Icons/Games/Golf/Golf.d.ts +0 -3
  257. package/dist/Components/Icons/HealthAndWellness/Barbell/Barbell.d.ts +0 -3
  258. package/dist/Components/Icons/IconProps.d.ts +0 -4
  259. package/dist/Components/Icons/MapAndTravel/Barn/Barn.d.ts +0 -3
  260. package/dist/Components/Icons/MapAndTravel/Bicycle/Bicycle.d.ts +0 -3
  261. package/dist/Components/Icons/MapAndTravel/Bus/Bus.d.ts +0 -3
  262. package/dist/Components/Icons/MapAndTravel/Car/Car.d.ts +0 -3
  263. package/dist/Components/Icons/MapAndTravel/ChargingStation/ChargingStation.d.ts +0 -3
  264. package/dist/Components/Icons/MapAndTravel/Farm/Farm.d.ts +0 -3
  265. package/dist/Components/Icons/MapAndTravel/Globe/Globe.d.ts +0 -3
  266. package/dist/Components/Icons/MapAndTravel/Goggles/Goggles.d.ts +0 -3
  267. package/dist/Components/Icons/MapAndTravel/House/House.d.ts +0 -3
  268. package/dist/Components/Icons/MapAndTravel/HouseSimple/HouseSimple.d.ts +0 -3
  269. package/dist/Components/Icons/MapAndTravel/MapPin/MapPin.d.ts +0 -3
  270. package/dist/Components/Icons/MapAndTravel/MapTriFold/MapTriFold.d.ts +0 -3
  271. package/dist/Components/Icons/MapAndTravel/Path/Path.d.ts +0 -3
  272. package/dist/Components/Icons/MapAndTravel/RoadHorizon/RoadHorizon.d.ts +0 -3
  273. package/dist/Components/Icons/MapAndTravel/SteeringWheel/SteeringWheel.d.ts +0 -3
  274. package/dist/Components/Icons/MapAndTravel/SwimmingPool/SwimmingPool.d.ts +0 -3
  275. package/dist/Components/Icons/MapAndTravel/Tram/Tram.d.ts +0 -3
  276. package/dist/Components/Icons/MapAndTravel/Van/Van.d.ts +0 -3
  277. package/dist/Components/Icons/MathsAndFinance/Calculator/Calculator.d.ts +0 -3
  278. package/dist/Components/Icons/MathsAndFinance/ChartBar/ChartBar.d.ts +0 -3
  279. package/dist/Components/Icons/MathsAndFinance/ChartBarHorizontal/ChartBarHorizontal.d.ts +0 -3
  280. package/dist/Components/Icons/MathsAndFinance/ChartLine/ChartLine.d.ts +0 -3
  281. package/dist/Components/Icons/MathsAndFinance/ChartLineUp/ChartLineUp.d.ts +0 -3
  282. package/dist/Components/Icons/MathsAndFinance/ChartPie/ChartPie.d.ts +0 -3
  283. package/dist/Components/Icons/MathsAndFinance/Minus/Minus.d.ts +0 -3
  284. package/dist/Components/Icons/MathsAndFinance/MinusCircle/MinusCircle.d.ts +0 -3
  285. package/dist/Components/Icons/MathsAndFinance/NumberSquareThree/NumberSquareThree.d.ts +0 -3
  286. package/dist/Components/Icons/MathsAndFinance/Plus/Plus.d.ts +0 -3
  287. package/dist/Components/Icons/MathsAndFinance/PlusCircle/PlusCircle.d.ts +0 -3
  288. package/dist/Components/Icons/MathsAndFinance/XIcon/XIcon.d.ts +0 -3
  289. package/dist/Components/Icons/Media/Camera/Camera.d.ts +0 -3
  290. package/dist/Components/Icons/Media/DiscoBall/DiscoBall.d.ts +0 -3
  291. package/dist/Components/Icons/Media/FilmStrip/FilmStrip.d.ts +0 -3
  292. package/dist/Components/Icons/Media/Microphone/Microphone.d.ts +0 -3
  293. package/dist/Components/Icons/Media/MusicNotes/MusicNotes.d.ts +0 -3
  294. package/dist/Components/Icons/Media/PlayCircle/PlayCircle.d.ts +0 -3
  295. package/dist/Components/Icons/Media/SlidersHorizontal/SlidersHorizontal.d.ts +0 -3
  296. package/dist/Components/Icons/Media/StopCircle/StopCircle.d.ts +0 -3
  297. package/dist/Components/Icons/Media/VideoCamera/VideoCamera.d.ts +0 -3
  298. package/dist/Components/Icons/OfficeAndEditing/BuildinfOffice/BuildingOffice.d.ts +0 -3
  299. package/dist/Components/Icons/OfficeAndEditing/Copy/Copy.d.ts +0 -3
  300. package/dist/Components/Icons/OfficeAndEditing/FileText/FileText.d.ts +0 -3
  301. package/dist/Components/Icons/OfficeAndEditing/Files/Files.d.ts +0 -3
  302. package/dist/Components/Icons/OfficeAndEditing/FloppyDisk/FloppyDisk.d.ts +0 -3
  303. package/dist/Components/Icons/OfficeAndEditing/Folder/Folder.d.ts +0 -3
  304. package/dist/Components/Icons/OfficeAndEditing/FolderSimplePlus/FolderSimplePlus.d.ts +0 -3
  305. package/dist/Components/Icons/OfficeAndEditing/Folders/Folders.d.ts +0 -3
  306. package/dist/Components/Icons/OfficeAndEditing/List/List.d.ts +0 -3
  307. package/dist/Components/Icons/OfficeAndEditing/ListBullets/ListBullets.d.ts +0 -3
  308. package/dist/Components/Icons/OfficeAndEditing/ListDashes/ListDashes.d.ts +0 -3
  309. package/dist/Components/Icons/OfficeAndEditing/Printer/Printer.d.ts +0 -3
  310. package/dist/Components/Icons/OfficeAndEditing/TextAa/TextAa.d.ts +0 -3
  311. package/dist/Components/Icons/OfficeAndEditing/TextColumns/TextColumns.d.ts +0 -3
  312. package/dist/Components/Icons/OfficeAndEditing/Trash/Trash.d.ts +0 -3
  313. package/dist/Components/Icons/OfficeAndEditing/TrashSimple/TrashSimple.d.ts +0 -3
  314. package/dist/Components/Icons/People/Person/Person.d.ts +0 -3
  315. package/dist/Components/Icons/People/PersonArmsSpread/PersonArmsSpread.d.ts +0 -3
  316. package/dist/Components/Icons/People/PersonSimpleBike/PersonSimpleBike.d.ts +0 -3
  317. package/dist/Components/Icons/People/PersonSimpleSki/PersonSimpleSki.d.ts +0 -3
  318. package/dist/Components/Icons/People/PersonSimpleWalk/PersonSimpleWalk.d.ts +0 -3
  319. package/dist/Components/Icons/People/User/User.d.ts +0 -3
  320. package/dist/Components/Icons/People/UserCircle/UserCircle.d.ts +0 -3
  321. package/dist/Components/Icons/People/UserSwitch/UserSwitch.d.ts +0 -3
  322. package/dist/Components/Icons/People/Users/Users.d.ts +0 -3
  323. package/dist/Components/Icons/SecurityAndWarnings/Info/Info.d.ts +0 -3
  324. package/dist/Components/Icons/SecurityAndWarnings/Key/Key.d.ts +0 -3
  325. package/dist/Components/Icons/SecurityAndWarnings/LockKeyOpen/LockKeyOpen.d.ts +0 -3
  326. package/dist/Components/Icons/SecurityAndWarnings/LockSimple/LockSimple.d.ts +0 -3
  327. package/dist/Components/Icons/SecurityAndWarnings/Question/Question.d.ts +0 -3
  328. package/dist/Components/Icons/SecurityAndWarnings/ShieldCheck/ShieldCheck.d.ts +0 -3
  329. package/dist/Components/Icons/SecurityAndWarnings/WarningCircle/WarningCircle.d.ts +0 -3
  330. package/dist/Components/Icons/SystemAndDevice/Bell/Bell.d.ts +0 -3
  331. package/dist/Components/Icons/SystemAndDevice/Check/Check.d.ts +0 -3
  332. package/dist/Components/Icons/SystemAndDevice/CheckSquare/CheckSquare.d.ts +0 -3
  333. package/dist/Components/Icons/SystemAndDevice/CloudCheck/CloudCheck.d.ts +0 -3
  334. package/dist/Components/Icons/SystemAndDevice/Desktop/Desktop.d.ts +0 -3
  335. package/dist/Components/Icons/SystemAndDevice/DeviceMobile/DeviceMobile.d.ts +0 -3
  336. package/dist/Components/Icons/SystemAndDevice/DotSixVertical/DotSixVertical.d.ts +0 -3
  337. package/dist/Components/Icons/SystemAndDevice/DotsSix/DotsSix.d.ts +0 -3
  338. package/dist/Components/Icons/SystemAndDevice/DotsThree/DotsThree.d.ts +0 -3
  339. package/dist/Components/Icons/SystemAndDevice/DotsThreeVertical/DotsThreeVertical.d.ts +0 -3
  340. package/dist/Components/Icons/SystemAndDevice/DownloadSimple/DownloadSimple.d.ts +0 -3
  341. package/dist/Components/Icons/SystemAndDevice/Gear/Gear.d.ts +0 -3
  342. package/dist/Components/Icons/SystemAndDevice/Link/Link.d.ts +0 -3
  343. package/dist/Components/Icons/SystemAndDevice/MagnifyingGlass/MagnifyingGlass.d.ts +0 -3
  344. package/dist/Components/Icons/SystemAndDevice/RadioButtonIcon/RadioButtonIcon.d.ts +0 -3
  345. package/dist/Components/Icons/SystemAndDevice/SignIn/SignIn.d.ts +0 -3
  346. package/dist/Components/Icons/SystemAndDevice/SignOut/SignOut.d.ts +0 -3
  347. package/dist/Components/Icons/SystemAndDevice/ToggleLeft/ToggleLeft.d.ts +0 -3
  348. package/dist/Components/Icons/SystemAndDevice/ToggleRight/ToggleRight.d.ts +0 -3
  349. package/dist/Components/Icons/Time/Calendar/Calendar.d.ts +0 -3
  350. package/dist/Components/Icons/Time/CalendarBank/CalendarBank.d.ts +0 -3
  351. package/dist/Components/Icons/Time/CalendarCheck/CalendarCheck.d.ts +0 -3
  352. package/dist/Components/Icons/Time/CalendarDots/CalendarDots.d.ts +0 -3
  353. package/dist/Components/Icons/Time/Clock/Clock.d.ts +0 -3
  354. package/dist/Components/Icons/Time/ClockCounterClockwise/ClockCounterClockwise.d.ts +0 -3
  355. package/dist/Components/Icons/WeatherAndNature/Bird/Bird.d.ts +0 -3
  356. package/dist/Components/Icons/WeatherAndNature/Campfire/Campfire.d.ts +0 -3
  357. package/dist/Components/Icons/WeatherAndNature/CloudSun/CloudSun.d.ts +0 -3
  358. package/dist/Components/Icons/WeatherAndNature/Cow/Cow.d.ts +0 -3
  359. package/dist/Components/Icons/WeatherAndNature/Dog/Dog.d.ts +0 -3
  360. package/dist/Components/Icons/WeatherAndNature/FishSimple/FishSimple.d.ts +0 -3
  361. package/dist/Components/Icons/WeatherAndNature/Flower/Flower.d.ts +0 -3
  362. package/dist/Components/Icons/WeatherAndNature/Moon/Moon.d.ts +0 -3
  363. package/dist/Components/Icons/WeatherAndNature/Mountains/Mountains.d.ts +0 -3
  364. package/dist/Components/Icons/WeatherAndNature/Plant/Plant.d.ts +0 -3
  365. package/dist/Components/Icons/WeatherAndNature/Snowflake/Snowflake.d.ts +0 -3
  366. package/dist/Components/Icons/WeatherAndNature/Sparkle/Sparkle.d.ts +0 -3
  367. package/dist/Components/Icons/WeatherAndNature/Sun/Sun.d.ts +0 -3
  368. package/dist/Components/Icons/WeatherAndNature/Tree/Tree.d.ts +0 -3
  369. package/dist/Components/Icons/index.d.ts +0 -123
  370. package/dist/Components/Layout/Footer/Footer.d.ts +0 -3
  371. package/dist/Components/Layout/Footer/FooterBottom.d.ts +0 -3
  372. package/dist/Components/Layout/Footer/FooterBottomLeft.d.ts +0 -3
  373. package/dist/Components/Layout/Footer/FooterBottomLeftProps.d.ts +0 -11
  374. package/dist/Components/Layout/Footer/FooterBottomProps.d.ts +0 -5
  375. package/dist/Components/Layout/Footer/FooterBottomRight.d.ts +0 -3
  376. package/dist/Components/Layout/Footer/FooterBottomRightProps.d.ts +0 -6
  377. package/dist/Components/Layout/Footer/FooterItem.d.ts +0 -3
  378. package/dist/Components/Layout/Footer/FooterItemProps.d.ts +0 -6
  379. package/dist/Components/Layout/Footer/FooterMiddle.d.ts +0 -3
  380. package/dist/Components/Layout/Footer/FooterMiddleProps.d.ts +0 -6
  381. package/dist/Components/Layout/Footer/FooterProps.d.ts +0 -9
  382. package/dist/Components/Layout/Footer/FooterTop.d.ts +0 -3
  383. package/dist/Components/Layout/Footer/FooterTopProps.d.ts +0 -7
  384. package/dist/Components/Layout/Footer/footer-bg-design.d.ts +0 -2
  385. package/dist/Components/Layout/Header/Header.d.ts +0 -3
  386. package/dist/Components/Layout/Header/HeaderProps.d.ts +0 -7
  387. package/dist/Components/Layout/Header/HeaderRight.d.ts +0 -3
  388. package/dist/Components/Layout/Header/HeaderRightItem.d.ts +0 -3
  389. package/dist/Components/Layout/Header/HeaderRightItemProps.d.ts +0 -11
  390. package/dist/Components/Layout/Header/HeaderRightProps.d.ts +0 -5
  391. package/dist/Components/Layout/Header/MagnifyingGlass/MagnifyingGlass.d.ts +0 -2
  392. package/dist/Components/Layout/Header/MegaMenu/MegaMenu.d.ts +0 -2
  393. package/dist/Components/Layout/Header/MegaMenu/MegaMenuProps.d.ts +0 -4
  394. package/dist/Components/Layout/HeroBanner/HeroBanner.d.ts +0 -3
  395. package/dist/Components/Layout/HeroBanner/HeroBannerProps.d.ts +0 -9
  396. package/dist/Components/Layout/HeroBanner/LargeHeroIcon.d.ts +0 -2
  397. package/dist/Components/Layout/index.d.ts +0 -22
  398. package/dist/Components/Shared/Container/Container.d.ts +0 -3
  399. package/dist/Components/Shared/Container/ContainerProps.d.ts +0 -6
  400. package/dist/Components/Shared/ElementHolder/ElementHolder.d.ts +0 -3
  401. package/dist/Components/Shared/ElementHolder/ElementHolderProps.d.ts +0 -15
  402. package/dist/Components/Shared/index.d.ts +0 -4
  403. package/dist/img/card-one.png +0 -0
  404. package/dist/img/card-three.png +0 -0
  405. package/dist/img/card-two.png +0 -0
  406. package/dist/img/footer-bg-design.svg +0 -14
  407. package/dist/img/footer-logo.svg +0 -9
  408. package/dist/img/promo-banner-image.svg +0 -9
  409. package/dist/img/visit-brand-piller.svg +0 -6
  410. package/dist/img/waikirikiri-full-logo.svg +0 -23
  411. package/dist/index.cjs.js +0 -14
  412. package/dist/index.cjs.js.map +0 -1
  413. package/dist/index.d.ts +0 -5
  414. package/dist/index.es.d.ts +0 -2
  415. package/dist/index.es.js +0 -6787
  416. package/dist/index.es.js.map +0 -1
  417. package/dist/main.d.ts +0 -0
  418. package/dist/selwynui.css +0 -1
  419. package/dist/tsconfig.app.tsbuildinfo +0 -1
  420. package/dist/vite.svg +0 -1
  421. package/src/Components/DataDisplay/Pathway/Pathway.tsx +0 -94
  422. package/src/Components/DataDisplay/Pathway/PathwayProps.tsx +0 -17
@@ -0,0 +1,133 @@
1
+ import ListBlockProps from './ListBlockProps.tsx';
2
+ import styles from "./listBlock.module.scss";
3
+ import cslx from "clsx";
4
+ import Container from "../../Shared/Container/Container";
5
+ import DetailsCard from "../DetailsCard/DetailsCard";
6
+ import { CaretDown } from "../../Icons";
7
+ import { useState } from "react";
8
+
9
+ // Helpers
10
+ const slugify = (str: string) =>
11
+ str.toLowerCase().trim().replace(/\s+/g, "-");
12
+
13
+ const formatCategory = (str: string) =>
14
+ str
15
+ .split(" ")
16
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1))
17
+ .join(" ");
18
+
19
+ const ListBlock = (props: ListBlockProps) => {
20
+ const {
21
+ title = '',
22
+ description = '',
23
+ cards = [],
24
+ action
25
+ } = props;
26
+
27
+
28
+ const uniqueCategories = Array.from(
29
+ new Set(cards.map(c => c.category?.toLowerCase()).filter(Boolean))
30
+ );
31
+
32
+ const dynamicFilters = [...uniqueCategories];
33
+ const [activeFilter, setActiveFilter] = useState<string | null>(null);
34
+
35
+ const filterCards = (category?: string) => {
36
+ if (!category) return false;
37
+ if (!activeFilter) return true;
38
+ return slugify(category) === activeFilter;
39
+ };
40
+
41
+ const classes = [styles.pathway, "pathway"];
42
+
43
+ return (
44
+ <div>
45
+ <Container>
46
+ <div className={cslx(classes)}>
47
+ {title && <div className={styles.pathwayTitle}><h3>{title}</h3></div>}
48
+
49
+ {(description || action) && (
50
+ <div className={styles.pathwayDescription}>
51
+ {description && <p>{description}</p>}
52
+ {action && <div className={styles.action}>{action}</div>}
53
+ </div>
54
+ )}
55
+
56
+ {/* Desktop Filters */}
57
+ {dynamicFilters.length > 0 && (
58
+ <div className={`${styles.pathwayFilters} ${styles.pathwayFilterDesktop}`}>
59
+ <ul>
60
+ <li
61
+ key="all"
62
+ className={!activeFilter ? styles.active : ""}
63
+ onClick={() => setActiveFilter(null)}
64
+ >
65
+ <span>All</span>
66
+ </li>
67
+ {dynamicFilters.map(cat => {
68
+ const value = slugify(cat!);
69
+ const label = formatCategory(cat!);
70
+ return (
71
+ <li
72
+ key={value}
73
+ className={activeFilter === value ? styles.active : ""}
74
+ onClick={() => setActiveFilter(value)}
75
+ >
76
+ <span>{label}</span>
77
+ </li>
78
+ );
79
+ })}
80
+ </ul>
81
+ </div>
82
+ )}
83
+
84
+ {dynamicFilters.length > 0 && (
85
+ <div className={`${styles.pathwayFilters} ${styles.pathwayFilterMobile}`}>
86
+ <select
87
+ onChange={(e) => setActiveFilter(e.target.value || null)}
88
+ value={activeFilter || ""}
89
+ >
90
+ <option value="">All</option>
91
+ {dynamicFilters.map(cat => {
92
+ const value = slugify(cat!);
93
+ const label = formatCategory(cat!);
94
+ return (
95
+ <option key={value} value={value}>
96
+ {label}
97
+ </option>
98
+ );
99
+ })}
100
+ </select>
101
+ <CaretDown />
102
+ </div>
103
+ )}
104
+
105
+ {/* Cards */}
106
+ <div className={styles.pathwayCards}>
107
+ {activeFilter ? (
108
+ <div className={styles.pathwayCardsWrap}>
109
+ {cards.filter(c => filterCards(c.category))
110
+ .map((card, idx) => (
111
+ <div key={idx} className={styles.pathwayCard}>
112
+ <DetailsCard {...card} variation="short" />
113
+ </div>
114
+ ))}
115
+ </div>
116
+ ) : (
117
+ <div className={styles.pathwayCardsWrap}>
118
+ {cards.map((card, idx) => (
119
+ <div key={idx} className={styles.pathwayCard}>
120
+ <DetailsCard {...card} variation="short" />
121
+ </div>
122
+ ))}
123
+ </div>
124
+ )}
125
+ </div>
126
+
127
+ </div>
128
+ </Container>
129
+ </div>
130
+ );
131
+ };
132
+
133
+ export default ListBlock;
@@ -0,0 +1,28 @@
1
+ import {ReactNode} from "react";
2
+
3
+ export interface Card {
4
+ title?:string,
5
+ description?:string,
6
+ date?: string,
7
+ link?: {
8
+ title?: string;
9
+ href?: string;
10
+ target?: "_blank" | "_self" | "_parent" | "_top";
11
+ rel?: string;
12
+ };
13
+ pillar?: 'visit' | 'live' | 'business' | 'participate' | 'taste'
14
+ image?:string,
15
+ variation?: "long" | "short";
16
+ category?: string | undefined,
17
+ }
18
+
19
+ interface ListBlockProps {
20
+ title?: string;
21
+ description?: string;
22
+ link?: string;
23
+ cards?: Card[];
24
+ filters?: string[];
25
+ action?: ReactNode;
26
+ }
27
+
28
+ export default ListBlockProps;
@@ -8,11 +8,24 @@
8
8
  }
9
9
 
10
10
  .pathwayDescription {
11
+ display: flex;
12
+ align-items: flex-end;
13
+ justify-content: space-between;
11
14
  margin-bottom: 36px;
15
+ flex-wrap: wrap;
16
+
12
17
  p {
13
- font-size: var(--font-size-h5);
14
- line-height: 1.2;
18
+ max-width: 936px;
19
+ font-size: var(--font-size-h5);
20
+ line-height: 1.2;
21
+ letter-spacing: -1.44px;
15
22
  }
23
+
24
+ .action{
25
+ margin-top: 24px;
26
+ display: flex;
27
+ }
28
+
16
29
  }
17
30
 
18
31
  .pathwayFilters {
@@ -25,11 +38,15 @@
25
38
  li {
26
39
  cursor: pointer;
27
40
  padding: 0 8px;
41
+ background: var(--color-bg-btn);
42
+ color: var(--color-text-btn);
43
+ transition: all 0.3s ease-in-out;
44
+
28
45
 
29
- &.active {
46
+ &.active ,&:hover {
30
47
  span {
31
- color: var(--pathway-card-hover-text);
32
- background-color: var(--pathway-card-hover-bg);
48
+ background: var(--color-text-btn);
49
+ color:var(--color-bg-btn) ;
33
50
  }
34
51
  }
35
52
 
@@ -90,6 +107,7 @@
90
107
  }
91
108
  }
92
109
 
110
+
93
111
  @media (min-width: 760px) {
94
112
  .pathwayTitle {
95
113
  margin-bottom: 72px;
@@ -110,7 +128,7 @@
110
128
  }
111
129
 
112
130
  .pathwayCard {
113
- width: 33.33%;
131
+ width: 50%;
114
132
  padding: 0 16px;
115
133
  }
116
134
 
@@ -121,4 +139,10 @@
121
139
  .pathwayFilterMobile {
122
140
  display: none;
123
141
  }
142
+ }
143
+
144
+ @media (min-width: 992px) {
145
+ .pathwayCard {
146
+ width: 33.33%;
147
+ }
124
148
  }
@@ -0,0 +1,93 @@
1
+ // @ts-ignore
2
+ import React from "react"
3
+ import { Meta, StoryObj } from "@storybook/react-vite";
4
+ import ListingDetailBlock from "./ListingDetailBlock";
5
+ import ElementHolder from "../../Shared/ElementHolder/ElementHolder";
6
+ import {Clock, DeviceMobile, MapPin, Mountains, Path} from "../../Icons";
7
+ import ArrowRight from "../../Icons/Arrows/ArrowRight/ArrowRight.tsx";
8
+ import {Button} from "../../Form";
9
+
10
+ const meta: Meta = {
11
+ title: "DataDisplay / ListingDetailBlock",
12
+ component: ListingDetailBlock,
13
+ parameters: {
14
+ layout: 'fullscreen',
15
+ },
16
+ tags: ["autodocs"]
17
+ }
18
+
19
+ export default meta;
20
+
21
+ type Story = StoryObj<typeof ListingDetailBlock>;
22
+
23
+ export const Default: Story = {
24
+ render: () => (
25
+ <ElementHolder paddingTop="sm" paddingBottom="sm" pillar="visit" level="light">
26
+ <ListingDetailBlock
27
+ content={
28
+ <>
29
+ <h4>For beginners and kids the dedicated learner slope has gentle runs, easy sunkid carpet and platter lifts.</h4>
30
+ <br/>
31
+ <p>Those more advanced can enjoy the long cruising runs by taking the Easy Rider chairlift and three T-bars to the top. For the more adventurous there's challenging terrains and a freestyle park. A fleet of rental equipment is available for hire and a range of professional lessons available.</p>
32
+ <br/>
33
+ <p>Porters Lodge at the base of the mountain provides lodging as well as a fantastic restaurant and bar. Enjoy a dedicated snow play area adjacent to the lodge for tobogganing, the perfect setting for a family adventure.</p>
34
+ <br/>
35
+ </>
36
+ }
37
+ facilities={[
38
+ "Hot food",
39
+ "Ski school",
40
+ "Chairlift (1)",
41
+ "T-bars (3)",
42
+ "Pomas (1)",
43
+ "Magic carpet (1)",
44
+ "Beds (36)",
45
+ "Shuttle bus",
46
+ "Gear rental",
47
+ ]}
48
+ callToActions={[
49
+ {
50
+ icon: <Path type={'fill'}/>,
51
+ label: 'Distance from Christchurch Airport',
52
+ value: <p>91 km, approximately 1.25 hours</p>,
53
+ },
54
+ {
55
+ icon: <Mountains type={'fill'}/>,
56
+ label: 'Elevations',
57
+ value: <p>Top 1980m / Base 1302m</p>,
58
+ },
59
+ {
60
+ icon: <MapPin type={'fill'}/>,
61
+ label: 'Address',
62
+ value: <p>State Highway 73,<br/> Selwyn, New Zealand</p>,
63
+ },
64
+ {
65
+ icon: <Clock type={'fill'}/>,
66
+ label: 'Hours',
67
+ value: <p>9am–4pm, daily during winter</p>,
68
+ },
69
+ {
70
+ icon: <DeviceMobile type={'fill'}/>,
71
+ label: 'Phone',
72
+ value: '03 318 4731',
73
+ url: 'tel:033184731',
74
+ target: '_blank',
75
+ valueClassName: 'link',
76
+ },
77
+ ]}
78
+ callToActionButton={{
79
+ button: (
80
+ <Button
81
+ label="WEBSITE"
82
+ type="button"
83
+ size="default"
84
+ level="primary"
85
+ style="solid"
86
+ secondaryIcon={<ArrowRight/>}
87
+ />
88
+ )
89
+ }}
90
+ />
91
+ </ElementHolder>
92
+ ),
93
+ };
@@ -0,0 +1,74 @@
1
+ import ListingDetailBlockProps from "./ListingDetailBlockProps";
2
+ import styles from "./ListingDetailBlock.module.scss";
3
+ import {CheckCircle} from "../../Icons";
4
+ import Container from "../../Shared/Container/Container.tsx";
5
+ import { ReactNode } from "react";
6
+
7
+ const ListingDetailBlock = ({
8
+ content,
9
+ facilities,
10
+ callToActions = [],
11
+ callToActionButton,
12
+ }: ListingDetailBlockProps) => {
13
+
14
+ const renderIcon = (icon: ReactNode | string): ReactNode => {
15
+ if (typeof icon === 'string') {
16
+ return <span dangerouslySetInnerHTML={{ __html: icon }} />;
17
+ }
18
+ return icon;
19
+ };
20
+
21
+ return (
22
+ <Container>
23
+ <div className={styles.listingDetail}>
24
+
25
+ <div className={styles.mainContent}>
26
+ <div className={`typography`}>{content}</div>
27
+
28
+ <h3 className={styles.sectioncontent}>Facilities</h3>
29
+ <ul className={styles.facilitiesList}>
30
+ {facilities.map((facility, index) => (
31
+ <li key={index} className={styles.facilityItem}>
32
+ <CheckCircle type={'fill'}/> {facility}
33
+ </li>
34
+ ))}
35
+ </ul>
36
+ </div>
37
+
38
+
39
+ <div className={styles.sidebar}>
40
+ {callToActions.map((item, index) => (
41
+ <div key={index} className={styles.infoItem}>
42
+ {renderIcon(item.icon)}
43
+ <div className={item.label === 'Distance from Christchurch Airport' ? styles.sidebarItems : undefined}>
44
+ <div className={styles.infoLabel}>{item.label}</div>
45
+ {item.url ? (
46
+ <a
47
+ href={item.url}
48
+ className={item.valueClassName === 'link' ? styles.infoValueLink : styles.infoValue}
49
+ target={item.target}
50
+ rel="noopener noreferrer"
51
+ >
52
+ {item.value}
53
+ </a>
54
+ ) : (
55
+ <div className={item.valueClassName === 'link' ? styles.infoValueLink : styles.infoValue}>
56
+ {item.value}
57
+ </div>
58
+ )}
59
+ </div>
60
+ </div>
61
+ ))}
62
+
63
+ {callToActionButton && (
64
+ <div className={styles.button}>
65
+ {callToActionButton.button}
66
+ </div>
67
+ )}
68
+ </div>
69
+ </div>
70
+ </Container>
71
+ );
72
+ };
73
+
74
+ export default ListingDetailBlock;
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ export interface CallToActionItem {
4
+ icon: ReactNode | string;
5
+ label: string;
6
+ value: ReactNode;
7
+ url?: string;
8
+ target?: "_blank" | "_self" | "_parent" | "_top" | undefined;
9
+ valueClassName?: 'link' | 'default';
10
+ }
11
+
12
+ export interface CallToActionButton {
13
+ button: ReactNode;
14
+ }
15
+
16
+ interface ListingDetailBlockProps {
17
+ content: ReactNode;
18
+ facilities: string[];
19
+ callToActions?: CallToActionItem[];
20
+ callToActionButton?: CallToActionButton;
21
+ }
22
+
23
+ export default ListingDetailBlockProps;
@@ -0,0 +1,265 @@
1
+ .listingDetail {
2
+ display: flex;
3
+ // gap: 48px;
4
+ // padding: 32px;
5
+ border-radius: 8px;
6
+ position: relative;
7
+
8
+
9
+ // &::before {
10
+ // content: '';
11
+ // position: absolute;
12
+ // left: 51%;
13
+ // top: 32px;
14
+ // bottom: 32px;
15
+ // width: 1px;
16
+ // background: var(--color-bg);
17
+ // transform: translateX(-50%);
18
+ // z-index: 1;
19
+ // pointer-events: none;
20
+
21
+ // @media (max-width: 900px) {
22
+ // display: none;
23
+ // }
24
+ // }
25
+
26
+ @media (max-width: 900px) {
27
+ flex-direction: column-reverse;
28
+ padding: 24px 16px;
29
+ gap: 48px;
30
+ }
31
+ }
32
+
33
+ .mainContent {
34
+ width: 50%;
35
+ padding-right: 72px;
36
+ border-right: 1px solid var(--color-bg);
37
+
38
+ p {
39
+ font-size: var(--font-size-h6);
40
+ letter-spacing: var(--letter-spacing-h6);
41
+ line-height: 1.3;
42
+ }
43
+
44
+ .sectioncontent {
45
+ margin-bottom: 32px;
46
+ font-size: var(--font-size-h6);
47
+ letter-spacing: var(--letter-spacing-h6);
48
+ }
49
+
50
+ @media (max-width: 1200px) {
51
+ // padding-left: 80px;
52
+ // padding-right: 40px;
53
+ }
54
+
55
+ @media (max-width: 900px) {
56
+ width: 100%;
57
+ padding-left: 0;
58
+ padding-right: 0;
59
+ order: 2;
60
+ border-right: 0;
61
+ }
62
+
63
+ .title {
64
+ font-size: 48px;
65
+ font-weight: 400;
66
+ line-height: 1;
67
+ letter-spacing: -1.92px;
68
+ margin: 0 0 50px 0;
69
+
70
+ @media (max-width: 900px) {
71
+ font-size: 36px;
72
+ margin: 0 0 40px 0;
73
+ }
74
+
75
+ @media (max-width: 480px) {
76
+ font-size: 28px;
77
+ margin: 0 0 32px 0;
78
+ }
79
+ }
80
+
81
+ .description {
82
+ font-size: 24px;
83
+ line-height: 1.3;
84
+ font-weight: 400;
85
+ letter-spacing: -0.48px;
86
+
87
+ @media (max-width: 900px) {
88
+ font-size: 18px;
89
+ margin-bottom: 48px;
90
+ }
91
+
92
+ @media (max-width: 480px) {
93
+ font-size: 16px;
94
+ margin-bottom: 32px;
95
+ }
96
+ }
97
+
98
+ .sectionTitle {
99
+ font-size: 24px;
100
+ font-weight: 600;
101
+ margin: 62px 0 22px 0;
102
+ letter-spacing: -0.48px;
103
+ line-height: 1.3;
104
+
105
+ @media (max-width: 900px) {
106
+ font-size: 20px;
107
+ margin: 48px 0 24px 0;
108
+ }
109
+
110
+ @media (max-width: 480px) {
111
+ font-size: 18px;
112
+ margin: 32px 0 20px 0;
113
+ }
114
+ }
115
+ }
116
+
117
+ .facilitiesList {
118
+ list-style: none;
119
+ padding: 0;
120
+ margin: 0;
121
+ display: grid;
122
+ grid-template-columns: repeat(2, 2fr);
123
+
124
+ @media (max-width: 600px) {
125
+ grid-template-columns: 1fr;
126
+ gap: 2px;
127
+ }
128
+ }
129
+
130
+ .facilityItem {
131
+ display: flex;
132
+ align-items: center;
133
+ font-size: 18px;
134
+ font-weight: 400;
135
+ line-height: 1.4;
136
+ margin-bottom: 8px;
137
+
138
+ @media (max-width: 900px) {
139
+ font-size: 16px;
140
+ }
141
+
142
+ svg {
143
+ height: 32px;
144
+ width: 32px;
145
+ color: var(--color-bg);
146
+ flex-shrink: 0;
147
+ margin-right: 12px;
148
+
149
+ @media (max-width: 900px) {
150
+ height: 24px;
151
+ width: 24px;
152
+ }
153
+ }
154
+ }
155
+
156
+ .sidebar {
157
+ width: 50%;
158
+ display: flex;
159
+ flex-direction: column;
160
+ // gap: 60px;
161
+ padding-left: 72px;
162
+
163
+ @media (max-width: 1200px) {
164
+ // padding-left: 40px;
165
+ // gap: 48px;
166
+ }
167
+
168
+ @media (max-width: 900px) {
169
+ width: 100%;
170
+ padding-left: 0;
171
+ // gap: 40px;
172
+ order: 1;
173
+ }
174
+
175
+ @media (max-width: 480px) {
176
+ // gap: 32px;
177
+ }
178
+ }
179
+
180
+ .infoItem {
181
+ display: flex;
182
+ // gap: 16px;
183
+ margin-bottom: 72px;
184
+ align-items: center;
185
+
186
+ @media (max-width: 900px) {
187
+ margin-bottom: 36px;
188
+ }
189
+
190
+ svg {
191
+ color: var(--color-text);
192
+ width: 48px;
193
+ height: 48px;
194
+ flex-shrink: 0;
195
+ margin-right: 16px;
196
+
197
+ @media (max-width: 900px) {
198
+ width: 40px;
199
+ height: 40px;
200
+ }
201
+
202
+ @media (max-width: 480px) {
203
+ width: 32px;
204
+ height: 32px;
205
+ }
206
+ }
207
+ }
208
+
209
+ .sidebarItems {
210
+ flex: 1;
211
+ }
212
+
213
+ .infoLabel {
214
+ font-size: 24px;
215
+ letter-spacing: -0.48px;
216
+ line-height: 1;
217
+ font-weight: 700;
218
+ margin-bottom: 8px;
219
+
220
+ @media (max-width: 900px) {
221
+ font-size: 18px;
222
+ }
223
+
224
+ @media (max-width: 480px) {
225
+ font-size: 16px;
226
+ }
227
+ }
228
+
229
+ .infoValue {
230
+ font-size: 24px;
231
+ line-height: 1.3;
232
+ font-weight: 400;
233
+ margin-top: 0;
234
+ letter-spacing: -0.48px;
235
+
236
+ @media (max-width: 900px) {
237
+ font-size: 18px;
238
+ }
239
+
240
+ @media (max-width: 480px) {
241
+ font-size: 16px;
242
+ }
243
+ }
244
+
245
+ .infoValueLink {
246
+ color: var(--color-bg);
247
+ font-size: 24px;
248
+ text-decoration: underline;
249
+ line-height: 1.3;
250
+ letter-spacing: -0.48px;
251
+ font-weight: 400;
252
+ margin-top: 0;
253
+
254
+ @media (max-width: 900px) {
255
+ font-size: 18px;
256
+ }
257
+
258
+ @media (max-width: 480px) {
259
+ font-size: 16px;
260
+ }
261
+ }
262
+
263
+ .button {
264
+ max-width: 177px !important;
265
+ }