@burdenoff/microfe-organization 2026.625.2 → 2026.626.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.
- package/dist/organization-management/modules/members/components/InviteStatusBadge.js +6 -2
- package/dist/organization-management/modules/members/components/InviteStatusBadge.js.map +1 -1
- package/dist/organization-management/modules/members/pages/InviteMemberPage.js +58 -53
- package/dist/organization-management/modules/members/pages/InviteMemberPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/InvitePeoplePage.js +56 -52
- package/dist/organization-management/modules/members/pages/InvitePeoplePage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/MemberDetailPage.js +72 -68
- package/dist/organization-management/modules/members/pages/MemberDetailPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/MembersListPage.js +232 -225
- package/dist/organization-management/modules/members/pages/MembersListPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/MyInvitesPage.js +172 -182
- package/dist/organization-management/modules/members/pages/MyInvitesPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/OrganizationInviteAcceptancePage.js +132 -128
- package/dist/organization-management/modules/members/pages/OrganizationInviteAcceptancePage.js.map +1 -1
- package/dist/organization-management/modules/organizations/components/OrganizationStatusBadge.js +5 -1
- package/dist/organization-management/modules/organizations/components/OrganizationStatusBadge.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationCreatePage.js +42 -37
- package/dist/organization-management/modules/organizations/pages/OrganizationCreatePage.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.js +316 -266
- package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationEditPage.js +52 -47
- package/dist/organization-management/modules/organizations/pages/OrganizationEditPage.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.js +108 -96
- package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/components/WorkspaceStatusBadge.js +5 -1
- package/dist/organization-management/modules/workspaces/components/WorkspaceStatusBadge.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspaceCreatePage.js +43 -38
- package/dist/organization-management/modules/workspaces/pages/WorkspaceCreatePage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.js +341 -286
- package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspaceEditPage.js +50 -45
- package/dist/organization-management/modules/workspaces/pages/WorkspaceEditPage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.js +219 -209
- package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.js.map +1 -1
- package/package.json +2 -2
- package/dist/organization-management/shared/components/feedback/EmptyState.js +0 -31
- package/dist/organization-management/shared/components/feedback/EmptyState.js.map +0 -1
|
@@ -2,75 +2,74 @@ import { useOrgConsole as e } from "../../../providers/OrgConsoleProvider.js";
|
|
|
2
2
|
import { toast as t } from "../../../../node_modules/sonner/dist/index.js";
|
|
3
3
|
import { WorkspaceStatus as n } from "../../../shared/types/graphql.js";
|
|
4
4
|
import { useTr as r } from "../../../shared/hooks/useTr.js";
|
|
5
|
-
import { SearchInput as
|
|
6
|
-
import { SelectionCheckbox as
|
|
7
|
-
import { LoadingState as
|
|
8
|
-
import { ErrorState as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { useConfirmDialog as ne } from "../../../shared/components/dialog/ConfirmDialog.js";
|
|
5
|
+
import { SearchInput as i } from "../../../shared/components/input/SearchInput.js";
|
|
6
|
+
import { SelectionCheckbox as a } from "../../../shared/components/input/SelectionCheckbox.js";
|
|
7
|
+
import { LoadingState as o } from "../../../shared/components/feedback/LoadingState.js";
|
|
8
|
+
import { ErrorState as s } from "../../../shared/components/feedback/ErrorState.js";
|
|
9
|
+
import { useDebouncedValue as ee } from "../../../shared/hooks/useDebouncedValue.js";
|
|
10
|
+
import { useConfirmDialog as te } from "../../../shared/components/dialog/ConfirmDialog.js";
|
|
12
11
|
import { PERMISSIONS as c } from "../../../constants/permissions.js";
|
|
13
|
-
import { isNative as l, nativeConfirm as
|
|
14
|
-
import { useDeleteWorkspace as
|
|
15
|
-
import { WorkspaceStatusBadge as
|
|
16
|
-
import { useEffect as
|
|
17
|
-
import {
|
|
18
|
-
import { GlassCard as b } from "@burdenoff/fe-libs/ui";
|
|
19
|
-
import { usePermissions as
|
|
20
|
-
import { Fragment as
|
|
12
|
+
import { isNative as l, nativeConfirm as ne, nativeImpact as re, nativeNotify as u, nativeToast as d } from "../../../../utils/nativeBridge.js";
|
|
13
|
+
import { useDeleteWorkspace as ie, useWorkspaces as ae } from "../hooks/useWorkspaces.js";
|
|
14
|
+
import { WorkspaceStatusBadge as f } from "../components/WorkspaceStatusBadge.js";
|
|
15
|
+
import { useEffect as p, useMemo as m, useState as h } from "react";
|
|
16
|
+
import { Eye as g, Plus as _, RefreshCw as oe, SquarePen as v, Trash2 as y } from "lucide-react";
|
|
17
|
+
import { GlassCard as b, IllustratedEmptyState as se, PagePurpose as x } from "@burdenoff/fe-libs/ui";
|
|
18
|
+
import { usePermissions as S } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
19
|
+
import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
21
20
|
//#region src/organization-management/modules/workspaces/pages/WorkspacesListPage.tsx
|
|
22
|
-
function
|
|
21
|
+
function E(e) {
|
|
23
22
|
return new Date(e).toLocaleDateString();
|
|
24
23
|
}
|
|
25
|
-
function
|
|
26
|
-
let
|
|
27
|
-
...
|
|
28
|
-
search:
|
|
29
|
-
}, z === "my" ? 100 : 20, 0, z), W =
|
|
24
|
+
function D({ mode: D = "my" } = {}) {
|
|
25
|
+
let O = r(), { navigate: k, basePath: A = "/organizations" } = e(), { hasPermission: j, isLoading: ce } = S(), [M, le] = h(""), N = ee(M, 300), [P, ue] = h({}), [F, I] = h(/* @__PURE__ */ new Set()), { openConfirmDialog: L, ConfirmDialog: R } = te(), z = D === "admin" ? "all" : "my", { workspaces: B, loading: V, error: H, refetch: U } = ae({
|
|
26
|
+
...P,
|
|
27
|
+
search: N || void 0
|
|
28
|
+
}, z === "my" ? 100 : 20, 0, z), W = m(() => {
|
|
30
29
|
if (z !== "my") return B;
|
|
31
|
-
let e =
|
|
30
|
+
let e = N.trim().toLowerCase();
|
|
32
31
|
return B.filter((t) => {
|
|
33
|
-
let n = !e || t.name.toLowerCase().includes(e) || (t.slug?.toLowerCase().includes(e) ?? !1), r = !
|
|
32
|
+
let n = !e || t.name.toLowerCase().includes(e) || (t.slug?.toLowerCase().includes(e) ?? !1), r = !P.status || t.status === P.status;
|
|
34
33
|
return n && r;
|
|
35
34
|
});
|
|
36
35
|
}, [
|
|
37
36
|
B,
|
|
38
37
|
z,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
]), { deleteWorkspace: de, loading: G } =
|
|
42
|
-
|
|
38
|
+
N,
|
|
39
|
+
P.status
|
|
40
|
+
]), { deleteWorkspace: de, loading: G } = ie();
|
|
41
|
+
p(() => {
|
|
43
42
|
I((e) => {
|
|
44
43
|
let t = new Set(W.map((e) => e.id)), n = new Set([...e].filter((e) => t.has(e)));
|
|
45
44
|
return n.size === e.size ? e : n;
|
|
46
45
|
});
|
|
47
46
|
}, [W]);
|
|
48
|
-
let K =
|
|
47
|
+
let K = m(() => W.filter((e) => F.has(e.id)), [F, W]), q = W.length > 0 && W.every((e) => F.has(e.id)), J = W.some((e) => F.has(e.id)) && !q, Y = async (e) => {
|
|
49
48
|
try {
|
|
50
49
|
let n = (await Promise.allSettled(e.map(async (e) => {
|
|
51
50
|
let t = await de(e);
|
|
52
|
-
if (t.errors?.length) throw Error(t.errors[0]?.message ??
|
|
51
|
+
if (t.errors?.length) throw Error(t.errors[0]?.message ?? O("workspaces.suspend.failed", "Failed to suspend workspace"));
|
|
53
52
|
}))).find((e) => e.status === "rejected");
|
|
54
53
|
if (n?.status === "rejected") throw n.reason;
|
|
55
54
|
I(/* @__PURE__ */ new Set()), await U();
|
|
56
|
-
let r = e.length === 1 ?
|
|
55
|
+
let r = e.length === 1 ? O("workspaces.suspend.successSingle", "Workspace suspended successfully") : `${e.length} ${O("workspaces.suspend.successMany", "workspaces suspended successfully")}`;
|
|
57
56
|
t.success(r), u("success"), l() && d(r);
|
|
58
57
|
} catch (e) {
|
|
59
|
-
let n = e instanceof Error ? e.message :
|
|
58
|
+
let n = e instanceof Error ? e.message : O("workspaces.suspend.failed", "Failed to suspend workspace");
|
|
60
59
|
t.error(n), u("error"), l() && d(n);
|
|
61
60
|
}
|
|
62
61
|
}, X = (e, t) => {
|
|
63
|
-
|
|
64
|
-
let n =
|
|
65
|
-
|
|
62
|
+
re("medium");
|
|
63
|
+
let n = O("workspaces.suspend.title", "Suspend workspace"), r = `${O("workspaces.suspend.prefix", "Suspend")} ${t}? ${O("workspaces.suspend.suffix", "Workspace members will lose access until it is reactivated.")}`;
|
|
64
|
+
ne({
|
|
66
65
|
title: n,
|
|
67
66
|
message: r,
|
|
68
|
-
okButtonTitle:
|
|
67
|
+
okButtonTitle: O("workspaces.suspend.confirm", "Suspend")
|
|
69
68
|
}).then((t) => {
|
|
70
69
|
t === null ? L({
|
|
71
70
|
title: n,
|
|
72
71
|
description: r,
|
|
73
|
-
confirmText:
|
|
72
|
+
confirmText: O("workspaces.suspend.confirm", "Suspend"),
|
|
74
73
|
variant: "warning",
|
|
75
74
|
onConfirm: () => {
|
|
76
75
|
Y([e]);
|
|
@@ -79,9 +78,9 @@ function E({ mode: E = "my" } = {}) {
|
|
|
79
78
|
});
|
|
80
79
|
}, Z = () => {
|
|
81
80
|
K.length !== 0 && L({
|
|
82
|
-
title:
|
|
83
|
-
description: `${
|
|
84
|
-
confirmText: `${
|
|
81
|
+
title: O("workspaces.suspend.bulkTitle", "Suspend selected workspaces"),
|
|
82
|
+
description: `${O("workspaces.suspend.prefix", "Suspend")} ${K.length} ${O(K.length === 1 ? "workspaces.suspend.bulkSuffixSingle" : "workspaces.suspend.bulkSuffixMany", K.length === 1 ? "selected workspace?" : "selected workspaces?")}`,
|
|
83
|
+
confirmText: `${O("workspaces.suspend.confirm", "Suspend")} ${K.length}`,
|
|
85
84
|
variant: "warning",
|
|
86
85
|
onConfirm: () => {
|
|
87
86
|
Y(K.map((e) => e.id));
|
|
@@ -100,190 +99,198 @@ function E({ mode: E = "my" } = {}) {
|
|
|
100
99
|
}), n;
|
|
101
100
|
});
|
|
102
101
|
};
|
|
103
|
-
return
|
|
102
|
+
return ce ? /* @__PURE__ */ w("div", {
|
|
104
103
|
className: "min-h-full bg-[var(--color-bg-canvas)] p-6",
|
|
105
|
-
children: /* @__PURE__ */
|
|
106
|
-
}) :
|
|
104
|
+
children: /* @__PURE__ */ w(o, { message: O("common.loadingPermissions", "Loading permissions...") })
|
|
105
|
+
}) : j(c.WORKSPACE_LIST) ? V ? /* @__PURE__ */ w("div", {
|
|
107
106
|
className: "min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6",
|
|
108
|
-
children: /* @__PURE__ */
|
|
109
|
-
}) : H ? /* @__PURE__ */
|
|
107
|
+
children: /* @__PURE__ */ w(o, { message: O("workspaces.list.loading", "Loading workspaces...") })
|
|
108
|
+
}) : H ? /* @__PURE__ */ w("div", {
|
|
110
109
|
className: "min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6",
|
|
111
|
-
children: /* @__PURE__ */
|
|
110
|
+
children: /* @__PURE__ */ w(s, {
|
|
112
111
|
message: H.message,
|
|
113
112
|
action: {
|
|
114
|
-
label:
|
|
113
|
+
label: O("common.retry", "Retry"),
|
|
115
114
|
onClick: () => {
|
|
116
115
|
U();
|
|
117
116
|
}
|
|
118
117
|
}
|
|
119
118
|
})
|
|
120
|
-
}) : /* @__PURE__ */
|
|
119
|
+
}) : /* @__PURE__ */ T("div", {
|
|
121
120
|
className: "min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6 animate-in fade-in duration-200",
|
|
122
|
-
children: [/* @__PURE__ */
|
|
121
|
+
children: [/* @__PURE__ */ T("div", {
|
|
123
122
|
className: "mx-auto flex w-full max-w-7xl flex-col gap-6",
|
|
124
123
|
children: [
|
|
125
|
-
/* @__PURE__ */
|
|
124
|
+
/* @__PURE__ */ T("div", {
|
|
126
125
|
className: "flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",
|
|
127
|
-
children: [/* @__PURE__ */
|
|
126
|
+
children: [/* @__PURE__ */ T("div", {
|
|
128
127
|
className: "space-y-2",
|
|
129
|
-
children: [
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
128
|
+
children: [
|
|
129
|
+
/* @__PURE__ */ w("h1", {
|
|
130
|
+
className: "text-3xl font-bold text-[var(--color-text-primary)]",
|
|
131
|
+
children: O("workspaces.list.title", "Workspaces")
|
|
132
|
+
}),
|
|
133
|
+
/* @__PURE__ */ w("p", {
|
|
134
|
+
className: "max-w-2xl text-[var(--color-text-secondary)]",
|
|
135
|
+
children: O("workspaces.list.subtitle", "Manage organization workspaces, review their status, and open the workspace detail flow.")
|
|
136
|
+
}),
|
|
137
|
+
/* @__PURE__ */ w(x, {
|
|
138
|
+
className: "max-w-2xl",
|
|
139
|
+
children: O("workspaces.list.purpose", "A workspace is where a team actually does its work — it holds the members, settings, and collaboration for one project or department. Create a workspace to give a group its own space, add the right people, and keep its status (active, inactive, archived) under control.")
|
|
140
|
+
})
|
|
141
|
+
]
|
|
142
|
+
}), j(c.WORKSPACE_CREATE) && /* @__PURE__ */ T("button", {
|
|
137
143
|
type: "button",
|
|
138
|
-
onClick: () =>
|
|
144
|
+
onClick: () => k(`${A}/workspaces/new`),
|
|
139
145
|
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",
|
|
140
|
-
children: [/* @__PURE__ */
|
|
146
|
+
children: [/* @__PURE__ */ w(_, {
|
|
141
147
|
size: 18,
|
|
142
148
|
"aria-hidden": "true"
|
|
143
|
-
}), /* @__PURE__ */
|
|
149
|
+
}), /* @__PURE__ */ w("span", {
|
|
144
150
|
className: "font-medium",
|
|
145
|
-
children:
|
|
151
|
+
children: O("workspaces.create.button", "Create Workspace")
|
|
146
152
|
})]
|
|
147
153
|
})]
|
|
148
154
|
}),
|
|
149
|
-
B.length > 0 ? /* @__PURE__ */
|
|
155
|
+
B.length > 0 ? /* @__PURE__ */ T("div", {
|
|
150
156
|
className: "grid grid-cols-2 gap-4 sm:grid-cols-3",
|
|
151
157
|
children: [
|
|
152
|
-
/* @__PURE__ */
|
|
153
|
-
treatment: "
|
|
158
|
+
/* @__PURE__ */ T(b, {
|
|
159
|
+
treatment: "glass",
|
|
160
|
+
glow: !0,
|
|
154
161
|
className: "p-4",
|
|
155
|
-
children: [/* @__PURE__ */
|
|
162
|
+
children: [/* @__PURE__ */ w("p", {
|
|
156
163
|
className: "text-sm text-text-secondary",
|
|
157
|
-
children:
|
|
158
|
-
}), /* @__PURE__ */
|
|
164
|
+
children: O("workspaces.list.title", "Workspaces")
|
|
165
|
+
}), /* @__PURE__ */ w("p", {
|
|
159
166
|
className: "mt-1 text-2xl font-semibold tabular-nums text-text-primary",
|
|
160
167
|
children: B.length
|
|
161
168
|
})]
|
|
162
169
|
}),
|
|
163
|
-
/* @__PURE__ */
|
|
170
|
+
/* @__PURE__ */ T(b, {
|
|
164
171
|
treatment: "metric",
|
|
165
172
|
className: "p-4",
|
|
166
|
-
children: [/* @__PURE__ */
|
|
173
|
+
children: [/* @__PURE__ */ w("p", {
|
|
167
174
|
className: "text-sm text-text-secondary",
|
|
168
|
-
children:
|
|
169
|
-
}), /* @__PURE__ */
|
|
175
|
+
children: O("workspaces.status.active", "Active")
|
|
176
|
+
}), /* @__PURE__ */ w("p", {
|
|
170
177
|
className: "mt-1 text-2xl font-semibold tabular-nums text-text-primary",
|
|
171
178
|
children: B.filter((e) => e.status === n.ACTIVE).length
|
|
172
179
|
})]
|
|
173
180
|
}),
|
|
174
|
-
/* @__PURE__ */
|
|
181
|
+
/* @__PURE__ */ T(b, {
|
|
175
182
|
treatment: "metric",
|
|
176
183
|
className: "col-span-2 p-4 sm:col-span-1",
|
|
177
|
-
children: [/* @__PURE__ */
|
|
184
|
+
children: [/* @__PURE__ */ w("p", {
|
|
178
185
|
className: "text-sm text-text-secondary",
|
|
179
|
-
children:
|
|
180
|
-
}), /* @__PURE__ */
|
|
186
|
+
children: O("workspaces.list.members", "Members")
|
|
187
|
+
}), /* @__PURE__ */ w("p", {
|
|
181
188
|
className: "mt-1 text-2xl font-semibold tabular-nums text-text-primary",
|
|
182
189
|
children: B.reduce((e, t) => e + (t.memberCount ?? 0), 0)
|
|
183
190
|
})]
|
|
184
191
|
})
|
|
185
192
|
]
|
|
186
193
|
}) : null,
|
|
187
|
-
/* @__PURE__ */
|
|
194
|
+
/* @__PURE__ */ T(b, {
|
|
188
195
|
treatment: "plain",
|
|
189
196
|
className: "border-border-seam p-4",
|
|
190
|
-
children: [/* @__PURE__ */
|
|
197
|
+
children: [/* @__PURE__ */ T("div", {
|
|
191
198
|
className: "flex flex-col gap-3 lg:flex-row lg:items-center",
|
|
192
199
|
children: [
|
|
193
|
-
/* @__PURE__ */
|
|
194
|
-
value:
|
|
195
|
-
onChange:
|
|
196
|
-
placeholder:
|
|
197
|
-
label:
|
|
200
|
+
/* @__PURE__ */ w(i, {
|
|
201
|
+
value: M,
|
|
202
|
+
onChange: le,
|
|
203
|
+
placeholder: O("workspaces.list.searchPlaceholder", "Search workspaces..."),
|
|
204
|
+
label: O("workspaces.list.searchLabel", "Search workspaces"),
|
|
198
205
|
inputId: "workspaces-search",
|
|
199
206
|
className: "flex-1"
|
|
200
207
|
}),
|
|
201
|
-
/* @__PURE__ */
|
|
208
|
+
/* @__PURE__ */ T("label", {
|
|
202
209
|
className: "flex min-h-11 min-w-[180px] flex-col justify-center rounded-lg border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-3 py-2 text-sm text-[var(--color-text-secondary)]",
|
|
203
|
-
children: [/* @__PURE__ */
|
|
210
|
+
children: [/* @__PURE__ */ w("span", {
|
|
204
211
|
className: "sr-only",
|
|
205
|
-
children:
|
|
206
|
-
}), /* @__PURE__ */
|
|
207
|
-
value:
|
|
208
|
-
onChange: (e) =>
|
|
209
|
-
...
|
|
212
|
+
children: O("workspaces.list.filterByStatus", "Filter by workspace status")
|
|
213
|
+
}), /* @__PURE__ */ T("select", {
|
|
214
|
+
value: P.status || "",
|
|
215
|
+
onChange: (e) => ue({
|
|
216
|
+
...P,
|
|
210
217
|
status: e.target.value ? e.target.value : void 0
|
|
211
218
|
}),
|
|
212
219
|
className: "bg-transparent text-[var(--color-text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
|
|
213
|
-
"aria-label":
|
|
220
|
+
"aria-label": O("workspaces.list.filterByStatus", "Filter by workspace status"),
|
|
214
221
|
children: [
|
|
215
|
-
/* @__PURE__ */
|
|
222
|
+
/* @__PURE__ */ w("option", {
|
|
216
223
|
value: "",
|
|
217
|
-
children:
|
|
224
|
+
children: O("workspaces.list.allStatuses", "All statuses")
|
|
218
225
|
}),
|
|
219
|
-
/* @__PURE__ */
|
|
226
|
+
/* @__PURE__ */ w("option", {
|
|
220
227
|
value: n.ACTIVE,
|
|
221
|
-
children:
|
|
228
|
+
children: O("workspaces.status.active", "Active")
|
|
222
229
|
}),
|
|
223
|
-
/* @__PURE__ */
|
|
230
|
+
/* @__PURE__ */ w("option", {
|
|
224
231
|
value: n.INACTIVE,
|
|
225
|
-
children:
|
|
232
|
+
children: O("workspaces.status.inactive", "Inactive")
|
|
226
233
|
}),
|
|
227
|
-
/* @__PURE__ */
|
|
234
|
+
/* @__PURE__ */ w("option", {
|
|
228
235
|
value: n.ARCHIVED,
|
|
229
|
-
children:
|
|
236
|
+
children: O("workspaces.status.archived", "Archived")
|
|
230
237
|
})
|
|
231
238
|
]
|
|
232
239
|
})]
|
|
233
240
|
}),
|
|
234
|
-
/* @__PURE__ */
|
|
241
|
+
/* @__PURE__ */ w("button", {
|
|
235
242
|
type: "button",
|
|
236
243
|
onClick: () => {
|
|
237
244
|
U();
|
|
238
245
|
},
|
|
239
246
|
className: "inline-flex min-h-11 items-center justify-center gap-2 rounded-lg border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-4 py-2 text-[var(--color-text-primary)] transition-all duration-200 hover:bg-[var(--color-bg-subtle)]",
|
|
240
|
-
"aria-label":
|
|
241
|
-
title:
|
|
242
|
-
children: /* @__PURE__ */
|
|
247
|
+
"aria-label": O("workspaces.list.refresh", "Refresh workspaces"),
|
|
248
|
+
title: O("workspaces.list.refresh", "Refresh workspaces"),
|
|
249
|
+
children: /* @__PURE__ */ w(oe, {
|
|
243
250
|
size: 18,
|
|
244
251
|
"aria-hidden": "true"
|
|
245
252
|
})
|
|
246
253
|
})
|
|
247
254
|
]
|
|
248
|
-
}), W.length > 0 ? /* @__PURE__ */
|
|
255
|
+
}), W.length > 0 ? /* @__PURE__ */ T("div", {
|
|
249
256
|
className: "mt-4 flex flex-col gap-3 rounded-lg border border-[var(--color-border-default)] bg-[var(--color-bg-canvas)] p-4 sm:flex-row sm:items-center sm:justify-between",
|
|
250
|
-
children: [/* @__PURE__ */
|
|
257
|
+
children: [/* @__PURE__ */ T("div", {
|
|
251
258
|
className: "flex flex-wrap items-center gap-3",
|
|
252
|
-
children: [/* @__PURE__ */
|
|
259
|
+
children: [/* @__PURE__ */ T("label", {
|
|
253
260
|
className: "flex items-center gap-2 text-sm text-[var(--color-text-primary)]",
|
|
254
|
-
children: [/* @__PURE__ */
|
|
261
|
+
children: [/* @__PURE__ */ w(a, {
|
|
255
262
|
checked: q,
|
|
256
263
|
indeterminate: J,
|
|
257
264
|
onChange: $,
|
|
258
|
-
ariaLabel:
|
|
259
|
-
}), /* @__PURE__ */
|
|
260
|
-
}), F.size > 0 ? /* @__PURE__ */
|
|
265
|
+
ariaLabel: O("workspaces.list.selectAll", "Select all workspaces")
|
|
266
|
+
}), /* @__PURE__ */ w("span", { children: O("common.selectAllVisible", "Select all visible") })]
|
|
267
|
+
}), F.size > 0 ? /* @__PURE__ */ w("button", {
|
|
261
268
|
type: "button",
|
|
262
269
|
onClick: () => I(/* @__PURE__ */ new Set()),
|
|
263
270
|
className: "text-sm text-[var(--color-text-secondary)] transition-colors hover:text-[var(--color-text-primary)]",
|
|
264
|
-
children:
|
|
271
|
+
children: O("common.clearSelection", "Clear selection")
|
|
265
272
|
}) : null]
|
|
266
|
-
}), /* @__PURE__ */
|
|
273
|
+
}), /* @__PURE__ */ T("div", {
|
|
267
274
|
className: "flex flex-col gap-2 sm:flex-row sm:items-center",
|
|
268
|
-
children: [/* @__PURE__ */
|
|
275
|
+
children: [/* @__PURE__ */ T("span", {
|
|
269
276
|
className: "text-sm text-[var(--color-text-secondary)]",
|
|
270
277
|
children: [
|
|
271
278
|
F.size,
|
|
272
279
|
" ",
|
|
273
|
-
|
|
280
|
+
O("common.selected", "selected")
|
|
274
281
|
]
|
|
275
|
-
}),
|
|
282
|
+
}), j(c.WORKSPACE_DELETE) && /* @__PURE__ */ T("button", {
|
|
276
283
|
type: "button",
|
|
277
284
|
onClick: Z,
|
|
278
285
|
disabled: K.length === 0 || G,
|
|
279
286
|
className: "inline-flex min-h-11 items-center justify-center gap-2 rounded-lg border border-[var(--color-status-warning-border)] px-3 py-2 text-[var(--color-status-warning-text)] transition-all duration-200 hover:bg-[var(--color-status-warning-bgSubtle)] disabled:cursor-not-allowed disabled:opacity-50",
|
|
280
287
|
children: [
|
|
281
|
-
/* @__PURE__ */
|
|
288
|
+
/* @__PURE__ */ w(y, {
|
|
282
289
|
size: 16,
|
|
283
290
|
"aria-hidden": "true"
|
|
284
291
|
}),
|
|
285
|
-
/* @__PURE__ */
|
|
286
|
-
K.length > 0 ? /* @__PURE__ */
|
|
292
|
+
/* @__PURE__ */ w("span", { children: O("workspaces.list.suspendSelected", "Suspend Selected") }),
|
|
293
|
+
K.length > 0 ? /* @__PURE__ */ T("span", { children: [
|
|
287
294
|
"(",
|
|
288
295
|
K.length,
|
|
289
296
|
")"
|
|
@@ -293,196 +300,199 @@ function E({ mode: E = "my" } = {}) {
|
|
|
293
300
|
})]
|
|
294
301
|
}) : null]
|
|
295
302
|
}),
|
|
296
|
-
W.length === 0 ? /* @__PURE__ */
|
|
297
|
-
treatment: "
|
|
303
|
+
W.length === 0 ? /* @__PURE__ */ w(b, {
|
|
304
|
+
treatment: "glass",
|
|
305
|
+
glow: B.length === 0,
|
|
298
306
|
className: "border-border-seam p-6",
|
|
299
|
-
children: /* @__PURE__ */
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
307
|
+
children: /* @__PURE__ */ w(se, {
|
|
308
|
+
illustration: "empty-data",
|
|
309
|
+
title: O("workspaces.list.emptyNoneTitle", "No workspaces found"),
|
|
310
|
+
description: j(c.WORKSPACE_CREATE) ? O("workspaces.list.emptyNoneDescription", "Create a workspace to start mapping members, organization ownership, and collaboration settings.") : O("workspaces.list.emptyNoneDescriptionViewer", "No workspaces have been created yet."),
|
|
311
|
+
action: j(c.WORKSPACE_CREATE) ? /* @__PURE__ */ T("button", {
|
|
312
|
+
type: "button",
|
|
313
|
+
onClick: () => k(`${A}/workspaces/new`),
|
|
314
|
+
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)]",
|
|
315
|
+
children: [/* @__PURE__ */ w(_, {
|
|
316
|
+
size: 18,
|
|
317
|
+
"aria-hidden": "true"
|
|
318
|
+
}), O("workspaces.create.button", "Create Workspace")]
|
|
319
|
+
}) : void 0
|
|
310
320
|
})
|
|
311
|
-
}) : /* @__PURE__ */
|
|
321
|
+
}) : /* @__PURE__ */ T(C, { children: [/* @__PURE__ */ w("div", {
|
|
312
322
|
className: "grid gap-4 md:hidden",
|
|
313
|
-
children: W.map((e) => /* @__PURE__ */
|
|
323
|
+
children: W.map((e) => /* @__PURE__ */ T(b, {
|
|
314
324
|
treatment: "insight",
|
|
315
325
|
className: "border-border-seam p-4",
|
|
316
|
-
children: [/* @__PURE__ */
|
|
326
|
+
children: [/* @__PURE__ */ T("div", {
|
|
317
327
|
className: "flex items-start gap-3",
|
|
318
|
-
children: [/* @__PURE__ */
|
|
328
|
+
children: [/* @__PURE__ */ w(a, {
|
|
319
329
|
checked: F.has(e.id),
|
|
320
330
|
onChange: (t) => Q(e.id, t),
|
|
321
|
-
ariaLabel: `${
|
|
322
|
-
}), /* @__PURE__ */
|
|
331
|
+
ariaLabel: `${O("workspaces.list.selectOne", "Select workspace")} ${e.name}`
|
|
332
|
+
}), /* @__PURE__ */ T("div", {
|
|
323
333
|
className: "min-w-0 flex-1 space-y-3",
|
|
324
|
-
children: [/* @__PURE__ */
|
|
334
|
+
children: [/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ T("div", {
|
|
325
335
|
className: "flex flex-wrap items-start gap-2",
|
|
326
|
-
children: [/* @__PURE__ */
|
|
336
|
+
children: [/* @__PURE__ */ w("h2", {
|
|
327
337
|
className: "text-base font-semibold text-[var(--color-text-primary)]",
|
|
328
338
|
children: e.name
|
|
329
|
-
}), /* @__PURE__ */
|
|
330
|
-
}), /* @__PURE__ */
|
|
339
|
+
}), /* @__PURE__ */ w(f, { status: e.status })]
|
|
340
|
+
}), /* @__PURE__ */ T("p", {
|
|
331
341
|
className: "mt-1 break-all font-mono text-sm text-[var(--color-text-muted)]",
|
|
332
342
|
children: ["/", e.slug]
|
|
333
|
-
})] }), /* @__PURE__ */
|
|
343
|
+
})] }), /* @__PURE__ */ T("dl", {
|
|
334
344
|
className: "grid grid-cols-2 gap-3 text-sm",
|
|
335
|
-
children: [/* @__PURE__ */
|
|
345
|
+
children: [/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("dt", {
|
|
336
346
|
className: "text-[var(--color-text-secondary)]",
|
|
337
|
-
children:
|
|
338
|
-
}), /* @__PURE__ */
|
|
347
|
+
children: O("workspaces.list.members", "Members")
|
|
348
|
+
}), /* @__PURE__ */ w("dd", {
|
|
339
349
|
className: "font-medium text-[var(--color-text-primary)]",
|
|
340
350
|
children: e.memberCount ?? 0
|
|
341
|
-
})] }), /* @__PURE__ */
|
|
351
|
+
})] }), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("dt", {
|
|
342
352
|
className: "text-[var(--color-text-secondary)]",
|
|
343
|
-
children:
|
|
344
|
-
}), /* @__PURE__ */
|
|
353
|
+
children: O("common.created", "Created")
|
|
354
|
+
}), /* @__PURE__ */ w("dd", {
|
|
345
355
|
className: "font-medium text-[var(--color-text-primary)]",
|
|
346
|
-
children:
|
|
356
|
+
children: E(e.createdAt)
|
|
347
357
|
})] })]
|
|
348
358
|
})]
|
|
349
359
|
})]
|
|
350
|
-
}), /* @__PURE__ */
|
|
360
|
+
}), /* @__PURE__ */ T("div", {
|
|
351
361
|
className: "mt-4 flex flex-wrap gap-2 border-t border-[var(--color-border-default)] pt-4",
|
|
352
362
|
children: [
|
|
353
|
-
/* @__PURE__ */
|
|
363
|
+
/* @__PURE__ */ T("button", {
|
|
354
364
|
type: "button",
|
|
355
|
-
onClick: () =>
|
|
365
|
+
onClick: () => k(`${A}/workspaces/${e.id}`),
|
|
356
366
|
className: "inline-flex min-h-10 items-center gap-2 rounded-lg border border-[var(--color-border-default)] px-3 py-2 text-sm text-[var(--color-text-primary)] transition-all duration-200 hover:bg-[var(--color-bg-subtle)]",
|
|
357
|
-
children: [/* @__PURE__ */
|
|
367
|
+
children: [/* @__PURE__ */ w(g, {
|
|
358
368
|
size: 16,
|
|
359
369
|
"aria-hidden": "true"
|
|
360
|
-
}),
|
|
370
|
+
}), O("common.view", "View")]
|
|
361
371
|
}),
|
|
362
|
-
|
|
372
|
+
j(c.WORKSPACE_UPDATE) && /* @__PURE__ */ T("button", {
|
|
363
373
|
type: "button",
|
|
364
|
-
onClick: () =>
|
|
374
|
+
onClick: () => k(`${A}/workspaces/${e.id}/edit`),
|
|
365
375
|
className: "inline-flex min-h-10 items-center gap-2 rounded-lg border border-[var(--color-border-default)] px-3 py-2 text-sm text-[var(--color-text-primary)] transition-all duration-200 hover:bg-[var(--color-bg-subtle)]",
|
|
366
|
-
children: [/* @__PURE__ */
|
|
376
|
+
children: [/* @__PURE__ */ w(v, {
|
|
367
377
|
size: 16,
|
|
368
378
|
"aria-hidden": "true"
|
|
369
|
-
}),
|
|
379
|
+
}), O("common.edit", "Edit")]
|
|
370
380
|
}),
|
|
371
|
-
|
|
381
|
+
j(c.WORKSPACE_DELETE) && /* @__PURE__ */ T("button", {
|
|
372
382
|
type: "button",
|
|
373
383
|
onClick: () => X(e.id, e.name),
|
|
374
384
|
disabled: G,
|
|
375
385
|
className: "inline-flex min-h-10 items-center gap-2 rounded-lg border border-[var(--color-status-warning-border)] px-3 py-2 text-sm text-[var(--color-status-warning-text)] transition-all duration-200 hover:bg-[var(--color-status-warning-bgSubtle)] disabled:cursor-not-allowed disabled:opacity-50",
|
|
376
|
-
children: [/* @__PURE__ */
|
|
386
|
+
children: [/* @__PURE__ */ w(y, {
|
|
377
387
|
size: 16,
|
|
378
388
|
"aria-hidden": "true"
|
|
379
|
-
}),
|
|
389
|
+
}), O("workspaces.suspend.confirm", "Suspend")]
|
|
380
390
|
})
|
|
381
391
|
]
|
|
382
392
|
})]
|
|
383
393
|
}, e.id))
|
|
384
|
-
}), /* @__PURE__ */
|
|
394
|
+
}), /* @__PURE__ */ w(b, {
|
|
385
395
|
treatment: "plain",
|
|
386
396
|
className: "hidden overflow-hidden border-border-seam p-0 md:block",
|
|
387
|
-
children: /* @__PURE__ */
|
|
397
|
+
children: /* @__PURE__ */ w("div", {
|
|
388
398
|
className: "overflow-x-auto",
|
|
389
|
-
children: /* @__PURE__ */
|
|
399
|
+
children: /* @__PURE__ */ T("table", {
|
|
390
400
|
className: "min-w-full",
|
|
391
|
-
children: [/* @__PURE__ */
|
|
401
|
+
children: [/* @__PURE__ */ w("thead", {
|
|
392
402
|
className: "bg-[var(--color-bg-subtle)]",
|
|
393
|
-
children: /* @__PURE__ */
|
|
394
|
-
/* @__PURE__ */
|
|
403
|
+
children: /* @__PURE__ */ T("tr", { children: [
|
|
404
|
+
/* @__PURE__ */ w("th", {
|
|
395
405
|
className: "w-12 px-6 py-3 text-left text-xs font-semibold uppercase tracking-wide text-[var(--color-text-secondary)]",
|
|
396
|
-
children: /* @__PURE__ */
|
|
406
|
+
children: /* @__PURE__ */ w(a, {
|
|
397
407
|
checked: q,
|
|
398
408
|
indeterminate: J,
|
|
399
409
|
onChange: $,
|
|
400
|
-
ariaLabel:
|
|
410
|
+
ariaLabel: O("workspaces.list.selectAll", "Select all workspaces")
|
|
401
411
|
})
|
|
402
412
|
}),
|
|
403
|
-
/* @__PURE__ */
|
|
413
|
+
/* @__PURE__ */ w("th", {
|
|
404
414
|
className: "px-6 py-3 text-left text-xs font-semibold uppercase tracking-wide text-[var(--color-text-secondary)]",
|
|
405
|
-
children:
|
|
415
|
+
children: O("workspaces.list.column.workspace", "Workspace")
|
|
406
416
|
}),
|
|
407
|
-
/* @__PURE__ */
|
|
417
|
+
/* @__PURE__ */ w("th", {
|
|
408
418
|
className: "px-6 py-3 text-left text-xs font-semibold uppercase tracking-wide text-[var(--color-text-secondary)]",
|
|
409
|
-
children:
|
|
419
|
+
children: O("common.status", "Status")
|
|
410
420
|
}),
|
|
411
|
-
/* @__PURE__ */
|
|
421
|
+
/* @__PURE__ */ w("th", {
|
|
412
422
|
className: "px-6 py-3 text-left text-xs font-semibold uppercase tracking-wide text-[var(--color-text-secondary)]",
|
|
413
|
-
children:
|
|
423
|
+
children: O("common.created", "Created")
|
|
414
424
|
}),
|
|
415
|
-
/* @__PURE__ */
|
|
425
|
+
/* @__PURE__ */ w("th", {
|
|
416
426
|
className: "px-6 py-3 text-right text-xs font-semibold uppercase tracking-wide text-[var(--color-text-secondary)]",
|
|
417
|
-
children:
|
|
427
|
+
children: O("common.actions", "Actions")
|
|
418
428
|
})
|
|
419
429
|
] })
|
|
420
|
-
}), /* @__PURE__ */
|
|
430
|
+
}), /* @__PURE__ */ w("tbody", {
|
|
421
431
|
className: "divide-y divide-[var(--color-border-seam)]",
|
|
422
|
-
children: W.map((e) => /* @__PURE__ */
|
|
432
|
+
children: W.map((e) => /* @__PURE__ */ T("tr", {
|
|
423
433
|
className: "transition-colors hover:bg-[var(--color-bg-subtle)]",
|
|
424
434
|
children: [
|
|
425
|
-
/* @__PURE__ */
|
|
435
|
+
/* @__PURE__ */ w("td", {
|
|
426
436
|
className: "px-6 py-4 align-top",
|
|
427
|
-
children: /* @__PURE__ */
|
|
437
|
+
children: /* @__PURE__ */ w(a, {
|
|
428
438
|
checked: F.has(e.id),
|
|
429
439
|
onChange: (t) => Q(e.id, t),
|
|
430
|
-
ariaLabel: `${
|
|
440
|
+
ariaLabel: `${O("workspaces.list.selectOne", "Select workspace")} ${e.name}`
|
|
431
441
|
})
|
|
432
442
|
}),
|
|
433
|
-
/* @__PURE__ */
|
|
443
|
+
/* @__PURE__ */ w("td", {
|
|
434
444
|
className: "px-6 py-4",
|
|
435
|
-
children: /* @__PURE__ */
|
|
445
|
+
children: /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
436
446
|
className: "font-medium text-[var(--color-text-primary)]",
|
|
437
447
|
children: e.name
|
|
438
|
-
}), /* @__PURE__ */
|
|
448
|
+
}), /* @__PURE__ */ T("p", {
|
|
439
449
|
className: "break-all font-mono text-sm text-[var(--color-text-muted)]",
|
|
440
450
|
children: ["/", e.slug]
|
|
441
451
|
})] })
|
|
442
452
|
}),
|
|
443
|
-
/* @__PURE__ */
|
|
453
|
+
/* @__PURE__ */ w("td", {
|
|
444
454
|
className: "px-6 py-4 align-top",
|
|
445
|
-
children: /* @__PURE__ */
|
|
455
|
+
children: /* @__PURE__ */ w(f, { status: e.status })
|
|
446
456
|
}),
|
|
447
|
-
/* @__PURE__ */
|
|
457
|
+
/* @__PURE__ */ w("td", {
|
|
448
458
|
className: "px-6 py-4 align-top text-sm text-[var(--color-text-secondary)]",
|
|
449
|
-
children:
|
|
459
|
+
children: E(e.createdAt)
|
|
450
460
|
}),
|
|
451
|
-
/* @__PURE__ */
|
|
461
|
+
/* @__PURE__ */ w("td", {
|
|
452
462
|
className: "px-6 py-4 align-top",
|
|
453
|
-
children: /* @__PURE__ */
|
|
463
|
+
children: /* @__PURE__ */ T("div", {
|
|
454
464
|
className: "flex items-center justify-end gap-2",
|
|
455
465
|
children: [
|
|
456
|
-
/* @__PURE__ */
|
|
466
|
+
/* @__PURE__ */ w("button", {
|
|
457
467
|
type: "button",
|
|
458
|
-
onClick: () =>
|
|
468
|
+
onClick: () => k(`${A}/workspaces/${e.id}`),
|
|
459
469
|
className: "rounded-lg p-2 text-[var(--color-text-secondary)] transition-all duration-200 hover:bg-[var(--color-bg-muted)] hover:text-[var(--color-text-primary)]",
|
|
460
|
-
title: `${
|
|
461
|
-
"aria-label": `${
|
|
462
|
-
children: /* @__PURE__ */
|
|
470
|
+
title: `${O("common.view", "View")} ${e.name}`,
|
|
471
|
+
"aria-label": `${O("common.view", "View")} ${e.name}`,
|
|
472
|
+
children: /* @__PURE__ */ w(g, {
|
|
463
473
|
size: 18,
|
|
464
474
|
"aria-hidden": "true"
|
|
465
475
|
})
|
|
466
476
|
}),
|
|
467
|
-
|
|
477
|
+
j(c.WORKSPACE_UPDATE) && /* @__PURE__ */ w("button", {
|
|
468
478
|
type: "button",
|
|
469
|
-
onClick: () =>
|
|
479
|
+
onClick: () => k(`${A}/workspaces/${e.id}/edit`),
|
|
470
480
|
className: "rounded-lg p-2 text-[var(--color-text-secondary)] transition-all duration-200 hover:bg-[var(--color-bg-muted)] hover:text-[var(--color-text-primary)]",
|
|
471
|
-
title: `${
|
|
472
|
-
"aria-label": `${
|
|
473
|
-
children: /* @__PURE__ */
|
|
481
|
+
title: `${O("common.edit", "Edit")} ${e.name}`,
|
|
482
|
+
"aria-label": `${O("common.edit", "Edit")} ${e.name}`,
|
|
483
|
+
children: /* @__PURE__ */ w(v, {
|
|
474
484
|
size: 18,
|
|
475
485
|
"aria-hidden": "true"
|
|
476
486
|
})
|
|
477
487
|
}),
|
|
478
|
-
|
|
488
|
+
j(c.WORKSPACE_DELETE) && /* @__PURE__ */ w("button", {
|
|
479
489
|
type: "button",
|
|
480
490
|
onClick: () => X(e.id, e.name),
|
|
481
491
|
disabled: G,
|
|
482
492
|
className: "rounded-lg p-2 text-[var(--color-status-warning-text)] transition-all duration-200 hover:bg-[var(--color-status-warning-bgSubtle)] disabled:cursor-not-allowed disabled:opacity-50",
|
|
483
|
-
title: `${
|
|
484
|
-
"aria-label": `${
|
|
485
|
-
children: /* @__PURE__ */
|
|
493
|
+
title: `${O("workspaces.suspend.confirm", "Suspend")} ${e.name}`,
|
|
494
|
+
"aria-label": `${O("workspaces.suspend.confirm", "Suspend")} ${e.name}`,
|
|
495
|
+
children: /* @__PURE__ */ w(y, {
|
|
486
496
|
size: 18,
|
|
487
497
|
"aria-hidden": "true"
|
|
488
498
|
})
|
|
@@ -498,15 +508,15 @@ function E({ mode: E = "my" } = {}) {
|
|
|
498
508
|
})] })
|
|
499
509
|
]
|
|
500
510
|
}), R]
|
|
501
|
-
}) : /* @__PURE__ */
|
|
511
|
+
}) : /* @__PURE__ */ w("div", {
|
|
502
512
|
className: "min-h-full bg-[var(--color-bg-canvas)] p-6",
|
|
503
|
-
children: /* @__PURE__ */
|
|
513
|
+
children: /* @__PURE__ */ w("div", {
|
|
504
514
|
className: "p-8 text-center text-[var(--color-text-secondary)]",
|
|
505
|
-
children:
|
|
515
|
+
children: O("workspaces.list.noPermission", "You don't have permission to view workspaces.")
|
|
506
516
|
})
|
|
507
517
|
});
|
|
508
518
|
}
|
|
509
519
|
//#endregion
|
|
510
|
-
export {
|
|
520
|
+
export { D as WorkspacesListPage };
|
|
511
521
|
|
|
512
522
|
//# sourceMappingURL=WorkspacesListPage.js.map
|