@umriss-ui/charts 0.12.0 → 0.13.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
@@ -29,6 +29,20 @@ interface was still expected to move before `0.3.0`.
29
29
 
30
30
  ---
31
31
 
32
+ ## 0.13.0 – A chart fills its frame, never below its floor (Oct. 2026)
33
+
34
+ ### Changed
35
+
36
+ - **A `Chart` without `height` fills its frame** and never goes below 300 px
37
+ (ADR-0050). Standing alone in a block it is 300 px tall, as before. In a
38
+ frame taller than that - a stretched grid cell, a card the grid stretches, a
39
+ container of definite height - it now takes that height, and follows the
40
+ frame both ways as it grows and shrinks. A number still means a fixed height;
41
+ a different floor goes through `style={{ minHeight }}`. The descriptions of
42
+ `height` and `style` say so.
43
+
44
+ ---
45
+
32
46
  ## 0.12.0 – A chart that is loading says so (Oct. 2026)
33
47
 
34
48
  A chart takes `loading`, as the table does (ADR-0042). Over a course already
package/dist/charts.js CHANGED
@@ -4647,7 +4647,7 @@ function $o(i) {
4647
4647
  data: t,
4648
4648
  scene: e,
4649
4649
  width: n = "100%",
4650
- height: s = 300,
4650
+ height: s,
4651
4651
  padding: o = 8,
4652
4652
  ariaLabel: r,
4653
4653
  className: l,
@@ -4723,7 +4723,9 @@ function $o(i) {
4723
4723
  () => !1
4724
4724
  ), R = Eo(e), L = (R == null ? void 0 : R.leaving) === !0, V = {
4725
4725
  width: n === "100%" ? "100%" : `${n}px`,
4726
- height: `${s}px`,
4726
+ // Without a number: 100% where the frame has a definite height, auto where
4727
+ // it has none, and the floor either way (ADR-0050).
4728
+ ...s === void 0 ? { height: "100%", minHeight: 300 } : { height: `${s}px` },
4727
4729
  ...a
4728
4730
  }, W = (D) => {
4729
4731
  e.drag(D.nativeEvent), e.pointerMove(D.nativeEvent.offsetX, D.nativeEvent.offsetY);
package/dist/index.d.ts CHANGED
@@ -394,9 +394,12 @@ export declare interface ChartProps {
394
394
  host and follows it through a ResizeObserver.
395
395
  @default "100%" */
396
396
  width?: number | "100%";
397
- /** Height in CSS pixels. Unlike the width, the chart does not take its
398
- host's.
399
- @default 300 */
397
+ /** Height in CSS pixels, fixed. Left out, the chart fills its frame - a
398
+ stretched grid cell, a card the grid stretches, a container of definite
399
+ height - and never goes below 300 px, which is also its height in a
400
+ frame without one. A different floor goes through `style`'s `minHeight`
401
+ (ADR-0050).
402
+ @default fills the frame, at least 300 px */
400
403
  height?: number;
401
404
  /** Outer spacing of the plot area in CSS pixels. */
402
405
  padding?: number | Partial<Padding>;
@@ -405,9 +408,9 @@ export declare interface ChartProps {
405
408
  ariaLabel?: string;
406
409
  /** Goes to the root element, as it does everywhere in this workspace. */
407
410
  className?: string;
408
- /** Goes to the root element. The plot area is measured, never styled from
409
- here: a height set past the component is a height the scene does not know
410
- about. */
411
+ /** Goes to the root element, after the chart's own styles: a `height` or
412
+ `minHeight` set here wins. The plot area is observed in both directions
413
+ and the scene follows it. */
411
414
  style?: CSSProperties;
412
415
  /** Shown in the middle of the plot area when no visible series has a point
413
416
  to show - no data, only gaps, or every series hidden. Axes and frame
package/docs/llms-full.md CHANGED
@@ -1,4 +1,4 @@
1
- # @umriss-ui/charts 0.12.0
1
+ # @umriss-ui/charts 0.13.0
2
2
 
3
3
  > React canvas chart library for data-dense dashboards - line, area, bar, box plot, scatter, control and Pareto charts. Few chart kinds, drawn well, fast.
4
4
 
@@ -1324,7 +1324,7 @@ From `ChartProps` — the full table stands on [Chart](#/chart/type-ChartProps).
1324
1324
  | Prop | Type | Default | Description |
1325
1325
  |---|---|---|---|
1326
1326
  | [`width`](#/chart/ChartProps-width) | `number \| "100%"` | `"100%"` | Width in CSS pixels, or `"100%"` for the host's: the chart measures its host and follows it through a ResizeObserver. |
1327
- | [`height`](#/chart/ChartProps-height) | `number` | `300` | Height in CSS pixels. Unlike the width, the chart does not take its host's. |
1327
+ | [`height`](#/chart/ChartProps-height) | `number` | fills the frame, at least 300 px | Height in CSS pixels, fixed. Left out, the chart fills its frame - a stretched grid cell, a card the grid stretches, a container of definite height - and never goes below 300 px, which is also its height in a frame without one. A different floor goes through `style`'s `minHeight` ([ADR-0050](https://github.com/romanhaendler/umriss-ui/blob/main/docs/adr/0050-a-chart-fills-its-frame-never-below-its-floor.md)). |
1328
1328
  | [`children`](#/chart/ChartProps-children) | `ReactNode` | — | The axes, series and companions of this chart. They draw nothing themselves: each registers its configuration and the scene draws it, and the order in the JSX is the drawing order. |
1329
1329
 
1330
1330
  ###### Accessibility
@@ -2209,7 +2209,7 @@ Under forced colours the chart draws in the system colours and tells its series
2209
2209
  | Prop | Type | Default | Description |
2210
2210
  |---|---|---|---|
2211
2211
  | `width` | `number \| "100%"` | `"100%"` | Width in CSS pixels, or `"100%"` for the host's: the chart measures its host and follows it through a ResizeObserver.<br>Shown in: [Size a chart by its container (Installation)](#/installation/in-its-container) |
2212
- | `height` | `number` | `300` | Height in CSS pixels. Unlike the width, the chart does not take its host's.<br>Shown in: [Mix series kinds](#/chart/mixed), [Say there is nothing to show](#/chart/empty), [Read it by keyboard and screen reader](#/chart/keyboard-and-screen-reader) and 68 more |
2212
+ | `height` | `number` | fills the frame, at least 300 px | Height in CSS pixels, fixed. Left out, the chart fills its frame - a stretched grid cell, a card the grid stretches, a container of definite height - and never goes below 300 px, which is also its height in a frame without one. A different floor goes through `style`'s `minHeight` ([ADR-0050](https://github.com/romanhaendler/umriss-ui/blob/main/docs/adr/0050-a-chart-fills-its-frame-never-below-its-floor.md)).<br>Shown in: [Mix series kinds](#/chart/mixed), [Say there is nothing to show](#/chart/empty), [Read it by keyboard and screen reader](#/chart/keyboard-and-screen-reader) and 68 more |
2213
2213
  | `padding` | `number \| Partial<`[`Padding`](#type-Padding)`>` | — | Outer spacing of the plot area in CSS pixels.<br>Shown in: [Fix the domain and name the ticks (Axis)](#/axis/configuration) |
2214
2214
  | `empty` | `ReactNode` | the wording's `empty` | Shown in the middle of the plot area when no visible series has a point to show - no data, only gaps, or every series hidden. Axes and frame stay. Not while `loading`.<br>Shown in: [Say there is nothing to show](#/chart/empty) |
2215
2215
  | `loading` | `boolean` | `false` | The rows are on their way, as the table's `loading` says ([ADR-0042](https://github.com/romanhaendler/umriss-ui/blob/main/docs/adr/0042-a-rows-height-never-follows-what-it-shows.md)). A course already drawn stays: it dims after a moment and takes no pointer until the answer is in. Where there is nothing to show, the empty message waits. The plot is `aria-busy` meanwhile.<br>Shown in: [Show that rows are on their way](#/chart/loading) |
@@ -2235,7 +2235,7 @@ Under forced colours the chart draws in the system colours and tells its series
2235
2235
  | Prop | Type | Default | Description |
2236
2236
  |---|---|---|---|
2237
2237
  | `className` | `string` | — | Goes to the root element, as it does everywhere in this workspace. |
2238
- | `style` | `CSSProperties` | — | Goes to the root element. The plot area is measured, never styled from here: a height set past the component is a height the scene does not know about. |
2238
+ | `style` | `CSSProperties` | — | Goes to the root element, after the chart's own styles: a `height` or `minHeight` set here wins. The plot area is observed in both directions and the scene follows it. |
2239
2239
 
2240
2240
  ##### Types on this page
2241
2241
 
@@ -8981,7 +8981,7 @@ From `ChartProps` — the full table stands on [Chart](#/chart/type-ChartProps).
8981
8981
 
8982
8982
  | Prop | Type | Default | Description |
8983
8983
  |---|---|---|---|
8984
- | [`height`](#/chart/ChartProps-height) | `number` | `300` | Height in CSS pixels. Unlike the width, the chart does not take its host's. |
8984
+ | [`height`](#/chart/ChartProps-height) | `number` | fills the frame, at least 300 px | Height in CSS pixels, fixed. Left out, the chart fills its frame - a stretched grid cell, a card the grid stretches, a container of definite height - and never goes below 300 px, which is also its height in a frame without one. A different floor goes through `style`'s `minHeight` ([ADR-0050](https://github.com/romanhaendler/umriss-ui/blob/main/docs/adr/0050-a-chart-fills-its-frame-never-below-its-floor.md)). |
8985
8985
  | [`children`](#/chart/ChartProps-children) | `ReactNode` | — | The axes, series and companions of this chart. They draw nothing themselves: each registers its configuration and the scene draws it, and the order in the JSX is the drawing order. |
8986
8986
 
8987
8987
  ###### Accessibility
@@ -10324,7 +10324,7 @@ From `ChartProps` — the full table stands on [Chart](#/chart/type-ChartProps).
10324
10324
 
10325
10325
  | Prop | Type | Default | Description |
10326
10326
  |---|---|---|---|
10327
- | [`height`](#/chart/ChartProps-height) | `number` | `300` | Height in CSS pixels. Unlike the width, the chart does not take its host's. |
10327
+ | [`height`](#/chart/ChartProps-height) | `number` | fills the frame, at least 300 px | Height in CSS pixels, fixed. Left out, the chart fills its frame - a stretched grid cell, a card the grid stretches, a container of definite height - and never goes below 300 px, which is also its height in a frame without one. A different floor goes through `style`'s `minHeight` ([ADR-0050](https://github.com/romanhaendler/umriss-ui/blob/main/docs/adr/0050-a-chart-fills-its-frame-never-below-its-floor.md)). |
10328
10328
  | [`children`](#/chart/ChartProps-children) | `ReactNode` | — | The axes, series and companions of this chart. They draw nothing themselves: each registers its configuration and the scene draws it, and the order in the JSX is the drawing order. |
10329
10329
 
10330
10330
  ###### Events
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umriss-ui/charts",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "React canvas chart library for data-dense dashboards - line, area, bar, box plot, scatter, control and Pareto charts. Few chart kinds, drawn well, fast.",
5
5
  "license": "MIT",
6
6
  "author": "Roman Händler",
@@ -71,7 +71,7 @@
71
71
  "vite": "^6.0.0",
72
72
  "vite-plugin-dts": "^4.3.0",
73
73
  "@umriss-ui/demo": "0.0.0",
74
- "@umriss-ui/core": "0.25.0"
74
+ "@umriss-ui/core": "0.30.0"
75
75
  },
76
76
  "scripts": {
77
77
  "props": "node --disable-warning=ExperimentalWarning --experimental-strip-types demo/props.ts",