# Estimate-and-interval series

Import `HorizontalIntervalSeries` and `VerticalIntervalSeries` from
`@pibbl/core/viz`. Both return ordinary Pibbl content with an interval, endpoint
caps, and an estimate circle per record. They render supplied results without
calculating uncertainty, weighting, pooling, or selecting a statistical method.

```tsx
import { HorizontalIntervalSeries } from "@pibbl/core/viz";
const effects = [
  { study: "Trial A", effect: 0.72, ciLower: 0.58, ciUpper: 0.89 },
];
<HorizontalIntervalSeries
  data={effects}
  category="study"
  estimate="effect"
  lower="ciLower"
  upper="ciUpper"
  categoryScale="studies"
  valueScale="effect"
/>;
```

Required props are `data`, `category`, `estimate`, `lower`, `upper`,
`categoryScale`, and `valueScale`. `data` is a readonly array or signal. Accessors
are field keys or synchronous `(datum, index, data)` callbacks. The categorical
scale is a `PointScale` or `BarScale`; band categories use their centers. The
value scale is continuous: linear, UTC, log, or symlog. Bounds and estimate map
independently, including reversed ranges. The estimate is not required to lie
inside the interval. Interval meaning and units belong in application labels.

`defined?` excludes rows before other accessors run. Nullish/nonfinite numeric
coordinates, missing categories, and categories absent from the declared domain
omit the entire row before bounds validation. For included categories, finite
reversed bounds throw a row-specific `RangeError`;
equal bounds are allowed. Invalid log inputs throw under the scale contract.
Mapping does not clamp or clip. Accessor signal reads belong to the series;
accessors cannot call hooks or write signals during rendering.

`style` accepts a whole-object signal and shallow field signals. Supported fields:
`radius` (default 4 pixels), `capSize` (full cap length, default 8 pixels), `fill`
(circle fill, default `#087f8c`), `stroke` (interval/cap/circle outline, same
default), `strokeWidth` (default 1.5 pixels), `lineInteractionWidth` (defaults to
stroke width), `opacity` (default 1), and `cursor`. Geometry sizes are finite and
nonnegative; opacity is finite in [0, 1]. Zero radius/cap size hides that part.
Per-datum styles and weight-driven marker areas are not supported by these marks.

Records preserve source paint order, painting each interval and caps before its
circle. The series composes ordinary Line/Circle targets, rather than allocating
a hit rectangle over the row. Series event handlers receive bubbled mark events;
events do not infer a datum. Use `pointerEvents="none"` for decorative marks.
Compose normal application-owned row controls for selection and keyboard focus.
Core transforms, explicit Clip, scheduled updates, and teardown apply. No layout,
second scheduler, or inference engine is introduced.

