@siyahi/ui 0.1.9-next.32 → 0.1.9-next.34

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.
Files changed (107) hide show
  1. package/DESIGN.md +20 -7
  2. package/agents/examples/chart-panels-three.tsx +51 -0
  3. package/agents/examples/context-menu.tsx +14 -4
  4. package/agents/examples/overview-dashboard.tsx +2 -2
  5. package/agents/examples/{page-hero.tsx → page-header.tsx} +4 -4
  6. package/agents/examples/select.tsx +2 -1
  7. package/agents/manifest.json +16 -3
  8. package/dist/components/registry/charts/area-chart-card.d.ts +2 -2
  9. package/dist/components/registry/charts/area-chart-card.js +1 -0
  10. package/dist/components/registry/charts/bar-chart-card.d.ts +4 -4
  11. package/dist/components/registry/charts/bar-chart-card.js +0 -2
  12. package/dist/components/registry/charts/line-chart-card.d.ts +1 -1
  13. package/dist/components/registry/dashboard-01/section-cards.d.ts +4 -4
  14. package/dist/components/registry/dashboardcn/bar-list.d.ts +8 -8
  15. package/dist/components/registry/dashboardcn/distribution-bar.d.ts +11 -11
  16. package/dist/components/registry/dashboardcn/kpi-row-card.d.ts +4 -4
  17. package/dist/components/registry/dashboardcn/sparkline.d.ts +6 -6
  18. package/dist/components/registry/heatmap/calendar-heatmap.d.ts +50 -50
  19. package/dist/components/registry/heatmap/calendar-heatmap.js +1 -1
  20. package/dist/components/registry/heatmap/status-heatmap.d.ts +44 -44
  21. package/dist/components/registry/heatmap/status-heatmap.js +1 -1
  22. package/dist/components/registry/heatmap/weekday-heatmap.d.ts +53 -53
  23. package/dist/components/registry/heatmap/weekday-heatmap.js +1 -1
  24. package/dist/components/registry/minidev/copy-button.d.ts +2 -2
  25. package/dist/components/registry/niko-table/components/data-table-column-actions.d.ts +1 -1
  26. package/dist/components/registry/niko-table/components/data-table-column-filter.d.ts +1 -1
  27. package/dist/components/registry/niko-table/components/data-table-empty-state.d.ts +7 -7
  28. package/dist/components/registry/niko-table/components/data-table-faceted-filter.d.ts +5 -5
  29. package/dist/components/registry/niko-table/components/data-table-grouped-rows.d.ts +1 -1
  30. package/dist/components/registry/niko-table/components/data-table-row-context-menu-slot.d.ts +1 -1
  31. package/dist/components/registry/niko-table/components/data-table-row-context-menu.d.ts +1 -1
  32. package/dist/components/registry/niko-table/config/feature-detection.d.ts +13 -13
  33. package/dist/components/registry/niko-table/core/data-table-context.d.ts +5 -5
  34. package/dist/components/registry/niko-table/core/data-table-error-boundary.d.ts +3 -3
  35. package/dist/components/registry/niko-table/core/data-table-grouped-row.d.ts +2 -2
  36. package/dist/components/registry/niko-table/core/data-table-root.d.ts +36 -35
  37. package/dist/components/registry/niko-table/core/data-table-structure.d.ts +22 -22
  38. package/dist/components/registry/niko-table/core/data-table-structure.js +6 -0
  39. package/dist/components/registry/niko-table/core/data-table.d.ts +3 -3
  40. package/dist/components/registry/niko-table/core/data-table.js +1 -1
  41. package/dist/components/registry/niko-table/filters/table-column-actions.d.ts +5 -5
  42. package/dist/components/registry/niko-table/filters/table-column-sort.d.ts +6 -6
  43. package/dist/components/registry/niko-table/filters/table-column-sort.js +2 -2
  44. package/dist/components/registry/niko-table/filters/table-column-title.d.ts +2 -2
  45. package/dist/components/registry/niko-table/filters/table-faceted-filter.d.ts +9 -9
  46. package/dist/components/registry/niko-table/filters/table-faceted-filter.js +1 -1
  47. package/dist/components/registry/niko-table/filters/table-search-filter.d.ts +7 -7
  48. package/dist/components/registry/niko-table/hooks/use-generated-options.d.ts +7 -7
  49. package/dist/components/registry/niko-table/lib/build-faceted-options.d.ts +2 -2
  50. package/dist/components/registry/niko-table/lib/column-resize-handle.d.ts +3 -3
  51. package/dist/components/registry/niko-table/lib/column-resize-handle.js +1 -1
  52. package/dist/components/registry/niko-table/lib/create-scroll-handler.d.ts +4 -4
  53. package/dist/components/registry/niko-table/types/index.d.ts +29 -29
  54. package/dist/components/registry/sidebar-07/app-sidebar.d.ts +6 -5
  55. package/dist/components/registry/sidebar-07/nav-main.d.ts +4 -4
  56. package/dist/components/registry/sidebar-07/nav-user.js +16 -19
  57. package/dist/components/siyahi/callout.d.ts +1 -1
  58. package/dist/components/siyahi/change-bar.d.ts +3 -3
  59. package/dist/components/siyahi/change-grid.d.ts +6 -6
  60. package/dist/components/siyahi/data-bar.d.ts +2 -2
  61. package/dist/components/siyahi/data-list.d.ts +1 -1
  62. package/dist/components/siyahi/data-table-row-count.d.ts +1 -1
  63. package/dist/components/siyahi/data-table-sort-header.d.ts +1 -1
  64. package/dist/components/siyahi/delta.d.ts +2 -2
  65. package/dist/components/siyahi/drawdown-chart.d.ts +2 -2
  66. package/dist/components/siyahi/histogram-chart.d.ts +5 -5
  67. package/dist/components/siyahi/local-time.d.ts +1 -1
  68. package/dist/components/siyahi/{page-hero.d.ts → page-header.d.ts} +3 -3
  69. package/dist/components/siyahi/{page-hero.js → page-header.js} +4 -4
  70. package/dist/components/siyahi/page-section.d.ts +1 -1
  71. package/dist/components/siyahi/page-toc.d.ts +2 -2
  72. package/dist/components/siyahi/panel-grid.d.ts +7 -4
  73. package/dist/components/siyahi/panel-grid.js +1 -1
  74. package/dist/components/siyahi/price-chart.d.ts +1 -1
  75. package/dist/components/siyahi/range-position.d.ts +5 -5
  76. package/dist/components/siyahi/range-position.js +1 -1
  77. package/dist/components/siyahi/scale-toggle.d.ts +2 -2
  78. package/dist/components/siyahi/scatter-chart.d.ts +15 -15
  79. package/dist/components/siyahi/scatter-chart.js +14 -1
  80. package/dist/components/siyahi/siyahi-provider.d.ts +3 -2
  81. package/dist/components/siyahi/siyahi-provider.js +1 -4
  82. package/dist/components/siyahi/slope-chart.d.ts +4 -4
  83. package/dist/components/siyahi/status-alert.d.ts +1 -1
  84. package/dist/components/siyahi/status-badge.d.ts +1 -1
  85. package/dist/components/siyahi/target-rows.d.ts +6 -6
  86. package/dist/components/siyahi/target-rows.js +2 -2
  87. package/dist/components/siyahi/treemap.d.ts +8 -8
  88. package/dist/components/siyahi/treemap.js +0 -3
  89. package/dist/components/siyahi/waterfall-chart.d.ts +3 -3
  90. package/dist/index.d.ts +2 -2
  91. package/dist/index.js +2 -2
  92. package/dist/lib/chart-frame.d.ts +48 -20
  93. package/dist/lib/chart-frame.js +60 -30
  94. package/dist/lib/chart-marks.d.ts +2 -2
  95. package/dist/lib/chart-series.d.ts +25 -24
  96. package/dist/lib/format.d.ts +1 -1
  97. package/dist/lib/optional.d.ts +7 -0
  98. package/dist/lib/optional.js +0 -0
  99. package/dist/lib/scatter.d.ts +7 -7
  100. package/dist/lib/ticks.d.ts +9 -0
  101. package/dist/lib/ticks.js +25 -3
  102. package/dist/lib/treemap.d.ts +1 -1
  103. package/dist/lib/use-render-when-fonts-load.d.ts +11 -0
  104. package/dist/lib/use-render-when-fonts-load.js +49 -0
  105. package/package.json +2 -2
  106. package/report.css +1 -0
  107. package/styles/siyahi.css +51 -4
