@schemavaults/auth-ui 0.6.19 → 0.6.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/components/ApiServersCard/api_servers_card.d.ts +1 -0
  2. package/dist/components/ApiServersCard/api_servers_card.js +2 -2
  3. package/dist/components/ApiServersCard/api_servers_card.js.map +1 -1
  4. package/dist/components/ApiServersTable/ApiServerRowActions.d.ts +6 -0
  5. package/dist/components/ApiServersTable/ApiServerRowActions.js +47 -0
  6. package/dist/components/ApiServersTable/ApiServerRowActions.js.map +1 -0
  7. package/dist/components/ApiServersTable/ApiServersTable.d.ts +2 -1
  8. package/dist/components/ApiServersTable/ApiServersTable.js +19 -17
  9. package/dist/components/ApiServersTable/ApiServersTable.js.map +1 -1
  10. package/dist/components/ApiServersTable/ApiServersTableConfigContext.d.ts +4 -0
  11. package/dist/components/ApiServersTable/ApiServersTableConfigContext.js +6 -0
  12. package/dist/components/ApiServersTable/ApiServersTableConfigContext.js.map +1 -0
  13. package/dist/components/ApiServersTable/columns.d.ts +1 -1
  14. package/dist/components/ApiServersTable/columns.js +5 -33
  15. package/dist/components/ApiServersTable/columns.js.map +1 -1
  16. package/dist/components/ApiServersTable/index.d.ts +2 -0
  17. package/dist/components/ApiServersTable/index.js +1 -0
  18. package/dist/components/ApiServersTable/index.js.map +1 -1
  19. package/dist/components/AppsTable/frontend_app_actions.d.ts +1 -1
  20. package/dist/components/AppsTable/frontend_app_actions.js +70 -44
  21. package/dist/components/AppsTable/frontend_app_actions.js.map +1 -1
  22. package/dist/components/AppsTable/useAppDomains.d.ts +1 -1
  23. package/dist/components/AppsTable/useAppDomains.js +12 -11
  24. package/dist/components/AppsTable/useAppDomains.js.map +1 -1
  25. package/dist/components/ConnectAppToApiDialog/ConnectAppToApiDialog.d.ts +3 -2
  26. package/dist/components/ConnectAppToApiDialog/ConnectAppToApiDialog.js +21 -8
  27. package/dist/components/ConnectAppToApiDialog/ConnectAppToApiDialog.js.map +1 -1
  28. package/dist/components/CreateAppDomainDialog/CreateAppDomainDialog.js +41 -39
  29. package/dist/components/CreateAppDomainDialog/CreateAppDomainDialog.js.map +1 -1
  30. package/dist/components/CreateOrganizationDialog/CreateOrganizationDialog.js.map +1 -1
  31. package/dist/components/CreateOrganizationDialog/CreateOrganizationForm.js +1 -1
  32. package/dist/components/CreateOrganizationDialog/CreateOrganizationForm.js.map +1 -1
  33. package/dist/components/InviteCodesTable/columns.js +13 -10
  34. package/dist/components/InviteCodesTable/columns.js.map +1 -1
  35. package/dist/components/InviteMemberDialog/InviteMemberDialog.d.ts +7 -3
  36. package/dist/components/InviteMemberDialog/InviteMemberDialog.js +25 -18
  37. package/dist/components/InviteMemberDialog/InviteMemberDialog.js.map +1 -1
  38. package/dist/components/InviteMemberDialog/InviteMemberDialogDispatchContext.d.ts +2 -0
  39. package/dist/components/InviteMemberDialog/InviteMemberDialogDispatchContext.js +8 -0
  40. package/dist/components/InviteMemberDialog/InviteMemberDialogDispatchContext.js.map +1 -0
  41. package/dist/components/InviteMemberDialog/index.d.ts +3 -2
  42. package/dist/components/InviteMemberDialog/index.js +2 -1
  43. package/dist/components/InviteMemberDialog/index.js.map +1 -1
  44. package/dist/components/OrganizationMembersCard/OrganizationMembersCard.d.ts +1 -1
  45. package/dist/components/OrganizationMembersCard/OrganizationMembersCard.js +4 -37
  46. package/dist/components/OrganizationMembersCard/OrganizationMembersCard.js.map +1 -1
  47. package/dist/components/OrganizationMembersTable/OrganizationMembersTable.d.ts +3 -5
  48. package/dist/components/OrganizationMembersTable/OrganizationMembersTable.js +40 -7
  49. package/dist/components/OrganizationMembersTable/OrganizationMembersTable.js.map +1 -1
  50. package/dist/components/OrganizationMembersTable/columns.js +69 -14
  51. package/dist/components/OrganizationMembersTable/columns.js.map +1 -1
  52. package/dist/components/OrganizationSettingsCard/DeleteOrganizationDialog.d.ts +10 -0
  53. package/dist/components/OrganizationSettingsCard/DeleteOrganizationDialog.js +54 -0
  54. package/dist/components/OrganizationSettingsCard/DeleteOrganizationDialog.js.map +1 -0
  55. package/dist/components/OrganizationSettingsCard/OrganizationSettingsCard.d.ts +10 -0
  56. package/dist/components/OrganizationSettingsCard/OrganizationSettingsCard.js +20 -0
  57. package/dist/components/OrganizationSettingsCard/OrganizationSettingsCard.js.map +1 -0
  58. package/dist/components/OrganizationSettingsCard/index.d.ts +4 -0
  59. package/dist/components/OrganizationSettingsCard/index.js +3 -0
  60. package/dist/components/OrganizationSettingsCard/index.js.map +1 -0
  61. package/dist/components/OrganizationsTable/columns.js +14 -10
  62. package/dist/components/OrganizationsTable/columns.js.map +1 -1
  63. package/dist/components/PendingInvitationsCard/PendingInvitationsCard.d.ts +10 -0
  64. package/dist/components/PendingInvitationsCard/PendingInvitationsCard.js +13 -0
  65. package/dist/components/PendingInvitationsCard/PendingInvitationsCard.js.map +1 -0
  66. package/dist/components/PendingInvitationsCard/index.d.ts +2 -0
  67. package/dist/components/PendingInvitationsCard/index.js +2 -0
  68. package/dist/components/PendingInvitationsCard/index.js.map +1 -0
  69. package/dist/components/PendingInvitationsTable/PendingInvitationsTable.d.ts +7 -0
  70. package/dist/components/PendingInvitationsTable/PendingInvitationsTable.js +30 -0
  71. package/dist/components/PendingInvitationsTable/PendingInvitationsTable.js.map +1 -0
  72. package/dist/components/PendingInvitationsTable/columns.d.ts +3 -0
  73. package/dist/components/PendingInvitationsTable/columns.js +100 -0
  74. package/dist/components/PendingInvitationsTable/columns.js.map +1 -0
  75. package/dist/components/PendingInvitationsTable/index.d.ts +4 -0
  76. package/dist/components/PendingInvitationsTable/index.js +3 -0
  77. package/dist/components/PendingInvitationsTable/index.js.map +1 -0
  78. package/dist/components/PendingInvitationsTable/usePendingInvitations.d.ts +10 -0
  79. package/dist/components/PendingInvitationsTable/usePendingInvitations.js +48 -0
  80. package/dist/components/PendingInvitationsTable/usePendingInvitations.js.map +1 -0
  81. package/dist/components/SentInvitationsCard/SentInvitationsCard.d.ts +11 -0
  82. package/dist/components/SentInvitationsCard/SentInvitationsCard.js +13 -0
  83. package/dist/components/SentInvitationsCard/SentInvitationsCard.js.map +1 -0
  84. package/dist/components/SentInvitationsCard/index.d.ts +2 -0
  85. package/dist/components/SentInvitationsCard/index.js +2 -0
  86. package/dist/components/SentInvitationsCard/index.js.map +1 -0
  87. package/dist/components/SentInvitationsTable/SentInvitationsTable.d.ts +8 -0
  88. package/dist/components/SentInvitationsTable/SentInvitationsTable.js +32 -0
  89. package/dist/components/SentInvitationsTable/SentInvitationsTable.js.map +1 -0
  90. package/dist/components/SentInvitationsTable/columns.d.ts +3 -0
  91. package/dist/components/SentInvitationsTable/columns.js +130 -0
  92. package/dist/components/SentInvitationsTable/columns.js.map +1 -0
  93. package/dist/components/SentInvitationsTable/index.d.ts +4 -0
  94. package/dist/components/SentInvitationsTable/index.js +3 -0
  95. package/dist/components/SentInvitationsTable/index.js.map +1 -0
  96. package/dist/components/SentInvitationsTable/useSentInvitations.d.ts +12 -0
  97. package/dist/components/SentInvitationsTable/useSentInvitations.js +52 -0
  98. package/dist/components/SentInvitationsTable/useSentInvitations.js.map +1 -0
  99. package/dist/components/UsersTable/columns.js +28 -20
  100. package/dist/components/UsersTable/columns.js.map +1 -1
  101. package/dist/components/index.d.ts +14 -0
  102. package/dist/components/index.js +7 -0
  103. package/dist/components/index.js.map +1 -1
  104. package/package.json +3 -3
