@burdenoff/microfe-workspaces 2026.510.50 → 2026.511.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 (69) hide show
  1. package/dist/generated/wspace-operations.d.ts +91 -0
  2. package/dist/generated/wspace-operations.d.ts.map +1 -1
  3. package/dist/generated/wspace-operations.js +79 -51
  4. package/dist/generated/wspace-operations.js.map +1 -1
  5. package/dist/hooks/useMemberMutations.d.ts.map +1 -1
  6. package/dist/hooks/useMemberMutations.js +141 -60
  7. package/dist/hooks/useMemberMutations.js.map +1 -1
  8. package/dist/hooks/useProjectMutations.d.ts.map +1 -1
  9. package/dist/hooks/useProjectMutations.js +84 -44
  10. package/dist/hooks/useProjectMutations.js.map +1 -1
  11. package/dist/hooks/useWorkspaceMutations.d.ts.map +1 -1
  12. package/dist/hooks/useWorkspaceMutations.js +64 -29
  13. package/dist/hooks/useWorkspaceMutations.js.map +1 -1
  14. package/dist/hooks/useWorkspacesEventEmitter.d.ts +5 -1
  15. package/dist/hooks/useWorkspacesEventEmitter.d.ts.map +1 -1
  16. package/dist/hooks/useWorkspacesEventEmitter.js +8 -7
  17. package/dist/hooks/useWorkspacesEventEmitter.js.map +1 -1
  18. package/dist/hooks/useWorkspacesPageView.d.ts +27 -0
  19. package/dist/hooks/useWorkspacesPageView.d.ts.map +1 -0
  20. package/dist/hooks/useWorkspacesPageView.js +29 -0
  21. package/dist/hooks/useWorkspacesPageView.js.map +1 -0
  22. package/dist/pages/ActivityListPage.d.ts.map +1 -1
  23. package/dist/pages/ActivityListPage.js +59 -56
  24. package/dist/pages/ActivityListPage.js.map +1 -1
  25. package/dist/pages/CreateWorkspacePage.d.ts.map +1 -1
  26. package/dist/pages/CreateWorkspacePage.js +104 -104
  27. package/dist/pages/CreateWorkspacePage.js.map +1 -1
  28. package/dist/pages/InviteAcceptancePage.d.ts.map +1 -1
  29. package/dist/pages/InviteAcceptancePage.js +197 -216
  30. package/dist/pages/InviteAcceptancePage.js.map +1 -1
  31. package/dist/pages/MembersListPage.d.ts.map +1 -1
  32. package/dist/pages/MembersListPage.js +142 -138
  33. package/dist/pages/MembersListPage.js.map +1 -1
  34. package/dist/pages/ProjectDetailPage.d.ts.map +1 -1
  35. package/dist/pages/ProjectDetailPage.js +181 -176
  36. package/dist/pages/ProjectDetailPage.js.map +1 -1
  37. package/dist/pages/ProjectsListPage.d.ts.map +1 -1
  38. package/dist/pages/ProjectsListPage.js +175 -171
  39. package/dist/pages/ProjectsListPage.js.map +1 -1
  40. package/dist/pages/WorkspaceDetailPage.d.ts.map +1 -1
  41. package/dist/pages/WorkspaceDetailPage.js +104 -101
  42. package/dist/pages/WorkspaceDetailPage.js.map +1 -1
  43. package/dist/pages/WorkspaceSettingsPage.d.ts.map +1 -1
  44. package/dist/pages/WorkspaceSettingsPage.js +182 -137
  45. package/dist/pages/WorkspaceSettingsPage.js.map +1 -1
  46. package/dist/pages/WorkspacesListPage.d.ts.map +1 -1
  47. package/dist/pages/WorkspacesListPage.js +77 -77
  48. package/dist/pages/WorkspacesListPage.js.map +1 -1
  49. package/dist/pages/dashboard/DashboardCustomizer.d.ts.map +1 -1
  50. package/dist/pages/dashboard/DashboardCustomizer.js +53 -55
  51. package/dist/pages/dashboard/DashboardCustomizer.js.map +1 -1
  52. package/dist/pages/dashboard/DashboardGrid.d.ts.map +1 -1
  53. package/dist/pages/dashboard/DashboardGrid.js +33 -36
  54. package/dist/pages/dashboard/DashboardGrid.js.map +1 -1
  55. package/dist/pages/dashboard/DashboardPage.d.ts.map +1 -1
  56. package/dist/pages/dashboard/DashboardPage.js +67 -65
  57. package/dist/pages/dashboard/DashboardPage.js.map +1 -1
  58. package/dist/pages/dashboard/WidgetWrapper.d.ts.map +1 -1
  59. package/dist/pages/dashboard/WidgetWrapper.js +3 -6
  60. package/dist/pages/dashboard/WidgetWrapper.js.map +1 -1
  61. package/dist/utils/i18n.d.ts +13 -0
  62. package/dist/utils/i18n.d.ts.map +1 -0
  63. package/dist/utils/i18n.js +12 -0
  64. package/dist/utils/i18n.js.map +1 -0
  65. package/dist/utils/telemetryError.d.ts +2 -0
  66. package/dist/utils/telemetryError.d.ts.map +1 -0
  67. package/dist/utils/telemetryError.js +28 -0
  68. package/dist/utils/telemetryError.js.map +1 -0
  69. package/package.json +9 -4
