@principal-ai/subsystems-react 0.51.0 → 0.51.2
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/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/pierre/PierreTrailCodeView.d.ts +1 -1
- package/dist/pierre/PierreTrailCodeView.d.ts.map +1 -1
- package/dist/pierre/PierreTrailCodeView.js +44 -21
- package/dist/pierre/PierreTrailCodeView.js.map +1 -1
- package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.d.ts +493 -0
- package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.d.ts.map +1 -0
- package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.js +329 -0
- package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.js.map +1 -0
- package/dist/subsystem/C4Graph.d.ts +2 -2
- package/dist/subsystem/C4Graph.d.ts.map +1 -1
- package/dist/subsystem/C4Graph.js +25 -16
- package/dist/subsystem/C4Graph.js.map +1 -1
- package/dist/subsystem/C4NodeCard.d.ts +85 -35
- package/dist/subsystem/C4NodeCard.d.ts.map +1 -1
- package/dist/subsystem/C4NodeCard.js +112 -83
- package/dist/subsystem/C4NodeCard.js.map +1 -1
- package/dist/subsystem/FileDrawer.d.ts.map +1 -1
- package/dist/subsystem/FileDrawer.js +20 -21
- package/dist/subsystem/FileDrawer.js.map +1 -1
- package/dist/subsystem/IssueList.d.ts.map +1 -1
- package/dist/subsystem/IssueList.js +12 -3
- package/dist/subsystem/IssueList.js.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.js +85 -7
- package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
- package/dist/subsystem/c4.d.ts +273 -0
- package/dist/subsystem/c4.d.ts.map +1 -0
- package/dist/subsystem/c4.js +322 -0
- package/dist/subsystem/c4.js.map +1 -0
- package/dist/subsystem/c4Evidence.d.ts +143 -0
- package/dist/subsystem/c4Evidence.d.ts.map +1 -0
- package/dist/subsystem/c4Evidence.js +240 -0
- package/dist/subsystem/c4Evidence.js.map +1 -0
- package/dist/subsystem/model.d.ts +2 -6
- package/dist/subsystem/model.d.ts.map +1 -1
- package/dist/subsystem/model.js.map +1 -1
- package/package.json +5 -4
- package/src/index.ts +26 -28
- package/src/pierre/PierreTrailCodeView.tsx +49 -21
- package/src/stories/Subsystem/C4Graph/C4NodeGallery.stories.tsx +171 -80
- package/src/stories/Subsystem/C4Graph/ProposedElements.stories.tsx +293 -0
- package/src/stories/Subsystem/C4Graph/c4ProposedElements.fixture.ts +366 -0
- package/src/stories/Subsystem/ComponentGraph/IssueOverlay.stories.tsx +1 -1
- package/src/stories/Subsystem/ComponentGraph/Issues.stories.tsx +169 -3
- package/src/subsystem/C4Graph.tsx +39 -24
- package/src/subsystem/C4NodeCard.test.ts +204 -62
- package/src/subsystem/C4NodeCard.tsx +146 -101
- package/src/subsystem/FileDrawer.tsx +32 -34
- package/src/subsystem/IssueList.tsx +13 -2
- package/src/subsystem/SubsystemComponentGraph.tsx +98 -7
- package/src/subsystem/c4.test.ts +573 -0
- package/src/subsystem/c4.ts +559 -0
- package/src/subsystem/c4Evidence.test.ts +386 -0
- package/src/subsystem/c4Evidence.ts +329 -0
- package/src/subsystem/model.ts +2 -6
- package/dist/stories/Subsystem/C4Graph/c4Associations.fixture.d.ts +0 -95
- package/dist/stories/Subsystem/C4Graph/c4Associations.fixture.d.ts.map +0 -1
- package/dist/stories/Subsystem/C4Graph/c4Associations.fixture.js +0 -340
- package/dist/stories/Subsystem/C4Graph/c4Associations.fixture.js.map +0 -1
- package/dist/stories/Subsystem/C4Graph/c4Fixture.d.ts +0 -7
- package/dist/stories/Subsystem/C4Graph/c4Fixture.d.ts.map +0 -1
- package/dist/stories/Subsystem/C4Graph/c4Fixture.js +0 -7335
- package/dist/stories/Subsystem/C4Graph/c4Fixture.js.map +0 -1
- package/dist/stories/Subsystem/C4Graph/generateFixture.d.ts +0 -2
- package/dist/stories/Subsystem/C4Graph/generateFixture.d.ts.map +0 -1
- package/dist/stories/Subsystem/C4Graph/generateFixture.js +0 -145
- package/dist/stories/Subsystem/C4Graph/generateFixture.js.map +0 -1
- package/dist/subsystem/c4Associations.d.ts +0 -186
- package/dist/subsystem/c4Associations.d.ts.map +0 -1
- package/dist/subsystem/c4Associations.js +0 -284
- package/dist/subsystem/c4Associations.js.map +0 -1
- package/dist/subsystem/toC4.d.ts +0 -214
- package/dist/subsystem/toC4.d.ts.map +0 -1
- package/dist/subsystem/toC4.js +0 -282
- package/dist/subsystem/toC4.js.map +0 -1
- package/src/stories/Subsystem/C4Graph/C4Associations.stories.tsx +0 -273
- package/src/stories/Subsystem/C4Graph/C4Container.stories.tsx +0 -101
- package/src/stories/Subsystem/C4Graph/c4Associations.fixture.ts +0 -344
- package/src/stories/Subsystem/C4Graph/c4Fixture.ts +0 -7339
- package/src/stories/Subsystem/C4Graph/generateFixture.ts +0 -161
- package/src/subsystem/c4Associations.test.ts +0 -484
- package/src/subsystem/c4Associations.ts +0 -398
- package/src/subsystem/toC4.test.ts +0 -114
- package/src/subsystem/toC4.ts +0 -478
|
@@ -7,69 +7,119 @@
|
|
|
7
7
|
*
|
|
8
8
|
* The encoding has one job: make confirmation state legible at a glance. A box
|
|
9
9
|
* nobody has looked at must not read the same as a box a person signed off.
|
|
10
|
-
*
|
|
11
|
-
* surfaced in the order a
|
|
10
|
+
* Kind says what the box is — shape, size, and a written tag — and everything
|
|
11
|
+
* else in C4 notation (technology, description) is surfaced in the order a
|
|
12
|
+
* reader wants it.
|
|
12
13
|
*/
|
|
13
14
|
/// <reference types="react" />
|
|
14
15
|
import { useTheme } from '@principal-ade/industry-theme';
|
|
15
|
-
import type {
|
|
16
|
+
import type { LucideIcon } from 'lucide-react';
|
|
17
|
+
import type { C4Node } from './c4';
|
|
16
18
|
/**
|
|
17
|
-
* Card box
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* what lets the `needs …` marker sit on its own line instead of clipping.
|
|
19
|
+
* Card box for a container: a wide rectangle. A container carries four things
|
|
20
|
+
* at once (tag, label, type + technology, and the notation gap it still has),
|
|
21
|
+
* and a strip would force the last two to truncate.
|
|
21
22
|
*/
|
|
22
23
|
export declare const NODE_W = 210;
|
|
23
24
|
export declare const NODE_H = 138;
|
|
25
|
+
/**
|
|
26
|
+
* A component is a proper square — equal sides, and visibly smaller than the
|
|
27
|
+
* container it sits inside. Square-vs-rectangle is the clearest signal that
|
|
28
|
+
* these are different C4 levels, and it survives grayscale and colour-blind
|
|
29
|
+
* reading where a border-weight difference alone does not.
|
|
30
|
+
*/
|
|
31
|
+
export declare const COMPONENT_SIZE = 132;
|
|
32
|
+
/**
|
|
33
|
+
* Per-level box size. The graph lays out against these, so a square component
|
|
34
|
+
* and a rectangular container do not collide at a shared nominal width.
|
|
35
|
+
*/
|
|
36
|
+
export declare function nodeSize(node: C4Node): {
|
|
37
|
+
width: number;
|
|
38
|
+
height: number;
|
|
39
|
+
};
|
|
24
40
|
type Theme = ReturnType<typeof useTheme>['theme'];
|
|
25
41
|
export interface NodeStyle {
|
|
26
42
|
color: string;
|
|
27
|
-
dash:
|
|
43
|
+
dash: 'solid' | 'dashed' | 'dotted';
|
|
28
44
|
width: number;
|
|
29
45
|
}
|
|
30
46
|
/**
|
|
31
|
-
* Border style
|
|
47
|
+
* Border style for one node: colour, dash and weight, from confirmation state
|
|
48
|
+
* and level.
|
|
49
|
+
*
|
|
50
|
+
* One axis per channel, so nothing is said twice and nothing is contradicted:
|
|
51
|
+
*
|
|
52
|
+
* colour + dash → confirmation state (the primary axis)
|
|
53
|
+
* weight → C4 level, as a grayscale redundancy for the square
|
|
54
|
+
* shape + size → C4 kind (`nodeShape`, `nodeSize`)
|
|
32
55
|
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
56
|
+
* State owning the dash is deliberate. An earlier build gave the dash to kind
|
|
57
|
+
* and drew proposed boxes solid, quietly contradicting the one thing the
|
|
58
|
+
* confirm UI needs a reader to see. Kind now says itself through shape, and
|
|
59
|
+
* the border says who vouched for it.
|
|
36
60
|
*/
|
|
37
61
|
export declare function nodeStyle(node: C4Node, theme: Theme, selected?: boolean): NodeStyle;
|
|
38
|
-
/** The type + technology line under the label. */
|
|
39
|
-
export declare function nodeSubtitle(node: C4Node): string;
|
|
40
62
|
/**
|
|
41
|
-
* The
|
|
63
|
+
* The kind + technology line under the label.
|
|
42
64
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
|
|
65
|
+
* The container kind moved up to the icon row (see `nodeTypeLabel`), so it is
|
|
66
|
+
* not repeated here. Technology is the remaining confirmed attribute; without
|
|
67
|
+
* one we fall back to what the document told us.
|
|
68
|
+
*/
|
|
69
|
+
export declare function nodeSubtitle(node: C4Node): string;
|
|
70
|
+
/**
|
|
71
|
+
* What the box IS — its C4 kind. An accepted container is still a container;
|
|
72
|
+
* collapsing the two is what once made containers and components unreadable.
|
|
73
|
+
* Confirmation state is a separate axis carried by the border (see
|
|
74
|
+
* `nodeStyle`), not by a word on the card.
|
|
47
75
|
*/
|
|
48
76
|
export declare function nodeTag(node: C4Node): string;
|
|
49
77
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
78
|
+
* The glyph for the C4 kind, shown in place of a word. The kind is already
|
|
79
|
+
* carried by the box shape (see `nodeShape`); the icon lets the top row spend
|
|
80
|
+
* its one piece of text on the container's kind instead of repeating
|
|
81
|
+
* "container".
|
|
52
82
|
*/
|
|
53
|
-
export declare function
|
|
83
|
+
export declare function nodeKindIcon(node: C4Node): LucideIcon;
|
|
84
|
+
/**
|
|
85
|
+
* The word beside the kind icon: what sort of container this is — C4's two,
|
|
86
|
+
* `application` or `data-store`. The other three kinds have no such subtype,
|
|
87
|
+
* so they show nothing; the icon and shape are the whole label.
|
|
88
|
+
*/
|
|
89
|
+
export declare function nodeTypeLabel(node: C4Node): string | undefined;
|
|
90
|
+
/** How a box is drawn. Shape carries the C4 kind, independent of colour. */
|
|
91
|
+
export type C4ShapeKind = 'rect' | 'square' | 'pill';
|
|
92
|
+
export interface NodeShape {
|
|
93
|
+
kind: C4ShapeKind;
|
|
94
|
+
/** Corner radius, for the shapes that use one. */
|
|
95
|
+
radius: number;
|
|
96
|
+
}
|
|
54
97
|
/**
|
|
55
|
-
* Shape cue for the C4
|
|
98
|
+
* Shape cue for the C4 kind, independent of colour and dash — both of which
|
|
99
|
+
* belong to confirmation state.
|
|
56
100
|
*
|
|
57
|
-
* Colour alone is not enough: a container and a component with no association
|
|
58
|
-
* both fall back to the muted border, so they were identical in grayscale.
|
|
59
101
|
* The convention:
|
|
60
102
|
*
|
|
61
|
-
* container
|
|
62
|
-
* component
|
|
63
|
-
* external
|
|
64
|
-
*
|
|
103
|
+
* container wide rectangle, sharp corners — a runtime boundary
|
|
104
|
+
* component square — a part inside one (see `nodeSize`)
|
|
105
|
+
* external system wide rectangle, rounded — someone else's system
|
|
106
|
+
* person pill — not a box at all
|
|
107
|
+
*
|
|
108
|
+
* An external system is separated from a container by radius alone, which is
|
|
109
|
+
* a weak cue. That is deliberate rather than an oversight: the border dash is
|
|
110
|
+
* the only channel that could say "outside our control" loudly, and it is
|
|
111
|
+
* already spent on proposed-vs-accepted. The kind icon says it, and the frame
|
|
112
|
+
* position says it structurally.
|
|
65
113
|
*/
|
|
66
|
-
export declare function nodeShape(node: C4Node):
|
|
67
|
-
radius: number;
|
|
68
|
-
dash: 'solid' | 'dashed';
|
|
69
|
-
};
|
|
114
|
+
export declare function nodeShape(node: C4Node): NodeShape;
|
|
70
115
|
/**
|
|
71
|
-
* C4 notation
|
|
72
|
-
*
|
|
116
|
+
* The gaps the C4 notation still wants on this element, named rather than left
|
|
117
|
+
* to be noticed.
|
|
118
|
+
*
|
|
119
|
+
* Containers are where the notation is strictest: it requires a technology and
|
|
120
|
+
* a description on every one. A component needs a technology too, but a
|
|
121
|
+
* component drawn without a parent already reports `unknown_container`, and
|
|
122
|
+
* that is the question worth asking first.
|
|
73
123
|
*/
|
|
74
124
|
export declare function nodeMissing(node: C4Node): string[];
|
|
75
125
|
export interface C4NodeCardProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C4NodeCard.d.ts","sourceRoot":"","sources":["../../src/subsystem/C4NodeCard.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"C4NodeCard.d.ts","sourceRoot":"","sources":["../../src/subsystem/C4NodeCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,MAAM,MAAM,CAAC;AAC1B,eAAO,MAAM,MAAM,MAAM,CAAC;AAE1B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAIxE;AAUD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,UAAQ,GAAG,SAAS,CAmBjF;AAOD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASjD;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAWrD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAWjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAMlD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,QAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,eAAe,+BAgIvF"}
|
|
@@ -8,19 +8,36 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
8
8
|
*
|
|
9
9
|
* The encoding has one job: make confirmation state legible at a glance. A box
|
|
10
10
|
* nobody has looked at must not read the same as a box a person signed off.
|
|
11
|
-
*
|
|
12
|
-
* surfaced in the order a
|
|
11
|
+
* Kind says what the box is — shape, size, and a written tag — and everything
|
|
12
|
+
* else in C4 notation (technology, description) is surfaced in the order a
|
|
13
|
+
* reader wants it.
|
|
13
14
|
*/
|
|
14
15
|
import { useTheme } from '@principal-ade/industry-theme';
|
|
16
|
+
import { Cloud, Component, Container, UserRound } from 'lucide-react';
|
|
15
17
|
import { describeConstructBreakdown } from './model';
|
|
16
18
|
/**
|
|
17
|
-
* Card box
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* what lets the `needs …` marker sit on its own line instead of clipping.
|
|
19
|
+
* Card box for a container: a wide rectangle. A container carries four things
|
|
20
|
+
* at once (tag, label, type + technology, and the notation gap it still has),
|
|
21
|
+
* and a strip would force the last two to truncate.
|
|
21
22
|
*/
|
|
22
23
|
export const NODE_W = 210;
|
|
23
24
|
export const NODE_H = 138;
|
|
25
|
+
/**
|
|
26
|
+
* A component is a proper square — equal sides, and visibly smaller than the
|
|
27
|
+
* container it sits inside. Square-vs-rectangle is the clearest signal that
|
|
28
|
+
* these are different C4 levels, and it survives grayscale and colour-blind
|
|
29
|
+
* reading where a border-weight difference alone does not.
|
|
30
|
+
*/
|
|
31
|
+
export const COMPONENT_SIZE = 132;
|
|
32
|
+
/**
|
|
33
|
+
* Per-level box size. The graph lays out against these, so a square component
|
|
34
|
+
* and a rectangular container do not collide at a shared nominal width.
|
|
35
|
+
*/
|
|
36
|
+
export function nodeSize(node) {
|
|
37
|
+
return node.kind === 'component'
|
|
38
|
+
? { width: COMPONENT_SIZE, height: COMPONENT_SIZE }
|
|
39
|
+
: { width: NODE_W, height: NODE_H };
|
|
40
|
+
}
|
|
24
41
|
/**
|
|
25
42
|
* Fixed slot heights, so rows line up across every card regardless of which
|
|
26
43
|
* optional fields are present. Without these a card missing its notation-gap
|
|
@@ -29,20 +46,28 @@ export const NODE_H = 138;
|
|
|
29
46
|
const LABEL_SLOT_H = 40;
|
|
30
47
|
const GAP_SLOT_H = 18;
|
|
31
48
|
/**
|
|
32
|
-
* Border style
|
|
49
|
+
* Border style for one node: colour, dash and weight, from confirmation state
|
|
50
|
+
* and level.
|
|
51
|
+
*
|
|
52
|
+
* One axis per channel, so nothing is said twice and nothing is contradicted:
|
|
33
53
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
54
|
+
* colour + dash → confirmation state (the primary axis)
|
|
55
|
+
* weight → C4 level, as a grayscale redundancy for the square
|
|
56
|
+
* shape + size → C4 kind (`nodeShape`, `nodeSize`)
|
|
57
|
+
*
|
|
58
|
+
* State owning the dash is deliberate. An earlier build gave the dash to kind
|
|
59
|
+
* and drew proposed boxes solid, quietly contradicting the one thing the
|
|
60
|
+
* confirm UI needs a reader to see. Kind now says itself through shape, and
|
|
61
|
+
* the border says who vouched for it.
|
|
37
62
|
*/
|
|
38
63
|
export function nodeStyle(node, theme, selected = false) {
|
|
39
64
|
const muted = theme.colors.border ?? '#555';
|
|
40
65
|
if (selected)
|
|
41
66
|
return { color: theme.colors.primary ?? '#5aa', dash: 'solid', width: 3 };
|
|
42
|
-
// Border
|
|
67
|
+
// Border weight carries the level, so a component stays a component even
|
|
43
68
|
// in grayscale or for a reader who cannot separate the hues.
|
|
44
69
|
const weight = node.kind === 'component' ? 1 : 2;
|
|
45
|
-
switch (node.
|
|
70
|
+
switch (node.state) {
|
|
46
71
|
case 'accepted':
|
|
47
72
|
// Solid and saturated — part of the architecture now.
|
|
48
73
|
return { color: theme.colors.primary ?? '#4ec9b0', dash: 'solid', width: weight };
|
|
@@ -50,32 +75,25 @@ export function nodeStyle(node, theme, selected = false) {
|
|
|
50
75
|
// Dashed — an agent asked; a human has not answered.
|
|
51
76
|
return { color: theme.colors.warning ?? '#e8a33a', dash: 'dashed', width: weight };
|
|
52
77
|
case 'rejected':
|
|
53
|
-
// Should never be drawn (
|
|
78
|
+
// Should never be drawn (buildC4Model drops it); belt-and-braces.
|
|
54
79
|
return { color: muted, dash: 'dotted', width: 1 };
|
|
55
|
-
default:
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
// No association at all — the raw derivation. Muted, so confirmed boxes
|
|
59
|
-
// read as the stronger signal.
|
|
60
|
-
switch (node.kind) {
|
|
61
|
-
case 'external':
|
|
62
|
-
return { color: theme.colors.warning ?? '#a78bfa', dash: 'solid', width: weight };
|
|
63
|
-
case 'actor':
|
|
64
|
-
return { color: theme.colors.accent ?? theme.colors.info ?? '#e3b341', dash: 'solid', width: weight };
|
|
65
|
-
default:
|
|
66
|
-
return { color: muted, dash: 'solid', width: weight };
|
|
67
80
|
}
|
|
68
81
|
}
|
|
69
82
|
function baseName(path) {
|
|
70
83
|
const parts = path.split('/').filter(Boolean);
|
|
71
84
|
return parts[parts.length - 1] ?? path;
|
|
72
85
|
}
|
|
73
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* The kind + technology line under the label.
|
|
88
|
+
*
|
|
89
|
+
* The container kind moved up to the icon row (see `nodeTypeLabel`), so it is
|
|
90
|
+
* not repeated here. Technology is the remaining confirmed attribute; without
|
|
91
|
+
* one we fall back to what the document told us.
|
|
92
|
+
*/
|
|
74
93
|
export function nodeSubtitle(node) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
// No confirmed attributes: fall back to what the document told us.
|
|
94
|
+
if (node.technology)
|
|
95
|
+
return node.technology;
|
|
96
|
+
// No stated technology: fall back to what the document told us.
|
|
79
97
|
if (node.kind === 'component') {
|
|
80
98
|
return `${node.component?.construct ?? 'code'}${node.component?.file ? ` · ${baseName(node.component.file)}` : ''}`;
|
|
81
99
|
}
|
|
@@ -83,67 +101,85 @@ export function nodeSubtitle(node) {
|
|
|
83
101
|
return `${describeConstructBreakdown(node.constructs)}${count > 0 ? ` · ${count} component${count === 1 ? '' : 's'}` : ''}`;
|
|
84
102
|
}
|
|
85
103
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* reviewed it; collapsing the two into one label is what made the two
|
|
91
|
-
* indistinguishable. Confirmation is a separate axis (`nodeStateTag`).
|
|
104
|
+
* What the box IS — its C4 kind. An accepted container is still a container;
|
|
105
|
+
* collapsing the two is what once made containers and components unreadable.
|
|
106
|
+
* Confirmation state is a separate axis carried by the border (see
|
|
107
|
+
* `nodeStyle`), not by a word on the card.
|
|
92
108
|
*/
|
|
93
109
|
export function nodeTag(node) {
|
|
94
110
|
return node.kind;
|
|
95
111
|
}
|
|
96
112
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
113
|
+
* The glyph for the C4 kind, shown in place of a word. The kind is already
|
|
114
|
+
* carried by the box shape (see `nodeShape`); the icon lets the top row spend
|
|
115
|
+
* its one piece of text on the container's kind instead of repeating
|
|
116
|
+
* "container".
|
|
99
117
|
*/
|
|
100
|
-
export function
|
|
101
|
-
switch (node.
|
|
102
|
-
case '
|
|
103
|
-
return
|
|
104
|
-
case '
|
|
105
|
-
return
|
|
106
|
-
case '
|
|
107
|
-
return
|
|
108
|
-
|
|
109
|
-
return
|
|
118
|
+
export function nodeKindIcon(node) {
|
|
119
|
+
switch (node.kind) {
|
|
120
|
+
case 'container':
|
|
121
|
+
return Container;
|
|
122
|
+
case 'component':
|
|
123
|
+
return Component;
|
|
124
|
+
case 'external-system':
|
|
125
|
+
return Cloud;
|
|
126
|
+
case 'person':
|
|
127
|
+
return UserRound;
|
|
110
128
|
}
|
|
111
129
|
}
|
|
112
130
|
/**
|
|
113
|
-
*
|
|
131
|
+
* The word beside the kind icon: what sort of container this is — C4's two,
|
|
132
|
+
* `application` or `data-store`. The other three kinds have no such subtype,
|
|
133
|
+
* so they show nothing; the icon and shape are the whole label.
|
|
134
|
+
*/
|
|
135
|
+
export function nodeTypeLabel(node) {
|
|
136
|
+
return node.kind === 'container' ? node.containerKind : undefined;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Shape cue for the C4 kind, independent of colour and dash — both of which
|
|
140
|
+
* belong to confirmation state.
|
|
114
141
|
*
|
|
115
|
-
* Colour alone is not enough: a container and a component with no association
|
|
116
|
-
* both fall back to the muted border, so they were identical in grayscale.
|
|
117
142
|
* The convention:
|
|
118
143
|
*
|
|
119
|
-
* container
|
|
120
|
-
* component
|
|
121
|
-
* external
|
|
122
|
-
*
|
|
144
|
+
* container wide rectangle, sharp corners — a runtime boundary
|
|
145
|
+
* component square — a part inside one (see `nodeSize`)
|
|
146
|
+
* external system wide rectangle, rounded — someone else's system
|
|
147
|
+
* person pill — not a box at all
|
|
148
|
+
*
|
|
149
|
+
* An external system is separated from a container by radius alone, which is
|
|
150
|
+
* a weak cue. That is deliberate rather than an oversight: the border dash is
|
|
151
|
+
* the only channel that could say "outside our control" loudly, and it is
|
|
152
|
+
* already spent on proposed-vs-accepted. The kind icon says it, and the frame
|
|
153
|
+
* position says it structurally.
|
|
123
154
|
*/
|
|
124
155
|
export function nodeShape(node) {
|
|
125
156
|
switch (node.kind) {
|
|
126
|
-
case '
|
|
127
|
-
return { radius: NODE_H / 2
|
|
128
|
-
case 'external':
|
|
129
|
-
return {
|
|
157
|
+
case 'person':
|
|
158
|
+
return { kind: 'pill', radius: NODE_H / 2 };
|
|
159
|
+
case 'external-system':
|
|
160
|
+
return { kind: 'rect', radius: 14 };
|
|
130
161
|
case 'component':
|
|
131
|
-
return {
|
|
162
|
+
return { kind: 'square', radius: 6 };
|
|
132
163
|
default:
|
|
133
|
-
return {
|
|
164
|
+
return { kind: 'rect', radius: 4 };
|
|
134
165
|
}
|
|
135
166
|
}
|
|
136
167
|
/**
|
|
137
|
-
* C4 notation
|
|
138
|
-
*
|
|
168
|
+
* The gaps the C4 notation still wants on this element, named rather than left
|
|
169
|
+
* to be noticed.
|
|
170
|
+
*
|
|
171
|
+
* Containers are where the notation is strictest: it requires a technology and
|
|
172
|
+
* a description on every one. A component needs a technology too, but a
|
|
173
|
+
* component drawn without a parent already reports `unknown_container`, and
|
|
174
|
+
* that is the question worth asking first.
|
|
139
175
|
*/
|
|
140
176
|
export function nodeMissing(node) {
|
|
141
177
|
if (node.kind !== 'container')
|
|
142
178
|
return [];
|
|
143
179
|
const missing = [];
|
|
144
|
-
if (!node.
|
|
180
|
+
if (!node.technology)
|
|
145
181
|
missing.push('technology');
|
|
146
|
-
if (!node.
|
|
182
|
+
if (!node.description)
|
|
147
183
|
missing.push('description');
|
|
148
184
|
return missing;
|
|
149
185
|
}
|
|
@@ -153,10 +189,12 @@ export function C4NodeCard({ node, selected = false, handles, onClick }) {
|
|
|
153
189
|
const style = nodeStyle(node, theme, selected);
|
|
154
190
|
const shape = nodeShape(node);
|
|
155
191
|
const missing = nodeMissing(node);
|
|
156
|
-
const
|
|
192
|
+
const Icon = nodeKindIcon(node);
|
|
193
|
+
const typeLabel = nodeTypeLabel(node);
|
|
194
|
+
const size = nodeSize(node);
|
|
157
195
|
return (_jsxs("div", { onClick: onClick, style: {
|
|
158
|
-
width:
|
|
159
|
-
minHeight:
|
|
196
|
+
width: size.width,
|
|
197
|
+
minHeight: size.height,
|
|
160
198
|
boxSizing: 'border-box',
|
|
161
199
|
display: 'flex',
|
|
162
200
|
flexDirection: 'column',
|
|
@@ -174,30 +212,21 @@ export function C4NodeCard({ node, selected = false, handles, onClick }) {
|
|
|
174
212
|
fontFamily: theme.fonts.body,
|
|
175
213
|
}, children: [_jsxs("span", { style: {
|
|
176
214
|
display: 'flex',
|
|
177
|
-
alignItems: '
|
|
215
|
+
alignItems: 'center',
|
|
178
216
|
gap: 6,
|
|
179
217
|
fontFamily: theme.fonts.monospace,
|
|
180
218
|
fontSize: theme.fontSizes[0],
|
|
219
|
+
color: style.color,
|
|
181
220
|
letterSpacing: 0.5,
|
|
182
221
|
textTransform: 'uppercase',
|
|
183
|
-
|
|
184
|
-
|
|
222
|
+
minWidth: 0,
|
|
223
|
+
}, children: [_jsx("span", { title: nodeTag(node), "aria-label": nodeTag(node), style: { display: 'inline-flex', flexShrink: 0 }, children: _jsx(Icon, { size: 13, strokeWidth: 2.25 }) }), typeLabel && (_jsx("span", { style: {
|
|
185
224
|
fontWeight: 600,
|
|
186
225
|
whiteSpace: 'nowrap',
|
|
187
226
|
overflow: 'hidden',
|
|
188
227
|
textOverflow: 'ellipsis',
|
|
189
228
|
minWidth: 0,
|
|
190
|
-
}, children:
|
|
191
|
-
color: unconfirmed ? muted : style.color,
|
|
192
|
-
// Unconfirmed is a quiet absence, not a loud claim.
|
|
193
|
-
opacity: unconfirmed ? 0.75 : 1,
|
|
194
|
-
letterSpacing: 0,
|
|
195
|
-
textTransform: 'none',
|
|
196
|
-
whiteSpace: 'nowrap',
|
|
197
|
-
overflow: 'hidden',
|
|
198
|
-
textOverflow: 'ellipsis',
|
|
199
|
-
minWidth: 0,
|
|
200
|
-
}, children: nodeStateTag(node) })] }), _jsx("span", { style: {
|
|
229
|
+
}, children: typeLabel }))] }), _jsx("span", { style: {
|
|
201
230
|
fontWeight: 600,
|
|
202
231
|
fontSize: theme.fontSizes[2],
|
|
203
232
|
color: theme.colors.text,
|
|
@@ -214,7 +243,7 @@ export function C4NodeCard({ node, selected = false, handles, onClick }) {
|
|
|
214
243
|
whiteSpace: 'nowrap',
|
|
215
244
|
overflow: 'hidden',
|
|
216
245
|
textOverflow: 'ellipsis',
|
|
217
|
-
}, title: node.
|
|
246
|
+
}, title: node.description ?? node.members.join(', '), children: nodeSubtitle(node) }), _jsx("span", { style: { height: GAP_SLOT_H }, "aria-hidden": "true" }), missing.length > 0 && (_jsxs("span", { title: `C4 requires a ${missing.join(' and a ')} on every container`, style: {
|
|
218
247
|
fontFamily: theme.fonts.monospace,
|
|
219
248
|
fontSize: theme.fontSizes[0],
|
|
220
249
|
color: theme.colors.warning ?? '#e8a33a',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C4NodeCard.js","sourceRoot":"","sources":["../../src/subsystem/C4NodeCard.tsx"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"C4NodeCard.js","sourceRoot":"","sources":["../../src/subsystem/C4NodeCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileDrawer.d.ts","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;2EAC2E;AAC3E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;iFAIiF;AACjF,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,UAAkB,EAClB,cAAsB,EACtB,MAAc,EACd,QAAe,EACf,QAAQ,GACT,EAAE;IACD,qDAAqD;IACrD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+
|
|
1
|
+
{"version":3,"file":"FileDrawer.d.ts","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;2EAC2E;AAC3E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;iFAIiF;AACjF,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,UAAkB,EAClB,cAAsB,EACtB,MAAc,EACd,QAAe,EACf,QAAQ,GACT,EAAE;IACD,qDAAqD;IACrD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BAyLA"}
|
|
@@ -72,17 +72,28 @@ export function FileDrawer({ title, onClose, fillHeight = false, suppressEscape
|
|
|
72
72
|
flexShrink: 0,
|
|
73
73
|
cursor: "default",
|
|
74
74
|
userSelect: "none",
|
|
75
|
-
}, children: [
|
|
75
|
+
}, children: [showProgress && progress != null && (_jsx("div", { role: "img", "aria-label": `Step ${progress.index + 1} of ${progress.total}`, style: {
|
|
76
|
+
display: "flex",
|
|
77
|
+
gap: 2,
|
|
78
|
+
flexShrink: 0,
|
|
79
|
+
}, children: Array.from({ length: progress.total }, (_, i) => (_jsx("span", { style: {
|
|
80
|
+
flex: 1,
|
|
81
|
+
height: 2,
|
|
82
|
+
borderRadius: 1,
|
|
83
|
+
background: i <= progress.index
|
|
84
|
+
? theme.colors.primary
|
|
85
|
+
: theme.colors.border,
|
|
86
|
+
} }, i))) })), _jsxs("div", { style: {
|
|
76
87
|
display: "flex",
|
|
77
88
|
alignItems: "center",
|
|
78
89
|
gap: 8,
|
|
79
|
-
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}, children: [_jsx("span", {
|
|
90
|
+
// Top runs deeper than the bottom so the title/label sits
|
|
91
|
+
// optically centered inside the sticky top edge.
|
|
92
|
+
padding: "10px 10px 8px",
|
|
93
|
+
// The header row is the last chrome row now, so its hairline is
|
|
94
|
+
// the boundary with the code below.
|
|
95
|
+
borderBottom: `1px solid ${theme.colors.border}`,
|
|
96
|
+
}, children: [_jsx("span", { style: {
|
|
86
97
|
flex: 1,
|
|
87
98
|
minWidth: 0,
|
|
88
99
|
overflow: "hidden",
|
|
@@ -118,18 +129,6 @@ export function FileDrawer({ title, onClose, fillHeight = false, suppressEscape
|
|
|
118
129
|
color: closeHover ? theme.colors.text : muted,
|
|
119
130
|
cursor: "pointer",
|
|
120
131
|
transition: "background 120ms ease, color 120ms ease",
|
|
121
|
-
}, children: _jsx(X, { size: 14 }) })] }),
|
|
122
|
-
display: "flex",
|
|
123
|
-
gap: 2,
|
|
124
|
-
flexShrink: 0,
|
|
125
|
-
padding: "0 10px 6px",
|
|
126
|
-
}, children: Array.from({ length: progress.total }, (_, i) => (_jsx("span", { style: {
|
|
127
|
-
flex: 1,
|
|
128
|
-
height: 2,
|
|
129
|
-
borderRadius: 1,
|
|
130
|
-
background: i <= progress.index
|
|
131
|
-
? theme.colors.primary
|
|
132
|
-
: theme.colors.border,
|
|
133
|
-
} }, i))) }))] }), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: "auto" }, children: children })] })] }));
|
|
132
|
+
}, children: _jsx(X, { size: 14 }) })] })] }), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: "auto" }, children: children })] })] }));
|
|
134
133
|
}
|
|
135
134
|
//# sourceMappingURL=FileDrawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileDrawer.js","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FileDrawer.js","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEvD;2EAC2E;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC;;;;iFAIiF;AACjF,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,UAAU,GAAG,KAAK,EAClB,cAAc,GAAG,KAAK,EACtB,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,IAAI,EACf,QAAQ,GAkBT;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;IACnE,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;IACvC,MAAM,YAAY,GAAG,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;IAC5D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,uEAAuE;IACvE,4EAA4E;IAC5E,4EAA4E;IAC5E,uDAAuD;IACvD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,gEAAgE;IAChE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC;IACrD,6EAA6E;IAC7E,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,IAAI,cAAc;YAAE,OAAO;QACpC,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE;YACjC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;QACpC,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAEpC,OAAO,CACL,8BAIE,6BACc,MAAM,EAClB,KAAK,EAAE;oBACL,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,UAAU,qBAAqB,SAAS;iBACrD,GACD,EAGF,eACE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;oBACT,oEAAoE;oBACpE,sEAAsE;oBACtE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;oBACvB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;oBACnC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM;oBAC7D,UAAU,EAAE,UAAU,qBAAqB,SAAS;iBACrD,aAED,eACE,aAAa,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAC5C,KAAK,EAAE;4BACL,OAAO,EAAE,MAAM;4BACf,aAAa,EAAE,QAAQ;4BACvB,UAAU,EAAE,CAAC;4BACb,MAAM,EAAE,SAAS;4BACjB,UAAU,EAAE,MAAM;yBACnB,aAEA,YAAY,IAAI,QAAQ,IAAI,IAAI,IAAI,CACnC,cACE,IAAI,EAAC,KAAK,gBACE,QAAQ,QAAQ,CAAC,KAAK,GAAG,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAC7D,KAAK,EAAE;oCACL,OAAO,EAAE,MAAM;oCACf,GAAG,EAAE,CAAC;oCACN,UAAU,EAAE,CAAC;iCACd,YAEA,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAChD,eAEE,KAAK,EAAE;wCACL,IAAI,EAAE,CAAC;wCACP,MAAM,EAAE,CAAC;wCACT,YAAY,EAAE,CAAC;wCACf,UAAU,EACR,CAAC,IAAI,QAAQ,CAAC,KAAK;4CACjB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;4CACtB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;qCAC1B,IATI,CAAC,CAUN,CACH,CAAC,GACE,CACP,EACD,eACE,KAAK,EAAE;oCACL,OAAO,EAAE,MAAM;oCACf,UAAU,EAAE,QAAQ;oCACpB,GAAG,EAAE,CAAC;oCACN,0DAA0D;oCAC1D,iDAAiD;oCACjD,OAAO,EAAE,eAAe;oCACxB,gEAAgE;oCAChE,oCAAoC;oCACpC,YAAY,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;iCACjD,aAED,eACE,KAAK,EAAE;4CACL,IAAI,EAAE,CAAC;4CACP,QAAQ,EAAE,CAAC;4CACX,QAAQ,EAAE,QAAQ;4CAClB,YAAY,EAAE,UAAU;4CACxB,UAAU,EAAE,QAAQ;4CACpB,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;4CACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;4CAC5B,UAAU,EAAE,GAAG;4CACf,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;yCACzB,YAEA,KAAK,GACD,EACP,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EACtC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EACrC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,gBAEpC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,kBAE3C,SAAS,EACvB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,EAC9D,KAAK,EAAE;4CACL,OAAO,EAAE,aAAa;4CACtB,UAAU,EAAE,QAAQ;4CACpB,cAAc,EAAE,QAAQ;4CACxB,KAAK,EAAE,EAAE;4CACT,MAAM,EAAE,EAAE;4CACV,OAAO,EAAE,CAAC;4CACV,MAAM,EAAE,MAAM;4CACd,YAAY,EAAE,CAAC;4CACf,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;4CAC1D,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;4CAC3C,MAAM,EAAE,SAAS;4CACjB,UAAU,EAAE,yCAAyC;yCACtD,YAEA,SAAS,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,GACvD,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EACvC,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,gBAC7B,YAAY,EACvB,KAAK,EAAE;4CACL,OAAO,EAAE,aAAa;4CACtB,UAAU,EAAE,QAAQ;4CACpB,cAAc,EAAE,QAAQ;4CACxB,KAAK,EAAE,EAAE;4CACT,MAAM,EAAE,EAAE;4CACV,OAAO,EAAE,CAAC;4CACV,MAAM,EAAE,MAAM;4CACd,YAAY,EAAE,CAAC;4CACf,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;4CAC5D,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;4CAC7C,MAAM,EAAE,SAAS;4CACjB,UAAU,EAAE,yCAAyC;yCACtD,YAED,KAAC,CAAC,IAAC,IAAI,EAAE,EAAE,GAAI,GACR,IACL,IACF,EACN,cAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YACpD,QAAQ,GACL,IACF,IACL,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IssueList.d.ts","sourceRoot":"","sources":["../../src/subsystem/IssueList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"IssueList.d.ts","sourceRoot":"","sources":["../../src/subsystem/IssueList.tsx"],"names":[],"mappings":"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"}
|