@burdenoff/microfe-organization 2026.625.2 → 2026.625.3

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 (23) hide show
  1. package/dist/organization-management/modules/members/components/InviteStatusBadge.js +6 -2
  2. package/dist/organization-management/modules/members/components/InviteStatusBadge.js.map +1 -1
  3. package/dist/organization-management/modules/members/pages/InvitePeoplePage.js +16 -19
  4. package/dist/organization-management/modules/members/pages/InvitePeoplePage.js.map +1 -1
  5. package/dist/organization-management/modules/members/pages/MembersListPage.js +219 -220
  6. package/dist/organization-management/modules/members/pages/MembersListPage.js.map +1 -1
  7. package/dist/organization-management/modules/members/pages/MyInvitesPage.js +40 -56
  8. package/dist/organization-management/modules/members/pages/MyInvitesPage.js.map +1 -1
  9. package/dist/organization-management/modules/organizations/components/OrganizationStatusBadge.js +5 -1
  10. package/dist/organization-management/modules/organizations/components/OrganizationStatusBadge.js.map +1 -1
  11. package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.js +36 -38
  12. package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.js.map +1 -1
  13. package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.js +118 -113
  14. package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.js.map +1 -1
  15. package/dist/organization-management/modules/workspaces/components/WorkspaceStatusBadge.js +5 -1
  16. package/dist/organization-management/modules/workspaces/components/WorkspaceStatusBadge.js.map +1 -1
  17. package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.js +168 -170
  18. package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.js.map +1 -1
  19. package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.js +245 -243
  20. package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.js.map +1 -1
  21. package/package.json +2 -2
  22. package/dist/organization-management/shared/components/feedback/EmptyState.js +0 -31
  23. package/dist/organization-management/shared/components/feedback/EmptyState.js.map +0 -1
@@ -3,23 +3,22 @@ import { toast as t } from "../../../../node_modules/sonner/dist/index.js";
3
3
  import { useTr as n } from "../../../shared/hooks/useTr.js";
4
4
  import { LoadingState as r } from "../../../shared/components/feedback/LoadingState.js";
5
5
  import { ErrorState as i } from "../../../shared/components/feedback/ErrorState.js";
6
- import { EmptyState as ee } from "../../../shared/components/feedback/EmptyState.js";
7
- import { useConfirmDialog as a } from "../../../shared/components/dialog/ConfirmDialog.js";
8
- import { PERMISSIONS as o } from "../../../constants/permissions.js";
9
- import { MemberRoleBadge as s } from "../../members/components/MemberRoleBadge.js";
10
- import { useWorkspace as c } from "../hooks/useWorkspaces.js";
11
- import { WorkspaceStatusBadge as l } from "../components/WorkspaceStatusBadge.js";
12
- import { useRemoveWorkspaceMember as u, useWorkspaceMembers as d } from "../hooks/useWorkspaceMembers.js";
13
- import { AddWorkspaceMemberDialog as f } from "../components/AddWorkspaceMemberDialog.js";
14
- import { useMemo as p, useState as m } from "react";
15
- import { ArrowLeft as h, Briefcase as g, Edit as _, Trash2 as v, UserPlus as te, Users as y } from "lucide-react";
16
- import { CTAOverflowMenu as b, EmphasisPanel as x, GlassCard as S, ResponsiveTable as C } from "@burdenoff/fe-libs/ui";
17
- import { usePermissions as ne } from "@burdenoff/fe-libs/shared/providers/shell";
18
- import { jsx as w, jsxs as T } from "react/jsx-runtime";
19
- import { useParams as E } from "react-router-dom";
20
- import { ActorIdentity as D, buildActorFallback as O, useActorProfiles as k } from "@burdenoff/fe-libs/shared";
6
+ import { useConfirmDialog as ee } from "../../../shared/components/dialog/ConfirmDialog.js";
7
+ import { PERMISSIONS as a } from "../../../constants/permissions.js";
8
+ import { MemberRoleBadge as o } from "../../members/components/MemberRoleBadge.js";
9
+ import { useWorkspace as s } from "../hooks/useWorkspaces.js";
10
+ import { WorkspaceStatusBadge as c } from "../components/WorkspaceStatusBadge.js";
11
+ import { useRemoveWorkspaceMember as l, useWorkspaceMembers as u } from "../hooks/useWorkspaceMembers.js";
12
+ import { AddWorkspaceMemberDialog as d } from "../components/AddWorkspaceMemberDialog.js";
13
+ import { useMemo as f, useState as p } from "react";
14
+ import { ArrowLeft as m, Briefcase as h, Edit as g, Trash2 as _, UserPlus as v, Users as te } from "lucide-react";
15
+ import { CTAOverflowMenu as y, EmphasisPanel as b, GlassCard as x, IllustratedEmptyState as S, ResponsiveTable as C } from "@burdenoff/fe-libs/ui";
16
+ import { usePermissions as w } from "@burdenoff/fe-libs/shared/providers/shell";
17
+ import { jsx as T, jsxs as E } from "react/jsx-runtime";
18
+ import { useParams as D } from "react-router-dom";
19
+ import { ActorIdentity as O, buildActorFallback as k, useActorProfiles as A } from "@burdenoff/fe-libs/shared";
21
20
  //#region src/organization-management/modules/workspaces/pages/WorkspaceDetailPage.tsx
