@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 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. Hover emphasis targets only the deepest
254
- block under the pointer.
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;CACjC;AAED,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,MAAM,IAAI,gBAAgB;IA8E1B,OAAgB,QAAQ,SAAgB;IACxC,MAAM,CAAC,WAAW,EAAG,MAAM,CAAS;IACpC,OAAgB,YAAY,yCAAwB;IAEpD,MAAM,CAAC,GAAG,SA8LT;IAED,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,UAAU;CASrB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAE3F"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../src/grouping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../src/grouping.ts"],"names":[],"mappings":"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"}