@code0-tech/pictor 0.0.0-mvp.14 → 0.0.0-mvp.16
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/assets/components/button/Button.style.css +1 -1
- package/dist/assets/components/card/Card.style.css +1 -1
- package/dist/assets/components/d-layout/DLayout.style.css +1 -1
- package/dist/components/button/Button.d.ts +2 -1
- package/dist/components/button/Button.js +22 -20
- package/dist/components/card/Card.d.ts +2 -1
- package/dist/components/card/Card.js +24 -21
- package/dist/components/d-layout/DLayout.js +25 -25
- package/dist/components/{d-namespace/license → d-license}/DNamespaceLicense.service.d.ts +1 -1
- package/dist/components/{d-namespace/license → d-license}/DNamespaceLicense.service.js +1 -1
- package/dist/components/d-license/index.d.ts +2 -0
- package/dist/components/d-license/index.js +6 -0
- package/dist/components/{d-namespace/member → d-member}/DNamespaceMember.service.d.ts +3 -2
- package/dist/components/d-member/DNamespaceMember.service.js +14 -0
- package/dist/components/{d-namespace/member → d-member}/DNamespaceMember.view.d.ts +4 -1
- package/dist/components/{d-namespace/member → d-member}/DNamespaceMember.view.js +4 -1
- package/dist/components/d-member/index.d.ts +2 -0
- package/dist/components/d-member/index.js +6 -0
- package/dist/components/d-namespace/index.d.ts +0 -10
- package/dist/components/d-namespace/index.js +4 -33
- package/dist/components/d-organization/DOrganization.service.d.ts +2 -2
- package/dist/components/d-organization/DOrganization.view.d.ts +4 -1
- package/dist/components/d-organization/DOrganization.view.js +21 -18
- package/dist/components/d-organization/DOrganizationCard.d.ts +3 -3
- package/dist/components/d-organization/DOrganizationCard.js +13 -76
- package/dist/components/d-organization/DOrganizationList.d.ts +10 -0
- package/dist/components/d-organization/DOrganizationList.js +20 -0
- package/dist/components/d-organization/DOrganizatonContent.d.ts +9 -0
- package/dist/components/d-organization/DOrganizatonContent.js +82 -0
- package/dist/components/d-organization/index.d.ts +1 -0
- package/dist/components/d-organization/index.js +8 -5
- package/dist/components/{d-namespace/project → d-project}/DNamespaceProject.service.d.ts +1 -1
- package/dist/components/d-project/DNamespaceProject.service.js +14 -0
- package/dist/components/{d-namespace/project → d-project}/DNamespaceProject.view.d.ts +4 -1
- package/dist/components/{d-namespace/project → d-project}/DNamespaceProject.view.js +13 -10
- package/dist/components/{d-namespace/project → d-project}/DNamespaceProjectCard.d.ts +1 -1
- package/dist/components/d-project/DNamespaceProjectCard.js +15 -0
- package/dist/components/d-project/DNamespaceProjectContent.d.ts +8 -0
- package/dist/components/d-project/DNamespaceProjectContent.js +68 -0
- package/dist/components/d-project/DNamespaceProjectList.d.ts +9 -0
- package/dist/components/d-project/DNamespaceProjectList.js +19 -0
- package/dist/components/{d-namespace/project → d-project}/DNamespaceProjectMenu.d.ts +1 -1
- package/dist/components/{d-namespace/project → d-project}/DNamespaceProjectMenu.js +3 -3
- package/dist/components/d-project/index.d.ts +5 -0
- package/dist/components/d-project/index.js +24 -0
- package/dist/components/{d-namespace/role → d-role}/DNamespaceRole.service.d.ts +1 -1
- package/dist/components/{d-namespace/role → d-role}/DNamespaceRole.service.js +1 -1
- package/dist/components/d-role/index.d.ts +2 -0
- package/dist/components/d-role/index.js +6 -0
- package/dist/components/d-runtime/DRuntime.view.d.ts +4 -1
- package/dist/components/d-runtime/DRuntime.view.js +6 -3
- package/dist/components/d-runtime/DRuntimeCard.d.ts +7 -0
- package/dist/components/d-runtime/DRuntimeCard.js +17 -0
- package/dist/components/d-runtime/DRuntimeContent.d.ts +7 -0
- package/dist/components/d-runtime/DRuntimeContent.js +38 -0
- package/dist/components/d-runtime/DRuntimeList.d.ts +9 -0
- package/dist/components/d-runtime/DRuntimeList.js +19 -0
- package/dist/components/d-runtime/index.d.ts +2 -0
- package/dist/components/d-runtime/index.js +6 -2
- package/dist/components/d-user/DUser.view.d.ts +4 -1
- package/dist/components/d-user/DUser.view.js +13 -10
- package/dist/components/d-user/DUserCard.d.ts +7 -0
- package/dist/components/d-user/DUserCard.js +15 -0
- package/dist/components/d-user/DUserContent.d.ts +7 -0
- package/dist/components/d-user/DUserContent.js +84 -0
- package/dist/components/d-user/DUserList.d.ts +9 -0
- package/dist/components/d-user/DUserList.js +19 -0
- package/dist/components/d-user/index.d.ts +2 -0
- package/dist/components/d-user/index.js +11 -7
- package/dist/components/form/useForm.d.ts +2 -1
- package/dist/components/form/useForm.js +27 -18
- package/dist/index.d.ts +4 -0
- package/dist/index.js +184 -172
- package/package.json +20 -19
- package/dist/components/d-namespace/member/DNamespaceMember.service.js +0 -11
- package/dist/components/d-namespace/project/DNamespaceProject.service.js +0 -11
- package/dist/components/d-namespace/project/DNamespaceProjectCard.js +0 -57
- /package/dist/components/{d-namespace/license → d-license}/DNamespaceLicense.view.d.ts +0 -0
- /package/dist/components/{d-namespace/license → d-license}/DNamespaceLicense.view.js +0 -0
- /package/dist/components/{d-namespace/role → d-role}/DNamespaceRole.view.d.ts +0 -0
- /package/dist/components/{d-namespace/role → d-role}/DNamespaceRole.view.js +0 -0
|
@@ -1,79 +1,16 @@
|
|
|
1
|
-
import { jsx as e
|
|
2
|
-
import
|
|
3
|
-
import { Card as
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
import { Avatar as w } from "../avatar/Avatar.js";
|
|
14
|
-
const K = (u) => {
|
|
15
|
-
const {
|
|
16
|
-
organizationId: o,
|
|
17
|
-
onSettingsClick: f = () => {
|
|
18
|
-
},
|
|
19
|
-
onLeaveClick: z = () => {
|
|
20
|
-
}
|
|
21
|
-
} = u, S = c(g), v = a(g), x = c(h), C = a(h), I = c(y);
|
|
22
|
-
a(y);
|
|
23
|
-
const n = v.getById(o);
|
|
24
|
-
if (!n?.namespace?.id) return;
|
|
25
|
-
const s = C.getById(n?.namespace?.id), m = n?.namespace?.projects?.count, l = s?.members?.count, p = s?.runtimes?.count;
|
|
26
|
-
return b.useMemo(() => /* @__PURE__ */ e(j, { children: /* @__PURE__ */ r(i, { align: "center", style: {
|
|
27
|
-
gap: "1.3rem"
|
|
28
|
-
}, justify: "space-between", children: [
|
|
29
|
-
/* @__PURE__ */ r(i, { align: "center", style: {
|
|
30
|
-
gap: "1.3rem"
|
|
31
|
-
}, children: [
|
|
32
|
-
/* @__PURE__ */ e(w, { bg: "transparent", identifier: n?.name ?? "" }),
|
|
33
|
-
/* @__PURE__ */ r(i, { style: {
|
|
34
|
-
flexDirection: "column"
|
|
35
|
-
}, children: [
|
|
36
|
-
/* @__PURE__ */ e(t, { size: "lg", hierarchy: "primary", display: "block", children: n?.name }),
|
|
37
|
-
/* @__PURE__ */ e(B, { spacing: "xxs" }),
|
|
38
|
-
/* @__PURE__ */ r(i, { align: "center", style: {
|
|
39
|
-
gap: "1.3rem",
|
|
40
|
-
flexWrap: "wrap"
|
|
41
|
-
}, children: [
|
|
42
|
-
/* @__PURE__ */ r(i, { align: "center", style: {
|
|
43
|
-
gap: "0.35rem"
|
|
44
|
-
}, children: [
|
|
45
|
-
/* @__PURE__ */ e($, { size: 18 }),
|
|
46
|
-
/* @__PURE__ */ e(t, { size: "xs", hierarchy: "tertiary", children: `${m ?? 0} project${(m ?? 0) !== 1 ? "s" : ""}` })
|
|
47
|
-
] }),
|
|
48
|
-
/* @__PURE__ */ r(i, { align: "center", style: {
|
|
49
|
-
gap: "0.35rem"
|
|
50
|
-
}, children: [
|
|
51
|
-
/* @__PURE__ */ e(k, { size: 18 }),
|
|
52
|
-
/* @__PURE__ */ r(t, { size: "xs", hierarchy: "tertiary", children: [
|
|
53
|
-
" ",
|
|
54
|
-
`${l ?? 0} member${(l ?? 0) !== 1 ? "s" : ""}`
|
|
55
|
-
] })
|
|
56
|
-
] }),
|
|
57
|
-
/* @__PURE__ */ r(i, { align: "center", style: {
|
|
58
|
-
gap: "0.35rem"
|
|
59
|
-
}, children: [
|
|
60
|
-
/* @__PURE__ */ e(D, { size: 18 }),
|
|
61
|
-
/* @__PURE__ */ e(t, { size: "xs", hierarchy: "tertiary", children: `${p ?? 0} runtime${(p ?? 0) !== 1 ? "s" : ""}` })
|
|
62
|
-
] })
|
|
63
|
-
] })
|
|
64
|
-
] })
|
|
65
|
-
] }),
|
|
66
|
-
/* @__PURE__ */ r(i, { align: "center", style: {
|
|
67
|
-
gap: "0.35rem"
|
|
68
|
-
}, children: [
|
|
69
|
-
/* @__PURE__ */ e(d, { color: "secondary", onClick: () => f(o), children: /* @__PURE__ */ e(L, { size: 16 }) }),
|
|
70
|
-
/* @__PURE__ */ r(d, { color: "error", onClick: () => z(o), children: [
|
|
71
|
-
/* @__PURE__ */ e(R, { size: 16 }),
|
|
72
|
-
" Leave"
|
|
73
|
-
] })
|
|
74
|
-
] })
|
|
75
|
-
] }) }), [S, x, I]);
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { c as m } from "../../_virtual/compiler-runtime.js";
|
|
3
|
+
import { Card as s } from "../card/Card.js";
|
|
4
|
+
import { DOrganizationContent as c } from "./DOrganizatonContent.js";
|
|
5
|
+
const g = (a) => {
|
|
6
|
+
const o = m.c(4), {
|
|
7
|
+
organizationId: r,
|
|
8
|
+
onLeave: n,
|
|
9
|
+
onSetting: i
|
|
10
|
+
} = a;
|
|
11
|
+
let t;
|
|
12
|
+
return o[0] !== n || o[1] !== i || o[2] !== r ? (t = /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(c, { onLeave: n, onSetting: i, organizationId: r }) }), o[0] = n, o[1] = i, o[2] = r, o[3] = t) : t = o[3], t;
|
|
76
13
|
};
|
|
77
14
|
export {
|
|
78
|
-
|
|
15
|
+
g as default
|
|
79
16
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Card } from '../card/Card';
|
|
3
|
+
import { DOrganizationView } from './DOrganization.view';
|
|
4
|
+
import { Scalars } from '@code0-tech/sagittarius-graphql-types';
|
|
5
|
+
export interface DOrganizationListProps extends Omit<Card, "children"> {
|
|
6
|
+
filter?: (organizations: DOrganizationView, index: number) => boolean;
|
|
7
|
+
onSetting?: (organizationId: Scalars['OrganizationID']['output']) => void;
|
|
8
|
+
onLeave?: (organizationId: Scalars['OrganizationID']['output']) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const DOrganizationList: React.FC<DOrganizationListProps>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import d from "react";
|
|
3
|
+
import { Card as f } from "../card/Card.js";
|
|
4
|
+
import { useService as u, useStore as S } from "../../utils/contextStore.js";
|
|
5
|
+
import "merge-props";
|
|
6
|
+
import { DOrganizationReactiveService as t } from "./DOrganization.service.js";
|
|
7
|
+
import g from "../card/CardSection.js";
|
|
8
|
+
import { DOrganizationContent as v } from "./DOrganizatonContent.js";
|
|
9
|
+
const R = (i) => {
|
|
10
|
+
const e = u(t), n = S(t), a = d.useMemo(() => e.values(), [n]), {
|
|
11
|
+
filter: m = () => !0,
|
|
12
|
+
onLeave: c,
|
|
13
|
+
onSetting: s,
|
|
14
|
+
...p
|
|
15
|
+
} = i;
|
|
16
|
+
return /* @__PURE__ */ o(f, { ...p, children: a.filter(m).map((r) => r.id && /* @__PURE__ */ o(g, { border: !0, children: /* @__PURE__ */ o(v, { onLeave: c, onSetting: s, organizationId: r?.id }) }, r.id)) });
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
R as DOrganizationList
|
|
20
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Code0Component } from '../../utils';
|
|
3
|
+
import { Scalars } from '@code0-tech/sagittarius-graphql-types';
|
|
4
|
+
export interface DOrganizationCardProps extends Code0Component<HTMLDivElement> {
|
|
5
|
+
organizationId: Scalars['OrganizationID']['output'];
|
|
6
|
+
onSetting?: (organizationId: Scalars['OrganizationID']['output']) => void;
|
|
7
|
+
onLeave?: (organizationId: Scalars['OrganizationID']['output']) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const DOrganizationContent: React.FC<DOrganizationCardProps>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import c from "react";
|
|
3
|
+
import { useStore as s, useService as a } from "../../utils/contextStore.js";
|
|
4
|
+
import "merge-props";
|
|
5
|
+
import { Text as m } from "../text/Text.js";
|
|
6
|
+
import { DOrganizationReactiveService as S } from "./DOrganization.service.js";
|
|
7
|
+
import { IconFolder as O, IconUser as k, IconServer as L, IconSettings as N, IconLogout as w } from "@tabler/icons-react";
|
|
8
|
+
import { Flex as i } from "../flex/Flex.js";
|
|
9
|
+
import { Button as f } from "../button/Button.js";
|
|
10
|
+
import { Spacing as F } from "../spacing/Spacing.js";
|
|
11
|
+
import { Avatar as T } from "../avatar/Avatar.js";
|
|
12
|
+
import { DUserReactiveService as v } from "../d-user/DUser.service.js";
|
|
13
|
+
import "../../_virtual/compiler-runtime.js";
|
|
14
|
+
import '../../assets/components/card/Card.style.css';import '../../assets/components/menu/Menu.style.css';/* empty css */
|
|
15
|
+
import "@radix-ui/react-dropdown-menu";
|
|
16
|
+
/* empty css */
|
|
17
|
+
import { useUserSession as W } from "../d-user/DUser.session.hook.js";
|
|
18
|
+
import { Badge as p } from "../badge/Badge.js";
|
|
19
|
+
import { DNamespaceReactiveService as z } from "../d-namespace/DNamespace.service.js";
|
|
20
|
+
import { DNamespaceMemberReactiveService as b } from "../d-member/DNamespaceMember.service.js";
|
|
21
|
+
const se = (x) => {
|
|
22
|
+
const {
|
|
23
|
+
organizationId: o,
|
|
24
|
+
onLeave: I = () => {
|
|
25
|
+
},
|
|
26
|
+
onSetting: M = () => {
|
|
27
|
+
}
|
|
28
|
+
} = x, j = s(S), B = a(S), C = s(z), D = a(z), $ = s(b), A = a(b), R = a(v), U = s(v), d = W(), l = c.useMemo(() => R.getById(d?.user?.id), [U, d]), n = c.useMemo(() => o ? B.getById(o) : null, [j, o]), t = c.useMemo(() => n ? D.getById(n.namespace?.id) : null, [C, n]), u = c.useMemo(() => t && l ? A.getByNamespaceIdAndUserId(t.id, l.id) : null, [$, t, l]), g = t?.projects?.count, y = t?.members?.count, h = t?.runtimes?.count;
|
|
29
|
+
return /* @__PURE__ */ r(i, { align: "center", style: {
|
|
30
|
+
gap: "1.3rem"
|
|
31
|
+
}, justify: "space-between", children: [
|
|
32
|
+
/* @__PURE__ */ r(i, { align: "center", style: {
|
|
33
|
+
gap: "1.3rem"
|
|
34
|
+
}, children: [
|
|
35
|
+
/* @__PURE__ */ e(T, { bg: "transparent", identifier: n?.name ?? "" }),
|
|
36
|
+
/* @__PURE__ */ r(i, { style: {
|
|
37
|
+
flexDirection: "column"
|
|
38
|
+
}, children: [
|
|
39
|
+
/* @__PURE__ */ e(m, { size: "lg", hierarchy: "primary", display: "block", children: n?.name }),
|
|
40
|
+
/* @__PURE__ */ e(F, { spacing: "xxs" }),
|
|
41
|
+
/* @__PURE__ */ r(i, { align: "center", style: {
|
|
42
|
+
gap: "0.35rem",
|
|
43
|
+
flexWrap: "wrap"
|
|
44
|
+
}, children: [
|
|
45
|
+
/* @__PURE__ */ e(p, { color: "secondary", children: /* @__PURE__ */ r(i, { align: "center", style: {
|
|
46
|
+
gap: "0.35rem"
|
|
47
|
+
}, children: [
|
|
48
|
+
/* @__PURE__ */ e(O, { size: 16 }),
|
|
49
|
+
/* @__PURE__ */ e(m, { size: "xs", hierarchy: "tertiary", children: `${g ?? 0} project${(g ?? 0) !== 1 ? "s" : ""}` })
|
|
50
|
+
] }) }),
|
|
51
|
+
/* @__PURE__ */ e(p, { color: "secondary", children: /* @__PURE__ */ r(i, { align: "center", style: {
|
|
52
|
+
gap: "0.35rem"
|
|
53
|
+
}, children: [
|
|
54
|
+
/* @__PURE__ */ e(k, { size: 16 }),
|
|
55
|
+
/* @__PURE__ */ r(m, { size: "xs", hierarchy: "tertiary", children: [
|
|
56
|
+
" ",
|
|
57
|
+
`${y ?? 0} member${(y ?? 0) !== 1 ? "s" : ""}`
|
|
58
|
+
] })
|
|
59
|
+
] }) }),
|
|
60
|
+
/* @__PURE__ */ e(p, { color: "secondary", children: /* @__PURE__ */ r(i, { align: "center", style: {
|
|
61
|
+
gap: "0.35rem"
|
|
62
|
+
}, children: [
|
|
63
|
+
/* @__PURE__ */ e(L, { size: 16 }),
|
|
64
|
+
/* @__PURE__ */ e(m, { size: "xs", hierarchy: "tertiary", children: `${h ?? 0} runtime${(h ?? 0) !== 1 ? "s" : ""}` })
|
|
65
|
+
] }) })
|
|
66
|
+
] })
|
|
67
|
+
] })
|
|
68
|
+
] }),
|
|
69
|
+
/* @__PURE__ */ r(i, { align: "center", style: {
|
|
70
|
+
gap: "0.35rem"
|
|
71
|
+
}, children: [
|
|
72
|
+
n?.userAbilities?.deleteOrganization || n?.userAbilities?.updateOrganization ? /* @__PURE__ */ e(f, { color: "secondary", onClick: () => M(o), children: /* @__PURE__ */ e(N, { size: 16 }) }) : null,
|
|
73
|
+
u && u.userAbilities?.deleteMember ? /* @__PURE__ */ r(f, { color: "error", onClick: () => I(o), children: [
|
|
74
|
+
/* @__PURE__ */ e(w, { size: 16 }),
|
|
75
|
+
" Leave"
|
|
76
|
+
] }) : null
|
|
77
|
+
] })
|
|
78
|
+
] });
|
|
79
|
+
};
|
|
80
|
+
export {
|
|
81
|
+
se as DOrganizationContent
|
|
82
|
+
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { DOrganizationReactiveService as w } from "./DOrganization.service.js";
|
|
2
|
-
import { DOrganizationView as
|
|
2
|
+
import { DOrganizationView as R } from "./DOrganization.view.js";
|
|
3
3
|
import "react/jsx-runtime";
|
|
4
|
-
import "react";
|
|
5
4
|
import "../../_virtual/compiler-runtime.js";
|
|
6
|
-
import '../../assets/components/menu/Menu.style.css';import '../../assets/components/avatar/Avatar.style.css';import '../../assets/components/spacing/Spacing.style.css';import '../../assets/components/flex/Flex.style.css';import '../../assets/components/text/Text.style.css';import '../../assets/components/card/Card.style.css';/* empty css */
|
|
5
|
+
import '../../assets/components/badge/Badge.style.css';import '../../assets/components/menu/Menu.style.css';import '../../assets/components/avatar/Avatar.style.css';import '../../assets/components/spacing/Spacing.style.css';import '../../assets/components/flex/Flex.style.css';import '../../assets/components/text/Text.style.css';import '../../assets/components/card/Card.style.css';/* empty css */
|
|
6
|
+
import "react";
|
|
7
7
|
import "merge-props";
|
|
8
|
-
/* empty css */
|
|
9
8
|
import "../../utils/contextStore.js";
|
|
9
|
+
/* empty css */
|
|
10
10
|
import "@tabler/icons-react";
|
|
11
11
|
/* empty css */
|
|
12
12
|
import "../button/Button.js";
|
|
@@ -15,7 +15,10 @@ import "js-md5";
|
|
|
15
15
|
/* empty css */
|
|
16
16
|
/* empty css */
|
|
17
17
|
import "@radix-ui/react-dropdown-menu";
|
|
18
|
+
/* empty css */
|
|
19
|
+
import { DOrganizationList as V } from "./DOrganizationList.js";
|
|
18
20
|
export {
|
|
21
|
+
V as DOrganizationList,
|
|
19
22
|
w as DOrganizationReactiveService,
|
|
20
|
-
|
|
23
|
+
R as DOrganizationView
|
|
21
24
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NamespaceProject, NamespacesProjectsAssignRuntimesInput, NamespacesProjectsAssignRuntimesPayload, NamespacesProjectsCreateInput, NamespacesProjectsCreatePayload, NamespacesProjectsDeleteInput, NamespacesProjectsDeletePayload } from '@code0-tech/sagittarius-graphql-types';
|
|
2
2
|
import { DNamespaceProjectView } from './DNamespaceProject.view';
|
|
3
|
-
import { ReactiveArrayService } from '
|
|
3
|
+
import { ReactiveArrayService } from '../../utils';
|
|
4
4
|
export declare abstract class DNamespaceProjectReactiveService extends ReactiveArrayService<DNamespaceProjectView> {
|
|
5
5
|
getById(id: NamespaceProject['id']): DNamespaceProjectView | undefined;
|
|
6
6
|
abstract projectAssignRuntimes(payload: NamespacesProjectsAssignRuntimesInput): Promise<NamespacesProjectsAssignRuntimesPayload | undefined>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import "../../utils/contextStore.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { ReactiveArrayService as t } from "../../utils/reactiveArrayService.js";
|
|
4
|
+
import "merge-props";
|
|
5
|
+
class p extends t {
|
|
6
|
+
//TODO: inject UI error handler for toasts
|
|
7
|
+
//inject: namespaceId because the runtimes query needs it
|
|
8
|
+
getById(e) {
|
|
9
|
+
return this.values().find((r) => r.id === e);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
p as DNamespaceProjectReactiveService
|
|
14
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Flow, FlowConnection, Maybe, Namespace, NamespaceProject, Runtime, RuntimeConnection, Scalars } from '@code0-tech/sagittarius-graphql-types';
|
|
1
|
+
import { Flow, FlowConnection, Maybe, Namespace, NamespaceProject, NamespaceProjectUserAbilities, Runtime, RuntimeConnection, Scalars } from '@code0-tech/sagittarius-graphql-types';
|
|
2
2
|
export declare class DNamespaceProjectView {
|
|
3
3
|
/** Time when this NamespaceProject was created */
|
|
4
4
|
private readonly _createdAt?;
|
|
@@ -20,6 +20,8 @@ export declare class DNamespaceProjectView {
|
|
|
20
20
|
private readonly _runtimes?;
|
|
21
21
|
/** Time when this NamespaceProject was last updated */
|
|
22
22
|
private readonly _updatedAt?;
|
|
23
|
+
/** Abilities for the current user on this NamespaceProject */
|
|
24
|
+
private readonly _userAbilities?;
|
|
23
25
|
constructor(payload: NamespaceProject);
|
|
24
26
|
get createdAt(): Maybe<Scalars["Time"]["output"]> | undefined;
|
|
25
27
|
get description(): Maybe<Scalars["String"]["output"]> | undefined;
|
|
@@ -31,5 +33,6 @@ export declare class DNamespaceProjectView {
|
|
|
31
33
|
get primaryRuntime(): Maybe<Runtime> | undefined;
|
|
32
34
|
get runtimes(): Maybe<RuntimeConnection> | undefined;
|
|
33
35
|
get updatedAt(): Maybe<Scalars["Time"]["output"]> | undefined;
|
|
36
|
+
get userAbilities(): Maybe<NamespaceProjectUserAbilities> | undefined;
|
|
34
37
|
json(): NamespaceProject;
|
|
35
38
|
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
function i
|
|
2
|
-
return (t = n(t)) in
|
|
1
|
+
function e(i, t, r) {
|
|
2
|
+
return (t = n(t)) in i ? Object.defineProperty(i, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : i[t] = r, i;
|
|
3
3
|
}
|
|
4
|
-
function n(
|
|
5
|
-
var t = u(
|
|
4
|
+
function n(i) {
|
|
5
|
+
var t = u(i, "string");
|
|
6
6
|
return typeof t == "symbol" ? t : t + "";
|
|
7
7
|
}
|
|
8
|
-
function u(
|
|
9
|
-
if (typeof
|
|
10
|
-
var r =
|
|
8
|
+
function u(i, t) {
|
|
9
|
+
if (typeof i != "object" || !i) return i;
|
|
10
|
+
var r = i[Symbol.toPrimitive];
|
|
11
11
|
if (r !== void 0) {
|
|
12
|
-
var s = r.call(
|
|
12
|
+
var s = r.call(i, t);
|
|
13
13
|
if (typeof s != "object") return s;
|
|
14
14
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
15
15
|
}
|
|
16
|
-
return (t === "string" ? String : Number)(
|
|
16
|
+
return (t === "string" ? String : Number)(i);
|
|
17
17
|
}
|
|
18
18
|
class o {
|
|
19
19
|
constructor(t) {
|
|
20
|
-
|
|
20
|
+
e(this, "_createdAt", void 0), e(this, "_description", void 0), e(this, "_flow", void 0), e(this, "_flows", void 0), e(this, "_id", void 0), e(this, "_name", void 0), e(this, "_namespace", void 0), e(this, "_primaryRuntime", void 0), e(this, "_runtimes", void 0), e(this, "_updatedAt", void 0), e(this, "_userAbilities", void 0), this._createdAt = t.createdAt, this._description = t.description, this._flow = t.flow, this._flows = t.flows, this._id = t.id, this._name = t.name, this._namespace = t.namespace, this._primaryRuntime = t.primaryRuntime, this._runtimes = t.runtimes, this._updatedAt = t.updatedAt, this._userAbilities = t.userAbilities;
|
|
21
21
|
}
|
|
22
22
|
get createdAt() {
|
|
23
23
|
return this._createdAt;
|
|
@@ -49,6 +49,9 @@ class o {
|
|
|
49
49
|
get updatedAt() {
|
|
50
50
|
return this._updatedAt;
|
|
51
51
|
}
|
|
52
|
+
get userAbilities() {
|
|
53
|
+
return this._userAbilities;
|
|
54
|
+
}
|
|
52
55
|
json() {
|
|
53
56
|
return {
|
|
54
57
|
createdAt: this._createdAt,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { Code0Component } from '
|
|
2
|
+
import { Code0Component } from '../../utils';
|
|
3
3
|
import { Scalars } from '@code0-tech/sagittarius-graphql-types';
|
|
4
4
|
export interface DNamespaceProjectCardProps extends Code0Component<HTMLDivElement> {
|
|
5
5
|
projectId: Scalars['NamespaceProjectID']['output'];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { c as m } from "../../_virtual/compiler-runtime.js";
|
|
3
|
+
import { Card as s } from "../card/Card.js";
|
|
4
|
+
import { DNamespaceProjectContent as i } from "./DNamespaceProjectContent.js";
|
|
5
|
+
const d = (c) => {
|
|
6
|
+
const t = m.c(2), {
|
|
7
|
+
projectId: r,
|
|
8
|
+
onSettingsClick: n
|
|
9
|
+
} = c;
|
|
10
|
+
let o;
|
|
11
|
+
return t[0] !== r ? (o = /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(i, { projectId: r }) }), t[0] = r, t[1] = o) : o = t[1], o;
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
d as default
|
|
15
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Code0Component } from '../../utils';
|
|
2
|
+
import { NamespaceProject } from '@code0-tech/sagittarius-graphql-types';
|
|
3
|
+
import { default as React } from 'react';
|
|
4
|
+
export interface DNamespaceProjectContentProps extends Code0Component<HTMLDivElement> {
|
|
5
|
+
projectId: NamespaceProject["id"];
|
|
6
|
+
onSetting?: (projectId: NamespaceProject["id"]) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const DNamespaceProjectContent: React.FC<DNamespaceProjectContentProps>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsxs as i, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useService as n } from "../../utils/contextStore.js";
|
|
3
|
+
import a from "react";
|
|
4
|
+
import "merge-props";
|
|
5
|
+
import { Flex as o } from "../flex/Flex.js";
|
|
6
|
+
import { DNamespaceReactiveService as S } from "../d-namespace/DNamespace.service.js";
|
|
7
|
+
import { DOrganizationReactiveService as z } from "../d-organization/DOrganization.service.js";
|
|
8
|
+
import "../../_virtual/compiler-runtime.js";
|
|
9
|
+
import '../../assets/components/menu/Menu.style.css';import '../../assets/components/spacing/Spacing.style.css';import '../../assets/components/card/Card.style.css';/* empty css */
|
|
10
|
+
import { Text as c } from "../text/Text.js";
|
|
11
|
+
import { IconGitFork as j, IconServer as I, IconServerSpark as x, IconSettings as R } from "@tabler/icons-react";
|
|
12
|
+
import { Button as _ } from "../button/Button.js";
|
|
13
|
+
/* empty css */
|
|
14
|
+
import { Avatar as B } from "../avatar/Avatar.js";
|
|
15
|
+
import { DUserReactiveService as D } from "../d-user/DUser.service.js";
|
|
16
|
+
/* empty css */
|
|
17
|
+
import "@radix-ui/react-dropdown-menu";
|
|
18
|
+
import { Badge as s } from "../badge/Badge.js";
|
|
19
|
+
import { DNamespaceProjectReactiveService as b } from "./DNamespaceProject.service.js";
|
|
20
|
+
import { DRuntimeReactiveService as k } from "../d-runtime/DRuntime.service.js";
|
|
21
|
+
const X = (m) => {
|
|
22
|
+
const {
|
|
23
|
+
projectId: y,
|
|
24
|
+
onSetting: g = () => {
|
|
25
|
+
}
|
|
26
|
+
} = m, p = n(b), l = n(S), f = n(z), v = n(D), h = n(k), e = a.useMemo(() => p.getById(m.projectId), [p, m.projectId]), d = a.useMemo(() => e ? h.getById(e.primaryRuntime?.id) : null, [e]), t = a.useMemo(() => e ? l.getById(e.namespace?.id) : null, [l, e]), u = a.useMemo(() => t && t.parent ? t.parent.__typename === "Organization" ? f.getById(t.parent.id) : t.parent.__typename === "User" ? v.getById(t.parent.id) : null : null, []);
|
|
27
|
+
return /* @__PURE__ */ i(o, { align: "center", style: {
|
|
28
|
+
gap: "1.3rem"
|
|
29
|
+
}, justify: "space-between", children: [
|
|
30
|
+
/* @__PURE__ */ i(o, { align: "center", style: {
|
|
31
|
+
gap: "1.3rem"
|
|
32
|
+
}, children: [
|
|
33
|
+
/* @__PURE__ */ r(B, { bg: "transparent", identifier: (t?.parent?.__typename === "User" ? u.username : t?.parent?.__typename === "Organization" ? u.name : "") ?? "" }),
|
|
34
|
+
/* @__PURE__ */ i(o, { style: {
|
|
35
|
+
flexDirection: "column",
|
|
36
|
+
gap: "0.35rem"
|
|
37
|
+
}, children: [
|
|
38
|
+
/* @__PURE__ */ r(c, { size: "lg", hierarchy: "primary", display: "block", children: e?.name }),
|
|
39
|
+
/* @__PURE__ */ r(c, { size: "sm", hierarchy: "tertiary", display: "block", children: e?.description })
|
|
40
|
+
] })
|
|
41
|
+
] }),
|
|
42
|
+
/* @__PURE__ */ i(o, { align: "center", style: {
|
|
43
|
+
gap: "1.3rem"
|
|
44
|
+
}, children: [
|
|
45
|
+
/* @__PURE__ */ i(o, { align: "center", style: {
|
|
46
|
+
gap: "0.35rem",
|
|
47
|
+
flexWrap: "wrap"
|
|
48
|
+
}, children: [
|
|
49
|
+
/* @__PURE__ */ i(s, { color: "secondary", children: [
|
|
50
|
+
/* @__PURE__ */ r(j, { size: 16 }),
|
|
51
|
+
/* @__PURE__ */ r(c, { size: "xs", children: e?.flows?.count ?? 0 })
|
|
52
|
+
] }),
|
|
53
|
+
/* @__PURE__ */ i(s, { color: "secondary", children: [
|
|
54
|
+
/* @__PURE__ */ r(I, { size: 16 }),
|
|
55
|
+
/* @__PURE__ */ r(c, { size: "xs", children: e?.runtimes?.count ?? 0 })
|
|
56
|
+
] }),
|
|
57
|
+
d && /* @__PURE__ */ i(s, { color: "secondary", children: [
|
|
58
|
+
/* @__PURE__ */ r(x, { size: 16 }),
|
|
59
|
+
/* @__PURE__ */ r(c, { size: "xs", children: d.name })
|
|
60
|
+
] })
|
|
61
|
+
] }),
|
|
62
|
+
e?.userAbilities?.deleteNamespaceProject || e?.userAbilities?.updateNamespaceProject ? /* @__PURE__ */ r(_, { color: "secondary", onClick: () => g(y), children: /* @__PURE__ */ r(R, { size: 16 }) }) : null
|
|
63
|
+
] })
|
|
64
|
+
] });
|
|
65
|
+
};
|
|
66
|
+
export {
|
|
67
|
+
X as DNamespaceProjectContent
|
|
68
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { NamespaceProject } from '@code0-tech/sagittarius-graphql-types';
|
|
3
|
+
import { Card } from '../card/Card';
|
|
4
|
+
import { DNamespaceProjectView } from './DNamespaceProject.view';
|
|
5
|
+
export interface DNamespaceProjectListProps extends Omit<Card, "children"> {
|
|
6
|
+
filter?: (project: DNamespaceProjectView, index: number) => boolean;
|
|
7
|
+
onSetting?: (projectId: NamespaceProject["id"]) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const DNamespaceProjectList: React.FC<DNamespaceProjectListProps>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import a from "react";
|
|
3
|
+
import { Card as d } from "../card/Card.js";
|
|
4
|
+
import { useService as f, useStore as u } from "../../utils/contextStore.js";
|
|
5
|
+
import "merge-props";
|
|
6
|
+
import { DNamespaceProjectReactiveService as t } from "./DNamespaceProject.service.js";
|
|
7
|
+
import S from "../card/CardSection.js";
|
|
8
|
+
import { DNamespaceProjectContent as j } from "./DNamespaceProjectContent.js";
|
|
9
|
+
const R = (o) => {
|
|
10
|
+
const {
|
|
11
|
+
filter: i = () => !0,
|
|
12
|
+
onSetting: c,
|
|
13
|
+
...m
|
|
14
|
+
} = o, s = f(t), p = u(t), n = a.useMemo(() => s.values(), [p]);
|
|
15
|
+
return /* @__PURE__ */ r(d, { ...m, children: n.filter(i).map((e) => e.id && /* @__PURE__ */ r(S, { border: !0, children: /* @__PURE__ */ r(j, { onSetting: c, projectId: e?.id }) }, e.id)) });
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
R as DNamespaceProjectList
|
|
19
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { MenuProps } from '
|
|
2
|
+
import { MenuProps } from '../menu/Menu';
|
|
3
3
|
import { Scalars } from '@code0-tech/sagittarius-graphql-types';
|
|
4
4
|
export interface DNamespaceProjectMenuProps extends MenuProps {
|
|
5
5
|
projectId: Scalars['NamespaceProjectID']['output'];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsxs as m, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import s from "react";
|
|
3
|
-
import { Menu as u, MenuTrigger as d, MenuPortal as l, MenuContent as f, MenuItem as p } from "
|
|
3
|
+
import { Menu as u, MenuTrigger as d, MenuPortal as l, MenuContent as f, MenuItem as p } from "../menu/Menu.js";
|
|
4
4
|
import { DNamespaceProjectReactiveService as o } from "./DNamespaceProject.service.js";
|
|
5
|
-
import { useService as c } from "
|
|
6
|
-
import { Button as h } from "
|
|
5
|
+
import { useService as c } from "../../utils/contextStore.js";
|
|
6
|
+
import { Button as h } from "../button/Button.js";
|
|
7
7
|
const x = (t) => {
|
|
8
8
|
const n = c(o), i = c(o), a = n.getById(t.projectId);
|
|
9
9
|
return s.useMemo(() => /* @__PURE__ */ m(u, { ...t, children: [
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DNamespaceProjectReactiveService as L } from "./DNamespaceProject.service.js";
|
|
2
|
+
import { DNamespaceProjectView as S } from "./DNamespaceProject.view.js";
|
|
3
|
+
import "react/jsx-runtime";
|
|
4
|
+
import "../../_virtual/compiler-runtime.js";
|
|
5
|
+
import '../../assets/components/badge/Badge.style.css';import '../../assets/components/menu/Menu.style.css';import '../../assets/components/avatar/Avatar.style.css';import '../../assets/components/spacing/Spacing.style.css';import '../../assets/components/text/Text.style.css';import '../../assets/components/flex/Flex.style.css';import '../../assets/components/card/Card.style.css';/* empty css */
|
|
6
|
+
import "react";
|
|
7
|
+
import "merge-props";
|
|
8
|
+
import "../../utils/contextStore.js";
|
|
9
|
+
/* empty css */
|
|
10
|
+
/* empty css */
|
|
11
|
+
import "@tabler/icons-react";
|
|
12
|
+
import "../button/Button.js";
|
|
13
|
+
/* empty css */
|
|
14
|
+
import "js-md5";
|
|
15
|
+
/* empty css */
|
|
16
|
+
/* empty css */
|
|
17
|
+
import "@radix-ui/react-dropdown-menu";
|
|
18
|
+
/* empty css */
|
|
19
|
+
import { DNamespaceProjectList as b } from "./DNamespaceProjectList.js";
|
|
20
|
+
export {
|
|
21
|
+
b as DNamespaceProjectList,
|
|
22
|
+
L as DNamespaceProjectReactiveService,
|
|
23
|
+
S as DNamespaceProjectView
|
|
24
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactiveArrayService } from '
|
|
1
|
+
import { ReactiveArrayService } from '../../utils/reactiveArrayService';
|
|
2
2
|
import { DNamespaceRoleView } from './DNamespaceRole.view';
|
|
3
3
|
import { NamespaceRole, NamespacesRolesAssignAbilitiesInput, NamespacesRolesAssignAbilitiesPayload, NamespacesRolesAssignProjectsInput, NamespacesRolesAssignProjectsPayload, NamespacesRolesCreateInput, NamespacesRolesCreatePayload, NamespacesRolesDeleteInput, NamespacesRolesDeletePayload } from '@code0-tech/sagittarius-graphql-types';
|
|
4
4
|
export declare abstract class DNamespaceRoleReactiveService extends ReactiveArrayService<DNamespaceRoleView> {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactiveArrayService as i } from "
|
|
1
|
+
import { ReactiveArrayService as i } from "../../utils/reactiveArrayService.js";
|
|
2
2
|
class c extends i {
|
|
3
3
|
//TODO: inject UI error handler for toasts
|
|
4
4
|
//inject: namespaceId because the runtimes query needs it
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataTypeConnection, FlowTypeConnection, Maybe, Namespace, NamespaceProjectConnection, Runtime, RuntimeStatusType, Scalars } from '@code0-tech/sagittarius-graphql-types';
|
|
1
|
+
import { DataTypeConnection, FlowTypeConnection, Maybe, Namespace, NamespaceProjectConnection, Runtime, RuntimeStatusType, RuntimeUserAbilities, Scalars } from '@code0-tech/sagittarius-graphql-types';
|
|
2
2
|
export declare class DRuntimeView {
|
|
3
3
|
/** Time when this Runtime was created */
|
|
4
4
|
private readonly _createdAt?;
|
|
@@ -22,6 +22,8 @@ export declare class DRuntimeView {
|
|
|
22
22
|
private readonly _token?;
|
|
23
23
|
/** Time when this Runtime was last updated */
|
|
24
24
|
private readonly _updatedAt?;
|
|
25
|
+
/** Abilities for the current user on this Runtime */
|
|
26
|
+
private readonly _userAbilities?;
|
|
25
27
|
constructor(payload: Runtime);
|
|
26
28
|
get createdAt(): Maybe<Scalars["Time"]["output"]> | undefined;
|
|
27
29
|
get dataTypes(): Maybe<DataTypeConnection> | undefined;
|
|
@@ -34,5 +36,6 @@ export declare class DRuntimeView {
|
|
|
34
36
|
get status(): Maybe<RuntimeStatusType> | undefined;
|
|
35
37
|
get token(): Maybe<Scalars["String"]["output"]> | undefined;
|
|
36
38
|
get updatedAt(): Maybe<Scalars["Time"]["output"]> | undefined;
|
|
39
|
+
get userAbilities(): Maybe<RuntimeUserAbilities> | undefined;
|
|
37
40
|
json(): Runtime;
|
|
38
41
|
}
|
|
@@ -15,9 +15,9 @@ function o(e, t) {
|
|
|
15
15
|
}
|
|
16
16
|
return (t === "string" ? String : Number)(e);
|
|
17
17
|
}
|
|
18
|
-
class
|
|
18
|
+
class u {
|
|
19
19
|
constructor(t) {
|
|
20
|
-
i(this, "_createdAt", void 0), i(this, "_dataTypes", void 0), i(this, "_description", void 0), i(this, "_flowTypes", void 0), i(this, "_id", void 0), i(this, "_name", void 0), i(this, "_namespace", void 0), i(this, "_projects", void 0), i(this, "_status", void 0), i(this, "_token", void 0), i(this, "_updatedAt", void 0), this._createdAt = t.createdAt, this._dataTypes = t.dataTypes, this._description = t.description, this._flowTypes = t.flowTypes, this._id = t.id, this._name = t.name, this._namespace = t.namespace, this._projects = t.projects, this._status = t.status, this._token = t.token, this._updatedAt = t.updatedAt;
|
|
20
|
+
i(this, "_createdAt", void 0), i(this, "_dataTypes", void 0), i(this, "_description", void 0), i(this, "_flowTypes", void 0), i(this, "_id", void 0), i(this, "_name", void 0), i(this, "_namespace", void 0), i(this, "_projects", void 0), i(this, "_status", void 0), i(this, "_token", void 0), i(this, "_updatedAt", void 0), i(this, "_userAbilities", void 0), this._createdAt = t.createdAt, this._dataTypes = t.dataTypes, this._description = t.description, this._flowTypes = t.flowTypes, this._id = t.id, this._name = t.name, this._namespace = t.namespace, this._projects = t.projects, this._status = t.status, this._token = t.token, this._updatedAt = t.updatedAt, this._userAbilities = t.userAbilities;
|
|
21
21
|
}
|
|
22
22
|
get createdAt() {
|
|
23
23
|
return this._createdAt;
|
|
@@ -52,6 +52,9 @@ class a {
|
|
|
52
52
|
get updatedAt() {
|
|
53
53
|
return this._updatedAt;
|
|
54
54
|
}
|
|
55
|
+
get userAbilities() {
|
|
56
|
+
return this._userAbilities;
|
|
57
|
+
}
|
|
55
58
|
json() {
|
|
56
59
|
return {
|
|
57
60
|
createdAt: this._createdAt,
|
|
@@ -69,5 +72,5 @@ class a {
|
|
|
69
72
|
}
|
|
70
73
|
}
|
|
71
74
|
export {
|
|
72
|
-
|
|
75
|
+
u as DRuntimeView
|
|
73
76
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Runtime } from '@code0-tech/sagittarius-graphql-types';
|
|
2
|
+
import { default as React } from 'react';
|
|
3
|
+
export interface DRuntimeCardProps {
|
|
4
|
+
runtimeId: Runtime['id'];
|
|
5
|
+
onSetting?: (runtimeId: Runtime['id']) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const DRuntimeCard: React.FC<DRuntimeCardProps>;
|