{"version":3,"file":"js/theoryAccessSellingPageEntry-3146b1c887d761d68245.js","mappings":"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","sources":["webpack:///./app/javascript/main-app/images/checkbox-checked.inline.svg","webpack:///./app/javascript/main-app/images/facebook-logo.inline.svg","webpack:///./app/javascript/main-app/images/icon-close.inline.svg","webpack:///./app/javascript/main-app/images/icon-lock.inline.svg","webpack:///./app/javascript/main-app/images/icon-question.inline.svg","webpack:///./app/javascript/main-app/images/icon-stripe.inline.svg","webpack:///./app/javascript/main-app/images/logo-car.inline.svg","webpack:///./app/javascript/_shared/Popup/Popup.jsx","webpack:///./app/javascript/_shared/Tooltip/Tooltip.jsx","webpack:///./app/javascript/_shared/Tooltip/helpers.js","webpack:///./app/javascript/_shared/fields/Combobox.jsx","webpack:///./app/javascript/_shared/fields/Flatpickr.jsx","webpack:///./app/javascript/main-app/components/fields/common/InputContainer.js","webpack:///./app/javascript/_shared/fields/DatePickerField.js","webpack:///./app/javascript/_shared/fields/FieldLabel.jsx","webpack:///./app/javascript/_shared/fields/Switcher/Switcher.tsx","webpack:///./app/javascript/_shared/hooks/useViewport.js","webpack:///./app/javascript/_shared/services/DateTimeService.js","webpack:///./app/javascript/espace-pro-app/src/constants/admin-theme.js","webpack:///./app/javascript/espace-pro-app/src/constants/breakpoints.js","webpack:///./app/javascript/main-app/components/buttons/Btn.jsx","webpack:///./app/javascript/main-app/components/fields/Checkbox/Checkbox.jsx","webpack:///./app/javascript/main-app/components/fields/Field.jsx","webpack:///./app/javascript/main-app/components/fields/PasswordField.tsx","webpack:///./app/javascript/main-app/components/fields/common/Input.js","webpack:///./app/javascript/main-app/hocs/withLoadingFallback.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/NoAccessesLeft.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/constants.js","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/Title.js","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/PaymentResultScreen.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/CheckoutForm/CheckoutFormComponent.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/CheckoutForm/CheckoutFormContainer.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/StripeForm.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/LoggedInPayment.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/StripeInfo.jsx","webpack:///./app/javascript/main-app/services/facebook-async.js","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/CheckboxLabel.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/LoginAndPayForm.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/LoginOptions.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/PaymentScreen/PaymentScreenComponent.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/PaymentScreen/PaymentScreenContainer.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/PaymentStates/PaymentStatesComponent.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/PaymentStates/PaymentStatesContainer.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/TheoryAccessSellingPage/TheoryAccessSellingPageComponent.jsx","webpack:///./app/javascript/main-app/components/TheoryAccessSellingPage/components/TheoryAccessSellingPage/TheoryAccessSellingPageContainer.jsx","webpack:///./app/javascript/packs/theoryAccessSellingPageEntry.jsx","webpack:///./app/javascript/main-app/images/cb.svg","webpack:///./app/javascript/main-app/images/icon-datepicker.svg","webpack:///./app/javascript/main-app/images/icon-password-eye.svg","webpack:///./app/javascript/main-app/images/mastercard.svg","webpack:///./app/javascript/main-app/images/select-arrow.svg","webpack:///./app/javascript/main-app/images/visa.svg"],"sourcesContent":["import React from \"react\";\nexport default (({\n  styles = {},\n  ...props\n}) => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" {...props}><path d=\"M16 0H2a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V2a2 2 0 00-2-2zM7 14L2 9l1.41-1.41L7 11.17l7.59-7.59L16 5l-9 9z\" /></svg>);","import React from \"react\";\nexport default (({\n  styles = {},\n  ...props\n}) => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" {...props}><g fill=\"none\" fillRule=\"evenodd\"><path d=\"M0 0h32v32H0z\" /><path id=\"fb-icon-bg\" fill=\"#3B5998\" fillRule=\"nonzero\" d=\"M16 2.667C8.636 2.667 2.667 8.636 2.667 16c0 6.655 4.876 12.17 11.25 13.172v-9.319h-3.386V16h3.386v-2.937c0-3.342 1.99-5.187 5.036-5.187 1.459 0 2.984.26 2.984.26v3.28h-1.68c-1.657 0-2.173 1.028-2.173 2.083V16h3.697l-.59 3.853h-3.107v9.319c6.373-1 11.25-6.519 11.25-13.172 0-7.364-5.97-13.333-13.334-13.333z\" /></g></svg>);","import React from \"react\";\nexport default (({\n  styles = {},\n  ...props\n}) => <svg viewBox=\"0 0 16 16\" {...props}><path fill=\"#CCD0D4\" d=\"M8 0a8 8 0 110 16A8 8 0 018 0zm2.924 5.062a.545.545 0 00-.771 0l-2.07 2.153-2.25-2.182a.545.545 0 10-.757.785l2.237 2.153-2.237 2.153a.545.545 0 10.757.785l2.25-2.182 2.07 2.153a.545.545 0 10.785-.756L8.855 7.942l2.083-2.182a.545.545 0 00-.014-.698z\" /></svg>);","import React from \"react\";\nexport default (({\n  styles = {},\n  ...props\n}) => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 16\" {...props}><g fill=\"none\"><path fill=\"#354354\" d=\"M5.908 0C3.877 0 2.215 1.8 2.215 4v1.6h1.477V4c0-1.32.997-2.4 2.216-2.4 1.218 0 2.215 1.08 2.215 2.4v1.6H9.6V4c0-2.2-1.662-4-3.692-4z\" /><path fill=\"#F68900\" d=\"M10.338 16H1.477C.665 16 0 15.28 0 14.4V7.2c0-.88.665-1.6 1.477-1.6h8.861c.813 0 1.477.72 1.477 1.6v7.2c0 .88-.664 1.6-1.477 1.6z\" /></g></svg>);","import React from \"react\";\nexport default (({\n  styles = {},\n  ...props\n}) => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 14 14\" {...props}><path d=\"M7 13.667A6.667 6.667 0 117 .333a6.667 6.667 0 010 13.334zM6.333 9v1.333h1.334V9H6.333zm1.334-1.097A2.334 2.334 0 007 3.333c-1.112 0-2.07.785-2.289 1.876l1.308.262A1.001 1.001 0 117 6.667a.667.667 0 00-.667.666v1h1.334v-.43z\" /></svg>);","import React from \"react\";\nexport default (({\n  styles = {},\n  ...props\n}) => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 110 24\" {...props}><g fill=\"#424770\" fillRule=\"evenodd\"><path d=\"M104.454 24H5.546A5.542 5.542 0 010 18.462V5.538A5.542 5.542 0 015.546 0h98.908A5.542 5.542 0 01110 5.538v12.924A5.542 5.542 0 01104.454 24zm4.622-18.462a4.62 4.62 0 00-4.622-4.615H5.546A4.62 4.62 0 00.924 5.538v12.924a4.62 4.62 0 004.622 4.615h98.908a4.62 4.62 0 004.622-4.615V5.538z\" opacity=\".349\" /><path d=\"M56.11 17.019h-1.207l.934-2.302-1.858-4.682h1.274l1.168 3.186 1.176-3.186h1.275l-2.763 6.984zm-4.632-2.01c-.418 0-.847-.156-1.235-.458v.341h-1.245V7.907h1.245v2.458c.388-.291.817-.447 1.235-.447 1.304 0 2.198 1.05 2.198 2.545 0 1.496-.894 2.545-2.198 2.545zm-.262-4.023c-.34 0-.682.146-.973.438v2.079c.291.29.632.436.973.436.7 0 1.187-.601 1.187-1.476 0-.874-.487-1.477-1.187-1.477zm-7.259 3.565c-.379.302-.806.457-1.234.457-1.295 0-2.199-1.05-2.199-2.545 0-1.496.904-2.545 2.199-2.545.428 0 .855.156 1.234.447V7.907h1.256v6.985h-1.256v-.34zm0-3.127c-.281-.292-.622-.438-.962-.438-.71 0-1.197.603-1.197 1.477 0 .875.486 1.476 1.197 1.476.34 0 .68-.145.962-.436v-2.079zm-7.412 1.38c.078.738.662 1.242 1.478 1.242.448 0 .944-.165 1.45-.456v1.04a3.98 3.98 0 01-1.654.378c-1.47 0-2.5-1.069-2.5-2.583 0-1.467 1.012-2.507 2.403-2.507 1.274 0 2.14 1.001 2.14 2.428 0 .137 0 .292-.02.457h-3.297zm1.129-1.925c-.604 0-1.07.448-1.129 1.118h2.12c-.038-.66-.437-1.118-.991-1.118zm-4.408.768v3.245h-1.245v-4.857h1.245v.485c.35-.388.779-.602 1.196-.602.137 0 .273.01.409.048v1.108a1.628 1.628 0 00-.437-.058c-.409 0-.847.223-1.168.631zm-5.554 1.156c.077.739.66 1.243 1.478 1.243.447 0 .944-.165 1.45-.456v1.04a3.988 3.988 0 01-1.655.378c-1.468 0-2.499-1.069-2.499-2.583 0-1.467 1.011-2.507 2.402-2.507 1.274 0 2.14 1.001 2.14 2.428 0 .137 0 .292-.02.457h-3.296zm1.127-1.924c-.602 0-1.07.448-1.127 1.118h2.12c-.039-.66-.438-1.118-.993-1.118zm-5.476 4.013l-.993-3.303-.983 3.303H20.27l-1.673-4.857h1.245l.982 3.303.983-3.303h1.128l.982 3.303.983-3.303h1.245l-1.663 4.857h-1.118zm-7.609.116c-1.469 0-2.51-1.058-2.51-2.545 0-1.496 1.041-2.545 2.51-2.545 1.469 0 2.5 1.05 2.5 2.545 0 1.487-1.031 2.545-2.5 2.545zm0-4.05c-.73 0-1.235.612-1.235 1.505 0 .894.506 1.506 1.235 1.506.72 0 1.226-.612 1.226-1.506 0-.893-.506-1.505-1.226-1.505zm-5.468 1.534H9.168v2.4H7.923V8.208h2.363c1.363 0 2.335.884 2.335 2.147s-.972 2.137-2.335 2.137zm-.174-3.273h-.944v2.263h.944c.72 0 1.225-.457 1.225-1.127 0-.68-.505-1.136-1.225-1.136zm92.6 3.751h-5.138c.117 1.229 1.018 1.59 2.042 1.59 1.041 0 1.862-.22 2.578-.58v2.112c-.713.395-1.655.68-2.91.68-2.556 0-4.348-1.6-4.348-4.76 0-2.67 1.52-4.789 4.017-4.789 2.493 0 3.794 2.119 3.794 4.803 0 .254-.023.803-.035.944zm-3.776-3.61c-.656 0-1.385.495-1.385 1.675h2.714c0-1.18-.684-1.675-1.329-1.675zm-8.248 7.411c-.919 0-1.48-.386-1.857-.662l-.006 2.965-2.624.558V7.398h2.31l.137.647a2.94 2.94 0 012.056-.822c1.843 0 3.579 1.658 3.579 4.71 0 3.33-1.718 4.838-3.595 4.838zm-.612-7.226c-.602 0-.98.22-1.253.52l.015 3.894c.256.276.623.497 1.238.497.97 0 1.621-1.055 1.621-2.466 0-1.37-.66-2.445-1.62-2.445zm-7.67-2.147h2.635v9.186h-2.634V7.398zm0-2.934l2.635-.56V6.04l-2.634.56V4.463zm-2.809 5.892v6.228h-2.623V7.398h2.27l.164.774c.615-1.128 1.841-.9 2.19-.774v2.41c-.333-.108-1.38-.265-2 .548zm-5.625 3.006c0 1.544 1.656 1.063 1.992.93v2.132c-.35.192-.984.347-1.842.347-1.557 0-2.726-1.145-2.726-2.697l.012-8.408 2.562-.545.002 2.277h1.993v2.234h-1.993v3.73zm-3.272.446c0 1.887-1.504 2.963-3.686 2.963a7.295 7.295 0 01-2.87-.594v-2.503c.88.479 2.003.838 2.873.838.585 0 1.006-.157 1.006-.642 0-1.25-3.99-.78-3.99-3.681 0-1.855 1.42-2.966 3.549-2.966.87 0 1.738.133 2.608.48v2.468c-.798-.43-1.813-.674-2.61-.674-.55 0-.892.158-.892.567 0 1.18 4.012.619 4.012 3.744z\" opacity=\".502\" /></g></svg>);","import React from \"react\";\nexport default (({\n  styles = {},\n  ...props\n}) => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 56 56\" {...props}><path fill=\"#0153b4\" d=\"M28.1 50c-6.4-.1-14.3-.7-18.7-5.2C4.8 40.4 4.1 32.5 4 26.1c.1-6.4.7-14.3 5.2-18.7C13.6 2.8 21.5 2.1 27.9 2c6.4.1 14.3.7 18.7 5.2 4.6 4.4 5.3 12.3 5.4 18.6-.1 6.4-.7 14.3-5.2 18.7-4.4 4.7-12.3 5.4-18.7 5.5z\" /><g fill=\"#FFF\"><path d=\"M40.668 25.064c-.624-1.207-2.87-3.12-2.87-3.12s.831-.707.998-.874c.166-.166.041-1.04-.583-1.082-.624-.041-1.164.375-1.164.375s-.625-2.996-1.914-4.16c-1.29-1.165-10.942-1.456-14.02-.25-1.581 1.04-2.704 4.451-2.704 4.451l-1.124-.29s-1.081.457-.79 1.08c.291.625 1.248.875 1.248.875s-2.704 2.33-2.995 3.744c-.292 1.414-.458 5.367.332 6.906 1.665 3.411 10.106 3.286 12.769 3.286 2.704 0 9.406 0 12.65-2.662 1.04-1.498.75-7.031.167-8.28zm-19.345-8.196c1.206-.707 10.317-1.539 13.437.208 1.373 2.663 1.914 5.409 1.83 5.492-.748.54-5.907 1.497-8.86 1.497-3.578 0-7.114-.873-8.612-1.705-.167-.125 1.373-4.993 2.205-5.492zm-4.535 11.233c-1.498-.166-1.29-2.122-1.29-2.122.167-.873.79-2.122 2.33-1.789 1.54.333 1.29 1.456 1.165 1.956-.125.499-.707 2.121-2.205 1.955zm1.498 5.616a1.207 1.207 0 11.002-2.414 1.207 1.207 0 01-.002 2.414zm19.095 0a1.207 1.207 0 11.002-2.414 1.207 1.207 0 01-.002 2.414zm1.29-5.782c-.998.374-2.122-.417-2.288-1.332-.167-.915-.208-2.205 1.123-2.538.915-.25 1.706.125 2.122 1.29.416 1.165.041 2.205-.957 2.58z\" /><path d=\"M36.757 35.548s2.912-.832 3.828-1.623c0 0 0 1.914-.333 2.413-.333.5-.166.79-2.496.666-.832-.083-1.04-1.123-.999-1.456zm-17.847-.042s.125.957-.375 1.165c-.499.208-.79.374-1.539.374-.707 0-.998-.041-1.331-.457-.333-.458-.707-1.997-.707-2.83.041-.04 1.83 1.665 3.952 1.748zm4.992-20.551s.5-1.581 1.165-1.914c.666-.333 5.076-.458 5.533 0 .458.457 1.165 1.914 1.165 1.914s-4.826-.333-7.863 0z\" /></g></svg>);","import React from 'react';\nimport PropsTypes from 'prop-types';\nimport styled from 'styled-components';\nimport ScrollLock, { TouchScrollable } from 'react-scrolllock';\n\nimport media from '../../main-app/utils/mediaQueries';\n\nconst Container = styled.div`\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background-color: ${(props) => props.overlayColor};\n  padding: 0 16px;\n  //to overcome z-index: 10000 of the header\n  z-index: 20000;\n`;\n\nconst Content = styled.div`\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  width: ${(props) => props.contentWidth}px;\n  max-width: calc(100% - 32px);\n  background-color: #fff;\n  box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(155, 132, 135, 0.06), 0 4px 12px 0 rgba(119, 94, 98, 0.05);\n  border-radius: 12px;\n  padding: 32px 40px 24px;\n  max-height: 100%;\n  overflow: ${(props) => props.overflow ? props.overflow : 'auto'};\n  -webkit-overflow-scrolling: touch;\n\n  ${media.mobile`\n    ${(props) => props.isMobilesFullWidth && `\n      position: fixed;\n      width: auto;\n      max-width: 100vw;\n      top: auto;\n      bottom: 0;\n      left: 0;\n      transform: none;\n      border-bottom-left-radius: 0;\n      border-bottom-right-radius: 0;\n      padding: 20px 24px 24px;\n    `}\n  `}\n`;\n\nconst Popup = ({\n  children, width, overlayColor, overflow, isMobilesFullWidth,\n}) => (\n  <>\n    <ScrollLock />\n    <TouchScrollable>\n      <Container overlayColor={overlayColor}>\n        <Content contentWidth={width} overflow={overflow} isMobilesFullWidth={isMobilesFullWidth}>{children}</Content>\n      </Container>\n    </TouchScrollable>\n  </>\n);\n\nPopup.propTypes = {\n  children: PropsTypes.node.isRequired,\n  width: PropsTypes.number,\n  overlayColor: PropsTypes.string,\n  overflow: PropsTypes.string,\n  isMobilesFullWidth: PropsTypes.bool,\n};\n\nPopup.defaultProps = {\n  width: 368,\n  overlayColor: 'rgba(0,0,0,0.4)',\n  overflow: 'auto',\n  isMobilesFullWidth: false,\n};\n\nexport { Popup };\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    <Container zIndex={zIndex} activeZIndex={activeZIndex} isOpened={isOpened}>\n      {isOpened && (\n      <TooltipInstance width={width} position={currentPosition} isSmall={isSmall}>\n        {currentPosition === 'top left' && <ArrowDown position=\"left\" />}\n        {currentPosition === 'top center' && <ArrowDown position=\"center\" />}\n        {currentPosition === 'top right' && <ArrowDown position=\"right\" />}\n        {currentPosition === 'right top' && <ArrowLeft position=\"top\" />}\n        {currentPosition === 'right center' && <ArrowLeft position=\"center\" />}\n        {currentPosition === 'right bottom' && <ArrowLeft position=\"bottom\" />}\n        {currentPosition === 'bottom left' && <ArrowTop position=\"left\" />}\n        {currentPosition === 'bottom center' && <ArrowTop position=\"center\" />}\n        {currentPosition === 'bottom right' && <ArrowTop position=\"right\" />}\n        {currentPosition === 'left top' && <ArrowRight position=\"top\" />}\n        {currentPosition === 'left center' && <ArrowRight position=\"center\" />}\n        {currentPosition === 'left bottom' && <ArrowRight position=\"bottom\" />}\n        {trigger === 'click' && <StyledCross onClick={() => setIsOpened(false)} />}\n        {content}\n      </TooltipInstance>\n      )}\n      {React.cloneElement(children, getTriggerProps())}\n    </Container>\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 React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport map from 'lodash/map';\n\nimport FieldLabel from './FieldLabel';\nimport { FONT_FAMILY_MAIN, LIGHT_BLUE_GREY, TEXT_COLOR } from '../../main-app/theme';\nimport arrowDown from '../../main-app/images/select-arrow.svg';\nimport media from '../../main-app/utils/mediaQueries';\n\nconst InputContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  margin-bottom: 3px;\n`;\n\nconst SelectContainer = styled.label`\n  display: block;\n  position: relative;\n  width: ${(props) => (props.width ? props.width : 'auto')};\n  margin: 0;\n  font-weight: inherit;\n`;\n\nconst Select = styled.select`\n  position: relative;\n  height: 48px;\n  width: 100%;\n  padding: 0 40px 0 16px;\n  border-radius: 2px;\n  border: solid 1px rgba(0, 0, 0, 0.07);\n  background-image: url(${arrowDown});\n  background-repeat: no-repeat;\n  background-size: 23px 23px;\n  background-origin: border-box;\n  background-position: right 6px top 13px;\n  background-color: #f4f7f9;\n  outline: none;\n  font-size: ${(props) => props.fontSize ? props.fontSize : '14px'};\n  font-weight: normal;\n  line-height: 1.43;\n  letter-spacing: 0.1px;\n  color: ${(props) => props.value ? TEXT_COLOR : LIGHT_BLUE_GREY};\n  transition: all .2s;\n  font-family: ${FONT_FAMILY_MAIN};\n  &::-ms-expand {\n    display: none;\n  }\n  appearance: none;\n  &:focus {\n    border-color: #23c4f8 !important;\n  }\n  ${(props) => props.disabled\n    ? `\n    border: dashed 1px rgba(0, 0, 0, 0.07);\n    color: #9aa1a9;\n    &:hover {\n      cursor: not-allowed;\n    }\n  `\n    : `\n    &:hover {\n      border-color: rgba(41, 83, 102, 0.3);\n    }\n  `}\n  ${(props) => props.valid === true\n  && `\n    border-color: #51e3ae !important;\n  `}\n  ${(props) => props.valid === false\n  && `\n    border-color: #f74656 !important;\n    color: #f74656;\n  `}\n\n  ${(props) => props.icon && `\n    padding-left: 42px;\n  `}\n  \n  ${media.mobile`\n    font-size: 16px;\n    \n    &:focus {\n      font-size: 16px;\n    }\n  `}\n`;\n\nconst Option = styled.option`\n  color: ${TEXT_COLOR};\n  \n  &:disabled {\n    color: ${LIGHT_BLUE_GREY};\n  }\n`;\n\nconst ErrorMessage = styled.div`\n  font-size: 12px;\n  height: 20px;\n  color: #f74656;\n`;\n\nconst Image = styled.img`\n  max-width: 30px;\n  max-height: 30px;\n  position: absolute;\n  z-index: 1;\n  top: 50%;\n  left: 21px;\n  transform: translate(-50%, -50%);\n`;\n\nclass Combobox extends Component {\n  constructor(props) {\n    super(props);\n    this.selectRef = React.createRef();\n  }\n\n  render() {\n    const {\n      label,\n      placeholder,\n      options,\n      disabled,\n      valid,\n      optionalLink,\n      optionalText,\n      width,\n      tabIndex,\n      name,\n      onChange,\n      onBlur,\n      value,\n      errorMessage,\n      icon,\n      fontSize,\n      'data-testid': dataTestId,\n    } = this.props;\n\n    return (\n      <InputContainer>\n        <FieldLabel\n          label={label}\n          optionalLink={optionalLink}\n          optionalText={optionalText}\n          valid={valid}\n        />\n        <SelectContainer width={width}>\n          {icon && <Image src={icon} alt=\"dropdown icon\" />}\n          <Select\n            width={width}\n            tabIndex={tabIndex}\n            placeholder={placeholder}\n            disabled={disabled}\n            valid={valid}\n            name={name}\n            onChange={onChange}\n            onBlur={onBlur}\n            value={value}\n            data-test-selector={`form-field-${name}`}\n            ref={this.selectRef}\n            icon={icon}\n            fontSize={fontSize}\n            data-testid={dataTestId}\n          >\n            {placeholder && <Option label={placeholder} disabled />}\n            {map(options, (item) => (\n              <Option key={`index-${item.id}`} value={item.id}>\n                {item.name}\n              </Option>\n            ))}\n          </Select>\n        </SelectContainer>\n        {errorMessage && <ErrorMessage>{errorMessage}</ErrorMessage>}\n      </InputContainer>\n    );\n  }\n}\n\nCombobox.propTypes = {\n  label: PropTypes.string,\n  placeholder: PropTypes.string,\n  options: PropTypes.array,\n  optionalLink: PropTypes.string,\n  optionalText: PropTypes.string,\n  disabled: PropTypes.bool,\n  valid: PropTypes.bool,\n  width: PropTypes.string,\n  name: PropTypes.string,\n  onChange: PropTypes.func,\n  onBlur: PropTypes.func,\n  value: PropTypes.any,\n  errorMessage: PropTypes.string,\n  tabIndex: PropTypes.string,\n  icon: PropTypes.string,\n  fontSize: PropTypes.string,\n  'data-testid': PropTypes.string,\n};\n\nCombobox.defaultProps = {\n  label: '',\n  placeholder: '',\n  options: [],\n  disabled: false,\n  valid: null,\n  width: null,\n  optionalLink: '',\n  optionalText: '',\n  name: '',\n  onChange: () => {\n  },\n  onBlur: () => {\n  },\n  value: '',\n  errorMessage: '',\n  tabIndex: null,\n  icon: null,\n  fontSize: '14px',\n  'data-testid': '',\n};\n\nexport default Combobox;\n","import React, { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport flatpickr from 'flatpickr';\nimport { French } from 'flatpickr/dist/l10n/fr';\n\n// Included in application.css\n// import 'flatpickr/dist/flatpickr.min.css';\nimport styled from 'styled-components';\nimport { parse } from 'date-fns';\nimport fr from 'date-fns/locale/fr';\n\nimport { DateTimeService } from '../services/DateTimeService';\n\nconst Container = styled.div`\n  ${(props) => props.valid === true\n    && `\n      input {\n        border-color: #51e3ae !important;\n      }\n    `}\n  ${(props) => props.valid === false\n    && `\n      input {\n        border-color: #f74656 !important;\n        color: #f74656;\n      }\n  `}\n`;\n\nlet flatpickrInstance;\n\nconst Flatpickr = (props) => {\n  const {\n    options, children, value = '', customInput, onChange, onClick, valid, onBlur, onOpen, dateFormat = 'yyyy-MM-dd', mode = 'single', locale = {}, defaultDate, ...restProps\n  } = props;\n\n  const pickerEl = useRef(null);\n\n  useEffect(() => {\n    const flatpickrOptions = {\n      ...options,\n      dateFormat,\n      parseDate(date) {\n        return parse(date, dateFormat, new Date(), { locale: fr });\n      },\n      formatDate(dateObj) {\n        return DateTimeService.setDateLocale(dateObj, dateFormat);\n      },\n      mode,\n      locale: {\n        ...French,\n        ...locale,\n      },\n      defaultDate,\n    };\n    if (onChange) {\n      flatpickrOptions.onChange = onChange;\n    }\n    if (onClick) {\n      flatpickrOptions.onClick = onClick;\n    }\n    if (onOpen) {\n      flatpickrOptions.onOpen = onOpen;\n    }\n    flatpickrOptions.onClose = () => {\n      if (pickerEl.current.blur) {\n        pickerEl.current.blur();\n      }\n    };\n\n    flatpickrInstance = flatpickr(pickerEl.current, flatpickrOptions);\n    if (value) {\n      flatpickrInstance.setDate(value, false);\n    }\n\n    return () => {\n      if (flatpickrInstance) {\n        flatpickrInstance.destroy();\n        flatpickrInstance = null;\n      }\n    };\n  }, []);\n\n  useEffect(() => {\n    if (value && flatpickrInstance) {\n      flatpickrInstance.setDate(value, false);\n    }\n  }, [value]);\n\n  const renderInput = () => {\n    if (customInput) {\n      return React.cloneElement(customInput, { ref: pickerEl, onBlur, ...restProps }, null);\n    }\n    return <input {...restProps} onBlur={onBlur} ref={pickerEl} />;\n  };\n\n  return (\n    <Container valid={valid}>\n      {options.wrap\n        ? <div {...restProps} ref={pickerEl}>{children}</div>\n        : renderInput()}\n    </Container>\n  );\n};\n\nFlatpickr.propTypes = {\n  options: PropTypes.object, // see flatpickr docs for more info https://flatpickr.js.org/options/\n  children: PropTypes.node,\n  value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.array]),\n  customInput: PropTypes.node,\n  onChange: PropTypes.func,\n  onClick: PropTypes.func,\n  valid: PropTypes.bool,\n  onBlur: PropTypes.func,\n  onOpen: PropTypes.func,\n  dateFormat: PropTypes.string,\n  mode: PropTypes.string,\n  locale: PropTypes.object,\n  defaultDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.array]),\n};\n\nFlatpickr.defaultProps = {\n  options: {},\n  children: undefined,\n  value: undefined,\n  customInput: undefined,\n  onChange: undefined,\n  onClick: undefined,\n  valid: undefined,\n  onBlur: undefined,\n  onOpen: undefined,\n  dateFormat: undefined,\n  mode: 'single',\n  locale: {},\n  defaultDate: null,\n};\n\nexport { Flatpickr };\n","import styled from 'styled-components';\n\nexport const InputContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  margin-bottom: 3px;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Flatpickr } from './Flatpickr';\nimport { InputContainer } from '../../main-app/components/fields/common/InputContainer';\nimport { Input } from '../../main-app/components/fields/common/Input';\nimport icon from '../../main-app/images/icon-datepicker.svg';\n\nconst DatePickerField = ({\n  name, options, iconPosition, customInput, minDate, maxDate, dateFormat, placeholderText, placeholder, onChange, disableMobile = true, ...rest\n}) => (\n  <InputContainer>\n    <Flatpickr\n      options={{\n        ...options,\n        minDate,\n        maxDate,\n        disableMobile,\n      }}\n      name={name}\n      customInput={customInput || <Input width=\"100%\" icon={icon} iconPosition={iconPosition} />}\n      placeholder={placeholder || placeholderText}\n      dateFormat={dateFormat}\n      onChange={(val) => onChange(name, rest.mode === 'range' ? val : val[0])}\n      {...rest}\n    />\n  </InputContainer>\n);\n\nDatePickerField.propTypes = {\n  name: PropTypes.string.isRequired,\n  onChange: PropTypes.func.isRequired,\n  options: PropTypes.object, // see flatpickr docs for more info https://flatpickr.js.org/options/\n  iconPosition: PropTypes.string,\n  customInput: PropTypes.node,\n  minDate: PropTypes.instanceOf(Date),\n  maxDate: PropTypes.instanceOf(Date),\n  dateFormat: PropTypes.string,\n  placeholderText: PropTypes.string,\n  placeholder: PropTypes.string,\n  disableMobile: PropTypes.bool,\n};\n\nDatePickerField.defaultProps = {\n  options: {},\n  iconPosition: 'left',\n  disableMobile: true,\n  customInput: undefined,\n  minDate: undefined,\n  maxDate: undefined,\n  dateFormat: undefined,\n  placeholderText: undefined,\n  placeholder: undefined,\n};\n\nexport default DatePickerField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport isEmpty from 'lodash/isEmpty';\nimport { FONT_FAMILY_MAIN } from '../../main-app/theme';\n\nconst InputHeader = styled.div`\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 4px;\n`;\n\nconst Label = styled.label`\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 1.57;\n  letter-spacing: 0.3px;\n  margin-bottom: 0;\n  font-family: ${FONT_FAMILY_MAIN};\n  color: ${(props) => (props.valid === false ? '#f74656' : props.labelTextColor)};\n`;\n\nconst Link = styled.a`\n  font-size: 12px;\n  line-height: 1.33;\n  letter-spacing: -0.1px;\n  text-align: right;\n  color: #4a90e2;\n  text-decoration: none;\n`;\n\nconst OptionalText = styled.span`\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 1.57;\n  letter-spacing: 0.3px;\n  color: #ccd0d4;\n`;\n\nconst FieldLabel = ({\n  label, optionalLink, optionalText, valid, labelTextColor,\n}) => {\n  const shouldRenderLink = optionalText && optionalLink;\n  const shouldRenderText = optionalText;\n  const shouldRenderInputHeader = !isEmpty(label) || shouldRenderLink || shouldRenderText;\n\n  return (\n    shouldRenderInputHeader && (\n      <InputHeader>\n        <Label labelTextColor={labelTextColor} valid={valid}>{label}</Label>\n        {(shouldRenderLink && (\n          /* Force link to be last in keyboard navigation */\n          /* eslint-disable-next-line jsx-a11y/tabindex-no-positive */\n          <Link tabIndex=\"50\" href={optionalLink}>\n            {optionalText}\n          </Link>\n        ))\n        || (shouldRenderText && <OptionalText>{optionalText}</OptionalText>)}\n      </InputHeader>\n    )\n  );\n};\n\nFieldLabel.propTypes = {\n  label: PropTypes.string,\n  optionalLink: PropTypes.string,\n  optionalText: PropTypes.string,\n  valid: PropTypes.bool,\n  labelTextColor: PropTypes.string,\n};\n\nFieldLabel.defaultProps = {\n  label: '',\n  optionalLink: '',\n  optionalText: '',\n  valid: null,\n  labelTextColor: '#354354',\n};\n\nexport default FieldLabel;\n","import React from 'react';\nimport styled, { css } from 'styled-components';\nimport PropTypes from 'prop-types';\nimport { SOLITUDE } from '@espacePro/constants/admin-theme';\nimport {\n  FONT_FAMILY_MAIN, LIGHT_PALE_GREY, PALE_GREY, TEXT_COLOR,\n} from '../../../main-app/theme';\n\nconst Container = styled.div`\n  display: inline-flex;\n  border-radius: 9px;\n  ${(props) => props.isInSeparateMode\n    ? css`\n          flex-wrap: wrap;\n        `\n    : css`\n          background: #fff;\n          box-shadow: 0 0 0 1px #f4f7f9;\n          flex-wrap: nowrap;\n        `},\n`;\n\nconst Label = styled.label`\n  padding: 0 12px;\n  font-family: ${(props) => props?.theme?.fontFamily || FONT_FAMILY_MAIN};\n  font-size: ${(props) => (props.fontSize ? props.fontSize : 16)}px;\n  color: ${(props) => props?.theme?.colors?.textColorMain || TEXT_COLOR};\n  cursor: pointer;\n  height: 37px;\n  line-height: 37px;\n  margin: 0;\n  font-weight: normal;\n  display: inline-block;\n  width: 100%;\n  min-width: 33px;\n  max-width: 100%;\n  text-align: center;\n  white-space: nowrap;\n\n  &:hover,\n  &:focus {\n    background-color: ${LIGHT_PALE_GREY};\n  }\n\n  svg {\n    vertical-align: middle;\n    margin-left: 8px;\n  }\n`;\n\nconst SwitcherItem = styled.div`\n  flex: 0;\n\n  & + & {\n    border-left: 1px solid ${SOLITUDE};\n  }\n\n  &:first-child {\n    ${Label} {\n      border-radius: 9px 0 0 9px;\n    }\n  }\n\n  &:last-child {\n    ${Label} {\n      border-radius: 0 9px 9px 0;\n    }\n  }\n`;\n\nconst SeparateSwitcherItem = styled.div`\n  margin: 0 8px 8px 0;\n  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.05);\n  background-color: #ffffff;\n  border-radius: 8px;\n\n  ${Label} {\n    border-radius: 8px;\n  }\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 + ${Label} {\n    background-color: ${LIGHT_PALE_GREY};\n  }\n\n  &:checked + ${Label} {\n    background-color: ${({ theme }) => theme.colors?.switcherBackground ? theme.colors?.switcherBackground : PALE_GREY};\n    box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.05);\n    color: ${({ theme }) => theme.colors?.switcherColor ? theme.colors?.switcherColor : '#979ea7'};\n  }\n\n  &:disabled + ${Label} {\n    opacity: 0.7;\n    cursor: not-allowed;\n  }\n`;\n\ntype Item = string | boolean | number | { label: string; value: string | boolean | number };\n\ntype SwitcherTypes = {\n  items: Item[];\n  onChange?: () => void;\n  onClick?: () => void;\n  name: string;\n  activeItem?: boolean | number | string | any[];\n  activeItemIcon?: React.ReactNode;\n  fontSize?: number;\n  isMultipleChoiceAllowed?: boolean;\n  isInSeparateMode?: boolean;\n  disabled?: boolean;\n};\n\nconst Switcher = (props: SwitcherTypes) => {\n  const {\n    items,\n    name,\n    onChange,\n    activeItem,\n    fontSize,\n    isMultipleChoiceAllowed,\n    isInSeparateMode,\n    onClick,\n    activeItemIcon,\n    disabled,\n  } = props;\n\n  const SwitcherItemElem = isInSeparateMode ? SeparateSwitcherItem : SwitcherItem;\n  return (\n    <Container isInSeparateMode={isInSeparateMode}>\n      {items.map((item, i) => {\n        let itemValue;\n        let isActive;\n        if (typeof item === 'object' && item !== null) {\n          itemValue = item.value;\n        } else {\n          itemValue = item;\n        }\n        if (Array.isArray(activeItem)) {\n          isActive = activeItem.indexOf(itemValue) > -1;\n        } else {\n          isActive = activeItem === itemValue;\n        }\n\n        return (\n          <SwitcherItemElem key={itemValue}>\n            <Input\n              type={isMultipleChoiceAllowed ? 'checkbox' : 'radio'}\n              name={name}\n              id={`${name}_input-${i}`}\n              value={itemValue}\n              checked={isActive}\n              onChange={onChange}\n              onClick={onClick}\n              data-test-selector={`form-field-${name}`}\n              disabled={disabled}\n            />\n            <Label htmlFor={`${name}_input-${i}`} fontSize={fontSize}>\n              {typeof item === 'object' && item !== null && item.label ? item.label : item}\n              {isActive && activeItemIcon ? activeItemIcon : null}\n            </Label>\n          </SwitcherItemElem>\n        );\n      })}\n    </Container>\n  );\n};\n\nSwitcher.propTypes = {\n  items: PropTypes.oneOfType([\n    PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.bool, PropTypes.number])),\n    PropTypes.arrayOf(\n      PropTypes.shape({\n        label: PropTypes.string,\n        value: PropTypes.oneOfType([PropTypes.string, PropTypes.bool, PropTypes.number]),\n      }),\n    ),\n  ]).isRequired,\n  onChange: PropTypes.func,\n  onClick: PropTypes.func,\n  name: PropTypes.string.isRequired,\n  activeItem: PropTypes.oneOfType([\n    PropTypes.bool,\n    PropTypes.number,\n    PropTypes.string,\n    PropTypes.array,\n  ]),\n  activeItemIcon: PropTypes.node,\n  fontSize: PropTypes.number,\n  isMultipleChoiceAllowed: PropTypes.bool,\n  isInSeparateMode: PropTypes.bool,\n  disabled: PropTypes.bool,\n};\n\nSwitcher.defaultProps = {\n  onChange: () => {},\n  onClick: () => {},\n  activeItem: '',\n  fontSize: 16,\n  isMultipleChoiceAllowed: false,\n  isInSeparateMode: false,\n  activeItemIcon: undefined,\n  disabled: false,\n};\n\nexport { Switcher };\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 { format } from 'date-fns';\nimport fr from 'date-fns/locale/fr';\nimport { utcToZonedTime } from 'date-fns-tz';\n\nconst setDateLocale = (date, dateFormat) => format(date, dateFormat, { locale: fr });\n\nconst formatInTimeZone = (date, timeZone, dateFormat) => format(\n  utcToZonedTime(\n    new Date(date), timeZone,\n  ), dateFormat, { locale: fr },\n);\n\nconst formattedDate = (dateWithDashes, fmt = 'd MMM yyyy') => setDateLocale(new Date(dateWithDashes), fmt);\n\nconst generateYearAgoDate = () => {\n  const today = new Date();\n  return today.setMonth(today.getMonth() - 12);\n};\n\nconst generateMonthAgoDate = () => {\n  const today = new Date();\n  return today.setMonth(today.getMonth() - 1);\n};\n\nexport const DateTimeService = {\n  setDateLocale,\n  formatInTimeZone,\n  formattedDate,\n  generateYearAgoDate,\n  generateMonthAgoDate,\n};\n","export const FONT_FAMILY_MAIN = \"'Muli', 'Trebuchet MS', Tahoma, helvetica, arial, sans-serif\";\nexport const BLUE_GRAY = '#9aa1a9';\nexport const MAIN_DARK = '#354354';\nexport const TEXT_COLOR = MAIN_DARK;\nexport const WHITE = '#ffffff';\nexport const LIGHT_PINK = '#fee7e9';\nexport const WATERMELON = '#f74656';\nexport const RAVEN = '#68727f';\nexport const COBALT = '#0153b4';\nexport const MAIN_BLUE = '#4a90e2';\nexport const ZIRCON = '#d7dadc';\nexport const SILVER = '#ccd0d4';\nexport const PALE_GRAY = '#eef1f6';\nexport const PALE_GRAY_TWO = '#fafafb';\nexport const PALE_CORNFLOWER_BLUE = '#c8ddf6';\nexport const GRAY_CHATEAU = '#979ea7';\nexport const SOLITUDE = '#f4f7f9';\nexport const FIRE_ENGINE_RED = '#d60f20';\nexport const ALICE_BLUE = '#f3f8ff';\nexport const MAIZE = '#f6b65c';\nexport const SHAMROCK = '#48d3a0';\nexport const CORAL_PINK = '#fd6e70';\nexport const GREEN_BRIGHT = '#44c655';\nexport const MEDIUM_AQUAMARINE = '#51e3ae';\nexport const LIGHT_GRAY = '#f0f3f6';\nexport const BEIGE = '#fbe5d6';\n\nexport const INPUT_BORDERS_COLOR = 'rgba(0, 0, 0, 0.07)';\nexport const INPUT_BORDERS_COLOR_ERROR = WATERMELON;\n\nexport const SUCCESS_NOTIFICATION_BG = SHAMROCK;\nexport const ALERT_NOTIFICATION_BG = LIGHT_PINK;\nexport const PROMO_NOTIFICATION_BG = COBALT;\n\nexport const SUCCESS_NOTIFICATION_TEXT_COLOR = WHITE;\nexport const ALERT_NOTIFICATION_TEXT_COLOR = WATERMELON;\nexport const PROMO_NOTIFICATION_TEXT_COLOR = WHITE;\n\nexport const STARS_FILL_COLOR = '#f6b65c';\n\nexport const HIGH_RATING_COLOR = '#44c496';\nexport const MEDIUM_RATING_COLOR = '#c28e45';\nexport const LOW_RATING_COLOR = WATERMELON;\n\nexport const MAIN_IMAGE_HIGHLIGHT = '#ffd450';\n\nexport const ERROR_COLOR = WATERMELON;\nexport const SUCCESS_COLOR = MEDIUM_AQUAMARINE;\n","const RESOLUTION = {\n  SMALL: 576,\n  MEDIUM: 768,\n  LARGE: 992,\n  EXTRA_LARGE: 1200,\n};\n\nconst SIZES = {\n  SMALL: `${RESOLUTION.SMALL}px`,\n  MEDIUM: `${RESOLUTION.MEDIUM}px`,\n  LARGE: `${RESOLUTION.LARGE}px`,\n  EXTRA_LARGE: `${RESOLUTION.EXTRA_LARGE}px`,\n};\n\nconst DEVICES = {\n  SMALL: `screen and (min-width: ${SIZES.SMALL})`,\n  MEDIUM: `screen and (min-width: ${SIZES.MEDIUM})`,\n  LARGE: `screen and (min-width: ${SIZES.LARGE})`,\n  EXTRA_LARGE: `screen and (min-width: ${SIZES.EXTRA_LARGE})`,\n};\n\nexport { RESOLUTION, SIZES, DEVICES };\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport Loader from '../loader';\nimport { FONT_FAMILY_MAIN } from '../../theme';\n\nconst MainButton = styled.button`\n  cursor: pointer;\n  ${(props) => props.small\n    ? `\n    height: 28px;\n    padding: 0 11px;\n    font-size: 12px;\n    border-radius: 5px;\n  `\n    : ` \n    height: 48px;\n    padding: 0 24px;\n    font-size: 16px;\n    border-radius: 4px;\n  `}\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  font-weight: bold;\n  transition: all 0.3s;\n  border: 1px solid;\n  font-family: ${({ theme }) => (theme?.fontFamily ? theme.fontFamily : FONT_FAMILY_MAIN)};\n  &:hover {\n    opacity: 0.9;\n  }\n  ${(props) => props.block\n    && `\n    width: 100%;\n  `}\n  ${(props) => {\n    if (props.disabled && props.outlined) {\n      return `\n        background-color: #ffffff;\n        border-color: #d7dadc;\n        color: #ccd0d4;\n        &:hover {\n          opacity: 1;\n          cursor: not-allowed;\n        }\n      `;\n    }\n\n    if (props.disabled && !props.outlined) {\n      return `\n        background-color: #d7dadc;\n        border-color: #d7dadc;\n        color: #9aa1a9;\n        &:hover {\n          opacity: 1;\n          cursor: not-allowed;\n        }\n      `;\n    }\n\n    if (props.outlined) {\n      return `\n        background-color: #ffffff;\n        border-color: ${props.color};\n        color: ${props.color};\n      `;\n    }\n\n    return `\n      background-color: ${props.color};\n      border-color: ${props.color};\n      color: ${props.textColor}; \n    `;\n  }};\n`;\n\nclass Btn extends Component {\n  render() {\n    const {\n      text,\n      name,\n      block,\n      small,\n      type,\n      outlined,\n      color,\n      textColor,\n      disabled,\n      tabIndex,\n      isLoading,\n      onClick,\n      className,\n    } = this.props;\n    const spinnerColor = outlined ? color : '#ffffff';\n\n    return (\n      <MainButton\n        type={type}\n        tabIndex={tabIndex}\n        block={block}\n        small={small}\n        color={color}\n        textColor={textColor}\n        disabled={disabled}\n        outlined={outlined}\n        onClick={isLoading ? () => {} : onClick}\n        data-test-selector={`button-${name}`}\n        className={className}\n      >\n        {isLoading ? (\n          <Loader\n            width={small ? 18 : 47}\n            height={small ? 18 : 47}\n            size={0.7}\n            color={spinnerColor}\n          />\n        ) : (\n          text\n        )}\n      </MainButton>\n    );\n  }\n}\n\nBtn.propTypes = {\n  type: PropTypes.string,\n  text: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n  name: PropTypes.string,\n  block: PropTypes.bool,\n  small: PropTypes.bool,\n  outlined: PropTypes.bool,\n  color: PropTypes.string,\n  textColor: PropTypes.string,\n  disabled: PropTypes.bool,\n  tabIndex: PropTypes.string,\n  isLoading: PropTypes.bool,\n  onClick: PropTypes.func,\n  className: PropTypes.string,\n};\n\nBtn.defaultProps = {\n  type: '',\n  text: 'Button',\n  name: '',\n  block: false,\n  small: false,\n  outlined: false,\n  color: '#4a90e2',\n  textColor: '#fff',\n  disabled: false,\n  tabIndex: null,\n  isLoading: false,\n  onClick: () => {},\n  className: '',\n};\n\nexport default Btn;\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    <Label>\n      <Input type=\"checkbox\" onChange={onChange} name={name} checked={isChecked} />\n\n      <CheckboxView>\n        {isChecked ? <CheckedCheckbox /> : <EmptyCheckbox error={error} />}\n      </CheckboxView>\n      {label}\n    </Label>\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, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport { FieldLabel } from '@shared/fields';\nimport media from '../../utils/mediaQueries';\nimport { FONT_FAMILY_MAIN } from '../../theme';\n\nconst InputContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  margin-bottom: ${(props) => props.type !== 'hidden' ? '3px' : '0'};\n`;\n\nconst Input = styled.input`\n  height: 48px;\n  padding: 1px 16px;\n  border-radius: 2px;\n  border: solid 1px rgba(0, 0, 0, 0.07);\n  background-color: ${(props) => props.backgroundColor};\n  outline: none;\n  font-size: 14px;\n  line-height: 1.43;\n  letter-spacing: 0.2px;\n  color: ${(props) => props.inputTextColor};\n  transition: all .2s;\n  font-family: ${FONT_FAMILY_MAIN};\n  &:focus {\n    border-color: #23c4f8 !important;\n  }\n  &::placeholder {\n    color: #ccd0d4; \n  }\n  ${(props) => props.disabled\n    ? `\n    border: dashed 1px rgba(0, 0, 0, 0.07);\n    color: #9aa1a9;\n    &:hover {\n      cursor: not-allowed;\n    }\n  `\n    : `\n    &:hover {\n      border-color: rgba(41, 83, 102, 0.3);\n    }\n  `}\n  ${(props) => props.valid === true\n  && `\n    border-color: #51e3ae !important;\n  `}\n  ${(props) => props.valid === false\n  && `\n    border-color: #f74656 !important;\n    color: #f74656;\n  `}\n  width: ${(props) => (props.width ? props.width : 'auto')};\n  \n  ${media.mobile`\n    font-size: 16px;\n    \n    &:focus {\n      font-size: 16px;\n    }\n  `}\n`;\n\nconst ErrorMessage = styled.div`\n  font-size: 12px;\n  min-height: 20px;\n  color: #f74656;\n  font-family: ${FONT_FAMILY_MAIN}\n`;\n\nconst ErrorEmptySpace = styled.div`\n  height: 20px;\n`;\n\nconst Field = forwardRef(({\n  label,\n  placeholder,\n  type,\n  disabled,\n  valid,\n  optionalLink,\n  optionalText,\n  width,\n  tabIndex,\n  name,\n  onChange,\n  onBlur,\n  value,\n  errorMessage,\n  min,\n  step,\n  backgroundColor,\n  inputTextColor,\n  labelTextColor,\n  className,\n}, ref) => (\n  <InputContainer className={className} type={type}>\n    <FieldLabel\n      label={label}\n      optionalLink={optionalLink}\n      optionalText={optionalText}\n      valid={valid}\n      labelTextColor={labelTextColor}\n    />\n    <Input\n      width={width}\n      type={type}\n      tabIndex={tabIndex}\n      placeholder={placeholder}\n      disabled={disabled}\n      valid={valid}\n      name={name}\n      onChange={onChange}\n      onBlur={onBlur}\n      value={value}\n      data-test-selector={`form-field-${name}`}\n      min={min}\n      step={step}\n      ref={ref}\n      backgroundColor={backgroundColor}\n      inputTextColor={inputTextColor}\n    />\n    {errorMessage ? <ErrorMessage>{errorMessage}</ErrorMessage> : type !== 'hidden' && <ErrorEmptySpace />}\n  </InputContainer>\n));\n\nField.propTypes = {\n  label: PropTypes.string,\n  placeholder: PropTypes.string,\n  type: PropTypes.string,\n  optionalLink: PropTypes.string,\n  optionalText: PropTypes.string,\n  disabled: PropTypes.bool,\n  valid: PropTypes.bool,\n  width: PropTypes.string,\n  name: PropTypes.string,\n  onChange: PropTypes.func,\n  onBlur: PropTypes.func,\n  value: PropTypes.any,\n  errorMessage: PropTypes.string,\n  tabIndex: PropTypes.string,\n  min: PropTypes.number,\n  step: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n  backgroundColor: PropTypes.string,\n  inputTextColor: PropTypes.string,\n  labelTextColor: PropTypes.string,\n  className: PropTypes.string,\n};\nField.defaultProps = {\n  label: '',\n  placeholder: '',\n  type: 'text',\n  disabled: false,\n  valid: null,\n  width: null,\n  optionalLink: '',\n  optionalText: '',\n  name: '',\n  onChange: () => {\n  },\n  onBlur: () => {\n  },\n  value: null,\n  errorMessage: '',\n  tabIndex: null,\n  min: null,\n  step: null,\n  backgroundColor: '#f4f7f9',\n  inputTextColor: '#354354',\n  labelTextColor: '#354354',\n  className: '',\n};\n\nexport default Field;\n","import React, { useCallback, useRef } from 'react';\nimport styled from 'styled-components';\n\nimport Field from './Field';\nimport eyeIcon from '../../images/icon-password-eye.svg';\n\nconst Container = styled.div`\n  position: relative;\n`;\n\nconst Icon = styled.i`\n  width: 24px;\n  height: 24px;\n  background: url(${eyeIcon}) no-repeat 0 0;\n  background-size: contain;\n  cursor: pointer;\n  position: absolute;\n  top: 37px;\n  right: 8px;\n`;\n\ntype PasswordFieldProps = {\n  onChange(e: React.ChangeEvent<any>): void;\n  onBlur(e: React.FocusEvent<any>): void;\n  value: string;\n  valid: boolean;\n  errorMessage?: string;\n  optionalText?: string;\n  optionalLink?: string;\n  label?: string;\n  name: string;\n  placeholder?: string;\n  type?: never;\n};\n\nconst PasswordField = ({\n  onChange, onBlur, value, valid, errorMessage, optionalText, optionalLink, label, name, placeholder,\n}: PasswordFieldProps) => {\n  const passwordRef = useRef<HTMLInputElement>(null);\n  const handleIconClick = useCallback(() => {\n    const field = passwordRef.current;\n    if (field) {\n      const type = field.getAttribute('type') === 'password' ? 'text' : 'password';\n      field.setAttribute('type', type);\n    }\n  }, []);\n\n  return (\n    <Container>\n      <Field\n        type=\"password\"\n        label={label}\n        optionalText={optionalText}\n        optionalLink={optionalLink}\n        name={name}\n        onChange={onChange}\n        onBlur={onBlur}\n        value={value}\n        valid={valid}\n        errorMessage={errorMessage}\n        ref={passwordRef}\n        placeholder={placeholder}\n      />\n      <Icon onClick={handleIconClick} />\n    </Container>\n  );\n};\n\nPasswordField.defaultProps = {\n  optionalText: '',\n  optionalLink: '',\n  label: 'Mot de passe',\n  placeholder: '',\n  type: 'password',\n  errorMessage: '',\n};\n\nexport { PasswordField };\n","import styled from 'styled-components';\nimport media from '../../../utils/mediaQueries';\nimport { FONT_FAMILY_MAIN } from '../../../theme';\n\nexport const Input = styled.input`\n  height: 48px;\n  padding: 1px 16px;\n  border-radius: 2px;\n  border: solid 1px rgba(0, 0, 0, 0.07);\n  background-color: #f4f7f9;\n  outline: none;\n  font-size: 14px;\n  line-height: 1.43;\n  letter-spacing: 0.2px;\n  color: #354354;\n  transition: all .2s;\n  font-family: ${FONT_FAMILY_MAIN};\n  ${(props) => props.icon && `\n    background-image: url(${props.icon});\n    background-repeat: no-repeat;\n  `}\n  ${(props) => props.iconPosition === 'right' ? `\n    padding-right: 42px;\n    background-position: right 9px center;\n  ` : `\n    padding-left: 42px;\n    background-position: 14px center;\n  `}\n  &:focus {\n    border-color: #23c4f8 !important;\n  }\n  &::placeholder {\n    color: #ccd0d4; \n  }\n  ${(props) => props.disabled\n    ? `\n    border: dashed 1px rgba(0, 0, 0, 0.07);\n    color: #9aa1a9;\n    &:hover {\n      cursor: not-allowed;\n    }\n  `\n    : `\n    &:hover {\n      border-color: rgba(41, 83, 102, 0.3);\n    }\n  `}\n  ${(props) => props.valid === true\n    && `\n    border-color: #51e3ae !important;\n  `}\n  ${(props) => props.valid === false\n    && `\n    border-color: #f74656 !important;\n    color: #f74656;\n  `}\n  width: ${(props) => (props.width ? props.width : 'auto')};\n  \n  ${media.mobile`\n    font-size: 16px;\n    \n    &:focus {\n      font-size: 16px;\n    }\n  `}\n`;\n","import React, { Fragment } from 'react';\n\nimport Loader from '../components/loader';\n\nconst withLoadingFallback = (Component) => function withLoadingFallbackComponent({ isLoading, fallback = <Loader />, ...props }) {\n  if (!isLoading) return (<Component {...props} />);\n  return fallback;\n};\n\nexport { withLoadingFallback };\n\nconst Suspended = withLoadingFallback(Fragment);\n\nexport { Suspended };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport media from '../../../utils/mediaQueries';\n\nconst Container = styled.div`\n  padding: 0 40px;\n  font-size: 18px;\n  line-height: 1.33;\n  letter-spacing: 0.2px;\n  \n  ${media.mobile`\n    padding: 0;\n  `}\n`;\n\nconst NoAccessesLeft = ({ schoolPhone }) => (\n  <Container>\n    <span>L’achat des accès code en ligne est temporairement impossible. Pour pouvoir commencer la révision de votre code de la route, veuillez appeler l’auto-école au: </span>\n    <a href={`tel:${schoolPhone}`}>{schoolPhone}</a>\n    .\n  </Container>\n);\n\nNoAccessesLeft.propTypes = {\n  schoolPhone: PropTypes.string.isRequired,\n};\n\nexport { NoAccessesLeft };\n","export const Results = {\n  Success: 'success',\n  Error: 'error',\n};\n","import styled from 'styled-components';\n\nconst Title = styled.h2`\n  font-size: 24px;\n  font-weight: 800;\n  line-height: 1.25;\n  letter-spacing: 0.2px;\n  margin: 0 0 16px;\n`;\n\nexport { Title };\n","import React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nimport media from '../../../utils/mediaQueries';\nimport { Title } from './Title';\nimport { MAIN_BLUE } from '../../../theme';\nimport { Results } from './constants';\n\nconst Section = styled.section`\n  padding: 0 40px;\n  \n  ${media.mobile`\n    padding: 0;\n  `}\n`;\n\nconst Content = styled.p`\n  font-size: 18px;\n  line-height: 1.33;\n  letter-spacing: 0.2px;\n  margin: 0 0 32px;\n  width: 100%;\n  max-width: 556px;\n  \n  ${media.mobile`\n    max-width: none;\n  `}\n`;\n\nconst AccountLink = styled.a`\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  font-weight: bold;\n  transition: all 0.3s;\n  height: 48px;\n  padding: 0 24px;\n  font-size: 16px;\n  border-radius: 4px;\n  width: 100%;\n  max-width: 272px;\n  background-color: ${MAIN_BLUE};\n  border: 1px solid ${MAIN_BLUE};\n  color: #ffffff; \n  \n  &:hover, &:focus {\n    opacity: 0.9;\n    color: #ffffff; \n    text-decoration: none;\n  }\n`;\n\nconst TEXTS = {\n  [Results.Success]: {\n    TITLE: 'Votre inscription a été validée !',\n    MESSAGE: 'Votre identifiant et le lien de connexion vous ont été envoyés par email. Si vous n’avez rien reçu il est peut-être dans vos courriers indésirables (spam). Vous pouvez également le récupérer à tout moment en vous connectant à votre compte.',\n  },\n  [Results.Error]: {\n    TITLE: 'Oups, un problème est survenu !',\n    MESSAGE: 'Il semblerait que nous ayons un problème inattendu. Nous allons contacter l’auto-école pour le résoudre au plus vite. Nous vous invitons à patienter et à réessayer un peu plus tard.',\n  },\n};\n\nconst PaymentResultScreen = ({ result }) => (\n  <Section>\n    <Title>{TEXTS[result].TITLE}</Title>\n    <Content>{TEXTS[result].MESSAGE}</Content>\n    {result === Results.Success && <AccountLink href=\"/student#/code-en-ligne\">Accéder à mon compte</AccountLink>}\n  </Section>\n);\n\nPaymentResultScreen.propTypes = {\n  result: PropTypes.string.isRequired,\n};\n\nexport { PaymentResultScreen };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CardCvcElement, CardExpiryElement, CardNumberElement } from '@stripe/react-stripe-js';\nimport styled from 'styled-components';\n\nimport { Popup } from '@shared/Popup';\nimport Btn from '../../../buttons/Btn';\nimport Cross from '../../../../images/icon-close.inline.svg';\nimport Logo from '../../../../images/logo-car.inline.svg';\nimport {\n  MAIN_BLUE, ERROR_COLOR, NOTES_COLOR, TEXT_COLOR,\n} from '../../../../theme';\n\nconst CardNumberRow = styled.div`\n  border: 1px solid hsla(240,1%,49%,.25);\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  padding: 9px;\n  margin-top: 18px;\n`;\n\nconst DateCvcRow = styled.div`\n  display: flex;\n  border: 1px solid hsla(240,1%,49%,.25);\n  border-bottom-left-radius: 4px;\n  border-bottom-right-radius: 4px;\n  border-top: none;\n  margin-bottom: 8px;\n`;\n\nconst DateCell = styled.div`\n  flex: 1 0 50%;\n  border-right: 1px solid hsla(240,1%,49%,.25);\n  padding: 9px;\n`;\n\nconst CvcCell = styled.div`\n  flex: 1 0 50%;\n  padding: 9px;\n`;\n\nconst CrossIcon = styled(Cross)`\n  position: absolute;\n  top: 8px;\n  right: 8px;\n  cursor: pointer;\n  width: 16px;\n  height: 16px;\n  \n  path {\n    fill: #999;\n  }\n`;\n\nconst Header = styled.div`\n  margin: -32px -40px 0 -40px;\n  background: #e8e9eb;\n  border-top-left-radius: 12px;\n  border-top-right-radius: 12px;\n  padding: 47px 36px 12px;\n  position: relative;\n  border-bottom: 1px solid #d2d2d3;\n  text-align: center;\n`;\n\nconst LogoContainer = styled.div`\n  width: 70px;\n  height: 70px;\n  border: 3px solid #fff;\n  border-radius: 100%;\n  box-shadow: 0 0 0 1px rgba(0,0,0,.18), 0 2px 2px 0 rgba(0,0,0,.08);\n  position: absolute;\n  top: -38px;\n  left: 50%;\n  margin-left: -35px;\n  overflow: hidden;\n`;\n\nconst LogoImg = styled(Logo)`\n  width: 76px;\n  height: 76px;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -35px);\n`;\n\nconst ProductTitle = styled.h3`\n  font-size: 17px;\n  font-weight: 700;\n  line-height: 1.5;\n  margin: 0;\n`;\n\nconst Description = styled.div`\n  color: ${NOTES_COLOR};\n  font-size: 13px;\n  line-height: 1.5;\n  margin-top: 6px;\n`;\n\nconst CardError = styled.div`\n  color: ${ERROR_COLOR};\n  margin-bottom: 16px;\n`;\n\nconst INPUT_OPTIONS = {\n  style: {\n    base: {\n      fontSize: '15px',\n      color: `${TEXT_COLOR}`,\n      iconColor: `${MAIN_BLUE}`,\n    },\n    invalid: {\n      color: `${ERROR_COLOR}`,\n      '::placeholder': {\n        color: '#ff93a3',\n      },\n    },\n  },\n};\n\nconst CheckoutFormComponent = ({\n  stripe, isSending, onClose, schoolName, handleSubmit, cost, error, setCardNumberReady, setCardExpiryReady, setCardCvcReady, isFormReady,\n}) => (\n  <Popup width={300} overflow=\"visible\">\n    <Header>\n      <CrossIcon onClick={onClose} />\n      <LogoContainer>\n        <LogoImg />\n      </LogoContainer>\n      <ProductTitle>Accès code en ligne</ProductTitle>\n      <Description>{`avec ${schoolName}`}</Description>\n    </Header>\n    <form onSubmit={handleSubmit}>\n      <CardNumberRow>\n        <CardNumberElement options={INPUT_OPTIONS} onReady={() => setCardNumberReady(true)} />\n      </CardNumberRow>\n      <DateCvcRow>\n        <DateCell>\n          <CardExpiryElement options={INPUT_OPTIONS} onReady={() => setCardExpiryReady(true)} />\n        </DateCell>\n        <CvcCell>\n          <CardCvcElement options={INPUT_OPTIONS} onReady={() => setCardCvcReady(true)} />\n        </CvcCell>\n      </DateCvcRow>\n      <CardError>{error}</CardError>\n      <Btn type=\"submit\" disabled={!stripe || !isFormReady || isSending} isLoading={isSending} text={`Payer ${cost}€`} block />\n    </form>\n  </Popup>\n);\n\nCheckoutFormComponent.propTypes = {\n  stripe: PropTypes.object,\n  isSending: PropTypes.bool.isRequired,\n  onClose: PropTypes.func.isRequired,\n  schoolName: PropTypes.string.isRequired,\n  handleSubmit: PropTypes.func.isRequired,\n  cost: PropTypes.string.isRequired,\n  error: PropTypes.string,\n  setCardNumberReady: PropTypes.func.isRequired,\n  setCardExpiryReady: PropTypes.func.isRequired,\n  setCardCvcReady: PropTypes.func.isRequired,\n  isFormReady: PropTypes.bool.isRequired,\n};\n\nCheckoutFormComponent.defaultProps = {\n  stripe: null,\n  error: '',\n};\n\nexport { CheckoutFormComponent };\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardNumberElement, useElements, useStripe } from '@stripe/react-stripe-js';\n\nimport { CheckoutFormComponent } from './CheckoutFormComponent';\nimport { Results } from '../constants';\nimport stores from '../../../../stores';\n\nconst CheckoutFormContainer = ({\n  onClose, setResult, setSent, schoolName, cost,\n}) => {\n  const stripe = useStripe();\n  const elements = useElements();\n\n  const [isSending, setIsSending] = useState(false);\n  const [error, setError] = useState(null);\n  const [isCardNumberReady, setCardNumberReady] = useState(false);\n  const [isCardExpiryReady, setCardExpiryReady] = useState(false);\n  const [isCardCvcReady, setCardCvcReady] = useState(false);\n\n  const handleSubmit = async (event) => {\n    event.preventDefault();\n\n    if (!stripe || !elements) {\n      return;\n    }\n\n    setIsSending(true);\n\n    const cardElement = elements.getElement(CardNumberElement);\n    const clientSecret = stores.theoryAccessStore.paymentData.client_secret;\n    const { prenom: name, nom: surname } = stores.userStore.userInfo;\n\n    const result = await stripe.confirmCardPayment(clientSecret, {\n      payment_method: {\n        card: cardElement,\n        billing_details: {\n          name: `${name} ${surname}`,\n        },\n      },\n    });\n\n    setIsSending(false);\n\n    if (result.error) {\n      setError(result.error.message);\n    } else if (result.paymentIntent.status === 'succeeded') {\n      setResult(Results.Success);\n      setSent();\n    }\n  };\n\n  const isFormReady = isCardNumberReady && isCardExpiryReady && isCardCvcReady;\n\n  return (\n    <CheckoutFormComponent\n      onClose={onClose}\n      schoolName={schoolName}\n      isSending={isSending}\n      stripe={stripe}\n      handleSubmit={handleSubmit}\n      cost={cost}\n      error={error}\n      setCardNumberReady={setCardNumberReady}\n      setCardExpiryReady={setCardExpiryReady}\n      setCardCvcReady={setCardCvcReady}\n      isFormReady={isFormReady}\n    />\n  );\n};\n\nCheckoutFormContainer.propTypes = {\n  onClose: PropTypes.func.isRequired,\n  setResult: PropTypes.func.isRequired,\n  setSent: PropTypes.func.isRequired,\n  schoolName: PropTypes.string.isRequired,\n  cost: PropTypes.string.isRequired,\n};\n\nexport { CheckoutFormContainer };\n","import React from 'react';\nimport { Elements } from '@stripe/react-stripe-js';\nimport PropTypes from 'prop-types';\n\nimport { CheckoutForm } from './CheckoutForm';\n\nconst STRIPE_OPTIONS = { locale: 'fr' };\n\nconst StripeForm = (props) => {\n  const {\n    onClose, setResult, setSent, schoolName, cost, stripePromise,\n  } = props;\n\n  return (\n    <Elements stripe={stripePromise} options={STRIPE_OPTIONS}>\n      <CheckoutForm onClose={onClose} setResult={setResult} setSent={setSent} schoolName={schoolName} cost={cost} />\n    </Elements>\n  );\n};\n\nStripeForm.propTypes = {\n  onClose: PropTypes.func.isRequired,\n  setResult: PropTypes.func.isRequired,\n  setSent: PropTypes.func.isRequired,\n  schoolName: PropTypes.string.isRequired,\n  cost: PropTypes.string.isRequired,\n  stripePromise: PropTypes.object,\n};\n\nStripeForm.defaultProps = {\n  stripePromise: null,\n};\n\nexport { StripeForm };\n","import React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nimport { observer } from 'mobx-react';\nimport * as Yup from 'yup';\nimport { ErrorMessage, Formik } from 'formik';\nimport stores from '../../../stores';\nimport Btn from '../../buttons/Btn';\nimport { Title } from './Title';\nimport Field from '../../fields/Field';\nimport { ERROR_COLOR } from '../../../theme';\n\nconst Container = styled.div`\n  margin-bottom: 40px;\n`;\n\nconst BtnContainer = styled.div`\n  margin-top: 27px;\n  max-width: 384px;\n`;\n\nconst Label = styled.label`\n  display: block;\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 1.57;\n  letter-spacing: 0.3px;\n  margin: 16px 0 8px;\n  ${(props) => props.error && `color: ${ERROR_COLOR};`}\n`;\n\nconst SmallInput = styled.div`\n  max-width: 384px;\n  width: 100%;\n`;\n\nconst ErrorMessageContainer = styled.div`\n  color: ${ERROR_COLOR};\n  font-size: 12px;\n  line-height: 1.17;\n  margin-top: 3px;\n`;\n\nconst validationSchema = Yup.object().shape({\n  phone: Yup.string()\n    .matches(\n      /^(?:(?:)0)\\s*[1-9](?:[\\s.-]*\\d{2}){4}$/,\n      'Le téléphone doit être au format 01 23 45 67 89',\n    )\n    .required('Ce champ est obligatoire.'),\n});\n\nconst formInitialValues = {\n  phone: '',\n};\n\nconst LoggedInPayment = observer(({ togglePaymentForm, cost }) => {\n  const { prenom: Name, nom: Surname, phone } = stores.userStore.userInfo;\n  const { isPaymentDataLoading } = stores.theoryAccessStore;\n  const onSubmit = async (data, formikBag) => {\n    try {\n      await stores.userStore.setUser(data, formikBag);\n      togglePaymentForm();\n    } catch (e) {\n      // eslint-disable-next-line no-console\n      console.error(e);\n    }\n  };\n\n  return (\n    <div>\n      <Container>\n        <Title>Mes coordonnées</Title>\n        <div>{`${Name} ${Surname}`}</div>\n        {phone ? (\n          <>\n            <div>{phone}</div>\n            <BtnContainer>\n              <Btn\n                isLoading={isPaymentDataLoading}\n                disabled={isPaymentDataLoading}\n                type=\"submit\"\n                text={`Paiement (${cost}€)`}\n                name=\"payBtn\"\n                block\n                onClick={togglePaymentForm}\n              />\n            </BtnContainer>\n          </>\n        ) : (\n          <Formik initialValues={formInitialValues} validationSchema={validationSchema} onSubmit={onSubmit}>\n            {({\n              values, handleSubmit, errors, touched, handleChange, handleBlur, isSubmitting,\n            }) => (\n              <form onSubmit={handleSubmit}>\n                <Label error={touched.phone && errors.phone}>Téléphone</Label>\n                <SmallInput>\n                  <Field value={values.phone} name=\"phone\" onChange={handleChange} onBlur={handleBlur} placeholder=\"0601020304\" valid={touched.phone && !errors.phone} />\n                </SmallInput>\n                <ErrorMessage component={ErrorMessageContainer} name=\"phone\" />\n                <BtnContainer>\n                  <Btn\n                    isLoading={isSubmitting || isPaymentDataLoading}\n                    disabled={isSubmitting || isPaymentDataLoading}\n                    type=\"submit\"\n                    text={`Paiement (${cost}€)`}\n                    name=\"payBtn\"\n                    block\n                  />\n                </BtnContainer>\n              </form>\n            )}\n          </Formik>\n        )}\n      </Container>\n    </div>\n  );\n});\n\nLoggedInPayment.propTypes = {\n  togglePaymentForm: PropTypes.func.isRequired,\n  cost: PropTypes.string.isRequired,\n};\n\nexport { LoggedInPayment };\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { Tooltip } from '@shared/Tooltip';\nimport { BLUE_GREY, NOTES_COLOR, PALE_GREY } from '../../../theme';\nimport LockIcon from '../../../images/icon-lock.inline.svg';\nimport QuestionIcon from '../../../images/icon-question.inline.svg';\nimport { isMobile } from '../../../constants';\nimport media from '../../../utils/mediaQueries';\nimport StripeIcon from '../../../images/icon-stripe.inline.svg';\nimport mastercard from '../../../images/mastercard.svg';\nimport visa from '../../../images/visa.svg';\nimport cb from '../../../images/cb.svg';\n\nconst Badge = styled.div`\n  border-radius: 10px;\n  background-color: ${PALE_GREY};\n  padding: 8px 12px 9px;\n  display: flex;\n  align-items: flex-start;\n`;\n\nconst LockIconContainer = styled.div`\n  width: 24px;\n  flex: 0 0 24px;\n`;\n\nconst Lock = styled(LockIcon)`\n  width: 12px;\n  height: 16px;\n`;\n\nconst BadgeContent = styled.div`\n  width: 100%;\n  font-size: 14px;\n  line-height: 1.29;\n  letter-spacing: -0.1px;\n`;\n\nconst QuestionIconContainer = styled.div`\n  width: 20px;\n  flex: 0 0 20px;\n  align-self: flex-end;\n`;\n\nconst Question = styled(QuestionIcon)`\n  fill: ${BLUE_GREY};\n  width: 16px;\n  height: 16px;\n`;\n\nconst Footer = styled.div`\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  margin-top: 24px;\n  \n  ${media.mobile`\n    flex-direction: column;\n    align-items: center;\n  `}\n`;\n\nconst StripeLogoCol = styled.div`\n  display: flex;\n  align-items: center;\n`;\n\nconst StripeLogo = styled(StripeIcon)`\n  width: 110px;\n  height: 24px;\n`;\n\nconst StripeLogoCaption = styled.span`\n  font-size: 14px;\n  line-height: 1.29;\n  letter-spacing: -0.1px;\n  color: ${NOTES_COLOR};\n  margin-left: 12px;\n  \n  ${media.mobile`\n    font-size: 10px;\n    line-height: 1.2;\n  `}\n`;\n\nconst PaymentLogosCol = styled.div`\n  display: flex;\n  justify-content: flex-start;\n  \n  ${media.mobile`\n    margin-top: 16px;\n  `}\n`;\n\nconst PaymentIcon = styled.img`\n  width: 35px;\n  \n  &+& {\n    margin-left: 6px;\n  }\n`;\n\nconst StripeInfo = () => (\n  <div>\n    <Badge>\n      <LockIconContainer><Lock /></LockIconContainer>\n      <BadgeContent>Vos informations bancaires sont cryptées et traitées directement par Stripe, leader du paiement sécurisé en ligne.</BadgeContent>\n      <QuestionIconContainer>\n        <Tooltip\n          position={isMobile ? 'bottom right' : 'right center'}\n          trigger={isMobile ? 'click' : 'hover'}\n          content=\"Aucune donnée n’est reçue ni stockée par vroomvroom.fr. Connexion directe entre votre ordinateur et la banque.\"\n          width={200}\n        >\n          <Question />\n        </Tooltip>\n      </QuestionIconContainer>\n    </Badge>\n    <Footer>\n      <StripeLogoCol>\n        <StripeLogo />\n        <StripeLogoCaption>Connexion sécurisée SSL</StripeLogoCaption>\n      </StripeLogoCol>\n      <PaymentLogosCol>\n        <PaymentIcon src={mastercard} alt=\"Mastercard icon\" />\n        <PaymentIcon src={visa} alt=\"Visa icon\" />\n        <PaymentIcon src={cb} alt=\"CB icon\" />\n      </PaymentLogosCol>\n    </Footer>\n  </div>\n);\n\nexport { StripeInfo };\n","// Facebook login with JavaScript SDK\nfunction loginAsync() {\n  return new Promise((resolve, reject) => {\n    window.FB.login((response) => {\n      if (response.error) {\n        reject(response);\n      } else {\n        resolve(response);\n      }\n    }, { scope: 'email,user_birthday', auth_type: 'rerequest' });\n  });\n}\n\nfunction meAsync() {\n  return new Promise((resolve, reject) => {\n    window.FB.api('/me', {\n      locale: 'fr_FR',\n      fields: 'id,first_name,last_name,email,link,gender,locale,picture,birthday',\n    }, (response) => {\n      if (response.error) {\n        reject(response);\n      } else {\n        resolve(response);\n      }\n    });\n  });\n}\n\nfunction getLoginStatusAsync() {\n  return new Promise((resolve, reject) => {\n    window.FB.getLoginStatus((response) => {\n      if (response.error) {\n        reject(response);\n      } else {\n        resolve(response);\n      }\n    });\n  });\n}\n\nexport default {\n  login: loginAsync,\n  me: meAsync,\n  getLoginStatus: getLoginStatusAsync,\n};\n","import React from 'react';\nimport styled from 'styled-components';\nimport { BLUE_GREY } from '../../../theme';\n\nconst Label = styled.span`\n  font-size: 12px;\n  color: ${BLUE_GREY};\n  line-height: 1.17;\n  letter-spacing: -0.1px;\n`;\n\nconst CheckboxLabel = () => (\n  <Label>\n    <span>J’ai lu et j’accepte sans réserves les </span>\n    <a href=\"/a-propos/cgv\" target=\"_blank\" rel=\"noreferrer noopener\">Conditions générales de vente.</a>\n  </Label>\n);\n\nexport { CheckboxLabel };\n","import React from 'react';\nimport { ErrorMessage, Formik } from 'formik';\nimport * as Yup from 'yup';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport { format } from 'date-fns';\n\nimport { observer } from 'mobx-react';\nimport DatePickerField from '@shared/fields/DatePickerField';\nimport Field from '../../fields/Field';\nimport media from '../../../utils/mediaQueries';\nimport { ERROR_COLOR } from '../../../theme';\nimport { Checkbox } from '../../fields/Checkbox';\nimport { CheckboxLabel } from './CheckboxLabel';\nimport Btn from '../../buttons/Btn';\nimport { Title } from './Title';\nimport stores from '../../../stores';\nimport { Input } from '../../fields/common/Input';\nimport { isMobile } from '../../../constants';\nimport { PasswordField } from '../../fields/PasswordField';\n\nconst Section = styled.section`\n  margin-bottom: 40px;\n`;\n\nconst Label = styled.label`\n  display: block;\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 1.57;\n  letter-spacing: 0.3px;\n  margin: 16px 0 8px;\n  ${(props) => props.error && `color: ${ERROR_COLOR};`}\n`;\n\nconst SmallInput = styled.div`\n  width: 224px;\n\n  ${media.mobile`\n    width: 100%;\n  `}\n`;\n\nconst ErrorMessageContainer = styled.div`\n  color: ${ERROR_COLOR};\n  font-size: 12px;\n  line-height: 1.17;\n  margin-top: 3px;\n`;\n\nconst CheckboxRow = styled.div`\n  margin-top: 16px;\n`;\n\nconst BtnContainer = styled.div`\n  margin-top: 27px;\n  max-width: 384px;\n`;\n\nconst formInitialValues = {\n  prenom: '',\n  nom: '',\n  dateNaissance: isMobile ? '' : undefined,\n  phone: '',\n  email: '',\n  password: '',\n  isAgreed: false,\n};\n\nconst validationSchema = Yup.object().shape({\n  prenom: Yup.string().required('Ce champ est obligatoire.'),\n  nom: Yup.string().required('Ce champ est obligatoire.'),\n  dateNaissance: Yup.date()\n    .required('Ce champ est obligatoire.')\n    .max(new Date(), 'La date ne peut pas être dans le futur')\n    .typeError('Ce champ doit être une date (jj/mm/aaaa).'),\n  phone: Yup.string()\n    .matches(\n      /^(?:(?:)0)\\s*[1-9](?:[\\s.-]*\\d{2}){4}$/,\n      'Le téléphone doit être au format 01 23 45 67 89',\n    )\n    .required('Ce champ est obligatoire.'),\n  email: Yup.string()\n    .trim('Ce champ ne peut pas inclure d\\'espace au début et à la fin')\n    .strict(true)\n    .email('Veuillez fournir une adresse électronique valide.')\n    .required('Ce champ est obligatoire.'),\n  password: Yup.string().required('Ce champ est obligatoire.'),\n  isAgreed: Yup.bool()\n    .oneOf([true], 'Veuillez accepter les Conditions générales.'),\n});\n\nconst LoginAndPayForm = observer(({ togglePaymentForm, cost, schoolId }) => {\n  const onSubmit = async (data, formikBag) => {\n    const dataToSend = {\n      ...data,\n      dateNaissance: format(new Date(data.dateNaissance), 'yyyy-MM-dd'),\n    };\n    try {\n      await stores.userStore.signUpTheoryAccessStudent(schoolId, dataToSend, formikBag);\n      togglePaymentForm();\n    } catch (e) {\n      // eslint-disable-next-line no-console\n      console.error(e);\n    }\n  };\n\n  const { isPaymentDataLoading } = stores.theoryAccessStore;\n\n  return (\n    <Formik initialValues={formInitialValues} onSubmit={onSubmit} validationSchema={validationSchema}>\n      {({\n        values, handleSubmit, errors, touched, handleChange, handleBlur, setFieldValue, isSubmitting,\n      }) => (\n        <form onSubmit={handleSubmit}>\n          <Section>\n            <Title>Mes coordonnées</Title>\n            <Label error={touched.prenom && errors.prenom}>Prénom</Label>\n            <Field value={values.prenom} name=\"prenom\" onChange={handleChange} onBlur={handleBlur} placeholder=\"Louis\" valid={touched.prenom && !errors.prenom} />\n            <ErrorMessage component={ErrorMessageContainer} name=\"prenom\" />\n\n            <Label error={touched.nom && errors.nom}>Nom</Label>\n            <Field value={values.nom} name=\"nom\" onChange={handleChange} onBlur={handleBlur} placeholder=\"Dupont\" valid={touched.nom && !errors.nom} />\n            <ErrorMessage component={ErrorMessageContainer} name=\"nom\" />\n\n            <Label error={touched.dateNaissance && errors.dateNaissance}>Date de naissance</Label>\n            <SmallInput>\n              {\n                isMobile\n                  ? (\n                    <Input\n                      name=\"dateNaissance\"\n                      value={values.dateNaissance}\n                      width=\"100%\"\n                      type=\"date\"\n                      onChange={handleChange}\n                      onBlur={handleBlur}\n                      placeholder=\"jj/mm/aaaa\"\n                      valid={touched.dateNaissance && !errors.dateNaissance}\n                    />\n                  )\n                  : (\n                    <DatePickerField\n                      name=\"dateNaissance\"\n                      placeholderText=\"jj/mm/aaaa\"\n                      value={values.dateNaissance}\n                      maxDate={new Date()} // today\n                      onChange={setFieldValue}\n                      onBlur={handleBlur}\n                      dateFormat=\"dd/MM/yyyy\"\n                      valid={touched.dateNaissance && !errors.dateNaissance}\n                    />\n                  )\n              }\n            </SmallInput>\n            <ErrorMessage component={ErrorMessageContainer} name=\"dateNaissance\" />\n\n            <Label error={touched.phone && errors.phone}>Téléphone</Label>\n            <SmallInput>\n              <Field value={values.phone} name=\"phone\" onChange={handleChange} onBlur={handleBlur} placeholder=\"0601020304\" valid={touched.phone && !errors.phone} />\n            </SmallInput>\n            <ErrorMessage component={ErrorMessageContainer} name=\"phone\" />\n          </Section>\n\n          <Section>\n            <Title>Mes identifiants</Title>\n            <Label error={touched.email && errors.email}>Email</Label>\n            <Field value={values.email} name=\"email\" onChange={handleChange} onBlur={handleBlur} valid={touched.email && !errors.email} />\n            <ErrorMessage component={ErrorMessageContainer} name=\"email\" />\n            <PasswordField\n              name=\"password\"\n              onChange={handleChange}\n              onBlur={handleBlur}\n              value={values.password}\n              valid={touched.password && !errors.password}\n              errorMessage={\n                errors.password && touched.password ? errors.password : null\n              }\n            />\n            <CheckboxRow>\n              <Checkbox\n                name=\"isAgreed\"\n                label={<CheckboxLabel />}\n                isChecked={values.isAgreed}\n                onChange={handleChange}\n                error={errors.isAgreed && touched.isAgreed}\n              />\n            </CheckboxRow>\n            <ErrorMessage component={ErrorMessageContainer} name=\"isAgreed\" />\n            <BtnContainer>\n              <Btn type=\"submit\" text={`Paiement (${cost}€)`} name=\"payBtn\" isLoading={isSubmitting || isPaymentDataLoading} disabled={isSubmitting || isPaymentDataLoading} block />\n            </BtnContainer>\n          </Section>\n        </form>\n      )}\n    </Formik>\n  );\n});\n\nLoginAndPayForm.propTypes = {\n  togglePaymentForm: PropTypes.func.isRequired,\n  cost: PropTypes.string.isRequired,\n};\n\nexport { LoginAndPayForm };\n","import React, {\n  useCallback, useEffect, useState,\n} from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport keys from 'lodash/keys';\n\nimport fbAsync from '../../../services/facebook-async';\nimport { LoginAndPayForm } from './LoginAndPayForm';\nimport {\n  ERROR_COLOR, FONT_FAMILY_MAIN, PALE_GREY, TEXT_COLOR,\n} from '../../../theme';\nimport FBIcon from '../../../images/facebook-logo.inline.svg';\nimport stores from '../../../stores';\n\nconst FbLogin = styled.div`\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  padding-bottom: 32px;\n  border-bottom: 1px solid ${PALE_GREY};\n  position: relative;\n  margin-bottom: 40px;\n  flex-direction: column;\n\n  &::after {\n    content: 'OU';\n    padding: 0 38px;\n    background: #fff;\n    font-family: ${FONT_FAMILY_MAIN};\n    font-size: 14px;\n    font-weight: bold;\n    line-height: 1.29;\n    letter-spacing: 1px;\n    color: ${TEXT_COLOR};\n    bottom: -9px;\n    position: absolute;\n    left: 50%;\n    transform: translateX(-50%);\n  }\n`;\n\nconst FacebookBtn = styled.div`\n  border-radius: 6px;\n  background-color: ${(props) => (props.disabled ? PALE_GREY : '#3b5998')};;\n  padding: 10px 24px 14px;\n  color: #fff;\n  display: flex;\n  align-items: center;\n  font-family: ${FONT_FAMILY_MAIN};\n  font-size: 16px;\n  font-weight: bold;\n  cursor: pointer;\n`;\n\nconst FacebookIcon = styled(FBIcon)`\n  width: 32px;\n  height: 32px;\n  margin-right: 6px;\n\n  #fb-icon-bg {\n    fill: #fff;\n  }\n`;\n\nconst ErrorMessageContainer = styled.div`\n  color: ${ERROR_COLOR};\n  font-size: 14px;\n  line-height: 1.17;\n  margin-top: 10px;\n`;\n\nwindow.fbAsyncInit = function () {\n  window.FB.init({\n    appId: process.env.FACEBOOK_APP_ID,\n    cookie: true,\n    xfbml: false,\n    version: 'v8.0',\n  });\n};\n\n// Load the JavaScript SDK asynchronously\n(function (d, s, id) {\n  const fjs = d.getElementsByTagName(s)[0];\n  if (d.getElementById(id)) return;\n  const js = d.createElement(s);\n  js.id = id;\n  js.src = '//connect.facebook.net/fr_FR/sdk.js';\n  fjs.parentNode.insertBefore(js, fjs);\n}(document, 'script', 'facebook-jssdk'));\n\nconst ERROR_MESSAGES = {\n  email: 'Ce champ est obligatoire.',\n  dateNaissance: 'Ce champ est obligatoire.',\n};\n\nconst FIELD_DISPLAY = {\n  email: 'email',\n  dateNaissance: 'Date de naissance',\n};\n\nconst LoginOptions = ({ togglePaymentForm, cost, schoolId }) => {\n  const [isLoggingIn, setLoggingIn] = useState(false);\n  const [errors, setErrors] = useState({});\n  const { userStore } = stores;\n  useEffect(() => {\n    const initFbLogin = async () => {\n      setLoggingIn(true);\n      try {\n        const result = await fbAsync.getLoginStatus();\n        if (result.status === 'connected') {\n          const fbUser = await fbAsync.me();\n          await userStore.signUpTheoryAccessStudentWithFb(schoolId, {\n            access_token: result.authResponse.accessToken,\n            facebook_id: fbUser.id,\n            prenom: fbUser.first_name,\n            nom: fbUser.last_name,\n            dateNaissance: fbUser.birthday,\n            email: fbUser.email,\n          }, { setErrors });\n        }\n      } finally {\n        setLoggingIn(false);\n      }\n    };\n    // Timeout is required for FB init\n    setTimeout(initFbLogin, 500);\n  }, []);\n\n  const onLogin = useCallback(async () => {\n    setLoggingIn(true);\n    try {\n      const result = await fbAsync.login();\n      if (result.status === 'connected') {\n        const fbUser = await fbAsync.me();\n        userStore.signUpTheoryAccessStudentWithFb(schoolId, {\n          access_token: result.authResponse.accessToken,\n          facebook_id: fbUser.id,\n          prenom: fbUser.first_name,\n          nom: fbUser.last_name,\n          dateNaissance: fbUser.birthday,\n          email: fbUser.email,\n        }, { setErrors });\n      }\n    } finally {\n      setLoggingIn(false);\n    }\n  }, []);\n  return (\n    <>\n      {\n        process.env.FACEBOOK_LOGIN_DISABLED !== 'true' && (\n          <FbLogin>\n            <FacebookBtn onClick={onLogin} disabled={isLoggingIn}>\n              <FacebookIcon />\n              Connexion avec Facebook\n            </FacebookBtn>\n            {keys(errors).map((field) => (\n              <ErrorMessageContainer key={field}>\n                {`${FIELD_DISPLAY[field]} - ${ERROR_MESSAGES[field]}`}\n              </ErrorMessageContainer>\n            ))}\n          </FbLogin>\n        )\n      }\n      <LoginAndPayForm togglePaymentForm={togglePaymentForm} cost={cost} schoolId={schoolId} />\n    </>\n  );\n};\n\nLoginOptions.propTypes = {\n  schoolId: PropTypes.string.isRequired,\n  togglePaymentForm: PropTypes.func.isRequired,\n  cost: PropTypes.string.isRequired,\n};\n\nexport { LoginOptions };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Loader from '../../../loader';\nimport { StripeForm } from '../StripeForm';\nimport { LoggedInPayment } from '../LoggedInPayment';\nimport { StripeInfo } from '../StripeInfo';\nimport { withLoadingFallback } from '../../../../hocs/withLoadingFallback';\nimport { LoginOptions } from '../LoginOptions';\n\nconst Container = styled.div`\n  max-width: 508px;\n  margin: 0 auto 24px;\n`;\n\nconst ContainerWithLoadingFallback = withLoadingFallback(Container);\n\nconst PaymentScreenComponent = (props) => {\n  const {\n    user, isUserBusy, isPaymentFormShown, togglePaymentForm, setResult, setSent, schoolName, cost, schoolId, stripePromise, isMounted,\n  } = props;\n\n  return (\n    <ContainerWithLoadingFallback isLoading={!isMounted || isUserBusy} fallback={<Loader containerHeight={350} />}>\n      {\n        isPaymentFormShown && (\n          <StripeForm onClose={togglePaymentForm} setResult={setResult} setSent={setSent} schoolName={schoolName} cost={cost} stripePromise={stripePromise} />\n        )\n      }\n      {\n        !isEmpty(user)\n          ? <LoggedInPayment togglePaymentForm={togglePaymentForm} cost={cost} />\n          : <LoginOptions togglePaymentForm={togglePaymentForm} cost={cost} schoolId={schoolId} />\n      }\n      <StripeInfo />\n    </ContainerWithLoadingFallback>\n  );\n};\n\nPaymentScreenComponent.propTypes = {\n  user: PropTypes.object.isRequired,\n  isUserBusy: PropTypes.bool.isRequired,\n  isPaymentFormShown: PropTypes.bool.isRequired,\n  togglePaymentForm: PropTypes.func.isRequired,\n  setResult: PropTypes.func.isRequired,\n  setSent: PropTypes.func.isRequired,\n  schoolName: PropTypes.string.isRequired,\n  cost: PropTypes.string.isRequired,\n  schoolId: PropTypes.string.isRequired,\n  stripePromise: PropTypes.object,\n  isMounted: PropTypes.bool,\n};\n\nPaymentScreenComponent.defaultProps = {\n  stripePromise: null,\n  isMounted: false,\n};\n\nexport { PaymentScreenComponent };\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { observer } from 'mobx-react';\nimport { loadStripe } from '@stripe/stripe-js';\nimport { PaymentScreenComponent } from './PaymentScreenComponent';\nimport stores from '../../../../stores';\nimport { Results } from '../constants';\n\nclass PaymentScreenContainerClassComponent extends Component {\n  constructor() {\n    super();\n\n    this.state = {\n      isPaymentFormShown: false,\n      stripePromise: null,\n      isMounted: false,\n    };\n  }\n\n  componentDidMount = () => {\n    this.setState({ isMounted: true });\n    stores.userStore.getUser();\n  };\n\n  togglePaymentForm = async () => {\n    const { setResult, schoolId, setSent } = this.props;\n    const { isPaymentFormShown, stripePromise } = this.state;\n    if (isPaymentFormShown) {\n      this.setState({ isPaymentFormShown: false });\n    } else {\n      try {\n        await stores.theoryAccessStore.getPaymentData(schoolId);\n        if (!stripePromise) {\n          const connectedStripeAccountId = stores.theoryAccessStore.paymentData.connected_stripe_account_id;\n          const stripe = await loadStripe(process.env.STRIPE_PUBLISHABLE_KEY || 'pk_test_88WGpTtJOwCnESkYtgEebE33', { stripeAccount: connectedStripeAccountId });\n          this.setState({ stripePromise: stripe });\n        }\n        this.setState({ isPaymentFormShown: true });\n      } catch (e) {\n        setSent(true);\n        setResult(Results.Error);\n      }\n    }\n  };\n\n  render() {\n    const {\n      setResult, setSent, schoolName, cost, schoolId,\n    } = this.props;\n    const { userInfo, isUserBusy } = stores.userStore;\n    const { isPaymentFormShown, stripePromise, isMounted } = this.state;\n\n    return (\n      <PaymentScreenComponent\n        user={userInfo}\n        isUserBusy={isUserBusy}\n        isPaymentFormShown={isPaymentFormShown}\n        togglePaymentForm={this.togglePaymentForm}\n        setResult={setResult}\n        setSent={setSent}\n        schoolName={schoolName}\n        cost={cost}\n        schoolId={schoolId}\n        stripePromise={stripePromise}\n        isMounted={isMounted}\n      />\n    );\n  }\n}\n\nPaymentScreenContainerClassComponent.propTypes = {\n  setResult: PropTypes.func.isRequired,\n  setSent: PropTypes.func.isRequired,\n  schoolName: PropTypes.string.isRequired,\n  cost: PropTypes.string.isRequired,\n  schoolId: PropTypes.string.isRequired,\n};\n\nconst PaymentScreenContainer = observer(PaymentScreenContainerClassComponent);\n\nexport { PaymentScreenContainer };\n","import React, { Fragment, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Results } from '../constants';\nimport { PaymentResultScreen } from '../PaymentResultScreen';\nimport { PaymentScreen } from '../PaymentScreen';\n\nconst PaymentStatesComponent = (props) => {\n  const {\n    isSent, setSent, schoolName, cost, schoolId,\n  } = props;\n\n  const [result, setResult] = useState(Results.Success);\n\n  return (\n    <>\n      {\n        isSent\n          ? <PaymentResultScreen result={result} />\n          : (\n            <PaymentScreen\n              setResult={setResult}\n              setSent={setSent}\n              schoolName={schoolName}\n              cost={cost}\n              schoolId={schoolId}\n            />\n          )\n      }\n    </>\n  );\n};\n\nPaymentStatesComponent.propTypes = {\n  schoolName: PropTypes.string.isRequired,\n  isSent: PropTypes.bool.isRequired,\n  setSent: PropTypes.func.isRequired,\n  cost: PropTypes.string.isRequired,\n  schoolId: PropTypes.string.isRequired,\n};\n\nexport { PaymentStatesComponent };\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { PaymentStatesComponent } from './PaymentStatesComponent';\n\nclass PaymentStatesContainer extends Component {\n  constructor() {\n    super();\n\n    this.state = {\n      isSent: false,\n    };\n  }\n\n  setSent = () => this.setState({ isSent: true });\n\n  render() {\n    const { isSent } = this.state;\n    const { schoolName, cost, schoolId } = this.props;\n\n    return (\n      <PaymentStatesComponent\n        isSent={isSent}\n        setSent={this.setSent}\n        schoolName={schoolName}\n        cost={cost}\n        schoolId={schoolId}\n      />\n    );\n  }\n}\n\nPaymentStatesContainer.propTypes = {\n  schoolName: PropTypes.string.isRequired,\n  cost: PropTypes.string.isRequired,\n  schoolId: PropTypes.string.isRequired,\n};\n\nexport { PaymentStatesContainer };\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { NoAccessesLeft } from '../NoAccessesLeft';\nimport { withLoadingFallback } from '../../../../hocs/withLoadingFallback';\nimport { PaymentStates } from '../PaymentStates';\n\nconst Suspended = withLoadingFallback(Fragment);\n\nconst TheoryAccessSellingPageComponent = ({\n  hasRemainingAccesses, schoolPhone, isAccessesChecking, schoolName, cost, schoolId,\n}) => (\n  <Suspended isLoading={isAccessesChecking}>\n    {\n      hasRemainingAccesses\n        ? <PaymentStates schoolName={schoolName} cost={cost} schoolId={schoolId} />\n        : <NoAccessesLeft schoolPhone={schoolPhone} />\n    }\n  </Suspended>\n);\n\nTheoryAccessSellingPageComponent.propTypes = {\n  hasRemainingAccesses: PropTypes.bool.isRequired,\n  schoolPhone: PropTypes.string.isRequired,\n  schoolName: PropTypes.string.isRequired,\n  isAccessesChecking: PropTypes.bool.isRequired,\n  cost: PropTypes.string.isRequired,\n  schoolId: PropTypes.string.isRequired,\n};\n\nexport { TheoryAccessSellingPageComponent };\n","import React, { Component } from 'react';\nimport { observer } from 'mobx-react';\nimport PropTypes from 'prop-types';\n\nimport { TheoryAccessSellingPageComponent } from './TheoryAccessSellingPageComponent';\nimport stores from '../../../../stores';\n\nclass TheoryAccessSellingPageContainerClassComponent extends Component {\n  componentDidMount() {\n    const { schoolId } = this.props;\n    stores.theoryAccessStore.checkRemainingAccess(schoolId);\n  }\n\n  render() {\n    const { isAccessesChecking, hasRemainingAccesses } = stores.theoryAccessStore;\n    const {\n      schoolPhone, schoolName, cost, schoolId,\n    } = this.props;\n\n    return (\n      <TheoryAccessSellingPageComponent\n        isAccessesChecking={isAccessesChecking}\n        hasRemainingAccesses={hasRemainingAccesses}\n        schoolPhone={schoolPhone}\n        schoolName={schoolName}\n        schoolId={schoolId}\n        cost={cost}\n      />\n    );\n  }\n}\n\nTheoryAccessSellingPageContainerClassComponent.propTypes = {\n  schoolPhone: PropTypes.string.isRequired,\n  schoolName: PropTypes.string.isRequired,\n  cost: PropTypes.string.isRequired,\n  schoolId: PropTypes.string.isRequired,\n};\n\nconst TheoryAccessSellingPageContainer = observer(TheoryAccessSellingPageContainerClassComponent);\n\nexport { TheoryAccessSellingPageContainer };\n","import React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { TheoryAccessSellingPage } from '../main-app/components/TheoryAccessSellingPage';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  const node = document.getElementById('react-theory-access-selling-page');\n  const schoolName = node.getAttribute('data-school-name');\n  const schoolPhone = node.getAttribute('data-school-phone');\n  const schoolId = node.getAttribute('data-school-id');\n  const cost = node.getAttribute('data-cost');\n\n  const root = createRoot(node);\n  root.render(\n    <TheoryAccessSellingPage schoolName={schoolName} schoolPhone={schoolPhone} schoolId={schoolId} cost={cost} />,\n  );\n});\n","export default __webpack_public_path__ + \"8176867ffd60865e956a06d814a483ad.svg\";","export default __webpack_public_path__ + \"e79d32bc1a572c0e47c356b1c508f278.svg\";","export default __webpack_public_path__ + \"5bd93ac737d3161965797e6618586ea6.svg\";","export default __webpack_public_path__ + \"9c7da9d6395d4842f0bb9d5309b8fd84.svg\";","export default __webpack_public_path__ + \"43fcee2bfb9e25c610ee1a1475fa9c6d.svg\";","export default __webpack_public_path__ + \"cf592a06a814be5d1c477dbc41b3a3ce.svg\";"],"names":["styles","props","xmlns","viewBox","d","width","height","fill","fillRule","id","opacity","Container","styled","div","overlayColor","Content","contentWidth","overflow","media","mobile","isMobilesFullWidth","Popup","children","defaultProps","zIndex","activeZIndex","isOpened","TooltipInstance","isSmall","position","getPositionStyles","ArrowDown","span","getArrowDownPositionStyles","ArrowLeft","getArrowLeftPositionStyles","ArrowTop","getArrowTopPositionStyles","ArrowRight","getArrowRightPositionStyles","StyledCross","Cross","Tooltip","content","trigger","positionMobile","useState","setIsOpened","currentPosition","setCurrentPosition","viewportWidth","useViewport","useEffect","res","positionWeb","positionMob","RESOLUTION","MEDIUM","onClick","React","commonProps","className","onMouseEnter","onMouseLeave","getTriggerProps","undefined","InputContainer","SelectContainer","label","Select","select","arrowDown","fontSize","value","TEXT_COLOR","LIGHT_BLUE_GREY","FONT_FAMILY_MAIN","disabled","valid","icon","Option","option","ErrorMessage","Image","img","Combobox","Component","constructor","super","this","selectRef","render","placeholder","options","optionalLink","optionalText","tabIndex","name","onChange","onBlur","errorMessage","dataTestId","src","alt","ref","map","item","key","flatpickrInstance","Flatpickr","customInput","onOpen","dateFormat","mode","locale","defaultDate","restProps","pickerEl","useRef","flatpickrOptions","parseDate","date","parse","Date","fr","formatDate","dateObj","DateTimeService","setDateLocale","French","onClose","current","blur","flatpickr","setDate","destroy","wrap","DatePickerField","iconPosition","minDate","maxDate","placeholderText","disableMobile","rest","Input","val","InputHeader","Label","labelTextColor","Link","a","OptionalText","FieldLabel","shouldRenderLink","shouldRenderText","isEmpty","href","isInSeparateMode","css","theme","fontFamily","colors","textColorMain","LIGHT_PALE_GREY","SwitcherItem","SOLITUDE","SeparateSwitcherItem","input","switcherBackground","PALE_GREY","switcherColor","Switcher","items","activeItem","isMultipleChoiceAllowed","activeItemIcon","SwitcherItemElem","i","itemValue","isActive","Array","isArray","indexOf","type","checked","htmlFor","window","innerWidth","setViewportWidth","handleWindowResize","addEventListener","removeEventListener","format","formatInTimeZone","timeZone","utcToZonedTime","formattedDate","dateWithDashes","fmt","generateYearAgoDate","today","setMonth","getMonth","generateMonthAgoDate","BLUE_GRAY","MAIN_DARK","WHITE","LIGHT_PINK","WATERMELON","RAVEN","COBALT","MAIN_BLUE","ZIRCON","SILVER","PALE_GRAY","PALE_GRAY_TWO","PALE_CORNFLOWER_BLUE","GRAY_CHATEAU","FIRE_ENGINE_RED","ALICE_BLUE","MAIZE","SHAMROCK","CORAL_PINK","GREEN_BRIGHT","MEDIUM_AQUAMARINE","LIGHT_GRAY","BEIGE","INPUT_BORDERS_COLOR","INPUT_BORDERS_COLOR_ERROR","SUCCESS_NOTIFICATION_BG","ALERT_NOTIFICATION_BG","PROMO_NOTIFICATION_BG","SUCCESS_NOTIFICATION_TEXT_COLOR","ALERT_NOTIFICATION_TEXT_COLOR","PROMO_NOTIFICATION_TEXT_COLOR","STARS_FILL_COLOR","HIGH_RATING_COLOR","MEDIUM_RATING_COLOR","LOW_RATING_COLOR","MAIN_IMAGE_HIGHLIGHT","ERROR_COLOR","SUCCESS_COLOR","SMALL","LARGE","EXTRA_LARGE","DEVICES","MainButton","button","small","block","outlined","color","textColor","Btn","text","isLoading","spinnerColor","size","EmptyCheckbox","error","CheckboxView","CheckedCheckbox","CheckboxIcon","Checkbox","isChecked","backgroundColor","inputTextColor","ErrorEmptySpace","Field","forwardRef","min","step","propTypes","PropTypes","Icon","eyeIcon","PasswordField","passwordRef","handleIconClick","useCallback","field","getAttribute","setAttribute","withLoadingFallback","fallback","Suspended","Fragment","NoAccessesLeft","schoolPhone","Results","Title","h2","Section","section","p","AccountLink","TEXTS","TITLE","MESSAGE","PaymentResultScreen","result","CardNumberRow","DateCvcRow","DateCell","CvcCell","CrossIcon","Header","LogoContainer","LogoImg","Logo","ProductTitle","h3","Description","NOTES_COLOR","CardError","INPUT_OPTIONS","style","base","iconColor","invalid","CheckoutFormComponent","stripe","isSending","schoolName","handleSubmit","cost","setCardNumberReady","setCardExpiryReady","setCardCvcReady","isFormReady","onSubmit","CardNumberElement","onReady","CardExpiryElement","CardCvcElement","CheckoutFormContainer","setResult","setSent","useStripe","elements","useElements","setIsSending","setError","isCardNumberReady","isCardExpiryReady","isCardCvcReady","async","event","preventDefault","cardElement","getElement","clientSecret","stores","theoryAccessStore","paymentData","client_secret","userStore","userInfo","prenom","surname","nom","confirmCardPayment","payment_method","card","billing_details","message","paymentIntent","status","STRIPE_OPTIONS","StripeForm","stripePromise","Elements","BtnContainer","SmallInput","ErrorMessageContainer","validationSchema","Yup","shape","phone","matches","required","formInitialValues","LoggedInPayment","observer","togglePaymentForm","Name","Surname","isPaymentDataLoading","initialValues","data","formikBag","setUser","e","console","values","errors","touched","handleChange","handleBlur","isSubmitting","component","Badge","LockIconContainer","Lock","LockIcon","BadgeContent","QuestionIconContainer","Question","QuestionIcon","BLUE_GREY","Footer","StripeLogoCol","StripeLogo","StripeIcon","StripeLogoCaption","PaymentLogosCol","PaymentIcon","StripeInfo","isMobile","mastercard","visa","cb","login","Promise","resolve","reject","FB","response","scope","auth_type","me","api","fields","getLoginStatus","CheckboxLabel","target","rel","CheckboxRow","dateNaissance","email","password","isAgreed","max","typeError","trim","strict","oneOf","LoginAndPayForm","schoolId","dataToSend","signUpTheoryAccessStudent","setFieldValue","FbLogin","FacebookBtn","FacebookIcon","FBIcon","fbAsyncInit","init","appId","process","cookie","xfbml","version","s","fjs","getElementsByTagName","getElementById","js","createElement","parentNode","insertBefore","document","ERROR_MESSAGES","FIELD_DISPLAY","LoginOptions","isLoggingIn","setLoggingIn","setErrors","setTimeout","fbAsync","fbUser","signUpTheoryAccessStudentWithFb","access_token","authResponse","accessToken","facebook_id","first_name","last_name","birthday","onLogin","FACEBOOK_LOGIN_DISABLED","keys","ContainerWithLoadingFallback","PaymentScreenComponent","user","isUserBusy","isPaymentFormShown","isMounted","containerHeight","PaymentScreenContainerClassComponent","setState","getUser","state","getPaymentData","connectedStripeAccountId","connected_stripe_account_id","loadStripe","stripeAccount","PaymentScreenContainer","PaymentStatesComponent","isSent","PaymentStatesContainer","TheoryAccessSellingPageComponent","hasRemainingAccesses","isAccessesChecking","TheoryAccessSellingPageContainerClassComponent","componentDidMount","checkRemainingAccess","TheoryAccessSellingPageContainer","node","createRoot"],"sourceRoot":""}