{"version":3,"file":"js/6633-980a0166dfd2dce49ef2.chunk.js","mappings":"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","sources":["webpack:///./app/javascript/_shared/FAQAccordion/FAQSchema.jsx","webpack:///./app/javascript/_shared/FAQAccordion/FAQAccordion.jsx","webpack:///./app/javascript/main-app/data/faq-school.js","webpack:///./app/javascript/packs/FAQSchool.jsx","webpack:///./app/javascript/main-app/images/arrow-down.svg","webpack:///./app/javascript/main-app/images/arrow-up.svg","webpack:///./node_modules/react-schemaorg/dist/src/index.js","webpack:///./node_modules/react-schemaorg/dist/src/json-ld.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { JsonLd } from 'react-schemaorg';\n\nconst generateFAQEntity = (faqEntities) => (\n faqEntities.map((faq) => ({\n '@type': 'Question',\n name: faq.question,\n acceptedAnswer: {\n '@type': 'Answer',\n text: faq.answer,\n },\n }))\n);\n\nconst FaqSchema = ({ faqEntities }) => (\n <JsonLd\n item={{\n '@context': 'https://schema.org',\n '@type': 'FAQPage',\n mainEntity: generateFAQEntity(faqEntities),\n }}\n />\n);\n\nFaqSchema.propTypes = {\n faqEntities: PropTypes.arrayOf(\n PropTypes.shape({\n question: PropTypes.string,\n answer: PropTypes.string,\n }),\n ).isRequired,\n};\n\nexport default FaqSchema;\n","import React, { Component, Fragment } from 'react';\nimport styled from 'styled-components';\nimport map from 'lodash/map';\nimport includes from 'lodash/includes';\nimport PropTypes from 'prop-types';\n\nimport media from '../../main-app/utils/mediaQueries';\nimport arrow_up from '../../main-app/images/arrow-up.svg';\nimport arrow_down from '../../main-app/images/arrow-down.svg';\nimport { NOTES_COLOR, TEXT_COLOR } from '../../main-app/theme';\nimport FaqSchema from './FAQSchema';\n\nconst Container = styled.div`\n ${media.mobile`\n padding: 0 6px;\n `}\n`;\n\nconst Title = styled.h2`\n font-size: 24px;\n font-weight: 800;\n line-height: 1.25;\n letter-spacing: 0.2px;\n color: #354354;\n margin: 40px 0 12px;\n \n ${media.mobile`\n font-size: 18px;\n margin-top: 24px;\n `}\n`;\n\nconst Block = styled.div`\n margin-bottom: 24px;\n`;\n\nconst BlockTitle = styled.h3`\n font-size: ${(props) => props.questionFontSize};\n font-weight: bold;\n line-height: 1.5;\n letter-spacing: 0.27px;\n color: #354354;\n margin-top: 0;\n margin-bottom: 8px;\n`;\n\nconst BlockItem = styled.h4`\n font-size: ${(props) => props.questionFontSize};\n font-weight: normal;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.38;\n letter-spacing: 0.1px;\n margin-bottom: 8px;\n color: ${(props) => (props.isOpened ? NOTES_COLOR : TEXT_COLOR)};\n cursor: pointer;\n position: relative;\n ${media.mobile`\n padding-right: 25px;\n margin-bottom: 12px;\n &::after {\n content: ' ';\n background: url(${(props) => (props.isOpened ? arrow_up : arrow_down)});\n display: \"inline-block\";\n position: absolute;\n top: 3px;\n right: 0;\n width: 18px;\n height: 18px;\n }\n `}\n`;\n\nconst BlockInfo = styled.div`\n font-size: 14px;\n font-weight: normal;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.36;\n letter-spacing: 0.1px;\n padding: 16px 24px;\n color: ${NOTES_COLOR};\n border-radius: 8px;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);\n background-color: ${(props) => props.answerBg};\n ${media.mobile`\n margin: 0 -8px;\n `}\n`;\n\nclass FAQAccordion extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n visibleInfos: [],\n };\n }\n\n showInfoHandler = (id) => {\n const { visibleInfos } = this.state;\n const index = visibleInfos.indexOf(id);\n\n if (index > -1) {\n visibleInfos.splice(index, 1);\n } else {\n visibleInfos.push(id);\n }\n\n this.setState({\n visibleInfos,\n });\n };\n\n render() {\n const { visibleInfos } = this.state;\n const { faqList, answerBg = '#fff', questionFontSize = '16px' } = this.props;\n\n return (\n <>\n <FaqSchema faqEntities={faqList.sections.map((section) => section.questions).flat(1)} />\n <Container>\n {faqList.title && <Title>{faqList.title}</Title>}\n {map(faqList.sections, (section, index) => (\n <Block key={`faq-section${index}`}>\n {section.title && <BlockTitle questionFontSize={questionFontSize}>{section.title}</BlockTitle>}\n {map(section.questions, (item, yindex) => (\n <Fragment key={`faq-item-section${yindex}`}>\n <BlockItem\n isOpened={includes(visibleInfos, item.id)}\n onClick={() => this.showInfoHandler(item.id)}\n questionFontSize={questionFontSize}\n id={`question${item.id}`}\n >\n {item.question}\n </BlockItem>\n {includes(visibleInfos, item.id) && (\n <BlockInfo\n dangerouslySetInnerHTML={{ __html: item.answer }}\n answerBg={answerBg}\n />\n )}\n </Fragment>\n ))}\n </Block>\n ))}\n </Container>\n </>\n );\n }\n}\n\nFAQAccordion.propTypes = {\n faqList: PropTypes.shape({\n title: PropTypes.string,\n sections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n questions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n question: PropTypes.string,\n answer: PropTypes.string,\n }),\n ),\n }),\n ),\n }).isRequired,\n answerBg: PropTypes.string,\n questionFontSize: PropTypes.string,\n};\n\nFAQAccordion.defaultProps = {\n answerBg: '#fff',\n questionFontSize: '16px',\n};\n\nexport { FAQAccordion };\n","export const getFaqSchool = (data) => {\n const {\n schoolName, city, street, zipcode, phone, avgRating, reviewsNumber, examStatLicenseB, numberOfStudentB, examStatYear, licenseCategories, licenseTags, hasTimetable,\n } = data;\n\n const questions = [\n {\n id: 'faq-school-1',\n question: `Quel est le numéro de téléphone de ${schoolName}?`,\n answer:\n phone\n ? `Vous pouvez appeler ${schoolName} au ${phone} pendant les horaires d’ouverture.`\n : 'L’auto-école n’a pas renseigné son numéro de téléphone.',\n },\n {\n id: 'faq-school-2',\n question: `Quelle est l’adresse de ${schoolName}?`,\n answer: `L’auto-école est située au ${street} ${zipcode} ${city}.`,\n },\n {\n id: 'faq-school-4',\n question: `Comment prendre rendez-vous avec ${schoolName}?`,\n answer:\n `Vous pouvez <a href=\"${window.location.href.split(/[?#]/)[0]}#rdv\" target=\"_blank\" rel=\"noopener noreferrer\">prendre rendez-vous</a> avec ${schoolName} pour des renseignements ou une inscription. Important, ce formulaire ne permet pas de réserver une leçon de conduite. En cas de doute, appelez l’auto-école au ${phone}.`,\n },\n {\n id: 'faq-school-5',\n question: `Quels sont les avis des anciens élèves sur ${schoolName}?`,\n answer:\n `L’auto-école a une note moyenne de ${avgRating}/5 sur un nombre total de ${reviewsNumber}. Consultez en priorité les « avis vérifiés » pour lesquels un justificatif d’inscription a été envoyé.`,\n },\n {\n id: 'faq-school-6',\n question: `Quel est le taux de réussite de ${schoolName}?`,\n answer:\n `L’auto-école a un taux de réussite de ${examStatLicenseB} % sur ${numberOfStudentB} candidats pour l’année ${examStatYear}. Il s’agit des taux de réussite officiels transmis par le Ministère de l’Intérieur. Important, les taux de réussite doivent être pris avec précaution. Avant de vous inscrire dans une auto-école, il est préférable de consulter les avis et de vous rendre sur place afin de vous faire une opinion par vous-même.`,\n },\n {\n id: 'faq-school-7',\n question: `Quelles sont les formations proposées par ${schoolName}?`,\n answer:\n licenseCategories.length || licenseTags.length\n ? `L’auto-école propose des formations au : ${licenseCategories.join(', ')}${licenseCategories.length && licenseTags.length ? ', ' : ''}${licenseTags.join(', ')}.`\n : 'L’auto-école n’a pas renseigné les formations qu’elle dispense.',\n },\n ];\n\n if (hasTimetable) {\n const workingHours = {\n id: 'faq-school-3',\n question: `Quels sont les horaires de ${schoolName}?`,\n answer:\n 'Les horaires de l’auto-école sont <a href=\"#horaires\">consultable ici</a>. Il est préférable de téléphoner avant de vous déplacer.',\n };\n\n questions.splice(2, 0, workingHours);\n }\n\n return ({\n title: 'Questions fréquentes',\n sections: [\n {\n questions,\n },\n ],\n });\n};\n","import React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { FAQAccordion } from '@shared/FAQAccordion';\nimport { getFaqSchool } from '../main-app/data/faq-school';\n\nconst FaqSchoolComponent = ({ node }) => {\n if (!node) return;\n const schoolName = node.getAttribute('data-school-name');\n const city = node.getAttribute('data-city');\n const street = node.getAttribute('data-street');\n const zipcode = node.getAttribute('data-zipcode');\n const phone = node.getAttribute('data-school-phone');\n const avgRating = node.getAttribute('data-avg-rating');\n const reviewsNumber = node.getAttribute('data-reviews-number');\n const examStatLicenseB = node.getAttribute('data-exam-stat-b');\n const numberOfStudentB = node.getAttribute('data-students-b');\n const examStatYear = node.getAttribute('data-exam-stat-year');\n const licenseCategories = JSON.parse(node.getAttribute('data-license-categories'));\n const licenseTags = JSON.parse(node.getAttribute('data-license-tags'));\n const hasTimetable = JSON.parse(node.getAttribute('data-has-timetable'));\n\n const faqData = {\n schoolName,\n city,\n street,\n zipcode,\n phone,\n avgRating,\n reviewsNumber,\n examStatLicenseB,\n numberOfStudentB,\n examStatYear,\n licenseCategories,\n licenseTags,\n hasTimetable,\n };\n\n const root = createRoot(node);\n root.render(<FAQAccordion faqList={getFaqSchool(faqData)} />);\n};\n\nexport default FaqSchoolComponent;\n","export default __webpack_public_path__ + \"701e4aa88df01b6fec67a3d9aa4520b5.svg\";","export default __webpack_public_path__ + \"0e3c0441a02700842fd9a14311f60360.svg\";","\"use strict\";\n/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.jsonLdScriptProps = exports.JsonLd = exports.helmetJsonLdProp = void 0;\nvar json_ld_1 = require(\"./json-ld\");\nObject.defineProperty(exports, \"helmetJsonLdProp\", { enumerable: true, get: function () { return json_ld_1.helmetJsonLdProp; } });\nObject.defineProperty(exports, \"JsonLd\", { enumerable: true, get: function () { return json_ld_1.JsonLd; } });\nObject.defineProperty(exports, \"jsonLdScriptProps\", { enumerable: true, get: function () { return json_ld_1.jsonLdScriptProps; } });\n","\"use strict\";\n/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.helmetJsonLdProp = exports.jsonLdScriptProps = exports.JsonLd = void 0;\nconst React = require(\"react\");\nfunction JsonLd(props) {\n return React.createElement(\"script\", Object.assign({}, jsonLdScriptProps(props.item, props)));\n}\nexports.JsonLd = JsonLd;\nfunction jsonLdScriptProps(item, options = {}) {\n return {\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: {\n __html: JSON.stringify(item, safeJsonLdReplacer, options.space),\n },\n };\n}\nexports.jsonLdScriptProps = jsonLdScriptProps;\nfunction helmetJsonLdProp(item, options = {}) {\n return {\n type: \"application/ld+json\",\n innerHTML: JSON.stringify(item, safeJsonLdReplacer, options.space),\n };\n}\nexports.helmetJsonLdProp = helmetJsonLdProp;\nconst ESCAPE_ENTITIES = Object.freeze({\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\",\n});\nconst ESCAPE_REGEX = new RegExp(`[${Object.keys(ESCAPE_ENTITIES).join(\"\")}]`, \"g\");\nconst ESCAPE_REPLACER = (t) => ESCAPE_ENTITIES[t];\n/**\n * A replacer for JSON.stringify to strip JSON-LD of illegal HTML entities\n * per https://www.w3.org/TR/json-ld11/#restrictions-for-contents-of-json-ld-script-elements\n */\nconst safeJsonLdReplacer = (() => {\n // Replace per https://www.w3.org/TR/json-ld11/#restrictions-for-contents-of-json-ld-script-elements\n // Solution from https://stackoverflow.com/a/5499821/864313\n return (_, value) => {\n switch (typeof value) {\n case \"object\":\n // Omit null values.\n if (value === null) {\n return undefined;\n }\n return value; // JSON.stringify will recursively call replacer.\n case \"number\":\n case \"boolean\":\n case \"bigint\":\n return value; // These values are not risky.\n case \"string\":\n return value.replace(ESCAPE_REGEX, ESCAPE_REPLACER);\n default: {\n // We shouldn't expect other types.\n isNever(value);\n // JSON.stringify will remove this element.\n return undefined;\n }\n }\n };\n})();\n// Utility: Assert never\nfunction isNever(_) { }\n"],"names":["generateFAQEntity","faqEntities","map","faq","name","question","acceptedAnswer","text","answer","item","mainEntity","Container","styled","div","media","mobile","Title","h2","Block","BlockTitle","h3","props","questionFontSize","BlockItem","h4","isOpened","NOTES_COLOR","TEXT_COLOR","arrow_up","arrow_down","BlockInfo","answerBg","FAQAccordion","Component","constructor","super","id","visibleInfos","this","state","index","indexOf","splice","push","setState","render","faqList","sections","section","questions","flat","title","key","yindex","Fragment","includes","onClick","showInfoHandler","dangerouslySetInnerHTML","__html","defaultProps","getFaqSchool","data","schoolName","city","street","zipcode","phone","avgRating","reviewsNumber","examStatLicenseB","numberOfStudentB","examStatYear","licenseCategories","licenseTags","hasTimetable","window","location","href","split","length","join","workingHours","node","faqData","getAttribute","JSON","parse","createRoot","exports","json_ld_1","Object","defineProperty","enumerable","get","JsonLd","value","helmetJsonLdProp","jsonLdScriptProps","React","options","type","stringify","safeJsonLdReplacer","space","createElement","assign","innerHTML","ESCAPE_ENTITIES","freeze","ESCAPE_REGEX","RegExp","keys","ESCAPE_REPLACER","t","_","replace"],"sourceRoot":""}