@capillaryjs/capillary-viz 1.2.0 → 1.3.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/CHANGELOG.md +10 -0
- package/README.md +16 -2
- package/dist/components/BlockGraph.d.ts +12 -0
- package/dist/components/BlockGraph.d.ts.map +1 -1
- package/dist/grouping.d.ts.map +1 -1
- package/dist/index.js +1404 -1303
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/styles/structural.css +28 -5
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,16 @@ and Semantic Versioning.
|
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
8
|
|
|
9
|
+
## 1.3.0 - 2026-09-29
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Add adaptive `BlockGraph` label orientation with graph-wide overrides.
|
|
14
|
+
Auto mode keeps a complete horizontal label whenever it fits the measured
|
|
15
|
+
block width; otherwise taller blocks use a physical top-left, bottom-to-top
|
|
16
|
+
vertical label. Labels consistently render as `Criterion: Category (count)`;
|
|
17
|
+
horizontal is the fallback when `ResizeObserver` is unavailable.
|
|
18
|
+
|
|
9
19
|
## 1.2.0 - 2026-09-19
|
|
10
20
|
|
|
11
21
|
### Changed
|
package/README.md
CHANGED
|
@@ -42,6 +42,10 @@ Models and derived emitters are caller-owned. Dispose them at the composition
|
|
|
42
42
|
boundary that created them. Components observe passed models but never dispose
|
|
43
43
|
them.
|
|
44
44
|
|
|
45
|
+
Category visibility is a writable projection over the model's authoritative
|
|
46
|
+
hidden-key set. The projection keeps membership validation and immutable set
|
|
47
|
+
updates in the model layer rather than duplicating category state in a control.
|
|
48
|
+
|
|
45
49
|
```text
|
|
46
50
|
application items and domain declarations
|
|
47
51
|
│
|
|
@@ -243,6 +247,7 @@ unavailable until loading ends. Error and ready-empty states remain distinct.
|
|
|
243
247
|
| `label` | Accessible graph name and visible heading |
|
|
244
248
|
| `description` | Visible explanation of the area encoding |
|
|
245
249
|
| `emptyMessage` | Message for an empty valid layout |
|
|
250
|
+
| `labelOrientation` | `auto` (default), `horizontal`, or `vertical`; auto switches to vertical when a block is taller than wide |
|
|
246
251
|
|
|
247
252
|
The graph exposes an ARIA tree, keyboard selection, a current-path readout,
|
|
248
253
|
clear-selection action, loading/error states, and explicit partition
|
|
@@ -250,8 +255,17 @@ diagnostics. Each block applies Capillary UI's `colored` trait using the categor
|
|
|
250
255
|
`--c1`, `--c2`, and `--c3` values. Nested mosaics are inset by
|
|
251
256
|
`--viz-block-graph-child-inset` (default `1.6em`) so parent surfaces remain
|
|
252
257
|
visible. Labels overlay their surfaces and keep criterion and category on one
|
|
253
|
-
line without distorting area ratios.
|
|
254
|
-
|
|
258
|
+
line without distorting area ratios. In `auto` mode each rendered block is
|
|
259
|
+
measured independently with `ResizeObserver`; equal dimensions remain
|
|
260
|
+
horizontal, and vertical labels use the established `vertical-rl` writing mode.
|
|
261
|
+
Labels render as `Criterion: Category (count)`. In `auto` mode, a block keeps a
|
|
262
|
+
horizontal label whenever its complete label fits its measured width; otherwise
|
|
263
|
+
a taller-than-wide block uses a vertical label. Vertical labels occupy a narrow
|
|
264
|
+
physical top-left strip and read bottom-to-top by rotating only their inner text
|
|
265
|
+
group, not their positioned container. Nested mosaics retain their ordinary
|
|
266
|
+
proportional inset. Very narrow blocks retain the complete label rather than
|
|
267
|
+
applying content-measurement heuristics. Hover emphasis targets only the
|
|
268
|
+
deepest block under the pointer.
|
|
255
269
|
|
|
256
270
|
### LineGraph
|
|
257
271
|
|
|
@@ -7,17 +7,29 @@ export interface BlockGraphProps<TItem> extends ComponentProps {
|
|
|
7
7
|
readonly label?: string;
|
|
8
8
|
readonly description?: string;
|
|
9
9
|
readonly emptyMessage?: string;
|
|
10
|
+
/** Controls block-label writing direction; `auto` uses the block's measured aspect ratio. */
|
|
11
|
+
readonly labelOrientation?: BlockLabelOrientation;
|
|
10
12
|
}
|
|
13
|
+
export type BlockLabelOrientation = 'auto' | 'horizontal' | 'vertical';
|
|
11
14
|
/** Accessible nested proportional mosaic backed by an explicit selection model. */
|
|
12
15
|
export declare class BlockGraph<TItem = unknown> extends Component<BlockGraphProps<TItem>> {
|
|
13
16
|
static liveProps: readonly string[];
|
|
17
|
+
private labelResizeObserver;
|
|
18
|
+
private readonly measuredLabelOrientations;
|
|
14
19
|
render(): CapillaryUiChild;
|
|
15
20
|
static hostName: string;
|
|
16
21
|
static dataSurface: "data";
|
|
17
22
|
static dependencies: (typeof Placeholder | typeof Button)[];
|
|
23
|
+
afterMount(): void;
|
|
24
|
+
afterUpdate(): void;
|
|
25
|
+
onDestroy(): void;
|
|
18
26
|
static css: string;
|
|
19
27
|
private renderBlock;
|
|
20
28
|
private renderPartitionError;
|
|
29
|
+
private reconcileLabelOrientation;
|
|
30
|
+
private setLabelOrientation;
|
|
31
|
+
private resolveAutoLabelOrientation;
|
|
32
|
+
private measureHorizontalLabelWidth;
|
|
21
33
|
private blockKeyDown;
|
|
22
34
|
private focusBlock;
|
|
23
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockGraph.d.ts","sourceRoot":"","sources":["../../src/components/BlockGraph.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAM,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,2BAA2B,CAAA;AAE/E,OAAO,KAAK,EAAC,SAAS,EAAY,MAAM,aAAa,CAAA;AACrD,OAAO,EAAC,mBAAmB,EAAY,MAAM,aAAa,CAAA;AAS1D,MAAM,WAAW,eAAe,CAAC,KAAK,CAAE,SAAQ,cAAc;IAC1D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"BlockGraph.d.ts","sourceRoot":"","sources":["../../src/components/BlockGraph.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAM,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,2BAA2B,CAAA;AAE/E,OAAO,KAAK,EAAC,SAAS,EAAY,MAAM,aAAa,CAAA;AACrD,OAAO,EAAC,mBAAmB,EAAY,MAAM,aAAa,CAAA;AAS1D,MAAM,WAAW,eAAe,CAAC,KAAK,CAAE,SAAQ,cAAc;IAC1D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,6FAA6F;IAC7F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,qBAAqB,CAAA;CACpD;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,CAAA;AAGtE,mFAAmF;AACnF,qBAAa,UAAU,CAAC,KAAK,GAAG,OAAO,CAAE,SAAQ,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAgB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAK;IACjD,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAmD;IAC7F,MAAM,IAAI,gBAAgB;IAgF1B,OAAgB,QAAQ,SAAgB;IACxC,MAAM,CAAC,WAAW,EAAG,MAAM,CAAS;IACpC,OAAgB,YAAY,yCAAwB;IAE3C,UAAU,IAAI,IAAI;IAIlB,WAAW,IAAI,IAAI;IAInB,SAAS,IAAI,IAAI;IAM1B,MAAM,CAAC,GAAG,SAqNT;IAED,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,yBAAyB;IAyCjC,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,2BAA2B;IAUnC,OAAO,CAAC,2BAA2B;IA+BnC,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,UAAU;CASrB;AAQD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAE3F"}
|
package/dist/grouping.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../src/grouping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../src/grouping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,OAAO,EAAqB,MAAM,wBAAwB,CAAA;AAC/F,OAAO,KAAK,EACR,eAAe,EAClB,MAAM,wBAAwB,CAAA;AAE/B,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAEjF;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CACtC;AAED,wBAAgB,sBAAsB,CAClC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,cAAc,GACpC,sBAAsB,CAaxB;AAKD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAAA;AAErD,MAAM,WAAW,yBAAyB,CAAC,MAAM,CAAE,SAAQ,eAAe,CAAC,MAAM,CAAC;IAC9E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CACtD;AAED,MAAM,WAAW,QAAQ,CAAC,KAAK;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAA;IAC5C,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CACrC;AAED,MAAM,WAAW,gBAAgB,CAAC,KAAK;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACjE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,CAAA;CAGvE;AAED,MAAM,WAAW,sBAAsB,CAAC,KAAK,CAC7C,SAAQ,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAAC;IACpE,QAAQ,CAAC,UAAU,EAAE,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA;CAClD;AAED,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,uBAAuB,CAAC,KAAK,CAC9C,SAAQ,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAAC;IACpE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,KAAK,EAAE,CAAC,CAAA;IACnD,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAA;IACpF,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,kBAAkB,CAAA;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,GAAG;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAA;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,CACf,IAAI,EAAE,sBAAsB,EAC5B,KAAK,EAAE,sBAAsB,KAC5B,MAAM,CAAA;CACd;AAED,uFAAuF;AACvF,qBAAa,iBAAiB,CAAC,KAAK;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACjE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9C,QAAQ,CAAC,kBAAkB,EAAE,eAAe,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACxE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+B;IAC/D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAMxC;IACD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuC;IAC1E,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAY;IACpD,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAgC5C,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,yBAAyB,CAAC,kBAAkB,CAAC;IAW9E,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO;IAWhE,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO;IAO5C,OAAO,IAAI,IAAI;IAWf,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,YAAY;CAGvB;AAED,wBAAgB,eAAe,CAAC,KAAK,EACjC,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,GACvC,iBAAiB,CAAC,KAAK,CAAC,CAO1B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAClC,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC,GACxC,iBAAiB,CAAC,KAAK,CAAC,CAoB1B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAClC,KAAK,EAAE,SAAS,KAAK,EAAE,EACvB,OAAO,EAAE,IAAI,CACT,uBAAuB,CAAC,KAAK,CAAC,EAC9B,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CACvD,GACF,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,CAuC5B;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,KAAK,EAChC,MAAM,EAAE,eAAe,CAAC,SAAS,KAAK,EAAE,CAAC,EACzC,QAAQ,EAAE,SAAS,iBAAiB,CAAC,KAAK,CAAC,EAAE,GAC9C,cAAc,CAAC,SAAS,KAAK,EAAE,CAAC,CAkBlC;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,KAAK,EAChC,MAAM,EAAE,eAAe,CAAC,SAAS,KAAK,EAAE,CAAC,EACzC,SAAS,EAAE,iBAAiB,CAAC,KAAK,CAAC,GACpC,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAiB7C;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAEhG"}
|