{"version":3,"file":"static/components/6212-fa68d9eb0c81849137f7.mjs?cv=7","mappings":"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","sources":["webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/events/components/common/UpcomingEvents/MiniEventCard.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/events/components/common/UpcomingEvents/UpcomingEvents.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/events/components/common/UpcomingEvents/index.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/Tooltip.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/allPages/FloatButton.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/allPages/HelpButton.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/ActionButtons/actions.config.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/ActionButtons/ActionButton.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/ActionButtons/ActionButtons.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/Layout/StyledComponents.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/authentication/api.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/Icon.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/lib/components/utils/fontawesome.js"],"sourcesContent":["import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport styled from \"styled-components\";\n\nimport Link from \"@agir/front/app/Link\";\n\nimport { routeConfig } from \"@agir/front/app/routes.config\";\nimport { displayHumanDateString } from \"@agir/lib/utils/time\";\n\nconst StyledCard = styled(Link)`\n  display: block;\n  width: 254px;\n  min-height: 74px;\n  padding: 1rem;\n  border-radius: ${(props) => props.theme.borderRadius};\n  box-shadow: ${(props) => props.theme.cardShadow};\n  background-color: ${(props) => props.theme.background0};\n\n  &:hover,\n  &:focus {\n    text-decoration: none;\n  }\n\n  & + & {\n    margin-top: 0.5rem;\n  }\n\n  & > * {\n    font-size: 0.875rem;\n    line-height: 1.5;\n    font-weight: 400;\n    display: block;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    overflow: hidden;\n\n    &::first-letter {\n      text-transform: capitalize;\n    }\n  }\n\n  & > strong {\n    color: ${(props) => props.theme.text1000};\n  }\n`;\n\nexport const MiniEventCard = (props) => {\n  const { id, name, startTime, location, backLink, style, className } = props;\n  return (\n    <StyledCard\n      style={style}\n      className={className}\n      backLink={backLink}\n      to={routeConfig.eventDetails.getLink({ eventPk: id })}\n    >\n      <span>\n        {[displayHumanDateString(startTime), location?.name?.trim()]\n          .filter(Boolean)\n          .join(\" • \")}\n      </span>\n      <strong>{name}</strong>\n    </StyledCard>\n  );\n};\n\nMiniEventCard.propTypes = {\n  id: PropTypes.string.isRequired,\n  startTime: PropTypes.string.isRequired,\n  name: PropTypes.string.isRequired,\n  location: PropTypes.shape({\n    name: PropTypes.string,\n  }),\n  backLink: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n  style: PropTypes.object,\n  className: PropTypes.string,\n};\n\nexport default MiniEventCard;\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { animated, useSpring } from \"@react-spring/web\";\nimport styled from \"styled-components\";\nimport { Swiper, SwiperSlide } from \"swiper/react\";\n\nimport MiniEventCard from \"./MiniEventCard\";\n\nimport \"swiper/scss\";\n\nexport const SingleSlide = styled(animated.div)`\n  margin: 0;\n`;\n\nexport const Carousel = styled(animated.div)`\n  .swiper {\n    .swiper-slide {\n      box-sizing: border-box;\n      width: auto;\n      padding: 1px;\n    }\n  }\n`;\n\nexport const HorizontalLayout = (props) => {\n  const { events, ...rest } = props;\n  const style = useSpring({\n    from: {\n      opacity: 0,\n      paddingLeft: 24,\n    },\n    to: {\n      opacity: 1,\n      paddingLeft: 0,\n    },\n  });\n\n  if (events.length === 1) {\n    return (\n      <SingleSlide style={style}>\n        <MiniEventCard {...rest} {...events[0]} />\n      </SingleSlide>\n    );\n  }\n\n  return events.length > 0 ? (\n    <Carousel style={style}>\n      <Swiper spaceBetween={16} slidesPerView=\"auto\">\n        {events.map((event) => (\n          <SwiperSlide key={event.id}>\n            <MiniEventCard {...rest} {...event} />\n          </SwiperSlide>\n        ))}\n      </Swiper>\n    </Carousel>\n  ) : null;\n};\n\nconst VerticalLayout = (props) => {\n  const { events, ...rest } = props;\n\n  return events.length > 0\n    ? events.map((event) => (\n        <MiniEventCard key={event.id} {...rest} {...event} />\n      ))\n    : null;\n};\n\nHorizontalLayout.propTypes = VerticalLayout.propTypes = {\n  events: PropTypes.arrayOf(PropTypes.object),\n};\n\nconst UpcomingEvents = (props) => {\n  const { orientation = \"horizontal\", ...rest } = props;\n\n  if (props.events.length === 0) {\n    return null;\n  }\n\n  if (orientation === \"horizontal\") {\n    return <HorizontalLayout {...rest} />;\n  }\n\n  if (orientation === \"vertical\") {\n    return <VerticalLayout {...rest} />;\n  }\n\n  return null;\n};\nUpcomingEvents.propTypes = {\n  events: PropTypes.arrayOf(PropTypes.object),\n  orientation: PropTypes.oneOf([\"horizontal\", \"vertical\"]),\n};\n\nexport default UpcomingEvents;\n","import UpcomingEvents from \"./UpcomingEvents\";\n\nexport default UpcomingEvents;\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { useTransition, animated } from \"@react-spring/web\";\nimport styled from \"styled-components\";\n\nimport closeButton from \"./images/close-btn.svg\";\n\nconst fadeInTransition = {\n  from: { opacity: 0 },\n  enter: { opacity: 1 },\n  leave: { opacity: 0 },\n  delay: 200,\n};\n\nconst CloseButton = styled.button`\n  position: absolute;\n  top: 0;\n  right: 0;\n  transform: translate(50%, -50%);\n  width: 24px;\n  height: 24px;\n  background-color: transparent;\n  border: none;\n  background-image: url(${closeButton});\n  background-repeat: no-repeat;\n  background-position: center center;\n  background-size: cover;\n  cursor: pointer;\n`;\n\nconst BaseTooltip = styled(animated.p)`\n  position: absolute;\n  width: 224px;\n  background-color: ${(props) => props.theme.text1000};\n  color: ${(props) => props.theme.background0};\n  padding: 1rem;\n  display: flex;\n  flex-flow: column nowrap;\n  font-size: 13px;\n  line-height: 1.3;\n  text-align: left;\n\n  strong {\n    font-size: 14px;\n  }\n\n  &:after {\n    content: \"\";\n    position: absolute;\n    border-style: solid;\n  }\n`;\n\nconst Tooltips = {\n  \"top-center\": styled(BaseTooltip)`\n    top: -10px;\n    left: 50%;\n    transform: translate(-50%, -100%);\n\n    &:after {\n      top: 100%;\n      right: 50%;\n      transform: translateX(3px);\n      border-width: 8px 6px 0 6px;\n      border-color: ${(props) => props.theme.text1000} transparent transparent\n        transparent;\n    }\n  `,\n  \"top-left\": styled(BaseTooltip)`\n    top: -10px;\n    right: 0;\n    transform: translate(-26px, -100%);\n\n    &:after {\n      top: 100%;\n      right: 0;\n      margin-left: -4px;\n      border-width: 4px;\n      border-color: ${(props) => props.theme.text1000}\n        ${(props) => props.theme.text1000} transparent transparent;\n    }\n  `,\n  \"top-right\": styled(BaseTooltip)`\n    top: -10px;\n    left: 0;\n    transform: translate(26px, -100%);\n\n    &:after {\n      top: 100%;\n      left: 0;\n      border-width: 4px;\n      border-color: ${(props) => props.theme.text1000} transparent transparent\n        ${(props) => props.theme.text1000};\n    }\n  `,\n};\n\nexport const TooltipContainer = (props) => {\n  const { shouldShow, onClose, position = \"top-center\", children } = props;\n  const tooltipTransition = useTransition(shouldShow, fadeInTransition);\n  const Tooltip = React.useMemo(() => Tooltips[position], [position]);\n  return tooltipTransition((style, item) =>\n    item ? (\n      <Tooltip style={style} position={position}>\n        {children}\n        {onClose ? <CloseButton aria-label=\"Cacher\" onClick={onClose} /> : null}\n      </Tooltip>\n    ) : null,\n  );\n};\nTooltipContainer.propTypes = {\n  position: PropTypes.oneOf(Object.keys(Tooltips)),\n  shouldShow: PropTypes.bool,\n  onClose: PropTypes.func,\n  children: PropTypes.node,\n};\n\nexport default TooltipContainer;\n","import PropTypes from \"prop-types\";\nimport React, { useCallback, useState } from \"react\";\nimport { useTransition, animated } from \"@react-spring/web\";\nimport { useEffectOnce } from \"react-use\";\nimport styled, { css } from \"styled-components\";\n\nimport { useSelector } from \"@agir/front/globalContext/GlobalContext\";\nimport { getUser, getRoutes } from \"@agir/front/globalContext/reducers\";\nimport { useMobileApp } from \"@agir/front/app/hooks/useMobileApp\";\nimport { useLocalStorage } from \"@agir/lib/utils/hooks\";\n\nimport Tooltip from \"@agir/front/genericComponents/Tooltip\";\n\nconst slideInTransition = {\n  from: { opacity: 0, marginBottom: \"-3rem\" },\n  enter: { opacity: 1, marginBottom: \"0rem\" },\n  leave: { opacity: 0, marginBottom: \"-3rem\" },\n};\n\nconst Button = styled.a`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  height: 100%;\n  border-radius: 100%;\n  background-color: transparent;\n  background-repeat: no-repeat;\n  background-size: cover;\n  background-position: center center;\n\n  ${({ $background }) =>\n    $background\n      ? css`\n          background-image: url(${$background});\n        `\n      : css`\n          background-color: ${(props) => props.theme.secondary500};\n          &:hover {\n            background-color: ${(props) => props.theme.secondary600};\n          }\n        `}\n\n  &:hover {\n    text-decoration: none;\n  }\n\n  i {\n    font-size: 2em;\n  }\n`;\n\nconst Wrapper = styled(animated.div)`\n  position: fixed;\n  bottom: 1.5rem;\n  right: 1.5rem;\n  width: 3.5rem;\n  height: 3.5rem;\n  border-radius: 50%;\n  z-index: ${(props) => props.theme.zindexFloatButton};\n\n  @media (max-width: ${(props) => props.theme.collapse}px) {\n    width: 3rem;\n    height: 3rem;\n    bottom: 6.5rem;\n  }\n`;\n\nexport const FloatButton = (props) => {\n  const { isActive, shouldPushTooltip, href, content, icon, label } = props;\n\n  const [hasTooltip, setHasTooltip] = useState(false);\n\n  const hideTooltip = useCallback(() => {\n    setHasTooltip(false);\n  }, []);\n\n  const showTooltip = useCallback(() => {\n    setHasTooltip(true);\n  }, []);\n\n  const pushTooltip = useCallback(() => {\n    shouldPushTooltip && showTooltip();\n  }, [shouldPushTooltip, showTooltip]);\n\n  const wrapperTransition = useTransition(isActive, {\n    ...slideInTransition,\n    onRest: pushTooltip,\n  });\n\n  return wrapperTransition((style, item) =>\n    item ? (\n      <Wrapper style={{ ...(props.style || {}), ...style }}>\n        <Tooltip\n          position=\"top-left\"\n          shouldShow={hasTooltip}\n          onClose={shouldPushTooltip ? hideTooltip : undefined}\n        >\n          {content}\n        </Tooltip>\n        <Button\n          $background={props.background}\n          href={href}\n          aria-label={label}\n          onMouseOver={shouldPushTooltip ? undefined : showTooltip}\n          onMouseLeave={shouldPushTooltip ? undefined : hideTooltip}\n        >\n          <i className={icon} />\n        </Button>\n      </Wrapper>\n    ) : null,\n  );\n};\nFloatButton.propTypes = {\n  isActive: PropTypes.bool,\n  shouldPushTooltip: PropTypes.bool,\n  href: PropTypes.string,\n};\n\nconst ConnectedFloatButton = (props) => {\n  const user = useSelector(getUser);\n  const [visitCount, setVisitCount] = useLocalStorage(\"AP_vcount\", 0);\n  const [shouldPushTooltip, setShouldPushTooltip] = useState(false);\n\n  useEffectOnce(() => {\n    const count = visitCount + 1;\n    count % 20 === 3 && setShouldPushTooltip(true);\n    setVisitCount(count);\n  });\n\n  return (\n    <FloatButton\n      {...props}\n      shouldPushTooltip={shouldPushTooltip}\n      isActive={!!user}\n    />\n  );\n};\nexport default ConnectedFloatButton;\n","import React from \"react\";\n\nimport { useSelector } from \"@agir/front/globalContext/GlobalContext\";\nimport { getRoutes } from \"@agir/front/globalContext/reducers\";\n\nimport ConnectedFloatButton from \"@agir/front/allPages/FloatButton\";\n\nfunction HelpButton() {\n  const routes = useSelector(getRoutes);\n  const href = routes && routes.help;\n\n  return (\n    <ConnectedFloatButton\n      icon=\"fa-regular fa-circle-question\"\n      label=\"Aide\"\n      href={href}\n      content={<strong>Besoin d'aide ?</strong>}\n    />\n  );\n}\n\nexport default HelpButton;\n","import React from \"react\";\n\nimport * as style from \"@agir/front/genericComponents/_variables-light.scss\";\n\nimport { RawFeatherIcon } from \"@agir/front/genericComponents/FeatherIcon\";\n\nconst ACTIONS = {\n  donations: (user) =>\n    !!user?.activeContribution && user.activeContribution.renewable\n      ? {\n          key: \"contributionRenewal\",\n          route: \"contributionRenewal\",\n          label: [\"Financer\", \"Renouveler mon financement\"],\n          icon: \"refresh-cw\",\n          color: \"#FD3D66\",\n        }\n      : {\n          key: \"donations\",\n          route: \"donationLanding\",\n          label: [\"Don\", \"Faire un don\"],\n          icon: \"fa-circle-euro\",\n          color: \"#FD3D66\",\n        },\n  contributions: (user) =>\n    !!user?.activeContribution && !user.activeContribution.renewable\n      ? {\n          key: \"contributions\",\n          route: \"donations\",\n          label: [\"Don\", \"Faire un don\"],\n          icon: \"heart\",\n          color: \"#FD3D66\",\n        }\n      : !!user?.activeContribution?.renewable\n        ? {\n            key: \"contributionRenewal\",\n            route: \"contributionRenewal\",\n            label: [\"Financer\", \"Renouveler mon financement\"],\n            icon: \"refresh-cw\",\n            color: \"#FD3D66\",\n          }\n        : {\n            key: \"contributions\",\n            route: \"contributions\",\n            label: [\"Financer\", \"Devenir financeur·euse\"],\n            icon: \"trending-up\",\n            color: \"#FD3D66\",\n          },\n  createEvent: {\n    key: \"createEvent\",\n    route: \"createEvent\",\n    label: [\"Créer événement\", \"Créer un événement\"],\n    color: \"primary500\",\n    icon: (\n      <span>\n        <svg\n          width=\"24\"\n          height=\"24\"\n          viewBox=\"0 0 16 16\"\n          fill=\"none\"\n          stroke=\"currentcolor\"\n          strokeWidth={1.33}\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path d=\"M14 8.99999V3.99999C14 3.26361 13.403 2.66666 12.6667 2.66666H3.33333C2.59695 2.66666 2 3.26361 2 3.99999V13.3333C2 14.0697 2.59695 14.6667 3.33333 14.6667H8.66667\" />\n          <path d=\"M10.6667 1.33334V4.00001\" />\n          <path d=\"M5.33331 1.33334V4.00001\" />\n          <path d=\"M2 6.66666H14\" />\n          <path d=\"M12.6667 11.3333V15.3333\" />\n          <path d=\"M14.6667 13.3333H10.6667\" />\n        </svg>\n      </span>\n    ),\n  },\n  coupDeFil: {\n    key: \"coupDeFil\",\n    route: \"coupDeFil\",\n    label: [\"Coup de fil\", \"Coup de fil pour convaincre\"],\n    icon: \"phone\",\n    color: \"success500\",\n  },\n  materiel: {\n    key: \"materiel\",\n    route: \"materiel\",\n    label: \"Matériel\",\n    icon: \"fa-box-taped\",\n    color: \"secondary500\",\n    textColor: \"text1000\",\n  },\n  createContact: {\n    key: \"createContact\",\n    route: \"createContact\",\n    label: [\"Ajouter contact\", \"Ajouter un contact\"],\n    icon: \"user-plus\",\n    color: \"primary600\",\n    textColor: \"background0\",\n  },\n  toktokPreview: {\n    key: \"toktokPreview\",\n    route: \"toktokPreview\",\n    label: [\"Porte-à-porte\", \"TokTok - Porte-à-porte\"],\n    icon: (\n      <span style={{ backgroundColor: \"PULBleu\" }}>\n        <svg\n          width=\"24\"\n          height=\"24\"\n          viewBox=\"0 0 24 24\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            d=\"M19.5 21V1.5H4.5V21\"\n            stroke=\"white\"\n            strokeWidth=\"2.25\"\n            strokeLinecap=\"round\"\n            strokeLinejoin=\"round\"\n          />\n          <line\n            x1=\"2.625\"\n            y1=\"21.375\"\n            x2=\"21.375\"\n            y2=\"21.375\"\n            stroke=\"white\"\n            strokeWidth=\"2.25\"\n            strokeLinecap=\"round\"\n            strokeLinejoin=\"round\"\n          />\n          <circle cx=\"15\" cy=\"10.5\" r=\"1.5\" fill=\"white\" />\n        </svg>\n      </span>\n    ),\n    color: \"primary500\",\n  },\n  votingProxy: (user) =>\n    user?.votingProxyId && user?.hasVotingProxyRequests\n      ? {\n          key: \"votingProxy\",\n          route: \"acceptedVotingProxyRequests\",\n          routeParams: { votingProxyPk: user.votingProxyId },\n          label: [\"Mes procurations\", \"Mes procurations de vote\"],\n          icon: \"edit-3\",\n          color: \"votingProxyOrange\",\n        }\n      : {\n          key: \"votingProxy\",\n          route: \"votingProxyLandingPage\",\n          label: [\"Procuration\", \"Espace procurations\"],\n          icon: \"edit-3\",\n          color: \"votingProxyOrange\",\n        },\n  actionTools: {\n    key: \"actionTools\",\n    route: \"actionTools\",\n    label: \"Voir tout\",\n    icon: \"arrow-right\",\n    textColor: \"text1000\",\n    borderColor: \"text200\",\n  },\n  newPollingStationOfficer: {\n    key: \"newPollingStationOfficer\",\n    route: \"newPollingStationOfficer\",\n    label: [\"Assesseurs/délégués\", \"Devenir assesseur·e ou délégué·e\"],\n    icon: (\n      <span style={{ backgroundColor: \"referralPink\" }}>\n        <svg\n          width=\"25\"\n          height=\"24\"\n          viewBox=\"0 0 25 24\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <g clipPath=\"url(#clip0_5242_40128)\">\n            <path\n              d=\"M3.5 15H2C1.44772 15 1 15.4477 1 16V21C1 21.5523 1.44772 22 2 22H22C22.5523 22 23 21.5523 23 21V16.5C23 15.9477 22.5523 15.5 22 15.5H20.5M5.5 15.5V3C5.5 2.44772 5.94772 2 6.5 2H17.5C18.0523 2 18.5 2.44771 18.5 3V15.5C18.5 16.0523 18.0523 16.5 17.5 16.5H6.5C5.94772 16.5 5.5 16.0523 5.5 15.5Z\"\n              stroke=\"white\"\n              strokeWidth=\"2\"\n            />\n            <path\n              d=\"M9 8.6L10.299 10.1588C10.6754 10.6105 11.3585 10.6415 11.7743 10.2257L15 7\"\n              stroke=\"white\"\n              strokeWidth=\"2\"\n            />\n          </g>\n          <defs>\n            <clipPath id=\"clip0_5242_40128\">\n              <rect\n                width=\"24\"\n                height=\"24\"\n                fill=\"white\"\n                transform=\"translate(0.5)\"\n              />\n            </clipPath>\n          </defs>\n        </svg>\n      </span>\n    ),\n  },\n  help: {\n    key: \"help\",\n    route: \"help\",\n    label: [\"Aide\", \"Centre d'aide\"],\n    icon: \"help-circle\",\n    color: \"text100\",\n    textColor: \"text1000\",\n  },\n  publicMeetingRequest: {\n    key: \"publicMeetingRequest\",\n    route: \"publicMeetingRequest\",\n    label: [\"Réunion publique\", \"Organiser une réunion publique\"],\n    icon: \"radio\",\n    color: \"#00ace0\",\n  },\n  cafePopulaireRequest: {\n    key: \"cafePopulaireRequest\",\n    route: \"cafePopulaireRequest\",\n    label: [\"Café populaire\", \"Organiser un café populaire\"],\n    icon: \"coffee\",\n    color: \"#00B171\",\n  },\n  joinGroup: {\n    key: \"joinGroup\",\n    route: \"groupMap\",\n    label: [\"Groupes d'action\", \"Rejoindre un groupe d'action\"],\n    icon: \"fa-people-group\",\n    color: \"vermillon\",\n  },\n};\n\nconst DEFAULT_ACTION_ORDER = [\n  \"donations\",\n  \"createEvent\",\n  \"joinGroup\",\n  \"materiel\",\n  \"help\",\n  \"actionTools\",\n];\n\nconst GROUP_MANAGER_ACTION_ORDER = [\n  \"donations\",\n  \"createEvent\",\n  \"materiel\",\n  \"help\",\n  \"actionTools\",\n];\n\nexport const getActionsForUser = (user) => {\n  let actions = DEFAULT_ACTION_ORDER;\n\n  if (!!user?.groups?.some((group) => group.isManager)) {\n    actions = GROUP_MANAGER_ACTION_ORDER;\n  }\n\n  return actions\n    .map((key) =>\n      typeof ACTIONS[key] === \"function\" ? ACTIONS[key](user) : ACTIONS[key],\n    )\n    .filter(Boolean);\n};\n\nexport default ACTIONS;\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport styled from \"styled-components\";\n\nimport Link from \"@agir/front/app/Link\";\nimport { useResponsiveMemo } from \"@agir/front/genericComponents/grid\";\nimport { RawFeatherIcon } from \"@agir/front/genericComponents/FeatherIcon\";\nimport Icon from \"@agir/front/genericComponents/Icon\";\n\nconst StyledButton = styled(Link)`\n  display: inline-flex;\n  flex-flow: column nowrap;\n  align-items: center;\n  gap: 8px;\n  width: 75px;\n  font-size: 12px;\n  line-height: 1.5;\n  font-weight: 400;\n  text-align: center;\n  color: ${(props) => props.theme.text700};\n\n  @media (min-width: ${(props) => props.theme.collapse}px) {\n    width: 100%;\n    flex-flow: row nowrap;\n    gap: 0;\n    font-size: 0.875rem;\n    height: 2rem;\n  }\n\n  &,\n  &:hover,\n  &:focus {\n    text-decoration: none;\n  }\n\n  &[disabled],\n  &[disabled]:hover,\n  &[disabled]:focus {\n    opacity: 0.5;\n    cursor: default;\n    color: ${(props) => props.theme.success500};\n    text-decoration: line-through;\n  }\n\n  i {\n    font-size: 2em;\n  }\n\n  & > ${RawFeatherIcon}, & > span:has(> svg),\n  i {\n    border: 1px solid;\n    border-color: ${(props) =>\n      props.$borderColor\n        ? props.theme[props.$borderColor] || props.$borderColor\n        : \"transparent\"};\n    background-color: ${(props) =>\n      props.$color ? props.theme[props.$color] || props.$color : \"transparent\"};\n  }\n\n  ${RawFeatherIcon} {\n    svg {\n      width: 1.7em;\n      height: 1.7rem;\n    }\n  }\n\n  & > span,\n  i {\n    flex: 0 0 50px;\n    width: 50px;\n    height: 50px;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    border-radius: 100%;\n    color: ${(props) =>\n      props.$textColor\n        ? props.theme[props.$textColor] || props.$textColor\n        : props.theme.background0};\n\n    @media (min-width: ${(props) => props.theme.collapse}px) {\n      transform-origin: left center;\n      transform: scale(0.64);\n      margin-right: -10px;\n    }\n  }\n\n  & > strong {\n    font-weight: inherit;\n    white-space: nowrap;\n    max-width: 100%;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n`;\n\nconst ActionButton = (props) => {\n  const {\n    route,\n    routeParams,\n    label,\n    icon,\n    color,\n    textColor,\n    borderColor,\n    className,\n    disabled = false,\n  } = props;\n\n  const visibileLabel = useResponsiveMemo(\n    Array.isArray(label) ? label[0] : label,\n    Array.isArray(label) ? label[1] : label,\n  );\n\n  return (\n    <StyledButton\n      $color={color}\n      $textColor={textColor}\n      $borderColor={borderColor}\n      disabled={disabled}\n      onClick={disabled ? (e) => e.preventDefault() : undefined}\n      onMouseDown={(e) => e.preventDefault()}\n      className={className}\n      route={route}\n      routeParams={routeParams}\n    >\n      {typeof icon === \"string\" ? <Icon name={icon} /> : icon}\n      <strong title={Array.isArray(label) ? label[1] : label}>\n        {visibileLabel}\n      </strong>\n    </StyledButton>\n  );\n};\nActionButton.propTypes = {\n  route: PropTypes.string,\n  routeParams: PropTypes.object,\n  label: PropTypes.oneOfType([\n    PropTypes.arrayOf(PropTypes.node),\n    PropTypes.node,\n  ]),\n  icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n  color: PropTypes.string,\n  textColor: PropTypes.string,\n  borderColor: PropTypes.string,\n  className: PropTypes.string,\n  disabled: PropTypes.bool,\n};\nexport default ActionButton;\n","import PropTypes from \"prop-types\";\nimport React, { useMemo } from \"react\";\nimport { animated, useSpring } from \"@react-spring/web\";\nimport styled from \"styled-components\";\nimport { Swiper, SwiperSlide } from \"swiper/react\";\nimport useSWR from \"swr\";\n\nimport \"swiper/scss\";\n\nimport * as style from \"@agir/front/genericComponents/_variables-light.scss\";\n\nimport { getActionsForUser } from \"./actions.config\";\n\nimport { ResponsiveLayout } from \"@agir/front/genericComponents/grid\";\nimport ActionButton from \"./ActionButton\";\n\nconst Carousel = styled(animated.div)`\n  position: relative;\n  isolation: isolate;\n  margin: 0 -1rem;\n  width: calc(100% + 2rem);\n\n  & > * {\n    z-index: 0;\n  }\n\n  .swiper-slide {\n    padding: 0 4px;\n\n    &:first-child {\n      padding-left: 16px;\n    }\n\n    &:last-child {\n      padding-right: 16px;\n    }\n  }\n\n  &::before,\n  &::after {\n    content: \"\";\n    display: block;\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    height: 100%;\n    width: 16px;\n    z-index: 1;\n    pointer-events: none;\n  }\n\n  &::before {\n    left: 0;\n    background: linear-gradient(\n      90deg,\n      ${(props) => props.theme.text25},\n      ${(props) => props.theme.text25}00\n    );\n  }\n\n  &::after {\n    right: 0;\n    background: linear-gradient(\n      -90deg,\n      ${(props) => props.theme.text25},\n      ${(props) => props.theme.text25}00\n    );\n  }\n`;\n\nconst StyledActionList = styled.nav`\n  width: 100%;\n  display: flex;\n  flex-flow: column nowrap;\n  gap: 0.5rem;\n  min-height: 1px;\n  padding: 0;\n  margin: 0;\n`;\n\nconst getSwiperBreakpoints = (slides = [], slideWidth) => {\n  const breakpoints = {};\n  for (\n    let breakpoint = style.collapse, slidesPerView = slides.length;\n    breakpoint > 0 && slidesPerView >= 3;\n    breakpoint -= slideWidth\n  ) {\n    slidesPerView = Math.ceil(breakpoint / slideWidth) - 0.5;\n    breakpoints[breakpoint] = {\n      slidesPerView,\n    };\n  }\n  return breakpoints;\n};\n\nexport const ActionButtonCarousel = (props) => {\n  const { actions } = props;\n  const breakpoints = useMemo(\n    () => getSwiperBreakpoints(actions, 75 + 8),\n    [actions],\n  );\n\n  const style = useSpring({\n    from: {\n      opacity: 0,\n      paddingLeft: 24,\n    },\n    to: {\n      opacity: 1,\n      paddingLeft: 0,\n    },\n  });\n\n  return (\n    <Carousel style={style}>\n      <Swiper\n        slidesPerView={3}\n        breakpoints={breakpoints}\n        centerInsufficientSlides\n      >\n        {actions\n          .filter((action) => !action.disabled)\n          .map((action) => (\n            <SwiperSlide key={action.key}>\n              <ActionButton {...action} />\n            </SwiperSlide>\n          ))}\n      </Swiper>\n    </Carousel>\n  );\n};\nActionButtonCarousel.propTypes = {\n  actions: PropTypes.arrayOf(PropTypes.object),\n};\n\nconst ActionButtonList = ({ actions }) => (\n  <StyledActionList>\n    {actions.map((action) => (\n      <ActionButton key={action.key} {...action} />\n    ))}\n  </StyledActionList>\n);\nActionButtonList.propTypes = {\n  actions: PropTypes.arrayOf(PropTypes.object),\n};\n\nexport const ActionButtons = ({ user }) => {\n  const actions = getActionsForUser(user);\n\n  return (\n    <ResponsiveLayout\n      MobileLayout={ActionButtonCarousel}\n      DesktopLayout={ActionButtonList}\n      actions={actions}\n    />\n  );\n};\nActionButtons.propTypes = {\n  user: PropTypes.object,\n};\n\nconst ConnectedActionButtons = () => {\n  const { data: session } = useSWR(\"/api/session/\");\n  return <ActionButtons user={session?.user} />;\n};\n\nexport default ConnectedActionButtons;\n","import styled from \"styled-components\";\n\nexport const LayoutSubtitle = styled.h2`\n  color: ${(props) => props.theme.text700};\n  font-weight: 400;\n  font-size: 0.875rem;\n  margin: 0.75rem 0;\n\n  @media (max-width: ${(props) => props.theme.collapse}px) {\n    display: none;\n  }\n`;\n\nexport const LayoutTitle = styled.h1`\n  display: flex;\n  align-items: center;\n  font-size: 1.625rem;\n  margin: 0;\n\n  @media (max-width: ${(props) => props.theme.collapse}px) {\n    display: none;\n  }\n`;\n","import axios from \"@agir/lib/utils/axios\";\n\nexport const ENDPOINT = {\n  login: \"/api/connexion/\",\n  checkCode: \"/api/connexion/code/\",\n  logout: \"/api/deconnexion/\",\n  signUp: \"/api/inscription/\",\n  getProfile: \"/api/user/profile/\",\n  getProfileOptions: \"/api/user/profile/\",\n  updateProfile: \"/api/user/profile/\",\n};\n\nexport const getAuthenticationEndpoint = (key, params) => {\n  let endpoint = ENDPOINT[key] || \"\";\n  if (params) {\n    Object.entries(params).forEach(([key, value]) => {\n      endpoint = endpoint.replace(`:${key}`, value);\n    });\n  }\n  return endpoint;\n};\n\nexport const login = async (email) => {\n  const result = {\n    success: false,\n    error: null,\n  };\n  const url = ENDPOINT.login;\n  const body = { email: email.trim() };\n  try {\n    const response = await axios.post(url, body);\n    result.success = response.status === 200;\n    result.data = response.data || null;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n\nexport const checkCode = async (code) => {\n  const result = {\n    data: null,\n    error: null,\n  };\n  const url = ENDPOINT.checkCode;\n  const body = { code };\n  try {\n    const response = await axios.post(url, body);\n    result.data = response.data;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n\nexport const logout = async () => {\n  const result = {\n    success: false,\n    error: null,\n  };\n  const url = ENDPOINT.logout;\n  try {\n    const response = await axios.get(url);\n    result.success = response.status === 200;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n\nexport const signUp = async (data, next) => {\n  const result = {\n    data: null,\n    error: null,\n  };\n  const formData = {\n    email: data.email.trim(),\n    location_zip: data.postalCode,\n    location_country: data.country,\n    next: next || undefined,\n  };\n  const url = ENDPOINT.signUp;\n  try {\n    const response = await axios.post(url, formData);\n    result.data = response.data;\n  } catch (e) {\n    result.error = {};\n    if (!e.response || !e.response.data) {\n      result.error = e.message;\n      return result;\n    }\n    const { email, location_zip, location_country, non_field_errors } =\n      e.response.data;\n    if (email) {\n      result.error.email = email;\n    }\n    if (location_zip) {\n      result.error.postalCode = location_zip;\n    }\n    if (location_country) {\n      result.error.country = location_country;\n    }\n    if (non_field_errors) {\n      result.error.global = non_field_errors;\n    }\n  }\n\n  return result;\n};\n\nexport const getProfile = async () => {\n  const result = {\n    data: null,\n    error: null,\n  };\n  const url = ENDPOINT.getProfile;\n  try {\n    const response = await axios.get(url);\n    result.data = response.data;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n\nexport const getProfileOptions = async () => {\n  const result = {\n    data: null,\n    error: null,\n  };\n  const url = ENDPOINT.getProfileOptions;\n  try {\n    const response = await axios.options(url);\n    result.data = response.data;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n\nexport const updateProfile = async (body) => {\n  const result = {\n    data: null,\n    error: null,\n  };\n\n  const url = ENDPOINT.updateProfile;\n  try {\n    const response = await axios.patch(url, body);\n    result.data = response.data;\n  } catch (e) {\n    result.error = (e.response && e.response.data) || e.message;\n  }\n\n  return result;\n};\n","import React from \"react\";\nimport { RawFeatherIcon } from \"@agir/front/genericComponents/FeatherIcon\";\nimport PropTypes from \"prop-types\";\n\nfunction Icon({ name }) {\n  if (!name) {\n    return null;\n  }\n\n  return name?.includes(\"fa-\") ? (\n    <i className={`fa-regular ${name}`} />\n  ) : (\n    <RawFeatherIcon width=\"1rem\" height=\"1rem\" name={name} />\n  );\n}\n\nIcon.propTypes = {\n  name: PropTypes.string,\n};\n\nexport default Icon;\n","const BINDINGS = {};\n\nconst prefixClassName = (className) => {\n  if (!className || typeof className !== \"string\") {\n    return \"fa\";\n  }\n  className = className.toLowerCase().trim();\n  if (/^fa-/.test(className)) {\n    return className;\n  }\n  return `fa-${className}`;\n};\n\nconst fontawesome = (icon, asObject = false) => {\n  if (!icon || typeof icon !== \"string\") {\n    return null;\n  }\n\n  if (!BINDINGS[icon]) {\n    const [iconName, iconStyle = \"\"] = icon.toLowerCase().split(\":\");\n    const span = document.createElement(\"span\");\n\n    span.className = [\n      iconName.includes(\"fak\") && \"fak\",\n      prefixClassName(iconStyle),\n      prefixClassName(iconName),\n    ].join(\" \");\n    document.body.appendChild(span);\n    const spanStyle = window.getComputedStyle(span);\n    const beforeStyle = window.getComputedStyle(span, \":before\");\n    const content =\n      beforeStyle?.content &&\n      !beforeStyle.content.includes(\"none\") &&\n      beforeStyle.content.replace(new RegExp('\"', \"g\"), \"\");\n    BINDINGS[icon] = {\n      fontFamily: spanStyle.fontFamily,\n      fontWeight: spanStyle.fontWeight.replace(new RegExp('\"', \"g\"), \"\"),\n      text: content || \"\",\n      className: span.className,\n    };\n    document.body.removeChild(span);\n  }\n\n  return asObject ? BINDINGS[icon] : BINDINGS[icon].text;\n};\n\nexport default fontawesome;\n"],"names":["StyledCard","styled","Link","props","theme","borderRadius","cardShadow","background0","text1000","__WEBPACK_DEFAULT_EXPORT__","_location$name","id","name","startTime","location","backLink","style","className","React","to","routeConfig","eventDetails","getLink","eventPk","displayHumanDateString","trim","filter","Boolean","join","SingleSlide","animated","div","Carousel","HorizontalLayout","events","rest","_objectWithoutProperties","_excluded","useSpring","from","opacity","paddingLeft","length","MiniEventCard","_extends","Swiper","spaceBetween","slidesPerView","map","event","SwiperSlide","key","VerticalLayout","_excluded2","common_UpcomingEvents","_props$orientation","orientation","_excluded3","fadeInTransition","enter","leave","delay","CloseButton","button","closeButton","BaseTooltip","p","Tooltips","Tooltip","shouldShow","onClose","_props$position","position","children","tooltipTransition","useTransition","item","onClick","slideInTransition","marginBottom","Button","a","_ref","$background","css","secondary500","secondary600","Wrapper","zindexFloatButton","collapse","FloatButton","isActive","shouldPushTooltip","href","content","icon","label","_useState","useState","_useState2","_slicedToArray","hasTooltip","setHasTooltip","hideTooltip","useCallback","showTooltip","pushTooltip","_objectSpread","onRest","wrapperTransition","undefined","background","onMouseOver","onMouseLeave","allPages_FloatButton","user","useSelector","getUser","_useLocalStorage","useLocalStorage","_useLocalStorage2","visitCount","setVisitCount","_useState3","_useState4","setShouldPushTooltip","useEffectOnce","count","routes","getRoutes","help","ConnectedFloatButton","ACTIONS","donations","activeContribution","renewable","route","color","contributions","_user$activeContribut","createEvent","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","xmlns","d","coupDeFil","materiel","textColor","createContact","toktokPreview","backgroundColor","x1","y1","x2","y2","cx","cy","r","votingProxy","votingProxyId","hasVotingProxyRequests","routeParams","votingProxyPk","actionTools","borderColor","newPollingStationOfficer","clipPath","transform","publicMeetingRequest","cafePopulaireRequest","joinGroup","DEFAULT_ACTION_ORDER","GROUP_MANAGER_ACTION_ORDER","StyledButton","text700","success500","RawFeatherIcon","$borderColor","$color","$textColor","ActionButtons_ActionButton","_props$disabled","disabled","visibileLabel","useResponsiveMemo","Array","isArray","e","preventDefault","onMouseDown","Icon","title","text25","StyledActionList","nav","ActionButtonCarousel","actions","breakpoints","useMemo","slides","arguments","slideWidth","breakpoint","Math","ceil","getSwiperBreakpoints","centerInsufficientSlides","action","ActionButton","ActionButtonList","ActionButtons","_ref2","_user$groups","groups","some","group","isManager","getActionsForUser","ResponsiveLayout","MobileLayout","DesktopLayout","ActionButtons_ActionButtons","session","useSWR","data","LayoutSubtitle","h2","LayoutTitle","h1","ENDPOINT","login","checkCode","logout","signUp","getProfile","getProfileOptions","updateProfile","getAuthenticationEndpoint","params","endpoint","Object","entries","forEach","value","replace","concat","_ref3","_asyncToGenerator","_regeneratorRuntime","_callee","email","result","url","body","response","_t","_context","prev","next","success","error","axios","post","sent","status","message","abrupt","stop","_x","apply","this","_ref4","_callee2","code","_t2","_context2","_x2","_ref5","_callee3","_t3","_context3","get","_ref6","_callee4","formData","_e$response$data","location_zip","location_country","non_field_errors","_t4","_context4","postalCode","country","global","_x3","_x4","_ref7","_callee5","_t5","_context5","_ref9","_callee7","_t7","_context7","patch","_x5","includes","BINDINGS","prefixClassName","toLowerCase","test","asObject","_icon$toLowerCase$spl","split","_icon$toLowerCase$spl2","iconName","_icon$toLowerCase$spl3","iconStyle","span","document","createElement","appendChild","spanStyle","window","getComputedStyle","beforeStyle","RegExp","fontFamily","fontWeight","text","removeChild"],"sourceRoot":""}