{"version":3,"file":"static/components/3164-6af1ba306634c644d86f.js?cv=7","mappings":"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","sources":["webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/FeatherIcon.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/AppStore.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/Spacer.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/DownloadApp.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/Navigation/TopBar/AdminLink.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/Navigation/TopBar/NavBar.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/Navigation/TopBar/TopBar.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/Navigation/TopBar/index.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/groups/components/groupPage/GroupSettings/routes.config.js"],"sourcesContent":["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 React from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\n\nimport APP_STORE_APPLE from \"@agir/front/genericComponents/logos/appstore_apple.svg\";\nimport APP_STORE_GOOGLE from \"@agir/front/genericComponents/logos/appstore_google.svg\";\n\nexport const CONFIG = {\n  apple: {\n    href: \"https://apps.apple.com/fr/app/action-populaire/id1559737444#?platform=iphone\",\n    title: \"Télécharger dans l'App Store\",\n    $image: APP_STORE_APPLE,\n  },\n  google: {\n    href: \"https://play.google.com/store/apps/details?id=fr.actionpopulaire.twa\",\n    title: \"Disponible sur Google Play\",\n    $image: APP_STORE_GOOGLE,\n  },\n};\n\nconst AppStoreLink = styled.a`\n  display: block;\n  width: 170px;\n  height: 50px;\n  background-image: url(${({ $image }) => $image});\n  background-repeat: no-repeat;\n  background-size: cover;\n  background-position: center center;\n  border-radius: 0.5px;\n  cursor: pointer;\n`;\n\nconst AppStore = (props) => {\n  const { type, ...rest } = props;\n  const config = CONFIG[type];\n\n  if (!config) {\n    return null;\n  }\n\n  return <AppStoreLink {...config} {...rest} />;\n};\n\nAppStore.propTypes = {\n  type: PropTypes.oneOf(Object.keys(CONFIG)).isRequired,\n  params: PropTypes.object,\n};\n\nexport default AppStore;\n","import PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\n\nconst getHeight = ({ axis, size }) => {\n  const space = typeof size === \"number\" ? size + \"px\" : size;\n  return axis === \"x\" ? \"1px\" : space;\n};\nconst getWidth = ({ axis, size }) => {\n  const space = typeof size === \"number\" ? size + \"px\" : size;\n  return axis === \"y\" ? \"1px\" : space;\n};\n\nconst Spacer = styled.span.attrs((props) => ({\n  $width: getWidth(props),\n  $height: getHeight(props),\n  \"aria-hidden\": \"true\",\n}))`\n  display: block;\n  margin: 0;\n  padding: 0;\n  line-height: 0;\n  width: ${({ $width }) => $width};\n  min-width: ${({ $width }) => $width};\n  height: ${({ $height }) => $height};\n  min-height: ${({ $height }) => $height};\n`;\n\nexport const InlineSpacer = styled(Spacer)`\n  display: inline-block;\n`;\n\nSpacer.propTypes = InlineSpacer.propTypes = {\n  axis: PropTypes.oneOf([\"x\", \"y\"]),\n  size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nexport default Spacer;\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport styled, { useTheme } from \"styled-components\";\n\nimport Button from \"@agir/front/genericComponents/Button\";\nimport FeatherIcon from \"@agir/front/genericComponents/FeatherIcon\";\nimport { ResponsiveLayout } from \"@agir/front/genericComponents/grid\";\n\nimport logo from \"@agir/front/genericComponents/logos/action-populaire_primary_mini.svg\";\n\nimport { useDownloadBanner } from \"@agir/front/app/hooks.js\";\nimport { CONFIG } from \"@agir/front/genericComponents/AppStore.js\";\nimport { getMobileOS } from \"@agir/front/authentication/common.js\";\n\nconst StyledContainer = styled.div`\n  display: flex;\n  align-items: center;\n  background-color: ${(props) => props.theme.primary500};\n  color: ${(props) => props.theme.background0};\n  justify-content: space-evenly;\n  height: 80px;\n`;\n\nconst Title = styled.div``;\nconst Description = styled.div``;\n\nconst Content = styled.div`\n  display: flex;\n  flex-direction: column;\n  padding: 12px;\n\n  ${Title} {\n    color: ${(props) => props.theme.secondary500};\n    font-weight: 700;\n    font-size: 15px;\n  }\n\n  ${Description} {\n    color: ${(props) => props.theme.background0};\n    font-size: 12px;\n    flex-wrap: wrap;\n  }\n`;\n\nconst Download = styled(Button)`\n  background-color: ${(props) => props.theme.background0};\n  color: ${(props) => props.theme.primary500};\n  font-size: 13px;\n  font-weight: 700;\n\n  @media (max-width: 421px) {\n    border-radius: 50px;\n    width: 52px;\n    height: 52px;\n  }\n`;\n\nconst InlineBlock = styled.span`\n  display: inline-block;\n`;\n\nconst StyledFeatherIcon = styled(FeatherIcon)`\n  &:hover {\n    cursor: pointer;\n  }\n`;\n\nconst AppLogo = styled.svg`\n  width: 52px;\n  height: 52px;\n\n  @media (max-width: 350px) {\n    display: none;\n  }\n`;\n\nconst OS = getMobileOS();\n\nexport const DownloadApp = ({ onClick }) => {\n  const theme = useTheme();\n\n  return (\n    <StyledContainer>\n      <div style={{ padding: \"0.5rem\", cursor: \"pointer\" }} onClick={onClick}>\n        <StyledFeatherIcon\n          name=\"x\"\n          color=\"${props => props.theme.background0}\"\n          width=\"0.5rem\"\n          height=\"0.5rem\"\n          small\n        />\n      </div>\n      <AppLogo width=\"52\" height=\"52\" fill=\"none\">\n        <rect width=\"52\" height=\"52\" rx=\"11.056\" fill={theme.secondary500} />\n        <g clipPath=\"url(#a)\">\n          <path\n            d=\"m29.419 42.449-8.052-8.024c-4.447-4.432-4.482-11.582-.078-15.971 4.404-4.39 11.58-4.354 16.026.077 4.447 4.432 4.482 11.582.078 15.971L29.42 42.45Z\"\n            fill={theme.background0}\n          />\n          <path\n            fillRule=\"evenodd\"\n            clipRule=\"evenodd\"\n            d=\"m17.36 28.663 6.354 6.333 6.355-6.333a8.934 8.934 0 0 0 0-12.666c-3.51-3.497-9.2-3.497-12.71 0a8.934 8.934 0 0 0 0 12.666Zm6.354 10.16 8.276-8.246a11.634 11.634 0 0 0 0-16.494c-4.57-4.554-11.98-4.554-16.551 0a11.634 11.634 0 0 0 0 16.494l8.275 8.247Z\"\n            fill={theme.text1000}\n          />\n        </g>\n        <defs>\n          <clipPath id=\"a\">\n            <path\n              fill={theme.background0}\n              transform=\"translate(11.939 10.612)\"\n              d=\"M0 0h28.918v31.837H0z\"\n            />\n          </clipPath>\n        </defs>\n      </AppLogo>\n      <Content>\n        <Title>ACTION POPULAIRE</Title>\n        <Description>\n          Téléchargez l’appli des actions près{\" \"}\n          <InlineBlock>de chez vous</InlineBlock>\n        </Description>\n      </Content>\n      <div style={{ paddingRight: \"18px\" }}>\n        <Download\n          link\n          href={\"iOS\" === OS ? CONFIG.apple.href : CONFIG.google.href}\n          aria-label=\"Télécharger\"\n        >\n          <ResponsiveLayout\n            breakpoint={421}\n            MobileLayout={() => (\n              <FeatherIcon name=\"download\" color=\"primary500\" />\n            )}\n            DesktopLayout={() => \"Télécharger\"}\n          />\n        </Download>\n      </div>\n    </StyledContainer>\n  );\n};\n\nDownloadApp.propTypes = {\n  onClick: PropTypes.func,\n};\n\nconst ConnectedDownloadApp = () => {\n  const [isBannerDownload, closeDownload] = useDownloadBanner();\n\n  if (!isBannerDownload) return null;\n\n  return <DownloadApp onClick={closeDownload} />;\n};\n\nexport default ConnectedDownloadApp;\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport styled from \"styled-components\";\n\nimport FeatherIcon from \"@agir/front/genericComponents/FeatherIcon\";\n\nimport Link from \"@agir/front/app/Link\";\n\nconst SettingsMenuLink = styled(Link)`\n  position: absolute;\n  padding: 6px 5px;\n  bottom: 0;\n  right: 0;\n  background-color: ${(props) => props.theme.text1000};\n  color: ${(props) => props.theme.text25};\n  width: 42px;\n  height: 42px;\n  display: flex;\n  align-items: flex-start;\n  justify-content: flex-end;\n  transform: translateY(100%);\n  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 0);\n  transition: all 100ms ease-in-out;\n  cursor: pointer;\n  opacity: 0.75;\n\n  &:hover,\n  &:focus {\n    background-color: ${(props) => props.theme.text1000};\n    color: ${(props) => props.theme.background0};\n    opacity: 1;\n  }\n`;\n\nconst AdminLink = ({ link }) =>\n  link ? (\n    <SettingsMenuLink\n      to={link.to}\n      href={link.href}\n      route={link.route}\n      title={link.label}\n      aria-label={link.label}\n      className=\"small-only\"\n    >\n      <FeatherIcon name=\"settings\" />\n    </SettingsMenuLink>\n  ) : null;\n\nAdminLink.propTypes = {\n  link: PropTypes.shape({\n    to: PropTypes.string,\n    href: PropTypes.string,\n    route: PropTypes.string,\n    label: PropTypes.string,\n  }),\n};\nexport default AdminLink;\n","import React, { Suspense } from \"react\";\nimport styled from \"styled-components\";\n\nimport { lazy } from \"@agir/front/app/utils\";\nimport { useResponsiveMemo } from \"@agir/front/genericComponents/grid\";\nimport { useSelector } from \"@agir/front/globalContext/GlobalContext\";\nimport { getAdminLink } from \"@agir/front/globalContext/reducers\";\n\nimport AdminLink from \"./AdminLink\";\n\nconst MobileNavBar = lazy(() => import(\"./MobileNavBar/MobileNavBar\"));\nconst DesktopNavBar = lazy(() => import(\"./DesktopNavBar/DesktopNavBar\"));\n\nconst StyledNav = styled.div`\n  position: relative;\n  width: 100%;\n  height: var(--top-bar-height);\n  box-shadow: ${(props) => props.theme.elaborateShadow};\n\n  & > * {\n    margin: 0 auto;\n  }\n`;\n\nconst NavBar = (props) => {\n  const adminLink = useSelector(getAdminLink);\n  const NavBar = useResponsiveMemo(MobileNavBar, DesktopNavBar);\n  return (\n    <StyledNav>\n      <Suspense fallback={null}>\n        <AdminLink link={adminLink} />\n        <NavBar {...props} />\n      </Suspense>\n    </StyledNav>\n  );\n};\n\nexport default NavBar;\n","import PropTypes from \"prop-types\";\nimport React, { useMemo } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport routes from \"@agir/front/app/routes.config\";\nimport { useMobileApp, useDownloadBanner } from \"@agir/front/app/hooks\";\n\nimport DownloadApp from \"@agir/front/genericComponents/DownloadApp\";\nimport Spacer from \"@agir/front/genericComponents/Spacer\";\nimport NavBar from \"./NavBar\";\n\nconst StyledPageHead = styled.div`\n  position: fixed;\n  top: var(--safe-area-inset-top, env(safe-area-inset-top));\n  left: 0;\n  z-index: ${(props) => props.theme.zindexTopBar};\n  @media (max-width: ${(props) => props.theme.collapse}px) {\n    z-index: 50 !important;\n  }\n  width: 100%;\n  background-color: ${(props) => props.theme.background0};\n  isolation: isolate;\n`;\n\nexport const TopBar = ({ path, hideBannerDownload, ...rest }) => {\n  return (\n    <StyledPageHead>\n      {!hideBannerDownload && <DownloadApp />}\n      <NavBar {...rest} path={path} />\n    </StyledPageHead>\n  );\n};\n\nTopBar.propTypes = {\n  path: PropTypes.string,\n  hideBannerDownload: PropTypes.bool,\n};\n\nconst RouterTopBar = (props) => {\n  const [isBannerDownload] = useDownloadBanner();\n  const { pathname } = useLocation();\n  const { isMobileApp } = useMobileApp();\n\n  const route = useMemo(\n    () => routes.find((route) => route.match(pathname)),\n    [pathname],\n  );\n\n  const hasTopBar =\n    props.hasTopBar ||\n    (route && !route.hideTopBar && (!route.appOnlyTopBar || isMobileApp));\n\n  if (!hasTopBar) {\n    return null;\n  }\n\n  return (\n    <>\n      <TopBar path={pathname} hasLayout={!!route?.hasLayout} />\n      {isBannerDownload && <Spacer size=\"80px\" />}\n    </>\n  );\n};\n\nRouterTopBar.propTypes = {\n  hasTopBar: PropTypes.bool,\n};\n\nexport default RouterTopBar;\n","import RouterTopBar from \"./TopBar\";\n\nexport { TopBar as TopBar } from \"./TopBar\";\nexport default RouterTopBar;\n","import { lazy } from \"@agir/front/app/utils\";\nimport {\n  RouteConfig,\n  routeConfig as globalRouteConfig,\n} from \"@agir/front/app/routes.config\";\n\nimport illustrationManage from \"@agir/front/genericComponents/images/group_members.svg\";\nimport illustrationFinance from \"@agir/front/genericComponents/images/group_financement.svg\";\nimport illustrationUpcomingEvents from \"@agir/front/genericComponents/images/group_agenda.svg\";\nimport illustrationGeneral from \"@agir/front/genericComponents/images/group_general.svg\";\nimport illustrationContact from \"@agir/front/genericComponents/images/group_contact.svg\";\nimport illustrationLinks from \"@agir/front/genericComponents/images/group_links.svg\";\nimport illustrationHelp from \"@agir/front/genericComponents/images/group_help.svg\";\nimport illustrationStats from \"@agir/front/genericComponents/images/group_stats.svg\";\nimport { useMemo } from \"react\";\n\nconst GroupSettingsReadOnlyMembers = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingsreadonlymembers\" */ \"@agir/groups/groupPage/GroupSettings/GroupReadOnlyMembersPage\"\n    ),\n);\nconst GroupSettingsActiveMembers = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingsactivemembers\" */ \"@agir/groups/groupPage/GroupSettings/GroupActiveMembersPage\"\n    ),\n);\nconst GroupSettingsContacts = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingscontacts\" */ \"@agir/groups/groupPage/GroupSettings/GroupContactsPage\"\n    ),\n);\nconst GroupSettingsManage = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingsmanage\" */ \"@agir/groups/groupPage/GroupSettings/GroupManagementPage\"\n    ),\n);\nconst GroupSettingsMateriel = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingsmateriel\" */ \"@agir/groups/groupPage/GroupSettings/GroupMaterielPage\"\n    ),\n);\nconst GroupSettingsUpcomingEvents = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingsupcomingevents\" */ \"@agir/groups/groupPage/GroupSettings/GroupUpcomingEventPage\"\n    ),\n);\nconst GroupSettingsFinance__Group = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingsfinancegroup\" */ \"@agir/groups/groupPage/GroupSettings/GroupFinancePage/Group\"\n    ),\n);\nconst GroupSettingsFinance__BouDep = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingsfinanceboudep\" */ \"@agir/groups/groupPage/GroupSettings/GroupFinancePage/BouDep\"\n    ),\n);\nconst GroupSettingsGeneral = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingsgeneral\" */ \"@agir/groups/groupPage/GroupSettings/GroupGeneralPage\"\n    ),\n);\nconst GroupSettingsLocation = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingslocation\" */ \"@agir/groups/groupPage/GroupSettings/GroupLocalizationPage\"\n    ),\n);\nconst GroupSettingsContact = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingscontact\" */ \"@agir/groups/groupPage/GroupSettings/GroupContactPage\"\n    ),\n);\nconst GroupSettingsLinks = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingslinks\" */ \"@agir/groups/groupPage/GroupSettings/GroupLinksPage\"\n    ),\n);\nconst GroupSettingsCertification = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingscertification\" */ \"@agir/groups/groupPage/GroupSettings/GroupCertificationPage\"\n    ),\n);\nconst GroupSettingsHelp = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingshelp\" */ \"@agir/groups/groupPage/GroupSettings/GroupHelpPage\"\n    ),\n);\nconst GroupSettingsStats = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupsettingsstats\" */ \"@agir/groups/groupPage/GroupSettings/GroupStatisticsPage\"\n    ),\n);\nconst GroupRemoveRequestMembershipPage = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"r-groupremovemembershiprequest\" */\n      \"@agir/groups/groupPage/GroupSettings/GroupMembershipRemoveRequestPage\"\n    ),\n);\n\nexport const menuRoute = {\n  id: \"menu\",\n  path: \"gestion/\",\n  exact: false,\n  label: \"Paramètres du groupe\",\n};\n\nexport const routeConfig = {\n  members: {\n    id: \"members\",\n    path: \"membres/\",\n    exact: true,\n    label: \"Membres actifs\",\n    icon: \"fa-users\",\n    getComponent: (group) =>\n      group.isEditable\n        ? GroupSettingsActiveMembers\n        : GroupSettingsReadOnlyMembers,\n    isActive: true,\n    menuGroup: 1,\n  },\n  stats: {\n    id: \"stats\",\n    path: \"statistiques/\",\n    exact: true,\n    label: \"Statistiques\",\n    icon: \"fa-chart-line\",\n    Component: GroupSettingsStats,\n    illustration: illustrationStats,\n    isActive: true,\n    menuGroup: 1,\n  },\n  contacts: {\n    id: \"contacts\",\n    path: \"contacts/\",\n    exact: true,\n    label: \"Contacts\",\n    icon: \"fa-address-book\",\n    Component: GroupSettingsContacts,\n    isActive: (group) => group.isEditable,\n    menuGroup: 1,\n  },\n  manage: {\n    id: \"manage\",\n    path: \"animation/\",\n    exact: true,\n    label: \"Gestion et animation\",\n    icon: \"lock\",\n    Component: GroupSettingsManage,\n    illustration: illustrationManage,\n    isActive: (group) => group.isEditable,\n    menuGroup: 1,\n  },\n  certification: {\n    id: \"certification\",\n    path: \"certification/\",\n    exact: true,\n    label: \"Certification\",\n    icon: \"check-circle\",\n    Component: GroupSettingsCertification,\n    isActive: (group) => group.isCertifiable || group.isCertified,\n    menuGroup: 1,\n  },\n  materiel: {\n    id: \"materiel\",\n    path: \"materiel/\",\n    exact: true,\n    label: \"Matériel\",\n    icon: \"fa-box-taped\",\n    Component: GroupSettingsMateriel,\n    isActive: (group) =>\n      Array.isArray(group.discountCodes) && group.discountCodes.length > 0,\n    menuGroup: 1,\n  },\n  finance: {\n    id: \"finance\",\n    path: \"finance/\",\n    exact: true,\n    label: (group) =>\n      group.isBoucleDepartementale ? \"Caisse de la boucle\" : \"Caisse du groupe\",\n    icon: \"fa-pig\",\n    getComponent: (group) =>\n      group.isBoucleDepartementale\n        ? GroupSettingsFinance__BouDep\n        : GroupSettingsFinance__Group,\n    illustration: illustrationFinance,\n    isActive: (group) => group.isFinanceable && group.isFinanceManager,\n    menuGroup: 1,\n  },\n  upcomingEvents: {\n    id: \"upcomingEvents\",\n    path: \"agenda/\",\n    exact: true,\n    label: \"Agenda\",\n    icon: \"calendar\",\n    Component: GroupSettingsUpcomingEvents,\n    illustration: illustrationUpcomingEvents,\n    isActive: true,\n    menuGroup: 1,\n  },\n  general: {\n    id: \"general\",\n    path: \"general/\",\n    exact: true,\n    label: \"Général\",\n    icon: \"file-text\",\n    Component: GroupSettingsGeneral,\n    illustration: illustrationGeneral,\n    isActive: (group) => group.isEditable,\n    menuGroup: 2,\n  },\n  location: {\n    id: \"location\",\n    path: \"localisation/\",\n    exact: true,\n    label: \"Localisation\",\n    icon: \"map-pin\",\n    Component: GroupSettingsLocation,\n    isActive: (group) => group.isEditable,\n    menuGroup: 2,\n  },\n  contact: {\n    id: \"contact\",\n    path: \"contact/\",\n    exact: true,\n    label: \"Moyens de contact\",\n    icon: \"fa-comment-question\",\n    Component: GroupSettingsContact,\n    illustration: illustrationContact,\n    isActive: (group) => group.isEditable,\n    menuGroup: 2,\n  },\n  links: {\n    id: \"links\",\n    path: \"liens/\",\n    exact: true,\n    label: \"Liens et réseaux sociaux\",\n    icon: \"at-sign\",\n    Component: GroupSettingsLinks,\n    illustration: illustrationLinks,\n    isActive: true,\n    menuGroup: 2,\n  },\n  help: {\n    id: \"help\",\n    path: \"ressources/\",\n    exact: true,\n    label: \"Ressources et documents\",\n    icon: \"fa-folder-open\",\n    Component: GroupSettingsHelp,\n    illustration: illustrationHelp,\n    isActive: true,\n    menuGroup: 3,\n  },\n  removeMemberShipRequest: {\n    id: \"removeMembership\",\n    path: \"requete-suppression-membre/:requestId?\",\n    icon: \"more-horizontal\",\n    exact: true,\n    isActive: true,\n    label: \"Requête de suppression de membre\",\n    Component: GroupRemoveRequestMembershipPage,\n    illustration: illustrationHelp,\n  },\n};\n\nexport const getMenuRoute = (basePath) =>\n  new RouteConfig({\n    ...menuRoute,\n    path: basePath + menuRoute.path,\n  });\n\nconst getActiveRoutes = (group) =>\n  Object.values(routeConfig).filter((route) => {\n    if (!group || !group.isManager) {\n      return false;\n    }\n    if (typeof route.isActive === \"function\") {\n      return !!route.isActive(group);\n    }\n    return !!route.isActive;\n  });\n\nexport const groupGroupRoutes = (routes) => {\n  return Object.values(\n    routes.reduce((o, item) => {\n      if (item.menuGroup) {\n        o[item.menuGroup] = o[item.menuGroup] || [];\n        o[item.menuGroup].push(item);\n      }\n      return o;\n    }, {}),\n  );\n};\n\nexport const getRoutes = (basePath, group) =>\n  getActiveRoutes(group).map(\n    (route) =>\n      new RouteConfig({\n        ...route,\n        label:\n          typeof route.label === \"function\" ? route.label(group) : route.label,\n        Component:\n          typeof route.getComponent === \"function\"\n            ? route.getComponent(group)\n            : route.Component,\n        path: basePath + menuRoute.path + route.path,\n      }),\n  );\n\nexport const getGroupSettingLinks = (group, basePath) => {\n  const links = {};\n\n  if (!group?.id || !group.isManager) {\n    return links;\n  }\n\n  if (!basePath) {\n    const activeRoutes = getActiveRoutes(group);\n    links.menu = globalRouteConfig.groupSettings.getLink({\n      groupPk: group.id,\n    });\n    activeRoutes.forEach((route) => {\n      links[route.id] = globalRouteConfig.groupSettings.getLink({\n        activePanel: route.path.replace(\"/\", \"\") || null,\n        groupPk: group.id,\n      });\n    });\n    return links;\n  }\n\n  const activeRoutes = getRoutes(basePath, group);\n  links.menu = getMenuRoute(basePath).getLink();\n  activeRoutes.forEach((route) => {\n    links[route.id] = route.getLink();\n  });\n\n  return links;\n};\n\nexport default getRoutes;\n"],"names":["allIcons","Object","keys","icons","RawFeatherIcon","styled","span","withConfig","shouldForwardProp","isPropValid","attrs","name","strokeWidth","color","strokeLinecap","strokeLinejoin","svgStyle","_icons$name$toSvg","_icons$name","map","k","undefined","style","key","replace","m","toLowerCase","join","dangerouslySetInnerHTML","__html","toSvg","props","width","height","top","theme","propTypes","PropTypes","FeatherIcon","small","inline","dimension","React","defaultProps","IconList","ul","IconListItem","li","getIconDataUrl","icon","CONFIG","apple","href","title","$image","APP_STORE_APPLE","google","APP_STORE_GOOGLE","AppStoreLink","a","type","rest","_objectWithoutProperties","_excluded","config","_extends","getHeight","axis","size","getWidth","Spacer","$width","$height","InlineSpacer","StyledContainer","div","primary500","background0","Title","Description","Content","secondary500","Download","Button","InlineBlock","StyledFeatherIcon","AppLogo","svg","OS","getMobileOS","DownloadApp","onClick","useTheme","padding","cursor","fill","rx","clipPath","d","fillRule","clipRule","text1000","id","transform","paddingRight","link","ResponsiveLayout","breakpoint","MobileLayout","DesktopLayout","ConnectedDownloadApp","isBannerDownload","closeDownload","useDownloadBanner","SettingsMenuLink","Link","text25","AdminLink","to","route","label","className","MobileNavBar","lazy","DesktopNavBar","StyledNav","elaborateShadow","adminLink","useSelector","getAdminLink","NavBar","useResponsiveMemo","Suspense","fallback","StyledPageHead","zindexTopBar","collapse","TopBar","_ref","path","hideBannerDownload","pathname","useLocation","isMobileApp","useMobileApp","useMemo","routes","find","match","hasTopBar","hideTopBar","appOnlyTopBar","hasLayout","GroupSettingsReadOnlyMembers","GroupSettingsActiveMembers","GroupSettingsContacts","GroupSettingsManage","GroupSettingsMateriel","GroupSettingsUpcomingEvents","GroupSettingsFinance__Group","GroupSettingsFinance__BouDep","GroupSettingsGeneral","GroupSettingsLocation","GroupSettingsContact","GroupSettingsLinks","GroupSettingsCertification","GroupSettingsHelp","GroupSettingsStats","GroupRemoveRequestMembershipPage","menuRoute","exact","routeConfig","members","getComponent","group","isEditable","isActive","menuGroup","stats","Component","illustration","illustrationStats","contacts","manage","illustrationManage","certification","isCertifiable","isCertified","materiel","Array","isArray","discountCodes","length","finance","isBoucleDepartementale","illustrationFinance","isFinanceable","isFinanceManager","upcomingEvents","illustrationUpcomingEvents","general","illustrationGeneral","location","contact","illustrationContact","links","illustrationLinks","help","illustrationHelp","removeMemberShipRequest","getMenuRoute","basePath","RouteConfig","_objectSpread","getActiveRoutes","values","filter","isManager","groupGroupRoutes","reduce","o","item","push","getRoutes","getGroupSettingLinks","activeRoutes","menu","globalRouteConfig","groupSettings","getLink","groupPk","forEach","activePanel"],"sourceRoot":""}