{"version":3,"file":"js/3830-003d43a02dc11d9dcd85.js","mappings":"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","sources":["webpack:///./app/javascript/main-app/images/checkbox-checked.inline.svg","webpack:///./app/javascript/main-app/images/icon-close.inline.svg","webpack:///./app/javascript/main-app/images/info.inline.svg","webpack:///./app/javascript/main-app/images/logo-google.inline.svg","webpack:///./app/javascript/_shared/Tooltip/Tooltip.jsx","webpack:///./app/javascript/_shared/Tooltip/helpers.js","webpack:///./app/javascript/_shared/hooks/useViewport.js","webpack:///./app/javascript/main-app/components/LabeledField/LabeledField.jsx","webpack:///./app/javascript/main-app/components/ReviewForm/CheckboxLabel/CheckboxLabel.jsx","webpack:///./app/javascript/main-app/components/ReviewForm/SchoolReviewForm/SchoolRefReviewForm/constants/enums.ts","webpack:///./app/javascript/main-app/components/ReviewForm/SchoolReviewForm/formDictionary.ts","webpack:///./app/javascript/main-app/components/ReviewForm/ShareReviewMessage/ShareReviewMessage.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/SuccessMessage/SuccessMessage.tsx","webpack:///./app/javascript/main-app/components/StarRating/StarRating.jsx","webpack:///./app/javascript/main-app/components/StarRating/StarRatingStatic.jsx","webpack:///./app/javascript/main-app/components/fields/Checkbox/Checkbox.jsx","webpack:///./app/javascript/main-app/hocs/withScrollToError.jsx","webpack:///./app/javascript/main-app/images/star-empty.svg","webpack:///./app/javascript/main-app/images/star-filled.svg"],"sourcesContent":["import React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => );","import React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => );","import React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => );","import React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => );","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport { RESOLUTION } from '@espacePro/constants/breakpoints';\nimport { useViewport } from '@shared/hooks/useViewport';\nimport Cross from '../../main-app/images/icon-close.inline.svg';\nimport {\n getArrowDownPositionStyles,\n getArrowLeftPositionStyles, getArrowRightPositionStyles,\n getArrowTopPositionStyles,\n getPositionStyles,\n} from './helpers';\n\nconst Container = styled.div`\n position: relative;\n z-index: ${(props) => props.zIndex};\n\n ${(props) => props.activeZIndex && props.isOpened && `\n z-index: ${props.activeZIndex};\n `}\n\n .anchor {\n cursor: pointer;\n }\n`;\n\nconst TooltipInstance = styled.div`\n position: absolute;\n padding: ${(props) => props.isSmall ? '12px' : '16px 32px 16px 16px'};\n background: #fff;\n box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(155, 132, 135, 0.05), 0 -6px 12px 0 rgba(119, 94, 98, 0.15);\n font-size: 12px;\n border-radius: 12px;\n width: ${(props) => typeof props.width === 'number' ? `${props.width}px` : props.width};\n max-width: 70vw;\n ${(props) => getPositionStyles(props.position)}\n`;\n\nconst ArrowDown = styled.span`\n width: 0;\n height: 0;\n border-left: 11px solid transparent;\n border-right: 11px solid transparent;\n border-top: 11px solid rgba(155, 132, 135, 0.06);\n bottom: -12px;\n position: absolute;\n\n &::before {\n content: '';\n width: 0;\n height: 0;\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n border-top: 10px solid #fff;\n top: -12px;\n left: -10px;\n position: absolute;\n }\n\n ${(props) => getArrowDownPositionStyles(props.position)}\n`;\n\nconst ArrowLeft = styled.span`\n width: 0;\n height: 0;\n border-top: 11px solid transparent;\n border-bottom: 11px solid transparent;\n border-right: 11px solid rgba(155, 132, 135, 0.06);\n left: -12px;\n position: absolute;\n\n &::before {\n content: '';\n width: 0;\n height: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n border-right: 10px solid #fff;\n left: 3px;\n top: -10px;\n position: absolute;\n }\n\n ${(props) => getArrowLeftPositionStyles(props.position)}\n`;\n\nconst ArrowTop = styled.span`\n width: 0;\n height: 0;\n border-left: 11px solid transparent;\n border-right: 11px solid transparent;\n border-bottom: 11px solid rgba(155, 132, 135, 0.06);\n top: -12px;\n position: absolute;\n\n &::before {\n content: '';\n width: 0;\n height: 0;\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n border-bottom: 10px solid #fff;\n top: 2px;\n left: -10px;\n position: absolute;\n }\n\n ${(props) => getArrowTopPositionStyles(props.position)}\n`;\n\nconst ArrowRight = styled.span`\n width: 0;\n height: 0;\n border-top: 11px solid transparent;\n border-bottom: 11px solid transparent;\n border-left: 11px solid rgba(155, 132, 135, 0.06);\n right: -11px;\n position: absolute;\n\n &::before {\n content: '';\n width: 0;\n height: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n border-left: 10px solid #fff;\n right: 2px;\n top: -10px;\n position: absolute;\n }\n\n ${(props) => getArrowRightPositionStyles(props.position)}\n`;\n\nconst StyledCross = styled(Cross)`\n position: absolute;\n top: 8px;\n right: 8px;\n cursor: pointer;\n width: 16px;\n height: 16px;\n`;\n\nconst Tooltip = (props) => {\n const {\n children, content, trigger, width, position, positionMobile, zIndex, isSmall, activeZIndex,\n } = props;\n const [isOpened, setIsOpened] = useState(false);\n const [currentPosition, setCurrentPosition] = useState();\n const { viewportWidth } = useViewport();\n\n const toggleIsOpened = () => setIsOpened(!isOpened);\n\n const getTriggerProps = () => {\n const commonProps = {\n className: 'anchor',\n };\n if (trigger === 'click') {\n commonProps.onClick = () => toggleIsOpened();\n } else if (trigger === 'hover') {\n commonProps.onMouseEnter = () => setIsOpened(true);\n commonProps.onMouseLeave = () => setIsOpened(false);\n }\n return commonProps;\n };\n\n const checkCurrentPosition = (positionWeb, positionMob) => {\n if (viewportWidth > RESOLUTION.MEDIUM) {\n return positionWeb;\n }\n if (positionMob) {\n return positionMob;\n }\n return positionWeb;\n };\n\n useEffect(() => {\n const res = checkCurrentPosition(position, positionMobile);\n setCurrentPosition(res);\n }, []);\n\n return (\n \n {isOpened && (\n \n {currentPosition === 'top left' && }\n {currentPosition === 'top center' && }\n {currentPosition === 'top right' && }\n {currentPosition === 'right top' && }\n {currentPosition === 'right center' && }\n {currentPosition === 'right bottom' && }\n {currentPosition === 'bottom left' && }\n {currentPosition === 'bottom center' && }\n {currentPosition === 'bottom right' && }\n {currentPosition === 'left top' && }\n {currentPosition === 'left center' && }\n {currentPosition === 'left bottom' && }\n {trigger === 'click' && setIsOpened(false)} />}\n {content}\n \n )}\n {React.cloneElement(children, getTriggerProps())}\n \n );\n};\nTooltip.propTypes = {\n trigger: PropTypes.oneOf(['hover', 'click']),\n position: PropTypes.oneOf([\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right center',\n 'right bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n 'left top',\n 'left center',\n 'left bottom',\n ]),\n positionMobile: PropTypes.string,\n content: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n children: PropTypes.element.isRequired,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n zIndex: PropTypes.number,\n isSmall: PropTypes.bool,\n activeZIndex: PropTypes.number,\n};\n\nTooltip.defaultProps = {\n trigger: 'hover',\n position: 'bottom center',\n positionMobile: '',\n content: '',\n width: 250,\n zIndex: 1,\n isSmall: false,\n activeZIndex: undefined,\n};\n\nexport { Tooltip };\n","export const getPositionStyles = (position) => {\n switch (position) {\n case 'top left':\n return (\n `top: -10px;\n left: -18px;\n transform: translateY(-100%);\n `\n );\n case 'top center':\n return (\n `top: -10px;\n left: 50%;\n transform: translate(-50%, -100%);\n `\n );\n case 'top right':\n return (\n `top: -10px;\n right: -18px;\n transform: translateY(-100%);\n `\n );\n case 'right top':\n return (\n `top: -18px;\n right: -18px;\n transform: translateX(100%);\n `\n );\n case 'right center':\n return (\n `top: 50%;\n right: -18px;\n transform: translate(100%, -50%);\n `\n );\n case 'right bottom':\n return (\n `bottom: -10px;\n right: -18px;\n transform: translateX(100%);\n `\n );\n case 'bottom left':\n return (\n `bottom: -10px;\n left: -18px;\n transform: translateY(100%);\n `\n );\n case 'bottom center':\n return (\n `bottom: -10px;\n left: 50%;\n transform: translate(-50%, 100%);\n `\n );\n case 'bottom right':\n return (\n `bottom: -10px;\n right: -18px;\n transform: translateY(100%);\n `\n );\n case 'left top':\n return (\n `top: -18px;\n left: -18px;\n transform: translateX(-100%);\n `\n );\n case 'left center':\n return (\n `top: 50%;\n left: -18px;\n transform: translate(-100%, -50%);\n `\n );\n case 'left bottom':\n return (\n `bottom: -10px;\n left: -18px;\n transform: translateX(-100%);\n `\n );\n default:\n return '';\n }\n};\n\nexport const getArrowDownPositionStyles = (position) => {\n switch (position) {\n case 'right':\n return (\n 'right: 20px;'\n );\n case 'left':\n return (\n 'left: 20px;'\n );\n case 'center':\n return (\n `left: 50%;\n transform: translateX(-50%);`\n );\n default:\n return '';\n }\n};\n\nexport const getArrowLeftPositionStyles = (position) => {\n switch (position) {\n case 'top':\n return (\n 'top: 20px;'\n );\n case 'center':\n return (\n `top: 50%;\n transform: translateY(-50%);`\n );\n case 'bottom':\n return (\n 'bottom: 15px;'\n );\n default:\n return '';\n }\n};\n\nexport const getArrowTopPositionStyles = (position) => {\n switch (position) {\n case 'right':\n return (\n 'right: 20px;'\n );\n case 'left':\n return (\n 'left: 20px;'\n );\n case 'center':\n return (\n `left: 50%;\n transform: translateX(-50%);`\n );\n default:\n return '';\n }\n};\n\nexport const getArrowRightPositionStyles = (position) => {\n switch (position) {\n case 'top':\n return (\n 'top: 20px;'\n );\n case 'center':\n return (\n `top: 50%;\n transform: translateY(-50%);`\n );\n case 'bottom':\n return (\n 'bottom: 15px;'\n );\n default:\n return '';\n }\n};\n","import { useEffect, useState } from 'react';\n\nconst useViewport = () => {\n const [viewportWidth, setViewportWidth] = useState(window.innerWidth);\n\n useEffect(() => {\n const handleWindowResize = () => setViewportWidth(window.innerWidth);\n window.addEventListener('resize', handleWindowResize);\n return () => window.removeEventListener('resize', handleWindowResize);\n }, []);\n\n return { viewportWidth };\n};\n\nexport { useViewport };\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styled from 'styled-components';\nimport media from '../../utils/mediaQueries';\nimport { ERROR_COLOR } from '../../theme';\n\nconst Row = styled.div`\n display: flex;\n flex-direction: ${(props) => props.isFullWidthLabel ? 'column' : 'row'};\n margin-bottom: 32px;\n \n ${media.mobile`\n flex-direction: column;\n margin-bottom: 24px;\n `}\n`;\n\nconst Label = styled.div`\n font-size: 18px;\n font-weight: ${(props) => props?.theme?.fontWeight?.formFieldLabel || 600};\n line-height: 1.33;\n letter-spacing: 0.2px;\n width: ${(props) => props.isFullWidthLabel ? '100%' : '45%'};\n flex: 0 0 45%;\n margin: 6px 0 8px;\n padding-right: 24px;\n ${(props) => props.error && `color: ${ERROR_COLOR};`}\n \n ${media.mobile`\n width: 100%;\n padding-right: 0;\n `}\n`;\n\nconst Field = styled.div`\n width: 100%;\n`;\n\nconst LabeledField = (props) => {\n const {\n isFullWidthLabel, isRequired, label, children, error, labelAddition,\n } = props;\n return (\n \n \n \n {children}\n \n \n );\n};\n\nLabeledField.propTypes = {\n isFullWidthLabel: PropTypes.bool,\n isRequired: PropTypes.bool,\n label: PropTypes.string.isRequired,\n labelAddition: PropTypes.any,\n children: PropTypes.node.isRequired,\n error: PropTypes.bool,\n};\n\nLabeledField.defaultProps = {\n isFullWidthLabel: false,\n isRequired: false,\n error: false,\n labelAddition: null,\n};\n\nexport { LabeledField };\n","import React from 'react';\n\nconst CheckboxLabel = () => (\n <>\n J'ai lu et j'accepte les\n {' '}\n \n Conditions particulières relatives aux avis\n \n \n);\n\nexport { CheckboxLabel };\n","export enum FormState {\n Stars = 'Stars',\n Description = 'Description',\n Marks = 'Marks',\n}\n\nexport enum PartnerType {\n ECF = 'ECF',\n AvisSolution = 'AvisSolution',\n}\n","import { PartnerType } from './SchoolRefReviewForm/constants/enums';\n\nconst COMMON_SWITCHER_ITEMS = ['1', '2', '3', '4', '5'];\n\nexport const FORM_TEXTS = {\n title: 'Laisser un avis',\n titleNote: '* Les champs munis de ce symbole sont obligatoires',\n userSchoolsData: {\n label: 'Auto-école',\n },\n starsData: {\n label: 'Note globale',\n },\n receptionData: {\n label: 'Accueil',\n caption: 'La qualité des dispositifs d’accueil au téléphone et en agence, l’écoute et la prise en compte de vos demandes.',\n items: COMMON_SWITCHER_ITEMS,\n },\n informationData: {\n label: 'Renseignements',\n caption: 'Les renseignements au moment de l’inscription et l’information sur l’offre de formation (choix de formules, contenu, tarifs).',\n items: COMMON_SWITCHER_ITEMS,\n },\n teachingData: {\n label: 'Moyens pédagogiques',\n caption: 'Les moyens pédagogiques mis à disposition (état et propreté des véhicules, petit matériel, etc).',\n items: COMMON_SWITCHER_ITEMS,\n },\n availabilityData: {\n label: 'Disponibilité',\n caption: 'La disponibilité de l’équipe pédagogique, la facilité à placer des leçons de conduite (fréquences, annulations, etc).',\n items: COMMON_SWITCHER_ITEMS,\n },\n qualityData: {\n label: 'Qualité de formation',\n caption: 'Le contenu et le respect du parcours de formation, la qualité de l’enseignement (telle que vous l’avez perçue).',\n items: COMMON_SWITCHER_ITEMS,\n },\n textarea: {\n label: 'Commentaire',\n rulesLink: 'Voir les critères de publication des avis',\n comment: 'Attention, les avis sont publiés et référencés, soyez courtois, ne citez pas le nom des personnes dans votre commentaire.',\n },\n contactInfoNote: 'Si vous avez effectué votre formation dans plusieurs auto-écoles, merci de renseigner ici les données qui concernent uniquement votre formation dans l’établissement sélectionné.',\n licenseType: {\n label: 'Type de permis',\n placeholder: 'Sélectionner un type',\n },\n drivingLessonsAndFullCost: {\n label: 'Nombre d’heures de conduite et coût total',\n drivingLessonsPlaceholder: 'Heures de conduite',\n fullCostPlaceholder: 'Coût total (en €)',\n },\n theoryAndDrivivngExams: {\n label: 'Nombre de passage au code et à l’examen de conduite',\n theoryExamsPlaceholder: 'Code',\n drivingExamsPlaceholder: 'Conduite',\n },\n contact: {\n label: 'Contact',\n caption: 'Vous gardez l’anonymat et ne serez jamais spammé',\n lastNamePlaceholder: 'Nom',\n firstNamePlaceholder: 'Prénom',\n emailPlaceholder: 'Email',\n },\n practicalExamDate: {\n label: 'Date de la formation',\n placeholder: 'Date de passage de l\\'examen',\n },\n minutes: '',\n};\n\nexport const getFormTexts = (partnerName: string): typeof FORM_TEXTS => {\n if (PartnerType.AvisSolution === partnerName) {\n FORM_TEXTS.practicalExamDate.label = 'Date de l\\'examen';\n FORM_TEXTS.teachingData.caption = 'Les moyens pédagogiques mis à disposition.';\n FORM_TEXTS.minutes = '2';\n }\n\n return FORM_TEXTS;\n};\n\nexport const SUCCESS_MESSAGE_BODY = 'Votre contribution permettra aux futurs candidats au permis de conduire de mieux choisir leur auto-école.';\nexport const ERROR_OCCURED = 'Une erreur est survenue.';\n","import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Google from '../../../images/logo-google.inline.svg';\nimport { PartnerType } from '../SchoolReviewForm/SchoolRefReviewForm/constants/enums';\nimport { LINKS_COLOR } from '../../../theme';\n\nconst Container = styled.div`\n margin: 16px 0;\n`;\n\nconst GoogleLink = styled.a`\n display: inline-flex;\n align-items: center;\n margin-top: 16px;\n height: 48px;\n padding: 0 10px;\n font-size: 16px;\n border-radius: 4px;\n font-weight: bold;\n line-height: 1.5;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.12);\n background-color: ${(props) => props.theme.colors?.buttonColor || props.theme.buttonColor\n ? (props.theme.colors?.buttonColor || props.theme.buttonColor)\n : LINKS_COLOR\n};\n border: none;\n color: #fff;\n\n &:hover,\n &:focus {\n color: #fff;\n text-decoration: none;\n }\n`;\n\nconst GoogleIcon = styled(Google)`\n width: 32px;\n height: 32px;\n margin-right: 8px;\n`;\n\nconst ShareReviewMessage = ({ reviewId, isExamCenter, partnerName }: { reviewId: string, isExamCenter?: boolean, partnerName?: string }) => {\n const shareOnGooglePath = useMemo(() => {\n if (isExamCenter) {\n return `/avis-centre-examen/${reviewId}/partager`;\n }\n\n let href = `/avis/${reviewId}/partager`;\n if (partnerName && partnerName === PartnerType.AvisSolution) {\n href += '?partner=avis-solution';\n }\n\n return href;\n }, []);\n\n return (\n \n
\n Partagez votre avis sur Google en 3 clics\n (sans exagérer) !\n
\n\n \n \n Poster mon avis sur Google\n \n
\n );\n};\n\nShareReviewMessage.defaultProps = {\n isExamCenter: false,\n partnerName: '',\n};\n\nexport { ShareReviewMessage };\n","import React, { useEffect, useRef } from 'react';\nimport styled from 'styled-components';\n\nimport Icon from '../../../images/icon-success.inline.svg';\nimport media from '../../../utils/mediaQueries';\nimport { FONT_FAMILY_MAIN, TEXT_COLOR } from '../../../theme';\nimport { ShareReviewMessage } from '../ShareReviewMessage';\n\nconst Container = styled.div`\n padding: 24px;\n height: 600px;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n \n ${media.mobile`\n height: auto;\n `}\n`;\n\nconst IconSuccess = styled(Icon)`\n width: 48px;\n height: 48px;\n \n ${media.mobile`\n width: 32px;\n height: 32px;\n `}\n`;\n\nconst Title = styled.h4`\n font-family: ${FONT_FAMILY_MAIN};\n font-size: 24px;\n font-weight: 800;\n line-height: 1.25;\n letter-spacing: 0.2px;\n color: ${TEXT_COLOR};\n margin: 32px 0 8px;\n \n ${media.mobile`\n font-size: 18px;\n line-height: 1.44;\n margin-top: 8px;\n `}\n`;\n\nconst Message = styled.div`\n font-family: ${FONT_FAMILY_MAIN};\n font-size: 18px;\n line-height: 1.33;\n letter-spacing: 0.2px;\n color: ${TEXT_COLOR};\n max-width: 437px;\n margin: 0 auto;\n \n & + & {\n margin-top: 48px;\n }\n`;\n\ntype SuccessMessageProps = {\n text: string,\n placeId?: string,\n rating?: string | number,\n reviewId?: string,\n isExamCenter?: boolean,\n title?: string,\n partnerName?: string,\n};\n\nconst SuccessMessage = ({\n text, placeId, rating, reviewId, isExamCenter = false, title, partnerName,\n}: SuccessMessageProps) => {\n const containerRef = useRef(null);\n\n useEffect(() => {\n if (containerRef.current) {\n containerRef.current.scrollIntoView();\n }\n }, []);\n\n return (\n <>\n \n
\n \n {title}\n {text}\n {placeId && reviewId && rating > 3 && (\n \n \n \n )}\n
\n
\n \n );\n};\n\nSuccessMessage.defaultProps = {\n placeId: null,\n rating: 0,\n reviewId: '',\n isExamCenter: false,\n title: 'Merci pour votre avis!',\n partnerName: '',\n};\n\nexport { SuccessMessage };\n","import React, { Fragment } from 'react';\nimport styled from 'styled-components';\nimport rangeRight from 'lodash/rangeRight';\nimport PropTypes from 'prop-types';\n\nimport starFilled from '../../images/star-filled.svg';\nimport starEmpty from '../../images/star-empty.svg';\n\nconst Container = styled.div`\n display: flex;\n flex-direction: row-reverse;\n justify-content: flex-end;\n `;\n\nconst StarLabel = styled.label`\n width: ${(props) => props.starsWidth || 30}px;\n height: ${(props) => props.starsHeight || 20}px;\n cursor: pointer;\n background: url(${starEmpty}) no-repeat 0 0;\n background-size: contain;\n margin: 0;\n \n &:hover,\n &:hover ~ & {\n background-image: url(${starFilled});\n }\n`;\n\nconst StarRadio = styled.input`\n position: absolute;\n opacity: 0;\n z-index: -1; \n \n &:checked ~ ${StarLabel} {\n background-image: url(${starFilled});\n }\n`;\n\nconst StarRating = (props) => {\n const {\n onStarClick, starsAmount, name, selectedStars, starsHeight, starsWidth,\n } = props;\n\n return (\n \n {rangeRight(starsAmount).map((i) => (\n \n \n \n \n ))}\n \n );\n};\n\nStarRating.propTypes = {\n starsAmount: PropTypes.number,\n onStarClick: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n selectedStars: PropTypes.string,\n starsHeight: PropTypes.number,\n starsWidth: PropTypes.number,\n};\n\nStarRating.defaultProps = {\n starsAmount: 5,\n selectedStars: 0,\n starsHeight: 20,\n starsWidth: 30,\n};\n\nexport { StarRating };\n","import React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport range from 'lodash/range';\n\nimport starFilled from '../../images/star-filled.svg';\nimport starEmpty from '../../images/star-empty.svg';\n\nconst Stars = styled.div`\n display: inline-block;\n vertical-align: middle;\n`;\n\nconst StarContainer = styled.span`\n display: inline-block;\n width: ${(props) => props.starWidth}px;\n height: ${(props) => props.starHeight}px;\n background: url(${(props) => props.isActive ? starFilled : starEmpty}) no-repeat 0 0;\n background-size: contain;\n\n & + & {\n margin-left: 4px;\n }\n`;\n\nconst StarRatingStatic = ({\n starsAmount = 5, width, height, activeStarIdx,\n}) => {\n const roundedActiveStarIdx = Math.round(activeStarIdx);\n\n return (\n \n {range(starsAmount).map((i) => (\n \n ))}\n \n );\n};\n\nStarRatingStatic.propTypes = {\n activeStarIdx: PropTypes.number,\n starsAmount: PropTypes.number,\n width: PropTypes.number,\n height: PropTypes.number,\n};\n\nStarRatingStatic.defaultProps = {\n starsAmount: 5,\n activeStarIdx: 0,\n width: 33,\n height: 30,\n};\n\nexport { StarRatingStatic };\n","import React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nimport CheckboxIcon from '../../../images/checkbox-checked.inline.svg';\nimport { ERROR_COLOR, SUCCESS_COLOR } from '../../../theme';\n\nconst EmptyCheckbox = styled.div`\n width: 18px;\n height: 18px;\n display: inline-block;\n border-radius: 2px;\n border: 1px solid rgba(0, 0, 0, 0.12);\n background-color: #f4f7f9;\n \n ${(props) => props.error && `border-color: ${ERROR_COLOR};`}\n \n &:focus {\n border-color: #23c4f8;\n }\n`;\n\nconst Label = styled.label`\n position: relative;\n padding-left: 32px;\n margin: 0;\n font-weight: normal;\n cursor: pointer;\n`;\n\nconst CheckboxView = styled.span`\n position: absolute;\n left: 0;\n`;\n\nconst Input = styled.input`\n position: absolute !important;\n height: 1px; \n width: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n white-space: nowrap;\n \n &:focus {\n &+${CheckboxView} {\n ${EmptyCheckbox} {\n border-color: #23c4f8;\n }\n }\n }\n`;\n\nconst CheckedCheckbox = styled(CheckboxIcon)`\n fill: ${SUCCESS_COLOR};\n width: 24px;\n height: 24px;\n`;\n\nconst Checkbox = (props) => {\n const {\n label, isChecked, onChange, name, error,\n } = props;\n return (\n \n );\n};\n\nCheckbox.propTypes = {\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n isChecked: PropTypes.bool,\n onChange: PropTypes.func,\n name: PropTypes.string,\n error: PropTypes.bool,\n};\n\nCheckbox.defaultProps = {\n label: '',\n isChecked: false,\n onChange: () => {},\n name: null,\n error: false,\n};\n\nexport { Checkbox };\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'formik';\n\nconst withScrollToError = (WrappedComponent) => {\n class ErrorScroll extends Component {\n componentDidUpdate(prevProps) {\n const { isSubmitting, isValidating, errors } = prevProps.formik;\n const errorFields = Object.keys(errors);\n\n if (errorFields.length > 0 && isSubmitting && !isValidating) {\n const selector = `[name=\"${errorFields[0]}\"]`;\n const errorElement = document.querySelector(selector);\n if (errorElement) {\n errorElement.scrollIntoView({ behavior: 'smooth' });\n }\n }\n }\n\n render() {\n return ;\n }\n }\n\n ErrorScroll.propTypes = {\n formik: PropTypes.shape({\n isSubmitting: PropTypes.bool,\n isValidating: PropTypes.bool,\n errors: PropTypes.objectOf(PropTypes.string),\n }),\n };\n\n ErrorScroll.defaultProps = {\n formik: {\n isSubmitting: false,\n isValidating: false,\n errors: {},\n },\n };\n\n return connect(ErrorScroll);\n};\n\nexport { withScrollToError };\n","export default __webpack_public_path__ + \"532809d03f9babeb47add30dbc0ef1d0.svg\";","export default __webpack_public_path__ + \"4583a0a58d0baaee8c7ab60c45e41633.svg\";"],"names":["styles","props","xmlns","viewBox","d","fill","id","width","height","fillRule","className","Container","styled","div","zIndex","activeZIndex","isOpened","TooltipInstance","isSmall","position","getPositionStyles","ArrowDown","span","getArrowDownPositionStyles","ArrowLeft","getArrowLeftPositionStyles","ArrowTop","getArrowTopPositionStyles","ArrowRight","getArrowRightPositionStyles","StyledCross","Cross","Tooltip","children","content","trigger","positionMobile","useState","setIsOpened","currentPosition","setCurrentPosition","viewportWidth","useViewport","useEffect","res","positionWeb","positionMob","RESOLUTION","MEDIUM","onClick","React","commonProps","onMouseEnter","onMouseLeave","getTriggerProps","defaultProps","undefined","window","innerWidth","setViewportWidth","handleWindowResize","addEventListener","removeEventListener","Row","isFullWidthLabel","media","mobile","Label","theme","fontWeight","formFieldLabel","error","ERROR_COLOR","Field","LabeledField","isRequired","label","labelAddition","CheckboxLabel","href","target","rel","FormState","PartnerType","COMMON_SWITCHER_ITEMS","FORM_TEXTS","title","titleNote","userSchoolsData","starsData","receptionData","caption","items","informationData","teachingData","availabilityData","qualityData","textarea","rulesLink","comment","contactInfoNote","licenseType","placeholder","drivingLessonsAndFullCost","drivingLessonsPlaceholder","fullCostPlaceholder","theoryAndDrivivngExams","theoryExamsPlaceholder","drivingExamsPlaceholder","contact","lastNamePlaceholder","firstNamePlaceholder","emailPlaceholder","practicalExamDate","minutes","getFormTexts","partnerName","AvisSolution","SUCCESS_MESSAGE_BODY","ERROR_OCCURED","GoogleLink","a","colors","buttonColor","LINKS_COLOR","GoogleIcon","Google","ShareReviewMessage","reviewId","isExamCenter","shareOnGooglePath","useMemo","IconSuccess","Icon","Title","h4","FONT_FAMILY_MAIN","TEXT_COLOR","Message","SuccessMessage","text","placeId","rating","containerRef","useRef","current","scrollIntoView","ref","StarLabel","starsWidth","starsHeight","starEmpty","starFilled","StarRadio","input","StarRating","onStarClick","starsAmount","name","selectedStars","rangeRight","map","i","Fragment","key","type","value","onChange","checked","htmlFor","Stars","StarContainer","starWidth","starHeight","isActive","StarRatingStatic","activeStarIdx","roundedActiveStarIdx","Math","round","range","EmptyCheckbox","CheckboxView","Input","CheckedCheckbox","CheckboxIcon","SUCCESS_COLOR","Checkbox","isChecked","withScrollToError","WrappedComponent","ErrorScroll","Component","componentDidUpdate","prevProps","formik","isSubmitting","isValidating","errors","errorFields","Object","keys","length","selector","errorElement","document","querySelector","behavior","render","this","connect"],"sourceRoot":""}