{"version":3,"file":"component---src-templates-single-review-js-12555cb1e4a6458b5053.js","mappings":"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","sources":["webpack://gatsby-starter-default/./src/components/Button/ButtonGroupMap.js","webpack://gatsby-starter-default/./src/components/carousel/ImageCaption.js","webpack://gatsby-starter-default/./src/components/carousel/ChevronArrows.js","webpack://gatsby-starter-default/./src/components/NuvoImage.js","webpack://gatsby-starter-default/./src/components/Button/ButtonGroup.js","webpack://gatsby-starter-default/./src/components/carousel/SingleSlide.js","webpack://gatsby-starter-default/./src/components/carousel/ReviewCarousel.js","webpack://gatsby-starter-default/./src/templates/singleReview.js","webpack://gatsby-starter-default/./src/components/CTA/CTA.js","webpack://gatsby-starter-default/./node_modules/@fortawesome/pro-light-svg-icons/faChevronRight.js","webpack://gatsby-starter-default/./node_modules/@fortawesome/pro-light-svg-icons/faChevronLeft.js","webpack://gatsby-starter-default/./src/components/CTA/GetStarted.js"],"sourcesContent":["import PropTypes from \"prop-types\"\nimport React from \"react\"\n\nimport Button from \"@components/Button/Button\"\nimport ButtonGroup from \"@components/Button/ButtonGroup\"\nimport TheaterVideo from \"@components/Theater/TheaterVideo\"\n\nexport default function ButtonGroupMap(props) {\n return (\n \n {props.buttons &&\n props.buttons.map(buttonObj => {\n let button = buttonObj.button\n if (button.appearance === \"video\") {\n return (\n \n )\n } else if (props.hyperlink) {\n return (\n \n {button.buttonText}\n \n )\n } else {\n return (\n \n )\n }\n })}\n \n )\n}\n\nButtonGroupMap.propTypes = {\n buttons: PropTypes.arrayOf(\n PropTypes.shape({\n button: PropTypes.shape({\n buttonText: PropTypes.string,\n href: PropTypes.string,\n youtube: PropTypes.string,\n appearance: PropTypes.string.isRequired,\n destination: PropTypes.string\n })\n })\n )\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getMonthYearFromStrings } from \"../../utils/utils\"\nimport MarkdownViewer from \"@components/MarkdownViewer\"\n\nvar classNames = require(\"classnames\")\n\nfunction ImageCaption(props) {\n let nameClasses = classNames(\"image-caption staff fixed-facewall-name\", {\n last: !props.procedure && !props.monthYear\n })\n let procedureClasses = classNames(\n \"image-caption staff fixed-facewall-procedure\",\n {\n last: !props.monthYear\n }\n )\n let timeClasses = classNames(\"image-caption staff fixed-facewall-time\", {\n last: true\n })\n return (\n
\n {props.reviewerName && (\n
\n {props.language === \"es\" ? \"Conoce a\" : \"Meet\"} {props.reviewerName}\n
\n )}\n {props.language === \"es\"\n ? props.procedureEs &&\n !props.hideProcedureNames && (\n
{props.procedureEs}
\n )\n : props.procedure &&\n !props.hideProcedureNames && (\n
\n \n
\n )}\n {props.monthYear && (\n
\n {getMonthYearFromStrings(props.monthYear.year, props.monthYear.month)}\n
\n )}\n
\n )\n}\n\nImageCaption.propTypes = {\n reviewerName: PropTypes.string,\n language: PropTypes.string,\n procedure: PropTypes.string,\n procedureEs: PropTypes.string,\n hideProcedureNames: PropTypes.bool,\n monthYear: PropTypes.object\n}\n\nexport default ImageCaption\n","import React, { Component } from \"react\"\n\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faChevronLeft } from \"@fortawesome/pro-light-svg-icons/faChevronLeft\"\nimport { faChevronRight } from \"@fortawesome/pro-light-svg-icons/faChevronRight\"\n\nfunction focusSlide(targetID) {\n var comSlider = document.getElementById(targetID)\n comSlider.getElementsByClassName(\"slick-current\")[0].focus()\n return <>\n}\n\nfunction SamplePrevArrow(props) {\n const targetID = props.targetID\n const { style, onClick } = props\n return (\n {\n onClick()\n focusSlide(targetID)\n }}>\n \n \n )\n}\n\nfunction SampleNextArrow(props) {\n const targetID = props.targetID\n const { style, onClick } = props\n return (\n {\n onClick()\n focusSlide(targetID)\n }}>\n \n \n )\n}\n\nexport { SamplePrevArrow, SampleNextArrow }\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\nimport { Image } from \"cloudinary-react\"\nvar cloudinaryData = require(\"../../config.json\")\nimport { toSentenceCase } from \"../utils/utils\"\n\nconst NuvoImage = props => {\n if (!cloudinaryData) throw new Error(\"Error retrieving config.json\")\n\n var cloudinaryImages = cloudinaryData.images.resources\n let alt = \"\"\n\n let width, height\n\n if (!props.publicId) {\n throw new Error(props.publicId + \" not found!\")\n }\n\n for (let i = 0; i < cloudinaryImages.length; i++) {\n if (props.publicId === cloudinaryImages[i].public_id) {\n if (props.useAR) {\n width = cloudinaryImages[i].width\n height = cloudinaryImages[i].height\n if (!cloudinaryImages[i].width || !cloudinaryImages[i].height)\n throw new Error(\n props.publicId + \" is missing width or height data from Cloudinary.\"\n )\n }\n if (cloudinaryImages[i].context) {\n alt = cloudinaryImages[i].context.custom.alt\n break\n } else {\n const splitName = props.publicId.split(\"/DEV/\") //split cloudinary prefix\n const name = splitName[1] || splitName[0]\n alt = toSentenceCase(name.replace(/[/_-]/g, \" \"))\n }\n break\n }\n }\n\n // custom height and width if not working, or not from cloudinary\n if (props.arWidth && props.arHeight) {\n width = props.arWidth\n height = props.arHeight\n }\n\n var quality = props.quality ?? \"auto:best\"\n\n var imageWrapperClasses = classNames(props.wrapperClassName, {\n \"image-meta__wrapper\": true\n })\n\n var imageClasses = classNames(props.className, {\n \"image-meta__image\": useWrapper(width, height)\n })\n\n // data-ar-* width and height for debugging purposes only\n if (props.useAR && useWrapper(width, height)) {\n return (\n \n \n {props.children}\n \n \n )\n } else {\n return (\n \n {props.children}\n \n )\n }\n}\n\nNuvoImage.propTypes = {\n publicId: PropTypes.string.isRequired,\n children: PropTypes.element,\n className: PropTypes.string\n}\n\nexport default NuvoImage\n\n// Base Image Component\nfunction ImageComponent(props) {\n return (\n \n {props.children}\n \n )\n}\n\nImageComponent.propTypes = {\n alt: PropTypes.string,\n quality: PropTypes.number,\n className: PropTypes.string,\n children: PropTypes.element\n}\n\n// Helper functions\n\nfunction useWrapper(width, height) {\n if (width && height) {\n return true\n }\n return false\n}\n","import PropTypes from \"prop-types\"\nimport React from \"react\"\n\nvar classNames = require(\"classnames\")\n\nclass ButtonGroup extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n\n // Default centered on mobile\n let isCenteredMobile;\n this.props.isCenteredMobile ? isCenteredMobile = this.props.isCenteredMobile : isCenteredMobile = true\n\n var wrapperClass = classNames({\n \"button-group-wrapper\": true,\n \"is-centered-mobile\": isCenteredMobile,\n })\n\n var buttonGroupClass = classNames({\n \"button-group\": true,\n \"tight\": this.props.tight,\n \"is-centered\": this.props.isCentered,\n \"align-right\": this.props.alignRight,\n \"align-left\": this.props.alignLeft,\n \"reverse-buttons-mobile\": this.props.reverse\n })\n return (\n
\n \n {this.props.children}\n
\n \n )\n }\n}\n\nButtonGroup.propTypes = {\n isCentered: PropTypes.bool,\n isCenteredMobile: PropTypes.bool,\n tight: PropTypes.bool,\n alignLeft: PropTypes.bool,\n alignRight: PropTypes.bool,\n children: PropTypes.node,\n reverse: PropTypes.bool\n}\n\nexport default ButtonGroup\n","import React from \"react\"\nimport ImageMeta from \"../ImageMeta\"\n\nimport { Transformation } from \"cloudinary-react\"\nimport { Link } from \"gatsby\"\nimport { getMonthYearFromStrings } from \"../../utils/utils\"\n\nimport ImageCaption from \"./ImageCaption\"\n\nvar classNames = require(\"classnames\")\n\nfunction SingleSlide(props) {\n let title = props.title\n if (title.charAt(0) !== \"/\") title = \"/\" + title\n\n let nameClasses = classNames(\"image-caption staff fixed-facewall-name\", {\n last: !props.procedure && !props.monthYear\n })\n let procedureClasses = classNames(\n \"image-caption staff fixed-facewall-procedure\",\n {\n last: !props.monthYear\n }\n )\n let timeClasses = classNames(\"image-caption staff fixed-facewall-time\", {\n last: true\n })\n return (\n
\n \n \n \n \n \n \n
\n )\n}\n\nexport default SingleSlide\n","import React, { Component } from \"react\"\nimport Slider from \"react-slick\"\nimport PropTypes from \"prop-types\"\nimport { shuffleArray, getMonthYearFromStrings } from \"../../utils/utils\"\nimport ImageMeta from \"../ImageMeta\"\nimport {\n Image,\n Video,\n Transformation,\n CloudinaryContext\n} from \"cloudinary-react\"\nimport { Link, StaticQuery, graphql } from \"gatsby\"\n\nimport { SamplePrevArrow, SampleNextArrow } from \"./ChevronArrows\"\n\nimport SingleSlide from \"./SingleSlide\"\n\nclass ReviewCarousel extends Component {\n constructor(props) {\n super(props)\n this.state = {\n relatedReviews: props.relatedReviews,\n slideID: props.id\n }\n }\n\n // Shuffle on mount, shuffling in render causes multiple shuffles\n componentDidMount() {\n if (this.props.noShuffle === false) {\n let relatedReviews = this.state.relatedReviews\n shuffleArray(relatedReviews)\n this.setState({\n relatedReviews: relatedReviews\n })\n }\n }\n\n render() {\n const settings = {\n className: \"desktop-slider-375x375\",\n accessibility: true,\n adaptiveHeight: true,\n infinite: this.props.relatedReviews.length <= 3 ? false : true,\n centerPadding: \"0px\",\n slidesToShow: 5,\n swipeToSlide: true,\n focusOnSelect: false,\n draggable: false,\n rows: 1,\n speed: 500,\n nextArrow: ,\n prevArrow: ,\n initialSlide: 0,\n responsive: [\n {\n breakpoint: 1125,\n settings: {\n slidesToShow: this.props.relatedReviews.length < 3 ? 2 : 3,\n infinite: true,\n className:\n this.props.relatedReviews.length < 3\n ? \"desktop-slider-375x375 slide-count-2\"\n : \"desktop-slider-375x375\"\n }\n },\n {\n breakpoint: 750,\n settings: {\n slidesToShow: 2,\n infinite: true\n }\n },\n {\n breakpoint: 375,\n settings: {\n slidesToShow: 1,\n infinite: true\n }\n }\n ]\n }\n\n const sliderStyle = {\n width: \"auto\",\n height: \"auto\",\n margin: \"0px auto\"\n }\n\n const sliderCopy = {\n carouselName: \"Hear From Our Patients\",\n carouselTime: \"December 2019\",\n carouselLanguage: \"ENG\",\n carouselTypeTextTitle: \"Patients\"\n }\n\n var slides = this.state.relatedReviews.map(review => {\n return (\n \n )\n })\n\n return (\n
\n {this.state.relatedReviews.length > 0 && (\n \n {slides}\n \n )}\n
\n )\n }\n}\n\nReviewCarousel.propTypes = {\n relatedReviews: PropTypes.array\n}\n\nexport default ReviewCarousel\n","import React from \"react\"\nimport classNames from \"classnames\"\nimport { graphql } from \"gatsby\"\nimport TheaterVideo from \"@components/Theater/TheaterVideo\"\nimport Button from \"@components/Button/Button\"\nimport ButtonGroup from \"@components/Button/ButtonGroup\"\nimport Layout from \"../components/layout\"\nimport GetStarted from \"../components/CTA/GetStarted\"\nimport ReviewCarousel from \"../components/carousel/ReviewCarousel\"\nimport SEO from \"../components/seo\"\nimport { SharedStateProvider } from \"../components/SharedState/PageSharedState\"\nimport {\n sortReviewsByDate,\n getPostObj,\n pluralizeName,\n wrapSup\n} from \"../utils/utils\"\nimport NuvoImage from \"../components/NuvoImage\"\nimport MarkdownViewer from \"@components/MarkdownViewer\"\n\nfunction createHtml(html) {\n return { __html: html }\n}\n\nconst SingleReview = ({ data, pageContext, location }) => {\n const postObj = getPostObj(\n pageContext,\n data.singleReview.nodes[0],\n data.singleReviewEs.nodes[0]\n )\n // post = data.singleReview.nodes[0];\n const { post, language } = postObj\n\n const getStartedData = data.allTemplateSettingsJson.nodes[0].getStarted\n const getStartedDataEs =\n data.allTemplateSettingsJson.nodes[0].getStartedSpanish\n\n const reviewTitle = post.title\n const reviewPool = data.relatedReviews.nodes\n let referrerPool = data.relatedReviewsProviders.nodes\n\n let relatedReviews = getRelatedReviews(post, reviewPool)\n\n relatedReviews = sortReviewsByDate(relatedReviews)\n referrerPool = sortReviewsByDate(referrerPool)\n\n function getRelatedReviews(singleReview, allReviews) {\n const thisReviewProcedures = getReviewProceduresNames(singleReview)\n\n // Get an array of the patient's procedures\n function getReviewProceduresNames(review) {\n const thisReviewProcedures = []\n\n for (let i = 0; i < review.proceduresDone.length; i++) {\n thisReviewProcedures.push(\n review.proceduresDone[i].procedureDone.procedureName\n )\n }\n return thisReviewProcedures\n }\n\n const reviewPoolWithProceduresNamesArray =\n addProceduresDoneArrayTo(allReviews)\n\n // Add array of procedures done names to all review objects\n function addProceduresDoneArrayTo(reviews) {\n const reviewPoolWithProceduresNamesArray = []\n // Make an array of just the names of the procedures done\n for (let i = 0; i < reviews.length; i++) {\n const relatedProceduresDone = []\n for (let j = 0; j < reviews[i].proceduresDone.length; j++) {\n relatedProceduresDone.push(\n reviews[i].proceduresDone[j].procedureDone.procedureName\n )\n }\n const patientInfo = reviews[i]\n patientInfo.allProceduresJustNames = relatedProceduresDone\n reviewPoolWithProceduresNamesArray.push(patientInfo)\n }\n return reviewPoolWithProceduresNamesArray\n }\n\n const relatedReviews = getReviewsWithAnyMatchingProcedures(\n thisReviewProcedures,\n reviewPoolWithProceduresNamesArray\n )\n\n // Compare patients to see if any of their procedures done match, if so, add to array and return it\n function getReviewsWithAnyMatchingProcedures(\n thisReviewProcedureNamesArray,\n allReviewsWithProcedureNamesArray\n ) {\n const relatedReviews = []\n // Compares the single review's procedures done names with all the reviews' procedures done names, then pushes matches into another array\n let found = false\n\n for (let i = 0; i < allReviewsWithProcedureNamesArray.length; i++) {\n if (reviewTitle !== allReviewsWithProcedureNamesArray[i].title) {\n found = false\n\n found = thisReviewProcedureNamesArray.some(r =>\n allReviewsWithProcedureNamesArray[\n i\n ].allProceduresJustNames.includes(r)\n )\n if (found === true) {\n relatedReviews.push(allReviewsWithProcedureNamesArray[i])\n continue\n }\n }\n }\n return relatedReviews\n }\n\n return relatedReviews\n }\n\n const relatedProcedures = post.proceduresDone.map((procedure, i) => {\n let buttonText = procedure.procedureDone.procedureName\n\n // Full-Arch\n // Impacted Teeth\n // Cleft Treatment\n // DO\n // Jaw Surgery\n // TMJ Disorders\n // Extractions\n // Wisdom Teeth\n\n if (procedure.procedureDone.procedureShortName) {\n buttonText = procedure.procedureDone.procedureShortName\n }\n\n return (\n \n )\n })\n\n const showOtherReviews = function () {\n if (post.reviewType === \"Patient\") {\n return hasOtherPatientReviews()\n }\n if (post.reviewType === \"Provider\") {\n return hasOtherReferrerReviews()\n }\n }\n\n var hasOtherPatientReviews = function () {\n if (relatedReviews.length > 0) {\n return true\n }\n return false\n }\n var hasOtherReferrerReviews = function () {\n if (referrerPool.length > 0) {\n return true\n }\n return false\n }\n\n const reviewCarouselHeading = classNames({\n \"review-carousel-heading\": true\n })\n\n const backUrl = `/${data.allUniquePagesJson.nodes[0].title}`\n\n const esCTAClass =\n language === \"es\" ? \"patient-review-cta-es\" : \"patient-review-cta\"\n\n return (\n \n \n \n \n \n
\n
\n
\n

