@schemavaults/auth-ui 0.12.33 → 0.13.0
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/components/AccountCard/account_card.js +2 -2
- package/dist/components/AccountCard/account_card.js.map +1 -1
- package/dist/components/CreateOrganizationForm/CreateOrganizationForm.js +4 -1
- package/dist/components/CreateOrganizationForm/CreateOrganizationForm.js.map +1 -1
- package/dist/components/MyOrganizationsCard/MyOrganizationsCard.d.ts +26 -0
- package/dist/components/MyOrganizationsCard/MyOrganizationsCard.js +21 -0
- package/dist/components/MyOrganizationsCard/MyOrganizationsCard.js.map +1 -0
- package/dist/components/MyOrganizationsCard/index.d.ts +2 -0
- package/dist/components/MyOrganizationsCard/index.js +2 -0
- package/dist/components/MyOrganizationsCard/index.js.map +1 -0
- package/dist/components/MyOrganizationsStatsRow/MyOrganizationsStatCard.d.ts +19 -0
- package/dist/components/MyOrganizationsStatsRow/MyOrganizationsStatCard.js +18 -0
- package/dist/components/MyOrganizationsStatsRow/MyOrganizationsStatCard.js.map +1 -0
- package/dist/components/MyOrganizationsStatsRow/MyOrganizationsStatsRow.d.ts +19 -0
- package/dist/components/MyOrganizationsStatsRow/MyOrganizationsStatsRow.js +27 -0
- package/dist/components/MyOrganizationsStatsRow/MyOrganizationsStatsRow.js.map +1 -0
- package/dist/components/MyOrganizationsStatsRow/index.d.ts +4 -0
- package/dist/components/MyOrganizationsStatsRow/index.js +3 -0
- package/dist/components/MyOrganizationsStatsRow/index.js.map +1 -0
- package/dist/components/MyOrganizationsTable/MyOrganizationsTable.d.ts +17 -0
- package/dist/components/MyOrganizationsTable/MyOrganizationsTable.js +54 -0
- package/dist/components/MyOrganizationsTable/MyOrganizationsTable.js.map +1 -0
- package/dist/components/MyOrganizationsTable/columns.d.ts +3 -0
- package/dist/components/MyOrganizationsTable/columns.js +94 -0
- package/dist/components/MyOrganizationsTable/columns.js.map +1 -0
- package/dist/components/MyOrganizationsTable/index.d.ts +2 -0
- package/dist/components/MyOrganizationsTable/index.js +2 -0
- package/dist/components/MyOrganizationsTable/index.js.map +1 -0
- package/dist/components/OrganizationsStatsRow/OrganizationsStatsRow.d.ts +6 -1
- package/dist/components/OrganizationsStatsRow/OrganizationsStatsRow.js +2 -1
- package/dist/components/OrganizationsStatsRow/OrganizationsStatsRow.js.map +1 -1
- package/dist/components/OrganizationsTable/columns.js +3 -3
- package/dist/components/OrganizationsTable/columns.js.map +1 -1
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -29,9 +29,9 @@ export function AccountDetailsCard(props) {
|
|
|
29
29
|
});
|
|
30
30
|
},
|
|
31
31
|
});
|
|
32
|
-
return (_jsxs(Card, { className: cardClassName, children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Account Details" }), _jsxs(CardDescription, { children: ["View and manage your ", friendlyName, " account."] })] }), _jsx(CardContent, { children: _jsxs("div", { className: "flex flex-col items-start justify-start gap-2", children: [_jsx(KeyValueWithSkeleton, { label: "User ID", value: currentUser?.uid }), _jsxs("div", { className: "flex w-full flex-row flex-wrap items-center justify-start gap-2", children: [_jsx(KeyValueWithSkeleton, { label: "Email", value: currentUser?.email, className: "w-auto grow-0" }), currentUser && (_jsx(EmailVerificationStatus, { email: currentUser.email, verified: currentUser.email_verified === true, isAuthServerAccountPage: props.isAuthServerAccountPage, auth_server_url: props.auth_server_url, redirect: props.redirect }))] }), props.isAuthServerAccountPage && (_jsxs("div", { className: "flex flex-row items-center justify-start gap-2 flex-wrap", children: [_jsx("h3", { className: "text-lg font-bold", children: "Organizations:" }), memberships && memberships.length > 0 ? (_jsx(_Fragment, { children: memberships.map((membership) => (_jsx(Link, { href: `/
|
|
32
|
+
return (_jsxs(Card, { className: cardClassName, children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Account Details" }), _jsxs(CardDescription, { children: ["View and manage your ", friendlyName, " account."] })] }), _jsx(CardContent, { children: _jsxs("div", { className: "flex flex-col items-start justify-start gap-2", children: [_jsx(KeyValueWithSkeleton, { label: "User ID", value: currentUser?.uid }), _jsxs("div", { className: "flex w-full flex-row flex-wrap items-center justify-start gap-2", children: [_jsx(KeyValueWithSkeleton, { label: "Email", value: currentUser?.email, className: "w-auto grow-0" }), currentUser && (_jsx(EmailVerificationStatus, { email: currentUser.email, verified: currentUser.email_verified === true, isAuthServerAccountPage: props.isAuthServerAccountPage, auth_server_url: props.auth_server_url, redirect: props.redirect }))] }), props.isAuthServerAccountPage && (_jsxs("div", { className: "flex flex-row items-center justify-start gap-2 flex-wrap", children: [_jsx("h3", { className: "text-lg font-bold", children: "Organizations:" }), memberships && memberships.length > 0 ? (_jsx(_Fragment, { children: memberships.map((membership) => (_jsx(Link, { href: `/orgs/${membership.organization_id}`, children: _jsxs(Button, { variant: "outline", size: "sm", className: "flex flex-row flex-nowrap gap-2", children: [_jsx(Building2, { className: "h-4 w-4" }), membership.organization_name, membership.role && (_jsxs("span", { className: "text-xs text-muted-foreground", children: ["(", membership.role, ")"] }))] }) }, membership.organization_id))) })) : (_jsx("p", { className: "text-sm text-muted-foreground", children: "No organizations" })), (props.canCreateOrganization ?? true) &&
|
|
33
33
|
(!memberships ||
|
|
34
|
-
memberships.length < MAXIMUM_USER_ORGANIZATIONS) && (_jsx(Link, { href: "/
|
|
34
|
+
memberships.length < MAXIMUM_USER_ORGANIZATIONS) && (_jsx(Link, { href: "/orgs/new", children: _jsxs(Button, { variant: "outline", size: "sm", className: "flex flex-row flex-nowrap gap-2", children: [_jsx(Plus, { className: "h-4 w-4" }), "Create Organization"] }) }))] }))] }) }), _jsx(CardFooter, { children: _jsxs("div", { className: "flex flex-row items-start justify-start flex-wrap gap-2", children: [_jsx(SignOutButton, { Link: props.Link }), showLinkToAuthServerAccountPage && (_jsx(ViewFullUserProfileButton, { navigate: async () => {
|
|
35
35
|
const accountUrl = new URL("/account", props.auth_server_url).toString();
|
|
36
36
|
await props.redirect(accountUrl);
|
|
37
37
|
} })), _jsx(ViewAdminDashboardButton, { navigate: async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_card.js","sourceRoot":"","sources":["../../../src/components/AccountCard/account_card.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"account_card.js","sourceRoot":"","sources":["../../../src/components/AccountCard/account_card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
3
3
|
import { Button, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Input, useToast, } from "@schemavaults/ui";
|
|
4
4
|
import { useCallback, useMemo, useTransition, } from "react";
|
|
5
5
|
import { useForm } from "@schemavaults/ui";
|
|
6
|
-
import { useAppEnvironment } from "@schemavaults/auth-react-provider";
|
|
6
|
+
import { clearMyOrganizationsCache, useAppEnvironment, } from "@schemavaults/auth-react-provider";
|
|
7
7
|
import { useSWRConfig } from "swr";
|
|
8
8
|
import { organizationDefinitionSchema, } from "@schemavaults/auth-common";
|
|
9
9
|
import { zodResolver } from "@hookform/resolvers/zod";
|
|
@@ -36,6 +36,9 @@ export function CreateOrganizationForm({ onSuccess, ...props }) {
|
|
|
36
36
|
const [submitting, startSubmitting] = useTransition();
|
|
37
37
|
const clearOrganizationsCache = useCallback(() => {
|
|
38
38
|
mutate("/api/organizations");
|
|
39
|
+
// The creating user becomes the new organization's owner, so their own
|
|
40
|
+
// membership list (and the "Your organizations" stat) changes too.
|
|
41
|
+
clearMyOrganizationsCache(mutate);
|
|
39
42
|
}, [mutate]);
|
|
40
43
|
async function onSubmit(values) {
|
|
41
44
|
if (environment === "development") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateOrganizationForm.js","sourceRoot":"","sources":["../../../src/components/CreateOrganizationForm/CreateOrganizationForm.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,MAAM,EACN,IAAI,EACJ,WAAW,EACX,eAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAS,EACT,WAAW,EACX,KAAK,EACL,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,WAAW,EACX,OAAO,EACP,aAAa,GAEd,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"CreateOrganizationForm.js","sourceRoot":"","sources":["../../../src/components/CreateOrganizationForm/CreateOrganizationForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import type { OrganizationMembershipRoleDetails } from "@schemavaults/auth-common";
|
|
3
|
+
export interface MyOrganizationsCardProps {
|
|
4
|
+
cardTitle?: string;
|
|
5
|
+
cardDescription?: string;
|
|
6
|
+
cardClassName?: string;
|
|
7
|
+
/**
|
|
8
|
+
* SSR-preloaded memberships for the current user (see
|
|
9
|
+
* `useMyOrganizations()` in `@schemavaults/auth-react-provider`).
|
|
10
|
+
*/
|
|
11
|
+
preloaded?: readonly OrganizationMembershipRoleDetails[];
|
|
12
|
+
/**
|
|
13
|
+
* Whether the current user may create new organizations (false when the
|
|
14
|
+
* `admin_only_organization_creation` server setting is enabled and the
|
|
15
|
+
* user is not an admin). Hides the "Create organization" button when false.
|
|
16
|
+
* Defaults to true.
|
|
17
|
+
*/
|
|
18
|
+
canCreateOrganization?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Lists the organizations the *current user* is a member of, with their
|
|
22
|
+
* role in each. The non-admin counterpart of `OrganizationsCard` (which
|
|
23
|
+
* lists every organization on the server).
|
|
24
|
+
*/
|
|
25
|
+
export declare function MyOrganizationsCard(props: MyOrganizationsCardProps): ReactElement;
|
|
26
|
+
export default MyOrganizationsCard;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle, cn, } from "@schemavaults/ui";
|
|
5
|
+
import MyOrganizationsTable from "../MyOrganizationsTable";
|
|
6
|
+
import CreateOrganizationDialog, { CreateOrganizationDialogDispatchContext, } from "../CreateOrganizationDialog";
|
|
7
|
+
/**
|
|
8
|
+
* Lists the organizations the *current user* is a member of, with their
|
|
9
|
+
* role in each. The non-admin counterpart of `OrganizationsCard` (which
|
|
10
|
+
* lists every organization on the server).
|
|
11
|
+
*/
|
|
12
|
+
export function MyOrganizationsCard(props) {
|
|
13
|
+
const cardTitle = props.cardTitle ?? "Your Organizations";
|
|
14
|
+
const cardDescription = props.cardDescription ??
|
|
15
|
+
"Organizations you are a member of, and your role in each.";
|
|
16
|
+
const [createOrganizationDialogOpen, setCreateOrganizationDialogOpen] = useState(false);
|
|
17
|
+
const cardClassName = cn("w-full", props.cardClassName);
|
|
18
|
+
return (_jsxs(CreateOrganizationDialogDispatchContext.Provider, { value: setCreateOrganizationDialogOpen, children: [_jsxs(Card, { className: cardClassName, "data-testid": "my-organizations-card", children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: cardTitle }), _jsx(CardDescription, { children: cardDescription })] }), _jsx(CardContent, { children: _jsx(MyOrganizationsTable, { preloaded: props.preloaded, canCreateOrganization: props.canCreateOrganization ?? true }) })] }), _jsx(CreateOrganizationDialog, { open: createOrganizationDialogOpen, onOpenChange: setCreateOrganizationDialogOpen })] }));
|
|
19
|
+
}
|
|
20
|
+
export default MyOrganizationsCard;
|
|
21
|
+
//# sourceMappingURL=MyOrganizationsCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MyOrganizationsCard.js","sourceRoot":"","sources":["../../../src/components/MyOrganizationsCard/MyOrganizationsCard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAqB,MAAM,OAAO,CAAC;AACpD,OAAO,EACL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,UAAU,EACV,SAAS,EACT,EAAE,GACH,MAAM,kBAAkB,CAAC;AAE1B,OAAO,oBAAoB,MAAM,mCAAmC,CAAC;AACrE,OAAO,wBAAwB,EAAE,EAC/B,uCAAuC,GACxC,MAAM,uCAAuC,CAAC;AAoB/C;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAA+B;IAE/B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,oBAAoB,CAAC;IAC1D,MAAM,eAAe,GACnB,KAAK,CAAC,eAAe;QACrB,2DAA2D,CAAC;IAC9D,MAAM,CAAC,4BAA4B,EAAE,+BAA+B,CAAC,GACnE,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3B,MAAM,aAAa,GAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAEhE,OAAO,CACL,MAAC,uCAAuC,CAAC,QAAQ,IAC/C,KAAK,EAAE,+BAA+B,aAEtC,MAAC,IAAI,IAAC,SAAS,EAAE,aAAa,iBAAc,uBAAuB,aACjE,MAAC,UAAU,eACT,KAAC,SAAS,cAAE,SAAS,GAAa,EAClC,KAAC,eAAe,cAAE,eAAe,GAAmB,IACzC,EACb,KAAC,WAAW,cACV,KAAC,oBAAoB,IACnB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,IAAI,IAAI,GAC1D,GACU,IACT,EACP,KAAC,wBAAwB,IACvB,IAAI,EAAE,4BAA4B,EAClC,YAAY,EAAE,+BAA+B,GAC7C,IAC+C,CACpD,CAAC;AACJ,CAAC;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MyOrganizationsCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,IAAI,OAAO,GAC/B,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ReactElement } from "react";
|
|
2
|
+
import type { OrganizationMembershipRoleDetails } from "@schemavaults/auth-common";
|
|
3
|
+
export interface MyOrganizationsStatCardProps {
|
|
4
|
+
/**
|
|
5
|
+
* SSR-preloaded memberships for the current user, used as SWR
|
|
6
|
+
* `fallbackData` so the count renders on first paint.
|
|
7
|
+
*/
|
|
8
|
+
preloaded?: readonly OrganizationMembershipRoleDetails[];
|
|
9
|
+
label?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A single stat card showing how many organizations the *current user* is
|
|
15
|
+
* a member of. Shared by `MyOrganizationsStatsRow` (the `/orgs` page) and
|
|
16
|
+
* `OrganizationsStatsRow` (the `/admin/organizations` page).
|
|
17
|
+
*/
|
|
18
|
+
export declare function MyOrganizationsStatCard(props: MyOrganizationsStatCardProps): ReactElement;
|
|
19
|
+
export default MyOrganizationsStatCard;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { StatCard, StatCardHeader, StatCardLabel, StatCardValue, StatCardDescription, StatCardIcon, } from "@schemavaults/ui";
|
|
4
|
+
import { useMyOrganizations } from "@schemavaults/auth-react-provider";
|
|
5
|
+
import { UserRoundCheck } from "lucide-react";
|
|
6
|
+
/**
|
|
7
|
+
* A single stat card showing how many organizations the *current user* is
|
|
8
|
+
* a member of. Shared by `MyOrganizationsStatsRow` (the `/orgs` page) and
|
|
9
|
+
* `OrganizationsStatsRow` (the `/admin/organizations` page).
|
|
10
|
+
*/
|
|
11
|
+
export function MyOrganizationsStatCard(props) {
|
|
12
|
+
const memberships = useMyOrganizations({ initialData: props.preloaded });
|
|
13
|
+
const total = memberships.data?.length ?? 0;
|
|
14
|
+
const loading = !memberships.data;
|
|
15
|
+
return (_jsxs(StatCard, { className: props.className, "data-testid": "my-organizations-stat-card", children: [_jsxs(StatCardHeader, { children: [_jsx(StatCardLabel, { children: props.label ?? "Your organizations" }), _jsx(StatCardIcon, { children: _jsx(UserRoundCheck, {}) })] }), _jsx(StatCardValue, { loading: loading, "data-testid": "my-organizations-stat-value", children: total }), _jsx(StatCardDescription, { children: props.description ?? "Organizations you are a member of." })] }));
|
|
16
|
+
}
|
|
17
|
+
export default MyOrganizationsStatCard;
|
|
18
|
+
//# sourceMappingURL=MyOrganizationsStatCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MyOrganizationsStatCard.js","sourceRoot":"","sources":["../../../src/components/MyOrganizationsStatsRow/MyOrganizationsStatCard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAa9C;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAmC;IAEnC,MAAM,WAAW,GAAG,kBAAkB,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAEzE,MAAM,KAAK,GAAW,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAY,CAAC,WAAW,CAAC,IAAI,CAAC;IAE3C,OAAO,CACL,MAAC,QAAQ,IACP,SAAS,EAAE,KAAK,CAAC,SAAS,iBACd,4BAA4B,aAExC,MAAC,cAAc,eACb,KAAC,aAAa,cAAE,KAAK,CAAC,KAAK,IAAI,oBAAoB,GAAiB,EACpE,KAAC,YAAY,cACX,KAAC,cAAc,KAAG,GACL,IACA,EACjB,KAAC,aAAa,IACZ,OAAO,EAAE,OAAO,iBACJ,6BAA6B,YAExC,KAAK,GACQ,EAChB,KAAC,mBAAmB,cACjB,KAAK,CAAC,WAAW,IAAI,oCAAoC,GACtC,IACb,CACZ,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import type { OrganizationMembershipRoleDetails, UserPendingInvitation } from "@schemavaults/auth-common";
|
|
3
|
+
export interface MyOrganizationsStatsRowProps {
|
|
4
|
+
/**
|
|
5
|
+
* SSR-preloaded memberships for the current user.
|
|
6
|
+
*/
|
|
7
|
+
preloaded?: readonly OrganizationMembershipRoleDetails[];
|
|
8
|
+
/**
|
|
9
|
+
* SSR-preloaded pending organization invitations for the current user.
|
|
10
|
+
*/
|
|
11
|
+
preloaded_invitations?: readonly UserPendingInvitation[];
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Statistics overview for the current user's organizations: how many they
|
|
16
|
+
* belong to, how many they own, and how many invitations await a response.
|
|
17
|
+
*/
|
|
18
|
+
export declare function MyOrganizationsStatsRow(props: MyOrganizationsStatsRowProps): ReactElement;
|
|
19
|
+
export default MyOrganizationsStatsRow;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { StatCard, StatCardHeader, StatCardLabel, StatCardValue, StatCardDescription, StatCardIcon, cn, useToast, } from "@schemavaults/ui";
|
|
5
|
+
import { useMyOrganizations } from "@schemavaults/auth-react-provider";
|
|
6
|
+
import { Crown, MailOpen } from "lucide-react";
|
|
7
|
+
import { usePendingInvitations } from "../PendingInvitationsTable";
|
|
8
|
+
import MyOrganizationsStatCard from "./MyOrganizationsStatCard";
|
|
9
|
+
/**
|
|
10
|
+
* Statistics overview for the current user's organizations: how many they
|
|
11
|
+
* belong to, how many they own, and how many invitations await a response.
|
|
12
|
+
*/
|
|
13
|
+
export function MyOrganizationsStatsRow(props) {
|
|
14
|
+
const { toast } = useToast();
|
|
15
|
+
const memberships = useMyOrganizations({ initialData: props.preloaded });
|
|
16
|
+
const invitations = usePendingInvitations({
|
|
17
|
+
toast,
|
|
18
|
+
initialData: props.preloaded_invitations,
|
|
19
|
+
});
|
|
20
|
+
const owned = useMemo(() => (memberships.data ?? []).filter((membership) => membership.role === "owner").length, [memberships.data]);
|
|
21
|
+
const pending = invitations.data?.length ?? 0;
|
|
22
|
+
const membershipsLoading = !memberships.data;
|
|
23
|
+
const invitationsLoading = !invitations.data;
|
|
24
|
+
return (_jsxs("div", { className: cn("grid w-full grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", props.className), "data-testid": "my-organizations-stats-row", children: [_jsx(MyOrganizationsStatCard, { preloaded: props.preloaded }), _jsxs(StatCard, { children: [_jsxs(StatCardHeader, { children: [_jsx(StatCardLabel, { children: "Organizations you own" }), _jsx(StatCardIcon, { children: _jsx(Crown, {}) })] }), _jsx(StatCardValue, { loading: membershipsLoading, children: owned }), _jsx(StatCardDescription, { children: "Organizations where your role is owner." })] }), _jsxs(StatCard, { variant: pending > 0 ? "default" : undefined, children: [_jsxs(StatCardHeader, { children: [_jsx(StatCardLabel, { children: "Pending invitations" }), _jsx(StatCardIcon, { children: _jsx(MailOpen, {}) })] }), _jsx(StatCardValue, { loading: invitationsLoading, "data-testid": "pending-invitations-stat-value", children: pending }), _jsx(StatCardDescription, { children: "Invitations waiting for your response." })] })] }));
|
|
25
|
+
}
|
|
26
|
+
export default MyOrganizationsStatsRow;
|
|
27
|
+
//# sourceMappingURL=MyOrganizationsStatsRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MyOrganizationsStatsRow.js","sourceRoot":"","sources":["../../../src/components/MyOrganizationsStatsRow/MyOrganizationsStatsRow.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,OAAO,EAAqB,MAAM,OAAO,CAAC;AACnD,OAAO,EACL,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,EAAE,EACF,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAchE;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAmC;IAEnC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,qBAAqB,CAAC;QACxC,KAAK;QACL,WAAW,EAAE,KAAK,CAAC,qBAAqB;KACzC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAW,OAAO,CAC3B,GAAG,EAAE,CACH,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAC7B,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,CAC5C,CAAC,MAAM,EACV,CAAC,WAAW,CAAC,IAAI,CAAC,CACnB,CAAC;IACF,MAAM,OAAO,GAAW,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;IAEtD,MAAM,kBAAkB,GAAY,CAAC,WAAW,CAAC,IAAI,CAAC;IACtD,MAAM,kBAAkB,GAAY,CAAC,WAAW,CAAC,IAAI,CAAC;IAEtD,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,6DAA6D,EAC7D,KAAK,CAAC,SAAS,CAChB,iBACW,4BAA4B,aAExC,KAAC,uBAAuB,IAAC,SAAS,EAAE,KAAK,CAAC,SAAS,GAAI,EAEvD,MAAC,QAAQ,eACP,MAAC,cAAc,eACb,KAAC,aAAa,wCAAsC,EACpD,KAAC,YAAY,cACX,KAAC,KAAK,KAAG,GACI,IACA,EACjB,KAAC,aAAa,IAAC,OAAO,EAAE,kBAAkB,YAAG,KAAK,GAAiB,EACnE,KAAC,mBAAmB,0DAEE,IACb,EAEX,MAAC,QAAQ,IAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aACpD,MAAC,cAAc,eACb,KAAC,aAAa,sCAAoC,EAClD,KAAC,YAAY,cACX,KAAC,QAAQ,KAAG,GACC,IACA,EACjB,KAAC,aAAa,IACZ,OAAO,EAAE,kBAAkB,iBACf,gCAAgC,YAE3C,OAAO,GACM,EAChB,KAAC,mBAAmB,yDAEE,IACb,IACP,CACP,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { MyOrganizationsStatsRow, MyOrganizationsStatsRow as default, } from "./MyOrganizationsStatsRow";
|
|
2
|
+
export type { MyOrganizationsStatsRowProps } from "./MyOrganizationsStatsRow";
|
|
3
|
+
export { MyOrganizationsStatCard } from "./MyOrganizationsStatCard";
|
|
4
|
+
export type { MyOrganizationsStatCardProps } from "./MyOrganizationsStatCard";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MyOrganizationsStatsRow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,IAAI,OAAO,GACnC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import { type OrganizationMembershipRoleDetails } from "@schemavaults/auth-common";
|
|
3
|
+
export interface MyOrganizationsDatatableProps {
|
|
4
|
+
/**
|
|
5
|
+
* SSR-preloaded memberships used as SWR `fallbackData` for
|
|
6
|
+
* `useMyOrganizations()` so the table renders populated on first paint.
|
|
7
|
+
*/
|
|
8
|
+
preloaded?: readonly OrganizationMembershipRoleDetails[] | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Whether to show the "Create organization" header button. The button is
|
|
11
|
+
* also hidden once the user has reached `MAXIMUM_USER_ORGANIZATIONS`.
|
|
12
|
+
* Defaults to true.
|
|
13
|
+
*/
|
|
14
|
+
canCreateOrganization?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function MyOrganizationsTable({ preloaded, canCreateOrganization, }: MyOrganizationsDatatableProps): ReactElement;
|
|
17
|
+
export default MyOrganizationsTable;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { createContext, useCallback, useContext } from "react";
|
|
4
|
+
import { Datatable, useToast } from "@schemavaults/ui";
|
|
5
|
+
import { Loader2 } from "lucide-react";
|
|
6
|
+
import { MAXIMUM_USER_ORGANIZATIONS, } from "@schemavaults/auth-common";
|
|
7
|
+
import { useMyOrganizations } from "@schemavaults/auth-react-provider";
|
|
8
|
+
import { CreateOrganizationDialogDispatchContext, CreateOrganizationDialogTrigger, } from "../CreateOrganizationDialog";
|
|
9
|
+
import { columns } from "./columns";
|
|
10
|
+
/**
|
|
11
|
+
* Whether the table's header should show the create-organization trigger.
|
|
12
|
+
* Provided by `MyOrganizationsTable` and consumed by the header component,
|
|
13
|
+
* which the datatable renders without props.
|
|
14
|
+
*/
|
|
15
|
+
const ShowCreateOrganizationTriggerContext = createContext(false);
|
|
16
|
+
function MyOrganizationsTableHeaderButtons() {
|
|
17
|
+
const showTrigger = useContext(ShowCreateOrganizationTriggerContext);
|
|
18
|
+
const onOpenChange = useContext(CreateOrganizationDialogDispatchContext);
|
|
19
|
+
if (!showTrigger) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return _jsx(CreateOrganizationDialogTrigger, { onOpenChange: onOpenChange });
|
|
23
|
+
}
|
|
24
|
+
export function MyOrganizationsTable({ preloaded, canCreateOrganization = true, }) {
|
|
25
|
+
const { toast } = useToast();
|
|
26
|
+
const onError = useCallback((error) => {
|
|
27
|
+
toast({
|
|
28
|
+
variant: "destructive",
|
|
29
|
+
title: "Error loading your organizations",
|
|
30
|
+
description: `${error instanceof Error ? error.message : "An unknown error occurred."}`,
|
|
31
|
+
});
|
|
32
|
+
}, [toast]);
|
|
33
|
+
const { isLoading, data } = useMyOrganizations({
|
|
34
|
+
initialData: preloaded,
|
|
35
|
+
onError,
|
|
36
|
+
});
|
|
37
|
+
if (!data && isLoading) {
|
|
38
|
+
return (_jsx("div", { className: "min-h-48 w-full flex items-center justify-center", children: _jsx(Loader2, { className: "h-12 w-12 animate-spin" }) }));
|
|
39
|
+
}
|
|
40
|
+
const memberships = data
|
|
41
|
+
? [...data]
|
|
42
|
+
: [];
|
|
43
|
+
const showCreateTrigger = canCreateOrganization && memberships.length < MAXIMUM_USER_ORGANIZATIONS;
|
|
44
|
+
return (_jsx(ShowCreateOrganizationTriggerContext.Provider, { value: showCreateTrigger, children: _jsx(Datatable, { data: memberships, columns: columns, initialVisibleColumns: {
|
|
45
|
+
actions: true,
|
|
46
|
+
organization_name: true,
|
|
47
|
+
organization_id: true,
|
|
48
|
+
role: true,
|
|
49
|
+
joined_at: true,
|
|
50
|
+
created_at: false,
|
|
51
|
+
}, HeaderButtons: MyOrganizationsTableHeaderButtons, datatypeLabel: "Organization", searchColumn: ["organization_id", "organization_name"] }) }));
|
|
52
|
+
}
|
|
53
|
+
export default MyOrganizationsTable;
|
|
54
|
+
//# sourceMappingURL=MyOrganizationsTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MyOrganizationsTable.js","sourceRoot":"","sources":["../../../src/components/MyOrganizationsTable/MyOrganizationsTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAqB,MAAM,OAAO,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,0BAA0B,GAE3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EACL,uCAAuC,EACvC,+BAA+B,GAChC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC;;;;GAIG;AACH,MAAM,oCAAoC,GAAG,aAAa,CAAU,KAAK,CAAC,CAAC;AAE3E,SAAS,iCAAiC;IACxC,MAAM,WAAW,GAAY,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC9E,MAAM,YAAY,GAA2B,UAAU,CACrD,uCAAuC,CACxC,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAC,+BAA+B,IAAC,YAAY,EAAE,YAAY,GAAI,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACnC,SAAS,EACT,qBAAqB,GAAG,IAAI,GACE;IAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,KAAc,EAAQ,EAAE;QACvB,KAAK,CAAC;YACJ,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,kCAAkC;YACzC,WAAW,EAAE,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE;SACxF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC;QAC7C,WAAW,EAAE,SAAS;QACtB,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;QACvB,OAAO,CACL,cAAK,SAAS,EAAC,kDAAkD,YAC/D,KAAC,OAAO,IAAC,SAAS,EAAC,wBAAwB,GAAG,GAC1C,CACP,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAwC,IAAI;QAC3D,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACX,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,iBAAiB,GACrB,qBAAqB,IAAI,WAAW,CAAC,MAAM,GAAG,0BAA0B,CAAC;IAE3E,OAAO,CACL,KAAC,oCAAoC,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,YACrE,KAAC,SAAS,IACR,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE;gBACrB,OAAO,EAAE,IAAI;gBACb,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,KAAK;aAClB,EACD,aAAa,EAAE,iCAAiC,EAChD,aAAa,EAAC,cAAc,EAC5B,YAAY,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GACtD,GAC4C,CACjD,CAAC;AACJ,CAAC;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Badge, Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger, useToast, } from "@schemavaults/ui";
|
|
4
|
+
import { ClipboardCopy, Eye, MoreHorizontal } from "lucide-react";
|
|
5
|
+
import Link from "next/link";
|
|
6
|
+
import { LocalDateTime } from "../../lib/LocalDateTime";
|
|
7
|
+
function roleBadgeVariant(role) {
|
|
8
|
+
switch (role) {
|
|
9
|
+
case "owner":
|
|
10
|
+
return "default";
|
|
11
|
+
case "admin":
|
|
12
|
+
return "secondary";
|
|
13
|
+
default:
|
|
14
|
+
return "outline";
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export const columns = [
|
|
18
|
+
{
|
|
19
|
+
id: "organization_name",
|
|
20
|
+
accessorKey: "organization_name",
|
|
21
|
+
header: "Organization",
|
|
22
|
+
cell: ({ row }) => {
|
|
23
|
+
const membership = row.original;
|
|
24
|
+
return (_jsx(Link, { href: `/orgs/${membership.organization_id}`, className: "hover:underline text-primary", "data-testid": `my-org-link-${membership.organization_id}`, children: membership.organization_name }));
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: "organization_id",
|
|
29
|
+
accessorKey: "organization_id",
|
|
30
|
+
header: "Organization ID",
|
|
31
|
+
cell: ({ row }) => {
|
|
32
|
+
const membership = row.original;
|
|
33
|
+
return (_jsx(Link, { href: `/orgs/${membership.organization_id}`, className: "hover:underline text-primary", children: membership.organization_id }));
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: "role",
|
|
38
|
+
accessorKey: "role",
|
|
39
|
+
header: "Your Role",
|
|
40
|
+
cell: ({ row }) => {
|
|
41
|
+
const membership = row.original;
|
|
42
|
+
return (_jsx(Badge, { variant: roleBadgeVariant(membership.role), className: "capitalize", children: membership.role }));
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: "joined_at",
|
|
47
|
+
accessorKey: "joined_at",
|
|
48
|
+
header: "Member Since",
|
|
49
|
+
cell: ({ row }) => {
|
|
50
|
+
const membership = row.original;
|
|
51
|
+
return _jsx(LocalDateTime, { value: membership.joined_at, showSeconds: false });
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: "created_at",
|
|
56
|
+
accessorKey: "created_at",
|
|
57
|
+
header: "Created At",
|
|
58
|
+
cell: ({ row }) => {
|
|
59
|
+
const membership = row.original;
|
|
60
|
+
return (_jsx(LocalDateTime, { value: membership.created_at, showSeconds: false }));
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: "actions",
|
|
65
|
+
cell: function MyOrganizationsTableRowActionsCell({ row }) {
|
|
66
|
+
const { toast } = useToast();
|
|
67
|
+
const membership = row.original;
|
|
68
|
+
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "h-8 w-8 p-0", "data-testid": `my-org-actions-button-${membership.organization_id}`, children: [_jsx("span", { className: "sr-only", children: "Open menu" }), _jsx(MoreHorizontal, { className: "h-4 w-4" })] }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsx(DropdownMenuLabel, { children: "Actions" }), _jsx(DropdownMenuItem, { asChild: true, children: _jsxs(Link, { href: `/orgs/${membership.organization_id}`, children: [_jsx(Eye, { className: "h-4 w-4 pr-2" }), " View Organization"] }) }), _jsxs(DropdownMenuItem, { onClick: async (e) => {
|
|
69
|
+
e.preventDefault();
|
|
70
|
+
const organization_id = membership.organization_id;
|
|
71
|
+
try {
|
|
72
|
+
if (!window.isSecureContext) {
|
|
73
|
+
throw new Error("Writing to clipboard is only allowed in secure contexts!");
|
|
74
|
+
}
|
|
75
|
+
await navigator.clipboard.writeText(organization_id);
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
toast({
|
|
79
|
+
title: "Failed to copy organization ID to clipboard!",
|
|
80
|
+
description: e instanceof Error
|
|
81
|
+
? e.message
|
|
82
|
+
: "An unknown error has occurred!",
|
|
83
|
+
});
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
toast({
|
|
87
|
+
title: "Successfully copied organization ID to clipboard!",
|
|
88
|
+
description: `You should now be able to paste '${organization_id}' from your clipboard!`,
|
|
89
|
+
});
|
|
90
|
+
}, children: [_jsx(ClipboardCopy, { className: "h-4 w-4 pr-2" }), " Copy Organization ID"] })] })] }));
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
];
|
|
94
|
+
//# sourceMappingURL=columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/components/MyOrganizationsTable/columns.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MyOrganizationsTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,IAAI,OAAO,GAChC,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import type { ReactElement } from "react";
|
|
2
|
-
import type { OrganizationDefinition } from "@schemavaults/auth-common";
|
|
2
|
+
import type { OrganizationDefinition, OrganizationMembershipRoleDetails } from "@schemavaults/auth-common";
|
|
3
3
|
export interface OrganizationsStatsRowProps {
|
|
4
4
|
preloaded?: readonly OrganizationDefinition[];
|
|
5
|
+
/**
|
|
6
|
+
* SSR-preloaded memberships for the *current* user, backing the
|
|
7
|
+
* "Your organizations" stat card (see `useMyOrganizations()`).
|
|
8
|
+
*/
|
|
9
|
+
preloaded_my_memberships?: readonly OrganizationMembershipRoleDetails[];
|
|
5
10
|
className?: string;
|
|
6
11
|
}
|
|
7
12
|
export declare function OrganizationsStatsRow(props: OrganizationsStatsRowProps): ReactElement;
|
|
@@ -3,13 +3,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { StatCard, StatCardHeader, StatCardLabel, StatCardValue, StatCardDescription, StatCardIcon, cn, } from "@schemavaults/ui";
|
|
4
4
|
import { Building2 } from "lucide-react";
|
|
5
5
|
import { useAllOrganizationsList } from "../OrganizationsTable";
|
|
6
|
+
import { MyOrganizationsStatCard } from "../MyOrganizationsStatsRow";
|
|
6
7
|
export function OrganizationsStatsRow(props) {
|
|
7
8
|
const organizations = useAllOrganizationsList({
|
|
8
9
|
initialData: props.preloaded,
|
|
9
10
|
});
|
|
10
11
|
const total = organizations.data?.length ?? 0;
|
|
11
12
|
const loading = !organizations.data;
|
|
12
|
-
return (
|
|
13
|
+
return (_jsxs("div", { className: cn("grid w-full grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", props.className), children: [_jsxs(StatCard, { children: [_jsxs(StatCardHeader, { children: [_jsx(StatCardLabel, { children: "Total organizations" }), _jsx(StatCardIcon, { children: _jsx(Building2, {}) })] }), _jsx(StatCardValue, { loading: loading, children: total }), _jsx(StatCardDescription, { children: "All organizations visible to admins." })] }), _jsx(MyOrganizationsStatCard, { preloaded: props.preloaded_my_memberships })] }));
|
|
13
14
|
}
|
|
14
15
|
export default OrganizationsStatsRow;
|
|
15
16
|
//# sourceMappingURL=OrganizationsStatsRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrganizationsStatsRow.js","sourceRoot":"","sources":["../../../src/components/OrganizationsStatsRow/OrganizationsStatsRow.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,EAAE,GACH,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"OrganizationsStatsRow.js","sourceRoot":"","sources":["../../../src/components/OrganizationsStatsRow/OrganizationsStatsRow.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,EAAE,GACH,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAY/E,MAAM,UAAU,qBAAqB,CACnC,KAAiC;IAEjC,MAAM,aAAa,GAAG,uBAAuB,CAAC;QAC5C,WAAW,EAAE,KAAK,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC;IAEpC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,6DAA6D,EAC7D,KAAK,CAAC,SAAS,CAChB,aAED,MAAC,QAAQ,eACP,MAAC,cAAc,eACb,KAAC,aAAa,sCAAoC,EAClD,KAAC,YAAY,cACX,KAAC,SAAS,KAAG,GACA,IACA,EACjB,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,YAAG,KAAK,GAAiB,EACxD,KAAC,mBAAmB,uDAEE,IACb,EAEX,KAAC,uBAAuB,IAAC,SAAS,EAAE,KAAK,CAAC,wBAAwB,GAAI,IAClE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -21,7 +21,7 @@ export const columns = [
|
|
|
21
21
|
header: "Organization ID",
|
|
22
22
|
cell: ({ row }) => {
|
|
23
23
|
const org = row.original;
|
|
24
|
-
return (_jsx(Link, { href: `/
|
|
24
|
+
return (_jsx(Link, { href: `/orgs/${org.organization_id}`, className: "hover:underline text-primary", children: org.organization_id }));
|
|
25
25
|
},
|
|
26
26
|
},
|
|
27
27
|
{
|
|
@@ -30,7 +30,7 @@ export const columns = [
|
|
|
30
30
|
header: "Name",
|
|
31
31
|
cell: ({ row }) => {
|
|
32
32
|
const org = row.original;
|
|
33
|
-
return (_jsx(Link, { href: `/
|
|
33
|
+
return (_jsx(Link, { href: `/orgs/${org.organization_id}`, className: "hover:underline text-primary", children: org.name }));
|
|
34
34
|
},
|
|
35
35
|
},
|
|
36
36
|
{
|
|
@@ -47,7 +47,7 @@ export const columns = [
|
|
|
47
47
|
cell: function OrganizationsTableRowActionsCell({ row }) {
|
|
48
48
|
const { toast } = useToast();
|
|
49
49
|
const org = row.original;
|
|
50
|
-
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "h-8 w-8 p-0", children: [_jsx("span", { className: "sr-only", children: "Open menu" }), _jsx(MoreHorizontal, { className: "h-4 w-4" })] }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsx(DropdownMenuLabel, { children: "Actions" }), _jsx(DropdownMenuItem, { asChild: true, children: _jsxs(Link, { href: `/
|
|
50
|
+
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "h-8 w-8 p-0", children: [_jsx("span", { className: "sr-only", children: "Open menu" }), _jsx(MoreHorizontal, { className: "h-4 w-4" })] }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsx(DropdownMenuLabel, { children: "Actions" }), _jsx(DropdownMenuItem, { asChild: true, children: _jsxs(Link, { href: `/orgs/${org.organization_id}`, children: [_jsx(Eye, { className: "h-4 w-4 pr-2" }), " View Organization"] }) }), _jsxs(DropdownMenuItem, { onClick: async (e) => {
|
|
51
51
|
e.preventDefault();
|
|
52
52
|
const organization_id = org.organization_id;
|
|
53
53
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/components/OrganizationsTable/columns.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAKb,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,OAAO,GAAwC;IAC1D;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,KAAC,QAAQ,IACP,OAAO,EACL,KAAK,CAAC,wBAAwB,EAAE;gBAChC,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,eAAe,CAAC,EAExD,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE,CAClC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAE/B,YAAY,GACvB,CACH;QACD,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CACjB,KAAC,QAAQ,IACP,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,EAC5B,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,gBACrD,YAAY,GACvB,CACH;QACD,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,KAAK;KACpB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAgB,EAAE;YAC9B,MAAM,GAAG,GAA2B,GAAG,CAAC,QAAQ,CAAC;YACjD,OAAO,CACL,KAAC,IAAI,IACH,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/components/OrganizationsTable/columns.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAKb,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,OAAO,GAAwC;IAC1D;QACE,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,KAAC,QAAQ,IACP,OAAO,EACL,KAAK,CAAC,wBAAwB,EAAE;gBAChC,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,eAAe,CAAC,EAExD,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE,CAClC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAE/B,YAAY,GACvB,CACH;QACD,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CACjB,KAAC,QAAQ,IACP,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,EAC5B,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,gBACrD,YAAY,GACvB,CACH;QACD,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,KAAK;KACpB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAgB,EAAE;YAC9B,MAAM,GAAG,GAA2B,GAAG,CAAC,QAAQ,CAAC;YACjD,OAAO,CACL,KAAC,IAAI,IACH,IAAI,EAAE,SAAS,GAAG,CAAC,eAAe,EAAE,EACpC,SAAS,EAAC,8BAA8B,YAEvC,GAAG,CAAC,eAAe,GACf,CACR,CAAC;QACJ,CAAC;KACF;IACD;QACE,EAAE,EAAE,MAAM;QACV,WAAW,EAAE,MAAM;QACnB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAgB,EAAE;YAC9B,MAAM,GAAG,GAA2B,GAAG,CAAC,QAAQ,CAAC;YACjD,OAAO,CACL,KAAC,IAAI,IACH,IAAI,EAAE,SAAS,GAAG,CAAC,eAAe,EAAE,EACpC,SAAS,EAAC,8BAA8B,YAEvC,GAAG,CAAC,IAAI,GACJ,CACR,CAAC;QACJ,CAAC;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,YAAY;QACzB,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAgB,EAAE;YAC9B,MAAM,GAAG,GAA2B,GAAG,CAAC,QAAQ,CAAC;YACjD,OAAO,KAAC,aAAa,IAAC,KAAK,EAAE,GAAG,CAAC,UAAU,GAAI,CAAC;QAClD,CAAC;KACF;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS,gCAAgC,CAAC,EAAE,GAAG,EAAE;YACrD,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAA2B,GAAG,CAAC,QAAQ,CAAC;YAEjD,OAAO,CACL,MAAC,YAAY,eACX,KAAC,mBAAmB,IAAC,OAAO,kBAC1B,MAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,aAAa,aAC7C,eAAM,SAAS,EAAC,SAAS,0BAAiB,EAC1C,KAAC,cAAc,IAAC,SAAS,EAAC,SAAS,GAAG,IAC/B,GACW,EACtB,MAAC,mBAAmB,IAAC,KAAK,EAAC,KAAK,aAC9B,KAAC,iBAAiB,0BAA4B,EAC9C,KAAC,gBAAgB,IAAC,OAAO,kBACvB,MAAC,IAAI,IAAC,IAAI,EAAE,SAAS,GAAG,CAAC,eAAe,EAAE,aACxC,KAAC,GAAG,IAAC,SAAS,EAAC,cAAc,GAAG,0BAC3B,GACU,EACnB,MAAC,gBAAgB,IACf,OAAO,EAAE,KAAK,EAAE,CAAC,EAAiB,EAAE;oCAClC,CAAC,CAAC,cAAc,EAAE,CAAC;oCACnB,MAAM,eAAe,GAAW,GAAG,CAAC,eAAe,CAAC;oCACpD,IAAI,CAAC;wCACH,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;4CAC5B,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;wCACJ,CAAC;wCACD,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;oCACvD,CAAC;oCAAC,OAAO,CAAU,EAAE,CAAC;wCACpB,KAAK,CAAC;4CACJ,KAAK,EAAE,8CAA8C;4CACrD,WAAW,EACT,CAAC,YAAY,KAAK;gDAChB,CAAC,CAAC,CAAC,CAAC,OAAO;gDACX,CAAC,CAAC,gCAAgC;yCACvC,CAAC,CAAC;wCACH,OAAO;oCACT,CAAC;oCAED,KAAK,CAAC;wCACJ,KAAK,EAAE,mDAAmD;wCAC1D,WAAW,EAAE,oCAAoC,eAAe,wBAAwB;qCACzF,CAAC,CAAC;oCACH,OAAO;gCACT,CAAC,aAED,KAAC,aAAa,IAAC,SAAS,EAAC,cAAc,GAAG,6BACzB,IACC,IACT,CAChB,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
|
|
@@ -28,6 +28,12 @@ export { OrganizationsCard } from "./OrganizationsCard";
|
|
|
28
28
|
export type { OrganizationsCardProps } from "./OrganizationsCard";
|
|
29
29
|
export { OrganizationsStatsRow } from "./OrganizationsStatsRow";
|
|
30
30
|
export type { OrganizationsStatsRowProps } from "./OrganizationsStatsRow";
|
|
31
|
+
export { MyOrganizationsTable } from "./MyOrganizationsTable";
|
|
32
|
+
export type { MyOrganizationsDatatableProps } from "./MyOrganizationsTable";
|
|
33
|
+
export { MyOrganizationsCard } from "./MyOrganizationsCard";
|
|
34
|
+
export type { MyOrganizationsCardProps } from "./MyOrganizationsCard";
|
|
35
|
+
export { MyOrganizationsStatsRow, MyOrganizationsStatCard, } from "./MyOrganizationsStatsRow";
|
|
36
|
+
export type { MyOrganizationsStatsRowProps, MyOrganizationsStatCardProps, } from "./MyOrganizationsStatsRow";
|
|
31
37
|
export { CreateOrganizationDialog } from "./CreateOrganizationDialog";
|
|
32
38
|
export type * from "./CreateOrganizationDialog";
|
|
33
39
|
export { CreateOrganizationForm } from "./CreateOrganizationForm";
|
package/dist/components/index.js
CHANGED
|
@@ -12,6 +12,9 @@ export { UsersStatsRow } from "./UsersStatsRow";
|
|
|
12
12
|
export { OrganizationsTable, useAllOrganizationsList, clearUseAllOrganizationsListCache, } from "./OrganizationsTable";
|
|
13
13
|
export { OrganizationsCard } from "./OrganizationsCard";
|
|
14
14
|
export { OrganizationsStatsRow } from "./OrganizationsStatsRow";
|
|
15
|
+
export { MyOrganizationsTable } from "./MyOrganizationsTable";
|
|
16
|
+
export { MyOrganizationsCard } from "./MyOrganizationsCard";
|
|
17
|
+
export { MyOrganizationsStatsRow, MyOrganizationsStatCard, } from "./MyOrganizationsStatsRow";
|
|
15
18
|
export { CreateOrganizationDialog } from "./CreateOrganizationDialog";
|
|
16
19
|
export { CreateOrganizationForm } from "./CreateOrganizationForm";
|
|
17
20
|
export { OrganizationMembersTable } from "./OrganizationMembersTable";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAG9B,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AAGrC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAK3B,cAAc,kBAAkB,CAAC;AAQjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAMtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAM1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAMtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAG9B,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AAGrC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAK3B,cAAc,kBAAkB,CAAC;AAQjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAMtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAM1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAMtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC"}
|
package/package.json
CHANGED