{"version":3,"sources":["assets/logo.jpg","components/header/header.component.jsx","components/carousel/item.component.jsx","assets/design/design_sized.jpeg","assets/patios/patio_sized.jpeg","assets/gazebo/gazebo_sized.jpeg","components/carousel/project-carousel.component.jsx","components/about/servicebutton.component.jsx","assets/design/design_non_sized.jpeg","assets/tree-services/tree_services_non_sized.jpeg","assets/patio.jpeg","assets/homeimprovement/fireplace_non_sized.jpeg","assets/sprinkler-system.jpg","assets/gazebo/gazebo.jpeg","components/about/about.component.jsx","components/communities/communities.component.jsx","components/featured/featured.component.jsx","pages/homepage/homepage.component.jsx","components/page-content/content.component.jsx","assets/design/image0.jpeg","assets/design/image1.jpeg","assets/design/image2.jpeg","pages/design/designpage.component.jsx","assets/gazebo/image0.jpeg","assets/gazebo/image1.jpeg","assets/gazebo/image2.jpeg","assets/gazebo/image3.jpeg","assets/gazebo/image4.jpeg","assets/gazebo/image5.jpeg","assets/gazebo/image6.jpeg","assets/gazebo/image7.jpeg","pages/gazebo/gazebo.component.jsx","pages/tree-services/tree-services.component.jsx","assets/tree-services/tree-services.jpg","assets/tree-services/image0.jpeg","assets/tree-services/image1.jpeg","assets/patios/image0.jpeg","assets/patios/image1.jpeg","assets/patios/image3.jpeg","assets/patios/image4.jpeg","assets/patios/image5.jpeg","pages/patios/patiospage.component.jsx","components/form/text-form-input.component.jsx","components/form/textarea-form-input.component.jsx","components/form/select-form-input.component.jsx","pages/contact/contactpage.component.jsx","pages/about/about-page.component.jsx","pages/home-improvements/homeimprovementspage.component.jsx","assets/homeimprovement/fireplace.jpeg","assets/homeimprovement/woodworking.jpeg","assets/homeimprovement/image0.jpeg","assets/homeimprovement/image1.jpeg","pages/irrigation-systems/irrigation-systems.component.jsx","pages/commercial-snow/commercial-snow-page.component.jsx","pages/underground-drainage/underground-drainage.component.jsx","pages/maintenanace/maintenancepage.component.jsx","components/footer/footer.component.jsx","components/page-content/scroll-to-top.component.jsx","App.js","reportWebVitals.js","index.js"],"names":["Header","Navbar","collapseOnSelect","expand","bg","variant","Brand","href","src","logo","width","height","className","alt","Toggle","aria-controls","Collapse","id","Nav","NavDropdown","title","Item","Link","LocalPhone","withRouter","imageUrl","btnText","history","linkUrl","match","Paper","Col","Row","Figure","Image","fluid","Button","color","onClick","push","url","ProjectCarousel","state","items","gazeboSizedImage","designSizedImage","patioSizedImage","interval","navButtonsAlwaysVisible","this","map","otherSectionProps","React","Component","ServiceButton","useState","hovered","setHovered","toggleHover","useHistory","onMouseEnter","onMouseLeave","style","position","roundedCircle","About","Contact","xs","sm","md","DesignImage","PatioImage","FlooringImage","Fireplace","TreeServicesImage","SprinklerSystemImage","Communities","Jumbotron","Featured","allowfullscreen","HomePage","Card","ImagesDisplay","imgs","img","VideosDisplay","videosArray","video","length","ListItems","listItems","item","pageTitle","description","videoSectionTitle","listItemsTitle","images","DesignImageOne","DesignImageTwo","DesignImageThree","videos","designServices","DesignPage","GazeboImageOne","GazeboImageTwo","GazeboImageThree","GazeboImageFour","GazeboImageFive","GazeboImageSix","GazeboImageSeven","GazeboImageEight","GazeboImageNine","GazibosPage","TreeServices","PatiosImageOne","PatiosImageTwo","PatiosImageThree","PatiosImageFour","PatiosImageFive","PatiosImageSix","PatiosPage","pageDescription","TextFormInput","controlId","label","value","name","placeholder","handleInputChange","hasError","feedbackMessage","isEmail","Form","Group","Label","Control","type","onChange","Text","TextAreaFormInput","as","rows","SelectFormInput","options","option","props","firstName","lastName","companyName","email","phone","address","city","zip","interestedIn","hearAboutUs","comments","errors","values","setValues","modalShow","setModalShow","spinnerShow","setSpinnerShow","event","target","key","indexOf","ConfirmationModal","Modal","size","aria-labelledby","centered","closeButton","Body","Footer","onSubmit","e","preventDefault","console","log","cleanPhoneNumber","replace","cleanZipCode","validateForm","axios","post","then","res","data","success","Spinner","animation","role","aria-hidden","show","onHide","AboutPage","homeImprovementServices","WoodworkingPage","IrrigationSystemsPage","CommercialSnowPage","drainageServices","UndergroundDrainageServices","MaintenancePage","LocationOn","Email","Twitter","Pinterest","YouTube","Instagram","Date","getFullYear","useEffect","unlisten","listen","window","scrollTo","App","Container","exact","path","component","GazebosPage","TreeServicesPage","ContactPagve","HomeImprovements","MaintenacePage","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.43de3339.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/logo.52ad32a6.jpg\";","import React from 'react';\nimport logo from '../../assets/logo.jpg';\nimport { LocalPhone } from '@material-ui/icons';\nimport { Navbar, Nav, NavDropdown } from 'react-bootstrap';\n// import { ReactComponent as Logo } from '../../assets/logo.jpg';\n\nimport './header.styles.scss';\nconst Header = () => (\n \n \n \n \n \n \n \n \n \n \n (630) 286-3008\n \n \n \n \n);\n\nexport default Header;\n","import React from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { Paper, Button } from '@material-ui/core';\nimport { Row, Col, Image, Figure } from 'react-bootstrap';\nimport './item.styles.scss';\n\nconst Item = ({ title, imageUrl, btnText, history, linkUrl, match }) => (\n \n \n \n

{title}

\n
\n \"Logo\"\n
\n
\n \n history.push(`${match.url}${linkUrl}`)}\n >\n {btnText}\n \n \n \n
\n);\n\nexport default withRouter(Item);\n","export default __webpack_public_path__ + \"static/media/design_sized.31ae27cb.jpeg\";","export default __webpack_public_path__ + \"static/media/patio_sized.5c27741e.jpeg\";","export default __webpack_public_path__ + \"static/media/gazebo_sized.b44a0662.jpeg\";","import React from 'react';\nimport Item from './item.component';\nimport Carousel from 'react-material-ui-carousel';\nimport designSizedImage from '../../assets/design/design_sized.jpeg';\nimport patioSizedImage from '../../assets/patios/patio_sized.jpeg';\nimport gazeboSizedImage from '../../assets/gazebo/gazebo_sized.jpeg';\n\nclass ProjectCarousel extends React.Component {\n constructor() {\n super();\n\n this.state = {\n items: [\n {\n title: 'Gazebos',\n imageUrl: gazeboSizedImage,\n btnText: 'Start your Project',\n linkUrl: 'contact',\n },\n {\n title: 'Outdoor Garden Design',\n imageUrl: designSizedImage,\n btnText: 'Start your Project',\n linkUrl: 'contact',\n },\n {\n title: 'Outdoor Patios',\n imageUrl: patioSizedImage,\n btnText: 'Start your Project',\n linkUrl: 'contact',\n },\n ],\n };\n }\n\n render() {\n return (\n \n {this.state.items.map(({ id, ...otherSectionProps }) => (\n \n ))}\n \n );\n }\n}\n\nexport default ProjectCarousel;\n","import React, { useState } from 'react';\nimport { Button } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nimport { Col, Image } from 'react-bootstrap';\nimport './servicebutton.styles.scss';\n\nexport default function ServiceButton({ btnText, linkUrl, imageUrl }) {\n const [hovered, setHovered] = useState(false);\n const toggleHover = () => setHovered(!hovered);\n let history = useHistory();\n\n return (\n history.push(linkUrl)}\n >\n \n history.push(linkUrl)}\n >\n {btnText}\n \n \n );\n}\n","export default __webpack_public_path__ + \"static/media/design_non_sized.66a89d25.jpeg\";","export default __webpack_public_path__ + \"static/media/tree_services_non_sized.290b27c0.jpeg\";","export default __webpack_public_path__ + \"static/media/patio.03028a38.jpeg\";","export default __webpack_public_path__ + \"static/media/fireplace_non_sized.ea1e2aab.jpeg\";","export default __webpack_public_path__ + \"static/media/sprinkler-system.c60eb708.jpg\";","export default __webpack_public_path__ + \"static/media/gazebo.5bb39f39.jpeg\";","import React from 'react';\nimport ServiceButton from './servicebutton.component';\nimport { Row, Col, Container } from 'react-bootstrap';\nimport './about.styles.scss';\nimport DesignImage from '../../assets/design/design_non_sized.jpeg';\nimport TreeServicesImage from '../../assets/tree-services/tree_services_non_sized.jpeg';\nimport PatioImage from '../../assets/patio.jpeg';\nimport Fireplace from '../../assets/homeimprovement/fireplace_non_sized.jpeg';\nimport SprinklerSystemImage from '../../assets/sprinkler-system.jpg';\nimport FlooringImage from '../../assets/gazebo/gazebo.jpeg';\n\nconst About = () => (\n
\n

