{"version":3,"sources":["components/blocks/Sections/Realisations/Realisations.module.scss","components/blocks/Header/Header.module.scss","components/Carousel/Carousel.module.scss","components/Glyph/Glyph.module.scss","components/Text/Text.module.scss","components/Paragraph/Paragraph.module.scss","components/blocks/ContactPersonsBlock/ContactPersonsBlock.module.scss","components/SectionContainer/SectionContainer.module.scss","components/blocks/Sections/Services/Services.module.scss","components/GlyphAndText/GlyphAndText.module.scss","components/ContactPersons/ContactPersons.module.scss","components/blocks/Sections/Intro/Intro.module.scss","components/ContactPerson/ContactPerson.module.scss","components/blocks/Footer/Footer.module.scss","components/Carousel/Carousel.jsx","components/assets/Carousel/FeuilleCarousel.png","components/Title/Title.jsx","components/SectionContainer/SectionContainer.jsx","components/assets/camion_trailer.png","components/blocks/Sections/Intro/Intro.jsx","components/assets/arrosage_arr1.png","components/assets/Prestigeford1.png","components/assets/excavation1.png","components/pages/Home.jsx","components/blocks/Sections/Services/Services.jsx","components/pages/Services.jsx","components/assets/Toiture_avant.png","components/assets/Toiture_apres.png","components/assets/Camion1.png","components/assets/Camion2.png","components/assets/Kenworth1.png","components/assets/garage1.png","components/assets/garage2.png","components/blocks/Sections/Realisations/Realisations.jsx","components/pages/Realisations.jsx","components/Glyph/Glyph.jsx","components/Text/Text.jsx","components/GlyphAndText/GlyphAndText.jsx","components/ContactPerson/ContactPerson.jsx","components/ContactPersons/ContactPersons.jsx","components/Paragraph/Paragraph.jsx","components/blocks/ContactPersonsBlock/ContactPersonsBlock.jsx","components/pages/Contact.jsx","components/assets/valleypression_logo_inverse_sans_texte_du_bas_transparent.svg","components/blocks/Header/Header.jsx","components/blocks/Footer/Footer.jsx","App.js","reportWebVitals.js","index.js"],"names":["module","exports","Carousel","props","parameters","autoSlide","autoSlideIntervalInMs","slideTransitionSpeedInMs","navigationControlsShowHideSpeedInMs","imageRatio","smallSize","getCarouselWidth","mediumSize","largeSize","useState","window","innerWidth","carouselWidth","setCarouselWidth","carouselHeight","setCarouselHeight","isCarouselOnMouseOver","setIsCarouselOnMouseOver","currentImgSelected","setCurrentImgSelected","prevImgSelected","setPrevImgSelected","timer","setTimer","navigationControlsSpeedTransitionStyle","nbImageInCarousel","imagesList","length","sliderProps","useSpring","from","marginLeft","to","config","duration","NextButtonClickHandler","ev","undefined","preventDefault","prev","useEffect","intervalId","setInterval","clearInterval","handleResize","addEventListener","_","removeEventListener","className","styles","style","width","height","onMouseEnter","onMouseLeave","console","log","transition","onClick","ul","slider","map","image","index","id","src","alt","BulletClickHandler","Title","underline","level","children","SectionContainer","titleWrapper","classNameTitle","classesContent","content","classNameContent","sectionContainer","sectionTitle","Intro","truckImg","Home","carouselImageList","imgArrosage","imgExcavation","imgPrestigeFord","carouselParams","Helmet","name","ServicesSection","listStyle","Services","RealisationsSection","carouselImageListToiture","imgToiture1","imgToiture2","carouselImageListCamion","imgCamion1","imgCamion2","imgKenworth1","carouselImageListGarage","imgGarage1","imgGarage2","paddingBottom","item","Realisations","getGlyphCode","glyphName","Glyph","glyphIcon","person","cell","email","hamburgerMenu","close","getGlyphStyle","fontPrimaryColor","Text","size","textXs","textSm","textLg","textXl","textMd","defaultProps","GlyphAndText","glyphAndTextContainer","glyphWrapper","glyph","textWrapper","text","ContactPerson","contactName","contactPhone","contactEmail","contactPersonContainer","ContactPersons","contactPersons","persons","contactPerson","push","contactPersonsContainer2Column","Paragraph","paragraphXs","paragraphSm","paragraphLg","paragraphXl","paragraphMd","facebookSdkInit","Promise","d","s","js","fjs","getElementsByTagName","getElementById","createElement","parentNode","insertBefore","document","ContactPersonsBlock","contactPersonsBlockContainer","firstParagraphWrapper","contactComponentWrapper","facebookParagraphWrapper","class","Contact","Header","mobileMenuIsOpen","setMobileMenuIsOpen","body","overflow","container","href","logo","headerTitle","mainTitleWrapper","headerContact","cellIcon","emailIcon","event","Footer","year","Date","getFullYear","footer","App","path","element","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode"],"mappings":"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","file":"static/js/main.f1f081f3.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"sb-show-main\":\"Realisations_sb-show-main__3VI5J\",\"sb-main-padded\":\"Realisations_sb-main-padded__2-yQQ\",\"underline\":\"Realisations_underline__1cr0q\",\"content\":\"Realisations_content__2froy\",\"realisations-container\":\"Realisations_realisations-container__2LUnN\",\"realisations-content\":\"Realisations_realisations-content__3hzox\",\"item\":\"Realisations_item__2fc6i\",\"mobile-order1\":\"Realisations_mobile-order1__DQBlX\",\"mobile-order2\":\"Realisations_mobile-order2__ZIDyk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sb-show-main\":\"Header_sb-show-main__3VLOJ\",\"sb-main-padded\":\"Header_sb-main-padded__2_sdj\",\"underline\":\"Header_underline__3KmQ4\",\"container\":\"Header_container__SedHd\",\"top-part-header\":\"Header_top-part-header__zfLL2\",\"headerTitle\":\"Header_headerTitle__3s2m7\",\"mainTitleWrapper\":\"Header_mainTitleWrapper__PtSx1\",\"headerContact\":\"Header_headerContact__2FEjJ\",\"cellIcon\":\"Header_cellIcon__1v1k8\",\"emailIcon\":\"Header_emailIcon__3xESb\",\"textWrapper\":\"Header_textWrapper__2-wA1\",\"nav-bar\":\"Header_nav-bar__uGL5c\",\"hamburgerMenu-icon-container\":\"Header_hamburgerMenu-icon-container__1URFV\",\"menu-opened\":\"Header_menu-opened__Q6-EX\",\"logo\":\"Header_logo__1bvfD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sb-show-main\":\"Carousel_sb-show-main__2uVnH\",\"sb-main-padded\":\"Carousel_sb-main-padded__2ixYe\",\"underline\":\"Carousel_underline__3oqoT\",\"carousel\":\"Carousel_carousel__3Hwl9\",\"carousel-container\":\"Carousel_carousel-container__32xLX\",\"left-arrow-button\":\"Carousel_left-arrow-button__2DdyO\",\"right-arrow-button\":\"Carousel_right-arrow-button__2wl7r\",\"slider\":\"Carousel_slider__1-OCT\",\"carousel-navigator\":\"Carousel_carousel-navigator__OLy1Y\",\"slide-selected\":\"Carousel_slide-selected__3spAV\",\"show-control\":\"Carousel_show-control__2CLJM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sb-show-main\":\"Glyph_sb-show-main__1HXo9\",\"sb-main-padded\":\"Glyph_sb-main-padded__3JW-Q\",\"underline\":\"Glyph_underline__3LUUo\",\"glyphIcon\":\"Glyph_glyphIcon__2sPLu\",\"person\":\"Glyph_person__28wui\",\"cell\":\"Glyph_cell__2YT4M\",\"email\":\"Glyph_email__1wYv7\",\"hamburgerMenu\":\"Glyph_hamburgerMenu__30SNY\",\"close\":\"Glyph_close__13mU6\",\"fontPrimaryColor\":\"Glyph_fontPrimaryColor__1KUue\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sb-show-main\":\"Text_sb-show-main__2ZtI3\",\"sb-main-padded\":\"Text_sb-main-padded__YRy6H\",\"underline\":\"Text_underline__3IUsl\",\"textXs\":\"Text_textXs__1U8bq\",\"textSm\":\"Text_textSm__1nejP\",\"textMd\":\"Text_textMd__2sYMD\",\"textLg\":\"Text_textLg__16eUE\",\"textXl\":\"Text_textXl__3ETEk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paragraphXs\":\"Paragraph_paragraphXs__2zEn1\",\"paragraphSm\":\"Paragraph_paragraphSm__2nJlL\",\"paragraphMd\":\"Paragraph_paragraphMd__219Bu\",\"paragraphLg\":\"Paragraph_paragraphLg__2omtx\",\"paragraphXl\":\"Paragraph_paragraphXl__3BlZK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"ContactPersonsBlock_content__12CDq\",\"firstParagraphWrapper\":\"ContactPersonsBlock_firstParagraphWrapper__1kCPv\",\"facebookParagraphWrapper\":\"ContactPersonsBlock_facebookParagraphWrapper__1AmiJ\",\"contactComponentWrapper\":\"ContactPersonsBlock_contactComponentWrapper__1h21f\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sb-show-main\":\"SectionContainer_sb-show-main__2OK2k\",\"sb-main-padded\":\"SectionContainer_sb-main-padded__3hsjH\",\"underline\":\"SectionContainer_underline__1YMvv\",\"sectionContainer\":\"SectionContainer_sectionContainer__1xUEQ\",\"titleWrapper\":\"SectionContainer_titleWrapper__3E-ik\",\"content\":\"SectionContainer_content__31OrZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"Services_content__2lVI2\",\"list-level1\":\"Services_list-level1__atOSX\",\"list-level2\":\"Services_list-level2__1l1D5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"glyphAndTextContainer\":\"GlyphAndText_glyphAndTextContainer__39fRH\",\"glyphWrapper\":\"GlyphAndText_glyphWrapper__1XfIS\",\"textWrapper\":\"GlyphAndText_textWrapper__1b-oP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contactPersonsContainer2Column\":\"ContactPersons_contactPersonsContainer2Column__P3E-C\",\"contactPersonContainer\":\"ContactPersons_contactPersonContainer__2uEeV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"Intro_content__5CfiT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contactPersonContainer\":\"ContactPerson_contactPersonContainer__3WXvQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sb-show-main\":\"Footer_sb-show-main__2bLtU\",\"sb-main-padded\":\"Footer_sb-main-padded__1d3Py\",\"underline\":\"Footer_underline__1yWA6\",\"footer\":\"Footer_footer__O-F5D\"};","import styles from './Carousel.module.scss';\r\nimport { useState, useEffect } from 'react';\r\nimport { useSpring, animated } from 'react-spring';\r\n\r\n// image\r\nimport imgLeaf from '../assets/Carousel/FeuilleCarousel.png';\r\n\r\nconst Carousel = props => {\r\n //param { },\r\n },\r\n mediumSize: {\r\n getCarouselWidth: () => { },\r\n },\r\n largeSize: {\r\n getCarouselWidth: () => { },\r\n },\r\n ...props.parameters\r\n }\r\n\r\n const [carouselWidth, setCarouselWidth] = useState(() => {\r\n if (window.innerWidth < 768) {\r\n return parameters.smallSize.getCarouselWidth();\r\n }\r\n else if (window.innerWidth < 992) {\r\n return parameters.mediumSize.getCarouselWidth();\r\n }\r\n else {\r\n return parameters.largeSize.getCarouselWidth();\r\n }\r\n });\r\n\r\n const [carouselHeight, setCarouselHeight] = useState(() => {\r\n if (window.innerWidth < 768) {\r\n return parameters.smallSize.getCarouselWidth() * parameters.imageRatio;\r\n }\r\n else if (window.innerWidth < 992) {\r\n return parameters.mediumSize.getCarouselWidth() * parameters.imageRatio;\r\n }\r\n else {\r\n return parameters.largeSize.getCarouselWidth() * parameters.imageRatio;\r\n }\r\n });\r\n\r\n const [isCarouselOnMouseOver, setIsCarouselOnMouseOver] = useState(false);\r\n const [currentImgSelected, setCurrentImgSelected] = useState(0);\r\n const [prevImgSelected, setPrevImgSelected] = useState(0);\r\n const [timer, setTimer] = useState();\r\n\r\n const navigationControlsSpeedTransitionStyle = `${parameters.navigationControlsShowHideSpeedInMs / 1000}s`;\r\n const nbImageInCarousel = props.imagesList.length;\r\n\r\n const sliderProps = useSpring({\r\n from: { marginLeft: `${prevImgSelected * -(carouselWidth)}px` },\r\n to: { marginLeft: `${currentImgSelected * -(carouselWidth)}px` },\r\n config: { duration: parameters.slideTransitionSpeedInMs }\r\n });\r\n\r\n const CarouselMouseEnterHandler = () => {\r\n setIsCarouselOnMouseOver(true);\r\n if (parameters.autoSlide) {\r\n clearInterval(timer);\r\n setTimer(0);\r\n }\r\n }\r\n\r\n const CarouselMouseLeaveHandler = () => {\r\n setIsCarouselOnMouseOver(false);\r\n if (parameters.autoSlide) {\r\n const intervalId = setInterval(NextButtonClickHandler, parameters.autoSlideIntervalInMs);\r\n console.log('mouseLeave' + parameters.autoSlideIntervalInMs)\r\n setTimer(intervalId);\r\n }\r\n }\r\n\r\n //Fonction pour afficher l'image suivante\r\n const NextButtonClickHandler = ev => {\r\n if (ev !== undefined)\r\n ev.preventDefault();\r\n\r\n setCurrentImgSelected(prev => {\r\n setPrevImgSelected(prev);\r\n prev++;\r\n if (prev > nbImageInCarousel - 1) {\r\n prev = 0;\r\n }\r\n\r\n return prev;\r\n });\r\n }\r\n\r\n //Fonction pour afficher l'image précédente\r\n const PrevButtonClickHandler = ev => {\r\n if (ev !== undefined)\r\n ev.preventDefault();\r\n\r\n setCurrentImgSelected(prev => {\r\n setPrevImgSelected(prev);\r\n prev--;\r\n if (prev < 0) {\r\n prev = nbImageInCarousel - 1;\r\n }\r\n\r\n return prev;\r\n });\r\n }\r\n\r\n const BulletClickHandler = (ev, index) => {\r\n if (ev !== undefined)\r\n ev.preventDefault();\r\n\r\n setPrevImgSelected(currentImgSelected);\r\n setCurrentImgSelected(index);\r\n }\r\n\r\n // const CarouselTouchStartHandler = () => {\r\n // //On pourrait gérer cet évenement pour pouvoir changer l'image du carousel avec le doigt en mobile\r\n // console.log('TouchStart');\r\n // }\r\n\r\n // const CarouselTouchMoveHandler = (ev) => {\r\n // //On pourrait gérer cet évenement pour pouvoir changer l'image du carousel avec le doigt en mobile\r\n // console.log('TouchMove');\r\n // }\r\n\r\n useEffect(() => {\r\n const intervalId = setInterval(NextButtonClickHandler, parameters.autoSlideIntervalInMs);\r\n setTimer(intervalId);\r\n if (!parameters.autoSlide) {\r\n clearInterval(timer);\r\n setTimer(0);\r\n }\r\n\r\n return () => clearInterval(timer);\r\n }, [])\r\n\r\n useEffect(() => {\r\n const handleResize = () => {\r\n if (window.innerWidth < 768) {\r\n setCarouselWidth(parameters.smallSize.getCarouselWidth());\r\n setCarouselHeight(parameters.smallSize.getCarouselWidth() * parameters.imageRatio);\r\n }\r\n else if (window.innerWidth < 992) {\r\n setCarouselWidth(parameters.mediumSize.getCarouselWidth());\r\n setCarouselHeight(parameters.mediumSize.getCarouselWidth() * parameters.imageRatio);\r\n }\r\n else {\r\n setCarouselWidth(parameters.largeSize.getCarouselWidth);\r\n setCarouselHeight(parameters.largeSize.getCarouselWidth() * parameters.imageRatio);\r\n }\r\n }\r\n\r\n window.addEventListener('resize', handleResize);\r\n return _ => {\r\n window.removeEventListener('resize', handleResize);\r\n }\r\n }, []);\r\n\r\n return (\r\n // container du carousel\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Carousel;","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nTitle.propTypes = {\r\n level: PropTypes.oneOf(['1', '2', '3', '4', '5', '6']),\r\n underline: PropTypes.bool\r\n};\r\n\r\nfunction Title(props) {\r\n let className = props.underline === true ? 'underline' : null;\r\n switch (props.level) { \r\n case '2':\r\n return (

{props.children}

);\r\n case '3':\r\n return (

{props.children}

);\r\n case '4':\r\n return (

{props.children}

);\r\n case '5':\r\n return (
{props.children}
);\r\n case '6':\r\n return (
{props.children}
);\r\n default: \r\n return (

{props.children}

);\r\n } \r\n}\r\n\r\nexport default Title;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Title from '../Title/Title';\r\nimport styles from './SectionContainer.module.scss';\r\n\r\nSectionContainer.propTypes = {\r\n sectionTitle: PropTypes.string,\r\n childre: PropTypes.array\r\n};\r\n\r\nfunction SectionContainer(props) {\r\n const classesTitle = `${styles.titleWrapper} ${props.classNameTitle}`;\r\n const classesContent = `${styles.content} ${props.classNameContent}`;\r\n\r\n return (\r\n
\r\n
\r\n {props.sectionTitle}\r\n
\r\n
\r\n {props.children}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SectionContainer;","export default __webpack_public_path__ + \"static/media/camion_trailer.c31de231.png\";","import styles from './Intro.module.scss';\r\n\r\nimport SectionContainer from '../../../SectionContainer/SectionContainer';\r\n\r\nimport truckImg from '../../../assets/camion_trailer.png';\r\n\r\nconst Intro = props => {\r\n return(\r\n \r\n \r\n\r\n

Valley Pression est une nouvelle entreprise qui oeuvre dans le domaine du lavage haute pression depuis 2014. Grâce à notre unité mobile et à la diversité de nos équipements, nous sommes en mesure d'offrir différents types de travaux de lavage résidentiel, commercial et industriel.

\r\n
\r\n

Notre mission : faire un travail de qualité et à la satisfaction de notre clientèle.

\r\n
\r\n

Une nouveauté cette année, nous arrosons désormais contre les araignées sur l'extérieur des bâtiments résidentiels, commerciaux et industriels.

\r\n
\r\n

Consultez la section Service pour plus de renseignements sur les services que nous offrons.

\r\n
\r\n ); \r\n}\r\n\r\nexport default Intro;","export default __webpack_public_path__ + \"static/media/arrosage_arr1.191b82e2.png\";","export default __webpack_public_path__ + \"static/media/Prestigeford1.1005fabf.png\";","export default __webpack_public_path__ + \"static/media/excavation1.5adadbfa.png\";","import Carousel from \"../Carousel/Carousel\";\r\nimport Intro from \"../blocks/Sections/Intro/Intro\";\r\n\r\n// image\r\nimport imgArrosage from '../assets/arrosage_arr1.png';\r\nimport imgPrestigeFord from '../assets/Prestigeford1.png';\r\nimport imgExcavation from '../assets/excavation1.png';\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst Home = () => { \r\n const carouselImageList = [imgArrosage, imgExcavation, imgPrestigeFord];\r\n const carouselParams = {\r\n imageRatio: 290 / 960,\r\n smallSize: {\r\n getCarouselWidth: () => { return window.innerWidth - 50; }, //Full width - 50px\r\n },\r\n mediumSize: {\r\n getCarouselWidth: () => { return window.innerWidth * 0.8; }, //80% du with de la fenêtre\r\n },\r\n largeSize: {\r\n getCarouselWidth: () => { return 960; }, //fixe 960px\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n Valley Pression - Lavage haute pression résidentiel, commercial et industriel\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Home;","import styles from './Services.module.scss';\r\nimport SectionContainer from '../../../SectionContainer/SectionContainer';\r\n\r\n\r\nconst ServicesSection = props => {\r\n return (\r\n \r\n

