@issuegraph/viewer 0.3.0 → 0.5.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/dist/document.d.ts +152 -0
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +185 -2
- package/dist/document.js.map +1 -1
- package/dist/element.d.ts +11 -0
- package/dist/element.d.ts.map +1 -1
- package/dist/element.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -2
- package/dist/index.js.map +1 -1
- package/dist/layout.d.ts +51 -50
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +364 -168
- package/dist/layout.js.map +1 -1
- package/dist/mount.d.ts +13 -0
- package/dist/mount.d.ts.map +1 -1
- package/dist/mount.js +69 -1
- package/dist/mount.js.map +1 -1
- package/dist/navigation.d.ts +14 -0
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +20 -0
- package/dist/navigation.js.map +1 -1
- package/dist/parts.d.ts +285 -2
- package/dist/parts.d.ts.map +1 -1
- package/dist/parts.js +781 -63
- package/dist/parts.js.map +1 -1
- package/dist/projections/graph.d.ts +10 -0
- package/dist/projections/graph.d.ts.map +1 -1
- package/dist/projections/graph.js +413 -326
- package/dist/projections/graph.js.map +1 -1
- package/dist/projections/linear.d.ts +90 -0
- package/dist/projections/linear.d.ts.map +1 -1
- package/dist/projections/linear.js +213 -31
- package/dist/projections/linear.js.map +1 -1
- package/dist/projections/tree.d.ts.map +1 -1
- package/dist/projections/tree.js +26 -3
- package/dist/projections/tree.js.map +1 -1
- package/dist/styles.d.ts +10 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +803 -132
- package/dist/styles.js.map +1 -1
- package/dist/theme.d.ts +5 -6
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +72 -7
- package/dist/theme.js.map +1 -1
- package/dist/vocabulary.d.ts +39 -0
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +27 -0
- package/dist/vocabulary.js.map +1 -1
- package/package.json +2 -2
package/dist/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgmC/B,CAAC"}
|
package/dist/theme.d.ts
CHANGED
|
@@ -31,10 +31,10 @@ export type ColorToken = (typeof COLOR_TOKENS)[number];
|
|
|
31
31
|
* and {@link METRIC_TOKENS} would give both a `px` unit and silently void the
|
|
32
32
|
* declaration.
|
|
33
33
|
*/
|
|
34
|
-
export declare const TYPE_TOKENS: readonly ["--ig-font-ui", "--ig-font-mono", "--ig-font-size", "--ig-font-size-small", "--ig-line-height", "--ig-font-size-micro", "--ig-font-size-pill", "--ig-weight-regular", "--ig-weight-medium", "--ig-weight-strong", "--ig-weight-heavy", "--ig-tracking-label", "--ig-tracking-group", "--ig-tracking-pill", "--ig-tracking-badge"];
|
|
34
|
+
export declare const TYPE_TOKENS: readonly ["--ig-font-ui", "--ig-font-mono", "--ig-font-size", "--ig-font-size-small", "--ig-line-height", "--ig-font-size-micro", "--ig-font-size-pill", "--ig-weight-regular", "--ig-weight-medium", "--ig-weight-strong", "--ig-weight-heavy", "--ig-tracking-label", "--ig-tracking-group", "--ig-tracking-pill", "--ig-tracking-badge", "--ig-font-size-meta", "--ig-font-size-compact", "--ig-font-size-row", "--ig-font-size-rank"];
|
|
35
35
|
export type TypeToken = (typeof TYPE_TOKENS)[number];
|
|
36
36
|
/** Geometry tokens. Every value is a number of CSS pixels. */
|
|
37
|
-
export declare const METRIC_TOKENS: readonly ["--ig-space", "--ig-space-tight", "--ig-radius", "--ig-row-height", "--ig-station-size", "--ig-station-halo", "--ig-stroke", "--ig-stroke-connector", "--ig-terminal-length", "--ig-terminal-width", "--ig-gutter-width", "--ig-spine-width", "--ig-char-width", "--ig-label-char-width", "--ig-focus-ring", "--ig-space-micro", "--ig-space-snug", "--ig-space-loose", "--ig-space-wide", "--ig-radius-small", "--ig-radius-large", "--ig-row-min-height", "--ig-row-padding-block", "--ig-band-rail"];
|
|
37
|
+
export declare const METRIC_TOKENS: readonly ["--ig-space", "--ig-space-tight", "--ig-radius", "--ig-row-height", "--ig-station-size", "--ig-station-halo", "--ig-stroke", "--ig-stroke-connector", "--ig-stroke-audit", "--ig-terminal-length", "--ig-terminal-width", "--ig-gutter-width", "--ig-spine-width", "--ig-char-width", "--ig-label-char-width", "--ig-focus-ring", "--ig-space-micro", "--ig-space-snug", "--ig-space-loose", "--ig-space-wide", "--ig-radius-small", "--ig-radius-large", "--ig-row-min-height", "--ig-row-padding-block", "--ig-band-rail", "--ig-rank-column", "--ig-station-box", "--ig-card-line"];
|
|
38
38
|
export type MetricToken = (typeof METRIC_TOKENS)[number];
|
|
39
39
|
/**
|
|
40
40
|
* Surface-treatment tokens: values that are none of a colour, a type value or
|
|
@@ -100,10 +100,9 @@ export declare function extendTheme(base: Theme, override: ThemeOverride): Theme
|
|
|
100
100
|
* package and stored. Adding a token then puts a hole in it, and the hole does
|
|
101
101
|
* not fail loudly: a missing metric reads `undefined`, arithmetic on it yields
|
|
102
102
|
* `NaN`, and every comparison against `NaN` is false. Measured when
|
|
103
|
-
* `--ig-label-char-width` was added — a 0.1.0 theme made
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
* `undefinedpx`.
|
|
103
|
+
* `--ig-label-char-width` was added — a 0.1.0 theme made every measured width
|
|
104
|
+
* `NaN`, so a card's height came out `NaN` and every station stacked at the
|
|
105
|
+
* same y, and `themeCss` emitted `undefinedpx`.
|
|
107
106
|
*
|
|
108
107
|
* A TypeScript caller is told about a new token by the compiler; a JavaScript
|
|
109
108
|
* one is not, and neither is a theme deserialized from storage. This is the
|
package/dist/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,+ZAgCd,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,+ZAgCd,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,2aAgDb,CAAC;AAEZ,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,8DAA8D;AAC9D,eAAO,MAAM,aAAa,kkBAyDf,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,wIAsBf,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,0DAA0D;AAC1D,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAKxC,CAAC;AAEH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;CACzD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,KA2MzB,CAAC;AAEH,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACrE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,CAOvE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,SAAU,GAAG,MAAM,CAWjE"}
|
package/dist/theme.js
CHANGED
|
@@ -97,6 +97,19 @@ export const TYPE_TOKENS = Object.freeze([
|
|
|
97
97
|
'--ig-tracking-group',
|
|
98
98
|
'--ig-tracking-pill',
|
|
99
99
|
'--ig-tracking-badge',
|
|
100
|
+
// THE FOUR STEPS BETWEEN `--ig-font-size-micro` AND `--ig-font-size`, for the
|
|
101
|
+
// same reason the two below `small` were added: the frames draw them and this
|
|
102
|
+
// file named none of them, so every one had to be approximated by 11px or
|
|
103
|
+
// 13px. §16a alone spends 10.5 (a footer row's id), 12.5 (a footer row's
|
|
104
|
+
// title and §16b's node title), 13.5 (a rank row's title) and 14 (the rank
|
|
105
|
+
// number itself) — four values in one frame, none of them derivable from the
|
|
106
|
+
// two that shipped. Approximating them is what made a rank row read as one
|
|
107
|
+
// undifferentiated block of body copy: with title, id and provenance all at
|
|
108
|
+
// 11-13px, the row had no type hierarchy to see.
|
|
109
|
+
'--ig-font-size-meta',
|
|
110
|
+
'--ig-font-size-compact',
|
|
111
|
+
'--ig-font-size-row',
|
|
112
|
+
'--ig-font-size-rank',
|
|
100
113
|
]);
|
|
101
114
|
/** Geometry tokens. Every value is a number of CSS pixels. */
|
|
102
115
|
export const METRIC_TOKENS = Object.freeze([
|
|
@@ -108,6 +121,7 @@ export const METRIC_TOKENS = Object.freeze([
|
|
|
108
121
|
'--ig-station-halo',
|
|
109
122
|
'--ig-stroke',
|
|
110
123
|
'--ig-stroke-connector',
|
|
124
|
+
'--ig-stroke-audit',
|
|
111
125
|
'--ig-terminal-length',
|
|
112
126
|
'--ig-terminal-width',
|
|
113
127
|
'--ig-gutter-width',
|
|
@@ -144,6 +158,17 @@ export const METRIC_TOKENS = Object.freeze([
|
|
|
144
158
|
// WORKING NOW band, `inset 3px 0 0`). It pairs with `--ig-tint-wash`: the
|
|
145
159
|
// wash is the band's fill and this is its edge.
|
|
146
160
|
'--ig-band-rail',
|
|
161
|
+
// §16a's rank TRACK, `grid-template-columns: 34px 1fr`. It is a column width
|
|
162
|
+
// rather than a derived one because the frame fixes it: the rank figure and
|
|
163
|
+
// the readiness dot stack inside it and the title column starts at the same
|
|
164
|
+
// x on every row, held or not. Deriving it from the station size and a gap
|
|
165
|
+
// would make the alignment grid move whenever either did, which is the one
|
|
166
|
+
// thing this column exists to prevent.
|
|
167
|
+
'--ig-rank-column',
|
|
168
|
+
// §16b's spine furniture: the station disc that sits ON the spine line, and
|
|
169
|
+
// the line height a card's own height is counted in.
|
|
170
|
+
'--ig-station-box',
|
|
171
|
+
'--ig-card-line',
|
|
147
172
|
]);
|
|
148
173
|
/**
|
|
149
174
|
* Surface-treatment tokens: values that are none of a colour, a type value or
|
|
@@ -274,6 +299,16 @@ export const defaultTheme = Object.freeze({
|
|
|
274
299
|
// derived from the size, because these two share one.
|
|
275
300
|
'--ig-tracking-pill': '0.08em',
|
|
276
301
|
'--ig-tracking-badge': '0.06em',
|
|
302
|
+
// Read values, in the same sense as `micro` and `pill`: §16a's footer row
|
|
303
|
+
// prints its id at 10.5 and its title at 12.5, its rank rows print titles
|
|
304
|
+
// at 13.5, and the rank figure itself is 14. §16b reuses `compact` for a
|
|
305
|
+
// node title and `meta` for a node id, which is why they are named for
|
|
306
|
+
// their ROLE rather than for a position in a scale — there is no scale
|
|
307
|
+
// here to be a position in.
|
|
308
|
+
'--ig-font-size-meta': '10.5px',
|
|
309
|
+
'--ig-font-size-compact': '12.5px',
|
|
310
|
+
'--ig-font-size-row': '13.5px',
|
|
311
|
+
'--ig-font-size-rank': '14px',
|
|
277
312
|
}),
|
|
278
313
|
metrics: Object.freeze({
|
|
279
314
|
'--ig-space': 12,
|
|
@@ -288,13 +323,32 @@ export const defaultTheme = Object.freeze({
|
|
|
288
323
|
// The `together-with` hairline connector, which is deliberately finer than
|
|
289
324
|
// an ordinary edge so the enclosure stays the primary read.
|
|
290
325
|
'--ig-stroke-connector': 1.6,
|
|
326
|
+
// §17d's ambient audit bar, which the design fixes at 2px in those words —
|
|
327
|
+
// heavier than an edge stroke because it has to be findable while the
|
|
328
|
+
// reader is scrolling past it doing something else, and no heavier because
|
|
329
|
+
// §17d's whole argument is attention without nagging.
|
|
330
|
+
//
|
|
331
|
+
// IT LIVES IN THIS THEME, NOT THE AUDIT'S. `editor/src/audit/styles.ts`
|
|
332
|
+
// records shipping an `--ig-audit-bar` of its own behind a second theme
|
|
333
|
+
// function and reversing it: a host that installed the viewer's theme and
|
|
334
|
+
// forgot the second got a `var()` resolving to nothing, and the bar
|
|
335
|
+
// silently stopped drawing. A token here has no such state — every host
|
|
336
|
+
// installs this theme — so the value stays retunable without the failure
|
|
337
|
+
// that reversal was paid for.
|
|
338
|
+
'--ig-stroke-audit': 2,
|
|
291
339
|
// The terminal marker's own box. It is theme data rather than a constant
|
|
292
340
|
// in the drawing code because it is a SIZE, and R5 admits no exceptions:
|
|
293
341
|
// a host scaling the type up needs the arrowheads to follow.
|
|
294
342
|
'--ig-terminal-length': 9,
|
|
295
343
|
'--ig-terminal-width': 8,
|
|
296
|
-
'
|
|
297
|
-
|
|
344
|
+
// §16b's own column widths: a 250px left gutter, a 330px spine card and a
|
|
345
|
+
// 270px right gutter, inside an 1180px panel. One gutter token serves both
|
|
346
|
+
// sides — the frame's 20px difference between them carries no stated
|
|
347
|
+
// meaning, and two tokens would ask a host to reproduce an asymmetry it
|
|
348
|
+
// cannot read a reason for. The sum lands the canvas at 1164, which is the
|
|
349
|
+
// frame's panel less its own border and scroll allowance.
|
|
350
|
+
'--ig-gutter-width': 260,
|
|
351
|
+
'--ig-spine-width': 330,
|
|
298
352
|
// The advance width of one character at `--ig-font-size` in the mono face.
|
|
299
353
|
// Layout measures text with it, so a host changing the type scale changes
|
|
300
354
|
// this too and the boxes stay around their contents.
|
|
@@ -306,7 +360,7 @@ export const defaultTheme = Object.freeze({
|
|
|
306
360
|
// title overflow its node: 24 all-capital characters "fitted" 187.2px of
|
|
307
361
|
// room and drew about 240px, straight across the routing channel.
|
|
308
362
|
//
|
|
309
|
-
// AN AVERAGE, because `
|
|
363
|
+
// AN AVERAGE, because `labelWidth` scales it per character class rather than
|
|
310
364
|
// assuming every glyph is the same width — see `labelWidth` there. A flat
|
|
311
365
|
// CEILING was tried and is wrong in the other direction: at the widest
|
|
312
366
|
// glyph's advance, ordinary titles truncate at roughly half their length,
|
|
@@ -334,6 +388,18 @@ export const defaultTheme = Object.freeze({
|
|
|
334
388
|
'--ig-row-padding-block': 13,
|
|
335
389
|
// §16a's WORKING NOW band, `box-shadow: inset 3px 0 0 var(--cyan)`.
|
|
336
390
|
'--ig-band-rail': 3,
|
|
391
|
+
// §16a's rank track, read straight off `grid-template-columns: 34px 1fr`.
|
|
392
|
+
'--ig-rank-column': 34,
|
|
393
|
+
// §16b's station disc, 26px across on the spine.
|
|
394
|
+
'--ig-station-box': 26,
|
|
395
|
+
// One line of text inside a §16b node card, which is what lets the layout
|
|
396
|
+
// give a card a height WITHOUT measuring one. A card's contents are known
|
|
397
|
+
// — a title that may wrap, an identity, a badge row — so its height is a
|
|
398
|
+
// count of lines times this. Chosen as a CEILING on the compact size times
|
|
399
|
+
// the line height (12.5 x 1.45 = 18.1), for the reason `measureLabel` gives
|
|
400
|
+
// about its own metric: a card that reserves slightly too much leaves a
|
|
401
|
+
// gap, and one that reserves too little overlaps the row beneath it.
|
|
402
|
+
'--ig-card-line': 18,
|
|
337
403
|
}),
|
|
338
404
|
effects: Object.freeze({
|
|
339
405
|
// ONE PAIR FOR ALL FIVE RELATIONSHIP CHIPS, at the value §16a draws most
|
|
@@ -389,10 +455,9 @@ export function extendTheme(base, override) {
|
|
|
389
455
|
* package and stored. Adding a token then puts a hole in it, and the hole does
|
|
390
456
|
* not fail loudly: a missing metric reads `undefined`, arithmetic on it yields
|
|
391
457
|
* `NaN`, and every comparison against `NaN` is false. Measured when
|
|
392
|
-
* `--ig-label-char-width` was added — a 0.1.0 theme made
|
|
393
|
-
*
|
|
394
|
-
*
|
|
395
|
-
* `undefinedpx`.
|
|
458
|
+
* `--ig-label-char-width` was added — a 0.1.0 theme made every measured width
|
|
459
|
+
* `NaN`, so a card's height came out `NaN` and every station stacked at the
|
|
460
|
+
* same y, and `themeCss` emitted `undefinedpx`.
|
|
396
461
|
*
|
|
397
462
|
* A TypeScript caller is told about a new token by the compiler; a JavaScript
|
|
398
463
|
* one is not, and neither is a theme deserialized from storage. This is the
|
package/dist/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
|
package/dist/vocabulary.d.ts
CHANGED
|
@@ -27,6 +27,20 @@ export interface EdgeTreatment {
|
|
|
27
27
|
readonly hueToken: string;
|
|
28
28
|
/** Announced to a screen reader, and used as the badge's accessible name. */
|
|
29
29
|
readonly label: string;
|
|
30
|
+
/**
|
|
31
|
+
* The same relationship read from the OTHER end.
|
|
32
|
+
*
|
|
33
|
+
* A directed edge states one fact, and which end you stand at decides the
|
|
34
|
+
* verb: #488 is what #512 is blocked by, and #512 is what #488 BLOCKS. The
|
|
35
|
+
* badge that shipped said "blocked by #512 (incoming)" on #488's row —
|
|
36
|
+
* technically true, and it asks a reader to invert a sentence in their head
|
|
37
|
+
* on the row where the plain reading was available. §16a draws the plain
|
|
38
|
+
* reading, so the vocabulary carries it.
|
|
39
|
+
*
|
|
40
|
+
* A symmetric edge reads the same both ways and carries none: `undefined`
|
|
41
|
+
* here is what says so, rather than a duplicate of {@link label}.
|
|
42
|
+
*/
|
|
43
|
+
readonly reverseLabel?: string;
|
|
30
44
|
readonly ordering: OrderingEffect;
|
|
31
45
|
/**
|
|
32
46
|
* Whether the edge reads the same both ways. A symmetric edge is drawn once
|
|
@@ -47,6 +61,7 @@ export declare const EDGE_TREATMENTS: Readonly<{
|
|
|
47
61
|
readonly glyph: "⊘";
|
|
48
62
|
readonly hueToken: "--ig-edge-blocked-by";
|
|
49
63
|
readonly label: "blocked by";
|
|
64
|
+
readonly reverseLabel: "blocks";
|
|
50
65
|
readonly ordering: "strict-directed";
|
|
51
66
|
readonly symmetric: false;
|
|
52
67
|
};
|
|
@@ -74,6 +89,7 @@ export declare const EDGE_TREATMENTS: Readonly<{
|
|
|
74
89
|
readonly glyph: "≡";
|
|
75
90
|
readonly hueToken: "--ig-edge-duplicate-of";
|
|
76
91
|
readonly label: "duplicate of";
|
|
92
|
+
readonly reverseLabel: "duplicated by";
|
|
77
93
|
readonly ordering: "never-worked";
|
|
78
94
|
readonly symmetric: false;
|
|
79
95
|
};
|
|
@@ -83,12 +99,35 @@ export declare const EDGE_TREATMENTS: Readonly<{
|
|
|
83
99
|
readonly glyph: "⑃";
|
|
84
100
|
readonly hueToken: "--ig-edge-decomposed-from";
|
|
85
101
|
readonly label: "decomposed from";
|
|
102
|
+
readonly reverseLabel: "decomposed into";
|
|
86
103
|
readonly ordering: "provenance-only";
|
|
87
104
|
readonly symmetric: false;
|
|
88
105
|
};
|
|
89
106
|
}>;
|
|
90
107
|
/** The treatment for a relationship. Total over the format's fields. */
|
|
91
108
|
export declare function treatmentFor(field: EdgeField): EdgeTreatment;
|
|
109
|
+
/**
|
|
110
|
+
* A relationship's word, read from the end the reader is standing at.
|
|
111
|
+
*
|
|
112
|
+
* THE VERB CHANGES, NOT THE NOUN. Read from the far end an asymmetric edge has
|
|
113
|
+
* its own plain wording and the vocabulary carries it, so a surface never has
|
|
114
|
+
* to say "(incoming)" and leave the reader to invert a sentence in their head.
|
|
115
|
+
*
|
|
116
|
+
* IT IS A FUNCTION HERE RATHER THAN A TEST AT EACH CALL SITE, and that is the
|
|
117
|
+
* whole reason it exists: the badge row in `parts.ts` and §17a's inspector row
|
|
118
|
+
* in `@issuegraph/editor` draw the SAME edge one zone apart on one screen, and
|
|
119
|
+
* two copies of this expression would be free to disagree the moment either was
|
|
120
|
+
* edited. They were, briefly, and a comment at one of them claimed to be "layer
|
|
121
|
+
* 1's own expression" while being a second copy of it — which is the failure
|
|
122
|
+
* this package names everywhere else: not a wrong answer, a second answer.
|
|
123
|
+
*
|
|
124
|
+
* A symmetric kind takes {@link EdgeTreatment.label} at either end, because
|
|
125
|
+
* `serialize-with` and `together-with` state one fact whichever way round they
|
|
126
|
+
* are stored; `reverseLabel` is `undefined` on them for that reason rather than
|
|
127
|
+
* by omission. The `??` is not a second answer to that question — it is what
|
|
128
|
+
* the optional field's type requires, and it lands on the same string.
|
|
129
|
+
*/
|
|
130
|
+
export declare function labelFrom(treatment: EdgeTreatment, outgoing: boolean): string;
|
|
92
131
|
/**
|
|
93
132
|
* The dash patterns, as SVG `stroke-dasharray` values keyed by dash name.
|
|
94
133
|
*
|
package/dist/vocabulary.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/D,kFAAkF;AAClF,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE9E,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,KAAK,CAAC;AAEpF,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GACtB,iBAAiB,GACjB,qBAAqB,GACrB,aAAa,GACb,cAAc,GACd,iBAAiB,CAAC;AAEtB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/D,kFAAkF;AAClF,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE9E,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,KAAK,CAAC;AAEpF,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GACtB,iBAAiB,GACjB,qBAAqB,GACrB,aAAa,GACb,cAAc,GACd,iBAAiB,CAAC;AAEtB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiD0B,CAAC;AAEvD,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAE5D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAE7E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAY1D;AAED,0FAA0F;AAC1F,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EAAgB,CAAC"}
|
package/dist/vocabulary.js
CHANGED
|
@@ -24,6 +24,7 @@ export const EDGE_TREATMENTS = Object.freeze({
|
|
|
24
24
|
glyph: '⊘',
|
|
25
25
|
hueToken: '--ig-edge-blocked-by',
|
|
26
26
|
label: 'blocked by',
|
|
27
|
+
reverseLabel: 'blocks',
|
|
27
28
|
ordering: 'strict-directed',
|
|
28
29
|
symmetric: false,
|
|
29
30
|
},
|
|
@@ -51,6 +52,7 @@ export const EDGE_TREATMENTS = Object.freeze({
|
|
|
51
52
|
glyph: '≡',
|
|
52
53
|
hueToken: '--ig-edge-duplicate-of',
|
|
53
54
|
label: 'duplicate of',
|
|
55
|
+
reverseLabel: 'duplicated by',
|
|
54
56
|
ordering: 'never-worked',
|
|
55
57
|
symmetric: false,
|
|
56
58
|
},
|
|
@@ -60,6 +62,7 @@ export const EDGE_TREATMENTS = Object.freeze({
|
|
|
60
62
|
glyph: '⑃',
|
|
61
63
|
hueToken: '--ig-edge-decomposed-from',
|
|
62
64
|
label: 'decomposed from',
|
|
65
|
+
reverseLabel: 'decomposed into',
|
|
63
66
|
ordering: 'provenance-only',
|
|
64
67
|
symmetric: false,
|
|
65
68
|
},
|
|
@@ -68,6 +71,30 @@ export const EDGE_TREATMENTS = Object.freeze({
|
|
|
68
71
|
export function treatmentFor(field) {
|
|
69
72
|
return EDGE_TREATMENTS[field];
|
|
70
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* A relationship's word, read from the end the reader is standing at.
|
|
76
|
+
*
|
|
77
|
+
* THE VERB CHANGES, NOT THE NOUN. Read from the far end an asymmetric edge has
|
|
78
|
+
* its own plain wording and the vocabulary carries it, so a surface never has
|
|
79
|
+
* to say "(incoming)" and leave the reader to invert a sentence in their head.
|
|
80
|
+
*
|
|
81
|
+
* IT IS A FUNCTION HERE RATHER THAN A TEST AT EACH CALL SITE, and that is the
|
|
82
|
+
* whole reason it exists: the badge row in `parts.ts` and §17a's inspector row
|
|
83
|
+
* in `@issuegraph/editor` draw the SAME edge one zone apart on one screen, and
|
|
84
|
+
* two copies of this expression would be free to disagree the moment either was
|
|
85
|
+
* edited. They were, briefly, and a comment at one of them claimed to be "layer
|
|
86
|
+
* 1's own expression" while being a second copy of it — which is the failure
|
|
87
|
+
* this package names everywhere else: not a wrong answer, a second answer.
|
|
88
|
+
*
|
|
89
|
+
* A symmetric kind takes {@link EdgeTreatment.label} at either end, because
|
|
90
|
+
* `serialize-with` and `together-with` state one fact whichever way round they
|
|
91
|
+
* are stored; `reverseLabel` is `undefined` on them for that reason rather than
|
|
92
|
+
* by omission. The `??` is not a second answer to that question — it is what
|
|
93
|
+
* the optional field's type requires, and it lands on the same string.
|
|
94
|
+
*/
|
|
95
|
+
export function labelFrom(treatment, outgoing) {
|
|
96
|
+
return outgoing || treatment.symmetric ? treatment.label : (treatment.reverseLabel ?? treatment.label);
|
|
97
|
+
}
|
|
71
98
|
/**
|
|
72
99
|
* The dash patterns, as SVG `stroke-dasharray` values keyed by dash name.
|
|
73
100
|
*
|
package/dist/vocabulary.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAkB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAkB,MAAM,kBAAkB,CAAC;AAgD/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,sBAAsB;QAChC,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,QAAQ;QACtB,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,KAAK;KACjB;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,0BAA0B;QACpC,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,qBAAqB;QAC/B,SAAS,EAAE,IAAI;KAChB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,yBAAyB;QACnC,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,IAAI;KAChB;IACD,cAAc,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,wBAAwB;QAClC,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE,eAAe;QAC7B,QAAQ,EAAE,cAAc;QACxB,SAAS,EAAE,KAAK;KACjB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,2BAA2B;QACrC,KAAK,EAAE,iBAAiB;QACxB,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,KAAK;KACjB;CACkD,CAAC,CAAC;AAEvD,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,KAAgB;IAC3C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,SAAS,CAAC,SAAwB,EAAE,QAAiB;IACnE,OAAO,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AACzG,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;QACf,KAAK,WAAW;YACd,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,MAAM,UAAU,GAAyB,WAAW,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@issuegraph/viewer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Render an Issuegraph document as a work order — the ordered spine with readiness stations, the five edge treatments, and three projections. Rendering only: no fetching, no mutation, no auth, and every value themeable through CSS custom properties.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"issuegraph",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"node": ">=18"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@issuegraph/core": "^0.1.
|
|
45
|
+
"@issuegraph/core": "^0.1.3"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/node": "^22.18.0",
|