{"version":3,"sources":["types/index.ts","images/CJS-Guy.png","images/crane-boom2-small.jpg","images/LTM-Background-Small.jpeg","images/LTM-1100-4-2.png","images/Manitex-40124.png","images/Peterbilt-389.png","images/Xtreme-XR-1570C.png","images/childrens.jpg","types/EquipmentType.ts","types/RequestStatus.ts","images/cjs-logo-trim.png","images/cjs-logo-trim-small.png","images/BosePick.jpg","images/hauling-2.jpg","images/rigging-1-small.jpg","images/LTM-BigScaled.png","images/LTM-1650-8-1.png","images/LTM-1200-5-1.png","images/LTM-1120-4-1.png","images/LTM-1060-3-1.png","images/Truck.png","images/Manitou-MHT-10180.png","components/ThreeDotsLoading/ThreeDotsLoading.tsx","components/CareerForm/Form/ApplicationForm.tsx","components/CareerForm/Form/CareerFormError.tsx","components/CareerForm/Form/CareerForm.tsx","components/CareerForm/FormSuccess/FormSuccess.tsx","components/CareerForm/CareerFormWrapper.tsx","components/CareerForm/useFormData.ts","components/QuoteForm/FormSteps/FormStepper.tsx","components/QuoteForm/FormSteps/FormPersonalInfo.tsx","components/QuoteForm/FormSteps/FormJobInfo.tsx","components/QuoteForm/FormSteps/FormSteps.tsx","components/Stack/Stack.tsx","components/Tiles/Tiles.tsx","components/QuoteForm/FormSuccess/FormSuccess.tsx","components/QuoteForm/QuoteForm.tsx","components/QuoteForm/useFormData.ts","components/QuoteModal/QuoteModal.tsx","components/QuoteButton/QuoteButton.tsx","services/gaTracking/gaTracking.ts","hooks/useUserAgent/useUserAgent.ts","hooks/useParallax/useParallax.ts","components/CjsJumbotron/CjsJumbotron.tsx","components/CjsTimeline/CjsEvent.tsx","components/CjsTimeline/events.tsx","components/CjsTimeline/CjsTimeline.tsx","components/EquipmentCard/EquipmentCard.tsx","components/EquipmentCard/EquipmentCardSmall.tsx","components/ExploreRow/ExploreRow.tsx","components/Footer/Footer.tsx","components/InteractionCard/InteractionCard.tsx","components/JobCard/TitleSection/TitleSection.tsx","components/JobCard/DescriptionSection/DescriptionSection.tsx","components/JobCard/EquipmentSection/EquipmentSection.tsx","components/JobCard/SpecSection/SpecSection.tsx","components/JobCard/PhotoCarousel/PhotoCarousel.tsx","components/JobCard/JobCard.tsx","components/JobSpecCard/JobSpecCard.tsx","components/JobModal/JobModal.tsx","components/JobSummaryCard/JobSummaryCard.tsx","components/Navbar/useDynamicNavbar.ts","hooks/useIntersectionObserver/useIntersectionObserver.ts","components/Navbar/Navbar.tsx","components/PageHelmet/PageHelmet.tsx","components/ScrollToTop/ScrollToTop.tsx","components/ServicesSection/ServicesSection.tsx","components/ServiceCard/ServiceCard.tsx","routes/home/home.tsx","routes/equipment/equipmentList.ts","routes/equipment/equipment.tsx","routes/about/about.tsx","routes/work/jobList.ts","routes/work/work.tsx","routes/quote/quote.tsx","routes/contact/contact.tsx","routes/career/career.tsx","routes/contracts/contractList.tsx","routes/contracts/contracts.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["module","exports","EquipmentType","RequestStatus","Idle","Loading","Success","Failure","loadingContainer","width","height","display","justifyContent","loadingCircle","backgroundColor","borderRadius","loadingContainerVariants","start","transition","staggerChildren","end","loadingCircleVariants","y","loadingCircleTransition","duration","yoyo","Infinity","ease","ThreeDotsLoading","motion","div","style","variants","initial","animate","span","initialValue","name","email","phoneNumber","role","resume","comments","ApplicationForm","onSubmit","useState","validated","setValidated","formData","setFormData","handleChange","event","target","value","Form","id","form","currentTarget","preventDefault","stopPropagation","console","log","checkValidity","noValidate","Row","Col","xs","md","Group","controlId","Label","Control","required","type","maxLength","onChange","Feedback","as","defaultValue","accept","files","file","CareerFormError","className","href","CareerForm","isLoading","hasError","onClose","data","Button","variant","subHeader1","FormSuccess","bsPrefix","direction","space","alt","src","logo","fontWeight","undefined","onClick","sx","marginBottom","paddingRight","paddingLeft","columns","CareerFormWrapper","showSuccess","setShowSuccess","setIsLoading","setHasError","parseToBase64","a","Promise","resolve","reader","FileReader","onloadend","e","result","readAsDataURL","parsed","split","submitFormData","rest","parsedFile","axios","post","resumeName","useFormData","useColorlibStepIconStyles","makeStyles","root","zIndex","color","alignItems","active","backgroundImage","boxShadow","completed","ColorlibStepIcon","props","classes","icons","1","2","clsx","String","icon","ColorlibConnector","withStyles","alternativeLabel","top","line","border","StepConnector","FormStepper","step","Stepper","activeStep","connector","map","label","Step","key","StepLabel","StepIconComponent","FormPersonalInfo","hide","company","isValid","FormJobInfo","onBack","jobDescription","jobAddress","jobCity","jobState","jobZip","FormSteps","React","setActiveStep","quoteData","setQuoteData","handleJobSubmit","values","handleOnBack","formId","primaryButtonText","paddingTop","marginRight","Stack","children","option","horizontalOption","veriticalOption","leadingMargin","overflow","flexDirection","position","marginTop","marginLeft","Tiles","minColumnWidth","gridTemplateColumns","desiredColumn","Math","ceil","gap","subHeader2","QuoteForm","requestedEquipment","formValues","model","QuoteModal","show","onHide","Modal","size","centered","animation","aria-hidden","Body","QuoteButton","setShow","tagManagerArgs","gtmId","gaTracking","TagManager","initialize","dataLayer","page","window","location","pathname","mobileRegex","iOSRegex","useUserAgent","isIOS","setIsIOS","isMobile","setIsMobile","userAgent","setUserAgent","useEffect","agent","navigator","Boolean","match","useParallax","element","isControllingClass","classList","remove","add","CjsJumbotron","header","showButton","message","jumbotronElement","useRef","current","Jumbotron","fluid","ref","Container","eventColors","crane","truck","telehandler","eventIcons","none","CjsEvent","eventType","subHeader","description","date","eventColor","iconStyle","background","contentArrowStyle","borderRight","events","CjsTimeline","newEvents","slice","reverse","index","EquipmentCard","equipment","loadChartUrl","imgSrc","Card","Img","Title","Subtitle","manufacturer","specs","spec","EquipmentCardSmall","ExploreRow","padding","title","imgAlt","imgUrl","boomLift","ltm","cjsGuy","Footer","sm","cjsLogo","to","InteractionCard","TitleSection","DescriptionSection","renderEquipmentCard","EquipmentSection","SpecSection","renderPhoto","photoUrl","Carousel","Item","PhotoCarousel","photoUrls","JobCard","job","equipmentUsed","selectedView","setSelectedView","shouldRenderPhotos","ToggleButtonGroup","ToggleButton","lg","JobSpecCard","JobModal","JobSummaryCard","summaryPhoto","addBg","navBar","bgClass","removeBg","useDynamicNavbar","navBarEl","watchClass","onAppear","onDisappear","watchRef","document","querySelector","intersectionObserver","IntersectionObserver","entries","isIntersecting","rootMargin","observe","unobserve","useIntersectionObserver","handleOnToggle","expanded","NavBar","useLocation","history","useHistory","listen","Navbar","bg","fixed","expand","collapseOnSelect","onToggle","Brand","flex","Toggle","Collapse","Nav","activeKey","Link","eventKey","NavLink","exact","PageHelmet","Helmet","content","ScrollToTop","scrollTo","services","bose","altText","rigging","hauling","ServicesSection","service","margin","ServiceCard","Home","fullWidthElement","cranes","Crane","serviceDate","Ltm1650","quantity","LtmBig","Ltm1200","Ltm1120","Ltm1100","Ltm1060","Manitex","trucks","Truck","Peterbilt","telehandlers","Telehandler","Xtreme","Manitou","renderCraneCard","x","bounce","stiffness","Equipment","setEquipment","serviceYears","Date","getFullYear","craneCount","reduce","acc","About","logoGuy","jobs","childrensLift","Work","Quote","Contact","fontSize","Career","contractList","filename","Contracts","contract","App","path","hostname","ReactDOM","render","StrictMode","getElementById","serviceWorker","ready","then","registration","unregister","catch","error"],"mappings":"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","file":"static/js/main.4eba32c3.chunk.js","sourcesContent":["export * from \"./equipment\";\nexport * from \"./EquipmentType\";\nexport * from \"./RequestStatus\";\nexport * from \"./FBPhoto\";\nexport * from \"./Service\";\nexport * from \"./Job\";\nexport * from \"./JobSpec\";\n","module.exports = __webpack_public_path__ + \"static/media/CJS-Guy.88f8627e.png\";","module.exports = __webpack_public_path__ + \"static/media/crane-boom2-small.72ea47c3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/LTM-Background-Small.43a34b68.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/LTM-1100-4-2.ef5f7d9f.png\";","module.exports = __webpack_public_path__ + \"static/media/Manitex-40124.84fd3015.png\";","module.exports = __webpack_public_path__ + \"static/media/Peterbilt-389.6cf4ed82.png\";","module.exports = __webpack_public_path__ + \"static/media/Xtreme-XR-1570C.ec5a88e9.png\";","module.exports = __webpack_public_path__ + \"static/media/childrens.9058bef7.jpg\";","export enum EquipmentType {\n Crane = \"Crane\",\n Truck = \"Truck\",\n Telehandler = \"Telehandler\",\n}\n","export const RequestStatus = {\n Idle: \"Idle\",\n Loading: \"Loading\",\n Success: \"Success\",\n Failure: \"Failure\",\n};\n","module.exports = __webpack_public_path__ + \"static/media/cjs-logo-trim.0d432970.png\";","module.exports = __webpack_public_path__ + \"static/media/cjs-logo-trim-small.610be599.png\";","module.exports = __webpack_public_path__ + \"static/media/BosePick.55bd5f9a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hauling-2.19587a9e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/rigging-1-small.0dbb9edb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/LTM-BigScaled.205e771b.png\";","module.exports = __webpack_public_path__ + \"static/media/LTM-1650-8-1.aa625a73.png\";","module.exports = __webpack_public_path__ + \"static/media/LTM-1200-5-1.ec45331a.png\";","module.exports = __webpack_public_path__ + \"static/media/LTM-1120-4-1.13dd2fa5.png\";","module.exports = __webpack_public_path__ + \"static/media/LTM-1060-3-1.af47d537.png\";","module.exports = __webpack_public_path__ + \"static/media/Truck.c31352dd.png\";","module.exports = __webpack_public_path__ + \"static/media/Manitou-MHT-10180.be5622ee.png\";","import React from \"react\";\nimport { motion } from \"framer-motion\";\n\nconst loadingContainer = {\n width: \"2rem\",\n height: \"2rem\",\n display: \"flex\",\n justifyContent: \"space-around\",\n};\n\nconst loadingCircle = {\n display: \"block\",\n width: \"0.5rem\",\n height: \"0.5rem\",\n backgroundColor: \"black\",\n borderRadius: \"0.25rem\",\n};\n\nconst loadingContainerVariants = {\n start: {\n transition: {\n staggerChildren: 0.2,\n },\n },\n end: {\n transition: {\n staggerChildren: 0.2,\n },\n },\n};\n\nconst loadingCircleVariants = {\n start: {\n y: \"50%\",\n },\n end: {\n y: \"150%\",\n },\n};\n\nconst loadingCircleTransition = {\n duration: 0.5,\n yoyo: Infinity,\n ease: \"easeInOut\",\n};\n\nconst ThreeDotsLoading = () => {\n return (\n \n \n \n \n \n );\n};\n\nexport { ThreeDotsLoading };\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { Form, Row, Col } from \"react-bootstrap\";\n\nimport { ApplicationData } from \"../types\";\n\ninterface ApplicationFormProps {\n onSubmit: (values: ApplicationData) => void;\n}\n\nconst initialValue: ApplicationData = {\n name: \"\",\n email: \"\",\n phoneNumber: \"\",\n role: \"Crane Operator\",\n resume: null,\n comments: \"\",\n};\n\nconst ApplicationForm = ({ onSubmit }: ApplicationFormProps) => {\n const [validated, setValidated] = useState(false);\n const [formData, setFormData] = useState(initialValue);\n\n const handleChange = (event: React.ChangeEvent) => {\n setFormData({ ...formData, [event.target.name]: event.target.value });\n };\n\n const handleFileChange = (event: React.ChangeEvent) => {\n if (!event.target.files) {\n setFormData({\n ...formData,\n [event.target.name]: null,\n });\n return;\n }\n\n const file = event.target.files[0];\n setFormData({\n ...formData,\n [event.target.name]: file,\n });\n };\n\n const handleSubmit = (event: React.FormEvent) => {\n const form = event.currentTarget;\n setValidated(true);\n event.preventDefault();\n event.stopPropagation();\n console.log(formData);\n\n if (form.checkValidity()) {\n onSubmit(formData);\n }\n };\n\n return (\n
\n \n \n \n \n Name\n \n \n Please provide your name!\n \n \n \n \n \n Email Address\n \n \n Please provide a contact email!\n \n \n \n \n\n \n \n \n Role\n \n \n \n \n \n \n \n \n Please choose a role to apply for!\n \n \n \n \n \n \n \n Resume\n \n \n Please attach a PDF resume!\n \n \n \n \n\n \n \n \n Comments\n \n \n \n \n \n
\n );\n};\n\nexport { ApplicationForm };\n","import * as React from \"react\";\n\nimport \"./CareerForm.scss\";\n\nconst CareerFormError = () => {\n return (\n

