{
  "version": 3,
  "sources": ["../../src/web/lib/RequestEditorAccess.ts"],
  "sourcesContent": ["import type { ToasterAction } from \"@framerjs/fresco\"\nimport type React from \"react\"\nimport { apiFetcher } from \"./apiFetcher.ts\"\n\nexport interface AccessRequest {\n\tid: string\n\tuserId: string\n\tresourceType: AccessRequestResourceType\n\tresourceId: string\n\tstatus: AccessRequestStatus\n\tcreatedAt: string\n\tupdatedAt: string\n}\n\nexport enum AccessRequestResourceType {\n\tProject = \"project\",\n\tTeam = \"team\",\n}\n\nexport interface RequestAccessParams {\n\tresourceId: string\n\tresourceType: AccessRequestResourceType\n}\n\nexport enum AccessRequestStatus {\n\tPending = \"pending\",\n\tGranted = \"granted\",\n}\n\nexport type AccessRequestStatusWithLoading = AccessRequestStatus | \"loading\" | undefined\n\n/** Requests editor access to a resource (team or project)\nNote: when requesting access to a project, you probably want\nto use `api.requestAccess` instead, because it notifies project\ncollaborators in realtime\n*/\nexport function requestAccess(options: RequestAccessParams): Promise<AccessRequest> {\n\treturn apiFetcher.post(`/web/access-requests`, options)\n}\n\nconst requestAccessProjectToast = \"request-access-project\"\nconst requestAccessTeamToast = \"request-access-team\"\n\nexport function createToasts(toasterFn: React.Dispatch<ToasterAction>) {\n\treturn {\n\t\tprojectSuccess: () =>\n\t\t\ttoasterFn({\n\t\t\t\tkey: requestAccessProjectToast,\n\t\t\t\ttype: \"add\",\n\t\t\t\tvariant: \"success\",\n\t\t\t\ticon: \"success\",\n\t\t\t\tprimaryText: \"You requested\",\n\t\t\t\tsecondaryText: \"edit access for this project.\",\n\t\t\t}),\n\t\tprojectError: () =>\n\t\t\ttoasterFn({\n\t\t\t\tkey: requestAccessProjectToast,\n\t\t\t\ttype: \"add\",\n\t\t\t\tvariant: \"error\",\n\t\t\t\ticon: \"error\",\n\t\t\t\tprimaryText: \"Failed to request\",\n\t\t\t\tsecondaryText: \"edit access for this project.\",\n\t\t\t}),\n\t\tteamSuccess: (teamName: string) =>\n\t\t\ttoasterFn({\n\t\t\t\tkey: requestAccessTeamToast,\n\t\t\t\ttype: \"add\",\n\t\t\t\tvariant: \"success\",\n\t\t\t\ticon: \"success\",\n\t\t\t\tprimaryText: \"Requested Editor role\",\n\t\t\t\tsecondaryText: `in ${teamName}.`,\n\t\t\t}),\n\t\tteamError: (teamName: string) =>\n\t\t\ttoasterFn({\n\t\t\t\tkey: requestAccessTeamToast,\n\t\t\t\ttype: \"add\",\n\t\t\t\tvariant: \"error\",\n\t\t\t\ticon: \"error\",\n\t\t\t\tprimaryText: \"Failed to request Editor role\",\n\t\t\t\tsecondaryText: `in ${teamName}.`,\n\t\t\t}),\n\t}\n}\n"],
  "mappings": ";;;;;AAoCO,SAAS,cAAc,SAAsD;AACnF,SAAO,WAAW,KAAK,wBAAwB,OAAO;AACvD;AAEA,IAAM,4BAA4B;AAClC,IAAM,yBAAyB;AAExB,SAAS,aAAa,WAA0C;AACtE,SAAO;AAAA,IACN,gBAAgB,MACf,UAAU;AAAA,MACT,KAAK;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,MACN,aAAa;AAAA,MACb,eAAe;AAAA,IAChB,CAAC;AAAA,IACF,cAAc,MACb,UAAU;AAAA,MACT,KAAK;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,MACN,aAAa;AAAA,MACb,eAAe;AAAA,IAChB,CAAC;AAAA,IACF,aAAa,CAAC,aACb,UAAU;AAAA,MACT,KAAK;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,MACN,aAAa;AAAA,MACb,eAAe,MAAM,QAAQ;AAAA,IAC9B,CAAC;AAAA,IACF,WAAW,CAAC,aACX,UAAU;AAAA,MACT,KAAK;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,MACN,aAAa;AAAA,MACb,eAAe,MAAM,QAAQ;AAAA,IAC9B,CAAC;AAAA,EACH;AACD;",
  "names": []
}
