@burdenoff/microfe-devportal 2026.611.1 → 2026.614.1

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 (51) hide show
  1. package/dist/devportal/components/SectionNav.js +105 -41
  2. package/dist/devportal/components/SectionNav.js.map +1 -1
  3. package/dist/devportal/hooks/useGraphQL.js +1 -1
  4. package/dist/devportal/pages/AdminReviewPage.js +36 -36
  5. package/dist/devportal/pages/AnalyticsDashboardPage.js +150 -150
  6. package/dist/devportal/pages/AnalyticsDashboardPage.js.map +1 -1
  7. package/dist/devportal/pages/ApiKeysPage.js +184 -172
  8. package/dist/devportal/pages/ApiKeysPage.js.map +1 -1
  9. package/dist/devportal/pages/AppLogsPage.js +9 -9
  10. package/dist/devportal/pages/ApplicationDetailPage.js +414 -414
  11. package/dist/devportal/pages/ApplicationDetailPage.js.map +1 -1
  12. package/dist/devportal/pages/ApplicationVersionsPage.js +44 -44
  13. package/dist/devportal/pages/ApplicationVersionsPage.js.map +1 -1
  14. package/dist/devportal/pages/ApplicationsPage.js +118 -118
  15. package/dist/devportal/pages/ApplicationsPage.js.map +1 -1
  16. package/dist/devportal/pages/CreateApiKeyPage.js +20 -20
  17. package/dist/devportal/pages/CreateApplicationPage.js +32 -32
  18. package/dist/devportal/pages/CreateOAuthClientPage.js +20 -20
  19. package/dist/devportal/pages/CreateOrganizationPage.js +109 -422
  20. package/dist/devportal/pages/CreateOrganizationPage.js.map +1 -1
  21. package/dist/devportal/pages/CreateWebhookPage.js +25 -25
  22. package/dist/devportal/pages/DashboardPage.js +160 -145
  23. package/dist/devportal/pages/DashboardPage.js.map +1 -1
  24. package/dist/devportal/pages/DelegationsPage.js +22 -22
  25. package/dist/devportal/pages/EditApplicationPage.js +283 -283
  26. package/dist/devportal/pages/EditApplicationPage.js.map +1 -1
  27. package/dist/devportal/pages/ListingPreviewPage.js +9 -9
  28. package/dist/devportal/pages/OAuthClientDetailPage.js +17 -17
  29. package/dist/devportal/pages/OAuthClientsPage.js +16 -16
  30. package/dist/devportal/pages/OrganizationDetailPage.js +78 -78
  31. package/dist/devportal/pages/OrganizationMembersPage.js +260 -260
  32. package/dist/devportal/pages/OrganizationMembersPage.js.map +1 -1
  33. package/dist/devportal/pages/OrganizationsPage.js +18 -18
  34. package/dist/devportal/pages/PublishPage.js +16 -16
  35. package/dist/devportal/pages/PublisherProfilePage.js +156 -146
  36. package/dist/devportal/pages/PublisherProfilePage.js.map +1 -1
  37. package/dist/devportal/pages/RevenueDashboardPage.js +528 -322
  38. package/dist/devportal/pages/RevenueDashboardPage.js.map +1 -1
  39. package/dist/devportal/pages/SettingsPage.js +17 -17
  40. package/dist/devportal/pages/SetupPage.js +99 -99
  41. package/dist/devportal/pages/SetupPage.js.map +1 -1
  42. package/dist/devportal/pages/WebhookDetailPage.js +143 -143
  43. package/dist/devportal/pages/WebhookDetailPage.js.map +1 -1
  44. package/dist/devportal/pages/WebhooksPage.js +140 -140
  45. package/dist/devportal/pages/WebhooksPage.js.map +1 -1
  46. package/dist/devportal/providers/DevportalProvider.js +46 -33
  47. package/dist/devportal/providers/DevportalProvider.js.map +1 -1
  48. package/dist/devportal/types/index.js.map +1 -1
  49. package/dist/generated/global-operations.js +99 -59
  50. package/dist/generated/global-operations.js.map +1 -1
  51. package/package.json +1 -1
@@ -1,310 +1,310 @@
1
1
  import { useDevportal as e } from "../providers/DevportalProvider.js";
2
2
  import { EmptyState as t } from "../components/EmptyState.js";
3
- import { PageLayout as n, PageSection as r } from "../components/PageLayout.js";
4
- import { ORG_ROLE_LABELS as i } from "../utils/constants.js";
5
- import { StatusBadge as a } from "../components/StatusBadge.js";
6
- import { SelectionCheckbox as o } from "../components/SelectionCheckbox.js";
7
- import { DataTable as s } from "../components/DataTable.js";
8
- import { InputField as ee, SelectField as te } from "../components/FormField.js";
9
- import { ConfirmDialog as c } from "../components/ConfirmDialog.js";
10
- import { useCancelInvitationMutation as ne, useGetOrganizationInvitationsQuery as re, useGetOrganizationMembersQuery as ie, useGetOrganizationQuery as ae, useInviteMemberMutation as oe, useReactivateMemberMutation as se, useRemoveMemberMutation as ce, useResendInvitationMutation as le, useSuspendMemberMutation as ue, useTransferOwnershipMutation as de, useUpdateMemberRoleMutation as fe } from "../../generated/global-operations.js";
11
- import { PermissionGuard as pe } from "../components/PermissionGuard.js";
3
+ import { useCancelInvitationMutation as n, useGetOrganizationInvitationsQuery as r, useGetOrganizationMembersQuery as ee, useGetOrganizationQuery as te, useInviteMemberMutation as ne, useReactivateMemberMutation as re, useRemoveMemberMutation as ie, useResendInvitationMutation as ae, useSuspendMemberMutation as oe, useTransferOwnershipMutation as se, useUpdateMemberRoleMutation as ce } from "../../generated/global-operations.js";
4
+ import { PageLayout as i, PageSection as a } from "../components/PageLayout.js";
5
+ import { ORG_ROLE_LABELS as o } from "../utils/constants.js";
6
+ import { StatusBadge as s } from "../components/StatusBadge.js";
7
+ import { SelectionCheckbox as c } from "../components/SelectionCheckbox.js";
8
+ import { DataTable as l } from "../components/DataTable.js";
9
+ import { InputField as le, SelectField as ue } from "../components/FormField.js";
10
+ import { ConfirmDialog as u } from "../components/ConfirmDialog.js";
11
+ import { PermissionGuard as de } from "../components/PermissionGuard.js";
12
12
  import "../components/index.js";
13
- import { DEVPORTAL_PERMISSIONS as l } from "../constants/permissions.js";
14
- import { useDevportalPermission as u } from "../hooks/usePermission.js";
13
+ import { DEVPORTAL_PERMISSIONS as d } from "../constants/permissions.js";
14
+ import { useDevportalPermission as f } from "../hooks/usePermission.js";
15
15
  import "../hooks/index.js";
16
- import d from "../../node_modules/date-fns/format.js";
17
- import { useEffect as me, useMemo as f, useState as p } from "react";
18
- import { useI18n as he } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
19
- import { AlertCircle as m, Loader2 as ge, Mail as _e, Plus as ve, RefreshCw as ye, Shield as be, UserMinus as xe, Users as Se } from "lucide-react";
20
- import { useParams as Ce } from "react-router-dom";
21
- import { jsx as h, jsxs as g } from "react/jsx-runtime";
16
+ import fe from "../../node_modules/date-fns/format.js";
17
+ import { useEffect as pe, useMemo as p, useState as m } from "react";
18
+ import { useI18n as me } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
19
+ import { AlertCircle as h, Loader2 as he, Mail as ge, Plus as _e, RefreshCw as ve, Shield as ye, UserMinus as be, Users as xe } from "lucide-react";
20
+ import { useParams as Se } from "react-router-dom";
21
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
22
22
  //#region src/devportal/pages/OrganizationMembersPage.tsx
23
- var _ = () => {
24
- let { orgId: _ } = Ce(), { currentUser: v } = e(), { allowed: y } = u(l.ORG_INVITATION_CREATE), { allowed: b } = u(l.ORG_MEMBER_UPDATE), { allowed: x } = u(l.ORG_MEMBER_DELETE), { allowed: S } = u(l.ORG_MEMBER_ACTIVATE), { allowed: C } = u(l.ORG_MEMBER_DEACTIVATE), w = (e) => e.email ? e.email : v?.id === e.userId && v.email ? v.email : e.userId, { t: we } = he(), T = (e, t) => {
25
- let n = we(e);
23
+ var v = () => {
24
+ let { orgId: v } = Se(), { currentUser: y } = e(), { allowed: Ce } = f(d.ORG_INVITATION_CREATE), { allowed: we } = f(d.ORG_MEMBER_UPDATE), { allowed: b } = f(d.ORG_MEMBER_DELETE), { allowed: x } = f(d.ORG_MEMBER_ACTIVATE), { allowed: S } = f(d.ORG_MEMBER_DEACTIVATE), C = (e) => e.email ? e.email : y?.id === e.userId && y.email ? y.email : e.userId, { t: Te } = me(), w = (e, t) => {
25
+ let n = Te(e);
26
26
  return n === e ? t : n;
27
- }, [E, D] = p(!1), [O, k] = p(""), [A, j] = p("DEVELOPER"), [Te, Ee] = p(""), [M, N] = p(null), [P, F] = p(null), [I, L] = p(/* @__PURE__ */ new Set()), [R, z] = p(/* @__PURE__ */ new Set()), [De, B] = p(!1), [Oe, V] = p(!1), { data: H } = ae({
28
- variables: { id: _ ?? "" },
29
- skip: !_,
27
+ }, [T, E] = m(!1), [D, Ee] = m(""), [De, Oe] = m("DEVELOPER"), [ke, Ae] = m(""), [je, O] = m(null), [k, A] = m(null), [j, M] = m(/* @__PURE__ */ new Set()), [N, P] = m(/* @__PURE__ */ new Set()), [Me, F] = m(!1), [Ne, I] = m(!1), { data: L } = te({
28
+ variables: { id: v ?? "" },
29
+ skip: !v,
30
30
  fetchPolicy: "cache-first"
31
31
  });
32
- me(() => {
33
- let e = H?.developerOrganization?.name;
34
- if (!_ || !e) return;
32
+ pe(() => {
33
+ let e = L?.developerOrganization?.name;
34
+ if (!v || !e) return;
35
35
  let t = window.__breadcrumbRegistry;
36
- return t?.register(_, e), () => t?.unregister(_);
37
- }, [_, H?.developerOrganization?.name]);
38
- let { data: U, loading: ke, error: W } = ie({
39
- variables: { organizationId: _ },
40
- skip: !_,
36
+ return t?.register(v, e), () => t?.unregister(v);
37
+ }, [v, L?.developerOrganization?.name]);
38
+ let { data: R, loading: Pe, error: z } = ee({
39
+ variables: { organizationId: v },
40
+ skip: !v,
41
41
  fetchPolicy: "cache-and-network"
42
- }), { data: G, loading: Ae, error: je } = re({
42
+ }), { data: B, loading: Fe, error: V } = r({
43
43
  variables: {
44
- organizationId: _,
44
+ organizationId: v,
45
45
  status: "PENDING"
46
46
  },
47
- skip: !_,
47
+ skip: !v,
48
48
  fetchPolicy: "cache-and-network"
49
- }), [Me, { loading: Ne }] = oe({ refetchQueries: ["GetOrganizationInvitations"] }), [Pe] = ce({ refetchQueries: ["GetOrganizationMembers"] }), [Fe] = ue({ refetchQueries: ["GetOrganizationMembers"] }), [Ie] = se({ refetchQueries: ["GetOrganizationMembers"] }), [Le] = fe({ refetchQueries: ["GetOrganizationMembers", "GetOrganization"] }), [Re] = de({ refetchQueries: ["GetOrganizationMembers", "GetOrganization"] }), [ze] = ne({ refetchQueries: ["GetOrganizationInvitations"] }), [Be] = le(), K = f(() => U?.developerOrgMembers?.edges?.map((e) => e.node) ?? [], [U?.developerOrgMembers?.edges]), q = f(() => G?.developerOrgInvitations?.edges?.map((e) => e.node) ?? [], [G?.developerOrgInvitations?.edges]), Ve = U?.developerOrgMembers?.totalCount ?? 0, He = G?.developerOrgInvitations?.totalCount ?? 0, J = f(() => K.filter((e) => I.has(e.id)), [K, I]), Y = f(() => q.filter((e) => R.has(e.id)), [q, R]), X = K.filter((e) => e.role !== "OWNER"), Ue = X.length > 0 && X.every((e) => I.has(e.id)), We = X.some((e) => I.has(e.id)) && !Ue, Ge = q.length > 0 && q.every((e) => R.has(e.id)), Ke = q.some((e) => R.has(e.id)) && !Ge, Z = J.filter((e) => e.role !== "OWNER" && !e.isSuspended), Q = J.filter((e) => e.isSuspended), $ = J.filter((e) => e.role !== "OWNER"), qe = async () => {
50
- if (!(!_ || !O.trim())) {
51
- N(null);
49
+ }), [Ie, { loading: Le }] = ne({ refetchQueries: ["GetOrganizationInvitations"] }), [H] = ie({ refetchQueries: ["GetOrganizationMembers"] }), [U] = oe({ refetchQueries: ["GetOrganizationMembers"] }), [W] = re({ refetchQueries: ["GetOrganizationMembers"] }), [Re] = ce({ refetchQueries: ["GetOrganizationMembers", "GetOrganization"] }), [ze] = se({ refetchQueries: ["GetOrganizationMembers", "GetOrganization"] }), [G] = n({ refetchQueries: ["GetOrganizationInvitations"] }), [Be] = ae(), K = p(() => R?.developerOrgMembers?.edges?.map((e) => e.node) ?? [], [R?.developerOrgMembers?.edges]), q = p(() => B?.developerOrgInvitations?.edges?.map((e) => e.node) ?? [], [B?.developerOrgInvitations?.edges]), Ve = R?.developerOrgMembers?.totalCount ?? 0, He = B?.developerOrgInvitations?.totalCount ?? 0, J = p(() => K.filter((e) => j.has(e.id)), [K, j]), Y = p(() => q.filter((e) => N.has(e.id)), [q, N]), X = K.filter((e) => e.role !== "OWNER"), Ue = X.length > 0 && X.every((e) => j.has(e.id)), We = X.some((e) => j.has(e.id)) && !Ue, Ge = q.length > 0 && q.every((e) => N.has(e.id)), Ke = q.some((e) => N.has(e.id)) && !Ge, Z = J.filter((e) => e.role !== "OWNER" && !e.isSuspended), Q = J.filter((e) => e.isSuspended), $ = J.filter((e) => e.role !== "OWNER"), qe = async () => {
50
+ if (!(!v || !D.trim())) {
51
+ O(null);
52
52
  try {
53
- await Me({ variables: {
54
- organizationId: _,
53
+ await Ie({ variables: {
54
+ organizationId: v,
55
55
  input: {
56
- email: O,
57
- role: A,
58
- message: Te || void 0
56
+ email: D,
57
+ role: De,
58
+ message: ke || void 0
59
59
  }
60
- } }), D(!1), k(""), j("DEVELOPER"), Ee("");
60
+ } }), E(!1), Ee(""), Oe("DEVELOPER"), Ae("");
61
61
  } catch (e) {
62
- N(e instanceof Error ? e.message : T("devportal.failedToSendInvitation", "Failed to send invitation"));
62
+ O(e instanceof Error ? e.message : w("devportal.failedToSendInvitation", "Failed to send invitation"));
63
63
  }
64
64
  }
65
65
  }, Je = async (e) => {
66
- N(null);
66
+ O(null);
67
67
  try {
68
- await Pe({ variables: { id: e } });
68
+ await H({ variables: { id: e } });
69
69
  } catch (e) {
70
- N(e instanceof Error ? e.message : T("devportal.failedToRemoveMember", "Failed to remove member"));
70
+ O(e instanceof Error ? e.message : w("devportal.failedToRemoveMember", "Failed to remove member"));
71
71
  }
72
72
  }, Ye = async (e, t) => {
73
- N(null);
73
+ O(null);
74
74
  try {
75
- await Fe({ variables: {
75
+ await U({ variables: {
76
76
  id: e,
77
77
  reason: t || void 0
78
78
  } });
79
79
  } catch (e) {
80
- N(e instanceof Error ? e.message : T("devportal.failedToSuspendMember", "Failed to suspend member"));
80
+ O(e instanceof Error ? e.message : w("devportal.failedToSuspendMember", "Failed to suspend member"));
81
81
  }
82
82
  }, Xe = async (e) => {
83
- N(null);
83
+ O(null);
84
84
  try {
85
- await Ie({ variables: { id: e } });
85
+ await W({ variables: { id: e } });
86
86
  } catch (e) {
87
- N(e instanceof Error ? e.message : T("devportal.failedToReactivateMember", "Failed to reactivate member"));
87
+ O(e instanceof Error ? e.message : w("devportal.failedToReactivateMember", "Failed to reactivate member"));
88
88
  }
89
89
  }, Ze = async (e, t) => {
90
- N(null);
90
+ O(null);
91
91
  try {
92
- await Le({ variables: {
92
+ await Re({ variables: {
93
93
  id: e,
94
94
  role: t,
95
95
  permissions: void 0
96
- } }), F(T("devportal.memberRoleUpdated", "Member role updated successfully"));
96
+ } }), A(w("devportal.memberRoleUpdated", "Member role updated successfully"));
97
97
  } catch (e) {
98
- N(e instanceof Error ? e.message : T("devportal.failedToUpdateMemberRole", "Failed to update member role"));
98
+ O(e instanceof Error ? e.message : w("devportal.failedToUpdateMemberRole", "Failed to update member role"));
99
99
  }
100
100
  }, Qe = async (e) => {
101
- if (_ && (N(null), window.confirm(T("devportal.transferOwnershipConfirmation", `Transfer organization ownership to ${w(e)}?`)))) try {
102
- await Re({ variables: {
103
- organizationId: _,
101
+ if (v && (O(null), window.confirm(w("devportal.transferOwnershipConfirmation", `Transfer organization ownership to ${C(e)}?`)))) try {
102
+ await ze({ variables: {
103
+ organizationId: v,
104
104
  newOwnerId: e.userId
105
- } }), F(T("devportal.organizationOwnershipTransferred", "Organization ownership transferred successfully"));
105
+ } }), A(w("devportal.organizationOwnershipTransferred", "Organization ownership transferred successfully"));
106
106
  } catch (e) {
107
- N(e instanceof Error ? e.message : T("devportal.failedToTransferOwnership", "Failed to transfer organization ownership"));
107
+ O(e instanceof Error ? e.message : w("devportal.failedToTransferOwnership", "Failed to transfer organization ownership"));
108
108
  }
109
109
  }, $e = async (e) => {
110
- N(null);
110
+ O(null);
111
111
  try {
112
- await ze({ variables: { id: e } });
112
+ await G({ variables: { id: e } });
113
113
  } catch (e) {
114
- N(e instanceof Error ? e.message : T("devportal.failedToCancelInvitation", "Failed to cancel invitation"));
114
+ O(e instanceof Error ? e.message : w("devportal.failedToCancelInvitation", "Failed to cancel invitation"));
115
115
  }
116
116
  }, et = async (e) => {
117
- N(null);
117
+ O(null);
118
118
  try {
119
119
  await Be({ variables: { id: e } });
120
120
  } catch (e) {
121
- N(e instanceof Error ? e.message : T("devportal.failedToResendInvitation", "Failed to resend invitation"));
121
+ O(e instanceof Error ? e.message : w("devportal.failedToResendInvitation", "Failed to resend invitation"));
122
122
  }
123
123
  }, tt = () => {
124
- L(/* @__PURE__ */ new Set()), z(/* @__PURE__ */ new Set());
124
+ M(/* @__PURE__ */ new Set()), P(/* @__PURE__ */ new Set());
125
125
  }, nt = (e, t) => {
126
- L((n) => {
126
+ M((n) => {
127
127
  let r = new Set(n);
128
128
  return t ? r.add(e) : r.delete(e), r;
129
129
  });
130
130
  }, rt = (e) => {
131
- L((t) => {
131
+ M((t) => {
132
132
  let n = new Set(t);
133
133
  return X.forEach((t) => {
134
134
  e ? n.add(t.id) : n.delete(t.id);
135
135
  }), n;
136
136
  });
137
137
  }, it = (e, t) => {
138
- z((n) => {
138
+ P((n) => {
139
139
  let r = new Set(n);
140
140
  return t ? r.add(e) : r.delete(e), r;
141
141
  });
142
142
  };
143
- return (ke || Ae) && !U && !G ? /* @__PURE__ */ h(n, {
144
- title: T("devportal.teamMembers", "Team Members"),
145
- description: T("devportal.manageYourOrganizationsTeam", "Manage your organization's team"),
146
- backLink: `/organizations/${_}`,
147
- backLabel: T("devportal.backToOrganization", "Back to Organization"),
148
- children: /* @__PURE__ */ h("div", {
143
+ return (Pe || Fe) && !R && !B ? /* @__PURE__ */ g(i, {
144
+ title: w("devportal.teamMembers", "Team Members"),
145
+ description: w("devportal.manageYourOrganizationsTeam", "Manage your organization's team"),
146
+ backLink: `/organizations/${v}`,
147
+ backLabel: w("devportal.backToOrganization", "Back to Organization"),
148
+ children: /* @__PURE__ */ g("div", {
149
149
  className: "flex items-center justify-center py-16",
150
- children: /* @__PURE__ */ h(ge, { className: "h-8 w-8 animate-spin text-muted-foreground" })
150
+ children: /* @__PURE__ */ g(he, { className: "h-8 w-8 animate-spin text-muted-foreground" })
151
151
  })
152
- }) : (W || je) && !U && !G ? /* @__PURE__ */ h(n, {
153
- title: T("devportal.teamMembers", "Team Members"),
154
- description: T("devportal.manageYourOrganizationsTeam", "Manage your organization's team"),
155
- backLink: `/organizations/${_}`,
156
- backLabel: T("devportal.backToOrganization", "Back to Organization"),
157
- children: /* @__PURE__ */ h(t, {
158
- icon: /* @__PURE__ */ h(m, {
152
+ }) : (z || V) && !R && !B ? /* @__PURE__ */ g(i, {
153
+ title: w("devportal.teamMembers", "Team Members"),
154
+ description: w("devportal.manageYourOrganizationsTeam", "Manage your organization's team"),
155
+ backLink: `/organizations/${v}`,
156
+ backLabel: w("devportal.backToOrganization", "Back to Organization"),
157
+ children: /* @__PURE__ */ g(t, {
158
+ icon: /* @__PURE__ */ g(h, {
159
159
  size: 32,
160
160
  className: "text-status-error-text"
161
161
  }),
162
- title: T("devportal.failedToLoadMembers", "Failed to load members"),
163
- description: W?.message || je?.message || T("devportal.anErrorOccurredWhileLoadingTeamData", "An error occurred while loading team data")
162
+ title: w("devportal.failedToLoadMembers", "Failed to load members"),
163
+ description: z?.message || V?.message || w("devportal.anErrorOccurredWhileLoadingTeamData", "An error occurred while loading team data")
164
164
  })
165
- }) : /* @__PURE__ */ h(pe, {
166
- permission: l.ORG_MEMBER_READ,
167
- children: /* @__PURE__ */ g(n, {
168
- title: T("devportal.teamMembers", "Team Members"),
169
- description: T("devportal.manageYourOrganizationsTeam", "Manage your organization's team"),
170
- backLink: `/organizations/${_}`,
171
- backLabel: T("devportal.backToOrganization", "Back to Organization"),
172
- actions: /* @__PURE__ */ g("button", {
173
- onClick: () => D(!0),
174
- disabled: !y,
175
- "aria-disabled": !y,
165
+ }) : /* @__PURE__ */ g(de, {
166
+ permission: d.ORG_MEMBER_READ,
167
+ children: /* @__PURE__ */ _(i, {
168
+ title: w("devportal.teamMembers", "Team Members"),
169
+ description: w("devportal.manageYourOrganizationsTeam", "Manage your organization's team"),
170
+ backLink: `/organizations/${v}`,
171
+ backLabel: w("devportal.backToOrganization", "Back to Organization"),
172
+ actions: /* @__PURE__ */ _("button", {
173
+ onClick: () => E(!0),
174
+ disabled: !Ce,
175
+ "aria-disabled": !Ce,
176
176
  className: "inline-flex items-center gap-2 rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50",
177
- children: [/* @__PURE__ */ h(ve, { size: 16 }), T("devportal.inviteMember", "Invite Member")]
177
+ children: [/* @__PURE__ */ g(_e, { size: 16 }), w("devportal.inviteMember", "Invite Member")]
178
178
  }),
179
179
  children: [
180
- M && /* @__PURE__ */ g("div", {
180
+ je && /* @__PURE__ */ _("div", {
181
181
  className: "rounded-lg border border-border-subtle bg-status-error-bg-subtle p-3 flex items-center gap-2 text-sm text-status-error-text",
182
182
  children: [
183
- /* @__PURE__ */ h(m, {
183
+ /* @__PURE__ */ g(h, {
184
184
  size: 16,
185
185
  className: "flex-shrink-0"
186
186
  }),
187
- M,
188
- /* @__PURE__ */ h("button", {
189
- onClick: () => N(null),
187
+ je,
188
+ /* @__PURE__ */ g("button", {
189
+ onClick: () => O(null),
190
190
  className: "ml-auto text-status-error-text hover:text-status-error-text",
191
- children: T("devportal.dismiss", "Dismiss")
191
+ children: w("devportal.dismiss", "Dismiss")
192
192
  })
193
193
  ]
194
194
  }),
195
- P && /* @__PURE__ */ g("div", {
195
+ k && /* @__PURE__ */ _("div", {
196
196
  className: "rounded-lg border border-border-subtle bg-status-success-bg-subtle p-3 flex items-center gap-2 text-sm text-status-success-text",
197
197
  children: [
198
- /* @__PURE__ */ h(m, {
198
+ /* @__PURE__ */ g(h, {
199
199
  size: 16,
200
200
  className: "flex-shrink-0"
201
201
  }),
202
- P,
203
- /* @__PURE__ */ h("button", {
204
- onClick: () => F(null),
202
+ k,
203
+ /* @__PURE__ */ g("button", {
204
+ onClick: () => A(null),
205
205
  className: "ml-auto text-status-success-text hover:text-status-success-text",
206
- children: T("devportal.dismiss", "Dismiss")
206
+ children: w("devportal.dismiss", "Dismiss")
207
207
  })
208
208
  ]
209
209
  }),
210
- (I.size > 0 || R.size > 0) && /* @__PURE__ */ g("div", {
210
+ (j.size > 0 || N.size > 0) && /* @__PURE__ */ _("div", {
211
211
  className: "flex flex-wrap items-center gap-3 rounded-lg border bg-card p-4",
212
- children: [/* @__PURE__ */ g("span", {
212
+ children: [/* @__PURE__ */ _("span", {
213
213
  className: "rounded-full bg-muted px-3 py-1 text-sm font-medium text-muted-foreground",
214
214
  children: [
215
- I.size + R.size,
215
+ j.size + N.size,
216
216
  " ",
217
- T("devportal.selected", "selected")
217
+ w("devportal.selected", "selected")
218
218
  ]
219
- }), /* @__PURE__ */ h("button", {
219
+ }), /* @__PURE__ */ g("button", {
220
220
  onClick: tt,
221
221
  className: "text-sm text-muted-foreground hover:text-foreground",
222
- children: T("devportal.clearAllSelections", "Clear all selections")
222
+ children: w("devportal.clearAllSelections", "Clear all selections")
223
223
  })]
224
224
  }),
225
- /* @__PURE__ */ h(r, {
226
- title: `${T("devportal.members", "Members")} (${Ve})`,
227
- actions: K.length > 0 ? /* @__PURE__ */ g("div", {
225
+ /* @__PURE__ */ g(a, {
226
+ title: `${w("devportal.members", "Members")} (${Ve})`,
227
+ actions: K.length > 0 ? /* @__PURE__ */ _("div", {
228
228
  className: "flex flex-wrap items-center gap-2",
229
229
  children: [
230
- /* @__PURE__ */ g("button", {
230
+ /* @__PURE__ */ _("button", {
231
231
  onClick: async () => {
232
232
  if (Z.length === 0) return;
233
- N(null);
234
- let e = await Promise.allSettled(Z.map((e) => Fe({ variables: {
233
+ O(null);
234
+ let e = await Promise.allSettled(Z.map((e) => U({ variables: {
235
235
  id: e.id,
236
236
  reason: void 0
237
237
  } }))), t = e.filter((e) => e.status === "fulfilled").length, n = e.length - t;
238
- F(`${T("devportal.suspended", "Suspended")} ${t} ${t === 1 ? T("devportal.memberLower", "member") : T("devportal.membersLower", "members")}${n > 0 ? ` • ${n} ${T("devportal.failed", "failed")}` : ""}`), L(/* @__PURE__ */ new Set());
238
+ A(`${w("devportal.suspended", "Suspended")} ${t} ${t === 1 ? w("devportal.memberLower", "member") : w("devportal.membersLower", "members")}${n > 0 ? ` • ${n} ${w("devportal.failed", "failed")}` : ""}`), M(/* @__PURE__ */ new Set());
239
239
  },
240
- disabled: Z.length === 0 || !C,
241
- "aria-disabled": !C,
240
+ disabled: Z.length === 0 || !S,
241
+ "aria-disabled": !S,
242
242
  className: "rounded-md border border-status-warning-bg px-3 py-2 text-sm font-medium text-status-warning-text hover:bg-status-warning-bg-subtle disabled:cursor-not-allowed disabled:opacity-50",
243
- children: [T("devportal.suspendSelected", "Suspend Selected"), Z.length > 0 ? ` (${Z.length})` : ""]
243
+ children: [w("devportal.suspendSelected", "Suspend Selected"), Z.length > 0 ? ` (${Z.length})` : ""]
244
244
  }),
245
- /* @__PURE__ */ g("button", {
245
+ /* @__PURE__ */ _("button", {
246
246
  onClick: async () => {
247
247
  if (Q.length === 0) return;
248
- N(null);
249
- let e = await Promise.allSettled(Q.map((e) => Ie({ variables: { id: e.id } }))), t = e.filter((e) => e.status === "fulfilled").length, n = e.length - t;
250
- F(`${T("devportal.reactivated", "Reactivated")} ${t} ${t === 1 ? T("devportal.memberLower", "member") : T("devportal.membersLower", "members")}${n > 0 ? ` • ${n} ${T("devportal.failed", "failed")}` : ""}`), L(/* @__PURE__ */ new Set());
248
+ O(null);
249
+ let e = await Promise.allSettled(Q.map((e) => W({ variables: { id: e.id } }))), t = e.filter((e) => e.status === "fulfilled").length, n = e.length - t;
250
+ A(`${w("devportal.reactivated", "Reactivated")} ${t} ${t === 1 ? w("devportal.memberLower", "member") : w("devportal.membersLower", "members")}${n > 0 ? ` • ${n} ${w("devportal.failed", "failed")}` : ""}`), M(/* @__PURE__ */ new Set());
251
251
  },
252
- disabled: Q.length === 0 || !S,
253
- "aria-disabled": !S,
252
+ disabled: Q.length === 0 || !x,
253
+ "aria-disabled": !x,
254
254
  className: "rounded-md border border-status-success-bg px-3 py-2 text-sm font-medium text-status-success-text hover:bg-status-success-bg-subtle disabled:cursor-not-allowed disabled:opacity-50",
255
- children: [T("devportal.reactivateSelected", "Reactivate Selected"), Q.length > 0 ? ` (${Q.length})` : ""]
255
+ children: [w("devportal.reactivateSelected", "Reactivate Selected"), Q.length > 0 ? ` (${Q.length})` : ""]
256
256
  }),
257
- /* @__PURE__ */ g("button", {
258
- onClick: () => B(!0),
259
- disabled: $.length === 0 || !x,
260
- "aria-disabled": !x,
257
+ /* @__PURE__ */ _("button", {
258
+ onClick: () => F(!0),
259
+ disabled: $.length === 0 || !b,
260
+ "aria-disabled": !b,
261
261
  className: "rounded-md border border-status-error-bg px-3 py-2 text-sm font-medium text-status-error-text hover:bg-status-error-bg-subtle disabled:cursor-not-allowed disabled:opacity-50",
262
- children: [T("devportal.removeSelected", "Remove Selected"), $.length > 0 ? ` (${$.length})` : ""]
262
+ children: [w("devportal.removeSelected", "Remove Selected"), $.length > 0 ? ` (${$.length})` : ""]
263
263
  })
264
264
  ]
265
265
  }) : null,
266
- children: K.length > 0 ? /* @__PURE__ */ h(s, {
266
+ children: K.length > 0 ? /* @__PURE__ */ g(l, {
267
267
  data: K,
268
268
  keyField: "id",
269
269
  columns: [
270
270
  {
271
271
  key: "select",
272
- header: /* @__PURE__ */ h(o, {
272
+ header: /* @__PURE__ */ g(c, {
273
273
  checked: Ue,
274
274
  indeterminate: We,
275
275
  onChange: rt,
276
- ariaLabel: T("devportal.selectAllMembers", "Select all members")
276
+ ariaLabel: w("devportal.selectAllMembers", "Select all members")
277
277
  }),
278
278
  className: "w-12",
279
- render: (e) => /* @__PURE__ */ h("div", {
279
+ render: (e) => /* @__PURE__ */ g("div", {
280
280
  onClick: (e) => e.stopPropagation(),
281
- children: /* @__PURE__ */ h(o, {
282
- checked: I.has(e.id),
281
+ children: /* @__PURE__ */ g(c, {
282
+ checked: j.has(e.id),
283
283
  disabled: e.role === "OWNER",
284
284
  onChange: (t) => nt(e.id, t),
285
- ariaLabel: `Select member ${w(e)}`
285
+ ariaLabel: `Select member ${C(e)}`
286
286
  })
287
287
  })
288
288
  },
289
289
  {
290
290
  key: "email",
291
- header: T("devportal.memberColumn", "Member"),
291
+ header: w("devportal.memberColumn", "Member"),
292
292
  render: (e) => {
293
- let t = w(e);
294
- return /* @__PURE__ */ g("div", {
293
+ let t = C(e);
294
+ return /* @__PURE__ */ _("div", {
295
295
  className: "flex items-center gap-3",
296
- children: [/* @__PURE__ */ h("div", {
296
+ children: [/* @__PURE__ */ g("div", {
297
297
  className: "flex h-8 w-8 items-center justify-center rounded-full bg-primary/10 text-primary text-sm font-medium",
298
298
  children: t.charAt(0).toUpperCase()
299
- }), /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("p", {
299
+ }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
300
300
  className: "font-medium",
301
301
  children: t
302
- }), /* @__PURE__ */ g("p", {
302
+ }), /* @__PURE__ */ _("p", {
303
303
  className: "text-xs text-muted-foreground",
304
304
  children: [
305
- T("devportal.joined", "Joined"),
305
+ w("devportal.joined", "Joined"),
306
306
  " ",
307
- d(new Date(e.joinedAt), "MMM d, yyyy")
307
+ fe(new Date(e.joinedAt), "MMM d, yyyy")
308
308
  ]
309
309
  })] })]
310
310
  });
@@ -312,17 +312,17 @@ var _ = () => {
312
312
  },
313
313
  {
314
314
  key: "role",
315
- header: T("devportal.roleColumn", "Role"),
316
- render: (e) => /* @__PURE__ */ g("div", {
315
+ header: w("devportal.roleColumn", "Role"),
316
+ render: (e) => /* @__PURE__ */ _("div", {
317
317
  className: "flex items-center gap-2",
318
- children: [/* @__PURE__ */ h(be, {
318
+ children: [/* @__PURE__ */ g(ye, {
319
319
  size: 14,
320
320
  className: "text-muted-foreground"
321
- }), e.role === "OWNER" ? /* @__PURE__ */ h("span", { children: i[e.role] ?? e.role }) : /* @__PURE__ */ h("select", {
321
+ }), e.role === "OWNER" ? /* @__PURE__ */ g("span", { children: o[e.role] ?? e.role }) : /* @__PURE__ */ g("select", {
322
322
  value: e.role,
323
323
  onChange: (t) => void Ze(e.id, t.target.value),
324
324
  className: "rounded-md border border-border bg-background px-2 py-1 text-xs text-foreground",
325
- children: Object.entries(i).filter(([e]) => e !== "OWNER").map(([e, t]) => /* @__PURE__ */ h("option", {
325
+ children: Object.entries(o).filter(([e]) => e !== "OWNER").map(([e, t]) => /* @__PURE__ */ g("option", {
326
326
  value: e,
327
327
  children: t
328
328
  }, e))
@@ -331,14 +331,14 @@ var _ = () => {
331
331
  },
332
332
  {
333
333
  key: "status",
334
- header: T("devportal.statusColumn", "Status"),
335
- render: (e) => e.isSuspended ? /* @__PURE__ */ h(a, {
334
+ header: w("devportal.statusColumn", "Status"),
335
+ render: (e) => e.isSuspended ? /* @__PURE__ */ g(s, {
336
336
  status: "SUSPENDED",
337
337
  type: "app"
338
- }) : e.isActive ? /* @__PURE__ */ h(a, {
338
+ }) : e.isActive ? /* @__PURE__ */ g(s, {
339
339
  status: "ACTIVE",
340
340
  type: "app"
341
- }) : /* @__PURE__ */ h(a, {
341
+ }) : /* @__PURE__ */ g(s, {
342
342
  status: "INACTIVE",
343
343
  type: "app"
344
344
  })
@@ -347,95 +347,95 @@ var _ = () => {
347
347
  key: "actions",
348
348
  header: "",
349
349
  className: "w-32",
350
- render: (e) => e.role !== "OWNER" && /* @__PURE__ */ g("div", {
350
+ render: (e) => e.role !== "OWNER" && /* @__PURE__ */ _("div", {
351
351
  className: "flex gap-1",
352
352
  children: [
353
- e.isSuspended ? /* @__PURE__ */ h("button", {
353
+ e.isSuspended ? /* @__PURE__ */ g("button", {
354
354
  className: "text-xs text-status-success-text hover:underline disabled:opacity-50",
355
- disabled: !S,
356
- "aria-disabled": !S,
357
- title: T("devportal.reactivateMember", "Reactivate member"),
355
+ disabled: !x,
356
+ "aria-disabled": !x,
357
+ title: w("devportal.reactivateMember", "Reactivate member"),
358
358
  onClick: () => Xe(e.id),
359
- children: T("devportal.reactivate", "Reactivate")
360
- }) : /* @__PURE__ */ h("button", {
359
+ children: w("devportal.reactivate", "Reactivate")
360
+ }) : /* @__PURE__ */ g("button", {
361
361
  className: "text-xs text-status-warning-text hover:underline disabled:opacity-50",
362
- disabled: !C,
363
- "aria-disabled": !C,
364
- title: T("devportal.suspendMember", "Suspend member"),
362
+ disabled: !S,
363
+ "aria-disabled": !S,
364
+ title: w("devportal.suspendMember", "Suspend member"),
365
365
  onClick: () => Ye(e.id),
366
- children: T("devportal.suspend", "Suspend")
366
+ children: w("devportal.suspend", "Suspend")
367
367
  }),
368
- /* @__PURE__ */ h("button", {
368
+ /* @__PURE__ */ g("button", {
369
369
  className: "text-xs text-status-error-text hover:underline disabled:opacity-50",
370
- disabled: !x,
371
- "aria-disabled": !x,
372
- title: T("devportal.removeMember", "Remove member"),
370
+ disabled: !b,
371
+ "aria-disabled": !b,
372
+ title: w("devportal.removeMember", "Remove member"),
373
373
  onClick: () => Je(e.id),
374
- children: T("devportal.remove", "Remove")
374
+ children: w("devportal.remove", "Remove")
375
375
  }),
376
- /* @__PURE__ */ h("button", {
376
+ /* @__PURE__ */ g("button", {
377
377
  className: "text-xs text-primary hover:underline disabled:opacity-50",
378
- disabled: !b,
379
- "aria-disabled": !b,
380
- title: T("devportal.transferOwnership", "Transfer ownership"),
378
+ disabled: !we,
379
+ "aria-disabled": !we,
380
+ title: w("devportal.transferOwnership", "Transfer ownership"),
381
381
  onClick: () => Qe(e),
382
- children: T("devportal.makeOwner", "Make Owner")
382
+ children: w("devportal.makeOwner", "Make Owner")
383
383
  })
384
384
  ]
385
385
  })
386
386
  }
387
387
  ]
388
- }) : /* @__PURE__ */ h(t, {
389
- icon: /* @__PURE__ */ h(Se, { size: 24 }),
390
- title: T("devportal.noMembers", "No members"),
391
- description: T("devportal.inviteTeamMembersToCollaborate", "Invite team members to collaborate")
388
+ }) : /* @__PURE__ */ g(t, {
389
+ icon: /* @__PURE__ */ g(xe, { size: 24 }),
390
+ title: w("devportal.noMembers", "No members"),
391
+ description: w("devportal.inviteTeamMembersToCollaborate", "Invite team members to collaborate")
392
392
  })
393
393
  }),
394
- q.length > 0 && /* @__PURE__ */ h(r, {
395
- title: `${T("devportal.pendingInvitations", "Pending Invitations")} (${He})`,
396
- actions: /* @__PURE__ */ g("div", {
394
+ q.length > 0 && /* @__PURE__ */ g(a, {
395
+ title: `${w("devportal.pendingInvitations", "Pending Invitations")} (${He})`,
396
+ actions: /* @__PURE__ */ _("div", {
397
397
  className: "flex flex-wrap items-center gap-2",
398
- children: [/* @__PURE__ */ g("button", {
398
+ children: [/* @__PURE__ */ _("button", {
399
399
  onClick: async () => {
400
400
  if (Y.length === 0) return;
401
- N(null);
401
+ O(null);
402
402
  let e = await Promise.allSettled(Y.map((e) => Be({ variables: { id: e.id } }))), t = e.filter((e) => e.status === "fulfilled").length, n = e.length - t;
403
- F(`${T("devportal.resent", "Resent")} ${t} ${t === 1 ? T("devportal.invitationLower", "invitation") : T("devportal.invitationsLower", "invitations")}${n > 0 ? ` • ${n} ${T("devportal.failed", "failed")}` : ""}`), z(/* @__PURE__ */ new Set());
403
+ A(`${w("devportal.resent", "Resent")} ${t} ${t === 1 ? w("devportal.invitationLower", "invitation") : w("devportal.invitationsLower", "invitations")}${n > 0 ? ` • ${n} ${w("devportal.failed", "failed")}` : ""}`), P(/* @__PURE__ */ new Set());
404
404
  },
405
405
  disabled: Y.length === 0,
406
406
  className: "rounded-md border border-primary/30 px-3 py-2 text-sm font-medium text-primary hover:bg-primary/5 disabled:cursor-not-allowed disabled:opacity-50",
407
- children: [T("devportal.resendSelected", "Resend Selected"), Y.length > 0 ? ` (${Y.length})` : ""]
408
- }), /* @__PURE__ */ g("button", {
409
- onClick: () => V(!0),
407
+ children: [w("devportal.resendSelected", "Resend Selected"), Y.length > 0 ? ` (${Y.length})` : ""]
408
+ }), /* @__PURE__ */ _("button", {
409
+ onClick: () => I(!0),
410
410
  disabled: Y.length === 0,
411
411
  className: "rounded-md border border-status-error-bg px-3 py-2 text-sm font-medium text-status-error-text hover:bg-status-error-bg-subtle disabled:cursor-not-allowed disabled:opacity-50",
412
- children: [T("devportal.cancelSelected", "Cancel Selected"), Y.length > 0 ? ` (${Y.length})` : ""]
412
+ children: [w("devportal.cancelSelected", "Cancel Selected"), Y.length > 0 ? ` (${Y.length})` : ""]
413
413
  })]
414
414
  }),
415
- children: /* @__PURE__ */ h(s, {
415
+ children: /* @__PURE__ */ g(l, {
416
416
  data: q,
417
417
  keyField: "id",
418
418
  columns: [
419
419
  {
420
420
  key: "select",
421
- header: /* @__PURE__ */ h(o, {
421
+ header: /* @__PURE__ */ g(c, {
422
422
  checked: Ge,
423
423
  indeterminate: Ke,
424
424
  onChange: (e) => {
425
- z((t) => {
425
+ P((t) => {
426
426
  let n = new Set(t);
427
427
  return q.forEach((t) => {
428
428
  e ? n.add(t.id) : n.delete(t.id);
429
429
  }), n;
430
430
  });
431
431
  },
432
- ariaLabel: T("devportal.selectAllInvitations", "Select all invitations")
432
+ ariaLabel: w("devportal.selectAllInvitations", "Select all invitations")
433
433
  }),
434
434
  className: "w-12",
435
- render: (e) => /* @__PURE__ */ h("div", {
435
+ render: (e) => /* @__PURE__ */ g("div", {
436
436
  onClick: (e) => e.stopPropagation(),
437
- children: /* @__PURE__ */ h(o, {
438
- checked: R.has(e.id),
437
+ children: /* @__PURE__ */ g(c, {
438
+ checked: N.has(e.id),
439
439
  onChange: (t) => it(e.id, t),
440
440
  ariaLabel: `Select invitation ${e.invitedEmail}`
441
441
  })
@@ -443,10 +443,10 @@ var _ = () => {
443
443
  },
444
444
  {
445
445
  key: "invitedEmail",
446
- header: T("devportal.emailColumn", "Email"),
447
- render: (e) => /* @__PURE__ */ g("div", {
446
+ header: w("devportal.emailColumn", "Email"),
447
+ render: (e) => /* @__PURE__ */ _("div", {
448
448
  className: "flex items-center gap-2",
449
- children: [/* @__PURE__ */ h(_e, {
449
+ children: [/* @__PURE__ */ g(ge, {
450
450
  size: 16,
451
451
  className: "text-muted-foreground"
452
452
  }), e.invitedEmail]
@@ -454,110 +454,110 @@ var _ = () => {
454
454
  },
455
455
  {
456
456
  key: "role",
457
- header: T("devportal.invitedRoleColumn", "Invited Role"),
458
- render: (e) => i[e.role] ?? e.role
457
+ header: w("devportal.invitedRoleColumn", "Invited Role"),
458
+ render: (e) => o[e.role] ?? e.role
459
459
  },
460
460
  {
461
461
  key: "status",
462
- header: T("devportal.statusColumn", "Status"),
463
- render: (e) => /* @__PURE__ */ h(a, {
462
+ header: w("devportal.statusColumn", "Status"),
463
+ render: (e) => /* @__PURE__ */ g(s, {
464
464
  status: e.status,
465
465
  type: "invitation"
466
466
  })
467
467
  },
468
468
  {
469
469
  key: "expiresAt",
470
- header: T("devportal.expiresColumn", "Expires"),
471
- render: (e) => d(new Date(e.expiresAt), "MMM d, yyyy")
470
+ header: w("devportal.expiresColumn", "Expires"),
471
+ render: (e) => fe(new Date(e.expiresAt), "MMM d, yyyy")
472
472
  },
473
473
  {
474
474
  key: "actions",
475
475
  header: "",
476
476
  className: "w-24",
477
- render: (e) => /* @__PURE__ */ g("div", {
477
+ render: (e) => /* @__PURE__ */ _("div", {
478
478
  className: "flex gap-1",
479
- children: [/* @__PURE__ */ h("button", {
479
+ children: [/* @__PURE__ */ g("button", {
480
480
  className: "rounded p-1 hover:bg-muted",
481
- title: T("devportal.resend", "Resend"),
481
+ title: w("devportal.resend", "Resend"),
482
482
  onClick: () => et(e.id),
483
- children: /* @__PURE__ */ h(ye, { size: 14 })
484
- }), /* @__PURE__ */ h("button", {
483
+ children: /* @__PURE__ */ g(ve, { size: 14 })
484
+ }), /* @__PURE__ */ g("button", {
485
485
  className: "rounded p-1 hover:bg-muted text-status-error-text",
486
- title: T("devportal.cancel", "Cancel"),
486
+ title: w("devportal.cancel", "Cancel"),
487
487
  onClick: () => $e(e.id),
488
- children: /* @__PURE__ */ h(xe, { size: 14 })
488
+ children: /* @__PURE__ */ g(be, { size: 14 })
489
489
  })]
490
490
  })
491
491
  }
492
492
  ]
493
493
  })
494
494
  }),
495
- E && /* @__PURE__ */ h(c, {
496
- open: E,
497
- onOpenChange: D,
495
+ T && /* @__PURE__ */ g(u, {
496
+ open: T,
497
+ onOpenChange: E,
498
498
  onConfirm: qe,
499
- title: T("devportal.inviteTeamMember", "Invite Team Member"),
500
- confirmLabel: Ne ? T("devportal.sendingDots", "Sending...") : T("devportal.sendInvitation", "Send Invitation"),
501
- children: /* @__PURE__ */ g("div", {
499
+ title: w("devportal.inviteTeamMember", "Invite Team Member"),
500
+ confirmLabel: Le ? w("devportal.sendingDots", "Sending...") : w("devportal.sendInvitation", "Send Invitation"),
501
+ children: /* @__PURE__ */ _("div", {
502
502
  className: "space-y-4",
503
- children: [/* @__PURE__ */ h(ee, {
504
- label: T("devportal.emailAddress", "Email Address"),
503
+ children: [/* @__PURE__ */ g(le, {
504
+ label: w("devportal.emailAddress", "Email Address"),
505
505
  type: "email",
506
- value: O,
507
- onChange: (e) => k(e.target.value),
506
+ value: D,
507
+ onChange: (e) => Ee(e.target.value),
508
508
  placeholder: "colleague@example.com",
509
- hint: T("devportal.mustBeExistingVerifiedUser", "Must be an existing verified user"),
509
+ hint: w("devportal.mustBeExistingVerifiedUser", "Must be an existing verified user"),
510
510
  required: !0
511
- }), /* @__PURE__ */ h(te, {
512
- label: T("devportal.roleColumn", "Role"),
513
- value: A,
514
- onChange: (e) => j(e.target.value),
511
+ }), /* @__PURE__ */ g(ue, {
512
+ label: w("devportal.roleColumn", "Role"),
513
+ value: De,
514
+ onChange: (e) => Oe(e.target.value),
515
515
  options: [
516
516
  {
517
517
  value: "ADMIN",
518
- label: T("devportal.adminFullAccess", "Admin - Full access")
518
+ label: w("devportal.adminFullAccess", "Admin - Full access")
519
519
  },
520
520
  {
521
521
  value: "DEVELOPER",
522
- label: T("devportal.developerCreateAndManageApps", "Developer - Create and manage apps")
522
+ label: w("devportal.developerCreateAndManageApps", "Developer - Create and manage apps")
523
523
  },
524
524
  {
525
525
  value: "VIEWER",
526
- label: T("devportal.viewerReadOnlyAccess", "Viewer - Read-only access")
526
+ label: w("devportal.viewerReadOnlyAccess", "Viewer - Read-only access")
527
527
  }
528
528
  ],
529
529
  required: !0
530
530
  })]
531
531
  })
532
532
  }),
533
- /* @__PURE__ */ h(c, {
534
- open: De,
535
- onOpenChange: B,
533
+ /* @__PURE__ */ g(u, {
534
+ open: Me,
535
+ onOpenChange: F,
536
536
  onConfirm: async () => {
537
537
  if ($.length === 0) return;
538
- N(null);
539
- let e = await Promise.allSettled($.map((e) => Pe({ variables: { id: e.id } }))), t = e.filter((e) => e.status === "fulfilled").length, n = e.length - t;
540
- F(`${T("devportal.removed", "Removed")} ${t} ${t === 1 ? T("devportal.memberLower", "member") : T("devportal.membersLower", "members")}${n > 0 ? ` • ${n} ${T("devportal.failed", "failed")}` : ""}`), B(!1), L(/* @__PURE__ */ new Set());
538
+ O(null);
539
+ let e = await Promise.allSettled($.map((e) => H({ variables: { id: e.id } }))), t = e.filter((e) => e.status === "fulfilled").length, n = e.length - t;
540
+ A(`${w("devportal.removed", "Removed")} ${t} ${t === 1 ? w("devportal.memberLower", "member") : w("devportal.membersLower", "members")}${n > 0 ? ` • ${n} ${w("devportal.failed", "failed")}` : ""}`), F(!1), M(/* @__PURE__ */ new Set());
541
541
  },
542
- title: T("devportal.removeSelectedMembers", "Remove selected members"),
543
- description: `${T("devportal.removeNSelectedMembers", "Remove")} ${$.length} ${T("devportal.selectedMembersFromOrg", "selected member(s) from this organization? This action cannot be undone.")}`,
544
- confirmLabel: T("devportal.removeMembers", "Remove Members"),
545
- cancelLabel: T("devportal.cancel", "Cancel"),
542
+ title: w("devportal.removeSelectedMembers", "Remove selected members"),
543
+ description: `${w("devportal.removeNSelectedMembers", "Remove")} ${$.length} ${w("devportal.selectedMembersFromOrg", "selected member(s) from this organization? This action cannot be undone.")}`,
544
+ confirmLabel: w("devportal.removeMembers", "Remove Members"),
545
+ cancelLabel: w("devportal.cancel", "Cancel"),
546
546
  variant: "danger"
547
547
  }),
548
- /* @__PURE__ */ h(c, {
549
- open: Oe,
550
- onOpenChange: V,
548
+ /* @__PURE__ */ g(u, {
549
+ open: Ne,
550
+ onOpenChange: I,
551
551
  onConfirm: async () => {
552
552
  if (Y.length === 0) return;
553
- N(null);
554
- let e = await Promise.allSettled(Y.map((e) => ze({ variables: { id: e.id } }))), t = e.filter((e) => e.status === "fulfilled").length, n = e.length - t;
555
- F(`${T("devportal.cancelled", "Cancelled")} ${t} ${t === 1 ? T("devportal.invitationLower", "invitation") : T("devportal.invitationsLower", "invitations")}${n > 0 ? ` • ${n} ${T("devportal.failed", "failed")}` : ""}`), V(!1), z(/* @__PURE__ */ new Set());
553
+ O(null);
554
+ let e = await Promise.allSettled(Y.map((e) => G({ variables: { id: e.id } }))), t = e.filter((e) => e.status === "fulfilled").length, n = e.length - t;
555
+ A(`${w("devportal.cancelled", "Cancelled")} ${t} ${t === 1 ? w("devportal.invitationLower", "invitation") : w("devportal.invitationsLower", "invitations")}${n > 0 ? ` • ${n} ${w("devportal.failed", "failed")}` : ""}`), I(!1), P(/* @__PURE__ */ new Set());
556
556
  },
557
- title: T("devportal.cancelSelectedInvitations", "Cancel selected invitations"),
558
- description: `${T("devportal.cancelNPendingInvitations", "Cancel")} ${Y.length} ${T("devportal.pendingInvitationsQuestion", "pending invitation(s)?")}`,
559
- confirmLabel: T("devportal.cancelInvitations", "Cancel Invitations"),
560
- cancelLabel: T("devportal.keepInvitations", "Keep Invitations"),
557
+ title: w("devportal.cancelSelectedInvitations", "Cancel selected invitations"),
558
+ description: `${w("devportal.cancelNPendingInvitations", "Cancel")} ${Y.length} ${w("devportal.pendingInvitationsQuestion", "pending invitation(s)?")}`,
559
+ confirmLabel: w("devportal.cancelInvitations", "Cancel Invitations"),
560
+ cancelLabel: w("devportal.keepInvitations", "Keep Invitations"),
561
561
  variant: "danger"
562
562
  })
563
563
  ]
@@ -565,6 +565,6 @@ var _ = () => {
565
565
  });
566
566
  };
567
567
  //#endregion
568
- export { _ as OrganizationMembersPage };
568
+ export { v as OrganizationMembersPage };
569
569
 
570
570
  //# sourceMappingURL=OrganizationMembersPage.js.map