\n We're sorry something went wrong with your request.\n
\n Please try to submit again and if problem continues you can contact us\n directly\n
\n \n 781.315.5321\n \n
\n \n cjshaughnessycrane@gmail.com\n \n

\n );\n};\n\nexport { CareerFormError };\n","import * as React from \"react\";\nimport { Row, Col, Button } from \"react-bootstrap\";\n\nimport { ThreeDotsLoading } from \"components/ThreeDotsLoading\";\n\nimport { ApplicationForm } from \"./ApplicationForm\";\nimport { ApplicationData } from \"../types\";\n\nimport \"./CareerForm.scss\";\nimport { CareerFormError } from \"./CareerFormError\";\n\ninterface CareerFormProps {\n onSubmit: (formValues: ApplicationData) => void;\n isLoading: boolean;\n hasError: boolean;\n onClose?: () => void;\n}\n\nconst CareerForm = ({\n onSubmit,\n isLoading,\n hasError,\n onClose,\n}: CareerFormProps) => {\n const handleSubmit = (data: ApplicationData) => {\n onSubmit(data);\n };\n\n return (\n <>\n {/* \n \n
\n JOIN OUR TEAM\n
\n
Fill out form below to submit a resume
\n \n
*/}\n \n \n \n \n \n\n \n \n {isLoading ? (\n \n ) : (\n <>\n {hasError && }\n\n \n \n )}\n \n \n \n );\n};\n\nexport { CareerForm };\n","import * as React from \"react\";\nimport { Row, Col, Button } from \"react-bootstrap\";\n\nimport { Stack, Tiles } from \"components\";\n\nimport logo from \"images/CJS-Guy.png\";\n\nimport \"./FormSuccess.scss\";\n\nconst subHeader1 = `We've received your application. Someone from our team will be in contact with you!`;\n\ninterface FormSuccessProps {\n onClose?: () => void;\n}\n\nconst FormSuccess = ({ onClose }: FormSuccessProps) => {\n return (\n \n \n \n \n \n
\n
\n \"crane-man-logo\"\n
\n\n
\n

\n Success!\n

\n

{subHeader1}

\n {onClose !== undefined && (\n \n )}\n
\n
\n \n
\n\n \n \n \n \n
\n \n
\n\n
\n

\n Success!\n

\n

{subHeader1}