@@ -1,3 +1,4 @@
1
+ import { Optional } from "../../lib/optional.js";
1
2
  import { SiyahiLocale } from "../../lib/locale.js";
2
3
  import { ReactNode } from "react";
3
4
  //#region src/components/siyahi/siyahi-provider.d.ts
@@ -10,12 +11,12 @@ import { ReactNode } from "react";
10
11
  export type Surface = "ruled" | "card" | "open";
11
12
  export interface SiyahiProviderProps {
12
13
  /** Any setting left out keeps its default: en-IN, INR, Asia/Kolkata. */
13
- locale?: Partial<SiyahiLocale>;
14
+ locale?: Optional<SiyahiLocale> | undefined;
14
15
  /**
15
16
  * Set it on a nested provider for one part of a page. Left out, a provider keeps the surface around it, so a
16
17
  * provider that only changes the locale changes nothing else; the outermost default is "ruled".
17
18
  */
18
- surface?: Surface;
19
+ surface?: Surface | undefined;
19
20
  children: ReactNode;
20
21
  }
21
22
  /** Wrap the app once. Carries the locale, the surface and the tooltip provider shadcn asks for. */
@@ -7,10 +7,7 @@ const LocaleContext = createContext(defaultLocale);
7
7
  const SurfaceContext = createContext("ruled");
8
8
  /** Wrap the app once. Carries the locale, the surface and the tooltip provider shadcn asks for. */