The [clinical forest plot](/playground/#/examples/composition/viz-clinical-forest) demonstrates
synthetic supplied risk ratios and 95% confidence intervals, sorting, row
inspection, and an application-owned accessible HTML results table.

## API details from source

<span id="api-HorizontalIntervalSeries"></span>

### HorizontalIntervalSeries

Draw supplied numeric intervals horizontally with an estimate circle per category.
Missing/non-finite coordinates omit the entire row; reversed bounds reject it.
Mapping does not clamp or clip; compose a Clip when required. Marks use ordinary
Line/Circle targets, with series handlers receiving their bubbled events.

```ts
HorizontalIntervalSeries: <D>(props: HorizontalIntervalSeriesProps<D>) => PibblNode
```

Related API: [HorizontalIntervalSeries](/reference/components/interval-series/), [HorizontalIntervalSeriesProps](/reference/components/interval-series/), [PibblNode](/reference/types/elements-components/#pibblnode).

#### Parameters

- **`props`** — Supplied data, categorical/numeric scale IDs, and shared style.

#### Returns

Ordinary Pibbl content in source order, interval then circle for each row.

#### See also

[HorizontalIntervalSeriesProps](/reference/components/interval-series/)

[View source — packages/core/src/features/viz/lib/interval-series.tsx:245](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L245)

<span id="api-VerticalIntervalSeries"></span>

### VerticalIntervalSeries

Draw supplied numeric intervals vertically with an estimate circle per category.
Shares the missing-data, bounds, paint, targeting, and clipping contract of
HorizontalIntervalSeries; orientation is explicit in the operation name.

```ts
VerticalIntervalSeries: <D>(props: VerticalIntervalSeriesProps<D>) => PibblNode
```

Related API: [VerticalIntervalSeries](/reference/components/interval-series/), [VerticalIntervalSeriesProps](/reference/components/interval-series/), [PibblNode](/reference/types/elements-components/#pibblnode).

#### Parameters

- **`props`** — Supplied data, categorical/numeric scale IDs, and shared style.

#### Returns

Ordinary Pibbl content in source order, interval then circle for each row.

#### See also

[VerticalIntervalSeriesProps](/reference/components/interval-series/)

[View source — packages/core/src/features/viz/lib/interval-series.tsx:260](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L260)

<span id="api-IntervalSeriesStyle"></span>

### IntervalSeriesStyle

Shared local-pixel geometry and paint for estimate-and-interval marks.

```ts
interface IntervalSeriesStyle
```

Related API: [IntervalSeriesStyle](/reference/components/interval-series/).

#### See also

[IntervalSeriesProps](/reference/components/interval-series/)

[View source — packages/core/src/features/viz/lib/interval-series.tsx:22](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L22)

#### Properties and methods

<span id="api-IntervalSeriesStyle-radius"></span>
<details>
<summary>radius (optional)</summary>


```ts
readonly radius?: number | undefined
```

Estimate circle radius in local pixels; defaults to 4.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:24](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L24)

</details>

<span id="api-IntervalSeriesStyle-capSize"></span>
<details>
<summary>capSize (optional)</summary>


```ts
readonly capSize?: number | undefined
```

Full perpendicular length of each endpoint cap; defaults to 8 pixels.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:26](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L26)

</details>

<span id="api-IntervalSeriesStyle-fill"></span>
<details>
<summary>fill (optional)</summary>


```ts
readonly fill?: FillStyle | undefined
```

Related API: [FillStyle](/reference/types/styles/#fillstyle).

Estimate circle fill; defaults to #087f8c.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:28](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L28)

</details>

<span id="api-IntervalSeriesStyle-stroke"></span>
<details>
<summary>stroke (optional)</summary>


```ts
readonly stroke?: StrokeStyle | undefined
```

Related API: [StrokeStyle](/reference/types/styles/#strokestyle).

Interval, cap, and circle outline paint; defaults to #087f8c.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:30](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L30)

</details>

<span id="api-IntervalSeriesStyle-strokeWidth"></span>
<details>
<summary>strokeWidth (optional)</summary>


```ts
readonly strokeWidth?: number | undefined
```

Visible stroke width in local pixels; defaults to 1.5.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:32](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L32)

</details>

<span id="api-IntervalSeriesStyle-lineInteractionWidth"></span>
<details>
<summary>lineInteractionWidth (optional)</summary>


```ts
readonly lineInteractionWidth?: number | undefined
```

Stroke targeting width, independent of visible width; defaults to strokeWidth.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:34](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L34)

</details>

<span id="api-IntervalSeriesStyle-opacity"></span>
<details>
<summary>opacity (optional)</summary>


```ts
readonly opacity?: number | undefined
```

Related API: [opacity](/reference/types/filters/#opacity).

Shared paint opacity from zero to one; defaults to 1.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:36](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L36)

</details>

<span id="api-IntervalSeriesStyle-cursor"></span>
<details>
<summary>cursor (optional)</summary>


```ts
readonly cursor?: string | undefined
```

Cursor for painted mark targets.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:38](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L38)

</details>

<span id="api-IntervalSeriesProps"></span>