{post.heading}

\n
\n
\n {language === \"es\" ? \"Revisión de Video\" : \"Video Review\"}\n
\n \n {post.youtubeVideoLength}\n \n {post.reviewLanguage}\n
\n \n \n
\n
\n
\n\n {post.youtube && (\n
\n
\n
\n \n \n \n
\n
\n
\n )}\n\n {language !== \"es\" && (\n
\n
\n
\n

{pluralizeName(post.reviewerName)} Story

\n

\n \"\n \n \"\n

\n {post.reviewType !== \"Provider\" &&\n post.proceduresDone.length > 0 && (\n
\n
\n Learn More About\n
\n \n {relatedProcedures}\n \n
\n )}\n
\n
\n
\n )}\n\n {showOtherReviews() && language !== \"es\" && (\n <>\n
\n
\n
\n

\n Watch Other Reviews Like {pluralizeName(post.reviewerName)}\n

\n
\n
\n \n \n
\n \n )}\n {!showOtherReviews() && language !== \"es\" && (\n
\n
\n \n
\n
\n )}\n \n \n \n \n )\n}\n\nexport default SingleReview\n\nexport const query = graphql`\n query ($id: String!, $title: String!) {\n procedureQueryPage: allUniquePagesJson(\n filter: { template: { eq: \"procedures\" } }\n ) {\n nodes {\n title\n }\n }\n allUniquePagesJson(filter: { template: { eq: \"patient-stories\" } }) {\n nodes {\n title\n }\n }\n allTemplateSettingsJson(filter: { templateType: { eq: \"single-review\" } }) {\n nodes {\n getStarted {\n blurb\n buttonText\n heading\n href\n subheading\n buttons {\n button {\n href\n buttonText\n appearance\n destination\n }\n }\n }\n getStartedSpanish {\n blurb\n buttonText\n heading\n href\n subheading\n buttons {\n button {\n href\n buttonText\n appearance\n destination\n }\n }\n }\n }\n }\n singleReview: allReviewsJson(filter: { id: { eq: $id } }) {\n nodes {\n id\n title\n metaTitle\n metaDescription\n mainProcedureDone\n proceduresDone {\n procedureDone {\n procedureName\n procedureUrl\n otherProcedure\n procedureShortName\n }\n }\n heading\n quote\n reviewLanguage\n reviewType\n reviewerName\n subheading\n thumbnailPublicId\n mainPhotoPublicId\n youtube\n youtubeVideoLength\n }\n }\n singleReviewEs: allSpanishReviewsJson(filter: { id: { eq: $id } }) {\n nodes {\n id\n title\n metaTitle\n metaDescription\n mainProcedureDone\n proceduresDone {\n procedureDone {\n procedureName\n procedureUrl\n otherProcedure\n procedureShortName\n }\n }\n heading\n # quote\n reviewLanguage\n reviewType\n reviewerName\n # subheading\n thumbnailPublicId\n mainPhotoPublicId\n youtube\n youtubeVideoLength\n }\n }\n relatedReviews: allReviewsJson(\n filter: {\n reviewType: { eq: \"Patient\" }\n reviewLanguage: { eq: \"ENG\" }\n title: { ne: $title }\n }\n ) {\n nodes {\n thumbnailPublicId\n title\n reviewerName\n reviewType\n mainProcedureDone\n monthYear {\n month\n year\n }\n proceduresDone {\n procedureDone {\n procedureName\n procedureUrl\n }\n }\n }\n }\n relatedReviewsProviders: allReviewsJson(\n filter: {\n reviewType: { eq: \"Provider\" }\n reviewLanguage: { eq: \"ENG\" }\n title: { ne: $title }\n }\n ) {\n nodes {\n thumbnailPublicId\n title\n reviewerName\n reviewType\n mainProcedureDone\n monthYear {\n month\n year\n }\n proceduresDone {\n procedureDone {\n procedureName\n procedureUrl\n }\n }\n }\n }\n }\n`\n","import PropTypes from \"prop-types\"\nimport React from \"react\"\nimport classNames from \"classnames\"\n\nconst CTA = ({\n buttonCentered,\n buttonColumns,\n className,\n headingColumns,\n sideColumnIs,\n textColumns\n}) => {\n const ctaClasses = classNames(\"columns cta-columns\", className)\n const buttonClasses = classNames(\"columns\", {\n \"has-text-centered is-centered\": buttonCentered\n })\n\n return (\n
\n
\n
{headingColumns}
\n
\n
\n {textColumns}\n
\n
\n
{buttonColumns}
\n
\n
\n )\n}\n\nCTA.propTypes = {\n buttonCentered: PropTypes.bool,\n buttonColumns: PropTypes.element,\n className: PropTypes.string,\n headingColumns: PropTypes.element,\n sideColumnIs: PropTypes.number,\n textColumns: PropTypes.element\n}\n\nexport default CTA\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'chevron-right';\nvar width = 256;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f054';\nvar svgPathData = 'M17.525 36.465l-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faChevronRight = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'chevron-left';\nvar width = 256;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f053';\nvar svgPathData = 'M238.475 475.535l7.071-7.07c4.686-4.686 4.686-12.284 0-16.971L50.053 256 245.546 60.506c4.686-4.686 4.686-12.284 0-16.971l-7.071-7.07c-4.686-4.686-12.284-4.686-16.97 0L10.454 247.515c-4.686 4.686-4.686 12.284 0 16.971l211.051 211.05c4.686 4.686 12.284 4.686 16.97-.001z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faChevronLeft = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","import PropTypes from \"prop-types\"\nimport React from \"react\"\nimport Button from \"@components/Button/Button\"\nimport ButtonGroupMap from \"../Button/ButtonGroupMap\"\nimport CTA from \"./CTA\"\nimport MarkdownViewer from \"@components/MarkdownViewer\"\n// import { Image, Video, Transformation, CloudinaryContext } from 'cloudinary-react';\n\nvar showdown = require(\"showdown\")\n\nfunction createHtml(html) {\n return { __html: html }\n}\n\nconst converter = new showdown.Converter()\n\nvar classNames = require(\"classnames\")\n\nclass GetStarted extends React.Component {\n constructor(props) {\n super(props)\n }\n\n render() {\n let buttonColumns\n // One or multiple buttons\n if (this.props.buttons) {\n buttonColumns = (\n
\n \n
\n )\n } else {\n buttonColumns = (\n
\n \n
\n )\n }\n\n // CSS classes\n let headingClasses = classNames(\"column\", {\n \"has-text-centered\": this.props.centerHeading\n })\n let textClasses = classNames(\"column\", {\n \"has-text-centered\": this.props.centerText\n })\n\n return (\n \n {this.props.subheading &&