22
- function A(e) {
21
+ function j(e) {
23
22
  return new Date(e).toLocaleDateString("en-US", {
24
23
  year: "numeric",
25
24
  month: "long",
@@ -28,35 +27,35 @@ function A(e) {
28
27
  minute: "2-digit"
29
28
  });
30
29
  }
31
- function j() {
32
- let j = n(), { id: M } = E(), { navigate: N, basePath: P = "/organizations", apiGatewayUrl: F, authToken: I } = e(), { hasPermission: L, isLoading: R } = ne(), { workspace: z, loading: B, error: V } = c(M ?? ""), [H, U] = m("overview"), [W, G] = m(!1), { openConfirmDialog: K, ConfirmDialog: q } = a(), { members: J, loading: Y, error: X, refetch: Z } = d(H === "members" && M ? M ?? "" : "", 50, 0), { removeWorkspaceMember: Q, loading: re } = u(), $ = J.length > 0 || H === "members" ? J.length : z?.memberCount ?? 0, ie = k(p(() => J.map((e) => ({
30
+ function M() {
31
+ let M = n(), { id: N } = D(), { navigate: P, basePath: F = "/organizations", apiGatewayUrl: I, authToken: L } = e(), { hasPermission: R, isLoading: z } = w(), { workspace: B, loading: ne, error: V } = s(N ?? ""), [H, U] = p("overview"), [W, G] = p(!1), { openConfirmDialog: K, ConfirmDialog: q } = ee(), { members: J, loading: Y, error: X, refetch: Z } = u(H === "members" && N ? N ?? "" : "", 50, 0), { removeWorkspaceMember: Q, loading: re } = l(), $ = J.length > 0 || H === "members" ? J.length : B?.memberCount ?? 0, ie = A(f(() => J.map((e) => ({
33
32
  actorId: e.userId,
34
33
  actorType: "user"
35
34
  })), [J]), {
36
- apiGatewayUrl: F,
37
- authToken: I,
38
- orgId: z?.organizationId,
39
- workspaceId: M
40
- }), ae = p(() => [{
35
+ apiGatewayUrl: I,
36
+ authToken: L,
37
+ orgId: B?.organizationId,
38
+ workspaceId: N
39
+ }), ae = f(() => [{
41
40
  id: "overview",
42
- label: j("workspaces.detail.tab.overview", "Overview")
41
+ label: M("workspaces.detail.tab.overview", "Overview")
43
42
  }, {
44
43
  id: "members",
45
- label: `${j("workspaces.detail.tab.members", "Members")} (${$})`
46
- }], [$, j]), oe = (e) => {
47
- M && K({
48
- title: j("workspaces.removeMember.title", "Remove workspace member"),
49
- description: `${j("workspaces.removeMember.prefix", "Remove")} ${e} ${j("workspaces.removeMember.suffix", "from this workspace? They will keep their organization membership.")}`,
50
- confirmText: j("common.remove", "Remove"),
44
+ label: `${M("workspaces.detail.tab.members", "Members")} (${$})`
45
+ }], [$, M]), oe = (e) => {
46
+ N && K({
47
+ title: M("workspaces.removeMember.title", "Remove workspace member"),
48
+ description: `${M("workspaces.removeMember.prefix", "Remove")} ${e} ${M("workspaces.removeMember.suffix", "from this workspace? They will keep their organization membership.")}`,
49
+ confirmText: M("common.remove", "Remove"),
51
50
  variant: "danger",
52
51
  onConfirm: () => {
53
52
  (async () => {
54
53
  try {
55
- let n = await Q(M, e);
56
- if (n.errors?.length) throw Error(n.errors[0]?.message ?? j("workspaces.removeMember.failed", "Failed to remove workspace member"));
57
- await Z(), t.success(j("workspaces.removeMember.success", "Workspace member removed successfully"));
54
+ let n = await Q(N, e);
55
+ if (n.errors?.length) throw Error(n.errors[0]?.message ?? M("workspaces.removeMember.failed", "Failed to remove workspace member"));
56
+ await Z(), t.success(M("workspaces.removeMember.success", "Workspace member removed successfully"));
58
57
  } catch (e) {
59
- t.error(e instanceof Error ? e.message : j("workspaces.removeMember.failed", "Failed to remove workspace member"));
58
+ t.error(e instanceof Error ? e.message : M("workspaces.removeMember.failed", "Failed to remove workspace member"));
60
59
  }
61
60
  })();
62
61
  }
@@ -64,10 +63,10 @@ function j() {
64
63
  }, se = [
65
64
  {
66
65
  key: "user",
67
- header: j("members.detail.userId", "User ID"),
66
+ header: M("members.detail.userId", "User ID"),
68
67
  priority: "primary",
69
- cell: (e) => /* @__PURE__ */ w(D, {
70
- profile: ie[e.userId] ?? O({
68
+ cell: (e) => /* @__PURE__ */ T(O, {
69
+ profile: ie[e.userId] ?? k({
71
70
  actorId: e.userId,
72
71
  actorType: "user"
73
72
  }),
@@ -76,114 +75,114 @@ function j() {
76
75
  },
77
76
  {
78
77
  key: "role",
79
- header: j("members.list.column.role", "Role"),
78
+ header: M("members.list.column.role", "Role"),
80
79
  priority: "secondary",
81
- cell: (e) => /* @__PURE__ */ w(s, { role: e.role })
80
+ cell: (e) => /* @__PURE__ */ T(o, { role: e.role })
82
81
  },
83
82
  {
84
83
  key: "joined",
85
- header: j("members.list.joined", "Joined"),
84
+ header: M("members.list.joined", "Joined"),
86
85
  priority: "secondary",
87
- cell: (e) => /* @__PURE__ */ w("span", {
86
+ cell: (e) => /* @__PURE__ */ T("span", {
88
87
  className: "text-sm text-[var(--color-text-secondary)]",
89
- children: A(e.joinedAt)
88
+ children: j(e.joinedAt)
90
89
  })
91
90
  },
92
91
  {
93
92
  key: "invitedBy",
94
- header: j("members.list.invitedBy", "Invited by"),
93
+ header: M("members.list.invitedBy", "Invited by"),
95
94
  priority: "secondary",
96
- cell: (e) => /* @__PURE__ */ w("span", {
95
+ cell: (e) => /* @__PURE__ */ T("span", {
97
96
  className: "break-all font-mono text-sm text-[var(--color-text-secondary)]",
98
97
  children: e.invitedBy || "—"
99
98
  })
100
99
  }
101
100
  ];
102
- return R ? /* @__PURE__ */ w("div", {
101
+ return z ? /* @__PURE__ */ T("div", {
103
102
  className: "min-h-full bg-[var(--color-bg-canvas)] p-6",
104
- children: /* @__PURE__ */ w(r, { message: j("common.loadingPermissions", "Loading permissions...") })
105
- }) : L(o.WORKSPACE_READ) ? B ? /* @__PURE__ */ w("div", {
103
+ children: /* @__PURE__ */ T(r, { message: M("common.loadingPermissions", "Loading permissions...") })
104
+ }) : R(a.WORKSPACE_READ) ? ne ? /* @__PURE__ */ T("div", {
106
105
  className: "min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6",
107
- children: /* @__PURE__ */ w(r, { message: j("workspaces.detail.loading", "Loading workspace details...") })
108
- }) : V || !z ? /* @__PURE__ */ w("div", {
106
+ children: /* @__PURE__ */ T(r, { message: M("workspaces.detail.loading", "Loading workspace details...") })
107
+ }) : V || !B ? /* @__PURE__ */ T("div", {
109
108
  className: "min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6",
110
- children: /* @__PURE__ */ w(i, {
111
- message: V?.message || j("workspaces.detail.notFound", "Workspace not found"),
109
+ children: /* @__PURE__ */ T(i, {
110
+ message: V?.message || M("workspaces.detail.notFound", "Workspace not found"),
112
111
  action: {
113
- label: j("workspaces.create.backToWorkspaces", "Back to Workspaces"),
114
- onClick: () => N(`${P}/workspaces`)
112
+ label: M("workspaces.create.backToWorkspaces", "Back to Workspaces"),
113
+ onClick: () => P(`${F}/workspaces`)
115
114
  }
116
115
  })
117
- }) : /* @__PURE__ */ T("div", {
116
+ }) : /* @__PURE__ */ E("div", {
118
117
  className: "min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6 animate-in fade-in duration-200",
119
118
  children: [
120
- /* @__PURE__ */ T("div", {
119
+ /* @__PURE__ */ E("div", {
121
120
  className: "mx-auto flex w-full max-w-7xl flex-col gap-6",
122
- children: [/* @__PURE__ */ T("div", {
121
+ children: [/* @__PURE__ */ E("div", {
123
122
  className: "space-y-4",
124
- children: [/* @__PURE__ */ T("button", {
123
+ children: [/* @__PURE__ */ E("button", {
125
124
  type: "button",
126
- onClick: () => N(`${P}/workspaces`),
125
+ onClick: () => P(`${F}/workspaces`),
127
126
  className: "inline-flex min-h-10 items-center gap-2 text-[var(--color-text-secondary)] transition-all duration-200 hover:text-[var(--color-text-primary)]",
128
- children: [/* @__PURE__ */ w(h, {
127
+ children: [/* @__PURE__ */ T(m, {
129
128
  size: 20,
130
129
  "aria-hidden": "true"
131
- }), /* @__PURE__ */ w("span", {
130
+ }), /* @__PURE__ */ T("span", {
132
131
  className: "text-sm font-medium",
133
- children: j("workspaces.create.backToWorkspaces", "Back to Workspaces")
132
+ children: M("workspaces.create.backToWorkspaces", "Back to Workspaces")
134
133
  })]
135
- }), /* @__PURE__ */ T(x, {
134
+ }), /* @__PURE__ */ E(b, {
136
135
  className: "flex flex-col gap-4 p-5 lg:flex-row lg:items-start lg:justify-between",
137
- children: [/* @__PURE__ */ T("div", {
136
+ children: [/* @__PURE__ */ E("div", {
138
137
  className: "flex min-w-0 items-start gap-4",
139
- children: [/* @__PURE__ */ w("div", {
138
+ children: [/* @__PURE__ */ T("div", {
140
139
  className: "flex size-16 items-center justify-center rounded-xl bg-[var(--color-status-info-bgSubtle)] text-[var(--color-status-info-text)]",
141
- children: /* @__PURE__ */ w(g, {
140
+ children: /* @__PURE__ */ T(h, {
142
141
  size: 28,
143
142
  "aria-hidden": "true"
144
143
  })
145
- }), /* @__PURE__ */ T("div", {
144
+ }), /* @__PURE__ */ E("div", {
146
145
  className: "min-w-0 space-y-2",
147
- children: [/* @__PURE__ */ T("div", {
146
+ children: [/* @__PURE__ */ E("div", {
148
147
  className: "flex flex-wrap items-start gap-2",
149
- children: [/* @__PURE__ */ w("h1", {
148
+ children: [/* @__PURE__ */ T("h1", {
150
149
  className: "text-3xl font-bold text-[var(--color-text-primary)]",
151
- children: z.name
152
- }), /* @__PURE__ */ w(l, { status: z.status })]
153
- }), /* @__PURE__ */ T("p", {
150
+ children: B.name
151
+ }), /* @__PURE__ */ T(c, { status: B.status })]
152
+ }), /* @__PURE__ */ E("p", {
154
153
  className: "break-all font-mono text-sm text-[var(--color-text-secondary)]",
155
- children: ["/", z.slug]
154
+ children: ["/", B.slug]
156
155
  })]
157
156
  })]
158
- }), /* @__PURE__ */ w(b, {
159
- primary: L(o.WORKSPACE_UPDATE) ? {
160
- label: j("workspaces.edit.title", "Edit Workspace"),
161
- icon: /* @__PURE__ */ w(_, {
157
+ }), /* @__PURE__ */ T(y, {
158
+ primary: R(a.WORKSPACE_UPDATE) ? {
159
+ label: M("workspaces.edit.title", "Edit Workspace"),
160
+ icon: /* @__PURE__ */ T(g, {
162
161
  size: 16,
163
162
  "aria-hidden": "true"
164
163
  }),
165
- onSelect: () => N(`${P}/workspaces/${M}/edit`)
164
+ onSelect: () => P(`${F}/workspaces/${N}/edit`)
166
165
  } : void 0,
167
166
  actions: [{
168
- label: j("workspaces.detail.viewOrganization", "View Organization"),
169
- icon: /* @__PURE__ */ w(y, {
167
+ label: M("workspaces.detail.viewOrganization", "View Organization"),
168
+ icon: /* @__PURE__ */ T(te, {
170
169
  size: 16,
171
170
  "aria-hidden": "true"
172
171
  }),
173
- onSelect: () => N(`${P}/${z.organizationId}`)
172
+ onSelect: () => P(`${F}/${B.organizationId}`)
174
173
  }]
175
174
  })]
176
175
  })]
177
- }), /* @__PURE__ */ T(S, {
176
+ }), /* @__PURE__ */ E(x, {
178
177
  treatment: "plain",
179
178
  className: "border-border-seam p-0",
180
- children: [/* @__PURE__ */ w("div", {
179
+ children: [/* @__PURE__ */ T("div", {
181
180
  className: "overflow-x-auto border-b border-[var(--color-border-seam)]",
182
- children: /* @__PURE__ */ w("div", {
181
+ children: /* @__PURE__ */ T("div", {
183
182
  className: "flex min-w-max gap-2 px-4 pt-4 sm:px-6",
184
183
  children: ae.map((e) => {
185
184
  let t = H === e.id;
186
- return /* @__PURE__ */ w("button", {
185
+ return /* @__PURE__ */ T("button", {
187
186
  type: "button",
188
187
  onClick: () => U(e.id),
189
188
  className: `inline-flex min-h-11 items-center rounded-t-lg border-b-2 px-4 py-3 text-sm font-medium transition-colors ${t ? "border-[var(--color-action-primary-bg)] text-[var(--color-action-primary-bg)]" : "border-transparent text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)]"}`,
@@ -192,189 +191,188 @@ function j() {
192
191
  }, e.id);
193
192
  })
194
193
  })
195
- }), /* @__PURE__ */ w("div", {
194
+ }), /* @__PURE__ */ T("div", {
196
195
  className: "p-4 sm:p-6",
197
- children: H === "overview" ? /* @__PURE__ */ T("div", {
196
+ children: H === "overview" ? /* @__PURE__ */ E("div", {
198
197
  className: "grid grid-cols-1 gap-6 xl:grid-cols-[minmax(0,1fr)_320px]",
199
- children: [/* @__PURE__ */ T(S, {
198
+ children: [/* @__PURE__ */ E(x, {
200
199
  treatment: "plain",
201
200
  className: "border-border-seam bg-[var(--color-bg-canvas)] p-5",
202
- children: [/* @__PURE__ */ w("h2", {
201
+ children: [/* @__PURE__ */ T("h2", {
203
202
  className: "text-lg font-semibold text-[var(--color-text-primary)]",
204
- children: j("workspaces.detail.detailsSection", "Workspace details")
205
- }), /* @__PURE__ */ T("dl", {
203
+ children: M("workspaces.detail.detailsSection", "Workspace details")
204
+ }), /* @__PURE__ */ E("dl", {
206
205
  className: "mt-5 grid grid-cols-1 gap-4 sm:grid-cols-2",
207
206
  children: [
208
- /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("dt", {
207
+ /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
209
208
  className: "text-sm font-medium text-[var(--color-text-secondary)]",
210
- children: j("common.name", "Name")
211
- }), /* @__PURE__ */ w("dd", {
209
+ children: M("common.name", "Name")
210
+ }), /* @__PURE__ */ T("dd", {
212
211
  className: "mt-1 text-sm text-[var(--color-text-primary)]",
213
- children: z.name
212
+ children: B.name
214
213
  })] }),
215
- /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("dt", {
214
+ /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
216
215
  className: "text-sm font-medium text-[var(--color-text-secondary)]",
217
- children: j("common.slug", "Slug")
218
- }), /* @__PURE__ */ w("dd", {
216
+ children: M("common.slug", "Slug")
217
+ }), /* @__PURE__ */ T("dd", {
219
218
  className: "mt-1 break-all font-mono text-sm text-[var(--color-text-primary)]",
220
- children: z.slug
219
+ children: B.slug
221
220
  })] }),
222
- /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("dt", {
221
+ /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
223
222
  className: "text-sm font-medium text-[var(--color-text-secondary)]",
224
- children: j("common.status", "Status")
225
- }), /* @__PURE__ */ w("dd", {
223
+ children: M("common.status", "Status")
224
+ }), /* @__PURE__ */ T("dd", {
226
225
  className: "mt-1",
227
- children: /* @__PURE__ */ w(l, { status: z.status })
226
+ children: /* @__PURE__ */ T(c, { status: B.status })
228
227
  })] }),
229
- /* @__PURE__ */ T("div", {
228
+ /* @__PURE__ */ E("div", {
230
229
  className: "sm:col-span-2",
231
- children: [/* @__PURE__ */ w("dt", {
230
+ children: [/* @__PURE__ */ T("dt", {
232
231
  className: "text-sm font-medium text-[var(--color-text-secondary)]",
233
- children: j("members.detail.orgId", "Organization ID")
234
- }), /* @__PURE__ */ w("dd", {
232
+ children: M("members.detail.orgId", "Organization ID")
233
+ }), /* @__PURE__ */ T("dd", {
235
234
  className: "mt-1 break-all font-mono text-sm text-[var(--color-text-primary)]",
236
- children: z.organizationId
235
+ children: B.organizationId
237
236
  })]
238
237
  }),
239
- z.endpoint ? /* @__PURE__ */ T("div", {
238
+ B.endpoint ? /* @__PURE__ */ E("div", {
240
239
  className: "sm:col-span-2",
241
- children: [/* @__PURE__ */ w("dt", {
240
+ children: [/* @__PURE__ */ T("dt", {
242
241
  className: "text-sm font-medium text-[var(--color-text-secondary)]",
243
- children: j("workspaces.detail.endpoint", "Endpoint")
244
- }), /* @__PURE__ */ w("dd", {
242
+ children: M("workspaces.detail.endpoint", "Endpoint")
243
+ }), /* @__PURE__ */ T("dd", {
245
244
  className: "mt-1 break-all font-mono text-sm text-[var(--color-text-primary)]",
246
- children: z.endpoint
245
+ children: B.endpoint
247
246
  })]
248
247
  }) : null
249
248
  ]
250
249
  })]
251
- }), /* @__PURE__ */ T(S, {
250
+ }), /* @__PURE__ */ E(x, {
252
251
  treatment: "plain",
253
252
  className: "border-border-seam bg-[var(--color-bg-canvas)] p-5 xl:sticky xl:top-6 xl:self-start",
254
- children: [/* @__PURE__ */ w("h2", {
253
+ children: [/* @__PURE__ */ T("h2", {
255
254
  className: "text-lg font-semibold text-[var(--color-text-primary)]",
256
- children: j("common.metadata", "Metadata")
257
- }), /* @__PURE__ */ T("dl", {
255
+ children: M("common.metadata", "Metadata")
256
+ }), /* @__PURE__ */ E("dl", {
258
257
  className: "mt-5 space-y-4",
259
258
  children: [
260
- /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("dt", {
259
+ /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
261
260
  className: "text-sm font-medium text-[var(--color-text-secondary)]",
262
- children: j("workspaces.list.members", "Members")
263
- }), /* @__PURE__ */ w("dd", {
261
+ children: M("workspaces.list.members", "Members")
262
+ }), /* @__PURE__ */ T("dd", {
264
263
  className: "mt-1 text-sm text-[var(--color-text-primary)]",
265
264
  children: $
266
265
  })] }),
267
- /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("dt", {
266
+ /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
268
267
  className: "text-sm font-medium text-[var(--color-text-secondary)]",
269
- children: j("common.created", "Created")
270
- }), /* @__PURE__ */ w("dd", {
268
+ children: M("common.created", "Created")
269
+ }), /* @__PURE__ */ T("dd", {
271
270
  className: "mt-1 text-sm text-[var(--color-text-primary)]",
272
- children: A(z.createdAt)
271
+ children: j(B.createdAt)
273
272
  })] }),
274
- /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("dt", {
273
+ /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
275
274
  className: "text-sm font-medium text-[var(--color-text-secondary)]",
276
- children: j("common.lastUpdated", "Last updated")
277
- }), /* @__PURE__ */ w("dd", {
275
+ children: M("common.lastUpdated", "Last updated")
276
+ }), /* @__PURE__ */ T("dd", {
278
277
  className: "mt-1 text-sm text-[var(--color-text-primary)]",
279
- children: A(z.updatedAt)
278
+ children: j(B.updatedAt)
280
279
  })] }),
281
- z.region ? /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("dt", {
280
+ B.region ? /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
282
281
  className: "text-sm font-medium text-[var(--color-text-secondary)]",
283
- children: j("workspaces.detail.region", "Region")
284
- }), /* @__PURE__ */ w("dd", {
282
+ children: M("workspaces.detail.region", "Region")
283
+ }), /* @__PURE__ */ T("dd", {
285
284
  className: "mt-1 text-sm text-[var(--color-text-primary)]",
286
- children: z.region
285
+ children: B.region
287
286
  })] }) : null
288
287
  ]
289
288
  })]
290
289
  })]
291
- }) : /* @__PURE__ */ T("section", {
290
+ }) : /* @__PURE__ */ E("section", {
292
291
  className: "space-y-4",
293
- children: [/* @__PURE__ */ T("div", {
292
+ children: [/* @__PURE__ */ E("div", {
294
293
  className: "flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",
295
- children: [/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h2", {
294
+ children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("h2", {
296
295
  className: "text-lg font-semibold text-[var(--color-text-primary)]",
297
- children: j("workspaces.detail.membersTitle", "Workspace members")
298
- }), /* @__PURE__ */ w("p", {
296
+ children: M("workspaces.detail.membersTitle", "Workspace members")
297
+ }), /* @__PURE__ */ T("p", {
299
298
  className: "text-sm text-[var(--color-text-secondary)]",
300
- children: j("workspaces.detail.membersSubtitle", "Add organization members to this workspace and manage access.")
301
- })] }), L(o.MEMBER_INVITE) && /* @__PURE__ */ T("button", {
299
+ children: M("workspaces.detail.membersSubtitle", "Add organization members to this workspace and manage access.")
300
+ })] }), R(a.MEMBER_INVITE) && /* @__PURE__ */ E("button", {
302
301
  type: "button",
303
302
  onClick: () => G(!0),
304
303
  className: "inline-flex min-h-11 items-center justify-center gap-2 rounded-lg bg-[var(--color-action-primary-bg)] px-4 py-2.5 text-[var(--color-action-primary-text)] transition-all duration-200 hover:opacity-90",
305
- children: [/* @__PURE__ */ w(te, {
304
+ children: [/* @__PURE__ */ T(v, {
306
305
  size: 16,
307
306
  "aria-hidden": "true"
308
- }), /* @__PURE__ */ w("span", { children: j("workspaces.detail.addMember", "Add Member") })]
307
+ }), /* @__PURE__ */ T("span", { children: M("workspaces.detail.addMember", "Add Member") })]
309
308
  })]
310
- }), Y ? /* @__PURE__ */ w("div", {
309
+ }), Y ? /* @__PURE__ */ T("div", {
311
310
  className: "py-8",
312
- children: /* @__PURE__ */ w(r, { message: j("workspaces.detail.loadingMembers", "Loading workspace members...") })
313
- }) : X ? /* @__PURE__ */ w(i, {
311
+ children: /* @__PURE__ */ T(r, { message: M("workspaces.detail.loadingMembers", "Loading workspace members...") })
312
+ }) : X ? /* @__PURE__ */ T(i, {
314
313
  message: X.message,
315
314
  action: {
316
- label: j("common.retry", "Retry"),
315
+ label: M("common.retry", "Retry"),
317
316
  onClick: () => {
318
317
  Z();
319
318
  }
320
319
  }
321
- }) : J.length > 0 ? /* @__PURE__ */ w("div", {
320
+ }) : J.length > 0 ? /* @__PURE__ */ T("div", {
322
321
  className: "overflow-hidden rounded-xl border border-[var(--color-border-seam)] bg-[var(--color-bg-canvas)] md:p-2",
323
- children: /* @__PURE__ */ w(C, {
322
+ children: /* @__PURE__ */ T(C, {
324
323
  columns: se,
325
324
  data: J,
326
325
  rowKey: (e) => e.id,
327
- rowActions: (e) => /* @__PURE__ */ w("button", {
326
+ rowActions: (e) => /* @__PURE__ */ T("button", {
328
327
  type: "button",
329
328
  onClick: () => oe(e.userId),
330
329
  disabled: re,
331
330
  className: "rounded-lg p-2 text-[var(--color-status-error-text)] transition-all duration-200 hover:bg-[var(--color-status-error-bgSubtle)] disabled:cursor-not-allowed disabled:opacity-50",
332
- "aria-label": `${j("workspaces.removeMember.ariaPrefix", "Remove")} ${e.userId} ${j("workspaces.removeMember.ariaSuffix", "from workspace")}`,
333
- title: `${j("workspaces.removeMember.ariaPrefix", "Remove")} ${e.userId} ${j("workspaces.removeMember.ariaSuffix", "from workspace")}`,
334
- children: /* @__PURE__ */ w(v, {
331
+ "aria-label": `${M("workspaces.removeMember.ariaPrefix", "Remove")} ${e.userId} ${M("workspaces.removeMember.ariaSuffix", "from workspace")}`,
332
+ title: `${M("workspaces.removeMember.ariaPrefix", "Remove")} ${e.userId} ${M("workspaces.removeMember.ariaSuffix", "from workspace")}`,
333
+ children: /* @__PURE__ */ T(_, {
335
334
  size: 18,
336
335
  "aria-hidden": "true"
337
336
  })
338
337
  })
339
338
  })
340
- }) : /* @__PURE__ */ w("div", {
339
+ }) : /* @__PURE__ */ T("div", {
341
340
  className: "rounded-xl border border-[var(--color-border-default)] bg-[var(--color-bg-canvas)] p-6",
342
- children: /* @__PURE__ */ w(ee, {
343
- icon: /* @__PURE__ */ w(y, {
344
- size: 40,
345
- "aria-hidden": "true"
346
- }),
347
- title: j("workspaces.detail.emptyMembersTitle", "No workspace members yet"),
348
- description: j("workspaces.detail.emptyMembersDescription", "Add people from the parent organization to grant workspace access."),
349
- action: {
350
- label: j("workspaces.detail.addMember", "Add Member"),
351
- onClick: () => G(!0)
352
- }
341
+ children: /* @__PURE__ */ T(S, {
342
+ illustration: "empty-people",
343
+ title: M("workspaces.detail.emptyMembersTitle", "No workspace members yet"),
344
+ description: M("workspaces.detail.emptyMembersDescription", "Add people from the parent organization to grant workspace access."),
345
+ action: /* @__PURE__ */ T("button", {
346
+ type: "button",
347
+ onClick: () => G(!0),
348
+ className: "inline-flex min-h-11 items-center justify-center gap-2 rounded-lg bg-[var(--color-action-primary-bg)] px-4 py-2 font-medium text-[var(--color-action-primary-text)] transition-all duration-200 hover:bg-[var(--color-action-primary-bgHover)]",
349
+ children: M("workspaces.detail.addMember", "Add Member")
350
+ })
353
351
  })
354
352
  })]
355
353
  })
356
354
  })]
357
355
  })]
358
356
  }),
359
- /* @__PURE__ */ w(f, {
357
+ /* @__PURE__ */ T(d, {
360
358
  open: W,
361
359
  onOpenChange: G,
362
- workspaceId: z.id,
363
- organizationId: z.organizationId,
360
+ workspaceId: B.id,
361
+ organizationId: B.organizationId,
364
362
  existingMembers: J,
365
- onInviteOrganizationMember: () => N(`${P}/${z.organizationId}/members/invite`)
363
+ onInviteOrganizationMember: () => P(`${F}/${B.organizationId}/members/invite`)
366
364
  }),
367
365
  q
368
366
  ]
369
- }) : /* @__PURE__ */ w("div", {
367
+ }) : /* @__PURE__ */ T("div", {
370
368
  className: "min-h-full bg-[var(--color-bg-canvas)] p-6",
371
- children: /* @__PURE__ */ w("div", {
369
+ children: /* @__PURE__ */ T("div", {
372
370
  className: "p-8 text-center text-[var(--color-text-secondary)]",
373
- children: j("workspaces.detail.noPermission", "You don't have permission to view this workspace.")
371
+ children: M("workspaces.detail.noPermission", "You don't have permission to view this workspace.")
374
372
  })
375
373
  });
376
374
  }
377
375
  //#endregion
378
- export { j as WorkspaceDetailPage };
376
+ export { M as WorkspaceDetailPage };
379
377
 
380
378
  //# sourceMappingURL=WorkspaceDetailPage.js.map