### IntervalSeriesProps

Explicit supplied estimates and numeric bounds placed at categorical centers.

```ts
interface IntervalSeriesProps<D> extends PibblEventHandlers, PibblEventParticipationOptions
```

Related API: [IntervalSeriesProps](/reference/components/interval-series/), [PibblEventHandlers](/reference/types/events/#pibbleventhandlers), [PibblEventParticipationOptions](/reference/types/events/#pibbleventparticipationoptions).

#### See also

[HorizontalIntervalSeries](/reference/components/interval-series/)

[VerticalIntervalSeries](/reference/components/interval-series/)

[View source — packages/core/src/features/viz/lib/interval-series.tsx:45](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L45)

#### Properties and methods

<span id="api-IntervalSeriesProps-data"></span>
<details>
<summary>data</summary>


```ts
readonly data: SignalValue<readonly D[]>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Original records, or a signal of records; no estimation is performed.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:48](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L48)

</details>

<span id="api-IntervalSeriesProps-category"></span>
<details>
<summary>category</summary>


```ts
readonly category: BarCategoryAccessor<D>
```

Related API: [BarCategoryAccessor](/reference/components/bar-series/).

Property or callback supplying a category; missing/unknown categories omit rows.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:50](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L50)

</details>

<span id="api-IntervalSeriesProps-estimate"></span>
<details>
<summary>estimate</summary>


```ts
readonly estimate: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Property or callback supplying the numeric point estimate.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:52](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L52)

</details>

<span id="api-IntervalSeriesProps-lower"></span>
<details>
<summary>lower</summary>


```ts
readonly lower: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Property or callback supplying the numeric lower bound.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:54](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L54)

</details>

<span id="api-IntervalSeriesProps-upper"></span>
<details>
<summary>upper</summary>


```ts
readonly upper: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Property or callback supplying the numeric upper bound.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:56](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L56)

</details>

<span id="api-IntervalSeriesProps-categoryScale"></span>
<details>
<summary>categoryScale</summary>


```ts
readonly categoryScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Ancestor PointScale or BarScale; band categories use their centers.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:58](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L58)

</details>

<span id="api-IntervalSeriesProps-valueScale"></span>
<details>
<summary>valueScale</summary>


```ts
readonly valueScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Ancestor continuous numeric scale mapping estimate and both bounds independently.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:60](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L60)

</details>

<span id="api-IntervalSeriesProps-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Optional synchronous predicate; excluded rows contribute no marks.

##### Parameters

- **`datum`** — Original record being tested.

- **`index`** — Source index of the record.

- **`data`** — Complete supplied data array.

##### Returns

Whether to include this record's estimate and interval.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:67](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L67)

</details>

<span id="api-IntervalSeriesProps-style"></span>
<details>
<summary>style (optional)</summary>


```ts
readonly style?: SignalValue<Readonly<{ readonly radius?: SignalValue<number | undefined>; readonly capSize?: SignalValue<number | undefined>; readonly fill?: SignalValue<FillStyle | undefined>; readonly stroke?: SignalValue<StrokeStyle | undefined>; readonly strokeWidth?: SignalValue<number | undefined>; readonly lineInteractionWidth?: SignalValue<number | undefined>; readonly opacity?: SignalValue<number | undefined>; readonly cursor?: SignalValue<string | undefined>; }>> | undefined
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue), [FillStyle](/reference/types/styles/#fillstyle), [StrokeStyle](/reference/types/styles/#strokestyle), [opacity](/reference/types/filters/#opacity).

Shared style; whole-object and shallow field signals are observed by the series.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:69](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L69)

</details>

<span id="api-IntervalSeriesProps-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

<span id="api-HorizontalIntervalSeriesProps"></span>

### HorizontalIntervalSeriesProps

Horizontal estimate-and-interval authoring inputs. See HorizontalIntervalSeries.

```ts
type HorizontalIntervalSeriesProps<D> = IntervalSeriesProps<D>
```

Related API: [HorizontalIntervalSeriesProps](/reference/components/interval-series/), [IntervalSeriesProps](/reference/components/interval-series/).

[View source — packages/core/src/features/viz/lib/interval-series.tsx:73](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L73)

#### Properties and methods

<span id="api-HorizontalIntervalSeriesProps-data"></span>
<details>
<summary>data</summary>


```ts
readonly data: SignalValue<readonly D[]>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Original records, or a signal of records; no estimation is performed.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:48](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L48)