@@ -1,30 +1,34 @@
1
1
  import { useWorkspacesContext as e } from "../providers/WorkspacesProvider.js";
2
2
  import { useWorkspacesStore as t } from "../store/workspacesStore.js";
3
3
  import { WORKSPACE_PERMISSIONS as n } from "../constants/permissions.js";
4
- import { nativeConfirm as r, nativeImpact as ee } from "../utils/nativeBridge.js";
5
- import { useWorkspaceInvitations as te, useWorkspaceMembers as i } from "../hooks/useWorkspaceMembers.js";
6
- import { useRemoveUserFromWorkspace as ne, useResendInvitation as re } from "../hooks/useMemberMutations.js";
7
- import { MemberListItem as ie } from "../components/MemberListItem.js";
8
- import { InviteMemberDialog as ae } from "../components/InviteMemberDialog.js";
9
- import { useWorkspacePermissions as oe } from "../hooks/useWorkspacePermissions.js";
10
- import { useCallback as se, useEffect as a, useMemo as o, useState as s } from "react";
11
- import { AlertCircle as ce, RefreshCw as le, Search as c, UserPlus as l, Users as u } from "lucide-react";
12
- import { Fragment as ue, jsx as d, jsxs as f } from "react/jsx-runtime";
13
- import { Badge as p, Button as m, Input as de, Skeleton as h } from "@burdenoff/fe-libs/ui";
14
- import { useParams as g } from "react-router-dom";
15
- import { useDebounce as _ } from "@burdenoff/fe-libs/shared/hooks";
16
- import { PermissionButton as v } from "@burdenoff/fe-libs/shared/components";
4
+ import { tWithFallback as r } from "../utils/i18n.js";
5
+ import { useWorkspacesPageView as i } from "../hooks/useWorkspacesPageView.js";
6
+ import { nativeConfirm as ee, nativeImpact as te } from "../utils/nativeBridge.js";
7
+ import { useWorkspaceInvitations as ne, useWorkspaceMembers as re } from "../hooks/useWorkspaceMembers.js";
8
+ import { useRemoveUserFromWorkspace as ie, useResendInvitation as ae } from "../hooks/useMemberMutations.js";
9
+ import { MemberListItem as oe } from "../components/MemberListItem.js";
10
+ import { InviteMemberDialog as se } from "../components/InviteMemberDialog.js";
11
+ import { useWorkspacePermissions as a } from "../hooks/useWorkspacePermissions.js";
12
+ import { useEffect as o, useMemo as s, useState as c } from "react";
13
+ import { AlertCircle as ce, RefreshCw as le, Search as l, UserPlus as u, Users as d } from "lucide-react";
14
+ import { Fragment as ue, jsx as f, jsxs as p } from "react/jsx-runtime";
15
+ import { Badge as m, Button as h, Input as g, Skeleton as _ } from "@burdenoff/fe-libs/ui";
16
+ import { useParams as v } from "react-router-dom";
17
+ import { useDebounce as de } from "@burdenoff/fe-libs/shared/hooks";
18
+ import { PermissionButton as y } from "@burdenoff/fe-libs/shared/components";
17
19
  import { useI18n as fe } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
18
20
  //#region src/pages/MembersListPage.tsx
