{"version":3,"file":"static/components/front/legacyPages-14fddd32b5d985f31163.js?cv=7","mappings":"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","sources":["webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/allPages/FeedbackButton.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/allPages/FloatButton.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/authentication/api.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/Modal.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/Tooltip.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/allPages/PushModal/index.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/legacyPages/copybox.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/legacyPages/renderLegacyPageComponents.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/core-js/modules/es.iterator.reduce.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/core-js/modules/esnext.iterator.reduce.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/swr/dist/immutable/index.mjs"],"sourcesContent":["import React from \"react\";\n\nimport { useSelector } from \"@agir/front/globalContext/GlobalContext\";\nimport { getRoutes } from \"@agir/front/globalContext/reducers\";\nimport { useMobileApp } from \"@agir/front/app/hooks/useMobileApp\";\n\nimport background from \"./life-ring.svg\";\nimport ConnectedFloatButton from \"@agir/front/allPages/FloatButton\";\n\nfunction FeedbackButton() {\n  const routes = useSelector(getRoutes);\n  const href = routes && routes.feedbackForm;\n  const { isMobileApp } = useMobileApp();\n\n  return (\n    <ConnectedFloatButton\n      background={background}\n      href={href}\n      content={\n        <>\n          <strong>Aidez-nous !</strong>\n          {isMobileApp ? (\n            <span>\n              Donnez votre avis sur l'application Action Populaire&nbsp;→\n            </span>\n          ) : (\n            <span>Donnez votre avis sur le site Action Populaire&nbsp;→</span>\n          )}\n        </>\n      }\n    />\n  );\n}\n\nexport default FeedbackButton;\n","import PropTypes from \"prop-types\";\nimport React, { useCallback, useState } from \"react\";\nimport { useTransition, animated } from \"@react-spring/web\";\nimport { useEffectOnce } from \"react-use\";\nimport styled, { css } from \"styled-components\";\n\nimport { useSelector } from \"@agir/front/globalContext/GlobalContext\";\nimport { getUser, getRoutes } from \"@agir/front/globalContext/reducers\";\nimport { useMobileApp } from \"@agir/front/app/hooks/useMobileApp\";\nimport { useLocalStorage } from \"@agir/lib/utils/hooks\";\n\nimport Tooltip from \"@agir/front/genericComponents/Tooltip\";\n\nconst slideInTransition = {\n  from: { opacity: 0, marginBottom: \"-3rem\" },\n  enter: { opacity: 1, marginBottom: \"0rem\" },\n  leave: { opacity: 0, marginBottom: \"-3rem\" },\n};\n\nconst Button = styled.a`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  height: 100%;\n  border-radius: 100%;\n  background-color: transparent;\n  background-repeat: no-repeat;\n  background-size: cover;\n  background-position: center center;\n\n  ${({ $background }) =>\n    $background\n      ? css`\n          background-image: url(${$background});\n        `\n      : css`\n          background-color: ${(props) => props.theme.secondary500};\n          &:hover {\n            background-color: ${(props) => props.theme.secondary600};\n          }\n        `}\n\n  &:hover {\n    text-decoration: none;\n  }\n\n  i {\n    font-size: 2em;\n  }\n`;\n\nconst Wrapper = styled(animated.div)`\n  z-index: 100;\n  position: fixed;\n  bottom: 1.5rem;\n  right: 1.5rem;\n  width: 3.5rem;\n  height: 3.5rem;\n  border-radius: 50%;\n\n  @media (max-width: ${(props) => props.theme.collapse}px) {\n    width: 3rem;\n    height: 3rem;\n    bottom: 6.5rem;\n  }\n`;\n\nexport const FloatButton = (props) => {\n  const { isActive, shouldPushTooltip, href, content, icon, label } = props;\n\n  const [hasTooltip, setHasTooltip] = useState(false);\n\n  const hideTooltip = useCallback(() => {\n    setHasTooltip(false);\n  }, []);\n\n  const showTooltip = useCallback(() => {\n    setHasTooltip(true);\n  }, []);\n\n  const pushTooltip = useCallback(() => {\n    shouldPushTooltip && showTooltip();\n  }, [shouldPushTooltip, showTooltip]);\n\n  const wrapperTransition = useTransition(isActive, {\n    ...slideInTransition,\n    onRest: pushTooltip,\n  });\n\n  return wrapperTransition((style, item) =>\n    item ? (\n      <Wrapper style={{ ...(props.style || {}), ...style }}>\n        <Tooltip\n          position=\"top-left\"\n          shouldShow={hasTooltip}\n          onClose={shouldPushTooltip ? hideTooltip : undefined}\n        >\n          {content}\n        </Tooltip>\n        <Button\n          $background={props.background}\n          href={href}\n          aria-label={label}\n          onMouseOver={shouldPushTooltip ? undefined : showTooltip}\n          onMouseLeave={shouldPushTooltip ? undefined : hideTooltip}\n        >\n          <i className={icon} />\n        </Button>\n      </Wrapper>\n    ) : null,\n  );\n};\nFloatButton.propTypes = {\n  isActive: PropTypes.bool,\n  shouldPushTooltip: PropTypes.bool,\n  href: PropTypes.string,\n};\n\nconst ConnectedFloatButton = (props) => {\n  const user = useSelector(getUser);\n  const [visitCount, setVisitCount] = useLocalStorage(\"AP_vcount\", 0);\n  const [shouldPushTooltip, setShouldPushTooltip] = useState(false);\n\n  useEffectOnce(() => {\n    const count = visitCount + 1;\n    count % 20 === 3 && setShouldPushTooltip(true);\n    setVisitCount(count);\n  });\n\n  return (\n    <FloatButton\n      {...props}\n      shouldPushTooltip={shouldPushTooltip}\n      isActive={!!user}\n    />\n  );\n};\nexport default ConnectedFloatButton;\n","import axios from \"@agir/lib/utils/axios\";\n\nexport const ENDPOINT = {\n  login: \"/api/connexion/\",\n  checkCode: \"/api/connexion/code/\",\n  logout: \"/api/deconnexion/\",\n  signUp: \"/api/inscription/\",\n  getProfile: \"/api/user/profile/\",\n  getProfileOptions: \"/api/user/profile/\",\n  updateProfile: \"/api/user/profile/\",\n};\n\nexport const getAuthenticationEndpoint = (key, params) => {\n  let endpoint = ENDPOINT[key] || \"\";\n  if (params) {\n    Object.entries(params).forEach(([key, value]) => {\n      endpoint = endpoint.replace(`:${key}`, value);\n    });\n  }\n  return endpoint;\n};\n\nexport const login = async (email) => {\n  const result = {\n    success: false,\n    error: null,\n  };\n  const url = ENDPOINT.login;\n  const body = { email: email.trim() };\n  try {\n    const response = await axios.post(url, body);\n    result.success = response.status === 200;\n    result.data = response.data || null;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n\nexport const checkCode = async (code) => {\n  const result = {\n    data: null,\n    error: null,\n  };\n  const url = ENDPOINT.checkCode;\n  const body = { code };\n  try {\n    const response = await axios.post(url, body);\n    result.data = response.data;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n\nexport const logout = async () => {\n  const result = {\n    success: false,\n    error: null,\n  };\n  const url = ENDPOINT.logout;\n  try {\n    const response = await axios.get(url);\n    result.success = response.status === 200;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n\nexport const signUp = async (data, next) => {\n  const result = {\n    data: null,\n    error: null,\n  };\n  const formData = {\n    email: data.email.trim(),\n    location_zip: data.postalCode,\n    location_country: data.country,\n    next: next || undefined,\n  };\n  const url = ENDPOINT.signUp;\n  try {\n    const response = await axios.post(url, formData);\n    result.data = response.data;\n  } catch (e) {\n    result.error = {};\n    if (!e.response || !e.response.data) {\n      result.error = e.message;\n      return result;\n    }\n    const { email, location_zip, location_country, non_field_errors } =\n      e.response.data;\n    if (email) {\n      result.error.email = email;\n    }\n    if (location_zip) {\n      result.error.postalCode = location_zip;\n    }\n    if (location_country) {\n      result.error.country = location_country;\n    }\n    if (non_field_errors) {\n      result.error.global = non_field_errors;\n    }\n  }\n\n  return result;\n};\n\nexport const getProfile = async () => {\n  const result = {\n    data: null,\n    error: null,\n  };\n  const url = ENDPOINT.getProfile;\n  try {\n    const response = await axios.get(url);\n    result.data = response.data;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n\nexport const getProfileOptions = async () => {\n  const result = {\n    data: null,\n    error: null,\n  };\n  const url = ENDPOINT.getProfileOptions;\n  try {\n    const response = await axios.options(url);\n    result.data = response.data;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n\nexport const updateProfile = async (body) => {\n  const result = {\n    data: null,\n    error: null,\n  };\n\n  const url = ENDPOINT.updateProfile;\n  try {\n    const response = await axios.patch(url, body);\n    result.data = response.data;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n","import PropTypes from \"prop-types\";\nimport React, { useEffect, useMemo } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { useTransition, animated } from \"@react-spring/web\";\nimport styled from \"styled-components\";\n\nimport { useDisableBodyScroll, useFocusTrap } from \"@agir/lib/utils/hooks\";\nimport { RawFeatherIcon } from \"./FeatherIcon\";\n\nconst slideInTransition = {\n  from: { opacity: 0, paddingTop: \"2%\" },\n  enter: { opacity: 1, paddingTop: \"0%\" },\n  leave: { opacity: 0, paddingTop: \"2%\" },\n};\n\nconst fadeInTransition = {\n  from: { opacity: 0 },\n  enter: { opacity: 1 },\n  leave: { opacity: 0 },\n};\n\nconst Overlay = styled(animated.div)`\n  width: 100%;\n  height: 100%;\n  position: fixed;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  background-color: rgba(164, 159, 173, 0.6);\n  cursor: ${({ onClick }) => (onClick ? \"pointer\" : \"default\")};\n  z-index: 1;\n`;\n\nconst AnimatedOverlay = (props) => {\n  const { shouldShow = false, onClick } = props;\n  const transitions = useTransition(shouldShow, fadeInTransition);\n\n  return transitions((style, item) =>\n    item ? <Overlay style={style} onClick={onClick} /> : null,\n  );\n};\n\nAnimatedOverlay.propTypes = {\n  shouldShow: PropTypes.bool,\n  onClick: PropTypes.func,\n  className: PropTypes.string,\n};\n\nconst ModalContent = styled(animated.div)`\n  position: absolute;\n  top: 0;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  z-index: 2;\n  width: 100%;\n  height: 100%;\n  margin: 0 auto;\n  pointer-events: none;\n\n  & > * {\n    pointer-events: all;\n  }\n`;\n\nconst ModalFrame = styled.div`\n  position: fixed;\n  top: var(--top-bar-height, 0);\n  bottom: 0;\n  left: 0;\n  right: 0;\n  padding: 0;\n  margin: 0;\n  width: 100vw;\n  overflow-x: hidden;\n  overflow-y: auto;\n  z-index: ${(props) => props.theme.zindexModal};\n`;\n\nconst StyledCloseButton = styled.button`\n  position: absolute;\n  top: 1rem;\n  right: 1rem;\n  padding: 0;\n  color: ${(props) => props.theme.text700};\n  z-index: 1;\n  background-color: transparent;\n  border: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n`;\n\nexport const ModalCloseButton = ({ onClose, size = \"2rem\", ...rest }) => {\n  if (!onClose) {\n    return null;\n  }\n\n  return (\n    <StyledCloseButton\n      {...rest}\n      onClick={onClose}\n      aria-label=\"Fermer la modale\"\n    >\n      <RawFeatherIcon name=\"x\" width={size} height={size} />\n    </StyledCloseButton>\n  );\n};\n\nModalCloseButton.propTypes = {\n  onClose: PropTypes.func,\n  size: PropTypes.string,\n};\n\nconst Modal = (props) => {\n  const {\n    shouldShow = false,\n    children,\n    onClose,\n    noScroll,\n    className,\n    disableFocusTrap,\n  } = props;\n\n  const modalRef = useDisableBodyScroll(noScroll, shouldShow);\n  const modalContentRef = useFocusTrap(shouldShow);\n\n  const transitions = useTransition(shouldShow, slideInTransition);\n\n  const modalParent = useMemo(() => {\n    const modalParent = document.createElement(\"div\");\n    modalParent.className = \"modal-root\";\n    document.body.appendChild(modalParent);\n\n    return modalParent;\n  }, []);\n\n  useEffect(\n    () => () => {\n      modalParent && document.body.removeChild(modalParent);\n    },\n    [modalParent],\n  );\n\n  return createPortal(\n    transitions((style, item) =>\n      item ? (\n        <ModalFrame ref={modalRef} className={className}>\n          <AnimatedOverlay onClick={onClose} shouldShow={shouldShow} />\n          <ModalContent\n            {...(!disableFocusTrap ? { ref: modalContentRef } : {})}\n            style={style}\n            aria-modal=\"true\"\n            role=\"dialog\"\n          >\n            {children}\n          </ModalContent>\n        </ModalFrame>\n      ) : null,\n    ),\n    modalParent,\n  );\n};\nModal.propTypes = {\n  shouldShow: PropTypes.bool,\n  children: PropTypes.node,\n  onClose: PropTypes.func,\n  noScroll: PropTypes.bool,\n};\n\nexport default Modal;\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useTransition, animated } from \"@react-spring/web\";\nimport styled from \"styled-components\";\n\nimport closeButton from \"./images/close-btn.svg\";\n\nconst fadeInTransition = {\n  from: { opacity: 0 },\n  enter: { opacity: 1 },\n  leave: { opacity: 0 },\n  delay: 200,\n};\n\nconst CloseButton = styled.button`\n  position: absolute;\n  top: 0;\n  right: 0;\n  transform: translate(50%, -50%);\n  width: 24px;\n  height: 24px;\n  background-color: transparent;\n  border: none;\n  background-image: url(${closeButton});\n  background-repeat: no-repeat;\n  background-position: center center;\n  cursor: pointer;\n`;\n\nconst BaseTooltip = styled(animated.p)`\n  position: absolute;\n  width: 224px;\n  background-color: ${(props) => props.theme.text1000};\n  color: ${(props) => props.theme.background0};\n  padding: 1rem;\n  display: flex;\n  flex-flow: column nowrap;\n  font-size: 13px;\n  line-height: 1.3;\n  text-align: left;\n\n  strong {\n    font-size: 14px;\n  }\n\n  &:after {\n    content: \"\";\n    position: absolute;\n    border-style: solid;\n  }\n`;\n\nconst Tooltips = {\n  \"top-center\": styled(BaseTooltip)`\n    top: -10px;\n    left: 50%;\n    transform: translate(-50%, -100%);\n\n    &:after {\n      top: 100%;\n      right: 50%;\n      transform: translateX(3px);\n      border-width: 8px 6px 0 6px;\n      border-color: ${(props) => props.theme.text1000} transparent transparent\n        transparent;\n    }\n  `,\n  \"top-left\": styled(BaseTooltip)`\n    top: -10px;\n    right: 0;\n    transform: translate(-26px, -100%);\n\n    &:after {\n      top: 100%;\n      right: 0;\n      margin-left: -4px;\n      border-width: 4px;\n      border-color: ${(props) => props.theme.text1000}\n        ${(props) => props.theme.text1000} transparent transparent;\n    }\n  `,\n  \"top-right\": styled(BaseTooltip)`\n    top: -10px;\n    left: 0;\n    transform: translate(26px, -100%);\n\n    &:after {\n      top: 100%;\n      left: 0;\n      border-width: 4px;\n      border-color: ${(props) => props.theme.text1000} transparent transparent\n        ${(props) => props.theme.text1000};\n    }\n  `,\n};\n\nexport const TooltipContainer = (props) => {\n  const { shouldShow, onClose, position = \"top-center\", children } = props;\n  const tooltipTransition = useTransition(shouldShow, fadeInTransition);\n  const Tooltip = React.useMemo(() => Tooltips[position], [position]);\n  return tooltipTransition((style, item) =>\n    item ? (\n      <Tooltip style={style} position={position}>\n        {children}\n        {onClose ? <CloseButton aria-label=\"Cacher\" onClick={onClose} /> : null}\n      </Tooltip>\n    ) : null,\n  );\n};\nTooltipContainer.propTypes = {\n  position: PropTypes.oneOf(Object.keys(Tooltips)),\n  shouldShow: PropTypes.bool,\n  onClose: PropTypes.func,\n  children: PropTypes.node,\n};\n\nexport default TooltipContainer;\n","import PushModal from \"./PushModal\";\n\nexport default PushModal;\n","import onDOMReady from \"@agir/lib/utils/onDOMReady\";\n\nfunction selectAllWhenFocusing(e) {\n  e.target.setSelectionRange(0, e.target.value.length);\n}\n\nfunction setUpCopyBoxes() {\n  const copyboxes = document.querySelectorAll(\".copybox\");\n\n  Array.prototype.map.call(copyboxes, function (copybox) {\n    copybox.addEventListener(\"focus\", selectAllWhenFocusing);\n\n    if (navigator.clipboard) {\n      const button = document.createElement(\"button\");\n      button.className = \"btn btn-default\";\n      button.innerHTML = '<i class=\"fa fa-copy\"></i>';\n      const buttonContainer = document.createElement(\"span\");\n      buttonContainer.classList.add(\"input-group-btn\");\n      buttonContainer.appendChild(button);\n      copybox.parentNode.appendChild(buttonContainer);\n      button.addEventListener(\"click\", function () {\n        navigator.clipboard.writeText(copybox.value);\n      });\n    }\n  });\n}\n\nonDOMReady(setUpCopyBoxes);\n","import React from \"react\";\n\nimport onDOMReady from \"@agir/lib/utils/onDOMReady\";\nimport { renderReactComponent } from \"@agir/lib/utils/react\";\n\nimport GlobalContextProvider from \"@agir/front/globalContext/GlobalContext\";\nimport PushModal from \"@agir/front/allPages/PushModal\";\nimport FeedbackButton from \"@agir/front/allPages/FeedbackButton\";\nimport TopBar from \"@agir/front/allPages/TopBar\";\nimport SWRContext from \"@agir/front/allPages/SWRContext\";\nimport { MemoryRouter } from \"react-router-dom\";\n\nconst renderLegacyPageComponents = () => {\n  let renderElement = document.getElementById(\"mainApp\");\n  if (!renderElement) {\n    renderElement = document.createElement(\"div\");\n    renderElement.id = \"mainApp\";\n    document.body.appendChild(renderElement);\n  }\n  const hideFeedbackButton =\n    !!window?.Agir?.hideFeedbackButton ||\n    document.querySelectorAll(\"form[method='post']\")?.length > 0;\n\n  renderReactComponent(\n    <SWRContext>\n      <GlobalContextProvider colorScheme=\"light\">\n        <MemoryRouter forceRefresh>\n          <TopBar hideBannerDownload />\n          <PushModal isActive />\n          {hideFeedbackButton ? null : <FeedbackButton />}\n        </MemoryRouter>\n      </GlobalContextProvider>\n    </SWRContext>,\n    renderElement,\n  );\n};\n\nonDOMReady(renderLegacyPageComponents);\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\nvar apply = require('../internals/function-apply');\nvar fails = require('../internals/fails');\n\nvar $TypeError = TypeError;\n\n// https://bugs.webkit.org/show_bug.cgi?id=291651\nvar FAILS_ON_INITIAL_UNDEFINED = fails(function () {\n  // eslint-disable-next-line es/no-iterator-prototype-reduce, es/no-array-prototype-keys, array-callback-return -- required for testing\n  [].keys().reduce(function () { /* empty */ }, undefined);\n});\n\nvar reduceWithoutClosingOnEarlyError = !FAILS_ON_INITIAL_UNDEFINED && iteratorHelperWithoutClosingOnEarlyError('reduce', $TypeError);\n\n// `Iterator.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.reduce\n$({ target: 'Iterator', proto: true, real: true, forced: FAILS_ON_INITIAL_UNDEFINED || reduceWithoutClosingOnEarlyError }, {\n  reduce: function reduce(reducer /* , initialValue */) {\n    anObject(this);\n    try {\n      aCallable(reducer);\n    } catch (error) {\n      iteratorClose(this, 'throw', error);\n    }\n\n    var noInitial = arguments.length < 2;\n    var accumulator = noInitial ? undefined : arguments[1];\n    if (reduceWithoutClosingOnEarlyError) {\n      return apply(reduceWithoutClosingOnEarlyError, this, noInitial ? [reducer] : [reducer, accumulator]);\n    }\n    var record = getIteratorDirect(this);\n    var counter = 0;\n    iterate(record, function (value) {\n      if (noInitial) {\n        noInitial = false;\n        accumulator = value;\n      } else {\n        accumulator = reducer(accumulator, value, counter);\n      }\n      counter++;\n    }, { IS_RECORD: true });\n    if (noInitial) throw new $TypeError('Reduce of empty iterator with no initial value');\n    return accumulator;\n  }\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.iterator.reduce');\n","import useSWR from '../index/index.mjs';\nimport { withMiddleware } from '../_internal/index.mjs';\n\nconst immutable = (useSWRNext)=>(key, fetcher, config)=>{\n        // Always override all revalidate options.\n        config.revalidateOnFocus = false;\n        config.revalidateIfStale = false;\n        config.revalidateOnReconnect = false;\n        config.refreshInterval = 0;\n        return useSWRNext(key, fetcher, config);\n    };\nconst useSWRImmutable = withMiddleware(useSWR, immutable);\n\nexport { useSWRImmutable as default, immutable };\n"],"names":["allPages_FeedbackButton","routes","useSelector","getRoutes","href","feedbackForm","isMobileApp","useMobileApp","React","ConnectedFloatButton","background","content","slideInTransition","from","opacity","marginBottom","enter","leave","Button","styled","a","$background","css","props","theme","secondary500","secondary600","Wrapper","animated","div","collapse","FloatButton","isActive","shouldPushTooltip","icon","label","hasTooltip","setHasTooltip","useState","hideTooltip","useCallback","showTooltip","pushTooltip","useTransition","_objectSpread","onRest","wrapperTransition","style","item","Tooltip","position","shouldShow","onClose","undefined","onMouseOver","onMouseLeave","className","__WEBPACK_DEFAULT_EXPORT__","user","getUser","visitCount","setVisitCount","useLocalStorage","setShouldPushTooltip","useEffectOnce","count","_extends","ENDPOINT","login","checkCode","logout","signUp","getProfile","getProfileOptions","updateProfile","async","result","data","error","url","response","axios","get","e","message","next","formData","email","trim","location_zip","postalCode","location_country","country","post","non_field_errors","global","success","body","status","code","patch","paddingTop","fadeInTransition","Overlay","onClick","AnimatedOverlay","transitions","ModalContent","ModalFrame","zindexModal","StyledCloseButton","button","text700","children","noScroll","disableFocusTrap","modalRef","useDisableBodyScroll","modalContentRef","useFocusTrap","modalParent","useMemo","document","createElement","appendChild","useEffect","removeChild","createPortal","ref","role","_ref","size","rest","_objectWithoutProperties","_excluded","RawFeatherIcon","name","width","height","delay","CloseButton","closeButton","BaseTooltip","p","text1000","background0","Tooltips","tooltipTransition","allPages_PushModal","selectAllWhenFocusing","target","setSelectionRange","value","length","onDOMReady","renderLegacyPageComponents","_window","_document$querySelect","renderElement","getElementById","id","hideFeedbackButton","window","Agir","querySelectorAll","renderReactComponent","SWRContext","GlobalContextProvider","colorScheme","MemoryRouter","forceRefresh","TopBar","hideBannerDownload","PushModal","FeedbackButton","copyboxes","Array","prototype","map","call","copybox","addEventListener","navigator","clipboard","innerHTML","buttonContainer","classList","add","parentNode","writeText","$","__webpack_require__","iterate","aCallable","anObject","getIteratorDirect","iteratorClose","iteratorHelperWithoutClosingOnEarlyError","apply","fails","$TypeError","TypeError","FAILS_ON_INITIAL_UNDEFINED","keys","reduce","reduceWithoutClosingOnEarlyError","proto","real","forced","reducer","this","noInitial","arguments","accumulator","record","counter","IS_RECORD","useSWRImmutable","Ht","_index_index_mjs__WEBPACK_IMPORTED_MODULE_0__","Ay","useSWRNext","key","fetcher","config","revalidateOnFocus","revalidateIfStale","revalidateOnReconnect","refreshInterval"],"sourceRoot":""}