\n
\n
\n {onClose !== undefined && (\n \n )}\n \n \n
\n \n
\n );\n};\n\nexport { FormSuccess };\n","import * as React from \"react\";\nimport { Row, Col } from \"react-bootstrap\";\n\nimport { useFormData } from \"./useFormData\";\nimport { CareerForm } from \"./Form/CareerForm\";\nimport { FormSuccess } from \"./FormSuccess\";\n\ninterface CareerFormWrapperProps {\n onClose?: () => void;\n}\n\nconst CareerFormWrapper = ({ onClose }: CareerFormWrapperProps) => {\n const { isLoading, hasError, showSuccess, submitFormData } = useFormData();\n\n return (\n \n \n {showSuccess ? (\n \n ) : (\n \n )}\n \n \n );\n};\n\nexport { CareerFormWrapper as CareerForm };\n","import { useState } from \"react\";\nimport axios from \"axios\";\nimport { ApplicationData } from \"./types\";\n\nconst useFormData = () => {\n const [showSuccess, setShowSuccess] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [hasError, setHasError] = useState(false);\n\n const parseToBase64 = async (file: File) => {\n let parsed: string = await new Promise((resolve) => {\n const reader = new FileReader();\n reader.onloadend = (e) => resolve(reader.result as string);\n reader.readAsDataURL(file);\n });\n\n return parsed.split(\"base64,\")[1];\n };\n\n const submitFormData = async (form: ApplicationData) => {\n try {\n setIsLoading(true);\n setHasError(false);\n\n if (form.resume === null) {\n return;\n }\n\n const { resume, ...rest } = form;\n const parsedFile = await parseToBase64(form.resume);\n\n await axios.post(\n \"https://lg31fdei47.execute-api.us-east-1.amazonaws.com/default/cjs-careers-v2\",\n { ...rest, resume: parsedFile, resumeName: resume.name }\n );\n\n setIsLoading(false);\n setShowSuccess(true);\n } catch (err) {\n setIsLoading(false);\n setShowSuccess(false);\n setHasError(true);\n }\n };\n\n return {\n isLoading,\n hasError,\n showSuccess,\n submitFormData,\n };\n};\n\nexport { useFormData };\n","import * as React from \"react\";\nimport clsx from \"clsx\";\nimport { IoPersonCircle } from \"react-icons/io5\";\nimport { GiCargoCrane } from \"react-icons/gi\";\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\nimport Stepper from \"@material-ui/core/Stepper\";\nimport Step from \"@material-ui/core/Step\";\nimport StepConnector from \"@material-ui/core/StepConnector\";\nimport StepLabel from \"@material-ui/core/StepLabel\";\nimport { StepIconProps } from \"@material-ui/core/StepIcon\";\n\nimport \"../QuoteForm.scss\";\nimport \"./FormSteps.scss\";\n\ninterface FormStepperProps {\n step: number;\n}\n\nconst useColorlibStepIconStyles = makeStyles({\n root: {\n backgroundColor: \"#ccc\",\n zIndex: 1,\n color: \"#fff\",\n width: 50,\n height: 50,\n display: \"flex\",\n borderRadius: \"50%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n active: {\n backgroundImage:\n \"linear-gradient( 136deg, rgb(57, 82, 166) 0%, rgb(173, 38, 44) 100%)\",\n boxShadow: \"0 4px 10px 0 rgba(0,0,0,.25)\",\n },\n completed: {\n backgroundImage:\n \"linear-gradient( 136deg, rgb(57, 82, 166) 0%, rgb(173, 38, 44) 100%)\",\n },\n});\n\nconst ColorlibStepIcon = (props: StepIconProps) => {\n const classes = useColorlibStepIconStyles();\n const { active, completed } = props;\n\n const icons: { [index: string]: React.ReactElement } = {\n 1: ,\n 2: ,\n };\n\n return (\n \n {icons[String(props.icon)]}\n \n );\n};\n\nconst ColorlibConnector = withStyles({\n alternativeLabel: {\n top: 22,\n },\n active: {\n \"& $line\": {\n backgroundImage:\n \"linear-gradient( 136deg, rgb(57, 82, 166) 0%, rgb(173, 38, 44) 100%)\",\n },\n },\n completed: {\n \"& $line\": {\n backgroundImage:\n \"linear-gradient( 136deg, rgb(57, 82, 166) 0%, rgb(173, 38, 44) 100%)\",\n },\n },\n line: {\n height: 3,\n border: 0,\n backgroundColor: \"#eaeaf0\",\n borderRadius: 1,\n },\n})(StepConnector);\n\nconst FormStepper = ({ step }: FormStepperProps) => {\n const steps = [\"1. Your Information\", \"2. Job Information\"];\n\n return (\n }\n >\n {steps.map((label) => (\n \n {label}\n \n ))}\n \n );\n};\n\nexport { FormStepper };\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { Form, Row, Col } from \"react-bootstrap\";\n\nimport { PersonalInfoValues } from \"../types\";\n\ninterface FormPersonalInfoProps {\n onSubmit: (values: PersonalInfoValues) => void;\n hide: boolean;\n}\n\nconst FormPersonalInfo = ({ onSubmit, hide }: FormPersonalInfoProps) => {\n const [validated, setValidated] = useState(false);\n const [formData, setFormData] = useState({\n name: \"\",\n email: \"\",\n phoneNumber: \"\",\n company: \"\",\n });\n\n const handleChange = (event: React.ChangeEvent) => {\n setFormData({ ...formData, [event.target.name]: event.target.value });\n };\n\n const handleSubmit = (event: React.FormEvent) => {\n const form = event.currentTarget;\n const isValid = form.checkValidity() === true;\n event.preventDefault();\n event.stopPropagation();\n\n setValidated(true);\n if (isValid) {\n onSubmit(formData);\n }\n };\n\n const style = hide ? { display: \"none\" } : {};\n return (\n
\n \n \n \n \n Your Name\n \n \n Please enter your name!\n \n \n \n \n \n Email Address\n \n \n Please provide a contact email!\n \n \n \n \n \n \n \n Phone Number\n \n \n Please provide a phone number!\n \n \n \n \n \n Company\n \n \n Please provide your company!\n \n \n \n \n \n
\n );\n};\n\nexport { FormPersonalInfo };\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { Form, Row, Col } from \"react-bootstrap\";\n\nimport { JobInfoValues } from \"../types\";\n\ninterface FormJobInfoProps {\n onSubmit: (values: JobInfoValues) => void;\n onBack: () => void;\n hide: boolean;\n}\n\nconst FormJobInfo = ({ onSubmit, onBack, hide }: FormJobInfoProps) => {\n const [validated, setValidated] = useState(false);\n const [formData, setFormData] = useState({\n jobDescription: \"\",\n jobAddress: \"\",\n jobCity: \"\",\n jobState: \"MA\",\n jobZip: \"\",\n });\n\n const handleChange = (event: React.ChangeEvent) => {\n setFormData({ ...formData, [event.target.name]: event.target.value });\n };\n\n const handleSubmit = (event: React.FormEvent) => {\n const form = event.currentTarget;\n const isValid = form.checkValidity() === true;\n event.preventDefault();\n event.stopPropagation();\n setValidated(true);\n\n if (isValid) {\n onSubmit(formData);\n }\n };\n\n const style = hide ? { display: \"none\" } : {};\n\n return (\n
\n \n \n \n \n Job Description\n \n \n \n \n \n \n \n Job Site Address\n \n \n \n \n \n \n City\n \n \n\n \n State\n \n \n \n \n \n \n \n \n \n\n \n Zip\n \n \n \n \n
\n );\n};\n\nexport { FormJobInfo };\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { Row, Col, Button } from \"react-bootstrap\";\n\nimport { FormStepper } from \"./FormStepper\";\nimport { FormPersonalInfo } from \"./FormPersonalInfo\";\nimport { FormJobInfo } from \"./FormJobInfo\";\nimport { ThreeDotsLoading } from \"../../ThreeDotsLoading\";\nimport { PersonalInfoValues, JobInfoValues, QuoteValues } from \"../types\";\n\nimport \"./FormSteps.scss\";\n\nconst initialValue: QuoteValues = {\n name: \"\",\n email: \"\",\n phoneNumber: \"\",\n company: \"\",\n jobDescription: \"\",\n jobAddress: \"\",\n jobCity: \"\",\n jobState: \"\",\n jobZip: \"\",\n};\n\ninterface FormStepsProps {\n onSubmit: (formValues: QuoteValues) => void;\n isLoading: boolean;\n hasError: boolean;\n onClose?: () => void;\n}\n\nconst FormSteps = ({\n onSubmit,\n isLoading,\n hasError,\n onClose,\n}: FormStepsProps) => {\n const [activeStep, setActiveStep] = React.useState(0);\n const [quoteData, setQuoteData] = useState(initialValue);\n\n const handlePersonalSubmit = (values: PersonalInfoValues) => {\n setQuoteData({ ...quoteData, ...values });\n setActiveStep(1);\n };\n\n const handleJobSubmit = async (values: JobInfoValues) => {\n const formData: QuoteValues = { ...quoteData, ...values };\n setQuoteData(formData);\n onSubmit(formData);\n };\n\n const handleOnBack = () => {\n setActiveStep(0);\n };\n\n const renderError = () => {\n return (\n

\n We're sorry something went wrong with your request.\n
\n Please try to submit again and if problem continues you can contact us\n directly\n
\n \n 781.315.5321\n \n
\n \n cjshaughnessycrane@gmail.com\n \n

\n );\n };\n\n const renderButtons = () => {\n const renderSecondaryButton = () => {\n if (activeStep === 1) {\n return (\n \n Back\n \n );\n }\n\n if (onClose !== undefined) {\n return (\n \n Cancel\n \n );\n }\n\n return null;\n };\n\n return (\n <>\n {hasError && renderError()}\n {renderSecondaryButton()}\n \n \n );\n };\n\n const formId = activeStep === 0 ? \"form-1\" : \"form-2\";\n const primaryButtonText = activeStep === 0 ? \"Next\" : \"Submit\";\n\n return (\n <>\n \n LETS GET SOME INFORMATION\n \n \n \n
\n Fill out both steps in the form and we will follow up with a custom\n quote for you\n
\n \n
\n \n \n \n \n \n 0} />\n \n \n {isLoading ? : renderButtons()}\n \n \n );\n};\n\nexport { FormSteps };\n","import React from \"react\";\nimport { Flex } from \"rebass\";\n\ninterface IStackProps {\n direction: \"row\" | \"column\";\n space: number;\n sx?: any;\n alignItems?: string;\n className?: string;\n children?: React.ReactNode;\n}\n\nconst Stack: React.FC = (props) => {\n const {\n direction,\n children,\n space,\n sx,\n alignItems = \"left\",\n className,\n } = props;\n const option = (horizontalOption: string, veriticalOption: string) => {\n return direction === \"row\" ? horizontalOption : veriticalOption;\n };\n const leadingMargin = `${space}px !important`;\n const trailingMargin = `0 !important`;\n const overflow = direction === \"row\" ? { overflow: \"auto\" } : {};\n\n return (\n * + *\": {\n position: \"relative\",\n marginBottom: option(\"\", trailingMargin),\n marginTop: option(\"\", leadingMargin),\n marginRight: option(trailingMargin, \"\"),\n marginLeft: option(leadingMargin, \"\"),\n },\n }}\n >\n {children}\n \n );\n};\n\nexport { Stack };\n","import React from \"react\";\nimport { Box } from \"rebass\";\n\ninterface ITilesProp {\n columns: number | number[];\n minColumnWidth?: number;\n space?: string;\n sx?: any;\n className?: string;\n children?: React.ReactNode;\n}\n\nconst Tiles: React.FC = (props) => {\n const {\n children,\n columns,\n minColumnWidth = \"0\",\n space = \"0\",\n sx,\n className,\n } = props;\n\n const desiredColumnsArray = typeof columns === \"number\" ? [columns] : columns;\n const gridTemplateColumns = desiredColumnsArray.map(\n (desiredColumn) =>\n `repeat(${Math.ceil(\n desiredColumn\n )}, minmax(${minColumnWidth}, 1fr)) !important`\n );\n\n return (\n \n {children}\n \n );\n};\n\nexport { Tiles };\n","import * as React from \"react\";\nimport { Row, Col, Button } from \"react-bootstrap\";\n\nimport { Stack } from \"../../Stack\";\nimport { Tiles } from \"../../Tiles\";\n\nimport logo from \"../../../images/CJS-Guy.png\";\n\nimport \"./FormSuccess.scss\";\n\nconst subHeader1 = `We've received your quote request and are working on it. Someone from our sales team will be in\ncontact with you shortly.`;\n\nconst subHeader2 = `Thank you for considering us with any of your crane, rigging\nor hauling needs. We look forward to working with you!`;\n\ninterface FormSuccessProps {\n onClose?: () => void;\n}\n\nconst FormSuccess = ({ onClose }: FormSuccessProps) => {\n return (\n \n \n \n \n \n
\n
\n \"crane-man-logo\"\n
\n\n
\n

\n Success!\n

\n

{subHeader1}

\n

{subHeader2}

\n {onClose !== undefined && (\n \n )}\n
\n
\n \n
\n\n \n \n \n \n
\n \n
\n\n
\n