Castro's Landscaping Inc.

\n \n

\n Castros Landscaping Incorporated serves the Chicagoland area and\n southwest suburbs. Castros Landscaping originally started as a\n landscaping company by my father Miguel Castro Sr in 1980. We expanded\n our services from just landscaping to home improvements, gazebos, decks,\n and tree services. Our goal is to bring your dream project to life.\n There is no job too small or too big for us because we work with the\n best crew to ensure that our quality exceeds your expectations.{' '}\n \n Contact us{' '}\n \n for a free quote.\n

\n
\n \n \n

Landscape Design

\n \n
\n

Patios

\n \n \n \n

Gazebos

\n \n
\n

Home Improvements

\n \n \n \n

Tree Services

\n \n
\n

Irrigation Systems

\n \n \n
\n
\n);\n\nexport default About;\n","import React from 'react';\nimport { Container, Jumbotron } from 'react-bootstrap';\n\nconst Communities = () => (\n \n \n

Communities We Serve

\n

\n We proudly serve the Chicagoland and southwest suburbs of Burr Ridge,\n Downers Grove, Hinsdale, Darien, and Naperville.\n

\n
\n
\n);\n\nexport default Communities;\n","import React from 'react';\nimport { Row, Col } from 'react-bootstrap';\n\nconst Featured = () => (\n
\n

Featured Content

\n \n \n
\n
\n \n
\n \n \n
\n
\n \n
\n \n
\n
\n
\n);\n\nexport default Featured;\n","import React from 'react';\nimport ProjectCarousel from '../../components/carousel/project-carousel.component';\nimport About from '../../components/about/about.component';\nimport Communities from '../../components/communities/communities.component';\nimport Featured from '../../components/featured/featured.component';\nimport { Card } from '@material-ui/core';\nimport './homepage.styles.scss';\n\nconst HomePage = () => (\n \n \n \n \n \n \n);\n\nexport default HomePage;\n","import React from 'react';\nimport { Paper, Button } from '@material-ui/core';\nimport { Row, Col, Image, Figure, Container } from 'react-bootstrap';\nimport Carousel from 'react-material-ui-carousel';\nimport { withRouter } from 'react-router-dom';\n\nconst content = ({\n pageTitle,\n description,\n imgs,\n videosArray,\n videoSectionTitle,\n history,\n listItemsTitle,\n listItems,\n}) => (\n \n \n

{pageTitle}

\n

{description}

\n \n history.push('/contact')}\n >\n Start your project\n \n {!listItemsTitle ? null :

{listItemsTitle}

}\n \n {!videoSectionTitle ? null :

{videoSectionTitle}

}\n \n
\n
\n);\n\nfunction ImagesDisplay({ imgs }) {\n if (!imgs) {\n return null;\n }\n\n return (\n \n \n
\n \n {imgs.map((img) => (\n \n ))}\n \n
\n
\n
\n );\n}\n\nfunction VideosDisplay({ videosArray }) {\n if (!videosArray) {\n return null;\n }\n\n return (\n \n {videosArray.map((video) => (\n \n 1\n ? 'embed-responsive embed-responsive-16by9'\n : 'embed-responsive embed-responsive-1by1'\n }\n >\n \n \n
\n \n ))}\n
\n );\n}\n\nfunction ListItems({ listItems }) {\n if (!listItems) {\n return null;\n }\n return (\n \n {listItems.map((item) => (\n \n
    \n
  • {item}
  • \n
\n \n ))}\n
\n );\n}\n\nexport default withRouter(content);\n","export default __webpack_public_path__ + \"static/media/image0.bc8e9488.jpeg\";","export default __webpack_public_path__ + \"static/media/image1.2c09353a.jpeg\";","export default __webpack_public_path__ + \"static/media/image2.4f9c0b90.jpeg\";","import React from 'react';\nimport Content from '../../components/page-content/content.component';\n\nimport DesignImage from '../../assets/design/design_sized.jpeg';\nimport DesignImageOne from '../../assets/design/image0.jpeg';\nimport DesignImageTwo from '../../assets/design/image1.jpeg';\nimport DesignImageThree from '../../assets/design/image2.jpeg';\n\nconst images = [\n { id: 'image1', src: DesignImage },\n { id: 'image2', src: DesignImageOne },\n { id: 'image3', src: DesignImageTwo },\n { id: 'image3', src: DesignImageThree },\n];\n\nconst videos = [\n { id: 'video1', src: 'https://www.youtube.com/embed/wwfUP8StKL4' },\n];\n\nconst designServices = [\n 'Clear Area for Construction',\n 'Lay Foundations',\n 'Start with Hardscape Elements',\n 'Walls and other Structural Elements',\n];\nconst pageTitle = 'Landscape Design';\nconst pageDescription =\n 'We will review your site again to take accurate measurements and to mark off the area for construction. Starting a project correctly makes a big difference. This preparation step is critical to a successful landscape project. From site staging to drainage and grading planning, this step is extremely important.This is when we will begin to lay the foundation or skeleton of the project. It’s hardest at this stage with everything going on to visualize what will come from the construction because we are putting in place the needed foundational elements first.';\nconst DesignPage = () => (\n \n);\n\nexport default DesignPage;\n","export default __webpack_public_path__ + \"static/media/image0.d0282458.jpeg\";","export default __webpack_public_path__ + \"static/media/image1.d16e71b4.jpeg\";","export default __webpack_public_path__ + \"static/media/image2.edb4bc20.jpeg\";","export default __webpack_public_path__ + \"static/media/image3.88326f24.jpeg\";","export default __webpack_public_path__ + \"static/media/image4.7d92e486.jpeg\";","export default __webpack_public_path__ + \"static/media/image5.a37ffa4d.jpeg\";","export default __webpack_public_path__ + \"static/media/image6.2d119256.jpeg\";","export default __webpack_public_path__ + \"static/media/image7.1c9c36b7.jpeg\";","import React from 'react';\nimport Content from '../../components/page-content/content.component';\n\nimport GazeboImageOne from '../../assets/gazebo/gazebo_sized.jpeg';\nimport GazeboImageTwo from '../../assets/gazebo/image0.jpeg';\nimport GazeboImageThree from '../../assets/gazebo/image1.jpeg';\nimport GazeboImageFour from '../../assets/gazebo/image2.jpeg';\nimport GazeboImageFive from '../../assets/gazebo/image3.jpeg';\nimport GazeboImageSix from '../../assets/gazebo/image4.jpeg';\nimport GazeboImageSeven from '../../assets/gazebo/image5.jpeg';\nimport GazeboImageEight from '../../assets/gazebo/image6.jpeg';\nimport GazeboImageNine from '../../assets/gazebo/image7.jpeg';\n\nconst images = [\n { id: 'GazeboImageOne', src: GazeboImageOne },\n { id: 'GazeboImageTwo', src: GazeboImageTwo },\n { id: 'GazeboImageThree', src: GazeboImageThree },\n { id: 'GazeboImageFour', src: GazeboImageFour },\n { id: 'GazeboImageFive', src: GazeboImageFive },\n { id: 'GazeboImageSix', src: GazeboImageSix },\n { id: 'GazeboImageSeven', src: GazeboImageSeven },\n { id: 'GazeboImageEight', src: GazeboImageEight },\n { id: 'GazeboImageNine', src: GazeboImageNine },\n];\n\nconst videos = [\n { id: 'video1', src: 'https://www.youtube.com/embed/NkBc-xcqxV8' },\n];\nconst pageTitle = 'Gazebos';\nconst pageDescription =\n 'Traditional Amish Gazebos are constructed of wood. Customers love the look, feel and overall richness that wood offers. Wood can be painted or stained and refinished. Garden Gazebos constructed with wood also provide a warm atmosphere for an at home feel. ';\nconst GazibosPage = () => (\n \n);\n\nexport default GazibosPage;\n","import React from 'react';\nimport Content from '../../components/page-content/content.component';\n\nimport TreeServicesImageOne from '../../assets/tree-services/tree-services.jpg';\nimport TreeServicesImageTwo from '../../assets/tree-services/image0.jpeg';\nimport TreeServicesImageThree from '../../assets/tree-services/image1.jpeg';\n\nconst images = [\n { id: 'image1', src: TreeServicesImageOne },\n { id: 'image2', src: TreeServicesImageTwo },\n { id: 'image3', src: TreeServicesImageThree },\n];\n\nconst videos = [\n { id: 'video1', src: 'https://www.youtube.com/embed/3WCaK64kR_s' },\n];\nconst pageTitle = 'Tree Services';\nconst pageDescription =\n 'Every tree is either an asset or a liability. When a professional tree risk assessment uncovers a potential issue – perhaps the tree is damaged or diseased beyond repair – tree removal or tree cutting may be required.The cost of tree removal really depends on the tree and to give an accurate tree removal cost, an arborist needs to see it in person.';\nconst TreeServices = () => (\n \n);\n\nexport default TreeServices;\n","export default __webpack_public_path__ + \"static/media/tree-services.071ead80.jpg\";","export default __webpack_public_path__ + \"static/media/image0.d533d10c.jpeg\";","export default __webpack_public_path__ + \"static/media/image1.c245a99b.jpeg\";","export default __webpack_public_path__ + \"static/media/image0.f73aa429.jpeg\";","export default __webpack_public_path__ + \"static/media/image1.5481620c.jpeg\";","export default __webpack_public_path__ + \"static/media/image3.a8f89ac1.jpeg\";","export default __webpack_public_path__ + \"static/media/image4.329c76e2.jpeg\";","export default __webpack_public_path__ + \"static/media/image5.6cf80a09.jpeg\";","import React from 'react';\nimport Content from '../../components/page-content/content.component';\n\nimport PatiosImageOne from '../../assets/patios/patio_sized.jpeg';\nimport PatiosImageTwo from '../../assets/patios/image0.jpeg';\nimport PatiosImageThree from '../../assets/patios/image1.jpeg';\nimport PatiosImageFour from '../../assets/patios/image3.jpeg';\nimport PatiosImageFive from '../../assets/patios/image4.jpeg';\nimport PatiosImageSix from '../../assets/patios/image5.jpeg';\n\nconst images = [\n { id: 'image1', src: PatiosImageOne },\n { id: 'image2', src: PatiosImageTwo },\n { id: 'image3', src: PatiosImageThree },\n { id: 'image4', src: PatiosImageFour },\n { id: 'image5', src: PatiosImageFive },\n { id: 'image6', src: PatiosImageSix },\n];\nconst videos = [\n { id: 'video1', src: 'https://www.youtube.com/embed/01e4Y2O-teg' },\n];\nconst pageTitle = 'Patios Design';\nconst pageDescription =\n 'Your custom designed unilock paver patio will be installed by experienced hardscape installers using unilock’s u-level tool. We will treat your property as if it is our own – working carefully and paying attention to the details needed to create a perfect project to enhance the value and beauty of your home.';\nconst pageDescriptionContinuted =\n ' We take pride in each custom designed paver project that we design and complete. We are committed to providing only the best quality workmanship in the Chicagoland area.';\nconst PatiosPage = () => (\n \n);\n\nexport default PatiosPage;\n","import React from 'react';\nimport { Form } from 'react-bootstrap';\n\nconst TextFormInput = ({\n controlId,\n label,\n value,\n name,\n placeholder,\n handleInputChange,\n hasError,\n feedbackMessage,\n isEmail,\n}) => (\n \n {label}\n \n
{feedbackMessage}
\n {isEmail ? (\n \n We'll never share your email with anyone else.\n \n ) : null}\n
\n);\n\nexport default TextFormInput;\n","import React from 'react';\nimport { Form } from 'react-bootstrap';\n\nconst TextAreaFormInput = ({\n controlId,\n label,\n value,\n name,\n handleInputChange,\n hasError,\n feedbackMessage,\n}) => (\n \n {label}\n \n
{feedbackMessage}
\n
\n);\n\nexport default TextAreaFormInput;\n","import React from 'react';\nimport { Form } from 'react-bootstrap';\n\nconst SelectFormInput = ({\n controlId,\n label,\n value,\n name,\n options,\n handleInputChange,\n hasError,\n feedbackMessage,\n}) => (\n \n {label}\n \n {options.map((option) => (\n \n ))}\n \n
{feedbackMessage}
\n
\n);\n\nexport default SelectFormInput;\n","import React, { useState } from 'react';\nimport { Button } from '@material-ui/core';\nimport { Container, Form, Modal, Spinner } from 'react-bootstrap';\nimport axios from 'axios';\nimport './contactpage.styles.scss';\nimport TextFormInput from '../../components/form/text-form-input.component';\nimport TextAreaFormInput from '../../components/form/textarea-form-input.component';\nimport SelectFormInput from '../../components/form/select-form-input.component';\n\nexport default function Contact(props) {\n const stateOptions = [\n { label: '(Please Select One)', value: '' },\n { label: 'Illinois', value: 'IL' },\n { label: 'Indiana', value: 'IN' },\n { label: 'Wisconsin', value: 'WI' },\n { label: 'Iowa', value: 'IA' },\n ];\n\n const interestedInOptions = [\n { label: '(Please Select One)', value: '' },\n { label: 'Landscape Design', value: 'Landscape Design' },\n { label: 'Home Improvement', value: 'Home Improvement' },\n { label: 'Outdoor Living', value: 'Outdoor Living' },\n { label: 'Tree Services', value: 'Tree Services' },\n { label: 'Irrigation Systems', value: 'Irrigation Systems' },\n { label: 'Maintenance', value: 'Maintenance' },\n { label: 'Commercial Snow', value: 'Commercial Snow' },\n ];\n\n const hearAboutUsOptions = [\n { label: '(Please Select One)', value: '' },\n { label: 'Friend', value: 'friend' },\n { label: 'Yelp!', value: 'yelp' },\n { label: 'Facebook', value: 'facebook' },\n { label: 'Instagram', value: 'instagram' },\n { label: 'Google', value: 'google' },\n { label: 'Yahoo', value: 'yahoo' },\n { label: 'Bing', value: 'bing' },\n { label: 'Other', value: 'other' },\n ];\n const [values, setValues] = useState({\n firstName: '',\n lastName: '',\n companyName: '',\n email: '',\n phone: '',\n address: '',\n city: '',\n state: '',\n zip: '',\n interestedIn: '',\n hearAboutUs: '',\n comments: '',\n errors: [],\n });\n\n const [modalShow, setModalShow] = React.useState(false);\n const [spinnerShow, setSpinnerShow] = React.useState(false);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n console.log(values);\n if (validateForm(values).length === 0) {\n setSpinnerShow(true);\n axios\n .post(\n `https://us-central1-castroslandscaping.cloudfunctions.net/contact`,\n values\n )\n .then((res) => {\n if (res.data.success) {\n console.log('Form submitted succesfully');\n setModalShow(true);\n } else {\n console.log('Call to post form failed with errors');\n // Forcing re-render to show the errors\n setValues({ ...values, errors: res.data.errors });\n }\n setSpinnerShow(false);\n });\n } else {\n console.log('Form submitted with validtion errors');\n }\n };\n\n const handleInputChange = (event) => {\n const { name, value } = event.target;\n setValues({ ...values, [name]: value });\n };\n\n function hasError(key) {\n return values.errors.indexOf(key) !== -1;\n }\n\n function validateForm(values) {\n values.errors = [];\n if (!values.firstName) {\n values.errors.push('firstName');\n }\n\n if (!values.lastName) {\n values.errors.push('lastName');\n }\n\n if (!values.email) {\n values.errors.push('email');\n }\n\n if (!values.phone) {\n values.errors.push('phone');\n } else {\n let cleanPhoneNumber = values.phone.replace(/\\D/g, '');\n let isValid =\n cleanPhoneNumber.length === 10 || cleanPhoneNumber.length === 11;\n if (!isValid) {\n values.errors.push('phone');\n }\n }\n\n if (!values.address) {\n values.errors.push('address');\n }\n\n if (!values.city) {\n values.errors.push('city');\n }\n\n if (!values.state || values.state === '(Please Select One)') {\n values.errors.push('state');\n }\n\n if (!values.zip) {\n values.errors.push('zip');\n } else {\n let cleanZipCode = values.zip.replace(/\\D/g, '');\n let isValid = cleanZipCode.length === 5 || cleanZipCode.length === 9;\n if (!isValid) {\n values.errors.push('zip');\n }\n }\n\n if (!values.interestedIn || values.interestedIn === '(Please Select One)') {\n values.errors.push('interestedIn');\n }\n\n if (!values.hearAboutUs || values.hearAboutUs === '(Please Select One)') {\n values.errors.push('hearAboutUs');\n }\n // Forcing re-render to show the errors\n setValues({ ...values, errors: values.errors });\n return values.errors;\n }\n\n function ConfirmationModal(props) {\n return (\n \n \n \n

Thank you!

\n

\n Thanks for reaching out we will get in touch with you as soon as\n possible and work to get you a quote on your project.\n

\n
\n \n \n \n \n );\n }\n\n return (\n
\n \n

Contact Us Now

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n {!spinnerShow ? (\n 'Submit'\n ) : (\n \n )}\n \n \n
\n setModalShow(false)}\n />\n
\n
\n );\n}\n","import React from 'react';\nimport Content from '../../components/page-content/content.component';\n\nconst pageTitle = \"Castro's Landscaping Inc.\";\nconst pageDescription =\n 'Castros Landscaping Incorporated serves the Chicagoland area and southwest suburbs. Castros Landscaping originally started as alandscaping company by my father Miguel Castro Sr in 1980. We expanded our services from just landscaping to home improvements, gazebos, decks, and tree services. Our goal is to bring your dream project to life. There is no job too small or too big for us because we work with the best crew to ensure that our quality exceeds your expectations. Click the start your project button below to get in contact with us for your free quote!';\n\nconst AboutPage = () => (\n \n);\n\nexport default AboutPage;\n","import React from 'react';\nimport Content from '../../components/page-content/content.component';\n\nimport FirePlaceImage from '../../assets/homeimprovement/fireplace.jpeg';\nimport WoodworkingImage from '../../assets/homeimprovement/woodworking.jpeg';\nimport ImprovementImageOne from '../../assets/homeimprovement/image0.jpeg';\nimport ImprovementImageTwo from '../../assets/homeimprovement/image1.jpeg';\n\nconst images = [\n { id: 'image1', src: FirePlaceImage },\n { id: 'image2', src: WoodworkingImage },\n { id: 'image3', src: ImprovementImageOne },\n { id: 'image4', src: ImprovementImageTwo },\n];\n\nconst videos = [\n { id: 'video1', src: 'https://www.youtube.com/embed/6V8rWuNt8-I' },\n { id: 'video2', src: 'https://www.youtube.com/embed/zT5fOmykuAs' },\n];\nconst pageTitle = 'Home Improvements';\nconst pageDescription =\n 'When you work with our home designers, it’s a true team effort, and they’ll treat your home as their own. Because of that commitment, we’re able to produce expertly renovated spaces based on your unique wants and needs. From the initial consultation to choosing materials, we work with you to create a space you’ll be excited to show off.Not only do we complete remodels, but we do room additions throughout the Chicagoland area as well. If you want to expand your kitchen, bedroom, or bathroom, open up your living room to create an open concept, or add more space to your home, our team of room designers and architects can help you reimagine your current floor plan and create a beautiful expansion.';\nconst homeImprovementServices = [\n 'Kitchen Remodeling',\n 'Room Additions',\n 'Interior Remodeling',\n 'Bathroom Remodeling',\n 'Flooring',\n 'Tuckpointing',\n 'Lighting and Sound',\n 'Chimney repair/replacement',\n];\nconst WoodworkingPage = () => (\n \n);\n\nexport default WoodworkingPage;\n","export default __webpack_public_path__ + \"static/media/fireplace.ea13ab0a.jpeg\";","export default __webpack_public_path__ + \"static/media/woodworking.49af0372.jpeg\";","export default __webpack_public_path__ + \"static/media/image0.0e6a3e0a.jpeg\";","export default __webpack_public_path__ + \"static/media/image1.18ba0a58.jpeg\";","import React from 'react';\nimport Content from '../../components/page-content/content.component';\n\nconst pageTitle = 'Irrigation Systems';\nconst pageDescription =\n 'Your designer will set up a personal meeting to assess all of the details necessary for an accurate irrigation system design. Every system we install includes an automatic rain sensor to ensure your system does not waste water when it is raining. We install all of the top brands of sprinkler systems including Rain Bird, Toro, Hunter and Irritrol. Protect your landscape investment and give yourself the leisure time you deserve by allowing us to handle your lawn sprinkler system installation today.';\nconst IrrigationSystemsPage = () => (\n \n);\n\nexport default IrrigationSystemsPage;\n","import React from 'react';\nimport Content from '../../components/page-content/content.component';\n\nconst pageTitle = 'Commercial Snow';\nconst pageDescription =\n 'With our commercial equipment and total dedication to customer satisfaction, our team of snow management experts are here to clear your lots professionally and quickly with every snowfall. Our fleet of commercial quality snowplows, pushers and removal equipment allows us to handle any and all snow clearing jobs. We also offer snow removal plans for blizzards or other large, long-lasting storms that drop 9 inches or more of snow at one time. With our equipment and trained crews, we clear and make all sidewalks safe. Castros Landscaping is committed to ensuring our customer’s walkways and parking lots remain completely safe after we have finished plowing. Our salt is treated so it will act faster and work better, even at colder temperatures or in heavy storms.';\nconst CommercialSnowPage = () => (\n \n);\n\nexport default CommercialSnowPage;\n","import React from 'react';\nimport Content from '../../components/page-content/content.component';\n\nconst pageTitle = 'Underground Drainage';\nconst pageDescription =\n 'Water control is an issue for many homeowners. From backed up gutters due to large trees to pooling water close to the foundation, these common problems can turn costly if not addressed promptly. We can help solve these issues once and for all.';\n\nconst drainageServices = [\n 'Gutter Cleaning',\n 'Gutter Extensions',\n 'Leaf Guards & Filters',\n 'Underground Drainage',\n 'Grading',\n 'Trenching',\n];\n\nconst videos = [\n { id: 'video1', src: 'https://www.youtube.com/embed/DUkoT6DH9vM' },\n];\nconst UndergroundDrainageServices = () => (\n \n);\n\nexport default UndergroundDrainageServices;\n","import React from 'react';\nimport Content from '../../components/page-content/content.component';\n\nconst pageTitle = 'Maintenance';\nconst pageDescription =\n 'Here at Castros Landscaping Inc. we believe that properly maintaining your new landscape investment is critical to its beauty and longevity. Our team is dedicated to providing the best full-service lawn care and landscape maintenance in the Chicago area. We have a variety of different lawn maintenance and care packages available, from monthly residential and commercial programs to spring and fall property cleanups. We also provide snow and ice management services to all our customers helping take care of your property year-round. If you\\'re interested in exploring one of our maintenacne packages or would just like to find out a little more about what services we offer click the \"Start your Project\" button below.';\nconst MaintenancePage = () => (\n \n);\n\nexport default MaintenancePage;\n","import React from 'react';\nimport { Row, Col, Container, Nav } from 'react-bootstrap';\nimport { Paper } from '@material-ui/core';\nimport './footer.styles.scss';\nimport {\n LocationOn,\n LocalPhone,\n Email,\n Instagram,\n Pinterest,\n Twitter,\n YouTube,\n} from '@material-ui/icons';\n\nconst Footer = () => {\n return (\n \n
\n \n \n \n \n About\n \n
\n \n Contact\n \n \n \n \n \n 3500 W 74th St. Chicago, IL 60629\n \n
\n \n \n (630) 286-3008\n \n
\n \n \n castros.landscaping.est1990@gmail.com\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n © {new Date().getFullYear()}\n Copyright Castros Landscaping Inc.\n \n
\n
\n
\n
\n );\n};\n\nexport default Footer;\n","import { useEffect } from 'react';\nimport { withRouter } from 'react-router-dom';\n\nfunction ScrollToTop({ history }) {\n useEffect(() => {\n const unlisten = history.listen(() => {\n window.scrollTo(0, 0);\n });\n return () => {\n unlisten();\n };\n }, []);\n\n return null;\n}\n\nexport default withRouter(ScrollToTop);\n","import './App.css';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport { Container, Card } from '@material-ui/core';\nimport Header from './components/header/header.component';\nimport HomePage from './pages/homepage/homepage.component';\nimport DesignPage from './pages/design/designpage.component';\nimport GazebosPage from './pages/gazebo/gazebo.component';\nimport TreeServicesPage from './pages/tree-services/tree-services.component';\nimport PatiosPage from './pages/patios/patiospage.component';\nimport ContactPagve from './pages/contact/contactpage.component';\nimport AboutPage from './pages/about/about-page.component';\nimport HomeImprovements from './pages/home-improvements/homeimprovementspage.component';\nimport IrrigationSystemsPage from './pages/irrigation-systems/irrigation-systems.component';\nimport CommercialSnowPage from './pages/commercial-snow/commercial-snow-page.component';\nimport UndergroundDrainageServices from './pages/underground-drainage/underground-drainage.component';\nimport MaintenacePage from './pages/maintenanace/maintenancepage.component';\nimport AppFooter from './components/footer/footer.component';\nimport ScrollToTop from './components/page-content/scroll-to-top.component';\nimport { Switch, Route } from 'react-router-dom';\n\nfunction App() {\n return (\n \n \n
\n \n \n \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 { BrowserRouter } from 'react-router-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport 'bootstrap/dist/css/bootstrap.min.css';\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":""}