{"version":3,"file":"static/components/7361-c25ee1a40cbc478da037.mjs?cv=7","mappings":"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","sources":["webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/donations/components/common/CustomField.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/donations/components/common/Legal.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/genericComponents/StaticToast.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/formComponents/CountryField.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/donations/components/common/hooks.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled, {css} from \"styled-components\";\n\nimport Spacer from \"@agir/front/genericComponents/Spacer\";\nimport { Hide } from \"@agir/front/genericComponents/grid\";\nimport { useIsDesktop } from \"@agir/front/genericComponents/grid\";\n\nconst StyledCustomField = styled.div`\n \n ${({$required, theme}) => $required && css`\n ${Hide}:after {\n content: \"*\";\n color: ${theme.LFIsecondary500};\n `\n }\n`;\n\nconst StyledDescription = styled.div`\n font-size: 0.8125rem;\n`;\n\nconst CustomField = ({\n Component,\n noSpacer = false,\n id,\n label,\n helpText,\n className,\n required,\n ...rest\n}) => {\n const isDesktop = useIsDesktop();\n\n return (\n
\n \n \n {label}\n \n \n \n {!!helpText && (\n \n {helpText}\n \n )}\n {!noSpacer && }\n
\n );\n};\n\nCustomField.propTypes = {\n Component: PropTypes.elementType.isRequired,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.string,\n helpText: PropTypes.node,\n noSpacer: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default CustomField;\n","import React from \"react\";\n\nimport Spacer from \"@agir/front/genericComponents/Spacer\";\n\nconst Legal = () => {\n return (\n

\n Premier alinéa de l’article 11-4 de la loi 88-227 du 11\n mars 1988 modifiée : une personne physique peut verser un don à un parti\n ou groupement politique si elle est de nationalité française ou si elle\n réside en France. Les dons consentis et les cotisations versées en qualité\n d’adhérent d’un ou de plusieurs partis ou groupements politiques par une\n personne physique dûment identifiée à une ou plusieurs associations\n agréées en qualité d’association de financement ou à un ou plusieurs\n mandataires financiers d’un ou de plusieurs partis ou groupements\n politiques ne peuvent annuellement excéder 7 500 euros.\n \n Troisième alinéa de l’article 11-4 : Les personnes\n morales à l’exception des partis ou groupements politiques ne peuvent\n contribuer au financement des partis ou groupements politiques, ni en\n consentant des dons, sous quelque forme que ce soit, à leurs associations\n de financement ou à leurs mandataires financiers, ni en leur fournissant\n des biens, services ou autres avantages directs ou indirects à des prix\n inférieurs à ceux qui sont habituellement pratiqués. Les personnes\n morales, à l’exception des partis et groupements politiques ainsi que des\n établissements de crédit et sociétés de financement ayant leur siège\n social dans un Etat membre de l’Union européenne ou partie à l’accord sur\n l’Espace économique européen, ne peuvent ni consentir des prêts aux partis\n et groupements politiques ni apporter leur garantie aux prêts octroyés aux\n partis et groupements politiques.\n \n Premier alinéa de l’article 11-5 : Les personnes qui ont\n versé un don ou consenti un prêt à un ou plusieurs partis ou groupements\n politiques en violation des articles 11-3-1 et 11-4 sont punies de trois\n ans d’emprisonnement et de 45 000 € d’amende.\n

\n );\n};\n\nexport default Legal;\n","import PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\n\nconst StaticToast = styled.div`\n display: flex;\n padding: 1rem;\n border: 1px solid ${(props) => props.theme.text500};\n border-radius: ${(props) => props.theme.borderRadius};\n position: relative;\n margin-top: 2rem;\n background: linear-gradient(\n 90deg,\n ${(props) => {\n if (!props.$color) {\n return props.theme.error500;\n }\n return props.theme[props.$color] || props.$color;\n }}\n 6px,\n transparent 6px,\n transparent\n );\n`;\nStaticToast.propTypes = {\n $color: PropTypes.string,\n};\nexport default StaticToast;\n","import countries from \"localized-countries/data/fr\";\n\nimport PropTypes from \"prop-types\";\nimport React, { useCallback, useMemo } from \"react\";\n\nimport SelectField from \"@agir/front/formComponents/SelectField\";\n\nconst FIRST_COUNTRY_CODES = [\"FR\", \"PT\", \"DZ\", \"MA\", \"TR\", \"IT\", \"GB\", \"ES\"];\n\nconst FIRST_COUNTRIES = FIRST_COUNTRY_CODES.map((countryCode) => ({\n value: countryCode,\n label: countries[countryCode],\n}));\n\nconst OTHER_COUNTRIES = Object.keys(countries)\n .map((countryCode) => {\n if (!FIRST_COUNTRY_CODES.includes(countryCode)) {\n return {\n value: countryCode,\n label: countries[countryCode],\n };\n }\n })\n .filter(Boolean)\n .sort(({ label: label1 }, { label: label2 }) => label1.localeCompare(label2));\n\nexport const COUNTRIES = [...FIRST_COUNTRIES, ...OTHER_COUNTRIES];\n\nconst CountryField = (props) => {\n const { onChange, value, ...rest } = props;\n\n const handleChange = useCallback(\n (country) => {\n onChange && onChange(country && country.value);\n },\n [onChange],\n );\n\n const selectedCountry = useMemo(() => {\n return value && COUNTRIES.find((c) => c.value === value);\n }, [value]);\n\n return (\n \n );\n};\nCountryField.propTypes = {\n onChange: PropTypes.func,\n value: PropTypes.oneOf([\"\", ...Object.keys(countries)]),\n};\nexport default CountryField;\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport useSWRImmutable from \"swr/immutable\";\n\nimport CONFIG from \"@agir/donations/common/config\";\nimport * as api from \"@agir/donations/common/api\";\nimport {\n getAllocationGroup,\n getReminder,\n parseAllocations,\n} from \"@agir/donations/common/allocations.config\";\n\nimport {\n INITIAL_DATA,\n setFormDataForUser,\n setFormDataFromExistingDonation,\n validateContributionRenewal,\n validateDonationData,\n} from \"@agir/donations/common/form.config\";\n\nexport const useGroupDonation = (initialGroupPk, isActive = true) => {\n const [isReady, setIsReady] = useState(false);\n const { data: initialGroup, isValidating: isGroupLoading } = useSWRImmutable(\n isActive && initialGroupPk && `/api/groupes/${initialGroupPk}/`,\n );\n const { data: groups, isValidating: areGroupsLoading } = useSWRImmutable(\n isActive && `/api/groupes/`,\n );\n\n const [selectedGroup, setSelectedGroup] = useState(null);\n\n const groupOptions = useMemo(() => {\n if (!Array.isArray(groups)) {\n return [];\n }\n const options = groups.filter((g) => g.isCertified);\n if (\n options.length === 0 ||\n !initialGroup?.isCertified ||\n options.find((g) => g.id === initialGroup.id)\n ) {\n return options;\n }\n\n return [initialGroup, ...options];\n }, [groups, initialGroup]);\n\n useEffect(() => {\n !isReady && !areGroupsLoading && !isGroupLoading && setIsReady(true);\n }, [isReady, areGroupsLoading, isGroupLoading]);\n\n useEffect(() => {\n initialGroup &&\n initialGroup.isCertified &&\n !selectedGroup &&\n setSelectedGroup(initialGroup);\n }, [initialGroup, selectedGroup]);\n\n return {\n group: selectedGroup,\n groups: groupOptions,\n isGroupReady: isReady,\n selectGroup: setSelectedGroup,\n };\n};\n\nexport const useDonations = (\n type = CONFIG.default.type,\n initialGroupPk,\n defaults = {},\n) => {\n const config = CONFIG[type] || CONFIG.default;\n\n const [isReady, setIsReady] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const { data: session, isValidating: isSessionLoading } =\n useSWRImmutable(\"/api/session/\");\n\n const { data: existingDonation, isLoading: isLoadingExistingDonation } =\n useSWRImmutable(config.existingDonationEndpoint);\n\n const [formData, setFormData] = useState({\n ...INITIAL_DATA,\n ...defaults,\n paymentType: config.type,\n paymentTiming: Object.keys(config.allowedPaymentModes)[0],\n endDate:\n typeof config.getEndDate === \"function\" ? config.getEndDate() : null,\n });\n\n const { group, groups, isGroupReady, selectGroup } = useGroupDonation(\n initialGroupPk,\n config.hasAllocations,\n );\n\n const [formErrors, setErrors] = useState({});\n\n const updateFormData = useCallback((field, value) => {\n setErrors((currentErrors) => ({\n ...currentErrors,\n [field]: \"\",\n }));\n\n setFormData((current) => ({\n ...current,\n [field]: value,\n }));\n }, []);\n\n const handleSubmit = useCallback(\n async (paymentMode) => {\n setIsLoading(true);\n setErrors({});\n const donation = {\n ...formData,\n paymentMode,\n };\n let validationErrors = validateDonationData(donation);\n if (getReminder(formData?.allocations, formData.amount)) {\n validationErrors = {\n ...(validationErrors || {}),\n global:\n \"La somme des des allocations est différente du montant total\",\n };\n }\n if (donation.nationality !== \"FR\" && donation.locationCountry !== \"FR\") {\n validationErrors = {\n ...(validationErrors || {}),\n locationCountry: \"Veuillez indiquer votre adresse fiscale en France.\",\n };\n }\n\n if (validationErrors) {\n setIsLoading(false);\n setErrors(validationErrors);\n return;\n }\n const { data, error } = await api.createDonation(donation);\n setIsLoading(false);\n if (error) {\n setErrors(error);\n return;\n }\n\n window.location.href = data.next;\n },\n [formData],\n );\n\n useEffect(() => {\n if (!session) {\n return;\n }\n setFormData(setFormDataForUser(session?.user || {}));\n }, [session]);\n\n useEffect(() => {\n group?.location?.departement &&\n updateFormData(\"departement\", group.location.departement);\n }, [group, updateFormData]);\n\n useEffect(() => {\n if (!existingDonation) {\n return;\n }\n setFormData(setFormDataFromExistingDonation(existingDonation));\n\n const group = getAllocationGroup(existingDonation.allocations);\n if (group && group.isPublished && group.isCertified) {\n selectGroup(group);\n }\n }, [existingDonation, selectGroup]);\n\n useEffect(() => {\n !isReady &&\n !isSessionLoading &&\n !isLoadingExistingDonation &&\n isGroupReady &&\n setIsReady(true);\n }, [isReady, isSessionLoading, isLoadingExistingDonation, isGroupReady]);\n\n return {\n config,\n formData,\n formErrors,\n sessionUser: session?.user || null,\n group,\n groups,\n isReady,\n isLoading,\n isRenewal: Boolean(existingDonation && existingDonation.renewable),\n updateFormData,\n handleSubmit,\n selectGroup,\n };\n};\n\nexport const useContributionRenewal = (type = CONFIG.contribution.type) => {\n const config = CONFIG[type] || CONFIG.default;\n\n const [isLoading, setIsLoading] = useState(false);\n const [errors, setErrors] = useState({});\n\n const { data: session, isLoading: isSessionLoading } =\n useSWRImmutable(\"/api/session/\");\n\n const { data: activeContribution, isLoading: isActiveContributionLoading } =\n useSWRImmutable(config.existingDonationEndpoint);\n\n const endDate =\n typeof config.getEndDate === \"function\" ? config.getEndDate() : null;\n\n const [allocations, inactiveGroupAllocation] = useMemo(\n () => parseAllocations(activeContribution),\n [activeContribution],\n );\n\n const group = useMemo(() => {\n const groupAllocation = allocations.find(\n (allocation) => !!allocation.group,\n );\n return groupAllocation && groupAllocation?.group;\n }, [allocations]);\n\n const handleSubmit = useCallback(async () => {\n setIsLoading(true);\n setErrors({});\n const newContribution = {\n ...activeContribution,\n endDate,\n allocations,\n };\n\n let validationErrors = validateContributionRenewal(newContribution, config);\n\n if (getReminder(newContribution?.allocations, newContribution.amount)) {\n validationErrors = {\n ...(validationErrors || {}),\n global: \"La somme des des allocations est différente du montant total\",\n };\n }\n\n if (\n newContribution.nationality !== \"FR\" &&\n newContribution.locationCountry !== \"FR\"\n ) {\n validationErrors = {\n ...(validationErrors || {}),\n locationCountry: \"Veuillez indiquer votre adresse fiscale en France.\",\n };\n }\n\n if (validationErrors) {\n setIsLoading(false);\n setErrors(validationErrors);\n return;\n }\n const { data, error } = await api.createDonation(newContribution);\n setIsLoading(false);\n\n if (error) {\n setErrors(error);\n return;\n }\n\n window.location.href = data.next;\n }, [activeContribution, endDate, allocations]);\n\n return {\n config,\n activeContribution,\n endDate,\n allocations,\n inactiveGroupAllocation,\n group,\n errors, //: \"Une erreur est survenue\",\n user: session?.user || null,\n isReady: !isSessionLoading && !isActiveContributionLoading,\n isLoading,\n onSubmit: handleSubmit,\n };\n};\n"],"names":["StyledCustomField","styled","div","_ref","$required","theme","css","Hide","LFIsecondary500","StyledDescription","_ref2","Component","_ref2$noSpacer","noSpacer","id","label","helpText","className","required","rest","_objectWithoutProperties","_excluded","isDesktop","useIsDesktop","React","htmlFor","$under","as","_extends","Spacer","size","style","fontSize","color","StaticToast","props","text500","borderRadius","$color","error500","propTypes","PropTypes","FIRST_COUNTRY_CODES","FIRST_COUNTRIES","map","countryCode","value","countries","OTHER_COUNTRIES","Object","keys","includes","filter","Boolean","sort","label1","label2","localeCompare","COUNTRIES","concat","_toConsumableArray","onChange","handleChange","useCallback","country","selectedCountry","useMemo","find","c","SelectField","isSearchable","autoComplete","options","useGroupDonation","initialGroupPk","isActive","arguments","length","undefined","_useState","useState","_useState2","_slicedToArray","isReady","setIsReady","_useSWRImmutable","useSWRImmutable","initialGroup","data","isGroupLoading","isValidating","_useSWRImmutable2","groups","areGroupsLoading","_useState3","_useState4","selectedGroup","setSelectedGroup","groupOptions","Array","isArray","g","isCertified","useEffect","group","isGroupReady","selectGroup","useDonations","type","CONFIG","defaults","config","_useState5","_useState6","_useState7","_useState8","isLoading","setIsLoading","_useSWRImmutable3","session","isSessionLoading","_useSWRImmutable4","existingDonationEndpoint","existingDonation","isLoadingExistingDonation","_useState9","_objectSpread","INITIAL_DATA","paymentType","paymentTiming","allowedPaymentModes","endDate","getEndDate","_useState10","formData","setFormData","_useGroupDonation","hasAllocations","_useState11","_useState12","formErrors","setErrors","updateFormData","field","currentErrors","_defineProperty","current","handleSubmit","_asyncToGenerator","_regeneratorRuntime","_callee","paymentMode","donation","validationErrors","_yield$api$createDona","error","_context","prev","next","validateDonationData","getReminder","allocations","amount","global","nationality","locationCountry","abrupt","api","sent","window","location","href","stop","_x","apply","setFormDataForUser","user","_group$location","departement","setFormDataFromExistingDonation","getAllocationGroup","isPublished","sessionUser","isRenewal","renewable","useContributionRenewal","contribution","_useState13","_useState14","_useState15","_useState16","errors","_useSWRImmutable5","_useSWRImmutable6","activeContribution","isActiveContributionLoading","_useMemo","parseAllocations","_useMemo2","inactiveGroupAllocation","groupAllocation","allocation","_callee2","newContribution","_yield$api$createDona2","_context2","validateContributionRenewal","onSubmit"],"sourceRoot":""}