</details>

<span id="api-HorizontalIntervalSeriesProps-category"></span>
<details>
<summary>category</summary>


```ts
readonly category: BarCategoryAccessor<D>
```

Related API: [BarCategoryAccessor](/reference/components/bar-series/).

Property or callback supplying a category; missing/unknown categories omit rows.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:50](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L50)

</details>

<span id="api-HorizontalIntervalSeriesProps-estimate"></span>
<details>
<summary>estimate</summary>


```ts
readonly estimate: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Property or callback supplying the numeric point estimate.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:52](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L52)

</details>

<span id="api-HorizontalIntervalSeriesProps-lower"></span>
<details>
<summary>lower</summary>


```ts
readonly lower: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Property or callback supplying the numeric lower bound.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:54](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L54)

</details>

<span id="api-HorizontalIntervalSeriesProps-upper"></span>
<details>
<summary>upper</summary>


```ts
readonly upper: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Property or callback supplying the numeric upper bound.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:56](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L56)

</details>

<span id="api-HorizontalIntervalSeriesProps-categoryScale"></span>
<details>
<summary>categoryScale</summary>


```ts
readonly categoryScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Ancestor PointScale or BarScale; band categories use their centers.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:58](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L58)

</details>

<span id="api-HorizontalIntervalSeriesProps-valueScale"></span>
<details>
<summary>valueScale</summary>


```ts
readonly valueScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Ancestor continuous numeric scale mapping estimate and both bounds independently.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:60](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L60)

</details>

<span id="api-HorizontalIntervalSeriesProps-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Optional synchronous predicate; excluded rows contribute no marks.

##### Parameters

- **`datum`** — Original record being tested.

- **`index`** — Source index of the record.

- **`data`** — Complete supplied data array.

##### Returns

Whether to include this record's estimate and interval.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:67](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L67)

</details>

<span id="api-HorizontalIntervalSeriesProps-style"></span>
<details>
<summary>style (optional)</summary>


```ts
readonly style?: SignalValue<Readonly<{ readonly radius?: SignalValue<number | undefined>; readonly capSize?: SignalValue<number | undefined>; readonly fill?: SignalValue<FillStyle | undefined>; readonly stroke?: SignalValue<StrokeStyle | undefined>; readonly strokeWidth?: SignalValue<number | undefined>; readonly lineInteractionWidth?: SignalValue<number | undefined>; readonly opacity?: SignalValue<number | undefined>; readonly cursor?: SignalValue<string | undefined>; }>> | undefined
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue), [FillStyle](/reference/types/styles/#fillstyle), [StrokeStyle](/reference/types/styles/#strokestyle), [opacity](/reference/types/filters/#opacity).

Shared style; whole-object and shallow field signals are observed by the series.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:69](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L69)

</details>

<span id="api-HorizontalIntervalSeriesProps-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

<span id="api-VerticalIntervalSeriesProps"></span>

### VerticalIntervalSeriesProps

Vertical estimate-and-interval authoring inputs. See VerticalIntervalSeries.

```ts
type VerticalIntervalSeriesProps<D> = IntervalSeriesProps<D>
```

Related API: [VerticalIntervalSeriesProps](/reference/components/interval-series/), [IntervalSeriesProps](/reference/components/interval-series/).

[View source — packages/core/src/features/viz/lib/interval-series.tsx:75](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L75)

#### Properties and methods

