{"version":3,"file":"static/components/3812-750f44b99715184af76a.mjs?cv=7","mappings":"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","sources":["webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/lib/components/utils/url.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/globalContext/reducers.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/FeatherIcon.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/lib/components/utils/axios.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/activity/components/common/api.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/globalContext/actions/index.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/hooks/useMobileApp.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/lib/components/utils/dom.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/utils.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/hooks/useRoute.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/Link.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/globalContext/QueryStringParamsActions.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/globalContext/GlobalContext.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/Button/utils.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/authentication/common.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/Button/BaseButton.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/Button/SoutienButton.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/Button/Button.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/Button/index.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/routes.components.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/routes.config.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/activity/components/common/helpers.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/offline/hooks.js"],"sourcesContent":["export const parseURL = (url) =>\n  new URL(url, window.location && window.location.origin);\n\nexport const relativeToAbsoluteURL = ((a) => (url) => {\n  a.href = url;\n  return a.href;\n})(document.createElement(\"a\"));\n\nexport const stringifyQueryStringParams = (params = {}) => {\n  if (\n    !params ||\n    typeof params !== \"object\" ||\n    Object.keys(params).length === 0\n  ) {\n    return \"\";\n  }\n\n  return new URLSearchParams(\n    Object.entries(params).filter(([_, value]) => typeof value !== \"undefined\"),\n  ).toString();\n};\n\nexport const addQueryStringParams = (url, params = {}, relative = false) => {\n  if (!url) {\n    return \"\";\n  }\n  if (\n    !params ||\n    typeof params !== \"object\" ||\n    Object.keys(params).length === 0\n  ) {\n    return url;\n  }\n  try {\n    let parsedURL = url;\n    parsedURL = parseURL(url);\n    Object.entries(params).forEach(([key, value]) => {\n      if (typeof value !== \"undefined\") {\n        parsedURL.searchParams.set(key, value);\n      }\n    });\n    parsedURL = parsedURL.toString();\n    if (window?.location && relative) {\n      parsedURL = parsedURL.replace(window.location.origin, \"\");\n    }\n    return parsedURL;\n  } catch (e) {\n    return url;\n  }\n};\n\nexport const parseQueryStringParams = (url) => {\n  const params = Object.create(null);\n  let queryString = url ? url.split(\"?\")[1] : window.location.search.slice(1);\n  if (!queryString) {\n    return params;\n  }\n\n  queryString = queryString.split(\"#\")[0];\n  queryString.split(\"&\").forEach((entry) => {\n    // separate the keys and the values\n    let [key, value] = entry.split(\"=\");\n    value = typeof value === \"undefined\" ? true : value;\n\n    if (key.match(/\\[(\\d+)?\\]$/)) {\n      const name = key.replace(/\\[(\\d+)?\\]/, \"\");\n      params[name] = params[name] || [];\n      if (name.match(/\\[\\d+\\]$/)) {\n        var index = /\\[(\\d+)\\]/.exec(key)[1];\n        params[name][index] = value;\n      } else {\n        params[name].push(value);\n      }\n    } else {\n      if (!params[key]) {\n        params[key] = value;\n      } else if (params[key] && typeof params[key] === \"string\") {\n        params[key] = [params[key]];\n        params[key].push(value);\n      } else {\n        params[key].push(value);\n      }\n    }\n  });\n\n  return params;\n};\n\nexport const slugify = (string, separator = \"-\") => {\n  separator = separator.trim();\n  return (\n    string\n      .toString()\n      .normalize(\"NFD\")\n      .toLowerCase()\n      // remove all chars not letters, numbers, current separator and spaces (to be replaced)\n      .replace(new RegExp(`[^a-z0-9${separator} ]`, \"g\"), \"\")\n      .trim()\n      .replace(/\\s+/g, separator)\n  );\n};\n","import shortUUID from \"short-uuid\";\nimport ACTION_TYPE from \"@agir/front/globalContext/actionTypes\";\n\nimport { AUTHENTICATION } from \"@agir/front/authentication/common\";\n\nexport const hasRouter = (state = false, action) => {\n  if (action.type === ACTION_TYPE.INIT_ACTION) {\n    return !!action.hasRouter;\n  }\n  return state;\n};\n\nexport const isSessionLoaded = (state = false, action) => {\n  if (action.type === ACTION_TYPE.SET_SESSION_CONTEXT_ACTION) {\n    return true;\n  }\n  return state;\n};\n\nexport const isPoliticalSupport = (state = false, action) => {\n  if (action.type === ACTION_TYPE.SET_SESSION_CONTEXT_ACTION) {\n    return !!action.user && action.user.isPoliticalSupport;\n  }\n  if (action.type === ACTION_TYPE.SET_IS_POLITICAL_SUPPORT_ACTION) {\n    return true;\n  }\n  return state;\n};\n\nexport const user = (state = null, action) => {\n  if (action.type === ACTION_TYPE.SET_SESSION_CONTEXT_ACTION) {\n    return action.user;\n  }\n  return state;\n};\n\nexport const authentication = (state = AUTHENTICATION.NONE, action) => {\n  if (action.type === ACTION_TYPE.SET_SESSION_CONTEXT_ACTION) {\n    return action.authentication || state;\n  }\n  return state;\n};\n\nexport const bookmarkedEmails = (state = [], action) => {\n  if (action.type === ACTION_TYPE.SET_SESSION_CONTEXT_ACTION) {\n    return action.bookmarkedEmails || state;\n  }\n  return state;\n};\n\nexport const routes = (state = {}, action) => {\n  if (\n    action.type === ACTION_TYPE.INIT_ACTION ||\n    action.type === ACTION_TYPE.SET_SESSION_CONTEXT_ACTION\n  ) {\n    // Merge state and action payload since different actions can define different route properties.\n    return {\n      ...state,\n      ...(action.routes || {}),\n    };\n  }\n  return state;\n};\n\nexport const toasts = (state = [], action) => {\n  if (\n    action.type === ACTION_TYPE.INIT_ACTION ||\n    action.type === ACTION_TYPE.SET_SESSION_CONTEXT_ACTION ||\n    action.type === ACTION_TYPE.ADD_TOASTS\n  ) {\n    if (!Array.isArray(action.toasts)) {\n      return state;\n    }\n    const newState = [...state];\n    action.toasts.forEach((toast) => {\n      if (toast.toastId && newState.some((t) => t.toastId === toast.toastId)) {\n        return;\n      }\n      newState.push({\n        toastId: toast.toastId || shortUUID.generate(),\n        ...toast,\n      });\n    });\n    return newState;\n  }\n  if (action.type === ACTION_TYPE.CLEAR_TOAST) {\n    return state.filter(({ toastId }) => toastId !== action.toastId);\n  }\n  if (action.type === ACTION_TYPE.CLEAR_ALL_TOASTS) {\n    return [];\n  }\n  return state;\n};\n\nexport const pageTitle = (state = \"\", action) => {\n  if (action.type === ACTION_TYPE.SET_PAGE_TITLE) {\n    return action.title || \"\";\n  }\n  return state;\n};\n\nexport const backLink = (state = null, action) => {\n  if (action.type === ACTION_TYPE.INIT_ACTION) {\n    return action.backLink || state;\n  }\n  if (action.type === ACTION_TYPE.SET_BACK_LINK_ACTION) {\n    return action.backLink || null;\n  }\n  return state;\n};\n\nexport const topBarRightLink = (state = null, action) => {\n  if (action.type === ACTION_TYPE.INIT_ACTION) {\n    return action.topBarRightLink || state;\n  }\n  if (action.type === ACTION_TYPE.SET_TOP_BAR_RIGHT_LINK_ACTION) {\n    return action.topBarRightLink || null;\n  }\n  return state;\n};\n\nexport const adminLink = (state = null, action) => {\n  if (action.type === ACTION_TYPE.INIT_ACTION) {\n    return action.adminLink || state;\n  }\n  if (action.type === ACTION_TYPE.SET_ADMIN_LINK_ACTION) {\n    return action.adminLink || null;\n  }\n  return state;\n};\n\nexport const messages = (state = {}, action) => {\n  switch (action.type) {\n    case ACTION_TYPE.SET_MESSAGES_ACTION: {\n      if (!Array.isArray(action.messages)) {\n        return state;\n      }\n      const newState = { ...state };\n      action.messages.forEach((message) => {\n        newState[message.id] =\n          typeof newState[message.id] === \"undefined\"\n            ? message\n            : newState[message.id];\n      });\n      return newState;\n    }\n    case ACTION_TYPE.CLEAR_MESSAGES_ACTION:\n      return {};\n    case ACTION_TYPE.SET_MESSAGE_ACTION: {\n      return action.message\n        ? {\n            [action.message.id]: action.message,\n          }\n        : {};\n    }\n    case ACTION_TYPE.CREATED_MESSAGE_ACTION: {\n      return !action.error && action.message && action.message.id\n        ? { [action.message.id]: action.message, ...state }\n        : state;\n    }\n    case ACTION_TYPE.UPDATED_MESSAGE_ACTION: {\n      if (!action.error && action.message && action.message.id) {\n        const newState = { ...state };\n        newState[action.message.id] = action.message;\n        return newState;\n      }\n      return state;\n    }\n    case ACTION_TYPE.DELETED_MESSAGE_ACTION: {\n      if (!action.error && action.message && action.message.id) {\n        const newState = { ...state };\n        newState[action.message.id] = null;\n        return newState;\n      }\n      return state;\n    }\n    case ACTION_TYPE.CREATED_COMMENT_ACTION: {\n      if (\n        !action.error &&\n        action.message &&\n        action.message.id &&\n        action.comment\n      ) {\n        const newState = { ...state };\n        const newMessage = newState[action.message.id];\n        if (newMessage) {\n          newState[newMessage.id] = {\n            ...newMessage,\n            lastUpdate: Date.now(),\n            comments: Array.isArray(newMessage.comments)\n              ? [...newMessage.comments, action.comment]\n              : [...newMessage.recentComments, action.comment],\n          };\n          if (typeof newState[newMessage.id].commentCount === \"number\") {\n            newState[newMessage.id].commentCount += 1;\n          }\n        }\n        return newState;\n      }\n      return state;\n    }\n    case ACTION_TYPE.DELETED_COMMENT_ACTION: {\n      if (\n        !action.error &&\n        action.message &&\n        action.message.id &&\n        action.comment\n      ) {\n        const newState = { ...state };\n        const newMessage = newState[action.message.id];\n        if (newMessage) {\n          newState[newMessage.id] = {\n            ...newMessage,\n            lastUpdate: Date.now(),\n            comments: Array.isArray(newMessage.comments)\n              ? newMessage.comments\n              : newMessage.recentComments,\n          };\n          newState[newMessage.id].comments = newState[\n            newMessage.id\n          ].comments.filter((c) => c.id !== action.comment.id);\n          if (typeof newState[newMessage.id].commentCount === \"number\") {\n            newState[newMessage.id].commentCount -= 1;\n          }\n        }\n        return newState;\n      }\n      return state;\n    }\n    default:\n      return state;\n  }\n};\n\nexport const isLoadingMessages = (state = false, action) => {\n  switch (action.type) {\n    case ACTION_TYPE.LOADING_MESSAGES_ACTION:\n    case ACTION_TYPE.REFRESHING_MESSAGES_ACTION:\n      return true;\n    case ACTION_TYPE.SET_MESSAGES_ACTION:\n    case ACTION_TYPE.SET_MESSAGE_ACTION:\n    case ACTION_TYPE.REFRESHED_MESSAGES_ACTION:\n      return false;\n    default:\n      return state;\n  }\n};\nexport const isUpdatingMessages = (state = false, action) => {\n  switch (action.type) {\n    case ACTION_TYPE.CREATING_MESSAGE_ACTION:\n    case ACTION_TYPE.UPDATING_MESSAGE_ACTION:\n    case ACTION_TYPE.DELETING_MESSAGE_ACTION:\n    case ACTION_TYPE.REPORTING_MESSAGE_ACTION:\n    case ACTION_TYPE.CREATING_COMMENT_ACTION:\n    case ACTION_TYPE.DELETING_COMMENT_ACTION:\n    case ACTION_TYPE.REPORTING_COMMENT_ACTION:\n      return true;\n    case ACTION_TYPE.CREATED_MESSAGE_ACTION:\n    case ACTION_TYPE.UPDATED_MESSAGE_ACTION:\n    case ACTION_TYPE.DELETED_MESSAGE_ACTION:\n    case ACTION_TYPE.REPORTED_MESSAGE_ACTION:\n    case ACTION_TYPE.CREATED_COMMENT_ACTION:\n    case ACTION_TYPE.DELETED_COMMENT_ACTION:\n    case ACTION_TYPE.REPORTED_COMMENT_ACTION:\n      return false;\n    default:\n      return state;\n  }\n};\n\nexport const getHasRouter = (state) => state.hasRouter;\n\nexport const getIsSessionLoaded = (state) => state.isSessionLoaded;\n\nexport const getisPoliticalSupport = (state) => state.isPoliticalSupport;\n\nexport const getUser = (state) => state.user;\nexport const getIsConnected = (state) => !!state.user;\nexport const getAuthentication = (state) => state.authentication;\nexport const getBookmarkedEmails = (state) => state.bookmarkedEmails;\n\nexport const getRoutes = (state) => state.routes;\nexport const getRouteById = (state, id) => state.routes[id] || null;\n\nexport const getToasts = (state) => state.toasts;\n\nexport const getPageTitle = (state) => state.pageTitle;\n\nexport const getBackLink = (state) => {\n  if (!state.backLink) return null;\n  if (state.backLink.isProtected && state.isSessionLoaded && !state.user)\n    return null;\n  return state.backLink;\n};\n\nexport const getTopBarRightLink = (state) => {\n  if (!state.topBarRightLink) return null;\n  if (state.topBarRightLink.isProtected && state.isSessionLoaded && !state.user)\n    return null;\n  return state.topBarRightLink;\n};\n\nexport const getAdminLink = (state) => {\n  if (!state.adminLink) return null;\n  return state.adminLink;\n};\n\nexport const getMessages = (state) =>\n  Object.values(state.messages).filter(Boolean);\nexport const getMessageById = (state, id) =>\n  (state.messages && state.messages[id]) || null;\nexport const getIsLoadingMessages = (state) => state.isLoadingMessages;\nexport const getIsUpdatingMessages = (state) => state.isUpdatingMessages;\n\n// Root reducer\nconst reducers = {\n  hasRouter,\n  isSessionLoaded,\n  isPoliticalSupport,\n  user,\n  authentication,\n  bookmarkedEmails,\n  routes,\n  toasts,\n  pageTitle,\n  backLink,\n  topBarRightLink,\n  adminLink,\n  messages,\n  isLoadingMessages,\n  isUpdatingMessages,\n};\nconst rootReducer = (state, action) => {\n  let newState = state;\n  Object.keys(reducers).forEach((key) => {\n    const currentValue = newState[key];\n    const reducer = reducers[key];\n    const nextValue =\n      typeof reducer === \"function\" ? reducer(currentValue, action) : reducer;\n    if (nextValue !== currentValue) {\n      newState = {\n        ...newState,\n        [key]: nextValue,\n      };\n    }\n  });\n  return newState;\n};\n\nexport default rootReducer;\n","import { icons } from \"feather-icons\";\nimport isPropValid from \"@emotion/is-prop-valid\";\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport styled from \"styled-components\";\n\nconst getIconDataUrl = (icon) =>\n  icon && icons[icon]\n    ? `url('data:image/svg+xml;utf8,${icons[icon].toSvg({\n        height: 16,\n        color: \"grey\",\n      })}')`\n    : \"\";\n\nexport const allIcons = Object.keys(icons);\n\nexport const RawFeatherIcon = styled.span\n  .withConfig({\n    shouldForwardProp: isPropValid,\n  })\n  .attrs(\n    ({ name, strokeWidth, color, strokeLinecap, strokeLinejoin, svgStyle }) => {\n      const attrs = {\n        name,\n        \"stroke-width\": strokeWidth,\n        \"stroke-linecap\": strokeLinecap,\n        \"stroke-linejoin\": strokeLinejoin,\n      };\n      Object.keys(attrs).map((k) => attrs[k] === undefined && delete attrs[k]);\n\n      if (svgStyle !== undefined) {\n        attrs.style = Object.keys(svgStyle)\n          .map((key) => {\n            const cssKey = key.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`);\n            return `${cssKey}:${svgStyle[key]}`;\n          })\n          .join(\";\");\n      }\n\n      return {\n        dangerouslySetInnerHTML: { __html: icons[name]?.toSvg(attrs) ?? \"\" },\n      };\n    },\n  )`\n  display: inline-flex;\n  align-items: center;\n\n  svg {\n    position: relative;\n    width: ${(props) => props.width};\n    height: ${(props) => props.height};\n    top: ${(props) => props.top};\n    color: ${(props) => (props.color ? props.theme[props.color] || props.color : \"currentcolor\")};\n  }\n`;\n\nRawFeatherIcon.propTypes = {\n  name: PropTypes.oneOf(allIcons),\n  color: PropTypes.string,\n  width: PropTypes.string,\n  height: PropTypes.string,\n  strokeWidth: PropTypes.number,\n  strokeLinecap: PropTypes.number,\n  strokeLinejoin: PropTypes.number,\n  style: PropTypes.objectOf(PropTypes.string),\n};\n\n/*\nLa taille de police de base est de 16 pixels.\nLes grands icônes doivent faire 24 pixels (1.5rem)\nLes petits icônes doivent faire 16 pixels (1rem)\n */\n\nconst FeatherIcon = ({ name, small, color, inline }) => {\n  // stroke dimensions\n  const strokeWidth = !small ? 2 : 1.33;\n\n  // positionning dimensions\n  const dimension = !small ? \"1.5rem\" : \"1rem\";\n\n  const top = inline ? (!small ? \"0.3rem\" : \"0.15rem\") : \"0\";\n\n  return (\n    <RawFeatherIcon\n      color={color}\n      name={name}\n      width={dimension}\n      height={dimension}\n      top={top}\n      strokeWidth={strokeWidth}\n    />\n  );\n};\nFeatherIcon.propTypes = {\n  name: PropTypes.oneOf(allIcons),\n  small: PropTypes.bool,\n  color: PropTypes.string,\n  inline: PropTypes.bool,\n};\n\nFeatherIcon.defaultProps = {\n  small: false,\n  inline: false,\n};\n\nFeatherIcon.RawFeatherIcon = RawFeatherIcon;\nFeatherIcon.allIcons = allIcons;\n\nexport default FeatherIcon;\n\nexport const IconList = styled.ul`\n  padding-left: 1.5rem;\n  margin-bottom: 0;\n`;\n\nexport const IconListItem = styled.li`\n  list-style: none;\n  position: relative;\n  margin-bottom: 0.5rem;\n\n  &:last-child {\n    margin-bottom: 0;\n  }\n\n  & > i,\n  &:before {\n    text-align: center;\n    width: 1.5rem;\n    height: 1rem;\n    position: absolute;\n    top: 0.15rem;\n    left: -1.75rem;\n    color: grey;\n  }\n\n  &:before {\n    // prettier-ignore\n    content: ${(props) => getIconDataUrl(props.name)};\n  }\n`;\n","import axios from \"axios\";\nimport Cookies from \"js-cookie\";\n\nconst client = axios.create({\n  xsrfCookieName: \"csrftoken\",\n  xsrfHeaderName: \"X-CSRFToken\",\n});\n\nlet CSRFPromise = null;\n\nfunction updateCSRF() {\n  if (CSRFPromise) {\n    return CSRFPromise;\n  }\n\n  CSRFPromise = client.get(\"/api/csrf/\");\n  return CSRFPromise;\n}\n\nclient.interceptors.request.use(async function (config) {\n  if (\n    !Cookies.get(\"csrftoken\") &&\n    config.url !== \"/api/csrf/\" &&\n    config.method !== \"get\"\n  ) {\n    await updateCSRF();\n  }\n\n  return config;\n});\n\nexport default client;\n","import { mutate } from \"swr\";\n\nimport axios from \"@agir/lib/utils/axios\";\nimport logger from \"@agir/lib/utils/logger\";\n\nimport { ACTIVITY_STATUS } from \"@agir/activity/common/helpers\";\n\nconst log = logger(__filename);\n\nexport const ENDPOINT = {\n  activities: \"/api/user/activities/?page=:page&page_size=:pageSize\",\n  activity: \"/api/activity/:activityId/\",\n  bulkUpdateActivityStatus: \"/api/activity/bulk/update-status/\",\n  setAllActivitiesRead: \"/api/activity/bulk/mark-all-read/\",\n  announcements: \"/api/announcements/\",\n  customAnnouncement: \"/api/user/announcements/custom/:slug/\",\n  unreadActivityCount: \"/api/user/activities/unread-count/\",\n};\n\nexport const getActivityEndpoint = (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 updateActivityStatus = async (\n  activityId,\n  status = ACTIVITY_STATUS.STATUS_INTERACTED,\n  fromPush = false,\n) => {\n  let result = false;\n  if (!activityId) {\n    return result;\n  }\n  const url = getActivityEndpoint(\"activity\", { activityId });\n  const data = fromPush ? { pushStatus: status } : { status };\n  let res = null;\n  try {\n    res = await axios.put(url, data);\n    result = !!res && res.status === 200;\n  } catch (e) {\n    log.debug(e);\n    result = false;\n  }\n\n  return result;\n};\n\nexport const setActivityAsInteracted = (activityId, fromPush) =>\n  updateActivityStatus(activityId, ACTIVITY_STATUS.STATUS_INTERACTED, fromPush);\n\nexport const setActivityAsDisplayed = (activityId) =>\n  updateActivityStatus(activityId, ACTIVITY_STATUS.STATUS_DISPLAYED);\n\nexport const setActivitiesAsDisplayed = async (ids = []) => {\n  let result = false;\n  if (!Array.isArray(ids) || ids.length === 0) {\n    return result;\n  }\n  const url = getActivityEndpoint(\"bulkUpdateActivityStatus\");\n  const data = {\n    status: ACTIVITY_STATUS.STATUS_DISPLAYED,\n    ids,\n  };\n  let res = null;\n  try {\n    res = await axios.post(url, data);\n    result = !!res && res.status === 204;\n  } catch (e) {\n    log.debug(e);\n    result = false;\n  }\n\n  return result;\n};\n\n// Set all activities @ids as read\nexport const setCurrentActivitiesAsRead = async (ids = []) => {\n  const success = await setActivitiesAsDisplayed(ids);\n  if (!success) return;\n\n  await mutate(\"/api/session/\", (session) => ({\n    ...session,\n    hasUnreadActivities: false,\n  }));\n};\n\n// Set all activities of user as read\nexport const setAllActivitiesAsRead = async () => {\n  let result = false;\n\n  const url = getActivityEndpoint(\"setAllActivitiesRead\");\n\n  try {\n    let res = await axios.get(url);\n    result = !!res && res.status === 204;\n  } catch (e) {\n    log.debug(e);\n    result = false;\n  }\n\n  if (!result) return;\n\n  mutate(\"/api/session/\", (session) => ({\n    ...session,\n    hasUnreadActivities: false,\n  }));\n\n  return result;\n};\n","import ACTION_TYPE from \"@agir/front/globalContext/actionTypes\";\nimport nonReactRoutes from \"@agir/front/globalContext/nonReactRoutes.config\";\n\nexport const init = (hasRouter = false) => {\n  let globalContextData = {\n    hasRouter,\n    routes: nonReactRoutes,\n  };\n\n  return {\n    type: ACTION_TYPE.INIT_ACTION,\n    ...globalContextData,\n  };\n};\n\nexport const setSessionContext = (data) => ({\n  type: ACTION_TYPE.SET_SESSION_CONTEXT_ACTION,\n  ...data,\n});\n\nexport const setisPoliticalSupport = () => ({\n  type: ACTION_TYPE.SET_IS_POLITICAL_SUPPORT_ACTION,\n});\n\n// TOASTS\nexport const addToasts = (toasts = []) => ({\n  type: ACTION_TYPE.ADD_TOASTS,\n  toasts: Array.isArray(toasts) ? toasts : [toasts],\n});\nexport const clearToast = (toastId) => ({\n  type: ACTION_TYPE.CLEAR_TOAST,\n  toastId,\n});\nexport const clearAllToasts = () => ({\n  type: ACTION_TYPE.CLEAR_ALL_TOASTS,\n});\n\n// PAGE TITLE\nexport const setPageTitle = (title) => ({\n  type: ACTION_TYPE.SET_PAGE_TITLE,\n  title,\n});\n\n// BACK LINK\nexport const setBackLink = (backLink) => ({\n  type: ACTION_TYPE.SET_BACK_LINK_ACTION,\n  backLink,\n});\n\n// TOP BAR RIGHT LINK\nexport const setTopBarRightLink = (topBarRightLink) => ({\n  type: ACTION_TYPE.SET_TOP_BAR_RIGHT_LINK_ACTION,\n  topBarRightLink,\n});\n\n// ADMIN LINK\nexport const setAdminLink = (adminLink) => ({\n  type: ACTION_TYPE.SET_ADMIN_LINK_ACTION,\n  adminLink,\n});\n\nconst createDispatch = (dispatchFunction) => (action) => {\n  if (typeof action === \"function\") {\n    return action(dispatchFunction);\n  }\n  return dispatchFunction(action);\n};\n\nexport default createDispatch;\n","import { useLocalStorage } from \"@agir/lib/utils/hooks\";\nimport { parseQueryStringParams } from \"@agir/lib/utils/url\";\n\n/**\n * Custom hook to check if current page is inside a iOS or Android app webview\n * based on current or past URL querystring params [ios=[0|1], android=[0|1]]\n * @return {object} the result object\n * @property {boolean} isIOS - the page is inside an iOS app webview\n * @property {boolean} isAndroid - the page is inside an Android app webview\n * @property {boolean} isMobileApp - the page is inside an app webview\n */\nexport const useMobileApp = () => {\n  const [isAndroid, setIsAndroid] = useLocalStorage(\"AP_isAndroid\", \"0\");\n  const [isIOS, setIsIOS] = useLocalStorage(\"AP_isIOS\", \"0\");\n  const params = parseQueryStringParams();\n\n  const ios = isIOS === \"1\" || params.ios === \"1\";\n  const android = isAndroid === \"1\" || params.android === \"1\";\n\n  return {\n    isIOS: ios,\n    isAndroid: android,\n    isMobileApp: ios || android\n  };\n};","export const getScrollableParent = (element) => {\n  if (element === window) {\n    return element;\n  }\n\n  const regex = /(auto|scroll)/;\n  const parents = (_node, ps) => {\n    if (_node.parentNode === null) {\n      return ps;\n    }\n    return parents(_node.parentNode, ps.concat([_node]));\n  };\n\n  const style = (_node, prop) =>\n    getComputedStyle(_node, null).getPropertyValue(prop);\n  const overflow = (_node) =>\n    style(_node, \"overflow\") +\n    style(_node, \"overflow-y\") +\n    style(_node, \"overflow-x\");\n  const scroll = (_node) => regex.test(overflow(_node));\n\n  const scrollParent = (_node) => {\n    if (!(_node instanceof HTMLElement || _node instanceof SVGElement)) {\n      return;\n    }\n\n    const ps = parents(_node.parentNode, []);\n\n    for (let i = 0; i < ps.length; i += 1) {\n      if (scroll(ps[i])) {\n        return ps[i];\n      }\n    }\n\n    return document.scrollingElement || document.documentElement;\n  };\n\n  return scrollParent(element);\n};\n\nconst INTERACTIVE_ELEMENT = {\n  A: (element) => element.hasAttribute(\"href\"),\n  AUDIO: (element) => element.hasAttribute(\"controls\"),\n  BUTTON: true,\n  DETAILS: true,\n  EMBED: true,\n  IFRAME: true,\n  KEYGEN: true,\n  LABEL: true,\n  SELECT: true,\n  TEXTAREA: true,\n  VIDEO: (element) => element.hasAttribute(\"controls\"),\n};\n\nexport function isInteractiveElement(element) {\n  const { nodeName } = element;\n  if (element instanceof HTMLInputElement && element.type !== \"hidden\") {\n    return true;\n  }\n  if (element.hasAttribute(\"tabindex\") && element.tabIndex > -1) {\n    return true;\n  }\n  if (!INTERACTIVE_ELEMENT[nodeName]) {\n    return false;\n  }\n  if (typeof INTERACTIVE_ELEMENT[nodeName] === \"function\") {\n    return INTERACTIVE_ELEMENT[nodeName](element);\n  }\n  return INTERACTIVE_ELEMENT[nodeName] === true;\n}\n\nexport const handleEventExceptForInteractiveChild = (event, callback) => {\n  if (!callback) {\n    return;\n  }\n  for (\n    let target = event.target;\n    target !== event.currentTarget;\n    target = target.parentElement\n  ) {\n    if (isInteractiveElement(target)) {\n      return;\n    }\n  }\n  callback(event);\n};\n","import React, { lazy as reactLazy, useEffect, useMemo, useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useIsOffline } from \"@agir/front/offline/hooks\";\nimport { getScrollableParent } from \"@agir/lib/utils/dom\";\n\nexport const lazy = (lazyImport, fallback) => {\n  const LazyComponent = (props) => {\n    const isOffline = useIsOffline();\n    const [error, setError] = useState(null);\n\n    const Lazy = useMemo(\n      () =>\n        reactLazy(async () => {\n          try {\n            return await lazyImport();\n          } catch (err) {\n            if (err.name !== \"ChunkLoadError\") {\n              if (err instanceof Error) {\n                throw err;\n              }\n              const message = err?.message\n                ? err.message\n                : typeof err === \"string\"\n                  ? err\n                  : \"Lazy loading failed.\";\n              throw new Error(message);\n            }\n            setError(err.toString());\n            const Fallback = () =>\n              typeof fallback !== \"undefined\" ? (\n                fallback\n              ) : (\n                <div>\n                  <h2>Erreur</h2>\n                  <p>\n                    {process.env.NODE_ENV === \"production\"\n                      ? \"Nous n'avons pas pu charger cette page.\"\n                      : err.toString()}\n                  </p>\n                </div>\n              );\n            return {\n              default: Fallback,\n            };\n          }\n        }),\n      //eslint-disable-next-line\n      [lazyImport, error, fallback],\n    );\n\n    useEffect(() => {\n      error && !isOffline && setError(null);\n    }, [error, isOffline]);\n\n    return <Lazy {...props} />;\n  };\n\n  LazyComponent.displayName = `LazyComponent`;\n  LazyComponent.preload = async () => {\n    try {\n      return await lazyImport();\n    } catch (err) {\n      if (err.name !== \"ChunkLoadError\" && err instanceof Error) {\n        throw err;\n      }\n    }\n  };\n\n  return LazyComponent;\n};\n\nexport const scrollToElement = (\n  targetElement,\n  scrollerElement,\n  marginTop = 30,\n) => {\n  if (!targetElement || !scrollerElement) {\n    return;\n  }\n\n  const scrollableElement = getScrollableParent(scrollerElement);\n\n  targetElement &&\n    scrollableElement &&\n    scrollableElement.scrollTo({\n      top: targetElement.offsetTop - marginTop,\n      behavior: \"smooth\",\n    });\n};\n\nexport function getFirstElementFromError(errors) {\n  const keys = Object.entries(errors)\n      .filter(([_, v]) => !!v)\n      .map(([k]) => k);\n\n  let errorElement = null;\n  for (let i = 0; i < keys.length; i += 1) {\n    let elt = document.querySelector(\n        `[data-scroll=\"${keys[i]}\"], [name=\"${keys[i]}\"]`,\n    );\n    if (!elt) {\n      continue;\n    }\n    if (!errorElement) {\n      errorElement = elt;\n      continue;\n    }\n    if (elt.getBoundingClientRect().top < errorElement.getBoundingClientRect().top) {\n      errorElement = elt;\n    }\n  }\n  return errorElement\n}\n\nexport const scrollToError = (errors, scrollerElement, marginTop = 30) => {\n  if (!errors) {\n    return;\n  }\n\n  if (!scrollerElement || !Object.values(errors).some(Boolean)) {\n    return;\n  }\n\n  scrollToElement(getFirstElementFromError(errors), scrollerElement, marginTop);\n};\n\nexport const useCurrentLocation = () => {\n  const [pathname, setPathname] = useState(window.location.pathname);\n  const history = useHistory();\n\n  useEffect(() => {\n    history?.listen((location) => {\n      setPathname(location.pathname);\n    }) || setPathname(window.location.pathname);\n  }, [history]);\n\n  return pathname;\n};\n","import { getRouteByPathname, routeConfig } from \"@agir/front/app/routes.config\";\nimport { useSelector } from \"@agir/front/globalContext/GlobalContext\";\nimport { getHasRouter, getRoutes } from \"@agir/front/globalContext/reducers\";\n\n\nexport const useRoute = (route, routeParams) => {\n  const routes = useSelector(getRoutes);\n  const hasRouter = useSelector(getHasRouter);\n\n  if (!route) {\n    return {\n      route: null,\n      isInternal: false,\n    };\n  }\n\n  if (routes && routes[route]) {\n    return {\n      url: routes[route],\n      isInternal: !!hasRouter && !!getRouteByPathname(routes[route]),\n    };\n  }\n\n  if (routeConfig[route]) {\n    return {\n      url: routeParams\n        ? routeConfig[route].getLink(routeParams)\n        : routeConfig[route].getLink(),\n      isInternal: !!hasRouter,\n    };\n  }\n\n  return {\n    url: route,\n    isInternal: false,\n  };\n};\n","import PropTypes from \"prop-types\";\nimport React, { useMemo } from \"react\";\nimport { Link as RouterLink } from \"react-router-dom\";\n\nimport { routeConfig } from \"@agir/front/app/routes.config\";\nimport { addQueryStringParams } from \"@agir/lib/utils/url\";\nimport { useMobileApp } from \"./hooks/useMobileApp\";\nimport { useRoute } from \"./hooks/useRoute\";\n\nconst ExternalLink = (props) => {\n  const { params, forwardedRef, ...rest } = props;\n  const href = params ? addQueryStringParams(props.href, params) : props.href;\n  return <a ref={forwardedRef} {...rest} href={href} />;\n};\nExternalLink.propTypes = {\n  href: PropTypes.string.isRequired,\n  params: PropTypes.object,\n};\n\nconst InternalLink = (props) => {\n  const { to, params, state, backLink, forwardedRef, ...rest } = props;\n\n  const next = useMemo(() => {\n    const url = params\n      ? addQueryStringParams(to?.pathname || to, params, true)\n      : to?.pathname || to;\n\n    let nextState = { ...state };\n\n    if (backLink) {\n      nextState = nextState || {};\n      if (typeof backLink !== \"string\") {\n        nextState.backLink = backLink;\n      } else if (routeConfig[backLink]) {\n        nextState.backLink = { route: backLink };\n      } else {\n        nextState.backLink = { href: backLink };\n      }\n    }\n\n    return nextState\n      ? {\n          pathname: url.split(\"?\")[0],\n          search: url.split(\"?\")[1] && \"?\" + url.split(\"?\")[1],\n          state: nextState,\n        }\n      : url;\n  }, [to, params, state, backLink]);\n\n  return <RouterLink ref={forwardedRef} {...rest} to={next} />;\n};\nInternalLink.propTypes = {\n  to: PropTypes.string.isRequired,\n  state: PropTypes.object,\n  params: PropTypes.object,\n  backLink: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nconst RouteLink = (props) => {\n  const { route, routeParams, ...rest } = props;\n  const { url, isInternal } = useRoute(route, routeParams);\n\n  return isInternal ? (\n    <InternalLink {...rest} to={url} />\n  ) : (\n    <ExternalLink {...rest} href={url} />\n  );\n};\nRouteLink.propTypes = {\n  route: PropTypes.string.isRequired,\n  routeParams: PropTypes.object,\n};\n\nconst Link = (() => {\n  const LinkComponent = (props, ref) => {\n    const { route, href, to } = props;\n    let newHref = href;\n\n    if (route) {\n      return <RouteLink forwardedRef={ref} {...props} href={newHref} />;\n    }\n    if (to) {\n      return <InternalLink forwardedRef={ref} to={to} {...props} href={newHref} />;\n    }\n    if (href) {\n      return <ExternalLink forwardedRef={ref} {...props} href={newHref} />;\n    }\n\n    return null;\n  };\n  LinkComponent.displayName = \"Link\";\n\n  return React.forwardRef(LinkComponent);\n})();\n\nexport default Link;\n","import { useCallback, useEffect, useRef } from \"react\";\n\nimport { setActivityAsInteracted } from \"@agir/activity/common/api\";\nimport { parseQueryStringParams } from \"@agir/lib/utils/url\";\nimport logger from \"@agir/lib/utils/logger\";\n\nconst log = logger(__filename);\n\nconst QueryStringParamsActions = ({ user }) => {\n  const params = parseQueryStringParams();\n\n  const fromActivityUpdated = useRef(false);\n\n  const handleFromActivity = useCallback(async (activityId) => {\n    fromActivityUpdated.current = true;\n    try {\n      await setActivityAsInteracted(activityId, true);\n    } catch (e) {\n      log.debug(e);\n    }\n  }, []);\n\n  useEffect(() => {\n    if (user && !fromActivityUpdated.current && params?.from_activity) {\n      handleFromActivity(params.from_activity);\n    }\n  }, [user, params, handleFromActivity]);\n\n  return null;\n};\n\nexport default QueryStringParamsActions;\n","import PropTypes from \"prop-types\";\nimport React, { useContext, useEffect, useMemo, Suspense } from \"react\";\nimport { StateInspector, useReducer } from \"reinspect\";\nimport useSWR from \"swr\";\n\nimport QueryStringParamsActions from \"./QueryStringParamsActions\";\nimport ThemeProvider, { getTheme } from \"@agir/front/theme/ThemeProvider\";\n\nimport rootReducer from \"@agir/front/globalContext/reducers\";\nimport createDispatch, {\n  init,\n  setSessionContext,\n} from \"@agir/front/globalContext/actions\";\n\nimport logger from \"@agir/lib/utils/logger\";\nimport { lazy } from \"@agir/front/app/utils\";\n\nconst log = logger(__filename);\n\nconst Toasts = lazy(() => import(\"@agir/front/globalContext/Toast\"), null);\n\nconst GlobalContext = React.createContext({});\n\nconst ProdProvider = ({\n  hasRouter = false,\n  hasToasts = false,\n  colorScheme,\n  children,\n}) => {\n  const [state, dispatch] = useReducer(\n    rootReducer,\n    rootReducer({}, init(hasRouter)),\n    (state) => state,\n    \"GC\",\n  );\n\n  const doDispatch = useMemo(() => createDispatch(dispatch), [dispatch]);\n\n  const { data: sessionContext } = useSWR(\"/api/session/\");\n\n  useEffect(() => {\n    if (!sessionContext) return;\n\n    if (!sessionContext.user) {\n      self.caches?.delete(\"session\").catch((err) => {\n        if (err.name !== \"SecurityError\") {\n          if (err instanceof Error) {\n            throw err;\n          }\n          const message = err?.message\n            ? err.message\n            : typeof err === \"string\"\n              ? err\n              : \"Session cache deletion failed.\";\n          throw new Error(message);\n        }\n      });\n    }\n\n    doDispatch(setSessionContext(sessionContext));\n    log.debug(\"Update session context\", sessionContext);\n  }, [doDispatch, sessionContext]);\n\n  return (\n    <GlobalContext.Provider value={{ state, dispatch: doDispatch }}>\n      <ThemeProvider\n        theme={(colorScheme && getTheme(colorScheme)) || undefined}\n      >\n        <QueryStringParamsActions user={sessionContext?.user} />\n        {children}\n        {hasToasts && state.toasts?.length > 0 ? (\n          <Suspense fallback={null}>\n            <Toasts />\n          </Suspense>\n        ) : null}\n      </ThemeProvider>\n    </GlobalContext.Provider>\n  );\n};\nconst DevProvider = (props) => {\n  return (\n    <StateInspector name=\"actionpopulaire\">\n      <ProdProvider {...props} />\n    </StateInspector>\n  );\n};\nDevProvider.propTypes = ProdProvider.propTypes = {\n  children: PropTypes.node,\n  hasToasts: PropTypes.bool,\n  hasRouter: PropTypes.bool,\n};\n\nexport const GlobalContextProvider =\n  process.env.NODE_ENV === \"production\" ? ProdProvider : DevProvider;\n\nexport const TestGlobalContextProvider = ({\n  hasRouter = false,\n  children,\n  value,\n}) => {\n  const [state] = useReducer(rootReducer, rootReducer({}, init()));\n  const doDispatch = useMemo(() => () => {}, []);\n  const currentState = useMemo(\n    () => ({\n      state: {\n        hasRouter,\n        ...state,\n        ...value,\n      },\n      dispatch: doDispatch,\n    }),\n    [hasRouter, state, value, doDispatch],\n  );\n\n  return (\n    <GlobalContext.Provider value={currentState}>\n      {children}\n    </GlobalContext.Provider>\n  );\n};\nTestGlobalContextProvider.propTypes = {\n  hasRouter: PropTypes.bool,\n  children: PropTypes.node,\n  value: PropTypes.object,\n};\n\nexport const useGlobalContext = () => useContext(GlobalContext);\nexport const useSelector = (selector) => {\n  const { state } = useContext(GlobalContext);\n  return selector(state);\n};\nexport const useDispatch = () => {\n  const { dispatch } = useContext(GlobalContext);\n  return dispatch;\n};\n\nexport default GlobalContextProvider;\n","import { icons } from \"feather-icons\";\n\nexport const ICONS = icons;\nexport const getIconDataUrl =\n  ({\n    color = \"black\",\n    fill,\n    width,\n    height,\n    strokeWidth,\n    strokeLineCap,\n    strokeLineJoin,\n  }) =>\n  ({ icon }) => {\n    const svg = ICONS[icon]\n      ? ICONS[icon]\n          .toSvg({\n            width,\n            height,\n            strokeWidth,\n            strokeLineCap,\n            strokeLineJoin,\n            color: encodeURI(color),\n            fill: fill ? \"currentColor\" : \"none\",\n          })\n          .replace(/#/g, \"%23\")\n      : \"\";\n    return svg && `url('data:image/svg+xml;utf8,${svg}')`;\n  };\n","import Cookies from \"js-cookie\";\n\nexport const AUTHENTICATION = {\n  NONE: 0,\n  SOFT: 1,\n  HARD: 2,\n};\n\nconst BOOKMARKED_EMAILS_COOKIE_NAME = \"AP_bookmarkedEmails\";\nconst BOOKMARKED_EMAILS_COOKIE_OPTIONS = {\n  expires: 365,\n  secure: process.env.NODE_ENV !== \"development\",\n  sameSite: \"Strict\",\n};\n\nexport const NEWSLETTERS = {\n  LFI_reguliere: {\n    label:\n      \"Les informations régulières de la France insoumise, dont la lettre d'information hébdomadaire\",\n    value: \"LFI_reguliere\",\n    selected: true,\n    visible: true,\n  },\n  LFI_exceptionnelle: {\n    label: \"Les informations exceptionnelles de la France insoumise\",\n    value: \"LFI_exceptionnelle\",\n    selected: true,\n    visible: true,\n  },\n  ELUES: {\n    label: \"Les informations destinées aux élu·es\",\n    value: \"ELUES\",\n    visible: (person) =>\n      !!person &&\n      (person.newsletters.includes(\"ELUES\") || person.membreReseauElus),\n  },\n  LFI_jeunes_insoumise: {\n    label: \"Les informations destinées aux Jeunes insoumis·es\",\n    value: \"LFI_jeunes_insoumises\",\n    selected: false,\n    visible: true,\n  },\n  LFI_liaisons: {\n    label: \"Relais insoumis\",\n    value: \"LFI_liaisons\",\n    visible: false,\n  },\n  ILB: {\n    label: \"Les informations de l'Institut La Boétie\",\n    value: \"ILB\",\n    selected: false,\n    visible: true,\n  },\n};\n\nexport const LIAISON_NEWSLETTER = NEWSLETTERS.LFI_liaisons;\n\nexport const NEWSLETTER_OPTIONS = Object.values(NEWSLETTERS);\n\nexport const getNewsletterOptions = (person) =>\n  Object.values(NEWSLETTER_OPTIONS).filter((n) =>\n    typeof n.visible === \"function\" ? n.visible(person) : !!n.visible,\n  );\n\nexport const getBookmarkedEmails = () => {\n  let cookieData = Cookies.get(BOOKMARKED_EMAILS_COOKIE_NAME);\n  cookieData = cookieData && JSON.parse(cookieData);\n  return cookieData || [];\n};\n\nexport const bookmarkEmails = (emails) => {\n  Cookies.set(\n    BOOKMARKED_EMAILS_COOKIE_NAME,\n    JSON.stringify(emails),\n    BOOKMARKED_EMAILS_COOKIE_OPTIONS,\n  );\n\n  return emails;\n};\n\nexport const bookmarkEmail = (email) => {\n  const bookmarkedEmails = getBookmarkedEmails();\n  const cookieData = JSON.stringify([\n    email,\n    ...bookmarkedEmails.filter((e) => e !== email),\n  ]);\n\n  Cookies.set(\n    BOOKMARKED_EMAILS_COOKIE_NAME,\n    cookieData,\n    BOOKMARKED_EMAILS_COOKIE_OPTIONS,\n  );\n\n  return cookieData;\n};\n\nexport const getMobileOS = () => {\n  let userAgent = navigator.userAgent || navigator.vendor || window.opera;\n\n  // Windows Phone must come first because its UA also contains \"Android\"\n  if (/windows phone/i.test(userAgent)) {\n    return \"Windows Phone\";\n  }\n  if (/android/i.test(userAgent)) {\n    return \"android\";\n  }\n  if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {\n    return \"iOS\";\n  }\n  return \"unknown\";\n};\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport styled, { keyframes } from \"styled-components\";\n\nimport Link from \"@agir/front/app/Link\";\n\nimport { ICONS, getIconDataUrl } from \"./utils\";\n\nconst spinner = keyframes`\n  0% {\n    transform: rotate(0turn);\n    stroke-dashoffset: 0.662em;\n  }\n  50% {\n    transform: rotate(2turn);\n    stroke-dashoffset: 3.138em;\n  }\n  100% {\n    transform: rotate(3turn);\n    stroke-dashoffset: 0.662em;\n  }\n`;\n\nexport const ButtonLoader = styled.i\n  .withConfig({\n    shouldForwardProp: (prop) => [\"loading\", \"theme\"].includes(prop) === false,\n  })\n  .attrs((attrs) => ({\n    ...attrs,\n    children: (\n      <svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n        <circle cx=\"8\" cy=\"8\" r=\"7\" />\n      </svg>\n    ),\n  }))`\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  left: 0;\n  top: 0;\n  padding: 0;\n  margin: 0;\n  background-color: inherit;\n  z-index: ${({ loading }) => (loading ? 1 : -1)};\n\n  & > svg {\n    opacity: ${({ loading }) => (loading ? 1 : 0)};\n    transition: opacity, width, height 150ms ease-in-out;\n    width: ${({ loading }) => (loading ? 1 : 0)}em;\n    height: ${({ loading }) => (loading ? 1 : 0)}em;\n\n    circle {\n        fill: transparent;\n        stroke: currentColor;\n        strokeWidth: 2;\n        stroke-linecap: round;\n        stroke-dasharray: 3.138em;\n        transform-origin: center center;\n        animation-name: ${({ loading }) => (loading ? spinner : \"none\")};\n        animation-iteration-count: infinite;\n        animation-easing-function: linear;\n        animation-direction: forwards;\n        animation-duration: 3s;\n    }\n  }\n\n  & + span {\n    transition: opacity 250ms ease-in-out;\n    opacity: ${({ loading }) => (loading ? 0 : 1)};\n  }\n`;\n\nexport const BaseButton = styled.button\n  .withConfig({\n    shouldForwardProp: (prop) =>\n      [\n        \"loading\",\n        \"link\",\n        \"small\",\n        \"block\",\n        \"wrap\",\n        \"rightIcon\",\n        \"active\",\n      ].includes(prop) === false,\n  })\n  .attrs(({ link, as, loading, children, type, ...rest }) => ({\n    ...rest,\n    as: link ? Link : as,\n    type: type || \"button\",\n    children: (\n      <>\n        <ButtonLoader loading={loading} />\n        <span>{children}</span>\n      </>\n    ),\n  }))`\n  margin: 0;\n  justify-content: center;\n  align-items: center;\n  text-align: center;\n  font-weight: 500;\n  border: 1px solid;\n  cursor: pointer;\n  position: relative;\n\n  white-space: ${({ wrap }) => (wrap ? \"normal\" : \"nowrap\")};\n  text-overflow: ${({ wrap }) => (wrap ? \"inherit\" : \"ellipsis\")};\n  overflow: ${({ wrap }) => (wrap ? \"auto\" : \"hidden\")};\n\n  display: ${({ block }) => (block ? \"flex\" : \"inline-flex\")};\n  width: ${({ block }) => (block ? \"100%\" : \"auto\")};\n  gap: ${({ small }) => (small ? \"0.375rem\" : \"0.5rem\")};\n  flex-direction: ${({ rightIcon }) => (rightIcon ? \"row-reverse\" : \"row\")};\n\n  padding: ${({ small }) => (small ? \"0.5rem 0.75rem\" : \"0.75rem 1.5rem\")};\n  line-height: ${({ small }) => (small ? \"1.25\" : \"1.5\")};\n  font-size: ${({ small }) => (small ? \"0.875rem\" : \"1rem\")};\n\n  border-radius: ${(props) => props.theme.borderRadius};\n\n  background-color: ${(props) => props.theme.text50};\n  border-color: ${(props) => props.theme.text50};\n  color: ${(props) => props.theme.text1000};\n\n  &:hover,\n  &:focus,\n  &:active {\n    text-decoration: none;\n  }\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    cursor: not-allowed;\n  }\n\n\n  &:before {\n    content: \"\";\n    flex: 0 0 auto;\n    height: 1rem;\n    width: 1rem;\n    background-size: contain;\n    background-repeat: no-repeat;\n    background-position: center center;\n    background-image: ${(props) => getIconDataUrl({ color: props.theme.text1000 })};\n    display: ${({ icon }) => (icon && ICONS[icon] ? \"inline-block\" : \"none\")};\n  }\n\n\n  & > * {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n\n    & > * {\n      flex: 0 0 auto;\n    }\n  }\n\n  & > span {\n    display: inline-block;\n    min-height: 1px;\n    white-space: inherit;\n    text-overflow: inherit;\n    overflow: ${({ link }) => (link ? \"hidden\" : \"inherit\")};\n\n      i {\n          margin-right: 5px;\n          min-width: 1.1em;\n      }\n  }\n    \n\n`;\n\nBaseButton.propTypes = {\n  link: PropTypes.bool,\n  disabled: PropTypes.bool,\n  small: PropTypes.bool,\n  block: PropTypes.bool,\n  wrap: PropTypes.bool,\n  loading: PropTypes.bool,\n  icon: PropTypes.string,\n  rightIcon: PropTypes.bool,\n};\nBaseButton.defaultProps = {\n  link: false,\n  disabled: false,\n  small: false,\n  block: false,\n  wrap: false,\n  loading: false,\n  rightIcon: false,\n};\n\n\nexport default BaseButton;\n","import styled, { css } from \"styled-components\";\nimport BaseButton from \"@agir/front/genericComponents/Button/BaseButton\";\n\nexport const SoutienButton = styled(BaseButton)`\n  display: flex;\n  background-color: transparent;\n\n  ${({ loading }) => {\n    if (loading) {\n      return css`\n        background-color: ${(props) => props.theme.soutienPrimary};\n        svg {\n          font-size: 2rem;\n        }\n      `;\n    }\n  }};\n\n  font-size: inherit;\n  font-weight: bold;\n  position: relative;\n  color: ${(props) => props.theme.text25};\n  fill: ${(props) => props.theme.text25};\n  padding: 0;\n  border-width: 0;\n  border-radius: 10px;\n\n  ${({ icon }) => {\n    if (!icon) {\n      return css`\n        width: 100%;\n        span {\n          width: 100%;\n          justify-content: center !important;\n        }\n      `;\n    } else {\n      return css`\n        @media (max-width: ${(props) => props.theme.collapse}px) {\n          span span {\n            max-width: 85%;\n          }\n        }\n      `;\n    }\n  }}\n\n  span {\n    display: flex;\n    flex-direction: row-reverse;\n    justify-content: unset;\n  }\n\n  span span,\n  span i {\n    position: relative;\n    background-color: ${(props) => props.theme.soutienPrimary};\n    border-radius: 10px;\n    padding: 1rem;\n\n    word-break: break-word;\n    white-space: normal;\n    margin: 0 !important;\n\n    color: ${(props) => props.theme.text25};\n    fill: ${(props) => props.theme.text25};\n  }\n\n  span span {\n    display: inline-flex;\n    flex-direction: unset;\n    padding-left: 1.5rem;\n    padding-right: 1.5rem;\n    align-items: center;\n\n    @media (max-width: ${(props) => props.theme.collapse}px) {\n      text-align: left;\n      padding: 0.5rem 0.8rem 0.5rem 0.8rem;\n      line-height: 1.2;\n      min-height: 56px;\n    }\n  }\n\n  span i {\n    line-height: 1.5;\n    width: 3.2rem;\n  }\n\n  &:hover {\n    span,\n    i {\n      opacity: 0.85;\n    }\n  }\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    opacity: 0.55;\n    text-decoration: none;\n  }\n`;\n\nexport const SoutienButtonSecondary = styled(SoutienButton)`\n  span span,\n  span i {\n    background-color: ${(props) => props.theme.soutienSecondary};\n    color: ${(props) => props.theme.text25};\n    fill: ${(props) => props.theme.text25};\n  }\n`;\n\nexport const SoutienButtonTertiary = styled(SoutienButton)`\n  span span,\n  span i {\n    background-color: transparent;\n    color: ${(props) => props.theme.soutienPrimary};\n  }\n  span span {\n    border: 1px solid ${(props) => props.theme.soutienPrimary};\n  }\n`;\n","import PropTypes from \"prop-types\";\nimport React, { forwardRef } from \"react\";\nimport styled, { css } from \"styled-components\";\n\nimport { ICONS, getIconDataUrl } from \"./utils\";\n\nimport BaseButton from \"./BaseButton\";\nimport {\n  SoutienButton,\n  SoutienButtonSecondary,\n  SoutienButtonTertiary,\n} from \"@agir/front/genericComponents/Button/SoutienButton\";\n\nconst DefaultButton = styled(BaseButton)`\n  color: ${(props) => props.theme.text1000};\n  background-color: ${(props) => props.theme.text50};\n  border-color: ${(props) => props.theme.text50};\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.text1000};\n    background-color: ${(props) => props.theme.text100};\n    border-color: ${(props) => props.theme.text100};\n  }\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    color: ${(props) => props.theme.text1000 + \"4D\"};\n    background-color: ${(props) => props.theme.text50 + \"B7\"};\n    border-color: ${(props) => props.theme.text50 + \"B7\"};\n\n    &:before {\n      background-image: ${(props) =>\n        getIconDataUrl({\n          color: props.theme.text1000 + \"4D\",\n        })};\n    }\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.text1000 })};\n  }\n`;\n\nconst WhiteButton = styled(BaseButton)`\n  &,\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    color: ${(props) => props.theme.primary500};\n    background-color: ${(props) => props.theme.background0};\n    border-color: ${(props) => props.theme.background0};\n  }\n\n  &[disabled] {\n    opacity: 0.75;\n  }\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.primary500};\n    background-color: ${(props) => props.theme.text50};\n    border-color: ${(props) => props.theme.text50};\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.primary500 })};\n  }\n`;\n\nconst WhiteRedButton = styled(BaseButton)`\n  &,\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    color: ${(props) => props.theme.error500};\n    background-color: ${(props) => props.theme.background0};\n    border-color: ${(props) => props.theme.background0};\n  }\n\n  &[disabled] {\n    opacity: 0.75;\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.error500 })};\n  }\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: #d81836;\n\n    &:before {\n      background-image: ${getIconDataUrl({\n        color: \"#d81836\",\n        fill: true,\n      })};\n    }\n  }\n`;\n\nconst TransparentButton = styled(BaseButton)`\n  &,\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    color: ${(props) => props.theme.primary500};\n    background-color: transparent;\n    border-color: transparent;\n  }\n\n  &[disabled] {\n    opacity: 0.75;\n  }\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.primary600};\n    background-color: ${(props) => props.theme.text50};\n    border-color: ${(props) => props.theme.text50};\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.primary500 })};\n  }\n`;\n\nconst PrimaryButton = styled(BaseButton)`\n  background-color: ${(props) => props.theme.primary500};\n  border-color: ${(props) => props.theme.primary500};\n  color: ${(props) => props.theme.background0};\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.background0};\n    background-color: ${(props) => props.theme.primary600};\n    border-color: ${(props) => props.theme.primary600};\n  }\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    color: ${(props) => props.theme.background0 + \"B7\"};\n    background-color: ${(props) => props.theme.primary500 + \"B7\"};\n    border-color: ${(props) => props.theme.primary500 + \"B7\"};\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.background0 })};\n  }\n`;\n\nconst SecondaryButton = styled(BaseButton)`\n  color: ${(props) => props.theme.text1000};\n  background-color: ${(props) => props.theme.secondary500};\n  border-color: ${(props) => props.theme.secondary500};\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.text1000};\n    background-color: ${(props) => props.theme.secondary600};\n    border-color: ${(props) => props.theme.secondary600};\n  }\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    background-color: ${(props) => props.theme.secondary500 + \"B7\"};\n    border-color: ${(props) => props.theme.secondary500 + \"B7\"};\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.text1000 })};\n  }\n`;\n\nconst TertiaryButton = styled(BaseButton)`\n  &,\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    background-color: ${(props) => props.theme.background0};\n    border-color: ${(props) => props.theme.primary500};\n    color: ${(props) => props.theme.primary500};\n  }\n\n  &[disabled] {\n    opacity: 0.75;\n  }\n\n  &:hover,\n  &:focus,\n  &:active {\n    background-color: ${(props) => props.theme.text50};\n    border-color: ${(props) => props.theme.primary600};\n    color: ${(props) => props.theme.primary600};\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.primary500 })};\n  }\n`;\n\nconst ConfirmedButton = styled(BaseButton)`\n  color: ${(props) => props.theme.primary500};\n  background-color: ${(props) => props.theme.primary100};\n  border-color: ${(props) => props.theme.primary100};\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.primary500};\n    background-color: ${(props) => props.theme.primary150};\n    border-color: ${(props) => props.theme.primary150};\n  }\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    color: ${(props) => props.theme.primary500 + \"4D\"};\n    background-color: ${(props) => props.theme.primary100 + \"B7\"};\n    border-color: ${(props) => props.theme.primary100 + \"B7\"};\n\n    &:before {\n      background-image: ${(props) =>\n        getIconDataUrl({ color: props.theme.primary500 + \"4D\" })};\n    }\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.primary500 })};\n  }\n`;\n\nconst UnavailableButton = styled(BaseButton)`\n  color: ${(props) => props.theme.text500};\n  background-color: ${(props) => props.theme.background0};\n  border-color: ${(props) => props.theme.text100};\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.text500};\n  }\n\n  &[disabled] {\n    color: ${(props) => props.theme.text500 + \"4D\"};\n    border-color: ${(props) => props.theme.text100 + \"B7\"};\n\n    &:before {\n      background-image: ${(props) =>\n        getIconDataUrl({ color: props.theme.text500 + \"4D\" })};\n    }\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.text500 })};\n  }\n`;\nconst DismissButton = styled(BaseButton)`\n  color: ${(props) => props.theme.text1000};\n  background-color: transparent;\n  border-color: ${(props) => props.theme.text1000};\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.text1000};\n  }\n\n  &[disabled] {\n    color: ${(props) => props.theme.text1000 + \"4D\"};\n    border-color: ${(props) => props.theme.text1000 + \"4D\"};\n\n    &:before {\n      background-image: ${(props) =>\n        getIconDataUrl({ color: props.theme.text1000 + \"4D\" })};\n    }\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.text1000 })};\n  }\n`;\nconst ChooseButton = styled(BaseButton)`\n  color: ${(props) => props.theme.text1000};\n  background-color: transparent;\n  border-color: ${(props) => props.theme.text200};\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.text1000};\n    background-color: ${(props) => props.theme.text50};\n  }\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    color: ${(props) => props.theme.text1000 + \"4D\"};\n    background-color: ${(props) => props.theme.text50 + \"B7\"};\n    border-color: ${(props) => props.theme.text50 + \"B7\"};\n\n    &:before {\n      background-image: ${(props) =>\n        getIconDataUrl({ color: props.theme.text1000 + \"4D\" })};\n    }\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.text1000 })};\n  }\n`;\nconst SuccessButton = styled(BaseButton)`\n  color: ${(props) => props.theme.background0};\n  background-color: ${(props) => props.theme.success500};\n  border-color: ${(props) => props.theme.success500};\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.background0};\n  }\n\n  &[disabled] {\n    background-color: ${(props) => props.theme.success500 + \"4D\"};\n    border-color: ${(props) => props.theme.success500 + \"4D\"};\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.background0 })};\n  }\n`;\nconst DangerButton = styled(BaseButton)`\n  color: ${(props) => props.theme.text25} !important;\n  background-color: ${(props) => props.theme.error500};\n  border-color: ${(props) => props.theme.error500};\n    \n    svg {\n        color: ${(props) => props.theme.text25} !important;\n    }\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.background0};\n    background-color: #d81836;\n    border-color: #d81836;\n  }\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    background-color: ${(props) => props.theme.text50 + \"B7\"};\n    border-color: ${(props) => props.theme.text50 + \"B7\"};\n    color: ${(props) => props.theme.text1000 + \"4D\"};\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.background0 })};\n  }\n`;\nconst FacebookButton = styled(BaseButton)`\n  color: ${(props) => props.theme.white};\n  background-color: ${(props) => props.theme.facebook};\n  border-color: ${(props) => props.theme.facebook};\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.background0};\n  }\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    background-color: #1778f2b7;\n    border-color: #1778f2b7;\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.background0 })};\n  }\n`;\nconst LinkButton = styled(BaseButton)`\n  font-size: inherit;\n  font-weight: inherit;\n  padding-left: 0;\n  padding-right: 0;\n  color: ${(props) => props.theme.primary500};\n  background-color: transparent;\n  border-color: transparent;\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    opacity: 0.75;\n    text-decoration: none;\n  }\n\n  &:hover,\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.primary500};\n    text-decoration: underline;\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.primary500 })};\n  }\n`;\n\nconst LFIButtonActiveMixin = css`\n  color: ${(props) => props.theme.text25};\n  background-color: ${(props) => props.theme.LFIprimary500};\n  fill: white;\n`;\n\nconst LFIButton = styled(BaseButton)`\n  font-size: inherit;\n  font-weight: bold;\n  padding-left: ${({ small }) => (small ? \"0.5rem 0.75rem\" : \"0.75rem 1.5rem\")};\n  padding-right: ${({ small }) =>\n    small ? \"0.5rem 0.75rem\" : \"0.75rem 1.5rem\"};\n  color: ${(props) => props.theme.textColor};\n  fill: ${(props) => props.theme.textColor};\n  background-color: transparent;\n  border-color: ${(props) => props.theme.text200};\n  border-width: 1px;\n  border-radius: 0;\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    opacity: 0.75;\n    text-decoration: none;\n  }\n\n  &:hover {\n    &[disabled]:active {\n      color: ${(props) => props.theme.LFIprimary500};\n    }\n    border-color: ${(props) => props.theme.LFIprimary500};\n    fill: ${(props) => props.theme.LFIprimary500};\n  }\n\n  &:focus,\n  &:active {\n    ${LFIButtonActiveMixin}\n  }\n\n  ${({ active }) =>\n    active &&\n    css`\n      ${LFIButtonActiveMixin}\n    `}\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.primary500 })};\n  }\n`;\n\nconst LFIPrimaryButton = styled(LFIButton)`\n  font-size: inherit;\n  color: ${(props) => props.theme.text25};\n  background-color: ${(props) => props.theme.LFIprimary500};\n  border-color: ${(props) => props.theme.LFIprimary500};\n  border-width: 2px;\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    opacity: 0.75;\n    text-decoration: none;\n    border: none;\n  }\n\n  &:hover {\n    color: ${(props) => props.theme.LFIprimary500};\n    background-color: ${(props) => props.theme.white};\n  }\n\n  &:focus,\n  &:active {\n    color: ${(props) => props.theme.text25};\n    background-color: ${(props) => props.theme.LFIprimary500};\n  }\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.primary500 })};\n  }\n`;\n\n\nconst LFIDangerButton = styled(BaseButton)`\n  font-size: inherit;\n  font-weight: bold;\n  padding-left: ${({ small }) => (small ? \"0.5rem 0.75rem\" : \"0.75rem 1.5rem\")};\n  padding-right: ${({ small }) =>\n    small ? \"0.5rem 0.75rem\" : \"0.75rem 1.5rem\"};\n\n  color: ${(props) => props.theme.textColor};\n  fill: ${(props) => props.theme.textColor};\n  background-color: transparent;\n  border-color: ${(props) => props.theme.text200};\n  border-width: 1px;\n  border-radius: 0;\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus,\n  &[disabled]:active {\n    opacity: 0.75;\n    text-decoration: none;\n  }\n\n  &:hover {\n    &[disabled]:active {\n      color: ${(props) => props.theme.error100};\n    }\n    border-color: ${(props) => props.theme.error500};\n    fill: ${(props) => props.theme.error500};\n    i {\n      color: ${(props) => props.theme.error500};\n    }\n  }\n\n  &:focus,\n  &:active {\n      color: ${(props) => props.theme.text25};\n      background-color: ${(props) => props.theme.error500};\n      fill: white;\n  }\n\n  ${({ active }) =>\n    active &&\n    css`\n        color: ${(props) => props.theme.text25};\n        background-color: ${(props) => props.theme.error500};\n        fill: white;\n    `}\n\n  &:before {\n    background-image: ${(props) =>\n      getIconDataUrl({ color: props.theme.primary500 })};\n  }\n`;\n\nconst variants = {\n  default: DefaultButton,\n  white: WhiteButton,\n  whiteRed: WhiteRedButton,\n  transparent: TransparentButton,\n  primary: PrimaryButton,\n  secondary: SecondaryButton,\n  tertiary: TertiaryButton,\n  confirmed: ConfirmedButton,\n  unavailable: UnavailableButton,\n  dismiss: DismissButton,\n  choose: ChooseButton,\n  success: SuccessButton,\n  danger: DangerButton,\n  facebook: FacebookButton,\n  link: LinkButton,\n  lfi: LFIButton,\n  lfiPrimary: LFIPrimaryButton,\n  lfiDanger: LFIDangerButton,\n  soutien: SoutienButton,\n  soutienSecondary: SoutienButtonSecondary,\n  soutienTertiary: SoutienButtonTertiary,\n};\n\nexport const ButtonLabel = styled.span``;\n\nconst Button = styled(\n  // eslint-disable-next-line react/display-name\n  forwardRef((props, ref) => {\n    // eslint-disable-next-line react/prop-types\n    const { color } = props;\n    const B = color && variants[color] ? variants[color] : variants.default;\n    return (\n      <B ref={ref} {...props}>\n        {props.icon?.includes(\"fa-\") && (\n          <i className={`fa-regular ${props.icon}`} />\n        )}\n        <ButtonLabel>{props.children}</ButtonLabel>\n      </B>\n    );\n  }),\n)``;\n\nButton.icons = Object.keys(ICONS);\nButton.colors = Object.keys(variants);\nButton.propTypes = {\n  ...BaseButton.propTypes,\n  color: PropTypes.string,\n};\nexport default Button;\n","import Button from \"./Button\";\n\nexport default Button;\n","import { lazy } from \"./utils\";\n\nconst Routes = {\n  HomePage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-homepage\" */ \"@agir/front/app/Homepage/Home\"\n      ),\n  ),\n  AgendaPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-agendapage\" */ \"@agir/events/agendaPage/Agenda\"\n      ),\n  ),\n  CalendarPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-calendar\" */ \"@agir/events/calendarPage/Calendar\"\n      ),\n  ),\n  EventMap: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-eventmap\" */ \"@agir/carte/page__eventMap/EventMap\"\n      ),\n  ),\n  GroupUpcomingEventPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-groupupcomingevent\" */ \"@agir/events/groupUpcomingEventPage/GroupUpcomingEventPage\"\n      ),\n  ),\n  GroupUpcomingEventRedirectPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-groupupcomingeventredirect\" */ \"@agir/events/groupUpcomingEventPage/GroupUpcomingEventRedirectPage\"\n      ),\n  ),\n  EventPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-eventpage\" */ \"@agir/events/eventPage/EventPage\"\n      ),\n  ),\n  MissingDocumentsPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-missingdocumentspage\" */ \"@agir/events/eventRequiredDocuments/MissingDocuments/MissingDocumentsPage\"\n      ),\n  ),\n  EventRequiredDocuments: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-eventrequireddocuments\" */ \"@agir/events/eventRequiredDocuments/EventRequiredDocumentsPage\"\n      ),\n  ),\n  GroupsPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-groupspage\" */ \"@agir/groups/groupsPage/GroupsPage\"\n      ),\n  ),\n  CreateEvent: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-createevent\" */ \"@agir/events/createEventPage/CreateEvent\"\n      ),\n  ),\n  FullGroupPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-fullgrouppage\" */ \"@agir/groups/fullGroupPage/FullGroupPage\"\n      ),\n  ),\n  GroupPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-grouppage\" */ \"@agir/groups/groupPage/GroupPage\"\n      ),\n  ),\n  GroupMap: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-groupmap\" */ \"@agir/carte/page__groupMap/GroupMap\"\n      ),\n  ),\n  ThematicGroups: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-thematicgroups\" */ \"@agir/groups/thematicGroupPage/ThematicGroupPage\"\n      ),\n  ),\n  ActivityPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-activitypage\" */ \"@agir/activity/ActivityPage/ActivityPage\"\n      ),\n  ),\n  NavigationPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-navigationpage\" */ \"@agir/front/navigationPage/NavigationPage\"\n      ),\n  ),\n  SignupPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-signuppage\" */ \"@agir/front/authentication/Connexion/SignupPage\"\n      ),\n  ),\n  LoginPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-loginpage\" */ \"@agir/front/authentication/Connexion/LoginPage\"\n      ),\n  ),\n  CodeLoginPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-codeloginpage\" */ \"@agir/front/authentication/Connexion/Code/CodeLogin\"\n      ),\n  ),\n  CodeSignupPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-codesignuppage\" */ \"@agir/front/authentication/Connexion/Code/CodeSignup\"\n      ),\n  ),\n  TellMorePage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-tellmorepage\" */ \"@agir/front/authentication/Connexion/TellMore/TellMorePage\"\n      ),\n  ),\n  LogoutPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-logoutpage\" */ \"@agir/front/authentication/Connexion/Logout\"\n      ),\n  ),\n  MessagePage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-messagepage\" */ \"@agir/msgs/MessagePage/MessagePage\"\n      ),\n  ),\n  CreateContactPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-createcontactpage\" */ \"@agir/people/contacts/CreateContactPage\"\n      ),\n  ),\n  DonationLandingPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-donationlandingpage\" */ \"@agir/donations/DonationLandingPage\"\n      ),\n  ),\n  ExternalDonationPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-externalDonationPage\" */ \"@agir/donations/externalDonationPage/ExternalDonationPage\"\n      ),\n  ),\n  DonationSuccessPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-donationSuccessPage\" */ \"@agir/donations/DonationSuccessPage\"\n      ),\n  ),\n  ChequeValidationPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-chequeValidationPage\" */\n        \"@agir/donations/validation/ChequeValidation\"\n      ),\n  ),\n  ContributionSuccessPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-contributionSuccessPage\" */ \"@agir/donations/ContributionSuccessPage\"\n      ),\n  ),\n  ContributionRenewalPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-contributionrenewalpage\" */ \"@agir/donations/contributionRenewalPage/ContributionRenewalPage\"\n      ),\n  ),\n  ActionToolsPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-actiontoolspage\" */ \"@agir/front/ActionToolsPage/ActionToolsPage\"\n      ),\n  ),\n  SearchPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-searchpage\" */ \"@agir/front/SearchPage/SearchPage\"\n      ),\n  ),\n  SearchGroupPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-searchgrouppage\" */ \"@agir/front/SearchPage/SearchGroupPage\"\n      ),\n  ),\n  SearchEventPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-searcheventpage\" */ \"@agir/front/SearchPage/SearchEventPage\"\n      ),\n  ),\n  VotingProxyLandingPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-votingproxylandingpage\" */ \"@agir/voting_proxies/VotingProxyLandingPage\"\n      ),\n  ),\n  NewVotingProxyRequest: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-newvotingproxyrequest\" */ \"@agir/voting_proxies/VotingProxyRequest/NewVotingProxyRequest\"\n      ),\n  ),\n  NewVotingProxy: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-newvotingproxy\" */ \"@agir/voting_proxies/VotingProxy/NewVotingProxy\"\n      ),\n  ),\n  ReplyToVotingProxyRequests: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-replytovotingproxyrequests\" */ \"@agir/voting_proxies/VotingProxy/ReplyToVotingProxyRequests\"\n      ),\n  ),\n  ReplyToSingleVotingProxyRequest: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-replytosinglevotingproxyrequest\" */ \"@agir/voting_proxies/VotingProxy/ReplyToVotingProxyRequests/ReplyToSingleVotingProxyRequest\"\n      ),\n  ),\n  VotingProxyRequestForProxy: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-votingproxyrequestsforproxy\" */ \"@agir/voting_proxies/VotingProxy/VotingProxyRequestForProxyPage\"\n      ),\n  ),\n  VotingProxyRequestDetails: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-votingproxyrequestdetails\" */ \"@agir/voting_proxies/VotingProxyRequest/VotingProxyRequestDetails\"\n      ),\n  ),\n  TestErrorPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-testerrorpage\" */ \"@agir/front/errorPage/TestErrorPage\"\n      ),\n  ),\n  TokTokPreview: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-toktokpreview\" */ \"@agir/events/TokTok/TokTokPreview\"\n      ),\n  ),\n  NewPollingStationOfficer: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-newpollingstationofficer\" */ \"@agir/elections/PollingStationOfficer/NewPollingStationOfficer\"\n      ),\n  ),\n  EventSpeakerPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-eventspeakerpage\" */ \"@agir/event_requests/EventSpeakerPage/EventSpeakerPage\"\n      ),\n  ),\n  FaIcons: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-faicons\" */ \"@agir/front/genericComponents/FaIcons\"\n      ),\n  ),\n  CreateSpendingRequest: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-createspendingrequest\" */ \"@agir/donations/spendingRequest/createSpendingRequestPage\"\n      ),\n  ),\n  EditSpendingRequest: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-editspendingrequest\" */ \"@agir/donations/spendingRequest/editSpendingRequestPage\"\n      ),\n  ),\n  SpendingRequestDetails: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-spendingrequestdetails\" */ \"@agir/donations/spendingRequest/spendingRequestPage\"\n      ),\n  ),\n  SpendingRequestHistory: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-spendingrequesthistory\" */ \"@agir/donations/spendingRequest/spendingRequestPage/SpendingRequestHistoryPage\"\n      ),\n  ),\n  GroupFinanceHistory: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-groupfinancehistory\" */ \"@agir/groups/groupPage/GroupSettings/GroupFinancePage/GroupFinanceHistoryPage\"\n      ),\n  ),\n  SoutienPage: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-soutienpage\" */ \"@agir/presidentielle2027/SoutienPage/SoutienPage\"\n      ),\n  ),\n  SoutienPageFinalize: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-soutienpagefinalize\" */ \"@agir/presidentielle2027/SoutienPage/FinalizeRedirectionPage\"\n      ),\n  ),\n  SoutienRejoindreActionPopulaire: lazy(\n    () =>\n      import(\n        /* webpackChunkName: \"r-soutienrejoindreactionpopulaire\" */ \"@agir/presidentielle2027/SoutienPage/SoutienRejoindreActionPopulaire\"\n      ),\n  ),\n};\n\nexport default Routes;\n","import pathToRegexp from \"path-to-regexp-es\";\n\nimport logger from \"@agir/lib/utils/logger\";\n\nimport { AUTHENTICATION } from \"@agir/front/authentication/common\";\nimport { relativeToAbsoluteURL } from \"@agir/lib/utils/url\";\n\nimport RouteComponents from \"./routes.components\";\nexport const BASE_PATH = \"/\";\n\nconst log = logger(__filename);\n\nexport class RouteConfig {\n  constructor(props) {\n    Object.keys(props).forEach((key) => (this[key] = props[key]));\n\n    this.__keys__ = [];\n    const path = Array.isArray(this.path) ? this.path[0] : this.path;\n    this.__re__ = pathToRegexp(this.path, this.__keys__, {\n      end: this.exact === false ? false : true,\n    });\n    this.__toPath__ = pathToRegexp.compile(path);\n\n    this.match = this.match.bind(this);\n    this.getLink = this.getLink.bind(this);\n  }\n\n  /**\n   * Method to match a pathname string against the RouteConfig path\n   * @param  {string} pathname The pathname to match against the RouteConfig path\n   * @return {boolean} True if the argument path matches, false otherwise\n   */\n  match(pathname) {\n    return !!pathname && !!this.__re__.exec(pathname);\n  }\n\n  /**\n   * Method to build a link to the RouteConfig pathname with optional URL parameters\n   * @param  {object} params An object mapping the path parameters value\n   * @param  {absolute} absolute Whether to return an absolute or relative link\n   * @return {string} The link path string\n   */\n  getLink(params, absolute = false) {\n    try {\n      params = {\n        ...(this.params || {}),\n        ...(params || {}),\n      };\n      const link = this.__toPath__(params);\n      return absolute ? relativeToAbsoluteURL(link) : link;\n    } catch (e) {\n      log.error(\"Failed to generate path\", e);\n      return Array.isArray(this.path) ? this.path[0] : this.path;\n    }\n  }\n}\n\nconst notificationSettingRoute = new RouteConfig({\n  id: \"notificationSettings\",\n  path: \"/:root*/parametres/\",\n  exact: true,\n  neededAuthentication: AUTHENTICATION.HARD,\n  label: \"Paramètres de notification\",\n  params: { root: \"activite\" },\n  isPartial: true,\n});\n\nexport const routeConfig = {\n  agenda: new RouteConfig({\n    id: \"agenda\",\n    path: \"/agenda/:agendaSlug\",\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Agenda\",\n    exact: true,\n    hasLayout: true,\n    Component: RouteComponents.CalendarPage,\n  }),\n  events: new RouteConfig({\n    id: \"events\",\n    path: [\"/\", \"/documents-justificatifs/\"],\n    exact: true,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"Liste des événements\",\n    Component: RouteComponents.AgendaPage,\n    hasLayout: true,\n    layoutProps: {\n      $smallBackgroundColor: \"text25\",\n    },\n    hideFeedbackButton: true,\n    keepScroll: true,\n    hideFooterBanner: true,\n    AnonymousComponent: RouteComponents.HomePage,\n    anonymousConfig: {\n      hasLayout: false,\n    },\n  }),\n  missingEventDocumentsModal: new RouteConfig({\n    id: \"missingEventDocuments\",\n    path: \"/documents-justificatifs/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"Documents justificatifs\",\n    hideFeedbackButton: true,\n    isPartial: true,\n  }),\n  missingEventDocuments: new RouteConfig({\n    id: \"missingEventDocuments\",\n    path: \"/evenements/documents-justificatifs/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.HARD,\n    label: \"Documents justificatifs\",\n    Component: RouteComponents.MissingDocumentsPage,\n    hideFeedbackButton: true,\n    hasLayout: false,\n    backLink: {\n      route: \"events\",\n      label: \"Liste des événements\",\n      isProtected: true,\n    },\n  }),\n  eventMap: new RouteConfig({\n    id: \"eventMap\",\n    path: \"/evenements/carte/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Carte des événements\",\n    Component: RouteComponents.EventMap,\n    hideFooter: true,\n    hideFeedbackButton: true,\n  }),\n  mapEventDetails: new RouteConfig({\n    id: \"mapEventDetails\",\n    path: \"/evenements/carte/:eventPk/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Carte des événements\",\n    redirectTo: (_, routeParams) => ({\n      route: \"eventDetails\",\n      routeParams,\n      backLink: \"eventMap\",\n      push: false,\n    }),\n  }),\n  groupUpcomingEventRedirect: new RouteConfig({\n    id: \"groupUpcomingEventRedirect\",\n    path: \"/evenements/groupes/:groupPk/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"Agenda des groupes d'action\",\n    Component: RouteComponents.GroupUpcomingEventRedirectPage,\n  }),\n  groupUpcomingEvents: new RouteConfig({\n    id: \"groupUpcomingEvents\",\n    path: \"/evenements/groupes/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"Agenda des groupes d'action\",\n    Component: RouteComponents.GroupUpcomingEventPage,\n  }),\n  createEvent: new RouteConfig({\n    id: \"createEvent\",\n    path: \"/evenements/creer/\",\n    exact: false,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"Nouvel événement\",\n    hideFeedbackButton: true,\n    Component: RouteComponents.CreateEvent,\n    hideFooter: true,\n  }),\n  eventSettings: new RouteConfig({\n    id: \"eventSettings\",\n    path: \"/evenements/:eventPk/gestion/:activePanel?/\",\n    params: { eventPk: null, activePanel: null },\n    exact: true,\n    isPartial: true,\n    neededAuthentication: AUTHENTICATION.HARD,\n    Component: RouteComponents.EventPage,\n    hideFeedbackButton: true,\n  }),\n  eventRequiredDocuments: new RouteConfig({\n    id: \"eventRequiredDocuments\",\n    path: \"/evenements/:eventPk/documents/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.HARD,\n    label: \"Documents de l'événement\",\n    Component: RouteComponents.EventRequiredDocuments,\n    backLink: {\n      route: \"events\",\n      label: \"Liste des événements\",\n      isProtected: true,\n    },\n  }),\n  eventSpeaker: new RouteConfig({\n    id: \"eventSpeaker\",\n    path: \"/evenements/demandes/intervenant-e/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"Demandes d'événements\",\n    Component: RouteComponents.EventSpeakerPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n  }),\n  eventDetails: new RouteConfig({\n    id: \"eventDetails\",\n    path: \"/evenements/:eventPk/\",\n    exact: false,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Page de l'événement\",\n    Component: RouteComponents.EventPage,\n  }),\n  groups: new RouteConfig({\n    id: \"groups\",\n    path: \"/mes-groupes/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"Liste des groupes\",\n    Component: RouteComponents.GroupsPage,\n    hasLayout: true,\n    layoutProps: {\n      $smallBackgroundColor: \"text25\",\n    },\n    keepScroll: true,\n  }),\n  groupMap: new RouteConfig({\n    id: \"groupMap\",\n    path: \"/groupes/carte/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Carte des groupes\",\n    Component: RouteComponents.GroupMap,\n    hideFooter: true,\n    hideFeedbackButton: true,\n  }),\n  mapGroupDetails: new RouteConfig({\n    id: \"mapGroupDetails\",\n    path: \"/groupes/carte/:groupPk/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    redirectTo: (_, routeParams) => ({\n      route: \"groupDetails\",\n      routeParams,\n      backLink: \"groupMap\",\n      push: false,\n    }),\n  }),\n  fullGroup: new RouteConfig({\n    id: \"fullGroup\",\n    path: \"/groupes/:groupPk/complet/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Groupe complet\",\n    Component: RouteComponents.FullGroupPage,\n    hasLayout: false,\n  }),\n  groupFinanceHistory: new RouteConfig({\n    id: \"groupFinanceHistory\",\n    path: \"/groupes/:groupPk/finance/history/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.HARD,\n    label: \"Historique du budget\",\n    Component: RouteComponents.GroupFinanceHistory,\n  }),\n  groupSettings: new RouteConfig({\n    id: \"groupSettings\",\n    path: \"/groupes/:groupPk/:activeTab?/gestion/:activePanel?/\",\n    params: { activeTab: null, activePanel: null },\n    exact: true,\n    neededAuthentication: AUTHENTICATION.HARD,\n    Component: RouteComponents.GroupPage,\n    isPartial: true,\n  }),\n  createGroupSpendingRequest: new RouteConfig({\n    id: \"createGroupSpendingRequest\",\n    path: \"/groupes/:groupPk/depenses/creer/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.HARD,\n    label: \"Nouvelle dépense\",\n    Component: RouteComponents.CreateSpendingRequest,\n    hideFeedbackButton: true,\n    backLink: {\n      label: \"Gestion du groupe\",\n      route: \"groupSettings\",\n      routeParams: {\n        activePanel: \"finance\",\n      },\n    },\n  }),\n  groupDetailsGestion: new RouteConfig({\n    id: \"groupDetailsGestion\",\n    path: \"/groupes/:groupPk/gestion/:any?/:action?\",\n    exact: false,\n    neededAuthentication: AUTHENTICATION.HARD,\n    label: \"Page gestion du groupe\",\n    Component: RouteComponents.GroupPage,\n    hideTopBar: true,\n    backLink: {\n      route: \"groups\",\n      isProtected: true,\n    },\n  }),\n  groupDetails: new RouteConfig({\n    id: \"groupDetails\",\n    path: \"/groupes/:groupPk/:activeTab?/\",\n    exact: false,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Page du groupe\",\n    Component: RouteComponents.GroupPage,\n    backLink: {\n      route: \"groups\",\n      isProtected: true,\n    },\n  }),\n  thematicGroups: new RouteConfig({\n    id: \"thematicGroups\",\n    path: \"/groupes-thematiques/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Les groupes thématiques\",\n    Component: RouteComponents.ThematicGroups,\n  }),\n  spendingRequestDetails: new RouteConfig({\n    id: \"spendingRequestDetails\",\n    path: \"/financement/demande/:spendingRequestPk/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.HARD,\n    label: \"Détails de la demande\",\n    Component: RouteComponents.SpendingRequestDetails,\n  }),\n  spendingRequestHistory: new RouteConfig({\n    id: \"spendingRequestDetails\",\n    path: \"/financement/demande/:spendingRequestPk/historique/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.HARD,\n    label: \"Historique de la demande\",\n    Component: RouteComponents.SpendingRequestHistory,\n    backLink: {\n      label: \"Détails de la demande\",\n      route: \"spendingRequestDetails\",\n    },\n  }),\n  editSpendingRequest: new RouteConfig({\n    id: \"editGroupSpendingRequest\",\n    path: \"/financement/demande/:spendingRequestPk/modifier/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.HARD,\n    label: \"Modification de la dépense\",\n    Component: RouteComponents.EditSpendingRequest,\n    hideFeedbackButton: true,\n    backLink: {\n      label: \"Détail de la demande\",\n      route: \"spendingRequestDetails\",\n    },\n  }),\n  activities: new RouteConfig({\n    id: \"activities\",\n    path: [\"/activite/\", \"/activite/parametres/\"],\n    exact: true,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"Notifications\",\n    Component: RouteComponents.ActivityPage,\n    hasLayout: true,\n    layoutProps: {\n      $smallBackgroundColor: \"text25\",\n    },\n    topBarRightLink: {\n      label: notificationSettingRoute.label,\n      to: notificationSettingRoute.getLink({ root: \"activite\" }),\n      protected: true,\n    },\n    keepScroll: true,\n  }),\n  actionTools: new RouteConfig({\n    id: \"actionTools\",\n    path: \"/agir/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"Agir\",\n    Component: RouteComponents.ActionToolsPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n  }),\n  notificationSettings: notificationSettingRoute,\n  menu: new RouteConfig({\n    id: \"menu\",\n    path: \"/navigation/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"Menu\",\n    Component: RouteComponents.NavigationPage,\n    hasLayout: true,\n    displayFooterOnMobileApp: true,\n    layoutProps: {\n      style: { paddingBottom: 0 },\n    },\n  }),\n  login: new RouteConfig({\n    id: \"login\",\n    path: \"/connexion/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Connexion\",\n    description: \"Connectez-vous à Action Populaire\",\n    Component: RouteComponents.LoginPage,\n    hideTopBar: true,\n    hideFeedbackButton: true,\n    hideFooter: true,\n  }),\n  signup: new RouteConfig({\n    id: \"signup\",\n    path: \"/inscription/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Inscription\",\n    description: \"Rejoignez Action Populaire\",\n    Component: () => {\n      window.location.href = \"https://melenchon2027.fr\";\n      return null;\n    },\n    hideTopBar: true,\n    hideFeedbackButton: true,\n    hideFooter: true,\n  }),\n  codeLogin: new RouteConfig({\n    id: \"codeLogin\",\n    path: \"/connexion/code/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Connexion\",\n    description: \"Connectez-vous à Action Populaire\",\n    Component: RouteComponents.CodeLoginPage,\n    hideTopBar: true,\n    hideFeedbackButton: true,\n    hideFooter: true,\n  }),\n  codeSignup: new RouteConfig({\n    id: \"codeSignup\",\n    path: \"/inscription/code/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Inscription\",\n    description: \"Rejoignez Action Populaire\",\n    Component: () => {\n      window.location.href = \"https://melenchon2027.fr\";\n      return null;\n    },\n    hideTopBar: true,\n    hideFeedbackButton: true,\n    hideFooter: true,\n  }),\n  tellMore: new RouteConfig({\n    id: \"tellMore\",\n    path: \"/bienvenue/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"J'en dis plus\",\n    Component: RouteComponents.TellMorePage,\n    hideTopBar: true,\n    hideFeedbackButton: true,\n    hidePushModal: true,\n    hideFooter: true,\n  }),\n  logout: new RouteConfig({\n    id: \"logout\",\n    path: \"/deconnexion/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Déconnexion\",\n    Component: RouteComponents.LogoutPage,\n  }),\n  messages: new RouteConfig({\n    id: \"messages\",\n    path: [\"/messages/:messagePk?/\", \"/messages/:messagePk/parametres/\"],\n    params: { messagePk: null },\n    exact: true,\n    neededAuthentication: AUTHENTICATION.HARD,\n    label: \"Messages\",\n    Component: RouteComponents.MessagePage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    topBarRightLink: {\n      messageSettings: true,\n    },\n  }),\n  createContact: new RouteConfig({\n    id: \"createContact\",\n    path: \"/contacts/creer/:step?/\",\n    params: { step: null },\n    exact: true,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"Nouveau contact\",\n    Component: RouteComponents.CreateContactPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n  }),\n  soutienFinalize: new RouteConfig({\n    id: \"soutienFinalizePage\",\n    path: \"/soutien/f/:code\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Soutien\",\n    Component: RouteComponents.SoutienPageFinalize,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  soutienRejoindreActionPopulaire: new RouteConfig({\n    id: \"soutienRejoindreActionPopulaire\",\n    path: \"/soutien/rejoindre-action-populaire/\",\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Rejoindre Action populaire\",\n    Component: RouteComponents.SoutienRejoindreActionPopulaire,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: false,\n  }),\n  soutien: new RouteConfig({\n    id: \"soutienPage\",\n    path: \"/soutien/*\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Soutien\",\n    Component: RouteComponents.SoutienPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  donationLanding: new RouteConfig({\n    id: \"donationLanding\",\n    path: \"/financer/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Financer\",\n    Component: RouteComponents.DonationLandingPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  donationSuccess: new RouteConfig({\n    id: \"donationSuccess\",\n    params: { type: null },\n    path: \"/:type?/dons/remerciement/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Faire un don\",\n    Component: RouteComponents.DonationSuccessPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  chequeValidation: new RouteConfig({\n    id: \"chequeValidation\",\n    params: { paymentId: null },\n    path: \"/paiement/cheque/:paymentId\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Merci pour votre don\",\n    Component: RouteComponents.ChequeValidationPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  externalDonation: new RouteConfig({\n    id: \"externalDonation\",\n    params: { type: null },\n    path: [\"/:type?/dons/informations/\", \"/:type?/dons-mensuels/informations/\"],\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Faire un don\",\n    Component: RouteComponents.ExternalDonationPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  donations: new RouteConfig({\n    id: \"donations\",\n    path: \"/:type?/dons/:step?/\",\n    params: { type: null, step: null },\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Faire un don\",\n    Component: RouteComponents.DonationLandingPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  contributionSuccess: new RouteConfig({\n    id: \"contributionSuccess\",\n    path: \"/contributions/remerciement/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Devenir financeur·euse de la France insoumise\",\n    Component: RouteComponents.ContributionSuccessPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  contributionRenewal: new RouteConfig({\n    id: \"contributionRenewal\",\n    path: \"/contributions/renouvelement/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.HARD,\n    label: \"Renouveler le financement à la France insoumise\",\n    Component: RouteComponents.ContributionRenewalPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n  }),\n  contributions: new RouteConfig({\n    id: \"contributions\",\n    path: \"/contributions/:step?/\",\n    params: { step: null },\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Devenir financeur·euse de la France insoumise\",\n    Component: RouteComponents.DonationLandingPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  search: new RouteConfig({\n    id: \"search\",\n    path: \"/recherche/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    Component: RouteComponents.SearchPage,\n    label: \"Rechercher\",\n    hasLayout: false,\n    hideFeedbackButton: true,\n  }),\n  searchGroup: new RouteConfig({\n    id: \"searchGroup\",\n    path: \"/recherche/groupes/\",\n    neededAuthentication: AUTHENTICATION.NONE,\n    Component: RouteComponents.SearchGroupPage,\n    label: \"Rechercher un groupe\",\n    hasLayout: false,\n    hideFeedbackButton: true,\n  }),\n  searchEvent: new RouteConfig({\n    id: \"searchEvent\",\n    path: \"/recherche/evenements/\",\n    neededAuthentication: AUTHENTICATION.NONE,\n    Component: RouteComponents.SearchEventPage,\n    label: \"Rechercher un événement\",\n    hasLayout: false,\n    hideFeedbackButton: true,\n  }),\n  testErrorPage: new RouteConfig({\n    id: \"testErrorPage\",\n    path: \"/500/\",\n    neededAuthentication: AUTHENTICATION.NONE,\n    Component: RouteComponents.TestErrorPage,\n    label: \"Une erreur est survenue\",\n    hideFeedbackButton: true,\n    hideFooter: true,\n  }),\n  toktokPreview: new RouteConfig({\n    id: \"toktokPreview\",\n    path: \"/toktok/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.SOFT,\n    label: \"TokTok\",\n    Component: RouteComponents.TokTokPreview,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n  }),\n  faIcons: new RouteConfig({\n    id: \"faIcons\",\n    path: \"/test/fontawesome/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Icônes Font Awesome\",\n    Component: RouteComponents.FaIcons,\n    hideFeedbackButton: true,\n  }),\n  newVotingProxyRequest: new RouteConfig({\n    id: \"newVotingProxyRequest\",\n    path: \"/procuration/donner-ma-procuration/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Donner ma procuration de vote\",\n    Component: RouteComponents.NewVotingProxyRequest,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  votingProxyLandingPage: new RouteConfig({\n    id: \"votingProxyLandingPage\",\n    path: \"/procuration/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Espace procurations de vote\",\n    Component: RouteComponents.VotingProxyLandingPage,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  newVotingProxy: new RouteConfig({\n    id: \"newVotingProxy\",\n    path: \"/procuration/prendre-une-procuration/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Prendre une procuration de vote\",\n    Component: RouteComponents.NewVotingProxy,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  replyToSingleVotingProxyRequest: new RouteConfig({\n    id: \"replyToSingleVotingProxyRequest\",\n    path: \"/procuration/prendre-une-procuration/demande/:votingProxyRequestPk/\",\n    params: { votingProxyRequestPk: null },\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Prendre une procuration de vote\",\n    Component: RouteComponents.ReplyToSingleVotingProxyRequest,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  replyToVotingProxyRequests: new RouteConfig({\n    id: \"replyToVotingProxyRequests\",\n    path: \"/procuration/prendre-une-procuration/:votingProxyPk/\",\n    params: { votingProxyPk: null },\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Prendre une procuration de vote\",\n    Component: RouteComponents.ReplyToVotingProxyRequests,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  acceptedVotingProxyRequests: new RouteConfig({\n    id: \"acceptedVotingProxyRequests\",\n    path: \"/procuration/prendre-une-procuration/:votingProxyPk/acceptees/\",\n    params: { votingProxyPk: null },\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Prendre une procuration de vote\",\n    Component: RouteComponents.ReplyToVotingProxyRequests,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  votingProxyRequestsForProxy: new RouteConfig({\n    id: \"votingProxyRequestsForProxy\",\n    path: \"/procuration/prendre-une-procuration/:votingProxyPk/demandes/\",\n    params: { votingProxyPk: null },\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Prendre une procuration de vote\",\n    Component: RouteComponents.VotingProxyRequestForProxy,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  votingProxyRequestDetails: new RouteConfig({\n    id: \"votingProxyRequestDetails\",\n    path: \"/procuration/reponse/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Procuration de vote\",\n    Component: RouteComponents.VotingProxyRequestDetails,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n  newPollingStationOfficer: new RouteConfig({\n    id: \"newPollingStationOfficer\",\n    path: \"/elections/assesseures-deleguees/\",\n    exact: true,\n    neededAuthentication: AUTHENTICATION.NONE,\n    label: \"Devenir assesseur·e ou délégué·e\",\n    Component: RouteComponents.NewPollingStationOfficer,\n    hasLayout: false,\n    hideFeedbackButton: true,\n    hideFooter: true,\n    appOnlyTopBar: true,\n  }),\n};\n\nexport const getRouteByPathname = (pathname) => {\n  return Object.values(routeConfig).find(\n    (route) => route.path === pathname || route.match(pathname),\n  );\n};\n\nconst routes = Object.values(routeConfig).filter((route) => !route.isPartial);\n\nexport default routes;\n","export const ACTIVITY_STATUS = {\n  STATUS_UNDISPLAYED: \"U\",\n  STATUS_DISPLAYED: \"S\",\n  STATUS_INTERACTED: \"I\",\n};\n\nexport const CHANGED_DATA_LABEL = {\n  name: \"nom\",\n  start_time: \"date\",\n  end_time: \"date\",\n  contact_name: \"contact\",\n  contact_email: \"contact\",\n  contact_phone: \"contact\",\n  location_name: \"lieu\",\n  location_address1: \"lieu\",\n  location_address2: \"lieu\",\n  location_city: \"lieu\",\n  location_zip: \"lieu\",\n  location_country: \"lieu\",\n  description: \"présentation\",\n  facebook: \"lien facebook\",\n};\n\nexport const getUnread = (data) => {\n  return Array.isArray(data)\n    ? data.filter(\n        (activity) => activity.status === ACTIVITY_STATUS.STATUS_UNDISPLAYED,\n      )\n    : [];\n};\n\nexport const getUnreadCount = (data) => {\n  return getUnread(data).length;\n};\n\nexport const getUninteracted = (data) => {\n  return Array.isArray(data)\n    ? data.filter(\n        (activity) => activity.status !== ACTIVITY_STATUS.STATUS_INTERACTED,\n      )\n    : [];\n};\n\nexport const getUninteractedCount = (data) => {\n  return getUninteracted(data).length;\n};\n","import { useEffect, useState } from \"react\";\nimport useSWR from \"swr\";\n\nconst pinger = async (url) => {\n  try {\n    const res = await fetch(url, { method: \"HEAD\", credentials: \"omit\" });\n    return res.ok;\n  } catch (e) {\n    return false;\n  }\n};\n\nconst pingerConfig = {\n  refreshInterval: 10000,\n  dedupingInterval: 10000,\n  focusThrottleInterval: 10000,\n  refreshWhenOffline: true,\n  shouldRetryOnError: false,\n  revalidateIfStale: false,\n};\n\nexport const useIsOffline = () => {\n  const { data: isOnline } = useSWR(\"/api/ping/\", pinger, pingerConfig);\n\n  const [isUnloading, setIsUnloading] = useState(false);\n\n  useEffect(() => {\n    let handleBeforeUnload = () => setIsUnloading(true);\n    window.addEventListener(\"beforeunload\", handleBeforeUnload);\n    return () => {\n      window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n    };\n  }, []);\n\n  return !isUnloading && typeof isOnline === \"boolean\" ? !isOnline : null;\n};\n"],"names":["a","relativeToAbsoluteURL","document","createElement","url","href","addQueryStringParams","params","arguments","length","undefined","relative","_typeof","Object","keys","_window","parsedURL","URL","window","location","origin","parseURL","entries","forEach","_ref3","_ref4","_slicedToArray","key","value","searchParams","set","toString","replace","e","parseQueryStringParams","create","queryString","split","search","slice","entry","_entry$split","_entry$split2","match","name","index","exec","push","slugify","string","separator","trim","normalize","toLowerCase","RegExp","concat","getHasRouter","state","hasRouter","getIsSessionLoaded","isSessionLoaded","getUser","user","getIsConnected","getAuthentication","authentication","getBookmarkedEmails","bookmarkedEmails","getRoutes","routes","getToasts","toasts","getPageTitle","pageTitle","getBackLink","backLink","isProtected","getTopBarRightLink","topBarRightLink","getAdminLink","adminLink","getMessages","values","messages","filter","Boolean","getIsLoadingMessages","isLoadingMessages","getIsUpdatingMessages","isUpdatingMessages","reducers","action","type","ACTION_TYPE","isPoliticalSupport","SET_IS_POLITICAL_SUPPORT_ACTION","AUTHENTICATION","NONE","_objectSpread","Array","isArray","newState","_toConsumableArray","toast","toastId","some","t","shortUUID","_ref","title","message","id","_defineProperty","error","comment","newMessage","lastUpdate","Date","now","comments","recentComments","commentCount","c","currentValue","reducer","nextValue","allIcons","icons","RawFeatherIcon","styled","span","withConfig","shouldForwardProp","isPropValid","attrs","_icons$name$toSvg","_icons$name","strokeWidth","strokeLinecap","color","strokeLinejoin","svgStyle","map","k","style","cssKey","m","join","dangerouslySetInnerHTML","__html","toSvg","props","width","height","top","theme","propTypes","PropTypes","FeatherIcon","_ref2","small","dimension","inline","React","defaultProps","IconList","ul","IconListItem","li","icon","client","axios","xsrfCookieName","xsrfHeaderName","CSRFPromise","interceptors","request","use","_asyncToGenerator","_regeneratorRuntime","_callee","config","_context","prev","next","Cookies","get","method","abrupt","stop","_x","apply","log","logger","ENDPOINT","activities","activity","bulkUpdateActivityStatus","setAllActivitiesRead","announcements","customAnnouncement","unreadActivityCount","getActivityEndpoint","endpoint","updateActivityStatus","activityId","status","fromPush","result","data","res","_args","ACTIVITY_STATUS","STATUS_INTERACTED","pushStatus","put","sent","t0","debug","setActivityAsInteracted","setAllActivitiesAsRead","_ref6","_callee4","_context4","mutate","session","hasUnreadActivities","init","globalContextData","nonReactRoutes","setSessionContext","addToasts","clearToast","setPageTitle","setBackLink","setTopBarRightLink","setAdminLink","dispatchFunction","useMobileApp","_useLocalStorage","useLocalStorage","_useLocalStorage2","isAndroid","_useLocalStorage3","_useLocalStorage4","isIOS","ios","android","isMobileApp","getScrollableParent","element","regex","parents","_node","ps","parentNode","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","i","scrollingElement","documentElement","scrollParent","INTERACTIVE_ELEMENT","A","hasAttribute","AUDIO","BUTTON","DETAILS","EMBED","IFRAME","KEYGEN","LABEL","SELECT","TEXTAREA","VIDEO","handleEventExceptForInteractiveChild","event","callback","target","currentTarget","parentElement","nodeName","HTMLInputElement","tabIndex","lazy","lazyImport","fallback","LazyComponent","isOffline","useIsOffline","_useState","useState","_useState2","setError","Lazy","useMemo","reactLazy","Fallback","Error","default","useEffect","displayName","preload","_callee2","_context2","scrollToElement","targetElement","scrollerElement","marginTop","scrollableElement","scrollTo","offsetTop","behavior","getFirstElementFromError","errors","_ref5","errorElement","elt","querySelector","getBoundingClientRect","scrollToError","useCurrentLocation","_useState3","pathname","_useState4","setPathname","history","useHistory","listen","useRoute","route","routeParams","useSelector","isInternal","getRouteByPathname","routeConfig","getLink","LinkComponent","ExternalLink","forwardedRef","rest","_objectWithoutProperties","_excluded","_extends","ref","InternalLink","to","_excluded2","nextState","RouterLink","RouteLink","_excluded3","_useRoute","newHref","fromActivityUpdated","useRef","handleFromActivity","useCallback","current","from_activity","Toasts","GlobalContext","ProdProvider","_state$toasts","_ref$hasRouter","_ref$hasToasts","hasToasts","colorScheme","children","_useReducer","useReducer","rootReducer","_useReducer2","dispatch","doDispatch","createDispatch","sessionContext","useSWR","_self$caches","self","caches","err","Provider","ThemeProvider","getTheme","QueryStringParamsActions","Suspense","GlobalContextProvider","selector","useContext","useDispatch","ICONS","getIconDataUrl","_ref$color","fill","strokeLineCap","strokeLineJoin","svg","encodeURI","SOFT","HARD","BOOKMARKED_EMAILS_COOKIE_NAME","BOOKMARKED_EMAILS_COOKIE_OPTIONS","expires","secure","process","sameSite","NEWSLETTERS","LFI_reguliere","label","selected","visible","LFI_exceptionnelle","ELUES","person","newsletters","includes","membreReseauElus","LFI_jeunes_insoumise","LFI_liaisons","ILB","NEWSLETTER_OPTIONS","getNewsletterOptions","n","cookieData","JSON","parse","bookmarkEmails","emails","stringify","bookmarkEmail","email","getMobileOS","userAgent","navigator","vendor","opera","MSStream","spinner","keyframes","ButtonLoader","viewBox","xmlns","cx","cy","r","loading","BaseButton","button","_ref7","link","as","Link","_ref8","wrap","_ref9","_ref0","_ref1","block","_ref10","_ref11","_ref12","rightIcon","_ref13","_ref14","_ref15","borderRadius","text50","text1000","_ref16","_ref17","disabled","SoutienButton","css","soutienPrimary","text25","collapse","SoutienButtonSecondary","soutienSecondary","SoutienButtonTertiary","DefaultButton","text100","WhiteButton","primary500","background0","WhiteRedButton","error500","TransparentButton","primary600","PrimaryButton","SecondaryButton","secondary500","secondary600","TertiaryButton","ConfirmedButton","primary100","primary150","UnavailableButton","text500","DismissButton","ChooseButton","text200","SuccessButton","success500","DangerButton","FacebookButton","white","facebook","LinkButton","LFIButtonActiveMixin","LFIprimary500","LFIButton","textColor","active","variants","whiteRed","transparent","primary","secondary","tertiary","confirmed","unavailable","dismiss","choose","success","danger","lfi","lfiPrimary","lfiDanger","error100","soutien","soutienTertiary","ButtonLabel","Button","forwardRef","_props$icon","B","className","colors","HomePage","AgendaPage","CalendarPage","EventMap","GroupUpcomingEventPage","GroupUpcomingEventRedirectPage","EventPage","MissingDocumentsPage","EventRequiredDocuments","GroupsPage","CreateEvent","FullGroupPage","GroupPage","GroupMap","ThematicGroups","ActivityPage","NavigationPage","SignupPage","LoginPage","CodeLoginPage","CodeSignupPage","TellMorePage","LogoutPage","MessagePage","CreateContactPage","DonationLandingPage","ExternalDonationPage","DonationSuccessPage","ChequeValidationPage","ContributionSuccessPage","ContributionRenewalPage","ActionToolsPage","SearchPage","SearchGroupPage","SearchEventPage","VotingProxyLandingPage","NewVotingProxyRequest","NewVotingProxy","ReplyToVotingProxyRequests","ReplyToSingleVotingProxyRequest","VotingProxyRequestForProxy","VotingProxyRequestDetails","TestErrorPage","TokTokPreview","NewPollingStationOfficer","EventSpeakerPage","FaIcons","CreateSpendingRequest","EditSpendingRequest","SpendingRequestDetails","SpendingRequestHistory","GroupFinanceHistory","SoutienPage","SoutienPageFinalize","SoutienRejoindreActionPopulaire","BASE_PATH","RouteConfig","_createClass","_this","_classCallCheck","this","__keys__","path","__re__","pathToRegexp","end","exact","__toPath__","bind","absolute","notificationSettingRoute","neededAuthentication","root","isPartial","agenda","hasLayout","Component","RouteComponents","events","layoutProps","$smallBackgroundColor","hideFeedbackButton","keepScroll","hideFooterBanner","AnonymousComponent","anonymousConfig","missingEventDocumentsModal","missingEventDocuments","eventMap","hideFooter","mapEventDetails","redirectTo","_","groupUpcomingEventRedirect","groupUpcomingEvents","createEvent","eventSettings","eventPk","activePanel","eventRequiredDocuments","eventSpeaker","eventDetails","groups","groupMap","mapGroupDetails","fullGroup","groupFinanceHistory","groupSettings","activeTab","createGroupSpendingRequest","groupDetailsGestion","hideTopBar","groupDetails","thematicGroups","spendingRequestDetails","spendingRequestHistory","editSpendingRequest","protected","actionTools","notificationSettings","menu","displayFooterOnMobileApp","paddingBottom","login","description","signup","codeLogin","codeSignup","tellMore","hidePushModal","logout","messagePk","messageSettings","createContact","step","soutienFinalize","appOnlyTopBar","soutienRejoindreActionPopulaire","donationLanding","donationSuccess","chequeValidation","paymentId","externalDonation","donations","contributionSuccess","contributionRenewal","contributions","searchGroup","searchEvent","testErrorPage","toktokPreview","faIcons","newVotingProxyRequest","votingProxyLandingPage","newVotingProxy","replyToSingleVotingProxyRequest","votingProxyRequestPk","replyToVotingProxyRequests","votingProxyPk","acceptedVotingProxyRequests","votingProxyRequestsForProxy","votingProxyRequestDetails","newPollingStationOfficer","find","STATUS_UNDISPLAYED","STATUS_DISPLAYED","CHANGED_DATA_LABEL","start_time","end_time","contact_name","contact_email","contact_phone","location_name","location_address1","location_address2","location_city","location_zip","location_country","getUnread","pinger","fetch","credentials","ok","pingerConfig","refreshInterval","dedupingInterval","focusThrottleInterval","refreshWhenOffline","shouldRetryOnError","revalidateIfStale","isOnline","isUnloading","setIsUnloading","handleBeforeUnload","addEventListener","removeEventListener"],"sourceRoot":""}