\n Success!\n

\n

{subHeader1}

\n

{subHeader2}

\n
\n
\n {onClose !== undefined && (\n \n )}\n \n \n
\n \n
\n );\n};\n\nexport { FormSuccess };\n","import * as React from \"react\";\nimport { Row, Col } from \"react-bootstrap\";\n\nimport { Equipment } from \"../../types\";\n\nimport { useFormData } from \"./useFormData\";\nimport { FormSteps } from \"./FormSteps\";\nimport { FormSuccess } from \"./FormSuccess\";\n\nimport \"./QuoteForm.scss\";\n\ninterface QuoteFormProps {\n onClose?: () => void;\n requestedEquipment?: Equipment;\n}\n\nconst QuoteForm = ({ onClose, requestedEquipment }: QuoteFormProps) => {\n const { isLoading, hasError, showSuccess, submitFormData } =\n useFormData(requestedEquipment);\n\n return (\n \n \n {showSuccess ? (\n \n ) : (\n \n )}\n \n \n );\n};\n\nexport { QuoteForm };\n","import { useState } from \"react\";\nimport axios from \"axios\";\n\nimport { Equipment } from \"../../types\";\nimport { QuoteValues } from \"./types\";\n\nconst useFormData = (requestedEquipment: Equipment | undefined) => {\n const [showSuccess, setShowSuccess] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [hasError, setHasError] = useState(false);\n\n const submitFormData = async (formValues: QuoteValues) => {\n try {\n setIsLoading(true);\n setHasError(false);\n if (requestedEquipment) {\n formValues.requestedEquipment = requestedEquipment.model;\n }\n\n await axios.post(\n \"https://zam4i35byg.execute-api.us-east-1.amazonaws.com/prod/cjs-quote\",\n {\n ...formValues,\n }\n );\n\n setIsLoading(false);\n setShowSuccess(true);\n } catch (err) {\n setIsLoading(false);\n setShowSuccess(false);\n setHasError(true);\n }\n };\n\n return {\n isLoading,\n hasError,\n showSuccess,\n submitFormData,\n };\n};\n\nexport { useFormData };\n","import * as React from \"react\";\nimport { Modal } from \"react-bootstrap\";\n\nimport { QuoteForm } from \"../QuoteForm\";\nimport { Equipment } from \"../../types\";\n\nimport \"./QuoteModal.scss\";\ninterface QuoteModalProps {\n show: boolean;\n onHide: () => void;\n requestedEquipment?: Equipment;\n}\n\nconst QuoteModal = ({ show, onHide, requestedEquipment }: QuoteModalProps) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport { QuoteModal };\n","import React from \"react\";\nimport { useState } from \"react\";\nimport { Button } from \"react-bootstrap\";\n// import ReactGA from \"react-ga\";\n\nimport { Equipment } from \"../../types\";\n// import { gaTracking } from \"../../services\";\nimport { QuoteModal } from \"../QuoteModal\";\n\nimport \"./QuoteButton.scss\";\ninterface QuoteButtonProps {\n variant?: string;\n size?: \"sm\" | \"lg\" | undefined;\n requestedEquipment?: Equipment;\n children?: React.ReactNode;\n}\n\nconst QuoteButton: React.FC = ({\n variant = \"primary\",\n size = \"lg\",\n children = \"Get A Quote\",\n requestedEquipment,\n}) => {\n const [show, setShow] = useState(false);\n const handleClose = () => setShow(false);\n const handleShow = () => {\n // gaTracking.event(\"user\", \"quote_button_clicked\", \"quote button\");\n setShow(true);\n };\n\n return (\n <>\n \n {children}\n \n\n {show && (\n \n )}\n \n );\n};\n\nexport { QuoteButton };\n","import TagManager from \"react-gtm-module\";\n\nconst tagManagerArgs = {\n gtmId: \"GTM-NQ8NXMZ\",\n};\n\nconst init = () => {\n TagManager.initialize(tagManagerArgs);\n};\n\nconst event = (category: string, action: string, label: string) => {\n TagManager.dataLayer({\n dataLayer: {\n event: \"\",\n page: window.location.pathname,\n },\n });\n};\n\nconst pageView = () => {\n TagManager.dataLayer({\n dataLayer: {\n event: \"pageview\",\n page: window.location.pathname,\n },\n });\n};\n\nconst gaTracking = { init, event, pageView };\nexport { gaTracking };\n","import { useState, useEffect } from \"react\";\n\nconst mobileRegex = /Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile|WPDesktop/i;\nconst iOSRegex = /iPhone|iPad|iPod/i;\n\nconst useUserAgent = () => {\n const [isIOS, setIsIOS] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n const [userAgent, setUserAgent] = useState(\"\");\n\n useEffect(() => {\n const agent = window.navigator === undefined ? \"\" : navigator.userAgent;\n setUserAgent(agent);\n setIsMobile(Boolean(agent.match(mobileRegex)));\n setIsIOS(Boolean(agent.match(iOSRegex)));\n }, []);\n\n return { userAgent, isIOS, isMobile };\n};\n\nexport { useUserAgent };\n","import { useEffect } from \"react\";\nimport { useUserAgent } from \"../useUserAgent\";\n\nconst useParallax = (\n element: HTMLDivElement | null,\n isControllingClass: boolean = true\n) => {\n const { isIOS } = useUserAgent();\n\n useEffect(() => {\n if (!element || !isControllingClass) {\n return;\n }\n\n if (isIOS) {\n element.classList.remove(\"background-fixed\");\n return;\n }\n\n element.classList.add(\"background-fixed\");\n }, [element, isIOS]);\n};\n\nexport { useParallax };\n","import React from \"react\";\nimport { useRef } from \"react\";\nimport { Jumbotron, Container, Row, Col } from \"react-bootstrap\";\nimport { QuoteButton } from \"../QuoteButton\";\nimport { Stack } from \"../Stack\";\n\nimport { useParallax } from \"../../hooks\";\n\nimport \"./jumbotron.scss\";\n\ninterface ICjsJumbotronProps {\n header?: string;\n showButton?: boolean;\n message?: string;\n size?: string;\n}\n\nconst defaultMessage = `CJ Shaughnessy Crane is the trusted provider of mobile crane services, rigging, and heavy haul transport for\ncontractors throughout New England.`;\n\nconst CjsJumbotron = (props: ICjsJumbotronProps) => {\n const {\n header = \"WELCOME\",\n showButton = true,\n message = defaultMessage,\n size = \"large\",\n } = props;\n\n const jumbotronElement = useRef(null);\n useParallax(jumbotronElement.current, size === \"large\");\n\n return (\n \n
\n \n \n \n \n \n \n

{header}

\n\n {showButton && (\n
\n \n
\n )}\n
\n \n \n

{message}

\n \n
\n \n
\n\n \n \n \n

{header}

\n \n \n

{message}

\n \n
\n
\n \n
\n \n
\n
\n
\n
\n );\n};\n\nexport { CjsJumbotron };\n","import React from \"react\";\nimport { VerticalTimelineElement } from \"react-vertical-timeline-component\";\nimport StarIcon from \"@material-ui/icons/Star\";\nimport { GiCargoCrane, GiMineTruck, GiForklift } from \"react-icons/gi\";\nimport { FaWarehouse } from \"react-icons/fa\";\n\nimport \"react-vertical-timeline-component/style.min.css\";\nimport \"./CjsEvent.scss\";\nexport interface ICjsEventProp {\n eventType: string;\n header: string;\n subHeader: string;\n description: string;\n date: string;\n overrideIcon?: JSX.Element;\n contentStyle?: any;\n iconStyle?: any;\n}\n\nconst cjsBlueRgb = \"rgb(57, 82, 166)\";\nconst cjsOrangeRgb = \"rgb(253, 144, 59)\";\nconst cjsRedRgb = \"rgb(173, 38, 44)\";\n\nconst eventColors: Record = {\n crane: cjsBlueRgb,\n location: cjsOrangeRgb,\n truck: cjsRedRgb,\n telehandler: cjsBlueRgb,\n};\n\nconst eventIcons: Record = {\n crane: ,\n location: ,\n truck: ,\n telehandler: ,\n none: ,\n};\n\nconst CjsEvent = (props: ICjsEventProp) => {\n const { eventType, header, subHeader, description, date } = props;\n\n const eventColor = eventColors[eventType]\n ? eventColors[eventType]\n : eventColors[\"crane\"];\n\n const icon = eventIcons[eventType]\n ? eventIcons[eventType]\n : eventColors[\"none\"];\n\n const iconStyle = { background: eventColor, color: \"#fff\" };\n\n return (\n \n

{header}

\n {subHeader && (\n

{subHeader}

\n )}\n

{description}

