{"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    \"&\": \"&amp;\",\n    \"<\": \"&lt;\",\n    \">\": \"&gt;\",\n    '\"': \"&quot;\",\n    \"'\": \"&apos;\",\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":""}