19
- function y() {
20
- let { t: y } = fe(), b = se((e, t) => {
21
- let n = y(e);
22
- return n === e ? t : n;
23
- }, [y]), { memberFilters: pe, setMemberFilters: x, selectedMemberIds: S, toggleMemberSelection: C, clearMemberSelection: w, openInviteMemberDialog: me } = t(), { workspaceId: he } = e(), { workspaceId: ge } = g(), T = ge || he, [E, D] = s(pe.search || ""), O = _(E, 500);
24
- a(() => {
21
+ function b() {
22
+ let { t: b } = fe(), { memberFilters: pe, setMemberFilters: x, selectedMemberIds: S, toggleMemberSelection: C, clearMemberSelection: w, openInviteMemberDialog: me } = t(), { workspaceId: he } = e(), { workspaceId: ge } = v(), T = ge || he;
23
+ i("workspaces.members", {
24
+ workspaceId: T,
25
+ requireParams: !0
26
+ });
27
+ let [E, D] = c(pe.search || ""), O = de(E, 500);
28
+ o(() => {
25
29
  x({ search: O });
26
30
  }, [O, x]);
27
- let { data: k, isLoading: _e, error: A } = i(T || ""), { data: j, isLoading: M } = te(T || "", "PENDING"), { mutate: N, isPending: P } = re(), { mutate: F, isPending: I } = ne(), [L, R] = s(null), [z, B] = s(/* @__PURE__ */ new Set()), ve = (e) => {
31
+ let { data: k, isLoading: _e, error: A } = re(T || ""), { data: j, isLoading: M } = ne(T || "", "PENDING"), { mutate: N, isPending: P } = ae(), { mutate: F, isPending: I } = ie(), [L, R] = c(null), [z, B] = c(/* @__PURE__ */ new Set()), ve = (e) => {
28
32
  R(e), N(e, {
29
33
  onSuccess: () => {
30
34
  R(null);
@@ -33,23 +37,23 @@ function y() {
33
37
  console.error("Failed to resend invitation:", e), R(null);
34
38
  }
35
39
  });
36
- }, V = o(() => k?.items || [], [k?.items]), H = o(() => j?.items || [], [j?.items]), U = _e || M, W = V.length > 0, G = H.length > 0, K = V.filter((e) => O ? e.userId.toLowerCase().includes(O.toLowerCase()) : !0), q = o(() => K.filter((e) => S.has(e.id)), [K, S]), J = o(() => H.filter((e) => z.has(e.id)), [H, z]), Y = K.length > 0 && K.every((e) => S.has(e.id)), ye = K.some((e) => S.has(e.id)) && !Y, X = H.length > 0 && H.every((e) => z.has(e.id)), be = H.some((e) => z.has(e.id)) && !X;
37
- a(() => () => w(), [w]);
38
- let { canListMembers: xe, canInviteMember: Z, canRemoveMember: Q, isLoading: Se } = oe();
39
- if (Se) return /* @__PURE__ */ f("div", {
40
+ }, V = s(() => k?.items || [], [k?.items]), H = s(() => j?.items || [], [j?.items]), U = _e || M, W = V.length > 0, G = H.length > 0, K = V.filter((e) => O ? e.userId.toLowerCase().includes(O.toLowerCase()) : !0), q = s(() => K.filter((e) => S.has(e.id)), [K, S]), J = s(() => H.filter((e) => z.has(e.id)), [H, z]), Y = K.length > 0 && K.every((e) => S.has(e.id)), ye = K.some((e) => S.has(e.id)) && !Y, X = H.length > 0 && H.every((e) => z.has(e.id)), be = H.some((e) => z.has(e.id)) && !X;
41
+ o(() => () => w(), [w]);
42
+ let { canListMembers: xe, canInviteMember: Z, canRemoveMember: Q, isLoading: Se } = a();
43
+ if (Se) return /* @__PURE__ */ p("div", {
40
44
  className: "space-y-4 p-6",
41
- children: [/* @__PURE__ */ d(h, { className: "h-10 w-1/3" }), /* @__PURE__ */ d(h, { className: "h-64" })]
45
+ children: [/* @__PURE__ */ f(_, { className: "h-10 w-1/3" }), /* @__PURE__ */ f(_, { className: "h-64" })]
42
46
  });
43
- if (!xe && !Z) return /* @__PURE__ */ d("div", {
47
+ if (!xe && !Z) return /* @__PURE__ */ f("div", {
44
48
  className: "flex items-center justify-center min-h-[400px]",
45
- children: /* @__PURE__ */ f("div", {
49
+ children: /* @__PURE__ */ p("div", {
46
50
  className: "text-center space-y-2",
47
- children: [/* @__PURE__ */ d("h2", {
51
+ children: [/* @__PURE__ */ f("h2", {
48
52
  className: "text-lg font-semibold",
49
- children: b("membersList.accessDenied", "Access Denied")
50
- }), /* @__PURE__ */ d("p", {
53
+ children: r(b, "membersList.accessDenied", "Access Denied")
54
+ }), /* @__PURE__ */ f("p", {
51
55
  className: "text-sm text-muted-foreground",
52
- children: b("membersList.noPermissionToViewMembers", "You don't have permission to view workspace members.")
56
+ children: r(b, "membersList.noPermissionToViewMembers", "You don't have permission to view workspace members.")
53
57
  })]
54
58
  })
55
59
  });
@@ -73,8 +77,8 @@ function y() {
73
77
  });
74
78
  }, Ee = async () => {
75
79
  if (q.length === 0) return;
76
- ee("medium");
77
- let e = `${b("membersList.bulkRemoveConfirmPrefix", "Remove")} ${q.length} ${q.length === 1 ? b("membersList.bulkRemoveConfirmSingular", "selected member") : b("membersList.bulkRemoveConfirmPlural", "selected members")} ${b("membersList.bulkRemoveConfirmSuffix", "from this workspace?")}`, t = await r({
80
+ te("medium");
81
+ let e = `${r(b, "membersList.bulkRemoveConfirmPrefix", "Remove")} ${q.length} ${q.length === 1 ? r(b, "membersList.bulkRemoveConfirmSingular", "selected member") : r(b, "membersList.bulkRemoveConfirmPlural", "selected members")} ${r(b, "membersList.bulkRemoveConfirmSuffix", "from this workspace?")}`, t = await ee({
78
82
  title: "Remove members",
79
83
  message: e,
80
84
  okButtonTitle: "Remove",
@@ -93,100 +97,100 @@ function y() {
93
97
  } });
94
98
  });
95
99
  };
96
- return /* @__PURE__ */ f(ue, { children: [/* @__PURE__ */ f("div", {
100
+ return /* @__PURE__ */ p(ue, { children: [/* @__PURE__ */ p("div", {
97
101
  className: "space-y-4 sm:space-y-6 p-3 sm:p-6",
98
102
  children: [
99
- /* @__PURE__ */ f("div", {
103
+ /* @__PURE__ */ p("div", {
100
104
  className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",
101
- children: [/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("h1", {
105
+ children: [/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("h1", {
102
106
  className: "text-2xl sm:text-3xl font-bold",
103
- children: b("membersList.pageTitle", "Members")
104
- }), /* @__PURE__ */ d("p", {
107
+ children: r(b, "membersList.pageTitle", "Members")
108
+ }), /* @__PURE__ */ f("p", {
105
109
  className: "text-muted-foreground text-sm sm:text-base",
106
- children: b("membersList.pageSubtitle", "Manage workspace members and invitations")
107
- })] }), /* @__PURE__ */ d("div", {
110
+ children: r(b, "membersList.pageSubtitle", "Manage workspace members and invitations")
111
+ })] }), /* @__PURE__ */ f("div", {
108
112
  className: "flex gap-2",
109
- children: /* @__PURE__ */ d(v, {
113
+ children: /* @__PURE__ */ f(y, {
110
114
  permission: n.MEMBER_CREATE,
111
115
  deniedBehavior: "disable",
112
- deniedTooltip: b("membersList.noPermissionToInvite", "You don't have permission to invite members"),
113
- children: /* @__PURE__ */ f(m, {
116
+ deniedTooltip: r(b, "membersList.noPermissionToInvite", "You don't have permission to invite members"),
117
+ children: /* @__PURE__ */ p(h, {
114
118
  onClick: $,
115
119
  disabled: !T,
116
- children: [/* @__PURE__ */ d(l, { className: "h-4 w-4 sm:mr-2" }), /* @__PURE__ */ d("span", {
120
+ children: [/* @__PURE__ */ f(u, { className: "h-4 w-4 sm:mr-2" }), /* @__PURE__ */ f("span", {
117
121
  className: "hidden sm:inline",
118
- children: b("membersList.inviteMember", "Invite Member")
122
+ children: r(b, "membersList.inviteMember", "Invite Member")
119
123
  })]
120
124
  })
121
125
  })
122
126
  })]
123
127
  }),
124
- /* @__PURE__ */ f("div", {
128
+ /* @__PURE__ */ p("div", {
125
129
  className: "flex flex-col sm:flex-row gap-3 sm:gap-4",
126
- children: [/* @__PURE__ */ f("div", {
130
+ children: [/* @__PURE__ */ p("div", {
127
131
  className: "relative flex-1",
128
- children: [/* @__PURE__ */ d(c, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ d(de, {
129
- placeholder: b("membersList.searchPlaceholder", "Search members..."),
132
+ children: [/* @__PURE__ */ f(l, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ f(g, {
133
+ placeholder: r(b, "membersList.searchPlaceholder", "Search members..."),
130
134
  value: E,
131
135
  onChange: (e) => D(e.target.value),
132
136
  className: "pl-9"
133
137
  })]
134
- }), G && /* @__PURE__ */ d("div", {
138
+ }), G && /* @__PURE__ */ f("div", {
135
139
  className: "flex items-center gap-2",
136
- children: /* @__PURE__ */ f(p, {
140
+ children: /* @__PURE__ */ p(m, {
137
141
  variant: "secondary",
138
142
  className: "text-sm",
139
143
  children: [
140
144
  H.length,
141
145
  " ",
142
- H.length === 1 ? b("membersList.pendingInvitation", "Pending Invitation") : b("membersList.pendingInvitations", "Pending Invitations")
146
+ H.length === 1 ? r(b, "membersList.pendingInvitation", "Pending Invitation") : r(b, "membersList.pendingInvitations", "Pending Invitations")
143
147
  ]
144
148
  })
145
149
  })]
146
150
  }),
147
- K.length > 0 && /* @__PURE__ */ f("div", {
151
+ K.length > 0 && /* @__PURE__ */ p("div", {
148
152
  className: "flex flex-col gap-3 rounded-lg border bg-card p-4 sm:flex-row sm:items-center sm:justify-between",
149
- children: [/* @__PURE__ */ f("label", {
153
+ children: [/* @__PURE__ */ p("label", {
150
154
  className: "flex items-center gap-2 text-sm text-foreground",
151
- children: [/* @__PURE__ */ d("input", {
155
+ children: [/* @__PURE__ */ f("input", {
152
156
  type: "checkbox",
153
157
  checked: Y,
154
158
  ref: (e) => {
155
159
  e && (e.indeterminate = ye && !Y);
156
160
  },
157
161
  onChange: (e) => Ce(e.target.checked),
158
- "aria-label": b("membersList.selectAllMembersAriaLabel", "Select all workspace members"),
162
+ "aria-label": r(b, "membersList.selectAllMembersAriaLabel", "Select all workspace members"),
159
163
  className: "h-4 w-4 rounded border-border text-primary"
160
- }), /* @__PURE__ */ d("span", { children: b("membersList.selectAllVisibleMembers", "Select all visible members") })]
161
- }), /* @__PURE__ */ f("div", {
164
+ }), /* @__PURE__ */ f("span", { children: r(b, "membersList.selectAllVisibleMembers", "Select all visible members") })]
165
+ }), /* @__PURE__ */ p("div", {
162
166
  className: "flex flex-wrap items-center gap-2",
163
167
  children: [
164
- /* @__PURE__ */ f("span", {
168
+ /* @__PURE__ */ p("span", {
165
169
  className: "text-sm text-muted-foreground",
166
170
  children: [
167
171
  S.size,
168
172
  " ",
169
- b("membersList.selected", "selected")
173
+ r(b, "membersList.selected", "selected")
170
174
  ]
171
175
  }),
172
- S.size > 0 && /* @__PURE__ */ d(m, {
176
+ S.size > 0 && /* @__PURE__ */ f(h, {
173
177
  variant: "ghost",
174
178
  size: "sm",
175
179
  onClick: w,
176
- children: b("membersList.clearSelection", "Clear selection")
180
+ children: r(b, "membersList.clearSelection", "Clear selection")
177
181
  }),
178
- Q && /* @__PURE__ */ f(m, {
182
+ Q && /* @__PURE__ */ p(h, {
179
183
  variant: "outline",
180
184
  size: "sm",
181
185
  onClick: Ee,
182
186
  disabled: q.length === 0 || I,
183
187
  className: "text-destructive",
184
- children: [b("membersList.removeSelected", "Remove Selected"), q.length > 0 ? ` (${q.length})` : ""]
188
+ children: [r(b, "membersList.removeSelected", "Remove Selected"), q.length > 0 ? ` (${q.length})` : ""]
185
189
  })
186
190
  ]
187
191
  })]
188
192
  }),
189
- U && /* @__PURE__ */ d("div", {
193
+ U && /* @__PURE__ */ f("div", {
190
194
  className: "space-y-3",
191
195
  children: [...[
192
196
  ,
@@ -194,113 +198,113 @@ function y() {
194
198
  ,
195
199
  ,
196
200
  ,
197
- ]].map((e, t) => /* @__PURE__ */ d(h, { className: "h-20 w-full" }, t))
201
+ ]].map((e, t) => /* @__PURE__ */ f(_, { className: "h-20 w-full" }, t))
198
202
  }),
199
- !U && A && /* @__PURE__ */ f("div", {
203
+ !U && A && /* @__PURE__ */ p("div", {
200
204
  className: "flex flex-col items-center justify-center py-12 text-center",
201
205
  children: [
202
- /* @__PURE__ */ d("div", {
206
+ /* @__PURE__ */ f("div", {
203
207
  className: "rounded-full bg-destructive/10 p-6 mb-4",
204
- children: /* @__PURE__ */ d(ce, {
208
+ children: /* @__PURE__ */ f(ce, {
205
209
  size: 48,
206
210
  className: "text-destructive"
207
211
  })
208
212
  }),
209
- /* @__PURE__ */ d("h3", {
213
+ /* @__PURE__ */ f("h3", {
210
214
  className: "text-lg font-semibold mb-2",
211
- children: b("membersList.failedToLoad", "Failed to Load Members")
215
+ children: r(b, "membersList.failedToLoad", "Failed to Load Members")
212
216
  }),
213
- /* @__PURE__ */ d("p", {
217
+ /* @__PURE__ */ f("p", {
214
218
  className: "text-muted-foreground max-w-sm",
215
- children: A instanceof Error ? A.message : b("membersList.errorLoadingMembers", "An error occurred while loading members")
219
+ children: A instanceof Error ? A.message : r(b, "membersList.errorLoadingMembers", "An error occurred while loading members")
216
220
  })
217
221
  ]
218
222
  }),
219
- !U && !A && !T && /* @__PURE__ */ f("div", {
223
+ !U && !A && !T && /* @__PURE__ */ p("div", {
220
224
  className: "flex flex-col items-center justify-center py-12 text-center",
221
225
  children: [
222
- /* @__PURE__ */ d("div", {
226
+ /* @__PURE__ */ f("div", {
223
227
  className: "rounded-full bg-muted p-6 mb-4",
224
- children: /* @__PURE__ */ d(u, {
228
+ children: /* @__PURE__ */ f(d, {
225
229
  size: 48,
226
230
  className: "text-muted-foreground"
227
231
  })
228
232
  }),
229
- /* @__PURE__ */ d("h3", {
233
+ /* @__PURE__ */ f("h3", {
230
234
  className: "text-lg font-semibold mb-2",
231
- children: b("membersList.noWorkspaceSelected", "No Workspace Selected")
235
+ children: r(b, "membersList.noWorkspaceSelected", "No Workspace Selected")
232
236
  }),
233
- /* @__PURE__ */ d("p", {
237
+ /* @__PURE__ */ f("p", {
234
238
  className: "text-muted-foreground max-w-sm",
235
- children: b("membersList.selectWorkspacePrompt", "Select a workspace to view and manage its members")
239
+ children: r(b, "membersList.selectWorkspacePrompt", "Select a workspace to view and manage its members")
236
240
  })
237
241
  ]
238
242
  }),
239
- !U && !A && T && !W && /* @__PURE__ */ f("div", {
243
+ !U && !A && T && !W && /* @__PURE__ */ p("div", {
240
244
  className: "flex flex-col items-center justify-center py-12 text-center",
241
245
  children: [
242
- /* @__PURE__ */ d("div", {
246
+ /* @__PURE__ */ f("div", {
243
247
  className: "rounded-full bg-muted p-6 mb-4",
244
- children: /* @__PURE__ */ d(u, {
248
+ children: /* @__PURE__ */ f(d, {
245
249
  size: 48,
246
250
  className: "text-muted-foreground"
247
251
  })
248
252
  }),
249
- /* @__PURE__ */ d("h3", {
253
+ /* @__PURE__ */ f("h3", {
250
254
  className: "text-lg font-semibold mb-2",
251
- children: b("membersList.noMembersYet", "No Members Yet")
255
+ children: r(b, "membersList.noMembersYet", "No Members Yet")
252
256
  }),
253
- /* @__PURE__ */ d("p", {
257
+ /* @__PURE__ */ f("p", {
254
258
  className: "text-muted-foreground max-w-sm mb-4",
255
- children: b("membersList.noMembersPrompt", "Start building your team by inviting members to this workspace")
259
+ children: r(b, "membersList.noMembersPrompt", "Start building your team by inviting members to this workspace")
256
260
  }),
257
- /* @__PURE__ */ d(v, {
261
+ /* @__PURE__ */ f(y, {
258
262
  permission: n.MEMBER_CREATE,
259
263
  deniedBehavior: "disable",
260
- deniedTooltip: b("membersList.noPermissionToInvite", "You don't have permission to invite members"),
261
- children: /* @__PURE__ */ f(m, {
264
+ deniedTooltip: r(b, "membersList.noPermissionToInvite", "You don't have permission to invite members"),
265
+ children: /* @__PURE__ */ p(h, {
262
266
  onClick: $,
263
- children: [/* @__PURE__ */ d(l, { className: "mr-2 h-4 w-4" }), b("membersList.inviteFirstMember", "Invite Your First Member")]
267
+ children: [/* @__PURE__ */ f(u, { className: "mr-2 h-4 w-4" }), r(b, "membersList.inviteFirstMember", "Invite Your First Member")]
264
268
  })
265
269
  })
266
270
  ]
267
271
  }),
268
- !U && !A && T && W && K.length === 0 && /* @__PURE__ */ f("div", {
272
+ !U && !A && T && W && K.length === 0 && /* @__PURE__ */ p("div", {
269
273
  className: "flex flex-col items-center justify-center py-12 text-center",
270
274
  children: [
271
- /* @__PURE__ */ d("div", {
275
+ /* @__PURE__ */ f("div", {
272
276
  className: "rounded-full bg-muted p-6 mb-4",
273
- children: /* @__PURE__ */ d(c, {
277
+ children: /* @__PURE__ */ f(l, {
274
278
  size: 48,
275
279
  className: "text-muted-foreground"
276
280
  })
277
281
  }),
278
- /* @__PURE__ */ d("h3", {
282
+ /* @__PURE__ */ f("h3", {
279
283
  className: "text-lg font-semibold mb-2",
280
- children: b("membersList.noMembersFound", "No Members Found")
284
+ children: r(b, "membersList.noMembersFound", "No Members Found")
281
285
  }),
282
- /* @__PURE__ */ d("p", {
286
+ /* @__PURE__ */ f("p", {
283
287
  className: "text-muted-foreground max-w-sm",
284
- children: b("membersList.noMembersFoundPrompt", "No members match your search criteria. Try adjusting your search.")
288
+ children: r(b, "membersList.noMembersFoundPrompt", "No members match your search criteria. Try adjusting your search.")
285
289
  })
286
290
  ]
287
291
  }),
288
- !U && K.length > 0 && /* @__PURE__ */ f("div", {
292
+ !U && K.length > 0 && /* @__PURE__ */ p("div", {
289
293
  className: "space-y-3",
290
- children: [/* @__PURE__ */ d("div", {
294
+ children: [/* @__PURE__ */ f("div", {
291
295
  className: "flex items-center justify-between",
292
- children: /* @__PURE__ */ f("h2", {
296
+ children: /* @__PURE__ */ p("h2", {
293
297
  className: "text-lg font-semibold",
294
298
  children: [
295
- b("membersList.activeMembers", "Active Members"),
299
+ r(b, "membersList.activeMembers", "Active Members"),
296
300
  " (",
297
301
  K.length,
298
302
  ")"
299
303
  ]
300
304
  })
301
- }), /* @__PURE__ */ d("div", {
305
+ }), /* @__PURE__ */ f("div", {
302
306
  className: "space-y-2",
303
- children: K.map((e) => /* @__PURE__ */ d(ie, {
307
+ children: K.map((e) => /* @__PURE__ */ f(oe, {
304
308
  member: e,
305
309
  selected: S.has(e.id),
306
310
  onToggleSelect: (t) => {
@@ -310,101 +314,101 @@ function y() {
310
314
  }, e.id))
311
315
  })]
312
316
  }),
313
- !U && G && /* @__PURE__ */ f("div", {
317
+ !U && G && /* @__PURE__ */ p("div", {
314
318
  className: "space-y-3",
315
319
  children: [
316
- /* @__PURE__ */ d("h2", {
320
+ /* @__PURE__ */ f("h2", {
317
321
  className: "text-lg font-semibold",
318
- children: b("membersList.pendingInvitationsHeader", "Pending Invitations")
322
+ children: r(b, "membersList.pendingInvitationsHeader", "Pending Invitations")
319
323
  }),
320
- /* @__PURE__ */ f("div", {
324
+ /* @__PURE__ */ p("div", {
321
325
  className: "flex flex-col gap-3 rounded-lg border bg-card p-4 sm:flex-row sm:items-center sm:justify-between",
322
- children: [/* @__PURE__ */ f("label", {
326
+ children: [/* @__PURE__ */ p("label", {
323
327
  className: "flex items-center gap-2 text-sm text-foreground",
324
- children: [/* @__PURE__ */ d("input", {
328
+ children: [/* @__PURE__ */ f("input", {
325
329
  type: "checkbox",
326
330
  checked: X,
327
331
  ref: (e) => {
328
332
  e && (e.indeterminate = be && !X);
329
333
  },
330
334
  onChange: (e) => Te(e.target.checked),
331
- "aria-label": b("membersList.selectAllInvitationsAriaLabel", "Select all pending invitations"),
335
+ "aria-label": r(b, "membersList.selectAllInvitationsAriaLabel", "Select all pending invitations"),
332
336
  className: "h-4 w-4 rounded border-border text-primary"
333
- }), /* @__PURE__ */ d("span", { children: b("membersList.selectAllInvitations", "Select all invitations") })]
334
- }), /* @__PURE__ */ f("div", {
337
+ }), /* @__PURE__ */ f("span", { children: r(b, "membersList.selectAllInvitations", "Select all invitations") })]
338
+ }), /* @__PURE__ */ p("div", {
335
339
  className: "flex flex-wrap items-center gap-2",
336
340
  children: [
337
- /* @__PURE__ */ f("span", {
341
+ /* @__PURE__ */ p("span", {
338
342
  className: "text-sm text-muted-foreground",
339
343
  children: [
340
344
  z.size,
341
345
  " ",
342
- b("membersList.selected", "selected")
346
+ r(b, "membersList.selected", "selected")
343
347
  ]
344
348
  }),
345
- z.size > 0 && /* @__PURE__ */ d(m, {
349
+ z.size > 0 && /* @__PURE__ */ f(h, {
346
350
  variant: "ghost",
347
351
  size: "sm",
348
352
  onClick: () => B(/* @__PURE__ */ new Set()),
349
- children: b("membersList.clearSelection", "Clear selection")
353
+ children: r(b, "membersList.clearSelection", "Clear selection")
350
354
  }),
351
- Z && /* @__PURE__ */ f(m, {
355
+ Z && /* @__PURE__ */ p(h, {
352
356
  variant: "outline",
353
357
  size: "sm",
354
358
  onClick: De,
355
359
  disabled: J.length === 0 || P,
356
- children: [b("membersList.resendSelected", "Resend Selected"), J.length > 0 ? ` (${J.length})` : ""]
360
+ children: [r(b, "membersList.resendSelected", "Resend Selected"), J.length > 0 ? ` (${J.length})` : ""]
357
361
  })
358
362
  ]
359
363
  })]
360
364
  }),
361
- /* @__PURE__ */ d("div", {
365
+ /* @__PURE__ */ f("div", {
362
366
  className: "space-y-2",
363
- children: H.map((e) => /* @__PURE__ */ f("div", {
367
+ children: H.map((e) => /* @__PURE__ */ p("div", {
364
368
  className: "flex items-center justify-between p-4 border rounded-lg bg-card",
365
- children: [/* @__PURE__ */ f("div", {
369
+ children: [/* @__PURE__ */ p("div", {
366
370
  className: "flex items-center gap-3",
367
371
  children: [
368
- /* @__PURE__ */ d("input", {
372
+ /* @__PURE__ */ f("input", {
369
373
  type: "checkbox",
370
374
  checked: z.has(e.id),
371
375
  onChange: (t) => we(e.id, t.target.checked),
372
- "aria-label": `${b("membersList.selectInvitationAriaLabel", "Select invitation")} ${e.email}`,
376
+ "aria-label": `${r(b, "membersList.selectInvitationAriaLabel", "Select invitation")} ${e.email}`,
373
377
  className: "h-4 w-4 rounded border-border text-primary"
374
378
  }),
375
- /* @__PURE__ */ d("div", {
379
+ /* @__PURE__ */ f("div", {
376
380
  className: "w-10 h-10 rounded-full bg-status-warning/10 flex items-center justify-center transition-colors",
377
- children: /* @__PURE__ */ d(u, { className: "h-5 w-5 text-status-warning" })
381
+ children: /* @__PURE__ */ f(d, { className: "h-5 w-5 text-status-warning" })
378
382
  }),
379
- /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
383
+ /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
380
384
  className: "font-medium text-sm",
381
385
  children: e.email
382
- }), /* @__PURE__ */ f("p", {
386
+ }), /* @__PURE__ */ p("p", {
383
387
  className: "text-xs text-muted-foreground",
384
388
  children: [
385
- b("membersList.invited", "Invited"),
389
+ r(b, "membersList.invited", "Invited"),
386
390
  " ",
387
391
  new Date(e.createdAt).toLocaleDateString()
388
392
  ]
389
393
  })] })
390
394
  ]
391
- }), /* @__PURE__ */ f("div", {
395
+ }), /* @__PURE__ */ p("div", {
392
396
  className: "flex items-center gap-2",
393
- children: [/* @__PURE__ */ d(v, {
397
+ children: [/* @__PURE__ */ f(y, {
394
398
  permission: n.MEMBER_CREATE,
395
399
  deniedBehavior: "disable",
396
- deniedTooltip: b("membersList.noPermissionToResend", "You don't have permission to resend invitations"),
397
- children: /* @__PURE__ */ f(m, {
400
+ deniedTooltip: r(b, "membersList.noPermissionToResend", "You don't have permission to resend invitations"),
401
+ children: /* @__PURE__ */ p(h, {
398
402
  variant: "outline",
399
403
  size: "sm",
400
404
  onClick: () => ve(e.id),
401
405
  disabled: P && L === e.id,
402
- children: [/* @__PURE__ */ d(le, { className: `h-4 w-4 mr-1 ${P && L === e.id ? "animate-spin" : ""}` }), P && L === e.id ? b("membersList.sending", "Sending...") : b("membersList.resend", "Resend")]
406
+ children: [/* @__PURE__ */ f(le, { className: `h-4 w-4 mr-1 ${P && L === e.id ? "animate-spin" : ""}` }), P && L === e.id ? r(b, "membersList.sending", "Sending...") : r(b, "membersList.resend", "Resend")]
403
407
  })
404
- }), /* @__PURE__ */ d(p, {
408
+ }), /* @__PURE__ */ f(m, {
405
409
  variant: "outline",
406
410
  className: "bg-status-warning/10 text-status-warning border-status-warning/30 transition-colors",
407
- children: b("membersList.pending", "Pending")
411
+ children: r(b, "membersList.pending", "Pending")
408
412
  })]
409
413
  })]
410
414
  }, e.id))
@@ -412,9 +416,9 @@ function y() {
412
416
  ]
413
417
  })
414
418
  ]
415
- }), /* @__PURE__ */ d(ae, { workspaceId: T })] });
419
+ }), /* @__PURE__ */ f(se, { workspaceId: T })] });
416
420
  }
417
421
  //#endregion
418
- export { y as MembersListPage };
422
+ export { b as MembersListPage };
419
423
 
420
424
  //# sourceMappingURL=MembersListPage.js.map