@@ -0,0 +1,100 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { Checkbox, useToast, Button } from "@schemavaults/ui";
5
+ import { Check, X, Loader2 } from "lucide-react";
6
+ import printDateTime from "../../lib/printDateTime";
7
+ import { useSWRConfig } from "swr";
8
+ import { clearPendingInvitationsCache } from "./usePendingInvitations";
9
+ function AcceptDeclineButtons({ invitation, }) {
10
+ const { toast } = useToast();
11
+ const { mutate } = useSWRConfig();
12
+ const [isLoading, setIsLoading] = useState(null);
13
+ const handleResponse = async (action) => {
14
+ setIsLoading(action);
15
+ try {
16
+ const response = await fetch(`/api/organizations/${invitation.organization_id}/invitations/${invitation.invitation_id}`, {
17
+ method: "PATCH",
18
+ credentials: "include",
19
+ headers: {
20
+ "Content-Type": "application/json",
21
+ },
22
+ body: JSON.stringify({ action }),
23
+ });
24
+ const body = await response.json();
25
+ if (!response.ok || !body.success) {
26
+ throw new Error(body.message || `Failed to ${action} invitation`);
27
+ }
28
+ toast({
29
+ title: action === "accept" ? "Joined organization!" : "Invitation declined",
30
+ description: action === "accept"
31
+ ? `You are now a member of ${invitation.organization_name}`
32
+ : `You declined the invitation to ${invitation.organization_name}`,
33
+ });
34
+ // Refresh the invitations list
35
+ clearPendingInvitationsCache(mutate);
36
+ }
37
+ catch (error) {
38
+ toast({
39
+ variant: "destructive",
40
+ title: `Failed to ${action} invitation`,
41
+ description: error instanceof Error ? error.message : "An unknown error occurred",
42
+ });
43
+ }
44
+ finally {
45
+ setIsLoading(null);
46
+ }
47
+ };
48
+ return (_jsxs("div", { className: "flex gap-2", children: [_jsxs(Button, { variant: "default", size: "sm", onClick: () => handleResponse("accept"), disabled: isLoading !== null, children: [isLoading === "accept" ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin" })) : (_jsx(Check, { className: "h-4 w-4" })), _jsx("span", { className: "ml-1", children: "Accept" })] }), _jsxs(Button, { variant: "outline", size: "sm", onClick: () => handleResponse("decline"), disabled: isLoading !== null, children: [isLoading === "decline" ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin" })) : (_jsx(X, { className: "h-4 w-4" })), _jsx("span", { className: "ml-1", children: "Decline" })] })] }));
49
+ }
50
+ export const columns = [
51
+ {
52
+ id: "select",
53
+ header: ({ table }) => (_jsx(Checkbox, { checked: table.getIsAllPageRowsSelected() ||
54
+ (table.getIsSomePageRowsSelected() && "indeterminate"), onCheckedChange: (value) => table.toggleAllPageRowsSelected(!!value), "aria-label": "Select all" })),
55
+ cell: ({ row }) => (_jsx(Checkbox, { checked: row.getIsSelected(), onCheckedChange: (value) => row.toggleSelected(!!value), "aria-label": "Select row" })),
56
+ enableSorting: false,
57
+ enableHiding: false,
58
+ },
59
+ {
60
+ id: "organization_name",
61
+ accessorKey: "organization_name",
62
+ header: "Organization",
63
+ },
64
+ {
65
+ id: "inviter_email",
66
+ accessorKey: "inviter_email",
67
+ header: "Invited By",
68
+ },
69
+ {
70
+ id: "created_at",
71
+ accessorKey: "created_at",
72
+ header: "Invited At",
73
+ cell: ({ row }) => {
74
+ const invitation = row.original;
75
+ const created_at = invitation.created_at;
76
+ const asDate = new Date(created_at);
77
+ return _jsx("div", { children: printDateTime(asDate, false) });
78
+ },
79
+ },
80
+ {
81
+ id: "expires_at",
82
+ accessorKey: "expires_at",
83
+ header: "Expires At",
84
+ cell: ({ row }) => {
85
+ const invitation = row.original;
86
+ const expires_at = invitation.expires_at;
87
+ const asDate = new Date(expires_at);
88
+ return _jsx("div", { children: printDateTime(asDate, false) });
89
+ },
90
+ },
91
+ {
92
+ id: "actions",
93
+ header: "Actions",
94
+ cell: function PendingInvitationsTableRowActionsCell({ row, }) {
95
+ const invitation = row.original;
96
+ return _jsx(AcceptDeclineButtons, { invitation: invitation });
97
+ },
98
+ },
99
+ ];
100
+ //# sourceMappingURL=columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/components/PendingInvitationsTable/columns.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAqB,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvE,SAAS,oBAAoB,CAAC,EAC5B,UAAU,GAGX;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAClC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IAE9E,MAAM,cAAc,GAAG,KAAK,EAAE,MAA4B,EAAE,EAAE;QAC5D,YAAY,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,sBAAsB,UAAU,CAAC,eAAe,gBAAgB,UAAU,CAAC,aAAa,EAAE,EAC1F;gBACE,MAAM,EAAE,OAAO;gBACf,WAAW,EAAE,SAAS;gBACtB,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;aACjC,CACF,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEnC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,aAAa,MAAM,aAAa,CAAC,CAAC;YACpE,CAAC;YAED,KAAK,CAAC;gBACJ,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB;gBAC3E,WAAW,EACT,MAAM,KAAK,QAAQ;oBACjB,CAAC,CAAC,2BAA2B,UAAU,CAAC,iBAAiB,EAAE;oBAC3D,CAAC,CAAC,kCAAkC,UAAU,CAAC,iBAAiB,EAAE;aACvE,CAAC,CAAC;YAEH,+BAA+B;YAC/B,4BAA4B,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,KAAK,CAAC;gBACJ,OAAO,EAAE,aAAa;gBACtB,KAAK,EAAE,aAAa,MAAM,aAAa;gBACvC,WAAW,EACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B;aACvE,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,YAAY,aACzB,MAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EACvC,QAAQ,EAAE,SAAS,KAAK,IAAI,aAE3B,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CACxB,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,CAC7C,CAAC,CAAC,CAAC,CACF,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,CAC9B,EACD,eAAM,SAAS,EAAC,MAAM,uBAAc,IAC7B,EACT,MAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EACxC,QAAQ,EAAE,SAAS,KAAK,IAAI,aAE3B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CACzB,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,CAC7C,CAAC,CAAC,CAAC,CACF,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,CAC1B,EACD,eAAM,SAAS,EAAC,MAAM,wBAAe,IAC9B,IACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAuC;IACzD;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,KAAC,QAAQ,IACP,OAAO,EACL,KAAK,CAAC,wBAAwB,EAAE;gBAChC,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,eAAe,CAAC,EAExD,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE,CAClC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAE/B,YAAY,GACvB,CACH;QACD,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CACjB,KAAC,QAAQ,IACP,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,EAC5B,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,gBACrD,YAAY,GACvB,CACH;QACD,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,KAAK;KACpB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,cAAc;KACvB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,WAAW,EAAE,eAAe;QAC5B,MAAM,EAAE,YAAY;KACrB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,YAAY;QACzB,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAgB,EAAE;YAC9B,MAAM,UAAU,GAA0B,GAAG,CAAC,QAAQ,CAAC;YACvD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,OAAO,wBAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,GAAO,CAAC;QACnD,CAAC;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,YAAY;QACzB,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAgB,EAAE;YAC9B,MAAM,UAAU,GAA0B,GAAG,CAAC,QAAQ,CAAC;YACvD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,OAAO,wBAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,GAAO,CAAC;QACnD,CAAC;KACF;IACD;QACE,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,SAAS,qCAAqC,CAAC,EACnD,GAAG,GACJ;YACC,MAAM,UAAU,GAA0B,GAAG,CAAC,QAAQ,CAAC;YACvD,OAAO,KAAC,oBAAoB,IAAC,UAAU,EAAE,UAAU,GAAI,CAAC;QAC1D,CAAC;KACF;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { PendingInvitationsTable, PendingInvitationsTable as default, } from "./PendingInvitationsTable";
2
+ export type { PendingInvitationsDatatableProps } from "./PendingInvitationsTable";
3
+ export { usePendingInvitations, clearPendingInvitationsCache, } from "./usePendingInvitations";
4
+ export type { UsePendingInvitationsOptions } from "./usePendingInvitations";
@@ -0,0 +1,3 @@
1
+ export { PendingInvitationsTable, PendingInvitationsTable as default, } from "./PendingInvitationsTable";
2
+ export { usePendingInvitations, clearPendingInvitationsCache, } from "./usePendingInvitations";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/PendingInvitationsTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,IAAI,OAAO,GACnC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { useToast } from "@schemavaults/ui";
2
+ import { type SWRResponse, useSWRConfig } from "swr";
3
+ import type { UserPendingInvitation } from "@schemavaults/auth-common";
4
+ export interface UsePendingInvitationsOptions {
5
+ toast: ReturnType<typeof useToast>["toast"];
6
+ initialData?: readonly UserPendingInvitation[] | undefined;
7
+ }
8
+ export declare function clearPendingInvitationsCache(mutate: ReturnType<typeof useSWRConfig>["mutate"]): void;
9
+ export declare function usePendingInvitations({ toast, initialData, }: UsePendingInvitationsOptions): SWRResponse<readonly UserPendingInvitation[]>;
10
+ export default usePendingInvitations;
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import useSWR from "swr";
3
+ const LIST_PENDING_INVITATIONS_ENDPOINT = "/api/me/invitations";
4
+ export function clearPendingInvitationsCache(mutate) {
5
+ mutate((key) => key.startsWith(LIST_PENDING_INVITATIONS_ENDPOINT), undefined, {
6
+ revalidate: true,
7
+ });
8
+ }
9
+ export function usePendingInvitations({ toast, initialData, }) {
10
+ return useSWR(LIST_PENDING_INVITATIONS_ENDPOINT, async () => {
11
+ try {
12
+ const response = await fetch(LIST_PENDING_INVITATIONS_ENDPOINT, {
13
+ method: "GET",
14
+ credentials: "include",
15
+ });
16
+ if (!response.ok || response.status !== 200) {
17
+ throw new Error(`Failed to list pending invitations (response status: ${response.status})!`);
18
+ }
19
+ const body = await response.json();
20
+ if (typeof body !== "object" ||
21
+ !body ||
22
+ !("success" in body) ||
23
+ !body.success) {
24
+ throw new Error("Received failure response when attempting to list pending invitations");
25
+ }
26
+ if (!("data" in body) ||
27
+ typeof body.data !== "object" ||
28
+ !body.data ||
29
+ !("invitations" in body.data) ||
30
+ !Array.isArray(body.data.invitations)) {
31
+ throw new Error("Failed to extract 'invitations' array from response!");
32
+ }
33
+ return body.data.invitations;
34
+ }
35
+ catch (error) {
36
+ toast({
37
+ variant: "destructive",
38
+ title: "Error loading pending invitations",
39
+ description: `${error instanceof Error ? error.message : "An unknown error occurred."}`,
40
+ });
41
+ throw error;
42
+ }
43
+ }, {
44
+ fallbackData: initialData ? [...initialData] : undefined,
45
+ });
46
+ }
47
+ export default usePendingInvitations;
48
+ //# sourceMappingURL=usePendingInvitations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePendingInvitations.js","sourceRoot":"","sources":["../../../src/components/PendingInvitationsTable/usePendingInvitations.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,MAA0C,MAAM,KAAK,CAAC;AAQ7D,MAAM,iCAAiC,GAAG,qBAAqB,CAAC;AAEhE,MAAM,UAAU,4BAA4B,CAC1C,MAAiD;IAEjD,MAAM,CACJ,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,iCAAiC,CAAC,EAClE,SAAS,EACT;QACE,UAAU,EAAE,IAAI;KACjB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,EACL,WAAW,GACkB;IAC7B,OAAO,MAAM,CACX,iCAAiC,EACjC,KAAK,IAA+C,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iCAAiC,EAAE;gBAC9D,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,SAAS;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CACb,wDAAwD,QAAQ,CAAC,MAAM,IAAI,CAC5E,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5C,IACE,OAAO,IAAI,KAAK,QAAQ;gBACxB,CAAC,IAAI;gBACL,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;gBACpB,CAAC,IAAI,CAAC,OAAO,EACb,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;YACJ,CAAC;YACD,IACE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBACjB,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAC7B,CAAC,IAAI,CAAC,IAAI;gBACV,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC;gBAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EACrC,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,sDAAsD,CACvD,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,WAAsC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,KAAK,CAAC;gBACJ,OAAO,EAAE,aAAa;gBACtB,KAAK,EAAE,mCAAmC;gBAC1C,WAAW,EAAE,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE;aACxF,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,EACD;QACE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;KACzD,CACF,CAAC;AACJ,CAAC;AAED,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ReactElement } from "react";
2
+ import type { OrganizationInvitationWithUserData, OrganizationID } from "@schemavaults/auth-common";
3
+ export interface SentInvitationsCardProps {
4
+ organization_id: OrganizationID;
5
+ cardTitle?: string;
6
+ cardDescription?: string;
7
+ cardClassName?: string;
8
+ preloaded?: readonly OrganizationInvitationWithUserData[];
9
+ }
10
+ export declare function SentInvitationsCard(props: SentInvitationsCardProps): ReactElement;
11
+ export default SentInvitationsCard;
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle, cn, } from "@schemavaults/ui";
4
+ import SentInvitationsTable from "../SentInvitationsTable";
5
+ export function SentInvitationsCard(props) {
6
+ const cardTitle = props.cardTitle ?? "Sent Invitations";
7
+ const cardDescription = props.cardDescription ??
8
+ "Invitations sent to users to join this organization.";
9
+ const cardClassName = cn("w-full", props.cardClassName);
10
+ return (_jsxs(Card, { className: cardClassName, children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: cardTitle }), _jsx(CardDescription, { children: cardDescription })] }), _jsx(CardContent, { children: _jsx(SentInvitationsTable, { organization_id: props.organization_id, preloaded: props.preloaded }) })] }));
11
+ }
12
+ export default SentInvitationsCard;
13
+ //# sourceMappingURL=SentInvitationsCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SentInvitationsCard.js","sourceRoot":"","sources":["../../../src/components/SentInvitationsCard/SentInvitationsCard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,UAAU,EACV,SAAS,EACT,EAAE,GACH,MAAM,kBAAkB,CAAC;AAC1B,OAAO,oBAAoB,MAAM,mCAAmC,CAAC;AAWrE,MAAM,UAAU,mBAAmB,CACjC,KAA+B;IAE/B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,kBAAkB,CAAC;IACxD,MAAM,eAAe,GACnB,KAAK,CAAC,eAAe;QACrB,sDAAsD,CAAC;IACzD,MAAM,aAAa,GAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAEhE,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAE,aAAa,aAC5B,MAAC,UAAU,eACT,KAAC,SAAS,cAAE,SAAS,GAAa,EAClC,KAAC,eAAe,cAAE,eAAe,GAAmB,IACzC,EACb,KAAC,WAAW,cACV,KAAC,oBAAoB,IACnB,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,GACU,IACT,CACR,CAAC;AACJ,CAAC;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { SentInvitationsCard, SentInvitationsCard as default } from "./SentInvitationsCard";
2
+ export type { SentInvitationsCardProps } from "./SentInvitationsCard";
@@ -0,0 +1,2 @@
1
+ export { SentInvitationsCard, SentInvitationsCard as default } from "./SentInvitationsCard";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SentInvitationsCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ReactElement } from "react";
2
+ import type { OrganizationInvitationWithUserData, OrganizationID } from "@schemavaults/auth-common";
3
+ export interface SentInvitationsDatatableProps {
4
+ organization_id: OrganizationID;
5
+ preloaded?: readonly OrganizationInvitationWithUserData[] | undefined;
6
+ }
7
+ export declare function SentInvitationsTable({ organization_id, preloaded, }: SentInvitationsDatatableProps): ReactElement;
8
+ export default SentInvitationsTable;
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Datatable, useToast } from "@schemavaults/ui";
4
+ import { columns } from "./columns";
5
+ import { Loader2 } from "lucide-react";
6
+ import { useSentInvitations } from "./useSentInvitations";
7
+ export function SentInvitationsTable({ organization_id, preloaded, }) {
8
+ const { toast } = useToast();
9
+ const invitations = useSentInvitations({
10
+ organization_id,
11
+ toast,
12
+ initialData: preloaded,
13
+ });
14
+ const { isLoading, data } = invitations;
15
+ if (!data && isLoading) {
16
+ return (_jsx("div", { className: "min-h-48 w-full flex items-center justify-center", children: _jsx(Loader2, { className: "h-12 w-12 animate-spin" }) }));
17
+ }
18
+ if (!data || data.length === 0) {
19
+ return (_jsx("div", { className: "min-h-24 w-full flex items-center justify-center text-muted-foreground", children: "No invitations sent" }));
20
+ }
21
+ return (_jsx(Datatable, { data: data ? (data.length > 0 ? [...data] : []) : [], columns: columns, initialVisibleColumns: {
22
+ actions: true,
23
+ select: false,
24
+ invitee_email: true,
25
+ status: true,
26
+ created_at: true,
27
+ expires_at: false,
28
+ responded_at: false,
29
+ }, datatypeLabel: "Invitation", searchColumn: ["invitee_email"] }));
30
+ }
31
+ export default SentInvitationsTable;
32
+ //# sourceMappingURL=SentInvitationsTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SentInvitationsTable.js","sourceRoot":"","sources":["../../../src/components/SentInvitationsTable/SentInvitationsTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAO1D,MAAM,UAAU,oBAAoB,CAAC,EACnC,eAAe,EACf,SAAS,GACqB;IAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,MAAM,WAAW,GAAG,kBAAkB,CAAC;QACrC,eAAe;QACf,KAAK;QACL,WAAW,EAAE,SAAS;KACvB,CAAC,CAAC;IACH,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;IAExC,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;QACvB,OAAO,CACL,cAAK,SAAS,EAAC,kDAAkD,YAC/D,KAAC,OAAO,IAAC,SAAS,EAAC,wBAAwB,GAAG,GAC1C,CACP,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CACL,cAAK,SAAS,EAAC,wEAAwE,oCAEjF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,SAAS,IACR,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EACpD,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE;YACrB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB,EACD,aAAa,EAAC,YAAY,EAC1B,YAAY,EAAE,CAAC,eAAe,CAAC,GAC/B,CACH,CAAC;AACJ,CAAC;AAED,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ColumnDef } from "@schemavaults/ui";
2
+ import type { OrganizationInvitationWithUserData } from "@schemavaults/auth-common";
3
+ export declare const columns: ColumnDef<OrganizationInvitationWithUserData>[];
@@ -0,0 +1,130 @@
1
+ "use client";
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { Checkbox, useToast, Button, Badge, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger, } from "@schemavaults/ui";
5
+ import { MoreHorizontal, X, Loader2 } from "lucide-react";
6
+ import printDateTime from "../../lib/printDateTime";
7
+ import { useSWRConfig } from "swr";
8
+ import { clearSentInvitationsCache } from "./useSentInvitations";
9
+ function getStatusBadgeVariant(status) {
10
+ switch (status) {
11
+ case "pending":
12
+ return "default";
13
+ case "accepted":
14
+ return "secondary";
15
+ case "declined":
16
+ return "outline";
17
+ case "revoked":
18
+ return "destructive";
19
+ case "expired":
20
+ return "outline";
21
+ default:
22
+ return "outline";
23
+ }
24
+ }
25
+ function RevokeButton({ invitation, }) {
26
+ const { toast } = useToast();
27
+ const { mutate } = useSWRConfig();
28
+ const [isLoading, setIsLoading] = useState(false);
29
+ const handleRevoke = async () => {
30
+ setIsLoading(true);
31
+ try {
32
+ const response = await fetch(`/api/organizations/${invitation.organization_id}/invitations/${invitation.invitation_id}`, {
33
+ method: "DELETE",
34
+ credentials: "include",
35
+ });
36
+ const body = await response.json();
37
+ if (!response.ok || !body.success) {
38
+ throw new Error(body.message || "Failed to revoke invitation");
39
+ }
40
+ toast({
41
+ title: "Invitation revoked",
42
+ description: `The invitation to ${invitation.invitee_email} has been revoked.`,
43
+ });
44
+ // Refresh the invitations list
45
+ clearSentInvitationsCache(mutate, invitation.organization_id);
46
+ }
47
+ catch (error) {
48
+ toast({
49
+ variant: "destructive",
50
+ title: "Failed to revoke invitation",
51
+ description: error instanceof Error ? error.message : "An unknown error occurred",
52
+ });
53
+ }
54
+ finally {
55
+ setIsLoading(false);
56
+ }
57
+ };
58
+ if (invitation.status !== "pending") {
59
+ return _jsx(_Fragment, {});
60
+ }
61
+ return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "h-8 w-8 p-0", children: [_jsx("span", { className: "sr-only", children: "Open menu" }), _jsx(MoreHorizontal, { className: "h-4 w-4" })] }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsx(DropdownMenuLabel, { children: "Actions" }), _jsxs(DropdownMenuItem, { onClick: handleRevoke, disabled: isLoading, className: "text-destructive focus:text-destructive", children: [isLoading ? (_jsx(Loader2, { className: "h-4 w-4 mr-2 animate-spin" })) : (_jsx(X, { className: "h-4 w-4 mr-2" })), "Revoke Invitation"] })] })] }));
62
+ }
63
+ export const columns = [
64
+ {
65
+ id: "select",
66
+ header: ({ table }) => (_jsx(Checkbox, { checked: table.getIsAllPageRowsSelected() ||
67
+ (table.getIsSomePageRowsSelected() && "indeterminate"), onCheckedChange: (value) => table.toggleAllPageRowsSelected(!!value), "aria-label": "Select all" })),
68
+ cell: ({ row }) => (_jsx(Checkbox, { checked: row.getIsSelected(), onCheckedChange: (value) => row.toggleSelected(!!value), "aria-label": "Select row" })),
69
+ enableSorting: false,
70
+ enableHiding: false,
71
+ },
72
+ {
73
+ id: "invitee_email",
74
+ accessorKey: "invitee_email",
75
+ header: "Invitee",
76
+ },
77
+ {
78
+ id: "status",
79
+ accessorKey: "status",
80
+ header: "Status",
81
+ cell: ({ row }) => {
82
+ const invitation = row.original;
83
+ return (_jsx(Badge, { variant: getStatusBadgeVariant(invitation.status), children: invitation.status.charAt(0).toUpperCase() + invitation.status.slice(1) }));
84
+ },
85
+ },
86
+ {
87
+ id: "created_at",
88
+ accessorKey: "created_at",
89
+ header: "Sent At",
90
+ cell: ({ row }) => {
91
+ const invitation = row.original;
92
+ const created_at = invitation.created_at;
93
+ const asDate = new Date(created_at);
94
+ return _jsx("div", { children: printDateTime(asDate, false) });
95
+ },
96
+ },
97
+ {
98
+ id: "expires_at",
99
+ accessorKey: "expires_at",
100
+ header: "Expires At",
101
+ cell: ({ row }) => {
102
+ const invitation = row.original;
103
+ const expires_at = invitation.expires_at;
104
+ const asDate = new Date(expires_at);
105
+ const isExpired = Date.now() > expires_at;
106
+ return (_jsxs("div", { className: isExpired && invitation.status === "pending" ? "text-destructive" : "", children: [printDateTime(asDate, false), isExpired && invitation.status === "pending" && " (Expired)"] }));
107
+ },
108
+ },
109
+ {
110
+ id: "responded_at",
111
+ accessorKey: "responded_at",
112
+ header: "Responded At",
113
+ cell: ({ row }) => {
114
+ const invitation = row.original;
115
+ if (!invitation.responded_at) {
116
+ return _jsx("div", { className: "text-muted-foreground", children: "-" });
117
+ }
118
+ const asDate = new Date(invitation.responded_at);
119
+ return _jsx("div", { children: printDateTime(asDate, false) });
120
+ },
121
+ },
122
+ {
123
+ id: "actions",
124
+ cell: function SentInvitationsTableRowActionsCell({ row, }) {
125
+ const invitation = row.original;
126
+ return _jsx(RevokeButton, { invitation: invitation });
127
+ },
128
+ },
129
+ ];
130
+ //# sourceMappingURL=columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/components/SentInvitationsTable/columns.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAqB,MAAM,OAAO,CAAC;AAEpD,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,SAAS,qBAAqB,CAC5B,MAAoC;IAEpC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC;QACrB,KAAK,UAAU;YACb,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,UAAU,GAGX;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAClC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;QAC9B,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,sBAAsB,UAAU,CAAC,eAAe,gBAAgB,UAAU,CAAC,aAAa,EAAE,EAC1F;gBACE,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,SAAS;aACvB,CACF,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEnC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;YACjE,CAAC;YAED,KAAK,CAAC;gBACJ,KAAK,EAAE,oBAAoB;gBAC3B,WAAW,EAAE,qBAAqB,UAAU,CAAC,aAAa,oBAAoB;aAC/E,CAAC,CAAC;YAEH,+BAA+B;YAC/B,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,KAAK,CAAC;gBACJ,OAAO,EAAE,aAAa;gBACtB,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B;aACvE,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,mBAAK,CAAC;IACf,CAAC;IAED,OAAO,CACL,MAAC,YAAY,eACX,KAAC,mBAAmB,IAAC,OAAO,kBAC1B,MAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,aAAa,aAC7C,eAAM,SAAS,EAAC,SAAS,0BAAiB,EAC1C,KAAC,cAAc,IAAC,SAAS,EAAC,SAAS,GAAG,IAC/B,GACW,EACtB,MAAC,mBAAmB,IAAC,KAAK,EAAC,KAAK,aAC9B,KAAC,iBAAiB,0BAA4B,EAC9C,MAAC,gBAAgB,IACf,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAC,yCAAyC,aAElD,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,OAAO,IAAC,SAAS,EAAC,2BAA2B,GAAG,CAClD,CAAC,CAAC,CAAC,CACF,KAAC,CAAC,IAAC,SAAS,EAAC,cAAc,GAAG,CAC/B,yBAEgB,IACC,IACT,CAChB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAoD;IACtE;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,KAAC,QAAQ,IACP,OAAO,EACL,KAAK,CAAC,wBAAwB,EAAE;gBAChC,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,eAAe,CAAC,EAExD,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE,CAClC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAE/B,YAAY,GACvB,CACH;QACD,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CACjB,KAAC,QAAQ,IACP,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,EAC5B,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,gBACrD,YAAY,GACvB,CACH;QACD,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,KAAK;KACpB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,WAAW,EAAE,eAAe;QAC5B,MAAM,EAAE,SAAS;KAClB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,QAAQ;QACrB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAgB,EAAE;YAC9B,MAAM,UAAU,GAAuC,GAAG,CAAC,QAAQ,CAAC;YACpE,OAAO,CACL,KAAC,KAAK,IAAC,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,MAAM,CAAC,YACrD,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GACjE,CACT,CAAC;QACJ,CAAC;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,YAAY;QACzB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAgB,EAAE;YAC9B,MAAM,UAAU,GAAuC,GAAG,CAAC,QAAQ,CAAC;YACpE,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,OAAO,wBAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,GAAO,CAAC;QACnD,CAAC;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,YAAY;QACzB,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAgB,EAAE;YAC9B,MAAM,UAAU,GAAuC,GAAG,CAAC,QAAQ,CAAC;YACpE,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;YAC1C,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,aACnF,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAC5B,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,IACzD,CACP,CAAC;QACJ,CAAC;KACF;IACD;QACE,EAAE,EAAE,cAAc;QAClB,WAAW,EAAE,cAAc;QAC3B,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAgB,EAAE;YAC9B,MAAM,UAAU,GAAuC,GAAG,CAAC,QAAQ,CAAC;YACpE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC7B,OAAO,cAAK,SAAS,EAAC,uBAAuB,kBAAQ,CAAC;YACxD,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACjD,OAAO,wBAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,GAAO,CAAC;QACnD,CAAC;KACF;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS,kCAAkC,CAAC,EAChD,GAAG,GACJ;YACC,MAAM,UAAU,GAAuC,GAAG,CAAC,QAAQ,CAAC;YACpE,OAAO,KAAC,YAAY,IAAC,UAAU,EAAE,UAAU,GAAI,CAAC;QAClD,CAAC;KACF;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { SentInvitationsTable, SentInvitationsTable as default, } from "./SentInvitationsTable";
2
+ export type { SentInvitationsDatatableProps } from "./SentInvitationsTable";
3
+ export { useSentInvitations, clearSentInvitationsCache, getSentInvitationsEndpoint, } from "./useSentInvitations";
4
+ export type { UseSentInvitationsOptions } from "./useSentInvitations";
@@ -0,0 +1,3 @@
1
+ export { SentInvitationsTable, SentInvitationsTable as default, } from "./SentInvitationsTable";
2
+ export { useSentInvitations, clearSentInvitationsCache, getSentInvitationsEndpoint, } from "./useSentInvitations";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SentInvitationsTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,IAAI,OAAO,GAChC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { useToast } from "@schemavaults/ui";
2
+ import { type SWRResponse, useSWRConfig } from "swr";
3
+ import type { OrganizationInvitationWithUserData, OrganizationID } from "@schemavaults/auth-common";
4
+ export interface UseSentInvitationsOptions {
5
+ organization_id: OrganizationID;
6
+ toast: ReturnType<typeof useToast>["toast"];
7
+ initialData?: readonly OrganizationInvitationWithUserData[] | undefined;
8
+ }
9
+ export declare function getSentInvitationsEndpoint(organization_id: OrganizationID): string;
10
+ export declare function clearSentInvitationsCache(mutate: ReturnType<typeof useSWRConfig>["mutate"], organization_id: OrganizationID): void;
11
+ export declare function useSentInvitations({ organization_id, toast, initialData, }: UseSentInvitationsOptions): SWRResponse<readonly OrganizationInvitationWithUserData[]>;
12
+ export default useSentInvitations;
@@ -0,0 +1,52 @@
1
+ "use client";
2
+ import useSWR from "swr";
3
+ export function getSentInvitationsEndpoint(organization_id) {
4
+ return `/api/organizations/${organization_id}/invitations`;
5
+ }
6
+ export function clearSentInvitationsCache(mutate, organization_id) {
7
+ const endpoint = getSentInvitationsEndpoint(organization_id);
8
+ mutate((key) => key.startsWith(endpoint), undefined, {
9
+ revalidate: true,
10
+ });
11
+ }
12
+ export function useSentInvitations({ organization_id, toast, initialData, }) {
13
+ const endpoint = getSentInvitationsEndpoint(organization_id);
14
+ return useSWR(endpoint, async () => {
15
+ try {
16
+ const response = await fetch(endpoint, {
17
+ method: "GET",
18
+ credentials: "include",
19
+ });
20
+ if (!response.ok || response.status !== 200) {
21
+ throw new Error(`Failed to list sent invitations (response status: ${response.status})!`);
22
+ }
23
+ const body = await response.json();
24
+ if (typeof body !== "object" ||
25
+ !body ||
26
+ !("success" in body) ||
27
+ !body.success) {
28
+ throw new Error("Received failure response when attempting to list sent invitations");
29
+ }
30
+ if (!("data" in body) ||
31
+ typeof body.data !== "object" ||
32
+ !body.data ||
33
+ !("invitations" in body.data) ||
34
+ !Array.isArray(body.data.invitations)) {
35
+ throw new Error("Failed to extract 'invitations' array from response!");
36
+ }
37
+ return body.data.invitations;
38
+ }
39
+ catch (error) {
40
+ toast({
41
+ variant: "destructive",
42
+ title: "Error loading sent invitations",
43
+ description: `${error instanceof Error ? error.message : "An unknown error occurred."}`,
44
+ });
45
+ throw error;
46
+ }
47
+ }, {
48
+ fallbackData: initialData ? [...initialData] : undefined,
49
+ });
50
+ }
51
+ export default useSentInvitations;
52
+ //# sourceMappingURL=useSentInvitations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSentInvitations.js","sourceRoot":"","sources":["../../../src/components/SentInvitationsTable/useSentInvitations.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,MAA0C,MAAM,KAAK,CAAC;AAS7D,MAAM,UAAU,0BAA0B,CAAC,eAA+B;IACxE,OAAO,sBAAsB,eAAe,cAAc,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAAiD,EACjD,eAA+B;IAE/B,MAAM,QAAQ,GAAG,0BAA0B,CAAC,eAAe,CAAC,CAAC;IAC7D,MAAM,CACJ,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EACzC,SAAS,EACT;QACE,UAAU,EAAE,IAAI;KACjB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EACjC,eAAe,EACf,KAAK,EACL,WAAW,GACe;IAC1B,MAAM,QAAQ,GAAG,0BAA0B,CAAC,eAAe,CAAC,CAAC;IAE7D,OAAO,MAAM,CACX,QAAQ,EACR,KAAK,IAA4D,EAAE;QACjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,SAAS;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CACb,qDAAqD,QAAQ,CAAC,MAAM,IAAI,CACzE,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5C,IACE,OAAO,IAAI,KAAK,QAAQ;gBACxB,CAAC,IAAI;gBACL,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;gBACpB,CAAC,IAAI,CAAC,OAAO,EACb,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;YACJ,CAAC;YACD,IACE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBACjB,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAC7B,CAAC,IAAI,CAAC,IAAI;gBACV,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC;gBAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EACrC,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,sDAAsD,CACvD,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,WAAmD,CAAC;QACvE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,KAAK,CAAC;gBACJ,OAAO,EAAE,aAAa;gBACtB,KAAK,EAAE,gCAAgC;gBACvC,WAAW,EAAE,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE;aACxF,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,EACD;QACE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;KACzD,CACF,CAAC;AACJ,CAAC;AAED,eAAe,kBAAkB,CAAC"}
@@ -74,44 +74,52 @@ export const columns = [
74
74
  cell: function UsersTableRowActionsCell({ row }) {
75
75
  const { toast } = useToast();
76
76
  const user = row.original;
77
- return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "h-8 w-8 p-0", children: [_jsx("span", { className: "sr-only", children: "Open menu" }), _jsx(MoreHorizontal, { className: "h-4 w-4" })] }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsx(DropdownMenuLabel, { children: "Actions" }), _jsxs(DropdownMenuItem, { onClick: (e) => {
77
+ return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "h-8 w-8 p-0", children: [_jsx("span", { className: "sr-only", children: "Open menu" }), _jsx(MoreHorizontal, { className: "h-4 w-4" })] }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsx(DropdownMenuLabel, { children: "Actions" }), _jsxs(DropdownMenuItem, { onClick: async (e) => {
78
78
  e.preventDefault();
79
79
  const uid = user.uid;
80
- navigator.clipboard
81
- .writeText(uid)
82
- .then(() => {
83
- toast({
84
- title: "Successfully copied user ID to clipboard!",
85
- description: `You should now be able to paste '${uid}' from your clipboard!`,
86
- });
87
- })
88
- .catch((e) => {
80
+ try {
81
+ if (!window.isSecureContext) {
82
+ throw new Error("Writing to clipboard is only allowed in secure contexts!");
83
+ }
84
+ await navigator.clipboard.writeText(uid);
85
+ }
86
+ catch (e) {
89
87
  toast({
90
88
  title: "Failed to copy user ID to clipboard!",
91
89
  description: e instanceof Error
92
90
  ? e.message
93
91
  : "An unknown error has occurred!",
94
92
  });
93
+ return;
94
+ }
95
+ toast({
96
+ title: "Successfully copied user ID to clipboard!",
97
+ description: `You should now be able to paste '${uid}' from your clipboard!`,
95
98
  });
96
- }, children: [_jsx(ClipboardCopy, { className: "h-4 w-4 pr-2" }), " Copy User ID"] }), _jsxs(DropdownMenuItem, { onClick: (e) => {
99
+ return;
100
+ }, children: [_jsx(ClipboardCopy, { className: "h-4 w-4 pr-2" }), " Copy User ID"] }), _jsxs(DropdownMenuItem, { onClick: async (e) => {
97
101
  e.preventDefault();
98
102
  const email = user.email;
99
- navigator.clipboard
100
- .writeText(email)
101
- .then(() => {
102
- toast({
103
- title: "Successfully copied email to clipboard!",
104
- description: `You should now be able to paste '${email}' from your clipboard!`,
105
- });
106
- })
107
- .catch((e) => {
103
+ try {
104
+ if (!window.isSecureContext) {
105
+ throw new Error("Writing to clipboard is only allowed in secure contexts!");
106
+ }
107
+ await navigator.clipboard.writeText(email);
108
+ }
109
+ catch (e) {
108
110
  toast({
109
111
  title: "Failed to copy email to clipboard!",
110
112
  description: e instanceof Error
111
113
  ? e.message
112
114
  : "An unknown error has occurred!",
113
115
  });
116
+ return;
117
+ }
118
+ toast({
119
+ title: "Successfully copied email to clipboard!",
120
+ description: `You should now be able to paste '${email}' from your clipboard!`,
114
121
  });
122
+ return;
115
123
  }, children: [_jsx(ClipboardCopy, { className: "h-4 w-4 pr-2" }), " Copy Email"] })] })] }));
116
124
  },
117
125
  },
@@ -1 +1 @@
1
- {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/components/UsersTable/columns.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/components/UsersTable/columns.tsx"],"names":[],"mappings":"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"}