\n \n );\n};\n\nexport { CjsEvent };\n","import { ICjsEventProp } from \"./CjsEvent\";\n\nconst events: ICjsEventProp[] = [\n {\n eventType: \"none\",\n header: \"CJ Shaughnessy Crane Service is founded.\",\n subHeader: \"\",\n description: \"\",\n date: \"June 2012\",\n },\n {\n eventType: \"crane\",\n header: \"New Crane\",\n subHeader: \"Manitex 35124C Boom Truck Purchased\",\n description:\n \"CJ Shaughnessy purchases its first crane to start servicing the local area\",\n date: \"June 2012\",\n },\n {\n eventType: \"crane\",\n header: \"New Crane\",\n subHeader: \"Liebherr LTM 1060-3.1\",\n description:\n \"With a growing number of projects CJS Crane purchases their first Liebherr crane for use\",\n date: \"April 2015\",\n },\n {\n eventType: \"location\",\n header: \"New Location\",\n subHeader: \"CJ Shaughnessy Crane moves its shop to Braintree\",\n description:\n \"With quick access to the highway and a short commute to Boston we found a great location to grow\",\n date: \"Oct 2015\",\n },\n {\n eventType: \"crane\",\n header: \"New Crane\",\n subHeader: \"Liebherr LTM 1100-4.2\",\n description:\n \"To be able to bid higher tonnage jobs this four axle Liebherr was put into service\",\n date: \"2016\",\n },\n {\n eventType: \"truck\",\n header: \"New Truck\",\n subHeader: \"Peterbilt\",\n description:\n \"CJS Crane starts offering hauling services to help its customers\",\n date: \"2016\",\n },\n {\n eventType: \"location\",\n header: \"New Location\",\n subHeader: \"CJ Shaughnessy moves to Bodwell St Avon\",\n description:\n \"CJS Crane purchases its new shop in Avon MA - the expanded shop allows for warehousing customer products and increases capacity for more equipment \",\n date: \"July 2018\",\n },\n {\n eventType: \"crane\",\n header: \"New Crane\",\n subHeader: \"Liebherr LTM 1450-8.1\",\n description:\n \"CJS expands its fleet and lifting capabilities with this 8 axle, 550 ton crane\",\n date: \"Sept 2019\",\n },\n {\n eventType: \"location\",\n header: \"New Location\",\n subHeader: \"Bodwell Expansion\",\n description:\n \"CJS purchases the property adjacent to its existing Bodwell Street yard, adding 25,000 square feet of state of the art warehouse space and additional office space\",\n date: \"June 2021\",\n },\n {\n eventType: \"crane\",\n header: \"New Crane\",\n subHeader: \"Liebherr LTM 1120-4.1\",\n description: \"CJS puts into service its 9th crane\",\n date: \"July 2021\",\n },\n {\n eventType: \"crane\",\n header: \"New Crane\",\n subHeader: \"Liebherr LTM 1060-3.1\",\n description: \"CJS puts into service its 10th crane\",\n date: \"July 2021\",\n },\n {\n eventType: \"telehandler\",\n header: \"New Telehandler\",\n subHeader: \"Manitou MHT 10180\",\n description:\n \"CJS purchases this 40K telelhandler with 30 feet of reach, complementing its existing fleet of telescopic forklifts, now ranging from 10K to 40K\",\n date: \"Jan 2022\",\n },\n {\n eventType: \"crane\",\n header: \"New Crane\",\n subHeader: \"Liebherr LTM 1650-8.1\",\n description:\n \"CJS purchases its biggest crane to date. The 1650 is now the biggest mobile crane operating in Boston.\",\n date: \"November 2022\",\n },\n];\n\nexport { events };\n","import React from \"react\";\nimport {\n VerticalTimeline,\n VerticalTimelineElement,\n} from \"react-vertical-timeline-component\";\nimport StarIcon from \"@material-ui/icons/Star\";\n\nimport { CjsEvent, ICjsEventProp } from \"./CjsEvent\";\nimport { events } from \"./events\";\n\nimport \"react-vertical-timeline-component/style.min.css\";\nimport \"./CjsTimeline.scss\";\n\nconst CjsTimeline = () => {\n const newEvents = events.slice(0).reverse();\n return (\n
\n \n {newEvents.map((event: ICjsEventProp, index: number) => {\n return ;\n })}\n }\n />\n \n
\n );\n};\n\nexport { CjsTimeline };\n","import React from \"react\";\nimport { Card, Button } from \"react-bootstrap\";\n\nimport { Stack } from \"../Stack\";\nimport { QuoteButton } from \"../QuoteButton\";\nimport { Tiles } from \"../Tiles\";\nimport { Equipment } from \"../../types\";\n\nimport \"./EquipmentCard.scss\";\ninterface EquipmentCardProps {\n equipment: Equipment;\n}\n\nconst EquipmentCard = ({ equipment }: EquipmentCardProps) => {\n const { loadChartUrl, imgSrc } = equipment;\n return (\n \n \n \n \n
\n {equipment.model}\n {equipment.manufacturer}\n
\n
\n \n {equipment.specs.map((spec, index) => {\n return (\n

\n {spec.description}
\n {spec.value}\n

\n );\n })}\n
\n
\n\n \n \n Request This {equipment.type}\n \n {loadChartUrl && (\n \n View Load Charts\n \n )}\n \n
\n
\n
\n );\n};\n\nexport { EquipmentCard };\n","import React from \"react\";\nimport { Card } from \"react-bootstrap\";\n\nimport { Equipment } from \"../../types\";\n\nimport \"./EquipmentCardSmall.scss\";\n\ninterface EquipmentCardProps {\n equipment: Equipment;\n}\n\nconst EquipmentCardSmall = ({ equipment }: EquipmentCardProps) => {\n return (\n \n \n \n
\n {equipment.manufacturer} {equipment.model}\n
\n
\n
\n );\n};\n\nexport { EquipmentCardSmall };\n","import React from \"react\";\nimport { InteractionCard, Stack } from \"components\";\n\nimport boomLift from \"images/crane-boom2-small.jpg\";\nimport ltm from \"images/LTM-Background-Small.jpeg\";\nimport cjsGuy from \"images/CJS-Guy.png\";\n\nconst ExploreRow = () => {\n return (\n <>\n \n EXPLORE OUR SITE\n \n

projects - history - equipment

\n

\n Stick around and check out some of our other pages for more information!\n

\n \n
\n \n
\n
\n \n
\n
\n \n
\n \n \n );\n};\n\nexport { ExploreRow };\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Container, Row, Col } from \"react-bootstrap\";\n\nimport { Stack } from \"../Stack\";\n\nimport cjsLogo from \"../../images/cjs-logo-trim.png\";\n\nimport \"./Footer.scss\";\n\nconst Footer = () => {\n return (\n \n \n \n \n
\n \"cjs\n
\n \n \n
\n
\n \n Contact Us\n \n
\n \n \n \n \n Get A Quote\n \n \n Contracts\n \n \n Careers\n \n {/* \n 781.315.5321\n */}\n {/* \n cjshaughnessycrane@gmail.com\n */}\n \n 520 Bodwell St, Avon, MA 02322\n \n \n \n \n
\n \n \n
\n \n \n
\n
Follow Us
\n \n \n \n
\n \n \n
Proud Member of Local 4
\n {/* \"local-4\" */}\n \n
\n
\n \n
\n
\n
\n );\n};\n\nexport { Footer };\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Card, Row, Col } from \"react-bootstrap\";\n\nimport \"./InteractionCard.scss\";\n\ninterface InteractionCardProps {\n title: string;\n href: string;\n imgUrl: string;\n imgAlt: string;\n}\n\nconst InteractionCard = ({\n title,\n href,\n imgAlt,\n imgUrl,\n}: InteractionCardProps) => {\n return (\n \n \n \n {imgAlt}\n
\n \n \n

{title}

\n \n
\n \n
\n
\n );\n};\n\nexport { InteractionCard };\n","import React from \"react\";\nimport { Row, Col } from \"react-bootstrap\";\n\nimport { Stack } from \"../../../components\";\n\nimport \"./TitleSection.scss\";\n\ninterface TitleSectionProps {\n title: string;\n location: string;\n date: string;\n}\n\nconst TitleSection = ({ title, location, date }: TitleSectionProps) => {\n return (\n <>\n

{title}

\n \n \n \n

{date}

\n

{location}

\n
\n \n
\n \n );\n};\n\nexport { TitleSection };\n","import React from \"react\";\nimport { Row, Col } from \"react-bootstrap\";\n\ninterface DescriptionSectionProps {\n description: string;\n}\n\nconst DescriptionSection = ({ description }: DescriptionSectionProps) => {\n return (\n \n \n
{description}
\n \n
\n );\n};\n\nexport { DescriptionSection };\n","import React from \"react\";\nimport { Row, Col } from \"react-bootstrap\";\n\nimport { Equipment } from \"../../../types\";\nimport { EquipmentCardSmall } from \"../../EquipmentCard\";\nimport { Stack } from \"../../Stack\";\n\nimport \"./EquipmentSection.scss\";\n\ninterface EquipmentSectionProps {\n equipment: Equipment[];\n}\n\nconst renderEquipmentCard = (equipment: Equipment, index: number) => {\n return (\n
\n \n
\n );\n};\n\nconst EquipmentSection = ({ equipment }: EquipmentSectionProps) => {\n return (\n \n \n
\n Equipment Used\n
\n \n {equipment.map(renderEquipmentCard)}\n \n \n
\n );\n};\n\nexport { EquipmentSection };\n","import React from \"react\";\nimport { Row, Col } from \"react-bootstrap\";\n\nimport { JobSpec } from \"../../../types\";\nimport { JobSpecCard, Tiles } from \"components\";\n\nimport \"./SpecSection.scss\";\n\ninterface SpecSectionProps {\n specs: JobSpec[];\n}\n\nconst SpecSection = ({ specs }: SpecSectionProps) => {\n return (\n \n \n
\n Job Specs\n
\n \n {specs.map((spec, index) => {\n return (\n \n );\n })}\n \n \n
\n );\n};\n\nexport { SpecSection };\n","import React from \"react\";\nimport { Carousel } from \"react-bootstrap\";\n\nimport \"./PhotoCarousel.scss\";\n\ninterface PhotoSectionProps {\n photoUrls: string[];\n}\n\nconst renderPhoto = (photoUrl: string, index: number) => {\n return (\n \n
\n
\n \n
\n
\n
\n );\n};\n\nconst PhotoCarousel = ({ photoUrls }: PhotoSectionProps) => {\n return (\n {photoUrls.map(renderPhoto)}\n );\n};\n\nexport { PhotoCarousel };\n","import React from \"react\";\nimport { useState } from \"react\";\nimport {\n Card,\n ToggleButtonGroup,\n ToggleButton,\n Row,\n Col,\n} from \"react-bootstrap\";\n\nimport { Job } from \"../../types\";\nimport { TitleSection } from \"./TitleSection\";\nimport { DescriptionSection } from \"./DescriptionSection\";\nimport { EquipmentSection } from \"./EquipmentSection\";\nimport { SpecSection } from \"./SpecSection\";\nimport { PhotoCarousel } from \"./PhotoCarousel\";\n\nimport \"./JobCard.scss\";\ninterface JobCardProps {\n job: Job;\n}\n\nconst JobCard = ({ job }: JobCardProps) => {\n const {\n title,\n description,\n date,\n location,\n photoUrls,\n specs,\n equipmentUsed,\n } = job;\n const [selectedView, setSelectedView] = useState(\"info\");\n\n const handleOnChange = (value: string) => {\n if (value === \"photos\") {\n setSelectedView(\"photos\");\n return;\n }\n setSelectedView(\"info\");\n };\n\n const shouldRenderPhotos = selectedView === \"photos\";\n\n return (\n \n \n \n \n \n \n \n \n \n Job Details\n \n \n Photos\n \n \n \n \n \n \n \n {shouldRenderPhotos && (\n \n \n \n )}\n {!shouldRenderPhotos && (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n \n );\n};\n\nexport { JobCard };\n","import React from \"react\";\nimport { Card } from \"react-bootstrap\";\n\nimport \"./JobSpecCard.scss\";\n\ninterface JobSpecCardProps {\n value: string;\n title: string;\n}\n\nconst JobSpecCard = ({ value, title }: JobSpecCardProps) => {\n return (\n
\n \n \n