<span id="api-VerticalIntervalSeriesProps-data"></span>
<details>
<summary>data</summary>


```ts
readonly data: SignalValue<readonly D[]>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Original records, or a signal of records; no estimation is performed.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:48](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L48)

</details>

<span id="api-VerticalIntervalSeriesProps-category"></span>
<details>
<summary>category</summary>


```ts
readonly category: BarCategoryAccessor<D>
```

Related API: [BarCategoryAccessor](/reference/components/bar-series/).

Property or callback supplying a category; missing/unknown categories omit rows.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:50](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L50)

</details>

<span id="api-VerticalIntervalSeriesProps-estimate"></span>
<details>
<summary>estimate</summary>


```ts
readonly estimate: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Property or callback supplying the numeric point estimate.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:52](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L52)

</details>

<span id="api-VerticalIntervalSeriesProps-lower"></span>
<details>
<summary>lower</summary>


```ts
readonly lower: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Property or callback supplying the numeric lower bound.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:54](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L54)

</details>

<span id="api-VerticalIntervalSeriesProps-upper"></span>
<details>
<summary>upper</summary>


```ts
readonly upper: LineAccessor<D>
```

Related API: [LineAccessor](/reference/components/line-series/).

Property or callback supplying the numeric upper bound.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:56](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L56)

</details>

<span id="api-VerticalIntervalSeriesProps-categoryScale"></span>
<details>
<summary>categoryScale</summary>


```ts
readonly categoryScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Ancestor PointScale or BarScale; band categories use their centers.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:58](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L58)

</details>

<span id="api-VerticalIntervalSeriesProps-valueScale"></span>
<details>
<summary>valueScale</summary>


```ts
readonly valueScale: ScaleId
```

Related API: [ScaleId](/reference/components/scale/).

Ancestor continuous numeric scale mapping estimate and both bounds independently.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:60](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L60)

</details>

<span id="api-VerticalIntervalSeriesProps-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Optional synchronous predicate; excluded rows contribute no marks.

##### Parameters

- **`datum`** — Original record being tested.

- **`index`** — Source index of the record.

- **`data`** — Complete supplied data array.

##### Returns

Whether to include this record's estimate and interval.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:67](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L67)

</details>

<span id="api-VerticalIntervalSeriesProps-style"></span>
<details>
<summary>style (optional)</summary>


```ts
readonly style?: SignalValue<Readonly<{ readonly radius?: SignalValue<number | undefined>; readonly capSize?: SignalValue<number | undefined>; readonly fill?: SignalValue<FillStyle | undefined>; readonly stroke?: SignalValue<StrokeStyle | undefined>; readonly strokeWidth?: SignalValue<number | undefined>; readonly lineInteractionWidth?: SignalValue<number | undefined>; readonly opacity?: SignalValue<number | undefined>; readonly cursor?: SignalValue<string | undefined>; }>> | undefined
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue), [FillStyle](/reference/types/styles/#fillstyle), [StrokeStyle](/reference/types/styles/#strokestyle), [opacity](/reference/types/filters/#opacity).

Shared style; whole-object and shallow field signals are observed by the series.

[View source — packages/core/src/features/viz/lib/interval-series.tsx:69](/source/packages/core/src/features/viz/lib/interval-series-tsx/#L69)

</details>

<span id="api-VerticalIntervalSeriesProps-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

## Implementation guidance for agents

Read the [Data visualization companion](/agents/topics/visualization/) for ownership, adaptation, failure modes, and verification. [Agent start](/agents/) provides the version-selection workflow.

## Complete minimal examples

- [Supplied estimates and intervals](/minimal-examples/viz/estimate-intervals/): Map asymmetric supplied bounds and estimates in both orientations. [Plain source](/minimal/viz/estimate-intervals.tsx)
## Documentation version

Documentation built with @pibbl/core 0.0.2, revision dd39ce2. ALPHA — NOT FOR PRODUCTION USE.
