{"version":3,"file":"component---src-pages-courses-bentley-js-160cc8ae213b98992380.js","mappings":"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","sources":["webpack://ace-industrial-academy/./src/components/buttons/btn.js","webpack://ace-industrial-academy/./src/components/cards/all-courses.js","webpack://ace-industrial-academy/./src/components/home/testimonials/testimony/Testimony.js","webpack://ace-industrial-academy/./src/components/link.js","webpack://ace-industrial-academy/./src/components/product-detail/itemReviews/styles.js","webpack://ace-industrial-academy/./src/components/product-detail/itemReviews/Reviews.js","webpack://ace-industrial-academy/./src/components/slider-courses.js","webpack://ace-industrial-academy/./src/context/mailto.tsx","webpack://ace-industrial-academy/./src/components/titleBanner/TitleBanner.js","webpack://ace-industrial-academy/./src/components/titleBanner/TitleBannerEnquiry.js","webpack://ace-industrial-academy/./src/pages/courses-bentley.js"],"sourcesContent":["import React from \"react\"\nimport Link from \"../link\"\nimport styled from \"styled-components\"\n\nlet Button = styled.div`\n -webkit-appearance: unset !important;\n border-radius: 0.35rem;\n background: ${(props) => props.background || \"#007bff\"};\n box-shadow: 0 0.5rem 1.5rem rgba(22, 28, 45, 0.1);\n color: ${(props) => props.color || \"white\"};\n display: inline-block;\n padding: 0.8125rem 1.25rem;\n transition-duration: 0.25s;\n font-size: 1.2rem;\n border: none;\n &:hover {\n transform: translateY(-3px);\n box-shadow: 0 1rem 2.5rem rgba(22, 28, 45, 0.1),\n 0 0.5rem 1rem -0.75rem rgba(22, 28, 45, 0.1);\n }\n`\n\nlet Btn = ({ to, children, ...props }) => {\n if (to) {\n return (\n \n \n \n )\n }\n return (\n \n )\n}\n\nexport default Btn\n","import React, { useEffect, useState } from \"react\"\nimport { Container, Col, Row } from \"reactstrap\"\nimport styled from \"styled-components\"\nimport { useStaticQuery, graphql, Link } from \"gatsby\"\nimport Img from \"gatsby-image\"\nimport { Box, Heading, Paragraph } from \"grommet\"\n\nlet StyledFeature = styled(Link)`\n text-text-decoration: none;\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);\n transition-duration: 0.25s;\n\n &:hover {\n box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2);\n text-decoration: none;\n }\n`\n\nlet Feature = ({ title, description, img, slug }) => (\n \n \n \n \n \n {title}\n \n {description}\n \n \n \n)\n\nconst AllCourses = ({ courses }) => {\n return (\n \n \n {courses?.map((course, i) => (\n \n ))}\n \n \n )\n}\n\nexport default AllCourses\n","import React from \"react\"\nimport { GatsbyImage, StaticImage } from \"gatsby-plugin-image\"\nimport { graphql, useStaticQuery } from \"gatsby\"\nimport \"./style.scss\"\n\nconst Testimony = (props) => {\n const { review, fromDetailPage } = props\n\n const data = useStaticQuery(graphql`\n query {\n allFile(filter: { extension: { regex: \"/(jpg|jpeg|png|gif)/\" } }) {\n edges {\n node {\n relativePath\n childImageSharp {\n gatsbyImageData(width: 45, quality: 100)\n }\n }\n }\n }\n }\n `)\n\n const image = data.allFile.edges.find(edge =>\n edge.node.relativePath.includes(review.image)\n )?.node.childImageSharp.gatsbyImageData\n\n return (\n
\n
\n \n \n \n \n \n
\n\n
\n

{review.content}

\n
\n\n
\n
\n {image ? (\n \n ) : (\n

Image not found

\n )}\n
\n\n
\n

{review.person}

\n
\n {review.role} Student\n
\n
\n
\n
\n )\n}\nexport default Testimony","import React from \"react\"\nimport { Link as GatsbyLink } from \"gatsby\"\n// Since DOM elements cannot receive activeClassName\n// and partiallyActive, destructure the prop here and\n// pass it only to GatsbyLink\nconst Link = ({\n children,\n to,\n activeClassName,\n partiallyActive,\n ...other\n}) => {\n // Tailor the following test to your environment.\n // This example assumes that any internal link (intended for Gatsby)\n // will start with exactly one slash, and that anything else is external.\n const internal = /^\\/(?!\\/)/.test(to)\n // Use Gatsby Link for internal links, and for others\n if (internal) {\n return (\n \n {children}\n \n )\n }\n return (\n \n {children}\n \n )\n}\nexport default Link\n","import styled from \"styled-components\"\n\nexport const ReviewsContainer = styled.div`\n margin-bottom: 45px;\n`\nexport const ReviewsListWrapper = styled.div`\n display: flex;\n align-items: flex-start;\n flex-wrap: wrap;\n .testimonial_content \n margin-top: 10px;\n\n`\n","import React from \"react\"\nimport Testimony from \"../../home/testimonials/testimony/Testimony\"\nimport miscl from \"../../../data/miscl.json\"\nimport {\n ReviewsContainer,\n ReviewsListWrapper,\n} from \"./styles\"\nimport { Title } from \"../itemDescription/styles\"\n\nconst Reviews = (props) => {\n const { isCertificate } = props\n const reviews = miscl.testimonial\n\n return (\n \n \n {isCertificate ? \"Certification \" : \"Course\"}{\" \"}\n Reviews\n \n\n \n {reviews?.map((review, i) => (\n \n ))}\n \n \n )\n}\n\nexport default Reviews\n","import React from \"react\"\nimport Slider from \"react-slick\"\nimport { useStaticQuery, graphql } from \"gatsby\"\nimport styled from \"styled-components\"\nimport Button from \"../components/buttons/btn\"\n\nimport \"../../node_modules/slick-carousel/slick/slick.css\"\n\nconst SliderContainer = styled.div`\n background: #007bff;\n color: white;\n padding: 10rem 0;\n clip-path: polygon(0 0, 100% 0, 100% 85%, 0% 100%);\n`\n\nlet SlickSlider = ({ title, description }) => {\n var settings = {\n dots: true,\n infinite: true,\n speed: 500,\n slidesToShow: 1,\n slidesToScroll: 1,\n }\n\n return (\n \n \n
\n
\n