{this.props.subheading}

}\n

{this.props.heading}

\n
\n }\n textColumns={\n
\n }\n buttonColumns={buttonColumns}\n buttonCentered\n />\n )\n }\n}\n\nGetStarted.propTypes = {\n className: PropTypes.string,\n centerHeading: PropTypes.bool,\n heading: PropTypes.string,\n subheading: PropTypes.string,\n centerText: PropTypes.bool,\n paragraph: PropTypes.element,\n buttons: PropTypes.array,\n buttonUrl: PropTypes.string,\n buttonText: PropTypes.string,\n sideColumnIs: PropTypes.number,\n headingSideColumnIs: PropTypes.number\n}\n\nexport default GetStarted\n"],"names":["ButtonGroupMap","props","React","ButtonGroup","buttons","map","buttonObj","button","appearance","TheaterVideo","videoUrl","youtube","controls","playing","onlyButton","language","buttonClass","hyperlink","className","target","external","key","href","buttonText","Button","contained","minimal","destination","tel","classNames","require","nameClasses","last","procedure","monthYear","procedureClasses","timeClasses","reviewerName","procedureEs","hideProcedureNames","MarkdownViewer","markdown","getMonthYearFromStrings","year","month","focusSlide","targetID","document","getElementById","getElementsByClassName","focus","SamplePrevArrow","style","onClick","FontAwesomeIcon","icon","faChevronLeft","zIndex","SampleNextArrow","faChevronRight","cloudinaryData","ImageComponent","Image","Object","assign","quality","alt","responsive","children","useWrapper","width","height","_props$quality","Error","cloudinaryImages","images","resources","publicId","i","length","public_id","useAR","context","custom","splitName","split","name","toSentenceCase","replace","arWidth","arHeight","imageWrapperClasses","wrapperClassName","imageClasses","position","paddingTop","top","left","_React$Component","_this","call","state","_inheritsLoose","prototype","render","isCenteredMobile","this","wrapperClass","buttonGroupClass","tight","isCentered","alignRight","alignLeft","reverse","count","title","charAt","Link","to","toLowerCase","ImageMeta","cloudName","thumbnailPublicId","responsiveUseBreakpoints","noLazyload","Transformation","fetchFormat","crop","ImageCaption","otherProcedureName","_Component","ReviewCarousel","relatedReviews","slideID","id","_proto","componentDidMount","noShuffle","shuffleArray","setState","settings","accessibility","adaptiveHeight","infinite","centerPadding","slidesToShow","swipeToSlide","focusOnSelect","draggable","rows","speed","nextArrow","prevArrow","initialSlide","breakpoint","slides","review","SingleSlide","mainProcedureDone","mainProcedureDoneEs","reviewLanguage","Slider","margin","Component","_ref","data","pageContext","location","postObj","getPostObj","singleReview","nodes","singleReviewEs","post","getStartedData","allTemplateSettingsJson","getStarted","getStartedDataEs","getStartedSpanish","reviewTitle","reviewPool","referrerPool","relatedReviewsProviders","allReviews","thisReviewProcedures","proceduresDone","push","procedureDone","procedureName","getReviewProceduresNames","reviewPoolWithProceduresNamesArray","reviews","relatedProceduresDone","j","patientInfo","allProceduresJustNames","addProceduresDoneArrayTo","thisReviewProcedureNamesArray","allReviewsWithProcedureNamesArray","found","some","r","includes","getReviewsWithAnyMatchingProcedures","getRelatedReviews","sortReviewsByDate","relatedProcedures","procedureShortName","procedureUrl","showOtherReviews","reviewType","hasOtherPatientReviews","hasOtherReferrerReviews","reviewCarouselHeading","backUrl","allUniquePagesJson","esCTAClass","SharedStateProvider","Layout","SEO","metaTitle","description","metaDescription","pathname","lang","paddingBottom","goBack","marginTop","heading","youtubeVideoLength","subheading","hasWatchVideo","NuvoImage","mainPhotoPublicId","pluralizeName","dangerouslySetInnerHTML","html","wrapSup","quote","__html","noReverse","procedureQueryPage","GetStarted","centerHeading","centerText","headingSideColumnIs","sideColumnIs","paragraph","blurb","buttonUrl","buttonCentered","buttonColumns","headingColumns","textColumns","ctaClasses","buttonClasses","iconName","ligatures","unicode","svgPathData","exports","prefix","converter","Converter","headingClasses","textClasses","CTA","makeHtml"],"sourceRoot":""}