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