Notre unité mobile bien équipée nous permet de vous offrir un service de lavage à haute pression résidentiel, commercial et industriel. Voici la liste des services que nous pouvons vous offrir :

\r\n
\r\n
    \r\n
  • Lavage de
  • \r\n
  • \r\n
      \r\n
    • Module de jeux
    • \r\n
    • Balcon et terrasse
    • \r\n
    • Extérieur de maison et bâtisse commerciale
    • \r\n
    • Toiture de tôle
    • \r\n
    • Allée de béton et pavé uni
    • \r\n
    • Plancher grande surface (garage et usine)
    • \r\n
    • Roulotte et bateau
    • \r\n
    • Flotte de camions
    • \r\n
    • Machinerie lourde
    • \r\n
    \r\n
  • \r\n
  • Arrosage contre les araignées
  • \r\n
  • Enlèvement de graffitis
  • \r\n
  • Dégommage
  • \r\n
  • Et plus…
  • \r\n
\r\n
\r\n

\r\n De plus, si la température le permet (en haut de -5 °C), il est possible de faire certains travaux de déglaçage en hiver.\r\n Pour un lavage en eau chaude ou froide, nous sommes là prêts à vous servir!\r\n

\r\n
\r\n );\r\n}\r\n\r\nexport default ServicesSection;","import ServicesSection from \"../blocks/Sections/Services/Services\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst Services = () => {\r\n return (\r\n <>\r\n \r\n Valley Pression - Liste des services offerts\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Services;","export default __webpack_public_path__ + \"static/media/Toiture_avant.f640acc7.png\";","export default __webpack_public_path__ + \"static/media/Toiture_apres.abe2fed1.png\";","export default __webpack_public_path__ + \"static/media/Camion1.0b278eaf.png\";","export default __webpack_public_path__ + \"static/media/Camion2.976c35b3.png\";","export default __webpack_public_path__ + \"static/media/Kenworth1.1f6a6229.png\";","export default __webpack_public_path__ + \"static/media/garage1.0d7e4ef0.png\";","export default __webpack_public_path__ + \"static/media/garage2.0c8328c4.png\";","import styles from './Realisations.module.scss';\r\nimport SectionContainer from '../../../SectionContainer/SectionContainer';\r\nimport Carousel from '../../../Carousel/Carousel';\r\n\r\n// images\r\nimport imgToiture1 from '../../../assets/Toiture_avant.png';\r\nimport imgToiture2 from '../../../assets/Toiture_apres.png';\r\n\r\nimport imgCamion1 from '../../../assets/Camion1.png';\r\nimport imgCamion2 from '../../../assets/Camion2.png';\r\nimport imgKenworth1 from '../../../assets/Kenworth1.png';\r\n\r\nimport imgGarage1 from '../../../assets/garage1.png';\r\nimport imgGarage2 from '../../../assets/garage2.png';\r\n\r\nconst RealisationsSection = props => {\r\n const carouselImageListToiture = [imgToiture1, imgToiture2];\r\n const carouselImageListCamion = [imgCamion1, imgCamion2, imgKenworth1];\r\n const carouselImageListGarage = [imgGarage1, imgGarage2];\r\n\r\n const carouselParams = {\r\n imageRatio: 200 / 400,\r\n smallSize: {\r\n getCarouselWidth: () => { return window.innerWidth - 90; }, //Full width - 90px\r\n },\r\n mediumSize: {\r\n getCarouselWidth: () => { return window.innerWidth * 0.7; }, //70% du with de la fenêtre\r\n },\r\n largeSize: {\r\n getCarouselWidth: () => { return 400; }, //fixe 400px\r\n }\r\n }\r\n\r\n return (\r\n \r\n