{title}

\n

{description}

\n
\n
\n
\n
\n )\n}\n\nexport default SlickSlider\n","import { isBrowser } from \"./utils\"\n\nconst MailTo = () => {\n let url =\n \"mailto:training@aia.edu.sg?subject=Request for Course Quotation&body=Hello Ace, D%0A Course Title: test %0D%0A Name: D%0A Email: D%0A Contact Number:\"\n if (!isBrowser()) return\n window.open(url, \"_blank\")\n}\n\nexport default MailTo\n","import React from \"react\"\nimport { useState } from \"react\"\nimport FilterButton from \"../common/filter/FilterButton\"\nimport SearchBox from \"../common/searchbox/SearchBox\"\nimport \"./banner.scss\"\nimport { useMediaQuery } from \"react-responsive\"\nimport { navigate } from \"gatsby\"\nimport MailTo from \"../../context/mailto\"\nimport BackgroundImage from \"gatsby-background-image\"\nimport { graphql, useStaticQuery } from \"gatsby\"\nimport { isBrowser } from \"../../context/utils\"\nimport Logo from \"../../assets/aia-logo\"\nimport { Link as GatsbyLink } from \"gatsby\"\nimport { Modal, ModalHeader, ModalBody } from \"reactstrap\"\nimport CourseRegistrationForm from \"../../components/product-detail/CourseRegistration/courseRegistrationForm\"\n\nconst TitleBanner = (props) => {\n const {\n id,\n title,\n description,\n handleFilterClick,\n isFilterOpen,\n withoutFilter,\n selfCheckout,\n withOnlyDescription,\n hasPlainBanner,\n netFee,\n coverPhoto,\n scroll,\n courseRuns,\n } = props\n\n const isMobile = useMediaQuery({\n query: \"(max-width: 565px)\",\n })\n\n const [isSuccess, setIsSuccess] = useState(false)\n const [modal, setModal] = useState(false)\n\n const toggle = () => setModal(!modal)\n\n const bannerImage = useStaticQuery(\n graphql`\n query {\n background1: file(\n relativePath: { eq: \"innerpage-bg.png\" }\n ) {\n childImageSharp {\n fluid(quality: 100, maxWidth: 1920) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n background2: file(\n relativePath: { eq: \"contact-bg.png\" }\n ) {\n childImageSharp {\n fluid(quality: 100, maxWidth: 1920) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n `\n )\n\n const BannerBGImage1 =\n bannerImage.background1.childImageSharp.fluid\n const BannerBGImage2 =\n bannerImage.background2.childImageSharp.fluid\n\n return (\n <>\n \n
\n
\n

{title}

\n

\n {description}\n

