{"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":""}