@turquoisehealth/pit-viper 2.216.1-dev.0 → 2.217.1-dev.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.
@@ -30,6 +30,21 @@ export declare const computeNoDataOverlayText: ({ currentRowGroupColumnsLength,
30
30
  */
31
31
  yAxisOptionCount?: number;
32
32
  }) => string;
33
+ /**
34
+ * True when a column represents a point in time. A date column on the x-axis is
35
+ * always plotted chronologically (see `sortChartDataChronologically`) - ordering
36
+ * dates by their series value would make the chart unreadable.
37
+ */
38
+ export declare const isChronologicalColDef: (colDef: ColDef | null | undefined) => boolean;
39
+ /**
40
+ * Orders chart data oldest to newest by its category (x-axis) field. Used when the
41
+ * x-axis column has the `date` data type, where chronological order is the only
42
+ * meaningful order regardless of the user's chart sort selection.
43
+ *
44
+ * Values that can't be parsed as dates sink to the end (ordered by their raw string
45
+ * value) so an unexpected category never displaces the real timeline.
46
+ */
47
+ export declare const sortChartDataChronologically: (data: AgChartOptions["data"], categoryField: string) => AgChartOptions["data"];
33
48
  export declare const generateStackSeriesKey: (seriesField: string, stackField: string) => string;
34
49
  export declare const generateStackSecondaryCategoryKey: (stackField: string) => string;
35
50
  export declare const buildStackedChartData: (data: AgChartOptions["data"], categoryField: string, stackField: string, seriesColumns: OptionWithFormatterAndDataType[], supplementaryChartingColumns?: OptionWithFormatterAndDataType[]) => {
@@ -38,6 +38,19 @@ export interface VerticalLineOverlay {
38
38
  label: string;
39
39
  /** The line color as a hex code. */
40
40
  color?: string;
41
+ /**
42
+ * When true, this overlay still renders as a chip but is dropped from the chart's
43
+ * crosslines - e.g. a dollar-denominated benchmark while the chart is grouped by percent,
44
+ * where the value has no valid position on the current x-axis.
45
+ */
46
+ excludeFromCrossline?: boolean;
47
+ /**
48
+ * Formats this overlay's raw `value` for display in its chip and crossline tooltip. Falls
49
+ * back to the group's `formatValue`, then to the chart's own axis formatter - use this when
50
+ * an overlay's unit doesn't match the chart's current x-axis (e.g. a dollar benchmark shown
51
+ * while the chart is grouped by percent), so it isn't run through the wrong formatter.
52
+ */
53
+ formatValue?: (value: number) => string | number;
41
54
  /**
42
55
  * Set by `resolveCrosslineOverlays` (not an authoring field) to the same identifier used
43
56
  * for this overlay's chip, so a hovered chip can be matched back to its crossline.
@@ -73,8 +86,13 @@ export interface CrosslineOverlayGroup {
73
86
  * placeholder (one per group, regardless of `overlays`) instead of chip content.
74
87
  */
75
88
  loading?: boolean;
89
+ /**
90
+ * Formatter used for every overlay in this group's chips/tooltip, unless an overlay sets
91
+ * its own `formatValue`. Falls back to the chart's own axis formatter when unset.
92
+ */
93
+ formatValue?: (value: number) => string | number;
76
94
  }
77
- export interface BenchmarkChip extends Partial<Pick<VerticalLineOverlay, "label" | "color">> {
95
+ export interface BenchmarkChip extends Partial<Pick<VerticalLineOverlay, "label" | "color" | "excludeFromCrossline">> {
78
96
  key: string;
79
97
  loading: boolean;
80
98
  formattedValue?: string | number;
@@ -34,6 +34,22 @@ export declare const getScrollableChartMinHeight: (params: {
34
34
  isHorizontalScrollingChart: boolean;
35
35
  itemHeight?: number;
36
36
  }) => number;
37
+ /**
38
+ * Overflow for a scrollable chart container, locked to the one axis the chart can grow
39
+ * along: a horizontal-bar chart only ever grows taller, every other chart only ever
40
+ * grows wider. Leaving both axes scrollable lets a chart that already fits scroll in the
41
+ * direction it never overflows in, which reads as a stuck or jittery chart.
42
+ *
43
+ * Pair with the `pv-scrollbar-visible` utility - the platform's overlay scrollbars take
44
+ * no layout space and stay hidden until a scroll gesture, so the affordance is invisible
45
+ * without it. That utility also reserves a permanent scrollbar gutter, which is right for
46
+ * a text panel but costs a chart 8px of dead plot area, so it is reset here: the chart
47
+ * canvas resizes with the container anyway, so there is no layout shift to guard against.
48
+ */
49
+ export declare const getChartScrollOverflowStyle: (params: {
50
+ enableChartScrolling: boolean;
51
+ isHorizontalScrollingChart: boolean;
52
+ }) => Record<string, string> | undefined;
37
53
  /**
38
54
  * Inline style for the scrollable chart content: horizontal-bar charts grow vertically
39
55
  * per data point; all other charts grow horizontally, never below `minContentWidth`.