d2svg: implement connection icons
This commit is contained in:
parent
41711d4a4e
commit
20c2c592eb
9 changed files with 896 additions and 6 deletions
|
|
@ -1,5 +1,7 @@
|
|||
#### Features 🚀
|
||||
|
||||
- Icons: connections can include icons [#12](https://github.com/terrastruct/d2/issues/12)
|
||||
|
||||
#### Improvements 🧹
|
||||
|
||||
#### Bugfixes ⛑️
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import (
|
|||
|
||||
"oss.terrastruct.com/util-go/go2"
|
||||
|
||||
"oss.terrastruct.com/d2/d2ast"
|
||||
"oss.terrastruct.com/d2/d2graph"
|
||||
"oss.terrastruct.com/d2/d2parser"
|
||||
"oss.terrastruct.com/d2/d2renderers/d2fonts"
|
||||
|
|
@ -15,6 +16,7 @@ import (
|
|||
"oss.terrastruct.com/d2/d2themes"
|
||||
"oss.terrastruct.com/d2/lib/color"
|
||||
"oss.terrastruct.com/d2/lib/geo"
|
||||
"oss.terrastruct.com/d2/lib/label"
|
||||
)
|
||||
|
||||
func Export(ctx context.Context, g *d2graph.Graph, fontFamily *d2fonts.FontFamily) (*d2target.Diagram, error) {
|
||||
|
|
@ -335,7 +337,14 @@ func toConnection(edge *d2graph.Edge, theme *d2themes.Theme) d2target.Connection
|
|||
if edge.Tooltip != nil {
|
||||
connection.Tooltip = edge.Tooltip.Value
|
||||
}
|
||||
connection.Icon = edge.Icon
|
||||
if edge.Icon != nil {
|
||||
connection.Icon = edge.Icon
|
||||
if edge.IconPosition != nil {
|
||||
connection.IconPosition = (d2ast.LabelPositionsMapping[edge.IconPosition.Value]).String()
|
||||
} else {
|
||||
connection.IconPosition = label.InsideMiddleCenter.String()
|
||||
}
|
||||
}
|
||||
|
||||
if edge.Style.Italic != nil {
|
||||
connection.Italic, _ = strconv.ParseBool(edge.Style.Italic.Value)
|
||||
|
|
|
|||
|
|
@ -587,16 +587,51 @@ func drawConnection(writer io.Writer, diagramHash string, connection d2target.Co
|
|||
markerEnd = fmt.Sprintf(`marker-end="url(#%s)" `, id)
|
||||
}
|
||||
|
||||
if connection.Icon != nil {
|
||||
iconPos := connection.GetIconPosition()
|
||||
if iconPos != nil {
|
||||
fmt.Fprintf(writer, `<image href="%s" x="%f" y="%f" width="%d" height="%d" />`,
|
||||
html.EscapeString(connection.Icon.String()),
|
||||
iconPos.X,
|
||||
iconPos.Y,
|
||||
d2target.DEFAULT_ICON_SIZE,
|
||||
d2target.DEFAULT_ICON_SIZE,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
var labelTL *geo.Point
|
||||
if connection.Label != "" {
|
||||
labelTL = connection.GetLabelTopLeft()
|
||||
labelTL.X = math.Round(labelTL.X)
|
||||
labelTL.Y = math.Round(labelTL.Y)
|
||||
|
||||
maskTL := labelTL.Copy()
|
||||
width := connection.LabelWidth
|
||||
height := connection.LabelHeight
|
||||
|
||||
if connection.Icon != nil {
|
||||
width += d2target.CONNECTION_ICON_LABEL_GAP + d2target.DEFAULT_ICON_SIZE
|
||||
maskTL.X -= float64(d2target.CONNECTION_ICON_LABEL_GAP + d2target.DEFAULT_ICON_SIZE)
|
||||
}
|
||||
|
||||
if label.FromString(connection.LabelPosition).IsOnEdge() {
|
||||
labelMask = makeLabelMask(labelTL, connection.LabelWidth, connection.LabelHeight, 1)
|
||||
labelMask = makeLabelMask(maskTL, width, height, 1)
|
||||
} else {
|
||||
labelMask = makeLabelMask(labelTL, connection.LabelWidth, connection.LabelHeight, 0.75)
|
||||
labelMask = makeLabelMask(maskTL, width, height, 0.75)
|
||||
}
|
||||
} else if connection.Icon != nil {
|
||||
iconPos := connection.GetIconPosition()
|
||||
if iconPos != nil {
|
||||
maskTL := &geo.Point{
|
||||
X: iconPos.X,
|
||||
Y: iconPos.Y,
|
||||
}
|
||||
if label.FromString(connection.IconPosition).IsOnEdge() {
|
||||
labelMask = makeLabelMask(maskTL, d2target.DEFAULT_ICON_SIZE, d2target.DEFAULT_ICON_SIZE, 1)
|
||||
} else {
|
||||
labelMask = makeLabelMask(maskTL, d2target.DEFAULT_ICON_SIZE, d2target.DEFAULT_ICON_SIZE, 0.75)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ const (
|
|||
|
||||
MIN_ARROWHEAD_STROKE_WIDTH = 2
|
||||
ARROWHEAD_PADDING = 2.
|
||||
|
||||
CONNECTION_ICON_LABEL_GAP = 8
|
||||
)
|
||||
|
||||
var BorderOffset = geo.NewVector(5, 5)
|
||||
|
|
@ -609,13 +611,40 @@ type Connection struct {
|
|||
Route []*geo.Point `json:"route"`
|
||||
IsCurve bool `json:"isCurve,omitempty"`
|
||||
|
||||
Animated bool `json:"animated"`
|
||||
Tooltip string `json:"tooltip"`
|
||||
Icon *url.URL `json:"icon"`
|
||||
Animated bool `json:"animated"`
|
||||
Tooltip string `json:"tooltip"`
|
||||
Icon *url.URL `json:"icon"`
|
||||
IconPosition string `json:"iconPosition,omitempty"`
|
||||
|
||||
ZIndex int `json:"zIndex"`
|
||||
}
|
||||
|
||||
func (c *Connection) GetIconPosition() *geo.Point {
|
||||
if c.Icon == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
if c.Label != "" {
|
||||
labelTL := c.GetLabelTopLeft()
|
||||
if labelTL != nil {
|
||||
// Position icon to the left of the label with a small gap
|
||||
return &geo.Point{
|
||||
X: labelTL.X - CONNECTION_ICON_LABEL_GAP - DEFAULT_ICON_SIZE,
|
||||
Y: labelTL.Y + float64(c.LabelHeight)/2 - DEFAULT_ICON_SIZE/2,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
point, _ := label.FromString(c.IconPosition).GetPointOnRoute(
|
||||
c.Route,
|
||||
float64(c.StrokeWidth),
|
||||
-1,
|
||||
float64(DEFAULT_ICON_SIZE),
|
||||
float64(DEFAULT_ICON_SIZE),
|
||||
)
|
||||
return point
|
||||
}
|
||||
|
||||
func BaseConnection() *Connection {
|
||||
return &Connection{
|
||||
SrcArrow: NoArrowhead,
|
||||
|
|
|
|||
306
e2etests/testdata/txtar/connection-icons/dagre/board.exp.json
generated
vendored
Normal file
306
e2etests/testdata/txtar/connection-icons/dagre/board.exp.json
generated
vendored
Normal file
|
|
@ -0,0 +1,306 @@
|
|||
{
|
||||
"name": "",
|
||||
"config": {
|
||||
"sketch": false,
|
||||
"themeID": 0,
|
||||
"darkThemeID": null,
|
||||
"pad": null,
|
||||
"center": null,
|
||||
"layoutEngine": null
|
||||
},
|
||||
"isFolderOnly": false,
|
||||
"fontFamily": "SourceSansPro",
|
||||
"shapes": [
|
||||
{
|
||||
"id": "a",
|
||||
"type": "rectangle",
|
||||
"pos": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"width": 53,
|
||||
"height": 66,
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "B6",
|
||||
"stroke": "B1",
|
||||
"animated": false,
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
"multiple": false,
|
||||
"double-border": false,
|
||||
"tooltip": "",
|
||||
"link": "",
|
||||
"icon": null,
|
||||
"iconPosition": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "a",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "N1",
|
||||
"italic": false,
|
||||
"bold": true,
|
||||
"underline": false,
|
||||
"labelWidth": 8,
|
||||
"labelHeight": 21,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "b",
|
||||
"type": "rectangle",
|
||||
"pos": {
|
||||
"x": 186,
|
||||
"y": 0
|
||||
},
|
||||
"width": 53,
|
||||
"height": 66,
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "B6",
|
||||
"stroke": "B1",
|
||||
"animated": false,
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
"multiple": false,
|
||||
"double-border": false,
|
||||
"tooltip": "",
|
||||
"link": "",
|
||||
"icon": null,
|
||||
"iconPosition": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "b",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "N1",
|
||||
"italic": false,
|
||||
"bold": true,
|
||||
"underline": false,
|
||||
"labelWidth": 8,
|
||||
"labelHeight": 21,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "c",
|
||||
"type": "rectangle",
|
||||
"pos": {
|
||||
"x": 339,
|
||||
"y": 0
|
||||
},
|
||||
"width": 53,
|
||||
"height": 66,
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "B6",
|
||||
"stroke": "B1",
|
||||
"animated": false,
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
"multiple": false,
|
||||
"double-border": false,
|
||||
"tooltip": "",
|
||||
"link": "",
|
||||
"icon": null,
|
||||
"iconPosition": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "c",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "N1",
|
||||
"italic": false,
|
||||
"bold": true,
|
||||
"underline": false,
|
||||
"labelWidth": 8,
|
||||
"labelHeight": 21,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
{
|
||||
"id": "(a -> b)[0]",
|
||||
"src": "a",
|
||||
"srcArrow": "none",
|
||||
"dst": "b",
|
||||
"dstArrow": "triangle",
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"stroke": "B1",
|
||||
"borderRadius": 10,
|
||||
"label": "hello",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "N2",
|
||||
"italic": true,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 33,
|
||||
"labelHeight": 21,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"labelPercentage": 0,
|
||||
"link": "",
|
||||
"route": [
|
||||
{
|
||||
"x": 52.5,
|
||||
"y": 33
|
||||
},
|
||||
{
|
||||
"x": 106.0999984741211,
|
||||
"y": 33
|
||||
},
|
||||
{
|
||||
"x": 132.89999389648438,
|
||||
"y": 33
|
||||
},
|
||||
{
|
||||
"x": 186.5,
|
||||
"y": 33
|
||||
}
|
||||
],
|
||||
"isCurve": true,
|
||||
"animated": false,
|
||||
"tooltip": "",
|
||||
"icon": {
|
||||
"Scheme": "https",
|
||||
"Opaque": "",
|
||||
"User": null,
|
||||
"Host": "icons.terrastruct.com",
|
||||
"Path": "/essentials/213-alarm.svg",
|
||||
"RawPath": "/essentials%2F213-alarm.svg",
|
||||
"OmitHost": false,
|
||||
"ForceQuery": false,
|
||||
"RawQuery": "",
|
||||
"Fragment": "",
|
||||
"RawFragment": ""
|
||||
},
|
||||
"iconPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0
|
||||
},
|
||||
{
|
||||
"id": "(b -> c)[0]",
|
||||
"src": "b",
|
||||
"srcArrow": "none",
|
||||
"dst": "c",
|
||||
"dstArrow": "triangle",
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"stroke": "B1",
|
||||
"borderRadius": 10,
|
||||
"label": "",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "N2",
|
||||
"italic": true,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 0,
|
||||
"labelHeight": 0,
|
||||
"labelPosition": "",
|
||||
"labelPercentage": 0,
|
||||
"link": "",
|
||||
"route": [
|
||||
{
|
||||
"x": 239,
|
||||
"y": 33
|
||||
},
|
||||
{
|
||||
"x": 279,
|
||||
"y": 33
|
||||
},
|
||||
{
|
||||
"x": 299,
|
||||
"y": 33
|
||||
},
|
||||
{
|
||||
"x": 339,
|
||||
"y": 33
|
||||
}
|
||||
],
|
||||
"isCurve": true,
|
||||
"animated": false,
|
||||
"tooltip": "",
|
||||
"icon": {
|
||||
"Scheme": "https",
|
||||
"Opaque": "",
|
||||
"User": null,
|
||||
"Host": "icons.terrastruct.com",
|
||||
"Path": "/essentials/213-alarm.svg",
|
||||
"RawPath": "/essentials%2F213-alarm.svg",
|
||||
"OmitHost": false,
|
||||
"ForceQuery": false,
|
||||
"RawQuery": "",
|
||||
"Fragment": "",
|
||||
"RawFragment": ""
|
||||
},
|
||||
"iconPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0
|
||||
}
|
||||
],
|
||||
"root": {
|
||||
"id": "",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"width": 0,
|
||||
"height": 0,
|
||||
"opacity": 0,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 0,
|
||||
"borderRadius": 0,
|
||||
"fill": "N7",
|
||||
"stroke": "",
|
||||
"animated": false,
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
"multiple": false,
|
||||
"double-border": false,
|
||||
"tooltip": "",
|
||||
"link": "",
|
||||
"icon": null,
|
||||
"iconPosition": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "",
|
||||
"fontSize": 0,
|
||||
"fontFamily": "",
|
||||
"language": "",
|
||||
"color": "",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 0,
|
||||
"labelHeight": 0,
|
||||
"zIndex": 0,
|
||||
"level": 0
|
||||
}
|
||||
}
|
||||
106
e2etests/testdata/txtar/connection-icons/dagre/sketch.exp.svg
vendored
Normal file
106
e2etests/testdata/txtar/connection-icons/dagre/sketch.exp.svg
vendored
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="v0.6.9-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 394 68"><svg class="d2-502090661 d2-svg" width="394" height="68" viewBox="-1 -1 394 68"><rect x="-1.000000" y="-1.000000" width="394.000000" height="68.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
||||
.d2-502090661 .text-bold {
|
||||
font-family: "d2-502090661-font-bold";
|
||||
}
|
||||
@font-face {
|
||||
font-family: d2-502090661-font-bold;
|
||||
src: url("data:application/font-woff;base64,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");
|
||||
}
|
||||
.d2-502090661 .text-italic {
|
||||
font-family: "d2-502090661-font-italic";
|
||||
}
|
||||
@font-face {
|
||||
font-family: d2-502090661-font-italic;
|
||||
src: url("data:application/font-woff;base64,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");
|
||||
}]]></style><style type="text/css"><![CDATA[.shape {
|
||||
shape-rendering: geometricPrecision;
|
||||
stroke-linejoin: round;
|
||||
}
|
||||
.connection {
|
||||
stroke-linecap: round;
|
||||
stroke-linejoin: round;
|
||||
}
|
||||
.blend {
|
||||
mix-blend-mode: multiply;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.d2-502090661 .fill-N1{fill:#0A0F25;}
|
||||
.d2-502090661 .fill-N2{fill:#676C7E;}
|
||||
.d2-502090661 .fill-N3{fill:#9499AB;}
|
||||
.d2-502090661 .fill-N4{fill:#CFD2DD;}
|
||||
.d2-502090661 .fill-N5{fill:#DEE1EB;}
|
||||
.d2-502090661 .fill-N6{fill:#EEF1F8;}
|
||||
.d2-502090661 .fill-N7{fill:#FFFFFF;}
|
||||
.d2-502090661 .fill-B1{fill:#0D32B2;}
|
||||
.d2-502090661 .fill-B2{fill:#0D32B2;}
|
||||
.d2-502090661 .fill-B3{fill:#E3E9FD;}
|
||||
.d2-502090661 .fill-B4{fill:#E3E9FD;}
|
||||
.d2-502090661 .fill-B5{fill:#EDF0FD;}
|
||||
.d2-502090661 .fill-B6{fill:#F7F8FE;}
|
||||
.d2-502090661 .fill-AA2{fill:#4A6FF3;}
|
||||
.d2-502090661 .fill-AA4{fill:#EDF0FD;}
|
||||
.d2-502090661 .fill-AA5{fill:#F7F8FE;}
|
||||
.d2-502090661 .fill-AB4{fill:#EDF0FD;}
|
||||
.d2-502090661 .fill-AB5{fill:#F7F8FE;}
|
||||
.d2-502090661 .stroke-N1{stroke:#0A0F25;}
|
||||
.d2-502090661 .stroke-N2{stroke:#676C7E;}
|
||||
.d2-502090661 .stroke-N3{stroke:#9499AB;}
|
||||
.d2-502090661 .stroke-N4{stroke:#CFD2DD;}
|
||||
.d2-502090661 .stroke-N5{stroke:#DEE1EB;}
|
||||
.d2-502090661 .stroke-N6{stroke:#EEF1F8;}
|
||||
.d2-502090661 .stroke-N7{stroke:#FFFFFF;}
|
||||
.d2-502090661 .stroke-B1{stroke:#0D32B2;}
|
||||
.d2-502090661 .stroke-B2{stroke:#0D32B2;}
|
||||
.d2-502090661 .stroke-B3{stroke:#E3E9FD;}
|
||||
.d2-502090661 .stroke-B4{stroke:#E3E9FD;}
|
||||
.d2-502090661 .stroke-B5{stroke:#EDF0FD;}
|
||||
.d2-502090661 .stroke-B6{stroke:#F7F8FE;}
|
||||
.d2-502090661 .stroke-AA2{stroke:#4A6FF3;}
|
||||
.d2-502090661 .stroke-AA4{stroke:#EDF0FD;}
|
||||
.d2-502090661 .stroke-AA5{stroke:#F7F8FE;}
|
||||
.d2-502090661 .stroke-AB4{stroke:#EDF0FD;}
|
||||
.d2-502090661 .stroke-AB5{stroke:#F7F8FE;}
|
||||
.d2-502090661 .background-color-N1{background-color:#0A0F25;}
|
||||
.d2-502090661 .background-color-N2{background-color:#676C7E;}
|
||||
.d2-502090661 .background-color-N3{background-color:#9499AB;}
|
||||
.d2-502090661 .background-color-N4{background-color:#CFD2DD;}
|
||||
.d2-502090661 .background-color-N5{background-color:#DEE1EB;}
|
||||
.d2-502090661 .background-color-N6{background-color:#EEF1F8;}
|
||||
.d2-502090661 .background-color-N7{background-color:#FFFFFF;}
|
||||
.d2-502090661 .background-color-B1{background-color:#0D32B2;}
|
||||
.d2-502090661 .background-color-B2{background-color:#0D32B2;}
|
||||
.d2-502090661 .background-color-B3{background-color:#E3E9FD;}
|
||||
.d2-502090661 .background-color-B4{background-color:#E3E9FD;}
|
||||
.d2-502090661 .background-color-B5{background-color:#EDF0FD;}
|
||||
.d2-502090661 .background-color-B6{background-color:#F7F8FE;}
|
||||
.d2-502090661 .background-color-AA2{background-color:#4A6FF3;}
|
||||
.d2-502090661 .background-color-AA4{background-color:#EDF0FD;}
|
||||
.d2-502090661 .background-color-AA5{background-color:#F7F8FE;}
|
||||
.d2-502090661 .background-color-AB4{background-color:#EDF0FD;}
|
||||
.d2-502090661 .background-color-AB5{background-color:#F7F8FE;}
|
||||
.d2-502090661 .color-N1{color:#0A0F25;}
|
||||
.d2-502090661 .color-N2{color:#676C7E;}
|
||||
.d2-502090661 .color-N3{color:#9499AB;}
|
||||
.d2-502090661 .color-N4{color:#CFD2DD;}
|
||||
.d2-502090661 .color-N5{color:#DEE1EB;}
|
||||
.d2-502090661 .color-N6{color:#EEF1F8;}
|
||||
.d2-502090661 .color-N7{color:#FFFFFF;}
|
||||
.d2-502090661 .color-B1{color:#0D32B2;}
|
||||
.d2-502090661 .color-B2{color:#0D32B2;}
|
||||
.d2-502090661 .color-B3{color:#E3E9FD;}
|
||||
.d2-502090661 .color-B4{color:#E3E9FD;}
|
||||
.d2-502090661 .color-B5{color:#EDF0FD;}
|
||||
.d2-502090661 .color-B6{color:#F7F8FE;}
|
||||
.d2-502090661 .color-AA2{color:#4A6FF3;}
|
||||
.d2-502090661 .color-AA4{color:#EDF0FD;}
|
||||
.d2-502090661 .color-AA5{color:#F7F8FE;}
|
||||
.d2-502090661 .color-AB4{color:#EDF0FD;}
|
||||
.d2-502090661 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-502090661);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-502090661);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-502090661);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-502090661);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-502090661);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-502090661);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-502090661);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-502090661);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-502090661);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-502090661);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-502090661);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-502090661);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-502090661);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-502090661);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-502090661);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-502090661);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-502090661);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-502090661);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="YQ=="><g class="shape" ><rect x="0.000000" y="0.000000" width="53.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="26.500000" y="38.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">a</text></g><g class="Yg=="><g class="shape" ><rect x="186.000000" y="0.000000" width="53.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="212.500000" y="38.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">b</text></g><g class="Yw=="><g class="shape" ><rect x="339.000000" y="0.000000" width="53.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="365.500000" y="38.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">c</text></g><g class="KGEgLSZndDsgYilbMF0="><marker id="mk-d2-502090661-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><image href="https://icons.terrastruct.com/essentials%2F213-alarm.svg" x="63.000000" y="17.500000" width="32" height="32" /><path d="M 54.500000 33.000000 C 106.099998 33.000000 132.899994 33.000000 182.500000 33.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-502090661-3488378134)" mask="url(#d2-502090661)" /><text x="119.500000" y="39.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">hello</text></g><g class="KGIgLSZndDsgYylbMF0="><image href="https://icons.terrastruct.com/essentials%2F213-alarm.svg" x="273.000000" y="17.000000" width="32" height="32" /><path d="M 241.000000 33.000000 C 279.000000 33.000000 299.000000 33.000000 335.000000 33.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-502090661-3488378134)" mask="url(#d2-502090661)" /></g><mask id="d2-502090661" maskUnits="userSpaceOnUse" x="-1" y="-1" width="394" height="68">
|
||||
<rect x="-1" y="-1" width="394" height="68" fill="white"></rect>
|
||||
<rect x="22.500000" y="22.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
|
||||
<rect x="208.500000" y="22.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
|
||||
<rect x="361.500000" y="22.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
|
||||
<rect x="63.000000" y="23.000000" width="73" height="21" fill="black"></rect>
|
||||
<rect x="273.000000" y="17.000000" width="32" height="32" fill="black"></rect>
|
||||
</mask></svg></svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
288
e2etests/testdata/txtar/connection-icons/elk/board.exp.json
generated
vendored
Normal file
288
e2etests/testdata/txtar/connection-icons/elk/board.exp.json
generated
vendored
Normal file
|
|
@ -0,0 +1,288 @@
|
|||
{
|
||||
"name": "",
|
||||
"config": {
|
||||
"sketch": false,
|
||||
"themeID": 0,
|
||||
"darkThemeID": null,
|
||||
"pad": null,
|
||||
"center": null,
|
||||
"layoutEngine": null
|
||||
},
|
||||
"isFolderOnly": false,
|
||||
"fontFamily": "SourceSansPro",
|
||||
"shapes": [
|
||||
{
|
||||
"id": "a",
|
||||
"type": "rectangle",
|
||||
"pos": {
|
||||
"x": 12,
|
||||
"y": 12
|
||||
},
|
||||
"width": 53,
|
||||
"height": 66,
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "B6",
|
||||
"stroke": "B1",
|
||||
"animated": false,
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
"multiple": false,
|
||||
"double-border": false,
|
||||
"tooltip": "",
|
||||
"link": "",
|
||||
"icon": null,
|
||||
"iconPosition": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "a",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "N1",
|
||||
"italic": false,
|
||||
"bold": true,
|
||||
"underline": false,
|
||||
"labelWidth": 8,
|
||||
"labelHeight": 21,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "b",
|
||||
"type": "rectangle",
|
||||
"pos": {
|
||||
"x": 238,
|
||||
"y": 12
|
||||
},
|
||||
"width": 53,
|
||||
"height": 66,
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "B6",
|
||||
"stroke": "B1",
|
||||
"animated": false,
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
"multiple": false,
|
||||
"double-border": false,
|
||||
"tooltip": "",
|
||||
"link": "",
|
||||
"icon": null,
|
||||
"iconPosition": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "b",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "N1",
|
||||
"italic": false,
|
||||
"bold": true,
|
||||
"underline": false,
|
||||
"labelWidth": 8,
|
||||
"labelHeight": 21,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "c",
|
||||
"type": "rectangle",
|
||||
"pos": {
|
||||
"x": 361,
|
||||
"y": 12
|
||||
},
|
||||
"width": 53,
|
||||
"height": 66,
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "B6",
|
||||
"stroke": "B1",
|
||||
"animated": false,
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
"multiple": false,
|
||||
"double-border": false,
|
||||
"tooltip": "",
|
||||
"link": "",
|
||||
"icon": null,
|
||||
"iconPosition": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "c",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "N1",
|
||||
"italic": false,
|
||||
"bold": true,
|
||||
"underline": false,
|
||||
"labelWidth": 8,
|
||||
"labelHeight": 21,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
{
|
||||
"id": "(a -> b)[0]",
|
||||
"src": "a",
|
||||
"srcArrow": "none",
|
||||
"dst": "b",
|
||||
"dstArrow": "triangle",
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"stroke": "B1",
|
||||
"borderRadius": 10,
|
||||
"label": "hello",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "N2",
|
||||
"italic": true,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 33,
|
||||
"labelHeight": 21,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"labelPercentage": 0,
|
||||
"link": "",
|
||||
"route": [
|
||||
{
|
||||
"x": 65,
|
||||
"y": 45
|
||||
},
|
||||
{
|
||||
"x": 238,
|
||||
"y": 45
|
||||
}
|
||||
],
|
||||
"animated": false,
|
||||
"tooltip": "",
|
||||
"icon": {
|
||||
"Scheme": "https",
|
||||
"Opaque": "",
|
||||
"User": null,
|
||||
"Host": "icons.terrastruct.com",
|
||||
"Path": "/essentials/213-alarm.svg",
|
||||
"RawPath": "/essentials%2F213-alarm.svg",
|
||||
"OmitHost": false,
|
||||
"ForceQuery": false,
|
||||
"RawQuery": "",
|
||||
"Fragment": "",
|
||||
"RawFragment": ""
|
||||
},
|
||||
"iconPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0
|
||||
},
|
||||
{
|
||||
"id": "(b -> c)[0]",
|
||||
"src": "b",
|
||||
"srcArrow": "none",
|
||||
"dst": "c",
|
||||
"dstArrow": "triangle",
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"stroke": "B1",
|
||||
"borderRadius": 10,
|
||||
"label": "",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "N2",
|
||||
"italic": true,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 0,
|
||||
"labelHeight": 0,
|
||||
"labelPosition": "",
|
||||
"labelPercentage": 0,
|
||||
"link": "",
|
||||
"route": [
|
||||
{
|
||||
"x": 291,
|
||||
"y": 45
|
||||
},
|
||||
{
|
||||
"x": 361,
|
||||
"y": 45
|
||||
}
|
||||
],
|
||||
"animated": false,
|
||||
"tooltip": "",
|
||||
"icon": {
|
||||
"Scheme": "https",
|
||||
"Opaque": "",
|
||||
"User": null,
|
||||
"Host": "icons.terrastruct.com",
|
||||
"Path": "/essentials/213-alarm.svg",
|
||||
"RawPath": "/essentials%2F213-alarm.svg",
|
||||
"OmitHost": false,
|
||||
"ForceQuery": false,
|
||||
"RawQuery": "",
|
||||
"Fragment": "",
|
||||
"RawFragment": ""
|
||||
},
|
||||
"iconPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0
|
||||
}
|
||||
],
|
||||
"root": {
|
||||
"id": "",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"width": 0,
|
||||
"height": 0,
|
||||
"opacity": 0,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 0,
|
||||
"borderRadius": 0,
|
||||
"fill": "N7",
|
||||
"stroke": "",
|
||||
"animated": false,
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
"multiple": false,
|
||||
"double-border": false,
|
||||
"tooltip": "",
|
||||
"link": "",
|
||||
"icon": null,
|
||||
"iconPosition": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "",
|
||||
"fontSize": 0,
|
||||
"fontFamily": "",
|
||||
"language": "",
|
||||
"color": "",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 0,
|
||||
"labelHeight": 0,
|
||||
"zIndex": 0,
|
||||
"level": 0
|
||||
}
|
||||
}
|
||||
106
e2etests/testdata/txtar/connection-icons/elk/sketch.exp.svg
vendored
Normal file
106
e2etests/testdata/txtar/connection-icons/elk/sketch.exp.svg
vendored
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="v0.6.9-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 404 68"><svg class="d2-364024125 d2-svg" width="404" height="68" viewBox="11 11 404 68"><rect x="11.000000" y="11.000000" width="404.000000" height="68.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
||||
.d2-364024125 .text-bold {
|
||||
font-family: "d2-364024125-font-bold";
|
||||
}
|
||||
@font-face {
|
||||
font-family: d2-364024125-font-bold;
|
||||
src: url("data:application/font-woff;base64,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");
|
||||
}
|
||||
.d2-364024125 .text-italic {
|
||||
font-family: "d2-364024125-font-italic";
|
||||
}
|
||||
@font-face {
|
||||
font-family: d2-364024125-font-italic;
|
||||
src: url("data:application/font-woff;base64,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");
|
||||
}]]></style><style type="text/css"><![CDATA[.shape {
|
||||
shape-rendering: geometricPrecision;
|
||||
stroke-linejoin: round;
|
||||
}
|
||||
.connection {
|
||||
stroke-linecap: round;
|
||||
stroke-linejoin: round;
|
||||
}
|
||||
.blend {
|
||||
mix-blend-mode: multiply;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.d2-364024125 .fill-N1{fill:#0A0F25;}
|
||||
.d2-364024125 .fill-N2{fill:#676C7E;}
|
||||
.d2-364024125 .fill-N3{fill:#9499AB;}
|
||||
.d2-364024125 .fill-N4{fill:#CFD2DD;}
|
||||
.d2-364024125 .fill-N5{fill:#DEE1EB;}
|
||||
.d2-364024125 .fill-N6{fill:#EEF1F8;}
|
||||
.d2-364024125 .fill-N7{fill:#FFFFFF;}
|
||||
.d2-364024125 .fill-B1{fill:#0D32B2;}
|
||||
.d2-364024125 .fill-B2{fill:#0D32B2;}
|
||||
.d2-364024125 .fill-B3{fill:#E3E9FD;}
|
||||
.d2-364024125 .fill-B4{fill:#E3E9FD;}
|
||||
.d2-364024125 .fill-B5{fill:#EDF0FD;}
|
||||
.d2-364024125 .fill-B6{fill:#F7F8FE;}
|
||||
.d2-364024125 .fill-AA2{fill:#4A6FF3;}
|
||||
.d2-364024125 .fill-AA4{fill:#EDF0FD;}
|
||||
.d2-364024125 .fill-AA5{fill:#F7F8FE;}
|
||||
.d2-364024125 .fill-AB4{fill:#EDF0FD;}
|
||||
.d2-364024125 .fill-AB5{fill:#F7F8FE;}
|
||||
.d2-364024125 .stroke-N1{stroke:#0A0F25;}
|
||||
.d2-364024125 .stroke-N2{stroke:#676C7E;}
|
||||
.d2-364024125 .stroke-N3{stroke:#9499AB;}
|
||||
.d2-364024125 .stroke-N4{stroke:#CFD2DD;}
|
||||
.d2-364024125 .stroke-N5{stroke:#DEE1EB;}
|
||||
.d2-364024125 .stroke-N6{stroke:#EEF1F8;}
|
||||
.d2-364024125 .stroke-N7{stroke:#FFFFFF;}
|
||||
.d2-364024125 .stroke-B1{stroke:#0D32B2;}
|
||||
.d2-364024125 .stroke-B2{stroke:#0D32B2;}
|
||||
.d2-364024125 .stroke-B3{stroke:#E3E9FD;}
|
||||
.d2-364024125 .stroke-B4{stroke:#E3E9FD;}
|
||||
.d2-364024125 .stroke-B5{stroke:#EDF0FD;}
|
||||
.d2-364024125 .stroke-B6{stroke:#F7F8FE;}
|
||||
.d2-364024125 .stroke-AA2{stroke:#4A6FF3;}
|
||||
.d2-364024125 .stroke-AA4{stroke:#EDF0FD;}
|
||||
.d2-364024125 .stroke-AA5{stroke:#F7F8FE;}
|
||||
.d2-364024125 .stroke-AB4{stroke:#EDF0FD;}
|
||||
.d2-364024125 .stroke-AB5{stroke:#F7F8FE;}
|
||||
.d2-364024125 .background-color-N1{background-color:#0A0F25;}
|
||||
.d2-364024125 .background-color-N2{background-color:#676C7E;}
|
||||
.d2-364024125 .background-color-N3{background-color:#9499AB;}
|
||||
.d2-364024125 .background-color-N4{background-color:#CFD2DD;}
|
||||
.d2-364024125 .background-color-N5{background-color:#DEE1EB;}
|
||||
.d2-364024125 .background-color-N6{background-color:#EEF1F8;}
|
||||
.d2-364024125 .background-color-N7{background-color:#FFFFFF;}
|
||||
.d2-364024125 .background-color-B1{background-color:#0D32B2;}
|
||||
.d2-364024125 .background-color-B2{background-color:#0D32B2;}
|
||||
.d2-364024125 .background-color-B3{background-color:#E3E9FD;}
|
||||
.d2-364024125 .background-color-B4{background-color:#E3E9FD;}
|
||||
.d2-364024125 .background-color-B5{background-color:#EDF0FD;}
|
||||
.d2-364024125 .background-color-B6{background-color:#F7F8FE;}
|
||||
.d2-364024125 .background-color-AA2{background-color:#4A6FF3;}
|
||||
.d2-364024125 .background-color-AA4{background-color:#EDF0FD;}
|
||||
.d2-364024125 .background-color-AA5{background-color:#F7F8FE;}
|
||||
.d2-364024125 .background-color-AB4{background-color:#EDF0FD;}
|
||||
.d2-364024125 .background-color-AB5{background-color:#F7F8FE;}
|
||||
.d2-364024125 .color-N1{color:#0A0F25;}
|
||||
.d2-364024125 .color-N2{color:#676C7E;}
|
||||
.d2-364024125 .color-N3{color:#9499AB;}
|
||||
.d2-364024125 .color-N4{color:#CFD2DD;}
|
||||
.d2-364024125 .color-N5{color:#DEE1EB;}
|
||||
.d2-364024125 .color-N6{color:#EEF1F8;}
|
||||
.d2-364024125 .color-N7{color:#FFFFFF;}
|
||||
.d2-364024125 .color-B1{color:#0D32B2;}
|
||||
.d2-364024125 .color-B2{color:#0D32B2;}
|
||||
.d2-364024125 .color-B3{color:#E3E9FD;}
|
||||
.d2-364024125 .color-B4{color:#E3E9FD;}
|
||||
.d2-364024125 .color-B5{color:#EDF0FD;}
|
||||
.d2-364024125 .color-B6{color:#F7F8FE;}
|
||||
.d2-364024125 .color-AA2{color:#4A6FF3;}
|
||||
.d2-364024125 .color-AA4{color:#EDF0FD;}
|
||||
.d2-364024125 .color-AA5{color:#F7F8FE;}
|
||||
.d2-364024125 .color-AB4{color:#EDF0FD;}
|
||||
.d2-364024125 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-364024125);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-364024125);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-364024125);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-364024125);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-364024125);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-364024125);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-364024125);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-364024125);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-364024125);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-364024125);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-364024125);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-364024125);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-364024125);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-364024125);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-364024125);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-364024125);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-364024125);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-364024125);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="YQ=="><g class="shape" ><rect x="12.000000" y="12.000000" width="53.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="38.500000" y="50.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">a</text></g><g class="Yg=="><g class="shape" ><rect x="238.000000" y="12.000000" width="53.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="264.500000" y="50.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">b</text></g><g class="Yw=="><g class="shape" ><rect x="361.000000" y="12.000000" width="53.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="387.500000" y="50.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">c</text></g><g class="KGEgLSZndDsgYilbMF0="><marker id="mk-d2-364024125-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><image href="https://icons.terrastruct.com/essentials%2F213-alarm.svg" x="95.000000" y="29.500000" width="32" height="32" /><path d="M 67.000000 45.000000 L 234.000000 45.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-364024125-3488378134)" mask="url(#d2-364024125)" /><text x="151.500000" y="51.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">hello</text></g><g class="KGIgLSZndDsgYylbMF0="><image href="https://icons.terrastruct.com/essentials%2F213-alarm.svg" x="310.000000" y="29.000000" width="32" height="32" /><path d="M 293.000000 45.000000 L 357.000000 45.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-364024125-3488378134)" mask="url(#d2-364024125)" /></g><mask id="d2-364024125" maskUnits="userSpaceOnUse" x="11" y="11" width="404" height="68">
|
||||
<rect x="11" y="11" width="404" height="68" fill="white"></rect>
|
||||
<rect x="34.500000" y="34.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
|
||||
<rect x="260.500000" y="34.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
|
||||
<rect x="383.500000" y="34.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
|
||||
<rect x="95.000000" y="35.000000" width="73" height="21" fill="black"></rect>
|
||||
<rect x="310.000000" y="29.000000" width="32" height="32" fill="black"></rect>
|
||||
</mask></svg></svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
|
|
@ -766,3 +766,12 @@ asdf:{
|
|||
shape:sQl_table
|
||||
zxcv
|
||||
}
|
||||
|
||||
-- connection-icons --
|
||||
direction: right
|
||||
a -> b: hello {
|
||||
icon: https://icons.terrastruct.com/essentials%2F213-alarm.svg
|
||||
}
|
||||
b -> c: {
|
||||
icon: https://icons.terrastruct.com/essentials%2F213-alarm.svg
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue