@brunosouzas/design-system 0.0.0-stage → 0.1.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/LICENSE +202 -0
- package/README.md +210 -2
- package/dist/scripts/cover.d.ts +25 -0
- package/dist/scripts/cover.js +157 -0
- package/dist/src/pieces/cover.d.ts +32 -0
- package/dist/src/pieces/cover.js +250 -0
- package/dist/src/pieces/eip-icons.d.ts +12 -0
- package/dist/src/pieces/eip-icons.js +525 -0
- package/dist/src/pieces/index.d.ts +9 -0
- package/dist/src/pieces/index.js +14 -0
- package/dist/src/pieces/library.d.ts +297 -0
- package/dist/src/pieces/library.js +377 -0
- package/dist/src/pieces/metro.d.ts +93 -0
- package/dist/src/pieces/metro.js +205 -0
- package/dist/src/pieces/node.d.ts +27 -0
- package/dist/src/pieces/node.js +52 -0
- package/dist/src/pieces/params.d.ts +76 -0
- package/dist/src/pieces/params.js +147 -0
- package/dist/src/pieces/piece.d.ts +9 -0
- package/dist/src/pieces/piece.js +11 -0
- package/dist/src/pieces/pose.d.ts +16 -0
- package/dist/src/pieces/pose.js +30 -0
- package/dist/src/pieces/react.d.ts +4 -0
- package/dist/src/pieces/react.js +13 -0
- package/dist/src/pieces/render.d.ts +2 -0
- package/dist/src/pieces/render.js +21 -0
- package/dist/tokens/generated/tokens.d.ts +244 -0
- package/dist/tokens/generated/tokens.js +244 -0
- package/package.json +78 -4
- package/tokens/generated/tokens.css +160 -0
- package/tokens/generated/tokens.json +243 -0
- package/tokens/generated/tokens.ts +247 -0
|
@@ -0,0 +1,525 @@
|
|
|
1
|
+
// The 26 EIP icons of the blog, as data (spec illustration-pieces, "EIP icons
|
|
2
|
+
// as data"; design §5). Imported once from the published icon files
|
|
3
|
+
// (integration-patterns-in-mulesoft/images/icons/eip-*.svg) with every colour
|
|
4
|
+
// replaced by its token; this module is now the source and is edited by hand.
|
|
5
|
+
//
|
|
6
|
+
// Credit: each icon is redrawn from the Enterprise Integration Patterns icons
|
|
7
|
+
// by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com,
|
|
8
|
+
// licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Each
|
|
9
|
+
// entry keeps that credit in its description.
|
|
10
|
+
import { tokens } from "../../tokens/generated/tokens.js";
|
|
11
|
+
const C = tokens.color;
|
|
12
|
+
const I = tokens.illustration;
|
|
13
|
+
const n = (tag, attrs, children = []) => ({ tag, attrs, children });
|
|
14
|
+
/** Every icon draws in a 64x40 box. */
|
|
15
|
+
export const EIP_ICON_WIDTH = 64;
|
|
16
|
+
export const EIP_ICON_HEIGHT = 40;
|
|
17
|
+
export const EIP_ICONS = [
|
|
18
|
+
{
|
|
19
|
+
name: "aggregator",
|
|
20
|
+
title: "Aggregator",
|
|
21
|
+
description: "Icon of the Aggregator pattern: a component turning three messages into one. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
22
|
+
nodes: [
|
|
23
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
24
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
25
|
+
n("rect", { x: "16", y: "8", width: "6", height: "6", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
26
|
+
n("rect", { x: "16", y: "16.5", width: "6", height: "6", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
27
|
+
n("rect", { x: "16", y: "25", width: "6", height: "6", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
28
|
+
n("polyline", { points: "25.5,19.5 34.5,19.5", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
29
|
+
n("polygon", { points: "38.00,19.50 33.00,22.25 33.00,16.75", fill: C.ink }),
|
|
30
|
+
n("rect", { x: "40", y: "15.5", width: "8", height: "8", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: "canonical-data-model",
|
|
35
|
+
title: "Canonical Data Model",
|
|
36
|
+
description: "Icon of the Canonical Data Model pattern: two translators on both sides of one shared message format; the book has no icon for this pattern, so this is drawn from its sketch. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
37
|
+
nodes: [
|
|
38
|
+
n("rect", { x: "4.5", y: "12.5", width: "14", height: "19", rx: "3", fill: C.ink }),
|
|
39
|
+
n("rect", { x: "2", y: "10", width: "14", height: "19", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
40
|
+
n("polyline", { points: "5,13 13,26", fill: "none", stroke: C.ink, "stroke-width": "1.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
41
|
+
n("polyline", { points: "5,26 13,13", fill: "none", stroke: C.ink, "stroke-width": "1.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
42
|
+
n("rect", { x: "49.5", y: "12.5", width: "14", height: "19", rx: "3", fill: C.ink }),
|
|
43
|
+
n("rect", { x: "47", y: "10", width: "14", height: "19", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
44
|
+
n("polyline", { points: "50,13 58,26", fill: "none", stroke: C.ink, "stroke-width": "1.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
45
|
+
n("polyline", { points: "50,26 58,13", fill: "none", stroke: C.ink, "stroke-width": "1.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
46
|
+
n("polyline", { points: "18.5,19.5 22.06,19.5", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
47
|
+
n("polygon", { points: "25.00,19.50 20.80,21.81 20.80,17.19", fill: C.ink }),
|
|
48
|
+
n("polyline", { points: "39.5,19.5 43.06,19.5", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
49
|
+
n("polygon", { points: "46.00,19.50 41.80,21.81 41.80,17.19", fill: C.ink }),
|
|
50
|
+
n("rect", { x: "28.5", y: "15.5", width: "11", height: "11", fill: C.ink }),
|
|
51
|
+
n("rect", { x: "27", y: "14", width: "11", height: "11", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
52
|
+
n("rect", { x: "29.2", y: "14.75", width: "1.9", height: "9.5", fill: C.caller }),
|
|
53
|
+
n("rect", { x: "32.1", y: "14.75", width: "1.9", height: "9.5", fill: C.caller }),
|
|
54
|
+
n("rect", { x: "35", y: "14.75", width: "1.9", height: "9.5", fill: C.caller }),
|
|
55
|
+
n("rect", { x: "27", y: "14", width: "11", height: "11", fill: "none", stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
56
|
+
],
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: "channel-adapter",
|
|
60
|
+
title: "Channel Adapter",
|
|
61
|
+
description: "Icon of the Channel Adapter pattern: an application with a wavy edge, an adapter plate, a two-way arrow and the end of a channel pipe. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
62
|
+
nodes: [
|
|
63
|
+
n("path", { d: "M4,4 H14 V35 H4 Q7.5,30 4,25 Q0.5,20 4,15 Q7.5,9.5 4,4 Z", fill: C.ink, transform: "translate(2 2)" }),
|
|
64
|
+
n("path", { d: "M4,4 H14 V35 H4 Q7.5,30 4,25 Q0.5,20 4,15 Q7.5,9.5 4,4 Z", fill: C.transitional, stroke: C.ink, "stroke-width": "1.75", "stroke-linejoin": "round" }),
|
|
65
|
+
n("polygon", { points: "16.00,6.00 26.00,11.50 26.00,31.50 16.00,37.00", fill: C.ink }),
|
|
66
|
+
n("polygon", { points: "14.00,4.00 24.00,9.50 24.00,29.50 14.00,35.00", fill: C.caller, stroke: C.ink, "stroke-width": "1.75", "stroke-linejoin": "round" }),
|
|
67
|
+
n("g", {}, [
|
|
68
|
+
n("path", { d: "M32,19.5 H39", fill: "none", stroke: C.ink, "stroke-width": "5.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
69
|
+
n("polygon", { points: "27.50,19.50 33.00,16.09 33.00,22.91", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
70
|
+
n("polygon", { points: "44.00,19.50 38.50,22.91 38.50,16.09", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
71
|
+
]),
|
|
72
|
+
n("g", {}, [
|
|
73
|
+
n("path", { d: "M32,19.5 H39", fill: "none", stroke: I.iconLine, "stroke-width": "2.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
74
|
+
n("polygon", { points: "27.50,19.50 33.00,16.09 33.00,22.91", fill: I.iconLine }),
|
|
75
|
+
n("polygon", { points: "44.00,19.50 38.50,22.91 38.50,16.09", fill: I.iconLine }),
|
|
76
|
+
]),
|
|
77
|
+
n("path", { d: "M48,14.0 H58 A2.475,5.5 0 0 1 58,25.0 H48 A2.475,5.5 0 0 1 48,14.0 Z", fill: C.ink, transform: "translate(2 2)" }),
|
|
78
|
+
n("path", { d: "M48,14.0 H58 A2.475,5.5 0 0 1 58,25.0 H48 A2.475,5.5 0 0 1 48,14.0 Z", fill: I.iconLine, stroke: C.ink, "stroke-width": "1.75", "stroke-linejoin": "round" }),
|
|
79
|
+
n("ellipse", { cx: "58", cy: "19.5", rx: "2.475", ry: "5.5", fill: C.white, stroke: C.ink, "stroke-width": "1.75" }),
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: "claim-check",
|
|
84
|
+
title: "Claim Check",
|
|
85
|
+
description: "Icon of the Claim Check pattern: a component turning a large message into a small one, with a key. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
86
|
+
nodes: [
|
|
87
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
88
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
89
|
+
n("rect", { x: "12", y: "9.5", width: "13", height: "13", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
90
|
+
n("polyline", { points: "28,16 36.5,16.0", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
91
|
+
n("polygon", { points: "40.00,16.00 35.00,18.75 35.00,13.25", fill: C.ink }),
|
|
92
|
+
n("rect", { x: "42", y: "12.5", width: "7", height: "7", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
93
|
+
n("polyline", { points: "48.5,28 56,28", fill: "none", stroke: C.ink, "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
94
|
+
n("polyline", { points: "53,28 53,31", fill: "none", stroke: C.ink, "stroke-width": "1.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
95
|
+
n("polyline", { points: "55.6,28 55.6,30.5", fill: "none", stroke: C.ink, "stroke-width": "1.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
96
|
+
n("circle", { cx: "45.5", cy: "28", r: "3.4", fill: C.transitional, stroke: C.ink, "stroke-width": "1.6" }),
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: "competing-consumers",
|
|
101
|
+
title: "Competing Consumers",
|
|
102
|
+
description: "Icon of the Competing Consumers pattern: a channel arrow entering a component that fans out to three consumers. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
103
|
+
nodes: [
|
|
104
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
105
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
106
|
+
n("g", { transform: "translate(1.8 1.8)" }, [
|
|
107
|
+
n("path", { d: "M2,19 H22", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
108
|
+
n("polygon", { points: "31.00,19.00 22.00,24.58 22.00,13.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
109
|
+
]),
|
|
110
|
+
n("g", {}, [
|
|
111
|
+
n("path", { d: "M2,19 H22", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
112
|
+
n("polygon", { points: "31.00,19.00 22.00,24.58 22.00,13.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
113
|
+
]),
|
|
114
|
+
n("g", {}, [
|
|
115
|
+
n("path", { d: "M2,19 H22", fill: "none", stroke: I.iconLine, "stroke-width": "3.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
116
|
+
n("polygon", { points: "31.00,19.00 22.00,24.58 22.00,13.42", fill: I.iconLine }),
|
|
117
|
+
]),
|
|
118
|
+
n("polyline", { points: "31.5,19 43.383108288109796,11.62427761427668", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
119
|
+
n("polygon", { points: "46.00,10.00 43.54,14.38 40.99,10.26", fill: C.ink }),
|
|
120
|
+
n("polygon", { points: "50.50,7.00 53.50,10.00 50.50,13.00 47.50,10.00", fill: C.ink }),
|
|
121
|
+
n("polyline", { points: "31.5,19 42.92,19.0", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
122
|
+
n("polygon", { points: "46.00,19.00 41.60,21.42 41.60,16.58", fill: C.ink }),
|
|
123
|
+
n("polygon", { points: "50.50,16.00 53.50,19.00 50.50,22.00 47.50,19.00", fill: C.ink }),
|
|
124
|
+
n("polyline", { points: "31.5,19 43.383108288109796,26.37572238572332", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
125
|
+
n("polygon", { points: "46.00,28.00 40.99,27.74 43.54,23.62", fill: C.ink }),
|
|
126
|
+
n("polygon", { points: "50.50,25.00 53.50,28.00 50.50,31.00 47.50,28.00", fill: C.ink }),
|
|
127
|
+
],
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: "content-based-router",
|
|
131
|
+
title: "Content-Based Router",
|
|
132
|
+
description: "Icon of the Content-Based Router pattern: a component whose input switch connects to one of three outputs. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
133
|
+
nodes: [
|
|
134
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
135
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
136
|
+
n("polyline", { points: "6,20 17,20", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
137
|
+
n("polygon", { points: "17.00,17.40 19.60,20.00 17.00,22.60 14.40,20.00", fill: C.ink }),
|
|
138
|
+
n("polyline", { points: "17,20 39,11", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
139
|
+
n("polygon", { points: "39.00,8.40 41.60,11.00 39.00,13.60 36.40,11.00", fill: C.ink }),
|
|
140
|
+
n("polyline", { points: "39,11 58,11", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
141
|
+
n("polygon", { points: "39.00,17.40 41.60,20.00 39.00,22.60 36.40,20.00", fill: C.ink }),
|
|
142
|
+
n("polyline", { points: "39,20 58,20", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
143
|
+
n("polygon", { points: "39.00,25.90 41.60,28.50 39.00,31.10 36.40,28.50", fill: C.ink }),
|
|
144
|
+
n("polyline", { points: "39,28.5 58,28.5", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
name: "content-enricher",
|
|
149
|
+
title: "Content Enricher",
|
|
150
|
+
description: "Icon of the Content Enricher pattern: a component turning a small message into a large one. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
151
|
+
nodes: [
|
|
152
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
153
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
154
|
+
n("rect", { x: "14", y: "15.5", width: "7", height: "7", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
155
|
+
n("polyline", { points: "24,19 32.5,19.0", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
156
|
+
n("polygon", { points: "36.00,19.00 31.00,21.75 31.00,16.25", fill: C.ink }),
|
|
157
|
+
n("rect", { x: "38", y: "12", width: "14", height: "14", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: "content-filter",
|
|
162
|
+
title: "Content Filter",
|
|
163
|
+
description: "Icon of the Content Filter pattern: a component turning a large message into a small one. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
164
|
+
nodes: [
|
|
165
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
166
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
167
|
+
n("rect", { x: "13", y: "12", width: "14", height: "14", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
168
|
+
n("polyline", { points: "30,19 38.5,19.0", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
169
|
+
n("polygon", { points: "42.00,19.00 37.00,21.75 37.00,16.25", fill: C.ink }),
|
|
170
|
+
n("rect", { x: "44.5", y: "15.5", width: "7", height: "7", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
171
|
+
],
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
name: "correlation-identifier",
|
|
175
|
+
title: "Correlation Identifier",
|
|
176
|
+
description: "Icon of the Correlation Identifier pattern: two ID tokens linked by an arrow, attached to messages A and B. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
177
|
+
nodes: [
|
|
178
|
+
n("circle", { cx: "13.6", cy: "10.6", r: "6", fill: C.ink }),
|
|
179
|
+
n("circle", { cx: "12", cy: "9", r: "6", fill: I.iconLine, stroke: C.ink, "stroke-width": "1.75" }),
|
|
180
|
+
n("circle", { cx: "41.6", cy: "10.6", r: "6", fill: C.ink }),
|
|
181
|
+
n("circle", { cx: "40", cy: "9", r: "6", fill: I.iconLine, stroke: C.ink, "stroke-width": "1.75" }),
|
|
182
|
+
n("polyline", { points: "33.5,9 22.1,9.0", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
183
|
+
n("polygon", { points: "18.60,9.00 23.60,6.25 23.60,11.75", fill: C.ink }),
|
|
184
|
+
n("polyline", { points: "12,15 12,29 18,29", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
185
|
+
n("polyline", { points: "40,15 40,29 46,29", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
186
|
+
n("rect", { x: "20", y: "24", width: "12", height: "13", fill: C.ink }),
|
|
187
|
+
n("rect", { x: "48", y: "24", width: "12", height: "13", fill: C.ink }),
|
|
188
|
+
n("rect", { x: "18", y: "22", width: "12", height: "13", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
189
|
+
n("rect", { x: "46", y: "22", width: "12", height: "13", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
190
|
+
n("polyline", { points: "21,34 24,25.2 27,34", fill: "none", stroke: C.ink, "stroke-width": "1.8", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
191
|
+
n("polyline", { points: "22.1,31 25.9,31", fill: "none", stroke: C.ink, "stroke-width": "1.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
192
|
+
n("path", { d: "M49.6,25.2 V34 H53 Q55.4,34 55.4,31.7 Q55.4,29.6 53,29.6 H49.6 M49.6,29.6 H52.6 Q54.8,29.6 54.8,27.4 Q54.8,25.2 52.6,25.2 H49.6", fill: "none", stroke: C.ink, "stroke-width": "1.8", "stroke-linejoin": "round" }),
|
|
193
|
+
],
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
name: "dead-letter-channel",
|
|
197
|
+
title: "Dead Letter Channel",
|
|
198
|
+
description: "Icon of the Dead Letter Channel pattern: a channel pipe above a red stop sign. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
199
|
+
nodes: [
|
|
200
|
+
n("path", { d: "M9,4.5 H53 A2.9250000000000003,6.5 0 0 1 53,17.5 H9 A2.9250000000000003,6.5 0 0 1 9,4.5 Z", fill: C.ink, transform: "translate(2 2)" }),
|
|
201
|
+
n("path", { d: "M9,4.5 H53 A2.9250000000000003,6.5 0 0 1 53,17.5 H9 A2.9250000000000003,6.5 0 0 1 9,4.5 Z", fill: I.iconLine, stroke: C.ink, "stroke-width": "1.75", "stroke-linejoin": "round" }),
|
|
202
|
+
n("ellipse", { cx: "53", cy: "11", rx: "2.9250000000000003", ry: "6.5", fill: C.white, stroke: C.ink, "stroke-width": "1.75" }),
|
|
203
|
+
n("polygon", { points: "40.73,32.67 36.67,36.73 30.93,36.73 26.87,32.67 26.87,26.93 30.93,22.87 36.67,22.87 40.73,26.93", fill: C.ink }),
|
|
204
|
+
n("polygon", { points: "38.93,30.87 34.87,34.93 29.13,34.93 25.07,30.87 25.07,25.13 29.13,21.07 34.87,21.07 38.93,25.13", fill: C.backend, stroke: C.ink, "stroke-width": "1.75", "stroke-linejoin": "round" }),
|
|
205
|
+
],
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
name: "event-driven-consumer",
|
|
209
|
+
title: "Event-Driven Consumer",
|
|
210
|
+
description: "Icon of the Event-Driven Consumer pattern: a channel arrow entering a component that passes the message on at once. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
211
|
+
nodes: [
|
|
212
|
+
n("rect", { x: "20.5", y: "6.5", width: "40", height: "30", rx: "3", fill: C.ink }),
|
|
213
|
+
n("rect", { x: "18", y: "4", width: "40", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
214
|
+
n("g", { transform: "translate(1.8 1.8)" }, [
|
|
215
|
+
n("path", { d: "M2,19 H27", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
216
|
+
n("polygon", { points: "36.00,19.00 27.00,24.58 27.00,13.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
217
|
+
]),
|
|
218
|
+
n("g", {}, [
|
|
219
|
+
n("path", { d: "M2,19 H27", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
220
|
+
n("polygon", { points: "36.00,19.00 27.00,24.58 27.00,13.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
221
|
+
]),
|
|
222
|
+
n("g", {}, [
|
|
223
|
+
n("path", { d: "M2,19 H27", fill: "none", stroke: I.iconLine, "stroke-width": "3.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
224
|
+
n("polygon", { points: "36.00,19.00 27.00,24.58 27.00,13.42", fill: I.iconLine }),
|
|
225
|
+
]),
|
|
226
|
+
n("polyline", { points: "38.5,19 45.28,19.0", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
227
|
+
n("polygon", { points: "48.50,19.00 43.90,21.53 43.90,16.47", fill: C.ink }),
|
|
228
|
+
n("polygon", { points: "52.50,15.80 55.70,19.00 52.50,22.20 49.30,19.00", fill: C.ink }),
|
|
229
|
+
],
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: "guaranteed-delivery",
|
|
233
|
+
title: "Guaranteed Delivery",
|
|
234
|
+
description: "Icon of the Guaranteed Delivery pattern: a channel arrow above a small database cylinder. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
235
|
+
nodes: [
|
|
236
|
+
n("g", { transform: "translate(1.8 1.8)" }, [
|
|
237
|
+
n("path", { d: "M4,10 H50", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
238
|
+
n("polygon", { points: "59.00,10.00 50.00,15.58 50.00,4.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
239
|
+
]),
|
|
240
|
+
n("g", {}, [
|
|
241
|
+
n("path", { d: "M4,10 H50", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
242
|
+
n("polygon", { points: "59.00,10.00 50.00,15.58 50.00,4.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
243
|
+
]),
|
|
244
|
+
n("g", {}, [
|
|
245
|
+
n("path", { d: "M4,10 H50", fill: "none", stroke: I.iconLine, "stroke-width": "3.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
246
|
+
n("polygon", { points: "59.00,10.00 50.00,15.58 50.00,4.42", fill: I.iconLine }),
|
|
247
|
+
]),
|
|
248
|
+
n("path", { d: "M25,23 V33 A7,2.6 0 0 0 39,33 V23 Z", fill: C.ink, transform: "translate(2 2)" }),
|
|
249
|
+
n("path", { d: "M25,23 V33 A7,2.6 0 0 0 39,33 V23 Z", fill: I.iconLine, stroke: C.ink, "stroke-width": "1.75", "stroke-linejoin": "round" }),
|
|
250
|
+
n("ellipse", { cx: "32", cy: "23", rx: "7", ry: "2.6", fill: C.white, stroke: C.ink, "stroke-width": "1.75" }),
|
|
251
|
+
],
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
name: "idempotent-receiver",
|
|
255
|
+
title: "Idempotent Receiver",
|
|
256
|
+
description: "Icon of the Idempotent Receiver pattern: a channel arrow delivering a message into a component, with a badge showing the number 1. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
257
|
+
nodes: [
|
|
258
|
+
n("rect", { x: "18.5", y: "11.5", width: "42", height: "27", rx: "3", fill: C.ink }),
|
|
259
|
+
n("rect", { x: "16", y: "9", width: "42", height: "27", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
260
|
+
n("g", { transform: "translate(1.8 1.8)" }, [
|
|
261
|
+
n("path", { d: "M3,23 H27", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
262
|
+
n("polygon", { points: "36.00,23.00 27.00,28.58 27.00,17.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
263
|
+
]),
|
|
264
|
+
n("g", {}, [
|
|
265
|
+
n("path", { d: "M3,23 H27", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
266
|
+
n("polygon", { points: "36.00,23.00 27.00,28.58 27.00,17.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
267
|
+
]),
|
|
268
|
+
n("g", {}, [
|
|
269
|
+
n("path", { d: "M3,23 H27", fill: "none", stroke: I.iconLine, "stroke-width": "3.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
270
|
+
n("polygon", { points: "36.00,23.00 27.00,28.58 27.00,17.42", fill: I.iconLine }),
|
|
271
|
+
]),
|
|
272
|
+
n("rect", { x: "38.5", y: "17", width: "12", height: "12", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
273
|
+
n("circle", { cx: "17.8", cy: "11.3", r: "7.6", fill: C.ink }),
|
|
274
|
+
n("circle", { cx: "16", cy: "9.5", r: "7.6", fill: I.iconLine, stroke: C.ink, "stroke-width": "1.75" }),
|
|
275
|
+
n("polyline", { points: "13.6,7.6 16.4,5.4 16.4,13.8", fill: "none", stroke: C.ink, "stroke-width": "2.2", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
276
|
+
n("polyline", { points: "13.8,13.8 19,13.8", fill: "none", stroke: C.ink, "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
277
|
+
],
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
name: "invalid-message-channel",
|
|
281
|
+
title: "Invalid Message Channel",
|
|
282
|
+
description: "Icon of the Invalid Message Channel pattern: a channel pipe above a yellow warning sign. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
283
|
+
nodes: [
|
|
284
|
+
n("path", { d: "M9,4.5 H53 A2.9250000000000003,6.5 0 0 1 53,17.5 H9 A2.9250000000000003,6.5 0 0 1 9,4.5 Z", fill: C.ink, transform: "translate(2 2)" }),
|
|
285
|
+
n("path", { d: "M9,4.5 H53 A2.9250000000000003,6.5 0 0 1 53,17.5 H9 A2.9250000000000003,6.5 0 0 1 9,4.5 Z", fill: I.iconLine, stroke: C.ink, "stroke-width": "1.75", "stroke-linejoin": "round" }),
|
|
286
|
+
n("ellipse", { cx: "53", cy: "11", rx: "2.9250000000000003", ry: "6.5", fill: C.white, stroke: C.ink, "stroke-width": "1.75" }),
|
|
287
|
+
n("polygon", { points: "33.80,22.30 43.30,37.80 24.30,37.80", fill: C.ink }),
|
|
288
|
+
n("polygon", { points: "32.00,20.50 41.50,36.00 22.50,36.00", fill: C.transitional, stroke: C.ink, "stroke-width": "1.75", "stroke-linejoin": "round" }),
|
|
289
|
+
n("polyline", { points: "32,25.5 32,30.5", fill: "none", stroke: C.ink, "stroke-width": "2.2", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
290
|
+
n("circle", { cx: "32", cy: "33.2", r: "1.15", fill: C.ink }),
|
|
291
|
+
],
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
name: "message-expiration",
|
|
295
|
+
title: "Message Expiration",
|
|
296
|
+
description: "Icon of the Message Expiration pattern: a clock face. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
297
|
+
nodes: [
|
|
298
|
+
n("circle", { cx: "34", cy: "22", r: "16", fill: C.ink }),
|
|
299
|
+
n("circle", { cx: "32", cy: "20", r: "16", fill: C.white, stroke: C.ink, "stroke-width": "2.5" }),
|
|
300
|
+
n("polyline", { points: "32,20 32,8.5", fill: "none", stroke: C.ink, "stroke-width": "2.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
301
|
+
n("polyline", { points: "32,20 42,20", fill: "none", stroke: C.ink, "stroke-width": "2.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
302
|
+
],
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
name: "message-filter",
|
|
306
|
+
title: "Message Filter",
|
|
307
|
+
description: "Icon of the Message Filter pattern: a component with a funnel. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
308
|
+
nodes: [
|
|
309
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
310
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
311
|
+
n("polygon", { points: "22.60,10.10 44.60,10.10 36.60,19.60 36.60,31.60 30.60,31.60 30.60,19.60", fill: C.ink }),
|
|
312
|
+
n("polygon", { points: "21.00,8.50 43.00,8.50 35.00,18.00 35.00,30.00 29.00,30.00 29.00,18.00", fill: I.iconLine, stroke: C.ink, "stroke-width": "1.6", "stroke-linejoin": "round" }),
|
|
313
|
+
],
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
name: "message-translator",
|
|
317
|
+
title: "Message Translator",
|
|
318
|
+
description: "Icon of the Message Translator pattern: a component with two blocks crossed by an X. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
319
|
+
nodes: [
|
|
320
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
321
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
322
|
+
n("rect", { x: "11", y: "8", width: "17", height: "22", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
323
|
+
n("rect", { x: "36", y: "8", width: "17", height: "22", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
324
|
+
n("polyline", { points: "13.5,10.5 50.5,27.5", fill: "none", stroke: C.ink, "stroke-width": "2.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
325
|
+
n("polyline", { points: "13.5,27.5 50.5,10.5", fill: "none", stroke: C.ink, "stroke-width": "2.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
326
|
+
],
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
name: "point-to-point-channel",
|
|
330
|
+
title: "Point-to-Point Channel",
|
|
331
|
+
description: "Icon of the Point-to-Point Channel pattern: a single channel arrow. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
332
|
+
nodes: [
|
|
333
|
+
n("g", { transform: "translate(1.8 1.8)" }, [
|
|
334
|
+
n("path", { d: "M5,20 H50", fill: "none", stroke: C.ink, "stroke-width": "7.4", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
335
|
+
n("polygon", { points: "59.00,20.00 50.00,25.58 50.00,14.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
336
|
+
]),
|
|
337
|
+
n("g", {}, [
|
|
338
|
+
n("path", { d: "M5,20 H50", fill: "none", stroke: C.ink, "stroke-width": "7.4", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
339
|
+
n("polygon", { points: "59.00,20.00 50.00,25.58 50.00,14.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
340
|
+
]),
|
|
341
|
+
n("g", {}, [
|
|
342
|
+
n("path", { d: "M5,20 H50", fill: "none", stroke: I.iconLine, "stroke-width": "4.4", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
343
|
+
n("polygon", { points: "59.00,20.00 50.00,25.58 50.00,14.42", fill: I.iconLine }),
|
|
344
|
+
]),
|
|
345
|
+
],
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
name: "polling-consumer",
|
|
349
|
+
title: "Polling Consumer",
|
|
350
|
+
description: "Icon of the Polling Consumer pattern: a channel arrow entering a component with a polling loop. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
351
|
+
nodes: [
|
|
352
|
+
n("rect", { x: "20.5", y: "6.5", width: "40", height: "30", rx: "3", fill: C.ink }),
|
|
353
|
+
n("rect", { x: "18", y: "4", width: "40", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
354
|
+
n("g", { transform: "translate(1.8 1.8)" }, [
|
|
355
|
+
n("path", { d: "M2,19 H22", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
356
|
+
n("polygon", { points: "31.00,19.00 22.00,24.58 22.00,13.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
357
|
+
]),
|
|
358
|
+
n("g", {}, [
|
|
359
|
+
n("path", { d: "M2,19 H22", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
360
|
+
n("polygon", { points: "31.00,19.00 22.00,24.58 22.00,13.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
361
|
+
]),
|
|
362
|
+
n("g", {}, [
|
|
363
|
+
n("path", { d: "M2,19 H22", fill: "none", stroke: I.iconLine, "stroke-width": "3.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
364
|
+
n("polygon", { points: "31.00,19.00 22.00,24.58 22.00,13.42", fill: I.iconLine }),
|
|
365
|
+
]),
|
|
366
|
+
n("path", { d: "M47.80,22.17 A7.5,7.5 0 1 1 47.14,14.70", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round" }),
|
|
367
|
+
n("polygon", { points: "48.98,17.32 44.47,15.10 48.44,12.33", fill: C.ink }),
|
|
368
|
+
n("polygon", { points: "51.50,15.80 54.70,19.00 51.50,22.20 48.30,19.00", fill: C.ink }),
|
|
369
|
+
],
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
name: "process-manager",
|
|
373
|
+
title: "Process Manager",
|
|
374
|
+
description: "Icon of the Process Manager pattern: a component with a small decision tree: a start point, a decision diamond and three steps. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
375
|
+
nodes: [
|
|
376
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
377
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
378
|
+
n("polyline", { points: "32,11.5 32,13", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
379
|
+
n("polyline", { points: "32,21.4 32,23.5", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
380
|
+
n("polyline", { points: "17.5,23.5 46.5,23.5", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
381
|
+
n("polyline", { points: "17.5,23.5 17.5,26", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
382
|
+
n("polyline", { points: "32,23.5 32,26", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
383
|
+
n("polyline", { points: "46.5,23.5 46.5,26", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
384
|
+
n("circle", { cx: "32", cy: "9", r: "2.6", fill: C.white, stroke: C.ink, "stroke-width": "1.5" }),
|
|
385
|
+
n("polygon", { points: "32.00,13.00 36.20,17.20 32.00,21.40 27.80,17.20", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
386
|
+
n("rect", { x: "11.5", y: "26", width: "12", height: "5.5", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
387
|
+
n("rect", { x: "26", y: "26", width: "12", height: "5.5", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
388
|
+
n("rect", { x: "40.5", y: "26", width: "12", height: "5.5", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
389
|
+
],
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
name: "publish-subscribe-channel",
|
|
393
|
+
title: "Publish-Subscribe Channel",
|
|
394
|
+
description: "Icon of the Publish-Subscribe Channel pattern: one channel that forks into three arrows. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
395
|
+
nodes: [
|
|
396
|
+
n("g", { transform: "translate(1.8 1.8)" }, [
|
|
397
|
+
n("path", { d: "M4,20 H20 M20,7 V33 M20,7 H50 M20,20 H50 M20,33 H50", fill: "none", stroke: C.ink, "stroke-width": "6.2", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
398
|
+
n("polygon", { points: "59.00,7.00 51.00,11.96 51.00,2.04", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
399
|
+
n("polygon", { points: "59.00,20.00 51.00,24.96 51.00,15.04", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
400
|
+
n("polygon", { points: "59.00,33.00 51.00,37.96 51.00,28.04", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
401
|
+
]),
|
|
402
|
+
n("g", {}, [
|
|
403
|
+
n("path", { d: "M4,20 H20 M20,7 V33 M20,7 H50 M20,20 H50 M20,33 H50", fill: "none", stroke: C.ink, "stroke-width": "6.2", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
404
|
+
n("polygon", { points: "59.00,7.00 51.00,11.96 51.00,2.04", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
405
|
+
n("polygon", { points: "59.00,20.00 51.00,24.96 51.00,15.04", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
406
|
+
n("polygon", { points: "59.00,33.00 51.00,37.96 51.00,28.04", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
407
|
+
]),
|
|
408
|
+
n("g", {}, [
|
|
409
|
+
n("path", { d: "M4,20 H20 M20,7 V33 M20,7 H50 M20,20 H50 M20,33 H50", fill: "none", stroke: I.iconLine, "stroke-width": "3.2", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
410
|
+
n("polygon", { points: "59.00,7.00 51.00,11.96 51.00,2.04", fill: I.iconLine }),
|
|
411
|
+
n("polygon", { points: "59.00,20.00 51.00,24.96 51.00,15.04", fill: I.iconLine }),
|
|
412
|
+
n("polygon", { points: "59.00,33.00 51.00,37.96 51.00,28.04", fill: I.iconLine }),
|
|
413
|
+
]),
|
|
414
|
+
],
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
name: "request-reply",
|
|
418
|
+
title: "Request-Reply",
|
|
419
|
+
description: "Icon of the Request-Reply pattern: a message going right on one channel and another coming back left on a second channel. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
420
|
+
nodes: [
|
|
421
|
+
n("rect", { x: "6", y: "5.5", width: "11", height: "11", fill: C.ink }),
|
|
422
|
+
n("rect", { x: "4", y: "3.5", width: "11", height: "11", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
423
|
+
n("g", { transform: "translate(1.8 1.8)" }, [
|
|
424
|
+
n("path", { d: "M21,10 H50", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
425
|
+
n("polygon", { points: "59.00,10.00 50.00,15.58 50.00,4.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
426
|
+
]),
|
|
427
|
+
n("g", {}, [
|
|
428
|
+
n("path", { d: "M21,10 H50", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
429
|
+
n("polygon", { points: "59.00,10.00 50.00,15.58 50.00,4.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
430
|
+
]),
|
|
431
|
+
n("g", {}, [
|
|
432
|
+
n("path", { d: "M21,10 H50", fill: "none", stroke: I.iconLine, "stroke-width": "3.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
433
|
+
n("polygon", { points: "59.00,10.00 50.00,15.58 50.00,4.42", fill: I.iconLine }),
|
|
434
|
+
]),
|
|
435
|
+
n("g", { transform: "translate(1.8 1.8)" }, [
|
|
436
|
+
n("path", { d: "M14,30 H43", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
437
|
+
n("polygon", { points: "5.00,30.00 14.00,24.42 14.00,35.58", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
438
|
+
]),
|
|
439
|
+
n("g", {}, [
|
|
440
|
+
n("path", { d: "M14,30 H43", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
441
|
+
n("polygon", { points: "5.00,30.00 14.00,24.42 14.00,35.58", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
442
|
+
]),
|
|
443
|
+
n("g", {}, [
|
|
444
|
+
n("path", { d: "M14,30 H43", fill: "none", stroke: I.iconLine, "stroke-width": "3.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
445
|
+
n("polygon", { points: "5.00,30.00 14.00,24.42 14.00,35.58", fill: I.iconLine }),
|
|
446
|
+
]),
|
|
447
|
+
n("rect", { x: "50", y: "26", width: "11", height: "11", fill: C.ink }),
|
|
448
|
+
n("rect", { x: "48", y: "24", width: "11", height: "11", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
449
|
+
],
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
name: "return-address",
|
|
453
|
+
title: "Return Address",
|
|
454
|
+
description: "Icon of the Return Address pattern: an envelope with an address block and a stamp. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
455
|
+
nodes: [
|
|
456
|
+
n("rect", { x: "7", y: "6.5", width: "54", height: "31", rx: "1.5", fill: C.ink }),
|
|
457
|
+
n("rect", { x: "4.5", y: "4", width: "54", height: "31", rx: "1.5", fill: C.transitional, stroke: C.ink, "stroke-width": "2" }),
|
|
458
|
+
n("polyline", { points: "10,10 29,10", fill: "none", stroke: C.ink, "stroke-width": "2.4", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
459
|
+
n("polyline", { points: "10,14.5 29,14.5", fill: "none", stroke: C.ink, "stroke-width": "2.4", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
460
|
+
n("polyline", { points: "10,19 29,19", fill: "none", stroke: C.ink, "stroke-width": "2.4", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
461
|
+
n("rect", { x: "45", y: "8", width: "9", height: "7.5", fill: C.white, stroke: C.ink, "stroke-width": "1.4", "stroke-linejoin": "round" }),
|
|
462
|
+
n("polyline", { points: "45.5,8.5 49.5,12.3 53.5,8.5", fill: "none", stroke: C.ink, "stroke-width": "1.2", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
463
|
+
n("polyline", { points: "22,25.5 46,25.5", fill: "none", stroke: C.ink, "stroke-width": "1.3", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
464
|
+
n("polyline", { points: "22,29.5 46,29.5", fill: "none", stroke: C.ink, "stroke-width": "1.3", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
465
|
+
],
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
name: "scatter-gather",
|
|
469
|
+
title: "Scatter-Gather",
|
|
470
|
+
description: "Icon of the Scatter-Gather pattern: a component that fans one input out to three branches and joins them into one output. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
471
|
+
nodes: [
|
|
472
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
473
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
474
|
+
n("polyline", { points: "6,19 14,19", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
475
|
+
n("polyline", { points: "50,19 58,19", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
476
|
+
n("polyline", { points: "14,19 32,9.5 50,19", fill: "none", stroke: C.ink, "stroke-width": "1.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
477
|
+
n("polyline", { points: "14,19 32,19 50,19", fill: "none", stroke: C.ink, "stroke-width": "1.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
478
|
+
n("polyline", { points: "14,19 32,28.5 50,19", fill: "none", stroke: C.ink, "stroke-width": "1.6", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
479
|
+
n("circle", { cx: "14", cy: "19", r: "2.4", fill: C.ink }),
|
|
480
|
+
n("circle", { cx: "50", cy: "19", r: "2.4", fill: C.ink }),
|
|
481
|
+
n("polygon", { points: "32.00,6.30 35.20,9.50 32.00,12.70 28.80,9.50", fill: C.ink }),
|
|
482
|
+
n("polygon", { points: "32.00,15.80 35.20,19.00 32.00,22.20 28.80,19.00", fill: C.ink }),
|
|
483
|
+
n("polygon", { points: "32.00,25.30 35.20,28.50 32.00,31.70 28.80,28.50", fill: C.ink }),
|
|
484
|
+
],
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
name: "splitter",
|
|
488
|
+
title: "Splitter",
|
|
489
|
+
description: "Icon of the Splitter pattern: a component turning one message into three. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
490
|
+
nodes: [
|
|
491
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
492
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
493
|
+
n("rect", { x: "16", y: "15.5", width: "8", height: "8", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
494
|
+
n("polyline", { points: "26.5,19.5 35.5,19.5", fill: "none", stroke: C.ink, "stroke-width": "1.75", "stroke-linecap": "round", "stroke-linejoin": "round" }),
|
|
495
|
+
n("polygon", { points: "39.00,19.50 34.00,22.25 34.00,16.75", fill: C.ink }),
|
|
496
|
+
n("rect", { x: "42", y: "8", width: "6", height: "6", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
497
|
+
n("rect", { x: "42", y: "16.5", width: "6", height: "6", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
498
|
+
n("rect", { x: "42", y: "25", width: "6", height: "6", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
499
|
+
],
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
name: "transactional-client",
|
|
503
|
+
title: "Transactional Client",
|
|
504
|
+
description: "Icon of the Transactional Client pattern: a channel arrow entering a component where the message sits inside a transaction boundary. Redrawn from the Enterprise Integration Patterns icon by Gregor Hohpe and Bobby Woolf, enterpriseintegrationpatterns.com, CC BY 4.0.",
|
|
505
|
+
nodes: [
|
|
506
|
+
n("rect", { x: "8.5", y: "6.5", width: "52", height: "30", rx: "3", fill: C.ink }),
|
|
507
|
+
n("rect", { x: "6", y: "4", width: "52", height: "30", rx: "3", fill: C.healthy, stroke: C.ink, "stroke-width": "2" }),
|
|
508
|
+
n("ellipse", { cx: "37", cy: "19", rx: "17", ry: "11.5", fill: C.caller, stroke: C.ink, "stroke-width": "1.6" }),
|
|
509
|
+
n("rect", { x: "39", y: "13", width: "12", height: "12", fill: C.white, stroke: C.ink, "stroke-width": "1.5", "stroke-linejoin": "round" }),
|
|
510
|
+
n("g", { transform: "translate(1.8 1.8)" }, [
|
|
511
|
+
n("path", { d: "M2,19 H27", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
512
|
+
n("polygon", { points: "36.00,19.00 27.00,24.58 27.00,13.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
513
|
+
]),
|
|
514
|
+
n("g", {}, [
|
|
515
|
+
n("path", { d: "M2,19 H27", fill: "none", stroke: C.ink, "stroke-width": "6.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
516
|
+
n("polygon", { points: "36.00,19.00 27.00,24.58 27.00,13.42", fill: C.ink, stroke: C.ink, "stroke-width": "3", "stroke-linejoin": "round" }),
|
|
517
|
+
]),
|
|
518
|
+
n("g", {}, [
|
|
519
|
+
n("path", { d: "M2,19 H27", fill: "none", stroke: I.iconLine, "stroke-width": "3.6", "stroke-linecap": "butt", "stroke-linejoin": "round" }),
|
|
520
|
+
n("polygon", { points: "36.00,19.00 27.00,24.58 27.00,13.42", fill: I.iconLine }),
|
|
521
|
+
]),
|
|
522
|
+
],
|
|
523
|
+
},
|
|
524
|
+
];
|
|
525
|
+
export const EIP_ICON_NAMES = EIP_ICONS.map((icon) => icon.name);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { SVG_TAGS, drawn, el, g, shadowed, type AttrValue, type Attrs, type Drawn, type SvgNode, type SvgTag } from "./node.ts";
|
|
2
|
+
export { toSvg } from "./render.ts";
|
|
3
|
+
export { pose, type Pose } from "./pose.ts";
|
|
4
|
+
export { COLOUR_TOKENS, DATA_COLOUR, MAX_ITEMS, paint, MAX_SIZE, checkParams, colour, isColourLiteral, type ParamSpec, type Problem, type Schema } from "./params.ts";
|
|
5
|
+
export { definePiece, type Piece } from "./piece.ts";
|
|
6
|
+
export * from "./library.ts";
|
|
7
|
+
export { EIP_ICONS, EIP_ICON_NAMES, EIP_ICON_HEIGHT, EIP_ICON_WIDTH, type EipIcon } from "./eip-icons.ts";
|
|
8
|
+
export { SAFE_ID, backgroundNames, comparePaths, coverTree, validateCoverSpec, type CoverPiece, type CoverSpec, type CustomNode } from "./cover.ts";
|
|
9
|
+
export { tokens, type Tokens } from "../../tokens/generated/tokens.ts";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Public entry point of the package (`@brunosouzas/design-system`): the
|
|
2
|
+
// illustration pieces, the node contract, the SVG renderer, pose and the cover
|
|
3
|
+
// spec helpers. No React here: the React renderer is the separate entry
|
|
4
|
+
// `@brunosouzas/design-system/react`, so a consumer without React can import
|
|
5
|
+
// this one.
|
|
6
|
+
export { SVG_TAGS, drawn, el, g, shadowed } from "./node.js";
|
|
7
|
+
export { toSvg } from "./render.js";
|
|
8
|
+
export { pose } from "./pose.js";
|
|
9
|
+
export { COLOUR_TOKENS, DATA_COLOUR, MAX_ITEMS, paint, MAX_SIZE, checkParams, colour, isColourLiteral } from "./params.js";
|
|
10
|
+
export { definePiece } from "./piece.js";
|
|
11
|
+
export * from "./library.js";
|
|
12
|
+
export { EIP_ICONS, EIP_ICON_NAMES, EIP_ICON_HEIGHT, EIP_ICON_WIDTH } from "./eip-icons.js";
|
|
13
|
+
export { SAFE_ID, backgroundNames, comparePaths, coverTree, validateCoverSpec } from "./cover.js";
|
|
14
|
+
export { tokens } from "../../tokens/generated/tokens.js";
|