@rankonelabs/livid-svg 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -0
- package/dist/render.d.ts +8 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +15 -2
- package/dist/render.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -71,6 +71,34 @@ one line is that line; track leaving a router onto another line already belongs
|
|
|
71
71
|
to the new one, which is what makes an interchange read as a change. Edges that
|
|
72
72
|
cross lines are drawn at `branchWeight`, lighter than the track they leave.
|
|
73
73
|
|
|
74
|
+
## Styling hooks, and where motion lives
|
|
75
|
+
|
|
76
|
+
Every node and edge carries hooks for the page's own stylesheet:
|
|
77
|
+
|
|
78
|
+
| Element | Class | Attributes |
|
|
79
|
+
| --- | --- | --- |
|
|
80
|
+
| node `<g>` | `livid-node` | `data-type`, `data-node`, `data-line` |
|
|
81
|
+
| edge `<polyline>` | `livid-edge` | `data-type`, `data-line`, `data-kind` (`track` \| `branch`) |
|
|
82
|
+
|
|
83
|
+
Motion is not a renderer option, and that is on purpose. An inline SVG is stylable
|
|
84
|
+
by the document around it, so hover states, transitions, and flow animation are
|
|
85
|
+
already the consumer's to write — a renderer shipping animation config would be
|
|
86
|
+
deciding something the page is better placed to decide. What the renderer owes is
|
|
87
|
+
*identity*: which line, which type, track or branch. That is the one thing CSS
|
|
88
|
+
cannot recover from geometry.
|
|
89
|
+
|
|
90
|
+
```css
|
|
91
|
+
/* Artifact flowing along the critical path, in the consumer's stylesheet. */
|
|
92
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
93
|
+
.livid-edge[data-kind='track'] {
|
|
94
|
+
stroke-dasharray: 1 14;
|
|
95
|
+
stroke-linecap: round;
|
|
96
|
+
animation: livid-flow 1.4s linear infinite;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
@keyframes livid-flow { to { stroke-dashoffset: -15; } }
|
|
100
|
+
```
|
|
101
|
+
|
|
74
102
|
## Drill-down
|
|
75
103
|
|
|
76
104
|
Levels are stacked, not made interactive: a static file has to contain every
|
package/dist/render.d.ts
CHANGED
|
@@ -9,6 +9,14 @@
|
|
|
9
9
|
* Drill-down levels are stacked rather than made interactive. A static file
|
|
10
10
|
* has to contain every level it can reveal, and stacking reveals them without
|
|
11
11
|
* script; the React renderer is where descending on demand belongs.
|
|
12
|
+
*
|
|
13
|
+
* Every node and edge carries `data-*` hooks so the page around an inline SVG can
|
|
14
|
+
* style, highlight, and animate the map from its own stylesheet. That is
|
|
15
|
+
* deliberately where motion lives: a renderer shipping animation config would be
|
|
16
|
+
* deciding something the consumer is better placed to decide, and CSS can already
|
|
17
|
+
* do all of it. What the renderer owes is *identity* — which line, which type,
|
|
18
|
+
* track or branch — because that is the one thing CSS cannot recover from
|
|
19
|
+
* geometry alone.
|
|
12
20
|
*/
|
|
13
21
|
import type { AnyRegistry, LaidOutDiagram } from '@rankonelabs/livid-core';
|
|
14
22
|
import { type SvgThemeOverrides } from './theme.js';
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAmC,MAAM,yBAAyB,CAAC;AAI5G,OAAO,EAAiB,KAAK,iBAAiB,EAA4B,MAAM,YAAY,CAAC;AAE7F,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,0DAA0D;AAC1D,wBAAgB,SAAS,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,UAAe,GAAG,MAAM,CAE7G;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,EAChD,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAC1B,OAAO,GAAE,UAAe,GACvB,SAAS,CAoEX;AAsKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|
package/dist/render.js
CHANGED
|
@@ -9,6 +9,14 @@
|
|
|
9
9
|
* Drill-down levels are stacked rather than made interactive. A static file
|
|
10
10
|
* has to contain every level it can reveal, and stacking reveals them without
|
|
11
11
|
* script; the React renderer is where descending on demand belongs.
|
|
12
|
+
*
|
|
13
|
+
* Every node and edge carries `data-*` hooks so the page around an inline SVG can
|
|
14
|
+
* style, highlight, and animate the map from its own stylesheet. That is
|
|
15
|
+
* deliberately where motion lives: a renderer shipping animation config would be
|
|
16
|
+
* deciding something the consumer is better placed to decide, and CSS can already
|
|
17
|
+
* do all of it. What the renderer owes is *identity* — which line, which type,
|
|
18
|
+
* track or branch — because that is the one thing CSS cannot recover from
|
|
19
|
+
* geometry alone.
|
|
12
20
|
*/
|
|
13
21
|
import { EMPTY_BOX, boxAround, boxOf, placeLabel, unionOf, withExtent } from './geometry.js';
|
|
14
22
|
import { glyphMarkup, shapeMarkup } from './shapes.js';
|
|
@@ -122,7 +130,10 @@ function renderEdge(edge, lineOfNode, colourOf, theme) {
|
|
|
122
130
|
return { markup: '', box: EMPTY_BOX };
|
|
123
131
|
const points = edge.route.map((point) => `${round(point.x)},${round(point.y)}`).join(' ');
|
|
124
132
|
return {
|
|
125
|
-
markup: `<polyline
|
|
133
|
+
markup: `<polyline class="livid-edge" data-type="${escapeAttr(edge.edge.type)}" ` +
|
|
134
|
+
`data-line="${targetLine === null ? '' : escapeAttr(targetLine)}" ` +
|
|
135
|
+
`data-kind="${branching ? 'branch' : 'track'}" ` +
|
|
136
|
+
`points="${points}" fill="none" stroke="${colourOf(targetLine)}" stroke-width="${weight}" ` +
|
|
126
137
|
`stroke-linejoin="round" stroke-linecap="round"/>`,
|
|
127
138
|
box: boxAround(edge.route, weight / 2),
|
|
128
139
|
};
|
|
@@ -142,7 +153,9 @@ function renderNode(placed, diagram, colourOf, theme) {
|
|
|
142
153
|
const description = typeDef === undefined ? placed.node.label : `${placed.node.label} — ${typeDef.label}`;
|
|
143
154
|
return {
|
|
144
155
|
markup: [
|
|
145
|
-
`<g
|
|
156
|
+
`<g class="livid-node" data-type="${escapeAttr(placed.node.type)}" ` +
|
|
157
|
+
`data-node="${escapeAttr(placed.node.id)}" ` +
|
|
158
|
+
`data-line="${placed.node.line === null ? '' : escapeAttr(placed.node.line)}">`,
|
|
146
159
|
`<title>${escapeText(description)}</title>`,
|
|
147
160
|
shapeMarkup(shape, box, {
|
|
148
161
|
fill: theme.palette.nodeFill,
|
package/dist/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|