{title}

\n
{value}
\n
\n
\n
\n );\n};\n\nexport { JobSpecCard };\n","import * as React from \"react\";\nimport { Modal } from \"react-bootstrap\";\nimport { Row, Col } from \"react-bootstrap\";\n\nimport { JobCard } from \"../JobCard\";\n\nimport { Job } from \"../../types\";\n\nimport \"./JobModal.scss\";\n\ninterface JobModalProps {\n show: boolean;\n onHide: () => void;\n job: Job;\n}\n\nconst JobModal = ({ show, onHide, job }: JobModalProps) => {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport { JobModal };\n","import React from \"react\";\nimport { useState } from \"react\";\nimport { Stack } from \"../Stack\";\nimport { Card, Row, Col } from \"react-bootstrap\";\n\nimport { Job } from \"../../types\";\nimport { JobModal } from \"../JobModal\";\n\nimport \"./JobSummaryCard.scss\";\n\ninterface JobSummaryCardProps {\n job: Job;\n}\n\nconst JobSummaryCard = ({ job }: JobSummaryCardProps) => {\n const { title, date, location, summaryPhoto } = job;\n\n const [show, setShow] = useState(false);\n const handleClose = () => {\n setShow(false);\n };\n const handleShow = () => {\n setShow(true);\n };\n\n return (\n \n \n \n
\n \n \n

{title}

\n \n \n \n

{date}

\n

{location}

\n
\n \n
\n \n
\n
\n {show && }\n
\n );\n};\n\nexport { JobSummaryCard };\n","import { useRef } from \"react\";\nimport { useIntersectionObserver } from \"hooks\";\n\nconst addBg = (navBar: HTMLDivElement | null, bgClass: string) => {\n if (navBar === null) {\n return;\n }\n navBar.classList.add(bgClass);\n};\n\nconst removeBg = (navBar: HTMLDivElement | null, bgClass: string) => {\n if (navBar === null) {\n return;\n }\n navBar.classList.remove(bgClass);\n};\n\nconst useDynamicNavbar = () => {\n const navBarEl = useRef(null);\n\n const handleJumboAppearing = () => {\n removeBg(navBarEl.current, \"dark-background\");\n };\n\n const handleJumboDisappearing = () => {\n addBg(navBarEl.current, \"dark-background\");\n };\n\n const handleOnToggle = (expanded: boolean) => {\n if (navBarEl.current === null) {\n return;\n }\n\n if (expanded) {\n addBg(navBarEl.current, \"open-background\");\n return;\n }\n\n removeBg(navBarEl.current, \"open-background\");\n };\n\n useIntersectionObserver(\n \".cjs-jumbotron\",\n handleJumboAppearing,\n handleJumboDisappearing\n );\n\n return { handleOnToggle, navBarEl };\n};\n\nexport { useDynamicNavbar };\n","import { useEffect, useRef } from \"react\";\n\nconst useIntersectionObserver = (\n watchClass: string,\n onAppear: () => void,\n onDisappear: () => void\n) => {\n const watchRef = useRef(null);\n\n useEffect(() => {\n watchRef.current = document.querySelector(watchClass);\n if (watchRef.current === null) {\n return;\n }\n\n const handler: IntersectionObserverCallback = (entries) => {\n if (entries[0].isIntersecting) {\n onAppear();\n } else {\n onDisappear();\n }\n };\n\n const intersectionObserver = new IntersectionObserver(handler, {\n rootMargin: \"-115px 0px 0px 0px\",\n });\n intersectionObserver.observe(watchRef.current);\n\n return () => {\n if (watchRef.current === null) {\n return;\n }\n intersectionObserver.unobserve(watchRef.current);\n };\n }, [watchClass, onAppear, onDisappear]);\n};\n\nexport { useIntersectionObserver };\n","import React from \"react\";\nimport { useEffect } from \"react\";\nimport { NavLink } from \"react-router-dom\";\nimport { useLocation, useHistory } from \"react-router\";\nimport { ImPhone } from \"react-icons/im\";\nimport { Container, Navbar, Nav, Button } from \"react-bootstrap\";\n\nimport { gaTracking } from \"services\";\nimport { Stack, QuoteButton } from \"components\";\n\nimport { useDynamicNavbar } from \"./useDynamicNavbar\";\n\nimport logo from \"images/cjs-logo-trim-small.png\";\n\nimport \"./navbar.scss\";\n\nconst NavBar = () => {\n const location = useLocation();\n const history = useHistory();\n\n useEffect(() => {\n return history.listen(() => {\n gaTracking.pageView();\n });\n }, [history]);\n\n const { navBarEl, handleOnToggle } = useDynamicNavbar();\n\n return (\n \n \n \n \n \n \"CJS\n \n \n \n {/* */}\n Get A Quote\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport { NavBar };\n","import React from \"react\";\nimport { Helmet } from \"react-helmet\";\n\ntype PageHelmetProps = {\n title: string;\n description: string;\n};\n\nconst PageHelmet = ({ title, description }: PageHelmetProps) => {\n return (\n \n {title}\n \n \n \n \n );\n};\n\nexport { PageHelmet };\n","import { useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nconst ScrollToTop = () => {\n const { pathname } = useLocation();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname]);\n\n return null;\n};\n\nexport { ScrollToTop };\n","import React from \"react\";\nimport { Row, Col } from \"react-bootstrap\";\nimport { ServiceCard, Stack } from \"../../components\";\n\nimport bose from \"../../images/BosePick.jpg\";\nimport hauling from \"../../images/hauling-2.jpg\";\nimport rigging from \"../../images/rigging-1-small.jpg\";\n\nimport \"./ServicesSection.scss\";\n\ninterface ServiceCardInfo {\n title: string;\n description: string;\n photoUrl: string;\n altText: string;\n}\n\nconst services: ServiceCardInfo[] = [\n {\n title: \"HOISTING\",\n description: `We are experts at properly planning your lift, ensuring a\n safe and successful placement of your equipment. We leave\n nothing to chance and carefully plan your lift before it\n takes place.`,\n photoUrl: bose,\n altText: \"CJS Crane Bose Hositing Lift\",\n },\n {\n title: \"RIGGING\",\n description: `At CJS Crane, we are routinely entrusted with moving\n equipment worth several million dollars. Planning and safety\n are our guiding principles. Regardless of how tight the\n surroundings or the opening, we have the right equipment to\n do the job.`,\n photoUrl: rigging,\n altText: \"CJS Crane Rigging\",\n },\n {\n title: \"HAULING\",\n description: `We have years of experience transporting unique, over\n dimensioned loads, and we make sure your equipment arrives\n safely. We only work with the industry's best equipment ensuring that if the job can be done we can do it.`,\n photoUrl: hauling,\n altText: \"CJS Crane Truck Hauling\",\n },\n];\n\nconst ServicesSection = () => {\n return (\n <>\n \n OUR SERVICES\n \n

hoisting - rigging - hauling

\n \n \n

\n At CJ Shaughnessy Crane Service, we focus on exceptional service for\n all your mobile hoisting and rigging needs. We realize all mobile\n hoisting and rigging jobs are not the same. Our goal is to form long\n term, professional relationships with customers, and our flexible\n scheduling options are designed to fit your needs.\n

\n \n
\n\n \n \n {services.map((service: ServiceCardInfo) => {\n return (\n \n );\n })}\n \n \n\n \n \n {services.map((service: ServiceCardInfo) => {\n return (\n \n );\n })}\n \n \n \n );\n};\n\nexport { ServicesSection };\n","import React from \"react\";\nimport { Card } from \"react-bootstrap\";\n\nimport \"./ServiceCard.scss\";\ninterface IServiceCardProps {\n title: string;\n description: string;\n photoUrl: string;\n altText: string;\n}\n\nconst ServiceCard = ({\n title,\n description,\n photoUrl,\n altText,\n}: IServiceCardProps) => {\n return (\n
\n \n \n \n

{title}

\n

{description}

\n
\n
\n
\n );\n};\n\nexport { ServiceCard };\n","import React from \"react\";\nimport { useRef } from \"react\";\nimport { Container, Row, Col } from \"react-bootstrap\";\n\nimport { useParallax } from \"hooks\";\nimport {\n CjsJumbotron,\n InteractionCard,\n Stack,\n QuoteButton,\n ServicesSection,\n PageHelmet,\n} from \"components\";\n\nimport boomLift from \"images/crane-boom2-small.jpg\";\nimport ltm from \"images/LTM-Background-Small.jpeg\";\nimport cjsGuy from \"images/CJS-Guy.png\";\n\nimport \"./home.scss\";\n\nconst Home = () => {\n const fullWidthElement = useRef(null);\n useParallax(fullWidthElement.current, true);\n\n return (\n \n \n \n \n \n
\n
\n \n \n
\n

Let's find the right equipment for your job!

\n

We're ready to get started.

\n \n
\n \n
\n
\n \n \n \n EXPLORE OUR SITE\n \n

projects - history - equipment

\n

\n Stick around and check out some of our other pages for more\n information!\n

\n \n
\n \n
\n
\n \n
\n
\n \n
\n \n \n
\n
\n
\n );\n};\n\nexport { Home };\n","import { Equipment as IEquipment, EquipmentType } from \"../../types\";\n\nimport LtmBig from \"../../images/LTM-BigScaled.png\";\nimport Ltm1650 from \"../../images/LTM-1650-8-1.png\";\nimport Ltm1200 from \"../../images/LTM-1200-5-1.png\";\nimport Ltm1100 from \"../../images/LTM-1100-4-2.png\";\nimport Ltm1120 from \"../../images/LTM-1120-4-1.png\";\nimport Ltm1060 from \"../../images/LTM-1060-3-1.png\";\nimport Manitex from \"../../images/Manitex-40124.png\";\nimport Truck from \"../../images/Truck.png\";\nimport Peterbilt from \"../../images/Peterbilt-389.png\";\nimport Xtreme from \"../../images/Xtreme-XR-1570C.png\";\nimport Manitou from \"../../images/Manitou-MHT-10180.png\";\n\nconst cranes: IEquipment[] = [\n {\n type: EquipmentType.Crane,\n manufacturer: \"Liebherr\",\n model: \"LTM 1650-8.1\",\n serviceDate: \"Mobile Crane\",\n imgSrc: Ltm1650,\n loadChartUrl: \"/loadCharts/ltm-1650-8-1.pdf\",\n specs: [\n { description: \"Load Capacity\", value: \"770 Tons\" },\n { description: \"Axles\", value: \"8\" },\n { description: \"Engine\", value: \"686 HP\" },\n { description: \"Boom Height\", value: \"263 ft\" },\n { description: \"Max Radius\", value: \"370 ft\" },\n { description: \"Hoist Height\", value: \"499 ft\" },\n ],\n quantity: 1,\n },\n {\n type: EquipmentType.Crane,\n manufacturer: \"Liebherr\",\n model: \"LTM 1450-8.1\",\n serviceDate: \"Mobile Crane\",\n imgSrc: LtmBig,\n loadChartUrl: \"/loadCharts/ltm-1450-8-1.pdf\",\n specs: [\n { description: \"Load Capacity\", value: \"550 Tons\" },\n { description: \"Axles\", value: \"8\" },\n { description: \"Engine\", value: \"686 HP\" },\n { description: \"Boom Height\", value: \"279 ft\" },\n { description: \"Max Radius\", value: \"355 ft\" },\n { description: \"Hoist Height\", value: \"433 ft\" },\n ],\n quantity: 1,\n },\n {\n type: EquipmentType.Crane,\n manufacturer: \"Liebherr\",\n model: \"LTM 1200-5.1\",\n serviceDate: \"Mobile Crane\",\n imgSrc: Ltm1200,\n loadChartUrl: \"/loadCharts/ltm-1200-5-1.pdf\",\n specs: [\n { description: \"Load Capacity\", value: \"240 Tons\" },\n { description: \"Axles\", value: \"5\" },\n { description: \"Engine\", value: \"503 HP\" },\n { description: \"Boom Height\", value: \"236 ft\" },\n { description: \"Max Radius\", value: \"282 ft\" },\n { description: \"Hoist Height\", value: \"364 ft\" },\n ],\n quantity: 1,\n },\n {\n type: EquipmentType.Crane,\n manufacturer: \"Liebherr\",\n model: \"LTM 1120-4.1\",\n serviceDate: \"Mobile Crane\",\n imgSrc: Ltm1120,\n loadChartUrl: \"/loadCharts/ltm-1120-4-1.pdf\",\n specs: [\n { description: \"Load Capacity\", value: \"135 Tons\" },\n { description: \"Axles\", value: \"4\" },\n { description: \"Engine\", value: \"449 HP\" },\n { description: \"Boom Height\", value: \"217 ft\" },\n { description: \"Max Radius\", value: \"210 ft\" },\n { description: \"Hoist Height\", value: \"299 ft\" },\n ],\n quantity: 1,\n },\n {\n type: EquipmentType.Crane,\n manufacturer: \"Liebherr\",\n model: \"LTM 1100-4.2\",\n serviceDate: \"Mobile Crane\",\n imgSrc: Ltm1100,\n loadChartUrl: \"/loadCharts/ltm-1100-4-2.pdf\",\n specs: [\n { description: \"Load Capacity\", value: \"120 Tons\" },\n { description: \"Axles\", value: \"4\" },\n { description: \"Engine\", value: \"476 HP\" },\n { description: \"Boom Height\", value: \"197 ft\" },\n { description: \"Max Radius\", value: \"190 ft\" },\n { description: \"Hoist Height\", value: \"299 ft\" },\n ],\n quantity: 2,\n },\n {\n type: EquipmentType.Crane,\n manufacturer: \"Liebherr\",\n model: \"LTM 1090-4.2\",\n serviceDate: \"Mobile Crane\",\n imgSrc: Ltm1100,\n loadChartUrl: \"/loadCharts/ltm-1090-4-2.pdf\",\n specs: [\n { description: \"Load Capacity\", value: \"110 Tons\" },\n { description: \"Axles\", value: \"4\" },\n { description: \"Engine\", value: \"449 HP\" },\n { description: \"Boom Height\", value: \"197 ft\" },\n { description: \"Max Radius\", value: \"203 ft\" },\n { description: \"Hoist Height\", value: \"249 ft\" },\n ],\n quantity: 1,\n },\n {\n type: EquipmentType.Crane,\n manufacturer: \"Liebherr\",\n model: \"LTM 1060-3.1\",\n serviceDate: \"Mobile Crane\",\n imgSrc: Ltm1060,\n loadChartUrl: \"/loadCharts/ltm-1060-3-1.pdf\",\n specs: [\n { description: \"Load Capacity\", value: \"70 Tons\" },\n { description: \"Axles\", value: \"3\" },\n { description: \"Engine\", value: \"367 HP\" },\n { description: \"Boom Height\", value: \"158 ft\" },\n { description: \"Max Radius\", value: \"155 ft\" },\n { description: \"Hoist Height\", value: \"207 ft\" },\n ],\n quantity: 4,\n },\n {\n type: EquipmentType.Crane,\n manufacturer: \"Manitex\",\n model: \"35124 C\",\n serviceDate: \"Boom Truck\",\n imgSrc: Manitex,\n loadChartUrl: \"/loadCharts/manitex-35124-C.pdf\",\n specs: [\n { description: \"Load Capacity\", value: \"35 Tons\" },\n { description: \"Axles\", value: \"3\" },\n { description: \"Engine\", value: \"350 HP\" },\n { description: \"Boom Height\", value: \"158 ft\" },\n { description: \"\", value: \"\" },\n { description: \"\", value: \"\" },\n ],\n quantity: 1,\n },\n {\n type: EquipmentType.Crane,\n manufacturer: \"Manitex\",\n model: \"40124 SHL\",\n serviceDate: \"Boom Truck\",\n imgSrc: Manitex,\n loadChartUrl: \"/loadCharts/manitex-40124-SHL.pdf\",\n specs: [\n { description: \"Load Capacity\", value: \"40 Tons\" },\n { description: \"Axles\", value: \"3\" },\n { description: \"Engine\", value: \"450 HP\" },\n { description: \"Boom Height\", value: \"197 ft\" },\n { description: \"\", value: \"\" },\n { description: \"\", value: \"\" },\n ],\n quantity: 1,\n },\n];\n\nconst trucks: IEquipment[] = [\n {\n type: EquipmentType.Truck,\n manufacturer: \"Peterbilt\",\n model: \"389\",\n serviceDate: \"2015\",\n imgSrc: Peterbilt,\n specs: [\n { description: \"Towing Capacity\", value: \"10 Tons\" },\n { description: \"Axles\", value: \"3\" },\n ],\n },\n {\n type: EquipmentType.Truck,\n manufacturer: \"Peterbilt\",\n model: \"389\",\n serviceDate: \"2018\",\n imgSrc: Peterbilt,\n specs: [\n { description: \"Towing Capacity\", value: \"10 Tons\" },\n { description: \"Axles\", value: \"3\" },\n ],\n },\n {\n type: EquipmentType.Truck,\n manufacturer: \"Kenworth\",\n model: \"W900\",\n serviceDate: \"2020\",\n imgSrc: Truck,\n specs: [\n { description: \"Towing Capacity\", value: \"10 Ton\" },\n { description: \"Axles\", value: \"3\" },\n ],\n },\n];\n\nconst telehandlers: IEquipment[] = [\n {\n type: EquipmentType.Telehandler,\n manufacturer: \"Lull\",\n model: \"1044C-54\",\n serviceDate: \"2019\",\n imgSrc: Xtreme,\n specs: [\n { description: \"Capacity\", value: \"10,000 lbs\" },\n { description: \"Lift Height\", value: \"54 ft\" },\n ],\n },\n {\n type: EquipmentType.Telehandler,\n manufacturer: \"Xtreme\",\n model: \"XR1570-C\",\n serviceDate: \"2019\",\n imgSrc: Xtreme,\n specs: [\n { description: \"Capacity\", value: \"15,000 lbs\" },\n { description: \"Lift Height\", value: \"70 ft\" },\n ],\n },\n {\n type: EquipmentType.Telehandler,\n manufacturer: \"Manitou\",\n model: \"MHT 10180\",\n serviceDate: \"2022\",\n imgSrc: Manitou,\n specs: [\n { description: \"Capacity\", value: \"40,000 lbs\" },\n { description: \"Lift Height\", value: \"30 ft\" },\n ],\n },\n];\n\nexport { cranes, trucks, telehandlers };\n","import React from \"react\";\nimport { useState } from \"react\";\nimport {\n Container,\n ToggleButtonGroup,\n ToggleButton,\n Row,\n Col,\n} from \"react-bootstrap\";\nimport { motion } from \"framer-motion\";\n\nimport {\n CjsJumbotron,\n EquipmentCard,\n Tiles,\n Stack,\n PageHelmet,\n} from \"components\";\nimport { Equipment as IEquipment } from \"types\";\n\nimport { cranes, trucks, telehandlers } from \"./equipmentList\";\n\nimport \"./equipment.scss\";\n\nconst renderCraneCard = (crane: IEquipment, index: number) => {\n return (\n \n \n \n );\n};\n\nconst Equipment = () => {\n const [equipment, setEquipment] = useState(cranes);\n\n const handleOnChange = (value: string) => {\n if (value === \"cranes\") {\n setEquipment(cranes);\n return;\n } else if (value === \"trucks\") {\n setEquipment(trucks);\n return;\n }\n setEquipment(telehandlers);\n };\n\n return (\n \n \n \n \n \n
\n \n \n \n BEST IN CLASS\n \n

