{"version":3,"sources":["webpack:///./src/components/capital/CapitalFilters.js","webpack:///./src/pages/capital.js"],"names":["CapitalType","type","selected","className","to","slug","Pill","name","CapitalStage","stage","currentFilter","onApplyFilter","byCapitalStage","href","onClick","Stages","capitalStages","map","key","CapitalFilters","capitalTypes","activeType","showStages","id","query","CapitalTemplate","data","capitalTypeNodes","nodes","allOrganizationData","allOrganizations","activeTypeData","site","climatescape","activeTypeId","pageContext","useOrganizationFilterState","filter","setFilter","applyFilter","favorites","useFavorites","transformCapitalTypes","find","capitalAddFormUrl","siteMetadata","allOrgs","useMemo","rawOrgs","profiles","flatMap","transformedOrgs","transformOrganizations","favoritedOrgs","mergeFavorites","sortOrganizations","filteredOrgs","contentClassName","title","description","IndexHeader","buttonText","buttonUrl","onClearFilter","none","organizations","showFilters","organization","OrganizationCard"],"mappings":"+UAKA,SAASA,EAAT,GAA0C,IAAnBC,EAAkB,EAAlBA,KAAMC,EAAY,EAAZA,SAC3B,OACE,wBAAIC,UAAU,kBACZ,kBAAC,OAAD,CAAMC,GAAIH,EAAKI,MACb,kBAACC,EAAA,EAAD,CAAMC,KAAMN,EAAKM,KAAML,SAAUA,MAMzC,SAASM,EAAT,GAAgE,IAAxCC,EAAuC,EAAvCA,MAAOC,EAAgC,EAAhCA,cAAeC,EAAiB,EAAjBA,cACtCT,EAAWO,IAAUC,EAAcE,eAIzC,OACE,wBAAIT,UAAS,mBAEX,uBAAGU,KAAK,IAAIC,QANI,kBAClBH,EAAcC,eAAeV,EAAW,KAAOO,KAM3C,kBAACH,EAAA,EAAD,CAAMC,KAAME,EAAOP,SAAUA,MAMrC,SAASa,EAAT,GAAmD,IAAjCL,EAAgC,EAAhCA,cAAeC,EAAiB,EAAjBA,cAC/B,OACE,oCACE,wBAAIR,UAAU,gEAAd,UAGA,4BACGa,IAAcC,KAAI,SAAAR,GAAK,OACtB,kBAACD,EAAD,CACEU,IAAKT,EACLA,MAAOA,EACPC,cAAeA,EACfC,cAAeA,SAQZ,SAASQ,EAAT,GAKX,IAJFC,EAIC,EAJDA,aACAC,EAGC,EAHDA,WACAX,EAEC,EAFDA,cACAC,EACC,EADDA,cAEMW,EAAkC,qBAArBD,aAAA,EAAAA,EAAYd,MAE/B,OACE,yBAAKJ,UAAU,sDACb,wBAAIA,UAAU,gEAAd,WAGA,4BACGiB,EAAaH,KAAI,SAAAhB,GAAI,OACpB,kBAACD,EAAD,CACEkB,IAAKjB,EAAKI,KACVJ,KAAMA,EACNC,SAAUD,EAAKsB,MAAOF,aAAZ,EAAYA,EAAYE,UAIvCD,GACC,kBAACP,EAAD,CAAQL,cAAeA,EAAeC,cAAeA,KCxD7D,IAmFaa,EAAK,aAwDHC,UA3IS,SAAC,GASlB,IAAD,IARJC,KACyBC,EAOrB,EAPFP,aAAgBQ,MACEC,EAMhB,EANFC,iBACYC,EAKV,EALFV,WACAW,EAIE,EAJFA,KACAC,EAGE,EAHFA,aAEaC,EACX,EADJC,YAAeD,aACX,EACqCE,cAAlCC,EADH,KACWC,EADX,KACsBC,EADtB,KAEGC,EAAaC,YAAaR,GAF7B,GAGEb,EAAesB,gCAAsBf,GACrCN,EAAaD,EAAauB,MAAK,qBAAGpB,KAAgBW,KAChDU,EAAsBZ,EAAKa,aAA3BD,kBAEFE,EAAUC,mBAAQ,WACtB,IAAIC,EAEJ,GAAIjB,EAAgB,CAClB,IAAMkB,EAAWC,IAAQnB,EAAeH,MAAO,yBAC/CoB,EAAUE,IAAQD,EAAU,0BAE5BD,EADSnB,EACCA,EAAoBD,MAEpB,GAGZ,IAAMuB,EAAkBC,iCAAuBJ,GACzCK,EAAgBC,YAAeH,EAAiBX,GACtD,OAAOe,YAAkBF,KACxB,CAACtB,EAAgBF,EAAqBW,IAGnCgB,EAAejB,EADCe,YAAeR,EAASN,IAG9C,OACE,kBAAC,IAAD,CAAQiB,iBAAiB,4BACvB,kBAAC,IAAD,CACEC,MAAM,8BACNC,YAAY,6EAEd,yBAAKxD,UAAU,yDACb,kBAACgB,EAAD,CACEC,aAAcA,EACdC,WAAYA,EACZX,cAAe2B,EACf1B,cAAe2B,IAEjB,yBAAKnC,UAAU,YACb,kBAACyD,EAAA,EAAD,CACEF,OAAOrC,aAAA,EAAAA,EAAYd,OAAQ,kBAC3BsD,WAAW,MACXC,UAAWlB,EACXP,OAAQA,EACR0B,cAAe,kBAAMzB,EAAU0B,QAC/BrD,cAAe2B,EACf2B,cAAeT,EACf1B,iBAAkBgB,EAClBoB,YAAa,CACX,WACA,mBACA,WACA,UACA,wBACA,sBAIJ,6BACGV,EAAavC,KAAI,SAAAkD,GAAY,OAC5B,kBAACC,EAAA,EAAD,CACElD,IAAKiD,EAAaT,MAClBS,aAAcA","file":"component---src-pages-capital-js-eee74d4816f3581149b5.js","sourcesContent":["import React from \"react\"\nimport { Link } from \"gatsby\"\nimport { capitalStages } from \"../../utils/capital\"\nimport Pill from \"../Pill\"\n\nfunction CapitalType({ type, selected }) {\n return (\n
  • \n \n \n \n
  • \n )\n}\n\nfunction CapitalStage({ stage, currentFilter, onApplyFilter }) {\n const selected = stage === currentFilter.byCapitalStage\n const handleClick = () =>\n onApplyFilter.byCapitalStage(selected ? null : stage)\n\n return (\n
  • \n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n \n \n \n
  • \n )\n}\n\nfunction Stages({ currentFilter, onApplyFilter }) {\n return (\n <>\n

    \n Stages\n

    \n \n \n )\n}\n\nexport default function CapitalFilters({\n capitalTypes,\n activeType,\n currentFilter,\n onApplyFilter,\n}) {\n const showStages = activeType?.name === \"Venture Capital\"\n\n return (\n \n )\n}\n","import React, { useMemo } from \"react\"\nimport { graphql } from \"gatsby\"\nimport flatMap from \"lodash/flatMap\"\nimport { useFavorites, mergeFavorites } from \"../utils/favorites\"\nimport { sortOrganizations } from \"../utils/organizations\"\nimport {\n transformOrganizations,\n transformCapitalTypes,\n} from \"../utils/airtable\"\n\nimport Layout from \"../components/layout\"\nimport OrganizationCard from \"../components/OrganizationCard\"\nimport IndexHeader from \"../components/IndexHeader\"\nimport { useOrganizationFilterState } from \"../components/OrganizationFilter\"\nimport SEO from \"../components/seo\"\nimport CapitalFilters from \"../components/capital/CapitalFilters\"\n\nconst CapitalTemplate = ({\n data: {\n capitalTypes: { nodes: capitalTypeNodes },\n allOrganizations: allOrganizationData,\n activeType: activeTypeData,\n site,\n climatescape,\n },\n pageContext: { activeTypeId },\n}) => {\n const [filter, setFilter, applyFilter] = useOrganizationFilterState()\n const [favorites] = useFavorites(climatescape)\n const capitalTypes = transformCapitalTypes(capitalTypeNodes)\n const activeType = capitalTypes.find(({ id }) => id === activeTypeId)\n const { capitalAddFormUrl } = site.siteMetadata\n\n const allOrgs = useMemo(() => {\n let rawOrgs\n\n if (activeTypeData) {\n const profiles = flatMap(activeTypeData.nodes, \"data.Capital_Profiles\")\n rawOrgs = flatMap(profiles, \"data.Organization\")\n } else if (allOrganizationData) {\n rawOrgs = allOrganizationData.nodes\n } else {\n rawOrgs = [] // This should never really happen\n }\n\n const transformedOrgs = transformOrganizations(rawOrgs)\n const favoritedOrgs = mergeFavorites(transformedOrgs, favorites)\n return sortOrganizations(favoritedOrgs)\n }, [activeTypeData, allOrganizationData, favorites])\n\n const favoritedOrgs = mergeFavorites(allOrgs, favorites)\n const filteredOrgs = applyFilter(favoritedOrgs)\n\n return (\n \n \n
    \n \n
    \n setFilter.none()}\n onApplyFilter={setFilter}\n organizations={filteredOrgs}\n allOrganizations={allOrgs}\n showFilters={[\n \"location\",\n \"capitalCheckSize\",\n \"category\",\n \"orgType\",\n \"capitalImpactSpecific\",\n \"capitalStrategic\",\n ]}\n />\n\n
    \n {filteredOrgs.map(organization => (\n \n ))}\n
    \n
    \n
    \n
    \n )\n}\n\nexport const query = graphql`\n query CapitalPageQuery($activeTypeId: String, $active: Boolean = false) {\n # If $active is true, we will fetch the Capital Type specified by\n # $activeTypeId and query through the associated Capital Profiles to fetch\n # the appropriate organizations\n activeType: allAirtable(\n filter: { table: { eq: \"Capital Types\" }, id: { eq: $activeTypeId } }\n ) @include(if: $active) {\n nodes {\n data {\n Capital_Profiles {\n data {\n Organization {\n ...CapitalOrganizationCard\n }\n }\n }\n }\n }\n }\n\n # If $active is false (default), we fetch all Capital organizations by Role\n allOrganizations: allAirtable(\n filter: {\n table: { eq: \"Organizations\" }\n data: { Role: { eq: \"Capital\" } }\n }\n ) @skip(if: $active) {\n nodes {\n ...CapitalOrganizationCard\n }\n }\n\n capitalTypes: allAirtable(\n filter: { table: { eq: \"Capital Types\" } }\n sort: { fields: [data___Name], order: ASC }\n ) {\n nodes {\n id\n data {\n Name\n Slug\n }\n }\n }\n\n ...StaticFavorites\n\n site {\n siteMetadata {\n capitalAddFormUrl\n }\n }\n }\n`\n\nexport default CapitalTemplate\n"],"sourceRoot":""}