9
9
  function SiyahiProvider({ locale, surface, children }) {
10
- const { numberLocale, currency, timeZone } = {
11
- ...defaultLocale,
12
- ...locale
13
- };
10
+ const { numberLocale = defaultLocale.numberLocale, currency = defaultLocale.currency, timeZone = defaultLocale.timeZone } = locale ?? {};
14
11
  const value = useMemo(() => ({
15
12
  numberLocale,
16
13
  currency,
@@ -6,7 +6,7 @@ export interface SlopeItem {
6
6
  /** The value on the right: after, or our own figure. */
7
7
  to: number;
8
8
  /** Unique key when names repeat. Defaults to `name`. */
9
- key?: string;
9
+ key?: string | undefined;
10
10
  }
11
11
  export interface SlopeChartProps {
12
12
  /** An item whose from or to is not a finite number is not drawn: say on the page how many are left out. */
@@ -16,10 +16,10 @@ export interface SlopeChartProps {
16
16
  /** Heads the right side, such as "Portfolio" or "2026". */
17
17
  toLabel: string;
18
18
  /** Keys (or names) of the items to draw in the accent colour; the rest stay grey. */
19
- highlighted?: readonly string[];
19
+ highlighted?: readonly string[] | undefined;
20
20
  /** Writes each end's value; useFormat().pct by default. */
21
- valueFormatter?: (value: number) => string;
22
- className?: string;
21
+ valueFormatter?: ((value: number) => string) | undefined;
22
+ className?: string | undefined;
23
23
  }
24
24
  /**
25
25
  * Pushes labels apart so none sits closer than `gap` to the next, keeping their order and staying inside [min, max]:
@@ -4,7 +4,7 @@ import { ComponentProps } from "react";
4
4
  //#region src/components/siyahi/status-alert.d.ts
5
5
  export interface StatusAlertProps extends Omit<ComponentProps<typeof Alert>, "variant"> {
6
6
  /** neutral for information, warning for a caution, negative for an error, positive for a success. */
7
- tone?: Tone;
7
+ tone?: Tone | undefined;
8
8
  }
9
9
  /**
10
10
  * A notice the reader must not miss: the whole card takes its tone, a faint wash inside a border of the same colour,
@@ -4,7 +4,7 @@ import { ComponentProps } from "react";
4
4
  //#region src/components/siyahi/status-badge.d.ts
5
5
  export interface StatusBadgeProps extends Omit<ComponentProps<typeof Badge>, "variant"> {
6
6
  /** positive for done or paid, warning for pending, negative for failed, accent for new, neutral for a draft. */
7
- tone?: Tone;
7
+ tone?: Tone | undefined;
8
8
  }
9
9
  /**
10
10
  * A state, such as Paid, Pending or Failed: the badge takes its tone's wash and border, and a dot in the tone's
@@ -13,18 +13,18 @@ export interface TargetRow {
13
13
  value: number;
14
14
  target: number;
15
15
  /** Qualitative ranges behind the bar as [from, to]; each later band draws a grey step darker, so nest them. */
16
- bands?: [number, number][];
17
- status?: TargetStatus;
16
+ bands?: [number, number][] | undefined;
17
+ status?: TargetStatus | undefined;
18
18
  /** Tells rows apart when labels are not plain unique text. */
19
- key?: string;
19
+ key?: string | undefined;
20
20
  }
21
21
  export interface TargetRowsProps {
22
22
  rows: TargetRow[];
23
23
  /** The scale every row shares; by default 0 to the largest value, target or band edge. */
24
- domain?: [number, number];
24
+ domain?: [number, number] | undefined;
25
25
  /** Writes the value and the target; useFormat().count by default. */
26
- valueFormatter?: (value: number) => string;
27
- className?: string;
26
+ valueFormatter?: ((value: number) => string) | undefined;
27
+ className?: string | undefined;
28
28
  }
29
29
  /**
30
30
  * Bullet rows: each row's label, value and status beside a track where the value is a solid bar, the target a tall
@@ -37,7 +37,7 @@ function TargetRows({ rows, domain, valueFormatter, className }) {
37
37
  /* @__PURE__ */ jsxs("div", {
38
38
  className: "flex items-baseline justify-between gap-3",
39
39
  children: [/* @__PURE__ */ jsx("span", {
40
- className: "truncate font-medium",
40
+ className: "min-w-0 font-medium wrap-anywhere",
41
41
  children: row.label
42
42
  }), /* @__PURE__ */ jsx("span", {
43
43
  className: "shrink-0 text-base font-semibold tabular-nums",
@@ -47,7 +47,7 @@ function TargetRows({ rows, domain, valueFormatter, className }) {
47
47
  /* @__PURE__ */ jsxs("div", {
48
48
  className: "flex justify-between gap-3 text-muted-foreground",
49
49
  children: [/* @__PURE__ */ jsx("span", {
50
- className: "truncate",
50
+ className: "min-w-0 wrap-anywhere",
51
51
  children: row.detail
52
52
  }), /* @__PURE__ */ jsxs("span", {
53
53
  className: "shrink-0 tabular-nums",
@@ -6,35 +6,35 @@ export interface TreemapItem {
6
6
  /** Signed change as a fraction; sets the heat. `null` when unknown: a muted tile marked "—". */
7
7
  change: number | null;
8
8
  /** Unique key when names repeat, such as one city sold to online and in stores. Defaults to `name`. */
9
- key?: string;
9
+ key?: string | undefined;
10
10
  /** Tiles of one group, such as a region, sit together under the group's name, even a group of one. */
11
- group?: string;
11
+ group?: string | undefined;
12
12
  }
13
13
  export interface TreemapProps<T extends TreemapItem> {
14
14
  items: T[];
15
15
  height: number;
16
16
  /** ±range: the change, as a fraction, that takes the deepest heat step. Default 0.05 (±5%); a range that is not a positive number uses the default. */
17
- range?: number;
17
+ range?: number | undefined;
18
18
  /**
19
19
  * Gets the item under a mouse, and null when it moves onto a group's name or leaves the map. A tap fires no hover:
20
20
  * on a touch screen it selects, so the page shows the tile in place rather than in a card at the finger.
21
21
  */
22
- onHover?: (item: T | null) => void;
22
+ onHover?: ((item: T | null) => void) | undefined;
23
23
  /** The selected item, matched by key, whose tile carries a ring. Pass back what onSelect gave. */
24
- selected?: T | null;
24
+ selected?: T | null | undefined;
25
25
  /**
26
26
  * Gets the item whose tile is tapped or clicked, and null when the selected
27
27
  * tile is tapped again or a tap lands anywhere else. On a touch screen, which
28
28
  * has no hover, this is how a reader gets a tile's figures.
29
29
  */
30
- onSelect?: (item: T | null) => void;
30
+ onSelect?: ((item: T | null) => void) | undefined;
31
31
  }
32
32
  /** Heat map of parts of a whole: area by weight, colour by signed change, optionally grouped; hand-drawn SVG. */
33
33
  export declare function Treemap<T extends TreemapItem>({ items, height, range, onHover, selected, onSelect }: TreemapProps<T>): import("react").JSX.Element;
34
34
  export interface TreemapLegendProps {
35
35
  /** The Treemap's own range, so each swatch matches its tiles. */
36
- range?: number;
37
- className?: string;
36
+ range?: number | undefined;
37
+ className?: string | undefined;
38
38
  }
39
39
  /** The Treemap's colour scale under the map: five steps of loss, no change, five steps of gain, deepest at the ends. */
40
40
  export declare function TreemapLegend({ range, className }: TreemapLegendProps): import("react").JSX.Element;
@@ -108,7 +108,6 @@ function Treemap({ items, height, range, onHover, selected, onSelect }) {
108
108
  /* @__PURE__ */ jsx("rect", {
109
109
  width: "100%",
110
110
  height: "100%",
111
- rx: 4,
112
111
  style: { fill: heat(item.change, range) }
113
112
  }),
114
113
  key === selectedKey && /* @__PURE__ */ jsx("rect", {
@@ -116,7 +115,6 @@ function Treemap({ items, height, range, onHover, selected, onSelect }) {
116
115
  y: 1,
117
116
  width: box.width - 2,
118
117
  height: box.height - 2,
119
- rx: 3,
120
118
  fill: "none",
121
119
  strokeWidth: 2,
122
120
  className: "stroke-foreground"
@@ -150,7 +148,6 @@ function Swatch({ label, fill }) {
150
148
  children: [/* @__PURE__ */ jsx("title", { children: label }), /* @__PURE__ */ jsx("rect", {
151
149
  width: "100%",
152
150
  height: "100%",
153
- rx: 2,
154
151
  style: { fill }
155
152
  })]
156
153
  });
@@ -12,7 +12,7 @@ export type WaterfallStep = {
12
12
  } | {
13
13
  kind: "total";
14
14
  label: string;
15
- value?: number;
15
+ value?: number | undefined;
16
16
  };
17
17
  /** A step as drawn: the running total after it, and the span its bar covers. */
18
18
  export interface WaterfallBar {
@@ -35,13 +35,13 @@ export interface WaterfallChartCardProps extends Pick<SeriesChartProps<Waterfall
35
35
  /** The bars in order: usually a total to start from, the changes, and a total to end on. */
36
36
  steps: readonly WaterfallStep[];
37
37
  /** Bars run sideways with the labels down the left, for long names such as product categories. */
38
- horizontal?: boolean;
38
+ horizontal?: boolean | undefined;
39
39
  /** What the legend calls each kind of bar. */
40
40
  labels?: {
41
41
  rise: string;
42
42
  fall: string;
43
43
  total: string;
44
- };
44
+ } | undefined;
45
45
  }
46
46
  /**
47
47
  * A running total bridged step by step: where it starts, each change that moved it, and where it ends, such as a
package/dist/index.d.ts CHANGED
@@ -64,7 +64,7 @@ import { DrawdownChartCard, DrawdownChartCardProps, DrawdownPoint, drawdowns } f
64
64
  import { HistogramBin, HistogramChartCard, HistogramChartCardProps, HistogramMark, bucketOf, histogram, markLines, percentile } from "./components/siyahi/histogram-chart.js";
65
65
  import { InlineCode } from "./components/siyahi/inline-code.js";
66
66
  import { LocalTime, LocalTimeProps } from "./components/siyahi/local-time.js";
67
- import { PageHero, PageHeroProps } from "./components/siyahi/page-hero.js";
67
+ import { PageHeader, PageHeaderProps } from "./components/siyahi/page-header.js";
68
68
  import { PageSection, PageSectionProps, PageSubheading } from "./components/siyahi/page-section.js";
69
69
  import { PageToc, PageTocItem, PageTocProps } from "./components/siyahi/page-toc.js";
70
70
  import { PanelGrid, PanelGridProps } from "./components/siyahi/panel-grid.js";
@@ -112,4 +112,4 @@ import { Textarea } from "./components/ui/textarea.js";
112
112
  import { Toggle, toggleVariants } from "./components/ui/toggle.js";
113
113
  import { ToggleGroup, ToggleGroupItem } from "./components/ui/toggle-group.js";
114
114
  import { Formatters, TimeOptions, count, money, moneyCompact, pct, time, useFormat } from "./lib/format.js";
115
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActiveCell, ActiveSelection, Activity, Alert, AlertAction, AlertDescription, AlertTitle, AppSidebar, AppSidebarProps, AreaChartCard, AreaChartCardProps, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, AxisScaleOptions, Badge, BarChartCard, BarChartCardProps, BarList, BarListItem, BarListProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBlockProps, CalendarHeatmapBody, CalendarHeatmapBodyProps, CalendarHeatmapFooter, CalendarHeatmapFooterProps, CalendarHeatmapLegend, CalendarHeatmapLegendProps, CalendarHeatmapProps, CalendarHeatmapStat, CalendarHeatmapStatProps, Callout, CalloutProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangeBar, ChangeBarProps, ChangeGrid, ChangeGridProps, ChangeGridRow, ChartColor, ChartConfig, ChartContainer, ChartCurve, ChartLegend, ChartLegendContent, ChartReferenceLine, ChartSeries, ChartSeriesItem, ChartStyle, ChartTooltip, ChartTooltipContent, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorConfig, ColumnResizeInfo, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CompactColumns, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, DataBar, DataBarProps, DataList, DataListItem, DataListItemProps, DataTable, DataTableActions, DataTableBody, DataTableBodyProps, type DataTableCell, type DataTableColumn, DataTableColumnActions, type DataTableColumnDef, DataTableColumnFilter, DataTableColumnHeader, DataTableColumnHeaderProps, DataTableColumnHeaderRoot, DataTableColumnSortMenu, DataTableColumnSortOptions, DataTableColumnTitle, type DataTableColumns, DataTableCompactColumnsToggle, DataTableConfig, DataTableContainerProps, DataTableContext, DataTableContextState, DataTableEmptyActions, DataTableEmptyActionsProps, DataTableEmptyBody, DataTableEmptyBodyProps, DataTableEmptyDescription, DataTableEmptyDescriptionProps, DataTableEmptyFilteredMessage, DataTableEmptyFilteredMessageProps, DataTableEmptyIcon, DataTableEmptyIconProps, DataTableEmptyMessage, DataTableEmptyMessageProps, DataTableEmptyState, DataTableEmptyStateProps, DataTableEmptyTitle, DataTableEmptyTitleProps, DataTableErrorBoundary, DataTableErrorBoundaryProps, DataTableFacetedFilter, DataTableFacetedFilterContent, DataTableFootnote, DataTableFootnoteProps, DataTableGroupRowContextValue, DataTableGroupRowProvider, DataTableGroupedRowCells, DataTableGroupedRows, DataTableGroupedRowsProps, DataTableHeader, type DataTableHeader$1 as DataTableHeaderCell, DataTableHeaderProps, type DataTableInstance, DataTableLoading, DataTableLoadingMore, DataTableLoadingMoreProps, DataTableLoadingProps, DataTableProvider, DataTableRoot, type DataTableRow, DataTableRowContextMenu, DataTableRowContextMenuProps, DataTableRowContextMenuSlot, DataTableRowContextMenuSlotProps, DataTableRowCount, DataTableRowCountProps, DataTableRowMenuScope, DataTableSearchFilter, DataTableSkeleton, DataTableSkeletonProps, DataTableSortHeader, DataTableToolbarSection, DataTableToolbarSectionProps, Delta, DeltaProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DistributionBar, DistributionBarProps, DistributionMarker, DistributionSegment, DrawdownChartCard, DrawdownChartCardProps, DrawdownPoint, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type ExtendedColumnFilter, type ExtendedColumnSort, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, type FilterOperator, type FilterOperatorValues, type FilterVariant, type FilterVariantValues, FlashCellRef, FlashCells, FlashRows, FlashRowsOptions, Formatters, type GlobalFilter, GroupedBodyRow, GroupedBodyRowProps, HistogramBin, HistogramChartCard, HistogramChartCardProps, HistogramMark, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, type JoinOperator, type JoinOperatorValues, LOG_BLOCKED, Label, Labels, LineChartCard, LineChartCardProps, LineMarksProps, LocalTime, LocalTimeProps, MetricStrip, MetricStripItem, MetricStripProps, NavMain, NavProjects, NavUser, NumericKey, NumericXProps, type Option, PageHero, PageHeroProps, PageSection, PageSectionProps, PageSubheading, PageToc, PageTocItem, PageTocProps, PanelGrid, PanelGridProps, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, PriceChartProps, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, type QueryKeys, Quote, QuoteProps, RangePosition, RangePositionProps, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScaleToggle, ScaleToggleProps, ScatterChartCard, ScatterChartCardProps, ScatterDetail, ScatterPoint, type ScatterQuadrants, ScrollAlign, ScrollArea, ScrollBar, type ScrollEvent, ScrollRowIntoView, SectionCard, SectionCards, SectionCardsProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SeriesChartProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiyahiLocale, SiyahiProvider, SiyahiProviderProps, Skeleton, Slider, SlopeChart, SlopeChartProps, SlopeItem, Sparkline, SparklineProps, StaleNote, StaleNoteProps, StatusActivity, StatusAlert, StatusAlertProps, StatusBadge, StatusBadgeProps, StatusColorConfig, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBlockProps, StatusHeatmapBody, StatusHeatmapBodyProps, StatusHeatmapFooter, StatusHeatmapFooterProps, StatusHeatmapLabels, StatusHeatmapLegend, StatusHeatmapLegendProps, StatusHeatmapProps, StatusHeatmapStat, StatusHeatmapStatProps, StatusValue, Surface, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnActionsProps, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFacetedFilterProps, TableFooter, TableHead, TableHeader, TableRow, TableSearchFilter, TableSearchFilterProps, Tabs, TabsContent, TabsList, TabsTrigger, TargetRow, TargetRows, TargetRowsProps, TargetStatus, TeamSwitcher, Textarea, TimeOptions, Toggle, ToggleGroup, ToggleGroupItem, ToneProgress, ToneProgressProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Treemap, TreemapItem, TreemapLegend, TreemapLegendProps, TreemapProps, type ValueOf, ValueScaleProps, WaterfallBar, WaterfallChartCard, WaterfallChartCardProps, WaterfallStep, type ColorConfig$1 as WeekdayColorConfig, type WeekdayExtraColumnSpec, type WeekdayExtraRowSpec, WeekdayHeatmap, WeekdayHeatmapBlock, type WeekdayHeatmapBlockProps, WeekdayHeatmapBody, type WeekdayHeatmapBodyProps, WeekdayHeatmapFooter, type WeekdayHeatmapFooterProps, type WeekdayHeatmapLabels, WeekdayHeatmapLegend, type WeekdayHeatmapLegendProps, type WeekdayHeatmapProps, WeekdayHeatmapStat, type WeekdayHeatmapStatProps, type WeekdayHour, type WeekdayHourlyActivity, type WeekdayIndex, badgeVariants, bucketOf, buttonVariants, count, defaultLocale, defaultSidebarOpen, drawdowns, flashCellKey, histogram, markLines, money, moneyCompact, pct, percentile, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, spread, tabsListVariants, time, toggleVariants, useAxisScale, useColumnHeaderContext, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useFormat, useLocale, useResolvedRowContextMenuRenderer, useSidebar, useSurface, useTableFacetedFilter, waterfallBars };
115
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActiveCell, ActiveSelection, Activity, Alert, AlertAction, AlertDescription, AlertTitle, AppSidebar, AppSidebarProps, AreaChartCard, AreaChartCardProps, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, AxisScaleOptions, Badge, BarChartCard, BarChartCardProps, BarList, BarListItem, BarListProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBlockProps, CalendarHeatmapBody, CalendarHeatmapBodyProps, CalendarHeatmapFooter, CalendarHeatmapFooterProps, CalendarHeatmapLegend, CalendarHeatmapLegendProps, CalendarHeatmapProps, CalendarHeatmapStat, CalendarHeatmapStatProps, Callout, CalloutProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangeBar, ChangeBarProps, ChangeGrid, ChangeGridProps, ChangeGridRow, ChartColor, ChartConfig, ChartContainer, ChartCurve, ChartLegend, ChartLegendContent, ChartReferenceLine, ChartSeries, ChartSeriesItem, ChartStyle, ChartTooltip, ChartTooltipContent, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorConfig, ColumnResizeInfo, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CompactColumns, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, DataBar, DataBarProps, DataList, DataListItem, DataListItemProps, DataTable, DataTableActions, DataTableBody, DataTableBodyProps, type DataTableCell, type DataTableColumn, DataTableColumnActions, type DataTableColumnDef, DataTableColumnFilter, DataTableColumnHeader, DataTableColumnHeaderProps, DataTableColumnHeaderRoot, DataTableColumnSortMenu, DataTableColumnSortOptions, DataTableColumnTitle, type DataTableColumns, DataTableCompactColumnsToggle, DataTableConfig, DataTableContainerProps, DataTableContext, DataTableContextState, DataTableEmptyActions, DataTableEmptyActionsProps, DataTableEmptyBody, DataTableEmptyBodyProps, DataTableEmptyDescription, DataTableEmptyDescriptionProps, DataTableEmptyFilteredMessage, DataTableEmptyFilteredMessageProps, DataTableEmptyIcon, DataTableEmptyIconProps, DataTableEmptyMessage, DataTableEmptyMessageProps, DataTableEmptyState, DataTableEmptyStateProps, DataTableEmptyTitle, DataTableEmptyTitleProps, DataTableErrorBoundary, DataTableErrorBoundaryProps, DataTableFacetedFilter, DataTableFacetedFilterContent, DataTableFootnote, DataTableFootnoteProps, DataTableGroupRowContextValue, DataTableGroupRowProvider, DataTableGroupedRowCells, DataTableGroupedRows, DataTableGroupedRowsProps, DataTableHeader, type DataTableHeader$1 as DataTableHeaderCell, DataTableHeaderProps, type DataTableInstance, DataTableLoading, DataTableLoadingMore, DataTableLoadingMoreProps, DataTableLoadingProps, DataTableProvider, DataTableRoot, type DataTableRow, DataTableRowContextMenu, DataTableRowContextMenuProps, DataTableRowContextMenuSlot, DataTableRowContextMenuSlotProps, DataTableRowCount, DataTableRowCountProps, DataTableRowMenuScope, DataTableSearchFilter, DataTableSkeleton, DataTableSkeletonProps, DataTableSortHeader, DataTableToolbarSection, DataTableToolbarSectionProps, Delta, DeltaProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DistributionBar, DistributionBarProps, DistributionMarker, DistributionSegment, DrawdownChartCard, DrawdownChartCardProps, DrawdownPoint, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type ExtendedColumnFilter, type ExtendedColumnSort, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, type FilterOperator, type FilterOperatorValues, type FilterVariant, type FilterVariantValues, FlashCellRef, FlashCells, FlashRows, FlashRowsOptions, Formatters, type GlobalFilter, GroupedBodyRow, GroupedBodyRowProps, HistogramBin, HistogramChartCard, HistogramChartCardProps, HistogramMark, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, type JoinOperator, type JoinOperatorValues, LOG_BLOCKED, Label, Labels, LineChartCard, LineChartCardProps, LineMarksProps, LocalTime, LocalTimeProps, MetricStrip, MetricStripItem, MetricStripProps, NavMain, NavProjects, NavUser, NumericKey, NumericXProps, type Option, PageHeader, PageHeaderProps, PageSection, PageSectionProps, PageSubheading, PageToc, PageTocItem, PageTocProps, PanelGrid, PanelGridProps, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, PriceChartProps, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, type QueryKeys, Quote, QuoteProps, RangePosition, RangePositionProps, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScaleToggle, ScaleToggleProps, ScatterChartCard, ScatterChartCardProps, ScatterDetail, ScatterPoint, type ScatterQuadrants, ScrollAlign, ScrollArea, ScrollBar, type ScrollEvent, ScrollRowIntoView, SectionCard, SectionCards, SectionCardsProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SeriesChartProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiyahiLocale, SiyahiProvider, SiyahiProviderProps, Skeleton, Slider, SlopeChart, SlopeChartProps, SlopeItem, Sparkline, SparklineProps, StaleNote, StaleNoteProps, StatusActivity, StatusAlert, StatusAlertProps, StatusBadge, StatusBadgeProps, StatusColorConfig, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBlockProps, StatusHeatmapBody, StatusHeatmapBodyProps, StatusHeatmapFooter, StatusHeatmapFooterProps, StatusHeatmapLabels, StatusHeatmapLegend, StatusHeatmapLegendProps, StatusHeatmapProps, StatusHeatmapStat, StatusHeatmapStatProps, StatusValue, Surface, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnActionsProps, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFacetedFilterProps, TableFooter, TableHead, TableHeader, TableRow, TableSearchFilter, TableSearchFilterProps, Tabs, TabsContent, TabsList, TabsTrigger, TargetRow, TargetRows, TargetRowsProps, TargetStatus, TeamSwitcher, Textarea, TimeOptions, Toggle, ToggleGroup, ToggleGroupItem, ToneProgress, ToneProgressProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Treemap, TreemapItem, TreemapLegend, TreemapLegendProps, TreemapProps, type ValueOf, ValueScaleProps, WaterfallBar, WaterfallChartCard, WaterfallChartCardProps, WaterfallStep, type ColorConfig$1 as WeekdayColorConfig, type WeekdayExtraColumnSpec, type WeekdayExtraRowSpec, WeekdayHeatmap, WeekdayHeatmapBlock, type WeekdayHeatmapBlockProps, WeekdayHeatmapBody, type WeekdayHeatmapBodyProps, WeekdayHeatmapFooter, type WeekdayHeatmapFooterProps, type WeekdayHeatmapLabels, WeekdayHeatmapLegend, type WeekdayHeatmapLegendProps, type WeekdayHeatmapProps, WeekdayHeatmapStat, type WeekdayHeatmapStatProps, type WeekdayHour, type WeekdayHourlyActivity, type WeekdayIndex, badgeVariants, bucketOf, buttonVariants, count, defaultLocale, defaultSidebarOpen, drawdowns, flashCellKey, histogram, markLines, money, moneyCompact, pct, percentile, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, spread, tabsListVariants, time, toggleVariants, useAxisScale, useColumnHeaderContext, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useFormat, useLocale, useResolvedRowContextMenuRenderer, useSidebar, useSurface, useTableFacetedFilter, waterfallBars };
package/dist/index.js CHANGED
@@ -93,7 +93,7 @@ import { DrawdownChartCard, drawdowns } from "./components/siyahi/drawdown-chart
93
93
  import { HistogramChartCard, bucketOf, histogram, markLines, percentile } from "./components/siyahi/histogram-chart.js";
94
94
  import { InlineCode } from "./components/siyahi/inline-code.js";
95
95
  import { LocalTime } from "./components/siyahi/local-time.js";
96
- import { PageHero } from "./components/siyahi/page-hero.js";
96
+ import { PageHeader } from "./components/siyahi/page-header.js";
97
97
  import { PageSection, PageSubheading } from "./components/siyahi/page-section.js";
98
98
  import { PageToc } from "./components/siyahi/page-toc.js";
99
99
  import { PanelGrid } from "./components/siyahi/panel-grid.js";
@@ -108,4 +108,4 @@ import { TargetRows } from "./components/siyahi/target-rows.js";
108
108
  import { ToneProgress } from "./components/siyahi/tone-progress.js";
109
109
  import { Treemap, TreemapLegend } from "./components/siyahi/treemap.js";
110
110
  import { WaterfallChartCard, waterfallBars } from "./components/siyahi/waterfall-chart.js";
111
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertTitle, AppSidebar, AreaChartCard, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BarChartCard, BarList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBody, CalendarHeatmapFooter, CalendarHeatmapLegend, CalendarHeatmapStat, Callout, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangeBar, ChangeGrid, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, DataBar, DataList, DataListItem, DataTable, DataTableActions, DataTableBody, DataTableColumnActions, DataTableColumnFilter, DataTableColumnHeader, DataTableColumnHeaderRoot, DataTableColumnSortMenu, DataTableColumnSortOptions, DataTableColumnTitle, DataTableCompactColumnsToggle, DataTableContext, DataTableEmptyActions, DataTableEmptyBody, DataTableEmptyDescription, DataTableEmptyFilteredMessage, DataTableEmptyIcon, DataTableEmptyMessage, DataTableEmptyState, DataTableEmptyTitle, DataTableErrorBoundary, DataTableFacetedFilter, DataTableFacetedFilterContent, DataTableFootnote, DataTableGroupRowProvider, DataTableGroupedRowCells, DataTableGroupedRows, DataTableHeader, DataTableLoading, DataTableLoadingMore, DataTableProvider, DataTableRoot, DataTableRowContextMenu, DataTableRowContextMenuSlot, DataTableRowCount, DataTableRowMenuScope, DataTableSearchFilter, DataTableSkeleton, DataTableSortHeader, DataTableToolbarSection, Delta, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DistributionBar, DrawdownChartCard, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, GroupedBodyRow, HistogramChartCard, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, LOG_BLOCKED, Label, LineChartCard, LocalTime, MetricStrip, NavMain, NavProjects, NavUser, PageHero, PageSection, PageSubheading, PageToc, PanelGrid, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, Quote, RangePosition, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScaleToggle, ScatterChartCard, ScrollArea, ScrollBar, SectionCards, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiyahiProvider, Skeleton, Slider, SlopeChart, Sparkline, StaleNote, StatusAlert, StatusBadge, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBody, StatusHeatmapFooter, StatusHeatmapLegend, StatusHeatmapStat, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFooter, TableHead, TableHeader, TableRow, TableSearchFilter, Tabs, TabsContent, TabsList, TabsTrigger, TargetRows, TeamSwitcher, Textarea, Toggle, ToggleGroup, ToggleGroupItem, ToneProgress, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Treemap, TreemapLegend, WaterfallChartCard, WeekdayHeatmap, WeekdayHeatmapBlock, WeekdayHeatmapBody, WeekdayHeatmapFooter, WeekdayHeatmapLegend, WeekdayHeatmapStat, badgeVariants, bucketOf, buttonVariants, count, defaultLocale, defaultSidebarOpen, drawdowns, flashCellKey, histogram, markLines, money, moneyCompact, pct, percentile, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, spread, tabsListVariants, time, toggleVariants, useAxisScale, useColumnHeaderContext, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useFormat, useLocale, useResolvedRowContextMenuRenderer, useSidebar, useSurface, useTableFacetedFilter, waterfallBars };
111
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertTitle, AppSidebar, AreaChartCard, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BarChartCard, BarList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBody, CalendarHeatmapFooter, CalendarHeatmapLegend, CalendarHeatmapStat, Callout, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangeBar, ChangeGrid, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, DataBar, DataList, DataListItem, DataTable, DataTableActions, DataTableBody, DataTableColumnActions, DataTableColumnFilter, DataTableColumnHeader, DataTableColumnHeaderRoot, DataTableColumnSortMenu, DataTableColumnSortOptions, DataTableColumnTitle, DataTableCompactColumnsToggle, DataTableContext, DataTableEmptyActions, DataTableEmptyBody, DataTableEmptyDescription, DataTableEmptyFilteredMessage, DataTableEmptyIcon, DataTableEmptyMessage, DataTableEmptyState, DataTableEmptyTitle, DataTableErrorBoundary, DataTableFacetedFilter, DataTableFacetedFilterContent, DataTableFootnote, DataTableGroupRowProvider, DataTableGroupedRowCells, DataTableGroupedRows, DataTableHeader, DataTableLoading, DataTableLoadingMore, DataTableProvider, DataTableRoot, DataTableRowContextMenu, DataTableRowContextMenuSlot, DataTableRowCount, DataTableRowMenuScope, DataTableSearchFilter, DataTableSkeleton, DataTableSortHeader, DataTableToolbarSection, Delta, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DistributionBar, DrawdownChartCard, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, GroupedBodyRow, HistogramChartCard, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, LOG_BLOCKED, Label, LineChartCard, LocalTime, MetricStrip, NavMain, NavProjects, NavUser, PageHeader, PageSection, PageSubheading, PageToc, PanelGrid, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, Quote, RangePosition, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScaleToggle, ScatterChartCard, ScrollArea, ScrollBar, SectionCards, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiyahiProvider, Skeleton, Slider, SlopeChart, Sparkline, StaleNote, StatusAlert, StatusBadge, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBody, StatusHeatmapFooter, StatusHeatmapLegend, StatusHeatmapStat, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFooter, TableHead, TableHeader, TableRow, TableSearchFilter, Tabs, TabsContent, TabsList, TabsTrigger, TargetRows, TeamSwitcher, Textarea, Toggle, ToggleGroup, ToggleGroupItem, ToneProgress, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Treemap, TreemapLegend, WaterfallChartCard, WeekdayHeatmap, WeekdayHeatmapBlock, WeekdayHeatmapBody, WeekdayHeatmapFooter, WeekdayHeatmapLegend, WeekdayHeatmapStat, badgeVariants, bucketOf, buttonVariants, count, defaultLocale, defaultSidebarOpen, drawdowns, flashCellKey, histogram, markLines, money, moneyCompact, pct, percentile, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, spread, tabsListVariants, time, toggleVariants, useAxisScale, useColumnHeaderContext, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useFormat, useLocale, useResolvedRowContextMenuRenderer, useSidebar, useSurface, useTableFacetedFilter, waterfallBars };
@@ -1,11 +1,11 @@
1
- import { ChartColor, ChartCurve, ChartSeries, ChartSeriesItem, LineMarksProps, NumericXProps, SeriesChartProps, ValueScaleProps } from "./chart-series.js";
1
+ import { ChartColor, ChartCurve, ChartReferenceLine, ChartSeries, ChartSeriesItem, LineMarksProps, NumericXProps, SeriesChartProps, ValueScaleProps } from "./chart-series.js";
2
2
  import { ChartTooltipContent } from "../components/ui/chart.js";
3
3
  import { ComponentProps, ReactElement, ReactNode } from "react";
4
- import { AreaChart, BarChart, LineChart, YAxisProps } from "recharts";
4
+ import { AreaChart, BarChart, LineChart } from "recharts";
5
5
  //#region src/lib/chart-frame.d.ts
6
6
  /**
7
- * A bar's fill: a tint of its colour, inside a 1px edge of the full colour the bar is drawn with. A selection dims
8
- * the bars it leaves out to a fainter tint; their edges stay, so they keep 3:1 against the card.
7
+ * A bar's fill: the theme's --bar-tint of its colour, inside a 1px edge of the full colour the bar is drawn with. A
8
+ * selection dims the bars it leaves out to a fainter tint; their edges stay, so they keep 3:1 against the card.
9
9
  */
10
10
  export declare function barFill(color: string, dim?: boolean): string;
11
11
  interface QuietLegendProps<T> {
@@ -21,10 +21,35 @@ interface QuietLegendProps<T> {
21
21
  * the rest. A stack's grey bands sit in the legend's order, bottom to top.
22
22
  */
23
23
  export declare function QuietLegend<T>({ series, raisable, raised, onRaise }: QuietLegendProps<T>): import("react").JSX.Element;
24
- interface ChartFrameProps<T extends object, K extends keyof T> extends Omit<SeriesChartProps<T, K>, "yDomain">, NumericXProps, ValueScaleProps, LineMarksProps<T, K> {
24
+ type StackOffset = "none" | "sign";
25
+ /**
26
+ * The values a value axis must reach: each one drawn, or a stack's running totals, where its segments end. A "sign"
27
+ * stack runs a row's losses down from zero and its gains up, so the row reaches its two sums.
28
+ */
29
+ export declare function axisValues<T>(data: readonly T[], series: ChartSeries<T>, stackOffset?: StackOffset): number[];
30
+ /**
31
+ * A log value axis over the values and the page's levels above zero: a level at or under zero has no place on it, and
32
+ * must not turn Log off.
33
+ */
34
+ export declare function logValueAxis(values: readonly number[], referenceLines: readonly ChartReferenceLine[], range?: readonly [number, number]): {
35
+ domain: [number, number];
36
+ ticks: number[];
37
+ };
38
+ /**
39
+ * A linear value axis that just covers what is drawn: the values (a stack's totals), the page's levels and ticks, and
40
+ * zero under bars, so no bar hangs from its smallest loss and no level falls off the plot.
41
+ */
42
+ export declare function linearValueAxis<T>(data: readonly T[], series: ChartSeries<T>, { stackOffset, referenceLines, yTicks, bars }: {
43
+ stackOffset?: StackOffset | undefined;
44
+ referenceLines?: readonly ChartReferenceLine[] | undefined;
45
+ yTicks?: readonly number[] | undefined;
46
+ bars?: boolean | undefined;
47
+ }): {
48
+ domain: [number, number];
49
+ ticks: number[];
50
+ } | undefined;
51
+ interface ChartFrameProps<T extends object, K extends keyof T> extends SeriesChartProps<T, K>, NumericXProps, ValueScaleProps, LineMarksProps<T, K> {
25
52
  chart: typeof AreaChart | typeof BarChart | typeof LineChart;
26
- /** The value axis' range: a page's fixed one, or a card's rule such as bars reaching zero. */
27
- yDomain?: YAxisProps["domain"];
28
53
  /** One Bar, Area or Line per series. */
29
54
  children: ReactNode;
30
55
  /**
@@ -32,22 +57,25 @@ interface ChartFrameProps<T extends object, K extends keyof T> extends Omit<Seri
32
57
  * chart-bar-horizontal. The value axis runs along the bottom when yTickFormatter is given, and is hidden
33
58
  * otherwise. x and y keep their meaning: x is the category, y the value.
34
59
  */
35
- horizontal?: boolean;
36
- /** "sign" stacks negative values below zero and positive ones above, rather than on one running total. */
37
- stackOffset?: "sign";
38
- onClick?: ComponentProps<typeof BarChart>["onClick"];
60
+ horizontal?: boolean | undefined;
61
+ /**
62
+ * The series stack: "none" adds each onto the running total, as a stacked area does; "sign" stacks negative values
63
+ * below zero and positive ones above.
64
+ */
65
+ stackOffset?: StackOffset | undefined;
66
+ onClick?: ComponentProps<typeof BarChart>["onClick"] | undefined;
39
67
  /** A tooltip row per hovered mark; by default each series' colour, label and formatted value (seriesRow). */
40
- tooltipRow?: ComponentProps<typeof ChartTooltipContent>["formatter"];
68
+ tooltipRow?: ComponentProps<typeof ChartTooltipContent>["formatter"] | undefined;
41
69
  /** The legend under the plot; by default one chip per series. */
42
- legend?: ReactElement;
70
+ legend?: ReactElement | undefined;
43
71
  /** Why this chart cannot go on a log scale whatever its values, such as stacked areas adding up from zero. */
44
- logBlocked?: string;
72
+ logBlocked?: string | undefined;
45
73
  /** The marks are lines (a line chart, unstacked areas): name each series at its line's end, where there is room. */
46
- endLabels?: boolean;
74
+ endLabels?: boolean | undefined;
47
75
  /** Hatch a forecast stretch, behind lines that sit on card halos; a stack's fills cover it already. */
48
- forecastHatch?: boolean;
76
+ forecastHatch?: boolean | undefined;
49
77
  /** The lines' curve, which a grey line raised from the legend is drawn with too. */
50
- curve?: ChartCurve;
78
+ curve?: ChartCurve | undefined;
51
79
  }
52
80
  /**
53
81
  * The colour a series' Bar takes, which its legend chip shows: the negative colour when every value drawn is below
@@ -59,9 +87,9 @@ export declare function seriesFill<T>(item: ChartSeriesItem<T>, data: readonly T
59
87
  * grid, and none elsewhere. The eye lands on now, where a reader starts.
60
88
  */
61
89
  export declare function endDot(color: ChartColor, count: number, hollow?: boolean): ({ cx, cy, index }: {
62
- cx?: number;
63
- cy?: number;
64
- index?: number;
90
+ cx?: number | undefined;
91
+ cy?: number | undefined;
92
+ index?: number | undefined;
65
93
  }) => import("react").JSX.Element;
66
94
  /** A tooltip row: the series' colour and label, then its value as the page formats it, or — when the row has none. */
67
95
  export declare function seriesRow<T>(series: ChartSeries<T>, formatValue: (value: number) => string): (value: unknown, _name: unknown, item: {
@@ -5,34 +5,23 @@ import { useAxisScale } from "../components/siyahi/scale-toggle.js";
5
5
  import { StaleNote } from "../components/siyahi/stale-note.js";
6
6
  import { useLocale } from "../components/siyahi/siyahi-provider.js";
7
7
  import { EndLabels, QUIET, TimeMarks, endLabelRoom, endLabelsFit, linesEndAtEdge } from "./chart-marks.js";
8
- import { fitsLog, logAxis } from "./ticks.js";
8
+ import { fitsLog, linearAxis, logAxis } from "./ticks.js";
9
9
  import { useElementWidth } from "./use-element-width.js";
10
+ import { useRenderWhenFontsLoad } from "./use-render-when-fonts-load.js";
10
11
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
- import { useEffect, useId, useMemo, useState } from "react";
12
- import { CartesianGrid, Line, ReferenceLine, Text, XAxis, YAxis, useChartWidth, useXAxisTicks, useYAxisTicks } from "recharts";
12
+ import { useId, useMemo, useState } from "react";
13
+ import { BarChart, CartesianGrid, Line, ReferenceLine, Text, XAxis, YAxis, useChartWidth, useXAxisTicks, useYAxisTicks } from "recharts";
13
14
  //#region src/lib/chart-frame.tsx
14
15
  const AXIS_TITLE = "fill-muted-foreground text-xs";
15
16
  const TICK = { className: "fill-muted-foreground font-mono" };
16
17
  const NO_LINES = [];
17
18
  const SERIES_LEGEND = /* @__PURE__ */ jsx(ChartLegendContent, { className: "flex-wrap gap-y-1" });
18
19
  /**
19
- * A bar's fill: a tint of its colour, inside a 1px edge of the full colour the bar is drawn with. A selection dims
20
- * the bars it leaves out to a fainter tint; their edges stay, so they keep 3:1 against the card.
20
+ * A bar's fill: the theme's --bar-tint of its colour, inside a 1px edge of the full colour the bar is drawn with. A
21
+ * selection dims the bars it leaves out to a fainter tint; their edges stay, so they keep 3:1 against the card.
21
22
  */
22
23
  function barFill(color, dim = false) {
23
- return `color-mix(in oklab, ${color} ${dim ? 10 : 25}%, var(--card))`;
24
- }
25
- /** Renders the component again once the page's fonts load, so text measured on a canvas is measured in Geist. */
26
- function useRenderWhenFontsLoad() {
27
- const [loaded, setLoaded] = useState(() => typeof document === "undefined" || document.fonts?.status === "loaded");
28
- useEffect(() => {
29
- if (loaded || !document.fonts) return;
30
- let live = true;
31
- document.fonts.ready.then(() => live && setLoaded(true));
32
- return () => {
33
- live = false;
34
- };
35
- }, [loaded]);
24
+ return `color-mix(in oklab, ${color} ${dim ? "10%" : "var(--bar-tint)"}, var(--card))`;
36
25
  }
37
26
  /**
38
27
  * The legend when some series are quiet: every series by name. The grey ones share a colour, so a legend square
@@ -83,6 +72,43 @@ function haloLine({ x1, y1, x2, y2, stroke, strokeDasharray }) {
83
72
  strokeWidth: 1
84
73
  })] });
85
74
  }
75
+ const sum = (values) => values.reduce((total, value) => total + value, 0);
76
+ /**
77
+ * The values a value axis must reach: each one drawn, or a stack's running totals, where its segments end. A "sign"
78
+ * stack runs a row's losses down from zero and its gains up, so the row reaches its two sums.
79
+ */
80
+ function axisValues(data, series, stackOffset) {
81
+ return data.flatMap((row) => {
82
+ const values = series.map(({ key }) => row[key]).filter((value) => typeof value === "number" && Number.isFinite(value));
83
+ if (stackOffset === "none") {
84
+ let total = 0;
85
+ return [0, ...values.map((value) => total += value)];
86
+ }
87
+ if (stackOffset === "sign") return [sum(values.filter((value) => value < 0)), sum(values.filter((value) => value > 0))];
88
+ return values;
89
+ });
90
+ }
91
+ /** The value levels a page marks with reference lines. */
92
+ const levelsOf = (lines) => lines.flatMap(({ y }) => y === void 0 ? [] : [y]);
93
+ /**
94
+ * A log value axis over the values and the page's levels above zero: a level at or under zero has no place on it, and
95
+ * must not turn Log off.
96
+ */
97
+ function logValueAxis(values, referenceLines, range) {
98
+ return logAxis([...values, ...levelsOf(referenceLines).filter((level) => level > 0)], range);
99
+ }
100
+ /**
101
+ * A linear value axis that just covers what is drawn: the values (a stack's totals), the page's levels and ticks, and
102
+ * zero under bars, so no bar hangs from its smallest loss and no level falls off the plot.
103
+ */
104
+ function linearValueAxis(data, series, { stackOffset, referenceLines = NO_LINES, yTicks = [], bars = false }) {
105
+ return linearAxis([
106
+ ...axisValues(data, series, stackOffset),
107
+ ...levelsOf(referenceLines),
108
+ ...yTicks,
109
+ ...bars ? [0] : []
110
+ ]);
111
+ }
86
112
  /**
87
113
  * The colour a series' Bar takes, which its legend chip shows: the negative colour when every value drawn is below
88
114
  * zero, since each bar's own Cell follows its sign but the chip follows the Bar.
@@ -246,10 +272,10 @@ function ChartFrame({ chart: Chart, children, horizontal = false, stackOffset, o
246
272
  const { numberLocale } = useLocale();
247
273
  const clipId = useId();
248
274
  const [contentRef, contentWidth] = useElementWidth();
249
- useRenderWhenFontsLoad();
250
275
  const [raisedKey, setRaisedKey] = useState();
251
276
  const names = endLabels ? series.map(({ label }) => label) : [];
252
277
  const labelRoom = endLabels ? endLabelRoom(names) : 0;
278
+ useRenderWhenFontsLoad(() => endLabels ? endLabelRoom(names) : 0);
253
279
  const plotHeight = height - 12 - (xTickDetail ? 40 : 30) - (xLabel ? 18 : 0);
254
280
  const ends = endLabels && linesEndAtEdge(data, xKey, series, xDomain) && endLabelsFit(names, contentWidth, plotHeight);
255
281
  const quiet = series.some(({ color }) => color === QUIET);
@@ -260,16 +286,20 @@ function ChartFrame({ chart: Chart, children, horizontal = false, stackOffset, o
260
286
  color
261
287
  }]));
262
288
  const crossesZero = data.some((row) => series.some(({ key }) => Number(row[key]) < 0));
263
- const [low, high] = Array.isArray(yDomain) ? yDomain : [];
264
- const range = typeof low === "number" && typeof high === "number" ? [low, high] : void 0;
265
- const values = [...data.flatMap((row) => series.map(({ key }) => row[key])), ...range ?? []].filter((value) => typeof value === "number" && Number.isFinite(value));
289
+ const values = [...data.flatMap((row) => series.map(({ key }) => row[key])), ...yDomain ?? []].filter((value) => typeof value === "number" && Number.isFinite(value));
266
290
  const valueAxis = useAxisScale({
267
291
  initial: yScale,
268
292
  toggle: yScaleToggle,
269
293
  label: yLabel ? `${yLabel} scale` : "Value axis scale",
270
294
  logBlocked: logBlocked ?? (fitsLog(values) ? void 0 : "Log needs every value above zero")
271
295
  });
272
- const log = valueAxis.scale === "log" ? logAxis(values, range) : void 0;
296
+ const log = valueAxis.scale === "log" ? logValueAxis(values, referenceLines, yDomain) : void 0;
297
+ const linear = log || yDomain !== void 0 ? void 0 : linearValueAxis(data, series, {
298
+ stackOffset,
299
+ referenceLines,
300
+ yTicks,
301
+ bars: Chart === BarChart
302
+ });
273
303
  const detailedRows = horizontal && xTickDetail !== void 0;
274
304
  const rowCount = (xTicks ?? data).length;
275
305
  const plotClass = detailedRows ? "min-h-(--wrapped-chart-height) @min-[24rem]/chart:min-h-0" : void 0;
@@ -336,10 +366,10 @@ function ChartFrame({ chart: Chart, children, horizontal = false, stackOffset, o
336
366
  }),
337
367
  horizontal ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(XAxis, {
338
368
  type: "number",
339
- niceTicks: "snap125",
369
+ niceTicks: linear ? void 0 : "snap125",
340
370
  hide: !yTickFormatter,
341
- domain: yDomain,
342
- ticks: yTicks,
371
+ domain: linear?.domain ?? yDomain,
372
+ ticks: yTicks ?? linear?.ticks,
343
373
  tickLine: false,
344
374
  axisLine: false,
345
375
  tickMargin: 8,
@@ -373,12 +403,12 @@ function ChartFrame({ chart: Chart, children, horizontal = false, stackOffset, o
373
403
  interval: xTickDetail || xTicks ? 0 : void 0
374
404
  }), /* @__PURE__ */ jsx(YAxis, {
375
405
  scale: valueAxis.scale,
376
- niceTicks: log ? void 0 : "snap125",
406
+ niceTicks: log || linear ? void 0 : "snap125",
377
407
  tickLine: false,
378
408
  axisLine: false,
379
409
  width: "auto",
380
- domain: log?.domain ?? yDomain,
381
- ticks: log?.ticks ?? yTicks,
410
+ domain: log?.domain ?? linear?.domain ?? yDomain,
411
+ ticks: log?.ticks ?? yTicks ?? linear?.ticks,
382
412
  label: yLabel ? {
383
413
  value: yLabel,
384
414
  angle: -90,
@@ -477,4 +507,4 @@ function ChartFrame({ chart: Chart, children, horizontal = false, stackOffset, o
477
507
  });
478
508
  }
479
509
  //#endregion
480
- export { ChartFrame, QuietLegend, barFill, endDot, seriesFill, seriesRow };
510
+ export { ChartFrame, QuietLegend, axisValues, barFill, endDot, linearValueAxis, logValueAxis, seriesFill, seriesRow };
@@ -65,9 +65,9 @@ interface TimeMarksProps<T extends object, K extends keyof T> {
65
65
  data: readonly T[];
66
66
  xKey: K;
67
67
  /** The x value from which the data is a forecast. */
68
- forecastFrom?: T[K];
68
+ forecastFrom?: T[K] | undefined;
69
69
  /** The x value of today. */
70
- today?: T[K];
70
+ today?: T[K] | undefined;
71
71
  /** Prefix of the clip paths the series' actual and forecast copies use (`<id>-actual`, `<id>-forecast`). */
72
72
  clipId: string;
73
73
  /** Hatch the forecast stretch; a stack's fills already cover it, so a stacked chart only labels it. */