\n
\n
\n MailTo()}\n >\n Enquire Now\n \n {id ===\n \"f04d4a66-08d4-5e23-a009-825daf2985bb\" ? null : (\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\nexport default TitleBanner\n","import React from \"react\"\nimport { useState } from \"react\"\nimport FilterButton from \"../common/filter/FilterButton\"\nimport SearchBox from \"../common/searchbox/SearchBox\"\nimport \"./banner.scss\"\nimport { useMediaQuery } from \"react-responsive\"\nimport { navigate } from \"gatsby\"\nimport BackgroundImage from \"gatsby-background-image\"\nimport { graphql, useStaticQuery } from \"gatsby\"\nimport { isBrowser } from \"../../context/utils\"\nimport Logo from \"../../assets/aia-logo\"\nimport { Link as GatsbyLink } from \"gatsby\"\nimport { Modal, ModalHeader, ModalBody } from \"reactstrap\"\nimport CourseRegistrationForm from \"../product-detail/CourseRegistration/courseRegistrationForm\"\n\nconst TitleBannerEnquiry = (props) => {\n const {\n id,\n title,\n description,\n handleFilterClick,\n isFilterOpen,\n withoutFilter,\n selfCheckout,\n withOnlyDescription,\n hasPlainBanner,\n netFee,\n coverPhoto,\n scroll,\n courseRuns,\n } = props\n\n const isMobile = useMediaQuery({\n query: \"(max-width: 565px)\",\n })\n\n const [isSuccess, setIsSuccess] = useState(false)\n const [modal, setModal] = useState(false)\n\n const toggle = () => setModal(!modal)\n\n const handleRegisterClick = () => {\n let url =\n \"mailto:training@aia.edu.sg?subject=Request for Course Quotation&body=Hello Ace, D%0A Course Title: test %0D%0A Name: D%0A Email: D%0A Contact Number:\"\n if (!isBrowser()) return\n window.open(url, \"_blank\")\n }\n\n const bannerImage = useStaticQuery(\n graphql`\n query {\n background1: file(\n relativePath: { eq: \"innerpage-bg.png\" }\n ) {\n childImageSharp {\n fluid(quality: 100, maxWidth: 1920) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n background2: file(\n relativePath: { eq: \"contact-bg.png\" }\n ) {\n childImageSharp {\n fluid(quality: 100, maxWidth: 1920) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n `\n )\n\n const BannerBGImage1 =\n bannerImage.background1.childImageSharp.fluid\n const BannerBGImage2 =\n bannerImage.background2.childImageSharp.fluid\n\n return (\n <>\n \n
\n
\n

{title}

\n

\n {description}\n

\n
\n
\n handleRegisterClick()}\n >\n Enquire Now\n \n
\n
\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n
\n \n )\n}\n\nexport default TitleBannerEnquiry\n","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { Container } from \"reactstrap\"\nimport SEO from \"../components/seo\"\nimport Slider from \"../components/slider-courses\"\nimport AllCourses from \"../components/cards/all-courses\"\nimport TitleBannerEnquiry from \"../components/titleBanner/TitleBannerEnquiry\"\nimport TitleBanner from \"../components/titleBanner/TitleBanner\"\nimport CardsList from \"../components/common/cardsList/CardsList\"\nimport Reviews from \"../components/product-detail/itemReviews/Reviews\"\n\nlet CoursesBentley = ({ data }) => {\n const { bentleyCourses } = data\n return (\n <>\n \n\n \n\n
\n \n {/*
\n \n
*/}\n
\n \n )\n}\n\nexport const bentleyQuery = graphql`\n query allBentleyQuery {\n bentleyCourses: allContentfulTraining(\n filter: { category: { eq: \"bentley\" } }\n ) {\n nodes {\n id\n title\n category\n courseReference\n trainingMode\n updatedAt\n slug\n skillsFramework\n requirements\n lessons\n product {\n id\n name\n netFee\n price\n }\n duration\n coverPhoto {\n gatsbyImageData\n }\n courseRuns\n }\n }\n }\n`\n\nexport default CoursesBentley\n"],"names":["Button","styled","props","background","color","to","children","as","Link","review","fromDetailPage","image","useStaticQuery","allFile","edges","find","edge","node","relativePath","includes","childImageSharp","gatsbyImageData","className","S","src","alt","content","G","person","role","activeClassName","other","partiallyActive","test","href","target","rel","ReviewsContainer","ReviewsListWrapper","isCertificate","reviews","miscl","map","i","Testimony","key","isBrowser","window","open","id","title","description","hasPlainBanner","handleFilterClick","isFilterOpen","withoutFilter","selfCheckout","withOnlyDescription","netFee","coverPhoto","courseRuns","scroll","useMediaQuery","query","useState","modal","setModal","toggle","bannerImage","BannerBGImage1","background1","fluid","BannerBGImage2","background2","onClick","MailTo","Modal","isOpen","ModalHeader","ModalBody","price","selectedCourse","bentleyCourses","data","courses","nodes"],"sourceRoot":""}