\r\n Voici quelques travaux que nous avons effectués jusqu'à maintenant.\r\n

\r\n\r\n
\r\n
\r\n
\r\n

Même si votre toiture de tôle a plus de 30 ans, grâce à notre savoir-faire ainsi qu'à notre puissant équipement, nous sommes en mesure de lui redonner l'air d'une neuve.\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n

Avec notre unité mobile, nous nous déplaçons chez les clients pour laver leur flotte de camions.

\r\n
\r\n\r\n
\r\n

Voici le résultat après le nettoyage d'un plancher de garage de mécanique.

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default RealisationsSection;","import RealisationsSection from \"../blocks/Sections/Realisations/Realisations\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst Realisations = () => {\r\n return (\r\n <>\r\n \r\n Valley Pression - Quelques réalisations\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Realisations;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport styles from './Glyph.module.scss';\r\n\r\nGlyph.propTypes = {\r\n glyphIcon: PropTypes.oneOf(['person', 'cell', 'email', 'hamburgerMenu']),\r\n fontPrimaryColor: PropTypes.bool\r\n};\r\n\r\nfunction Glyph(props) {\r\n let className = styles.glyphIcon + ' ' + getGlyphStyle(props.glyphIcon);\r\n className = props.fontPrimaryColor === true ? className + ' ' + styles.fontPrimaryColor : className;\r\n return ( \r\n \r\n {getGlyphCode(props.glyphIcon)}\r\n \r\n );\r\n}\r\n\r\nfunction getGlyphCode(glyphName){\r\n switch (glyphName) {\r\n case 'person':\r\n return '👤'; \r\n case 'cell':\r\n return '📱';\r\n case 'email':\r\n return '✉';\r\n case 'hamburgerMenu':\r\n return '☰';\r\n case 'close':\r\n return '✖';\r\n }\r\n}\r\n\r\nfunction getGlyphStyle(glyphName){\r\n switch (glyphName) {\r\n case 'person':\r\n return styles.person; \r\n case 'cell':\r\n return styles.cell;\r\n case 'email':\r\n return styles.email;\r\n case 'hamburgerMenu':\r\n return styles.hamburgerMenu;\r\n case 'close':\r\n return styles.close;\r\n }\r\n}\r\n\r\nexport default Glyph;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport styles from './Text.module.scss'\r\n\r\nconst Text = props => {\r\n let className; \r\n switch (props.size) {\r\n case 'xs':\r\n className = styles.textXs;\r\n break;\r\n case 'sm':\r\n className = styles.textSm;\r\n break;\r\n case 'lg':\r\n className = styles.textLg;\r\n break;\r\n case 'xl':\r\n className = styles.textXl;\r\n break;\r\n default:\r\n className = styles.textMd;\r\n break;\r\n }\r\n \r\n className = props.underline === true ? className + ' ' + styles.underline : className; \r\n \r\n return (\r\n {props.children}\r\n );\r\n};\r\n\r\nText.propTypes = {\r\n children: PropTypes.string,\r\n size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\r\n underline: PropTypes.bool\r\n};\r\n\r\nText.defaultProps = {\r\n children: '',\r\n size: 'md'\r\n}\r\n\r\nexport default Text;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Glyph from '../Glyph/Glyph';\r\nimport Text from '../Text/Text';\r\nimport styles from './GlyphAndText.module.scss';\r\n\r\nGlyphAndText.propTypes = {\r\n glyph: PropTypes.string,\r\n text: PropTypes.string\r\n};\r\n\r\nfunction GlyphAndText(props) { \r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {props.text}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default GlyphAndText;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport GlyphAndText from '../GlyphAndText/GlyphAndText';\r\nimport styles from './ContactPerson.module.scss';\r\n\r\nContactPerson.propTypes = {\r\n contactName: PropTypes.string,\r\n contactPhone: PropTypes.string,\r\n contactEmail: PropTypes.string \r\n};\r\n\r\nfunction ContactPerson(props) {\r\n const person = {glyph: 'person', text: props.contactName}\r\n const cell = {glyph: 'cell', text: props.contactPhone}\r\n const email = {glyph: 'email', text: props.contactEmail}\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default ContactPerson;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ContactPerson from '../ContactPerson/ContactPerson';\r\nimport styles from './ContactPersons.module.scss';\r\n\r\nContactPersons.propTypes = {\r\n person: PropTypes.array\r\n};\r\n\r\nfunction ContactPersons(props) {\r\n const contactPersons = [];\r\n for(let person of props.persons){\r\n const contactPerson = (\r\n \r\n )\r\n contactPersons.push(
{contactPerson}
)\r\n }\r\n return
{contactPersons}
;\r\n}\r\n\r\nexport default ContactPersons;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport styles from './Paragraph.module.scss';\r\n\r\nParagraph.propTypes = {\r\n children: String,\r\n size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl'])\r\n};\r\n\r\nfunction Paragraph(props) {\r\n let className;\r\n switch (props.size) {\r\n case 'xs':\r\n className = styles.paragraphXs;\r\n break;\r\n case 'sm':\r\n className = styles.paragraphSm;\r\n break;\r\n case 'lg':\r\n className = styles.paragraphLg;\r\n break;\r\n case 'xl':\r\n className = styles.paragraphXl;\r\n break;\r\n default:\r\n className = styles.paragraphMd;\r\n break;\r\n }\r\n\r\n return (\r\n

{props.children}

\r\n );\r\n}\r\n\r\nParagraph.defaultProps = {\r\n children: '',\r\n size: 'md'\r\n}\r\n\r\nexport default Paragraph;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ContactPersons from '../../ContactPersons/ContactPersons';\r\nimport SectionContainer from '../../SectionContainer/SectionContainer';\r\nimport Paragraph from '../../Paragraph/Paragraph';\r\nimport styles from './ContactPersonsBlock.module.scss';\r\n\r\nContactPersonsBlock.propTypes = { \r\n persons: PropTypes.array\r\n};\r\n\r\nfunction ContactPersonsBlock(props) {\r\n facebookSdkInit();\r\n const {persons} = props;\r\n return (\r\n
\r\n \r\n
\r\n Pour une soumission ou toute autre demande d'informations, n'hésitez pas à nous contacter.\r\n
\r\n
\r\n \r\n
\r\n
\r\n Vous pouvez également suivre nos activités sur Facebook.\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nconst facebookSdkInit = () => {\r\n return new Promise(() => {\r\n (function (d, s, id) {\r\n var js, fjs = d.getElementsByTagName(s)[0];\r\n if (d.getElementById(id)) return;\r\n js = d.createElement(s); js.id = id;\r\n js.src = \"https://connect.facebook.net/fr_CA/sdk.js#xfbml=1&version=v2.3\";\r\n fjs.parentNode.insertBefore(js, fjs);\r\n }(document, 'script', 'facebook-jssdk'));\r\n })\r\n}\r\n\r\nexport default ContactPersonsBlock;","import ContactPersonsBlock from \"../blocks/ContactPersonsBlock/ContactPersonsBlock\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst Contact = () => {\r\n const persons = [\r\n\r\n {\r\n contactName: 'Sylvain Haineault',\r\n contactPhone: '450 288-7289',\r\n contactEmail: 'sylvain.haineault@valleypression.ca'\r\n },\r\n {\r\n contactName: 'Nicolas Haineault',\r\n contactPhone: '450 288-1080',\r\n contactEmail: 'nicolas.haineault@valleypression.ca'\r\n }\r\n ]\r\n return (\r\n <>\r\n \r\n Valley Pression - Nous joindre\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Contact;","export default __webpack_public_path__ + \"static/media/valleypression_logo_inverse_sans_texte_du_bas_transparent.1b440afc.svg\";","import React, { useEffect, useState } from 'react';\r\nimport styles from './Header.module.scss';\r\nimport Title from '../../Title/Title';\r\nimport Text from '../../Text/Text';\r\nimport Glyph from '../../Glyph/Glyph';\r\nimport logo from '../../assets/valleypression_logo_inverse_sans_texte_du_bas_transparent.svg'\r\n\r\nconst Header = props => {\r\n const [mobileMenuIsOpen, setMobileMenuIsOpen] = useState(false);\r\n\r\n const hamburgerMenuClickHandler = event => { \r\n setMobileMenuIsOpen(!mobileMenuIsOpen); \r\n }\r\n\r\n useEffect(() => {\r\n document.body.style.overflow = mobileMenuIsOpen ? 'hidden' : '';\r\n }, [mobileMenuIsOpen]);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n logo Valley Pression\r\n \r\n
\r\n
\r\n Lavage haute pression\r\n
\r\n Résidentiel, commercial et industriel\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nHeader.propTypes = {\r\n \r\n};\r\n\r\nexport default Header;","import styles from './Footer.module.scss';\r\n\r\nconst Footer = () => {\r\n const year = new Date().getFullYear();\r\n\r\n return (\r\n
\r\n
Tous droits réservés. © Valley Pression {year}
\r\n
\r\n ); \r\n}\r\n\r\nexport default Footer;","import './App.css';\nimport Home from './components/pages/Home';\nimport Services from './components/pages/Services';\nimport Realisations from './components/pages/Realisations';\nimport Contact from './components/pages/Contact';\nimport { BrowserRouter as Router, Routes, Route } from 'react-router-dom';\nimport Header from './components/blocks/Header/Header';\nimport Footer from './components/blocks/Footer/Footer';\n\n\nfunction App() {\n return (\n \n
\n
\n
\n \n } />\n } />\n } />\n } />\n \n
\n
\n
\n
\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}