LIEBHERR - PETERBILT - KENWORTH

\n

\n At CJ Shaughnessy Crane Service, we believe in running with\n the industry's best equipment. This allows us to take on\n challenging work with ease while maintaining our core ethos of\n safety.\n

\n \n
\n
\n \n \n \n \n Cranes\n \n \n Trucks\n \n \n Telehandlers\n \n \n \n \n\n \n \n {equipment.map(renderCraneCard)}\n \n \n\n \n \n {equipment.map(renderCraneCard)}\n \n \n
\n
\n
\n );\n};\n\nexport { Equipment };\n","import React from \"react\";\nimport { Container, Row, Col } from \"react-bootstrap\";\n\nimport { CjsJumbotron, CjsTimeline, Stack, PageHelmet } from \"components\";\nimport { cranes } from \"routes/equipment\";\n\nimport logoGuy from \"images/CJS-Guy.png\";\nimport \"./about.scss\";\n\nconst serviceYears = new Date().getFullYear() - 2012;\nconst craneCount = cranes.reduce((acc, crane) => {\n return acc + (crane.quantity ?? 0);\n}, 0);\n\nconst About = () => {\n return (\n \n \n\n \n \n \n
\n \n \n \n OUR STORY\n \n

founded in 2012

\n

\n In 2012, founder Chris Shaughnessy took a risk as a young\n entrepreneur and purchased his first crane, a 35 ton boom\n truck. Coming from a family with over 100 years in the crane\n industry, Chris made a concious decision to break away and\n start a company of his own. With a focus on reliability,\n quality service and safety he saw an opportunity to grow.\n Since then CJ Shaughnessy Crane has done just that servicing\n the greater Boston area for the past {serviceYears} years. Now\n operating with {craneCount} cranes along with an entire\n trucking and warehousing service that is best in class we look\n forward to projects big and small.\n

\n \n \n \"CJS\n \n
\n
\n
\n \n OUR HISTORY\n \n

Scroll through the growth of CJS Crane

\n \n
\n
\n
\n
\n );\n};\n\nexport { About };\n","import { Job } from \"../../types\";\nimport { cranes } from \"../equipment/equipmentList\";\n\nimport childrensLift from \"../../images/childrens.jpg\";\n\nconst jobs: Job[] = [\n {\n title: \"Childrens Hospital Air Handler Replacement\",\n description: `We replaced a 30,000 lb air handler from the top of Childrens\n Hospital. This lift involved our LTM 1450 crane. The area was a\n tight fit but we were able to maneauver the air handler without any\n issues`,\n date: \"November 2020\",\n location: \"Boston MA\",\n equipmentUsed: [cranes[1]],\n specs: [\n { title: \"Pick Height\", value: \"300 ft\" },\n { title: \"Pick Radius\", value: \"400 ft\" },\n { title: \"Load Weight\", value: \"30,000 lbs\" },\n { title: \"Clearance\", value: \"10 ft\" },\n ],\n photoUrls: [childrensLift],\n summaryPhoto: childrensLift,\n },\n];\n\nexport { jobs };\n","import * as React from \"react\";\nimport { Container, Row, Col } from \"react-bootstrap\";\n\nimport {\n CjsJumbotron,\n Stack,\n Tiles,\n JobSummaryCard,\n PageHelmet,\n} from \"components\";\n\nimport { jobs } from \"./jobList\";\n\nconst Work = () => {\n return (\n \n \n \n \n
\n \n \n

\n RECENT JOBS\n

\n

\n Check out some of our recent jobs we've finished. Click on each\n one for more information and photos!\n

\n \n
\n
\n \n \n \n \n {jobs.map((job, index) => {\n return (\n
\n \n
\n );\n })}\n
\n
\n\n \n \n {jobs.map((job, index) => {\n return (\n
\n \n
\n );\n })}\n
\n
\n \n \n
\n
\n );\n};\n\nexport { Work };\n","import * as React from \"react\";\nimport { Container, Row, Col } from \"react-bootstrap\";\n\nimport {\n CjsJumbotron,\n Stack,\n QuoteForm,\n ExploreRow,\n PageHelmet,\n} from \"components\";\n\nconst Quote = () => {\n return (\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport { Quote };\n","import * as React from \"react\";\nimport { Container, Row, Col, Card } from \"react-bootstrap\";\n\nimport { CjsJumbotron, Stack, QuoteForm, PageHelmet } from \"components\";\n\nimport \"./contact.scss\";\n\nconst Contact = () => {\n return (\n \n \n \n \n \n \n \n \n \n REACH OUT\n \n

phone - email - quote

\n

\n We'd love to hear from you - you can reach us directly or fill\n out the form below to get a free quote!\n

\n \n
\n \n \n \n \n \n

Our Locations

\n \n \n
\n Shop and Main Yard -{\" \"}\n \n 520 Bodwell St, Avon, MA 02322\n \n
\n
\n Main Office & Warehouse -{\" \"}\n \n 500 Bodwell St, Avon, MA 02322\n \n
\n
\n Warehouse -{\" \"}\n \n 108 Bodwell St, Avon, MA 02322\n \n
\n
\n\n \n \n
\n Office Hours\n
\n

Mon-Fri 7am-5pm

\n
\n \n
\n Shipping & Receiving Hours\n
\n

Forklift Offload: Mon-Fri 7am-2pm

\n

Crane Offload: Mon-Fri 7am-1pm

\n \n
\n
\n \n
\n
\n \n \n \n \n

Get In Touch

\n \n \n \n
\n Email\n
\n \n cjshaughnessycrane@gmail.com\n \n
\n \n
\n Scheduling/Job Requests\n
\n \n 781.315.5321\n \n
\n \n \n
\n Front Desk\n
\n \n 508.857.2769\n \n
\n \n
\n Shipping & Receiving\n
\n \n 508.857.2769 ext 1\n \n
\n \n
\n\n \n \n facebook\n \n \n instagram\n \n \n linkedin\n \n \n \n
\n
\n \n
\n \n \n \n \n \n \n \n
\n
\n
\n );\n};\n\nexport { Contact };\n","import React from \"react\";\nimport { Container, Row, Col, Card } from \"react-bootstrap\";\n\nimport { Stack, CjsJumbotron, CareerForm, PageHelmet } from \"components\";\n\nconst Career = () => {\n return (\n \n \n \n \n \n
\n \n \n \n JOIN OUR TEAM\n \n

Apply Below

\n \n
\n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n );\n};\n\nexport { Career };\n","export type ContractPdf = {\n display: string;\n filename: string;\n};\n\nexport const contractList: ContractPdf[] = [\n {\n display: \"Master Cargo Hauling Agreement\",\n filename: \"C.J. Shaughnessy - Master Cargo Hauling Agreement 2022.pdf\",\n },\n {\n display: \"Bill of Lading\",\n filename: \"C.J. Shaughnessy - Bill of Lading 2022.pdf\",\n },\n {\n display: \"Short Term Service Agreement\",\n filename: \"C.J. Shaughnessy - Crane Rental Service Agreement 2022.pdf\",\n },\n {\n display: \"Leased Employee Agreement\",\n filename: \"C.J. Shaughnessy - Leased Employee Agreement 2022.pdf\",\n },\n {\n display: \"500 Bodwell Yard-Warehouse Storage Agreement\",\n filename:\n \"C.J. Shaughnessy 500 Bodwell - Yard-Warehouse Storage Agreement 2022.pdf\",\n },\n {\n display: \"520 Bodwell Yard-Warehouse Storage Agreement\",\n filename:\n \"C.J. Shaughnessy 520 Bodwell - Yard-Warehouse Storage Agreement 2022.pdf\",\n },\n {\n display: \"Cargo Damage Waiver\",\n filename: \"C.J. Shaughnessy - Cargo Damage Waiver 2022.pdf\",\n },\n {\n display: \"Massachusetts Subcontractor Agreement\",\n filename: \"C.J. Shaughnessy - (MA) Subcontractor Agreement 2023.pdf\",\n },\n];\n","import * as React from \"react\";\nimport { Container, Row, Col, Button } from \"react-bootstrap\";\n\nimport { CjsJumbotron, Stack, ExploreRow, PageHelmet } from \"components\";\n\nimport { contractList } from \"./contractList\";\n\nconst Contracts = () => {\n return (\n \n \n \n \n \n \n \n DOWNLOAD\n \n

\n CLICK TO DOWNLOAD OR VIEW OUR CONTRACTS{\" \"}\n

\n \n
\n \n \n \n {contractList.map((contract) => {\n return (\n \n {contract.display}\n \n );\n })}\n \n \n \n \n \n \n \n \n
\n
\n );\n};\n\nexport { Contracts };\n","import React from \"react\";\nimport { Switch, Route, BrowserRouter } from \"react-router-dom\";\nimport { NavBar, Footer, ScrollToTop } from \"./components\";\nimport {\n Home,\n Equipment,\n About,\n Work,\n Quote,\n Contact,\n Career,\n Contracts,\n} from \"./routes\";\n\nimport \"./App.scss\";\n\nconst App = () => (\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n