@siyahi/ui 0.1.9-next.35 → 0.1.9-next.36

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 (32) hide show
  1. package/DESIGN.md +37 -21
  2. package/README.md +7 -9
  3. package/THIRD_PARTY_NOTICES.md +10 -11
  4. package/agents/examples/chart-panels.tsx +0 -4
  5. package/agents/examples/{section-cards-select.tsx → metric-strip-select.tsx} +5 -5
  6. package/agents/examples/metric-strip-trend.tsx +33 -0
  7. package/agents/examples/overview-dashboard.tsx +4 -4
  8. package/agents/examples/scatter-chart.tsx +0 -1
  9. package/agents/examples/stale-blocks.tsx +9 -9
  10. package/agents/examples/surfaces.tsx +2 -3
  11. package/agents/manifest.json +27 -47
  12. package/dist/components/registry/dashboardcn/kpi-row-card.d.ts +14 -6
  13. package/dist/components/registry/dashboardcn/kpi-row-card.js +49 -32
  14. package/dist/components/siyahi/panel-grid.d.ts +5 -6
  15. package/dist/components/siyahi/panel-grid.js +10 -9
  16. package/dist/components/siyahi/scatter-chart.d.ts +3 -3
  17. package/dist/components/siyahi/scatter-chart.js +5 -2
  18. package/dist/components/siyahi/siyahi-provider.d.ts +5 -6
  19. package/dist/components/siyahi/siyahi-provider.js +1 -1
  20. package/dist/index.d.ts +2 -3
  21. package/dist/index.js +2 -2
  22. package/dist/lib/chart-frame.d.ts +1 -1
  23. package/dist/lib/chart-frame.js +3 -1
  24. package/dist/lib/chart-series.d.ts +10 -2
  25. package/dist/lib/chart-series.js +10 -0
  26. package/package.json +1 -1
  27. package/registry.lock.json +0 -8
  28. package/styles/siyahi.css +60 -63
  29. package/agents/examples/section-cards-trend.tsx +0 -32
  30. package/agents/examples/section-cards.tsx +0 -48
  31. package/dist/components/registry/dashboard-01/section-cards.d.ts +0 -30
  32. package/dist/components/registry/dashboard-01/section-cards.js +0 -74
@@ -1,18 +1,20 @@
1
1
  import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "../../ui/card.js";
2
2
  import { cn } from "../../../lib/utils.js";
3
+ import { StaleNote } from "../../siyahi/stale-note.js";
3
4
  import { Delta } from "../../siyahi/delta.js";
4
5
  import { Sparkline } from "./sparkline.js";
5
6
  import { jsx, jsxs } from "react/jsx-runtime";
6
7
  import "react";
7
8
  //#region src/components/registry/dashboardcn/kpi-row-card.tsx
8
9
  const COLUMNS = {
9
- 1: "basis-full",
10
- 2: "basis-full @2xs/strip:basis-1/2",
11
- 3: "basis-full @lg/strip:basis-1/3",
12
- 4: "basis-full @2xs/strip:basis-1/2 @3xl/strip:basis-1/4",
13
- 5: "basis-full @2xs/strip:basis-1/2 @3xl/strip:basis-1/5",
14
- 6: "basis-full @2xs/strip:basis-1/2 @xl/strip:basis-1/3 @5xl/strip:basis-1/6",
15
- 8: "basis-full @2xs/strip:basis-1/2 @3xl/strip:basis-1/4 @7xl/strip:basis-1/8"
10
+ 1: "",
11
+ 2: "@2xs/strip:grid-cols-2",
12
+ 3: "@lg/strip:grid-cols-3",
13
+ 4: "@2xs/strip:grid-cols-2 @3xl/strip:grid-cols-4",
14
+ 5: "@lg/strip:grid-cols-3 @3xl/strip:grid-cols-5",
15
+ 6: "@2xs/strip:grid-cols-2 @xl/strip:grid-cols-3 @5xl/strip:grid-cols-6",
16
+ 7: "@2xl/strip:grid-cols-4 @7xl/strip:grid-cols-7",
17
+ 8: "@2xs/strip:grid-cols-2 @3xl/strip:grid-cols-4 @7xl/strip:grid-cols-8"
16
18
  };
17
19
  function trendColor(change) {
18
20
  if (change === void 0) return "var(--chart-1)";
@@ -20,8 +22,8 @@ function trendColor(change) {
20
22
  if (change < 0) return "var(--negative)";
21
23
  return "var(--muted-foreground)";
22
24
  }
23
- /** A card holding a row of small figures, each with its change and a sparkline: more numbers in less room than stat tiles. */
24
- function MetricStrip({ title, description, action, items, footer, className, ...props }) {
25
+ /** A row of figures, each with its change and recent run, optionally a picker that scopes the page. */
26
+ function MetricStrip({ title, description, action, items, footer, selected, onSelect, className, ...props }) {
25
27
  const columns = COLUMNS[Math.min(items.length, 8)] ?? COLUMNS[8];
26
28
  return /* @__PURE__ */ jsxs(Card, {
27
29
  className: cn("gap-4", className),
@@ -34,40 +36,55 @@ function MetricStrip({ title, description, action, items, footer, className, ...
34
36
  ] }),
35
37
  /* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsx("div", {
36
38
  "data-slot": "metric-strip",
37
- className: "@container/strip -mx-4 -my-3 overflow-hidden",
39
+ className: "@container/strip",
38
40
  children: /* @__PURE__ */ jsx("div", {
39
- className: "-me-px -mb-px flex flex-wrap",
41
+ className: cn("grid grid-cols-1 gap-x-6 gap-y-5", columns),
40
42
  children: items.map((item) => /* @__PURE__ */ jsxs("div", {
41
43
  "data-slot": "metric-strip-item",
42
44
  "data-tone": item.tone,
43
- className: cn("flex min-w-0 flex-col gap-1.5 border-e border-b px-4 py-4", columns),
44
- children: [/* @__PURE__ */ jsx("div", {
45
- className: "truncate font-mono text-2xs tracking-wider text-muted-foreground uppercase",
46
- children: item.label
47
- }), /* @__PURE__ */ jsxs("div", {
48
- className: "flex flex-wrap items-end justify-between gap-x-3 gap-y-1",
49
- children: [/* @__PURE__ */ jsxs("div", {
50
- className: "flex min-w-0 flex-col gap-0.5",
51
- children: [/* @__PURE__ */ jsx("div", {
52
- className: "text-xl font-semibold tracking-tight tabular-nums",
53
- children: item.value
54
- }), (item.change !== void 0 || item.note) && /* @__PURE__ */ jsxs("div", {
55
- className: "flex flex-wrap items-center gap-x-1.5 text-xs",
56
- children: [item.change !== void 0 && /* @__PURE__ */ jsx(Delta, {
45
+ "data-stale": item.stale ? "" : void 0,
46
+ "data-picked": onSelect && item.label === selected ? "" : void 0,
47
+ className: cn("relative row-span-4 grid min-w-0 grid-rows-subgrid gap-y-1", onSelect && item.disabled && "opacity-60"),
48
+ children: [
49
+ onSelect && /* @__PURE__ */ jsx("button", {
50
+ type: "button",
51
+ "aria-label": item.label,
52
+ "aria-pressed": item.label === selected,
53
+ disabled: item.disabled,
54
+ onClick: () => onSelect(item.label),
55
+ className: "absolute -inset-2 z-10 outline-none focus-visible:ring-2 focus-visible:ring-ring"
56
+ }),
57
+ /* @__PURE__ */ jsx("div", {
58
+ "data-slot": "metric-strip-label",
59
+ className: "font-mono text-2xs tracking-wider break-words text-muted-foreground uppercase",
60
+ children: item.label
61
+ }),
62
+ /* @__PURE__ */ jsx("div", {
63
+ "data-slot": "metric-strip-value",
64
+ className: "text-xl font-semibold tracking-tight tabular-nums",
65
+ children: item.value
66
+ }),
67
+ /* @__PURE__ */ jsxs("div", {
68
+ className: "flex flex-wrap items-center gap-x-1.5 gap-y-1 self-start text-xs",
69
+ children: [
70
+ item.change !== void 0 && /* @__PURE__ */ jsx(Delta, {
57
71
  value: item.change,
58
72
  format: item.changeFormat
59
- }), item.note && /* @__PURE__ */ jsx("span", {
73
+ }),
74
+ item.note && /* @__PURE__ */ jsx("span", {
60
75
  className: "text-muted-foreground",
61
76
  children: item.note
62
- })]
63
- })]
64
- }), item.trend && item.trend.length > 1 && /* @__PURE__ */ jsx(Sparkline, {
77
+ }),
78
+ item.stale && /* @__PURE__ */ jsx(StaleNote, { since: item.stale })
79
+ ]
80
+ }),
81
+ item.trend && item.trend.length > 1 ? /* @__PURE__ */ jsx(Sparkline, {
65
82
  data: item.trend,
66
83
  variant: "line",
67
84
  color: trendColor(item.change),
68
- className: "h-9 w-20 shrink-0"
69
- })]
70
- })]
85
+ className: "mt-1 h-8 w-full"
86
+ }) : /* @__PURE__ */ jsx("div", {})
87
+ ]
71
88
  }, item.label))
72
89
  })
73
90
  }) }),
@@ -9,18 +9,17 @@ declare const COLUMNS: {
9
9
  export interface PanelGridProps {
10
10
  /**
11
11
  * Blocks across from a 42rem grid, so three short ones fit a reading column (an article's 55rem); 4 goes two across
12
- * there and four from 64rem. Below 42rem they sit one under another.
12
+ * there and four from 64rem. Below 42rem they sit one under another. From 140rem a grid of 2 takes a third across,
13
+ * and from 180rem a grid of 2 or 3 a fourth, when it holds that many blocks; 1 stays one.
13
14
  */
14
15
  columns?: keyof typeof COLUMNS | undefined;
15
16
  children: ReactNode;
16
17
  className?: string | undefined;
17
18
  }
18
19
  /**
19
- * Data blocks side by side: chart cards, tables, a MetricStrip. On a ruled surface, the default, the grid is filled
20
- * with the card colour and a hairline parts the blocks across and down, with a rule above and below the grid and none
21
- * on its sides; open leaves whitespace between them, and card an 8px gap between boxes. Each block's bottom and end
22
- * edges carry its rules and the grid clips the ones on its own edges, so an empty cell at the end of a short last row
23
- * is a blank stretch of the sheet, ruled off like the rest. The theme numbers each block's card title 01, 02.
20
+ * Data blocks side by side: chart cards, tables, a MetricStrip. On an open surface, the default, space parts the
21
+ * blocks: 24px across and 16px down, no box and no rule. A card surface sets them 8px apart, each in its own box. The
22
+ * theme numbers each block's card title 01, 02.
24
23
  */
25
24
  export declare function PanelGrid({ columns, children, className }: PanelGridProps): import("react").JSX.Element;
26
25
  //#endregion
@@ -9,25 +9,26 @@ const COLUMNS = {
9
9
  3: "@2xl/panels:grid-cols-3",
10
10
  4: "@2xl/panels:grid-cols-2 @5xl/panels:grid-cols-4"
11
11
  };
12
+ const WIDE_THREE = "@min-[140rem]/panels:grid-cols-3";
13
+ const WIDE_FOUR = "@min-[180rem]/panels:grid-cols-4";
12
14
  /**
13
- * Data blocks side by side: chart cards, tables, a MetricStrip. On a ruled surface, the default, the grid is filled
14
- * with the card colour and a hairline parts the blocks across and down, with a rule above and below the grid and none
15
- * on its sides; open leaves whitespace between them, and card an 8px gap between boxes. Each block's bottom and end
16
- * edges carry its rules and the grid clips the ones on its own edges, so an empty cell at the end of a short last row
17
- * is a blank stretch of the sheet, ruled off like the rest. The theme numbers each block's card title 01, 02.
15
+ * Data blocks side by side: chart cards, tables, a MetricStrip. On an open surface, the default, space parts the
16
+ * blocks: 24px across and 16px down, no box and no rule. A card surface sets them 8px apart, each in its own box. The
17
+ * theme numbers each block's card title 01, 02.
18
18
  */
19
19
  function PanelGrid({ columns = 2, children, className }) {
20
20
  const surface = useSurface();
21
- const ruled = surface === "ruled";
21
+ const blocks = Children.toArray(children).length;
22
+ const wide = cn(columns === 2 && blocks >= 3 && WIDE_THREE, (columns === 2 || columns === 3) && blocks >= 4 && WIDE_FOUR);
22
23
  return /* @__PURE__ */ jsx("div", {
23
24
  "data-slot": "panel-grid",
24
25
  "data-surface": surface,
25
- className: cn("@container/panels", ruled && "overflow-clip border-y", className),
26
+ className: cn("@container/panels", className),
26
27
  children: /* @__PURE__ */ jsx("div", {
27
- className: cn("grid grid-cols-1", COLUMNS[columns], ruled ? "-me-px -mb-px bg-card" : surface === "open" ? "gap-x-8 gap-y-6" : "gap-2"),
28
+ className: cn("grid grid-cols-1", COLUMNS[columns], wide, surface === "open" ? "gap-x-6 gap-y-4" : "gap-2"),
28
29
  children: Children.map(children, (child) => /* @__PURE__ */ jsx("div", {
29
30
  "data-slot": "panel",
30
- className: cn("min-w-0", ruled && "border-e border-b"),
31
+ className: "min-w-0",
31
32
  children: child
32
33
  }))
33
34
  })
@@ -25,8 +25,8 @@ export interface ScatterChartCardProps<T extends ScatterPoint> {
25
25
  action?: ReactNode;
26
26
  /** Most important first: earlier points take the labels. */
27
27
  points: T[];
28
- /** Height of the plot, in pixels. */
29
- height: number;
28
+ /** Height of the plot, in pixels. Left out, it follows the plot's width (fittedChartHeight). */
29
+ height?: number | undefined;
30
30
  /** What the x axis measures, under it, such as "Share of sales". */
31
31
  xLabel: string;
32
32
  /** What the y axis measures, beside it, such as "Growth on last year". */
@@ -64,6 +64,6 @@ export interface ScatterChartCardProps<T extends ScatterPoint> {
64
64
  sizeFormatter?: ((value: number) => string) | undefined;
65
65
  }
66
66
  /** Two measures per item as dots, such as size against growth, with the leading names beside their dots. */
67
- export declare function ScatterChartCard<T extends ScatterPoint>({ title, description, action, points, height, xLabel, yLabel, xScale, xScaleToggle, yScale, yScaleToggle, xFormatter, yFormatter, labels, details, selected, onSelect, footer, quadrants, sizeLabel, sizeFormatter }: ScatterChartCardProps<T>): import("react").JSX.Element;
67
+ export declare function ScatterChartCard<T extends ScatterPoint>({ title, description, action, points, height: fixedHeight, xLabel, yLabel, xScale, xScaleToggle, yScale, yScaleToggle, xFormatter, yFormatter, labels, details, selected, onSelect, footer, quadrants, sizeLabel, sizeFormatter }: ScatterChartCardProps<T>): import("react").JSX.Element;
68
68
  //#endregion
69
69
  export type { ScatterQuadrants };
@@ -2,7 +2,9 @@ import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader,
2
2
  import { ChartContainer } from "../ui/chart.js";
3
3
  import { LOG_BLOCKED, useAxisScale } from "./scale-toggle.js";
4
4
  import { useLocale } from "./siyahi-provider.js";
5
+ import { fittedChartHeight } from "../../lib/chart-series.js";
5
6
  import { fitsLog, ticksFor } from "../../lib/ticks.js";
7
+ import { useElementWidth } from "../../lib/use-element-width.js";
6
8
  import { fontLoads, useRenderWhenFontsLoad } from "../../lib/use-render-when-fonts-load.js";
7
9
  import { corners, dotSizes, placeLabels, quadrantSplit } from "../../lib/scatter.js";
8
10
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -19,9 +21,10 @@ const AXIS_TITLE = "fill-muted-foreground text-xs";
19
21
  const keyOf = (point) => point.key ?? point.name;
20
22
  const MONO_WIDTH = 7.2;
21
23
  /** Two measures per item as dots, such as size against growth, with the leading names beside their dots. */
22
- function ScatterChartCard({ title, description, action, points, height, xLabel, yLabel, xScale = "linear", xScaleToggle = false, yScale = "linear", yScaleToggle = false, xFormatter, yFormatter, labels = 12, details, selected = null, onSelect, footer, quadrants, sizeLabel = "Size", sizeFormatter }) {
24
+ function ScatterChartCard({ title, description, action, points, height: fixedHeight, xLabel, yLabel, xScale = "linear", xScaleToggle = false, yScale = "linear", yScaleToggle = false, xFormatter, yFormatter, labels = 12, details, selected = null, onSelect, footer, quadrants, sizeLabel = "Size", sizeFormatter }) {
23
25
  const { numberLocale } = useLocale();
24
- const plotRef = useRef(null);
26
+ const [plotRef, plotWidth] = useElementWidth();
27
+ const height = fixedHeight ?? fittedChartHeight(plotWidth);
25
28
  const [focusedKey, setFocusedKey] = useState(null);
26
29
  const keyed = useRef(null);
27
30
  useEffect(() => {
@@ -3,18 +3,17 @@ import { SiyahiLocale } from "../../lib/locale.js";
3
3
  import { ReactNode } from "react";
4
4
  //#region src/components/siyahi/siyahi-provider.d.ts
5
5
  /**
6
- * How a data block sits on the page. "ruled", the default: blocks filled with the card colour and parted by hairlines,
7
- * with a rule above and below each group and none on its sides. "card": a filled square card in a hairline ring, 8px
8
- * from the next, for a page of separate blocks. "open": no fill and no lines, the block's content level with the
9
- * page's text.
6
+ * How a data block sits on the page. "open", the default: no fill, no lines and no padding, the block's content level
7
+ * with the page's text and parted from the next by space. "card": a filled square card in a hairline ring, 8px from
8
+ * the next, for a page of separate blocks.
10
9
  */
11
- export type Surface = "ruled" | "card" | "open";
10
+ export type Surface = "open" | "card";
12
11
  export interface SiyahiProviderProps {
13
12
  /** Any setting left out keeps its default: en-IN, INR, Asia/Kolkata. */
14
13
  locale?: Optional<SiyahiLocale> | undefined;
15
14
  /**
16
15
  * Set it on a nested provider for one part of a page. Left out, a provider keeps the surface around it, so a
17
- * provider that only changes the locale changes nothing else; the outermost default is "ruled".
16
+ * provider that only changes the locale changes nothing else; the outermost default is "open".
18
17
  */
19
18
  surface?: Surface | undefined;
20
19
  children: ReactNode;
@@ -4,7 +4,7 @@ import { jsx } from "react/jsx-runtime";
4
4
  import { createContext, use, useMemo } from "react";
5
5
  //#region src/components/siyahi/siyahi-provider.tsx
6
6
  const LocaleContext = createContext(defaultLocale);
7
- const SurfaceContext = createContext("ruled");
7
+ const SurfaceContext = createContext("open");
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
10
  const { numberLocale = defaultLocale.numberLocale, currency = defaultLocale.currency, timeZone = defaultLocale.timeZone } = locale ?? {};
package/dist/index.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import { ChartColor, ChartCurve, ChartReferenceLine, ChartSeries, ChartSeriesItem, LineMarksProps, NumericKey, NumericXProps, SeriesChartProps, ValueScaleProps } from "./lib/chart-series.js";
1
+ import { ChartColor, ChartCurve, ChartReferenceLine, ChartSeries, ChartSeriesItem, LineMarksProps, NumericKey, NumericXProps, SeriesChartProps, ValueScaleProps, fittedChartHeight } from "./lib/chart-series.js";
2
2
  import { AreaChartCard, AreaChartCardProps } from "./components/registry/charts/area-chart-card.js";
3
3
  import { BarChartCard, BarChartCardProps } from "./components/registry/charts/bar-chart-card.js";
4
4
  import { LineChartCard, LineChartCardProps } from "./components/registry/charts/line-chart-card.js";
5
- import { SectionCard, SectionCards, SectionCardsProps } from "./components/registry/dashboard-01/section-cards.js";
6
5
  import { BarList, BarListItem, BarListProps } from "./components/registry/dashboardcn/bar-list.js";
7
6
  import { DistributionBar, DistributionBarProps, DistributionMarker, DistributionSegment } from "./components/registry/dashboardcn/distribution-bar.js";
8
7
  import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./components/ui/card.js";
@@ -142,4 +141,4 @@ import { ToggleGroup, ToggleGroupItem } from "./components/ui/toggle-group.js";
142
141
  import { Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle } from "./components/ui/trace.js";
143
142
  import { Formatters, TimeOptions, count, money, moneyCompact, pct, time, useFormat } from "./lib/format.js";
144
143
  import { cn } from "./lib/utils.js";
145
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActiveCell, ActiveSelection, Activity, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppSidebar, AppSidebarProps, AreaChartCard, AreaChartCardProps, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, AxisScaleOptions, Badge, BarChartCard, BarChartCardProps, BarList, BarListItem, BarListProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBlockProps, CalendarHeatmapBody, CalendarHeatmapBodyProps, CalendarHeatmapFooter, CalendarHeatmapFooterProps, CalendarHeatmapLegend, CalendarHeatmapLegendProps, CalendarHeatmapProps, CalendarHeatmapStat, CalendarHeatmapStatProps, Callout, CalloutProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChangeBar, ChangeBarProps, ChangeGrid, ChangeGridProps, ChangeGridRow, ChartColor, ChartConfig, ChartContainer, ChartCurve, ChartLegend, ChartLegendContent, ChartReferenceLine, ChartSeries, ChartSeriesItem, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorConfig, ColumnResizeInfo, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, 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, DirectionProvider, DistributionBar, DistributionBarProps, DistributionMarker, DistributionSegment, DrawdownChartCard, DrawdownChartCardProps, DrawdownPoint, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerSwipeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, 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, HoverCard, HoverCardContent, HoverCardTrigger, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, type JoinOperator, type JoinOperatorValues, Kbd, KbdGroup, LOG_BLOCKED, Label, Labels, LineChartCard, LineChartCardProps, LineMarksProps, LocalTime, LocalTimeProps, Marker, MarkerContent, MarkerIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MetricStrip, MetricStripItem, MetricStripProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavMain, NavProjects, NavUser, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, NumericKey, NumericXProps, type Option, PageHeader, PageHeaderProps, PageSection, PageSectionProps, PageSubheading, PageToc, PageTocItem, PageTocProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelGrid, PanelGridProps, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, PriceChartProps, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, type QueryKeys, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, Quote, QuoteProps, RadioGroup, RadioGroupItem, RangePosition, RangePositionProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, 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, Spinner, StaleNote, StaleNoteProps, StatusActivity, StatusAlert, StatusAlertProps, StatusBadge, StatusBadgeProps, StatusColorConfig, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBlockProps, StatusHeatmapBody, StatusHeatmapBodyProps, StatusHeatmapFooter, StatusHeatmapFooterProps, StatusHeatmapLabels, StatusHeatmapLegend, StatusHeatmapLegendProps, StatusHeatmapProps, StatusHeatmapStat, StatusHeatmapStatProps, StatusValue, Surface, Switch, 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, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToneProgress, ToneProgressProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle, 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, buttonGroupVariants, buttonVariants, cn, count, createToastManager, defaultLocale, defaultSidebarOpen, drawdowns, flashCellKey, histogram, markLines, markerVariants, money, moneyCompact, navigationMenuTriggerStyle, pct, percentile, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, spread, tabsListVariants, time, toast, toggleVariants, useAxisScale, useCarousel, useColumnHeaderContext, useColumnResizeInfo, useComboboxAnchor, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useDirection, useFormat, useLocale, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useResolvedRowContextMenuRenderer, useSidebar, useSurface, useTableFacetedFilter, useToastManager, waterfallBars };
144
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActiveCell, ActiveSelection, Activity, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppSidebar, AppSidebarProps, AreaChartCard, AreaChartCardProps, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, AxisScaleOptions, Badge, BarChartCard, BarChartCardProps, BarList, BarListItem, BarListProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBlockProps, CalendarHeatmapBody, CalendarHeatmapBodyProps, CalendarHeatmapFooter, CalendarHeatmapFooterProps, CalendarHeatmapLegend, CalendarHeatmapLegendProps, CalendarHeatmapProps, CalendarHeatmapStat, CalendarHeatmapStatProps, Callout, CalloutProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChangeBar, ChangeBarProps, ChangeGrid, ChangeGridProps, ChangeGridRow, ChartColor, ChartConfig, ChartContainer, ChartCurve, ChartLegend, ChartLegendContent, ChartReferenceLine, ChartSeries, ChartSeriesItem, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorConfig, ColumnResizeInfo, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, 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, DirectionProvider, DistributionBar, DistributionBarProps, DistributionMarker, DistributionSegment, DrawdownChartCard, DrawdownChartCardProps, DrawdownPoint, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerSwipeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, 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, HoverCard, HoverCardContent, HoverCardTrigger, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, type JoinOperator, type JoinOperatorValues, Kbd, KbdGroup, LOG_BLOCKED, Label, Labels, LineChartCard, LineChartCardProps, LineMarksProps, LocalTime, LocalTimeProps, Marker, MarkerContent, MarkerIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MetricStrip, MetricStripItem, MetricStripProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavMain, NavProjects, NavUser, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, NumericKey, NumericXProps, type Option, PageHeader, PageHeaderProps, PageSection, PageSectionProps, PageSubheading, PageToc, PageTocItem, PageTocProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelGrid, PanelGridProps, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, PriceChartProps, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, type QueryKeys, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, Quote, QuoteProps, RadioGroup, RadioGroupItem, RangePosition, RangePositionProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScaleToggle, ScaleToggleProps, ScatterChartCard, ScatterChartCardProps, ScatterDetail, ScatterPoint, type ScatterQuadrants, ScrollAlign, ScrollArea, ScrollBar, type ScrollEvent, ScrollRowIntoView, 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, Spinner, StaleNote, StaleNoteProps, StatusActivity, StatusAlert, StatusAlertProps, StatusBadge, StatusBadgeProps, StatusColorConfig, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBlockProps, StatusHeatmapBody, StatusHeatmapBodyProps, StatusHeatmapFooter, StatusHeatmapFooterProps, StatusHeatmapLabels, StatusHeatmapLegend, StatusHeatmapLegendProps, StatusHeatmapProps, StatusHeatmapStat, StatusHeatmapStatProps, StatusValue, Surface, Switch, 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, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToneProgress, ToneProgressProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle, 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, buttonGroupVariants, buttonVariants, cn, count, createToastManager, defaultLocale, defaultSidebarOpen, drawdowns, fittedChartHeight, flashCellKey, histogram, markLines, markerVariants, money, moneyCompact, navigationMenuTriggerStyle, pct, percentile, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, spread, tabsListVariants, time, toast, toggleVariants, useAxisScale, useCarousel, useColumnHeaderContext, useColumnResizeInfo, useComboboxAnchor, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useDirection, useFormat, useLocale, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useResolvedRowContextMenuRenderer, useSidebar, useSurface, useTableFacetedFilter, useToastManager, waterfallBars };
package/dist/index.js CHANGED
@@ -66,10 +66,10 @@ import { LOG_BLOCKED, ScaleToggle, useAxisScale } from "./components/siyahi/scal
66
66
  import { StaleNote } from "./components/siyahi/stale-note.js";
67
67
  import { defaultLocale } from "./lib/locale.js";
68
68
  import { SiyahiProvider, useLocale, useSurface } from "./components/siyahi/siyahi-provider.js";
69
+ import { fittedChartHeight } from "./lib/chart-series.js";
69
70
  import { AreaChartCard } from "./components/registry/charts/area-chart-card.js";
70
71
  import { BarChartCard } from "./components/registry/charts/bar-chart-card.js";
71
72
  import { LineChartCard } from "./components/registry/charts/line-chart-card.js";
72
- import { SectionCards } from "./components/registry/dashboard-01/section-cards.js";
73
73
  import { count, money, moneyCompact, pct, time, useFormat } from "./lib/format.js";
74
74
  import { BarList } from "./components/registry/dashboardcn/bar-list.js";
75
75
  import { DistributionBar } from "./components/registry/dashboardcn/distribution-bar.js";
@@ -138,4 +138,4 @@ import { TargetRows } from "./components/siyahi/target-rows.js";
138
138
  import { ToneProgress } from "./components/siyahi/tone-progress.js";
139
139
  import { Treemap, TreemapLegend } from "./components/siyahi/treemap.js";
140
140
  import { WaterfallChartCard, waterfallBars } from "./components/siyahi/waterfall-chart.js";
141
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppSidebar, AreaChartCard, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BarChartCard, BarList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBody, CalendarHeatmapFooter, CalendarHeatmapLegend, CalendarHeatmapStat, Callout, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChangeBar, ChangeGrid, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, 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, DirectionProvider, DistributionBar, DrawdownChartCard, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerSwipeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, GroupedBodyRow, HistogramChartCard, HoverCard, HoverCardContent, HoverCardTrigger, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, LOG_BLOCKED, Label, LineChartCard, LocalTime, Marker, MarkerContent, MarkerIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MetricStrip, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavMain, NavProjects, NavUser, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, PageHeader, PageSection, PageSubheading, PageToc, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelGrid, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, Quote, RadioGroup, RadioGroupItem, RangePosition, ResizableHandle, ResizablePanel, ResizablePanelGroup, 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, Spinner, StaleNote, StatusAlert, StatusBadge, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBody, StatusHeatmapFooter, StatusHeatmapLegend, StatusHeatmapStat, Switch, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFooter, TableHead, TableHeader, TableRow, TableSearchFilter, Tabs, TabsContent, TabsList, TabsTrigger, TargetRows, TeamSwitcher, Textarea, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToneProgress, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle, Treemap, TreemapLegend, WaterfallChartCard, WeekdayHeatmap, WeekdayHeatmapBlock, WeekdayHeatmapBody, WeekdayHeatmapFooter, WeekdayHeatmapLegend, WeekdayHeatmapStat, badgeVariants, bucketOf, buttonGroupVariants, buttonVariants, cn, count, createToastManager, defaultLocale, defaultSidebarOpen, drawdowns, flashCellKey, histogram, markLines, markerVariants, money, moneyCompact, navigationMenuTriggerStyle, pct, percentile, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, spread, tabsListVariants, time, toast, toggleVariants, useAxisScale, useCarousel, useColumnHeaderContext, useColumnResizeInfo, useComboboxAnchor, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useDirection, useFormat, useLocale, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useResolvedRowContextMenuRenderer, useSidebar, useSurface, useTableFacetedFilter, useToastManager, waterfallBars };
141
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppSidebar, AreaChartCard, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BarChartCard, BarList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBody, CalendarHeatmapFooter, CalendarHeatmapLegend, CalendarHeatmapStat, Callout, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChangeBar, ChangeGrid, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, 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, DirectionProvider, DistributionBar, DrawdownChartCard, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerSwipeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, GroupedBodyRow, HistogramChartCard, HoverCard, HoverCardContent, HoverCardTrigger, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, LOG_BLOCKED, Label, LineChartCard, LocalTime, Marker, MarkerContent, MarkerIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MetricStrip, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavMain, NavProjects, NavUser, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, PageHeader, PageSection, PageSubheading, PageToc, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelGrid, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, Quote, RadioGroup, RadioGroupItem, RangePosition, ResizableHandle, ResizablePanel, ResizablePanelGroup, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScaleToggle, ScatterChartCard, ScrollArea, ScrollBar, 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, Spinner, StaleNote, StatusAlert, StatusBadge, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBody, StatusHeatmapFooter, StatusHeatmapLegend, StatusHeatmapStat, Switch, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFooter, TableHead, TableHeader, TableRow, TableSearchFilter, Tabs, TabsContent, TabsList, TabsTrigger, TargetRows, TeamSwitcher, Textarea, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToneProgress, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle, Treemap, TreemapLegend, WaterfallChartCard, WeekdayHeatmap, WeekdayHeatmapBlock, WeekdayHeatmapBody, WeekdayHeatmapFooter, WeekdayHeatmapLegend, WeekdayHeatmapStat, badgeVariants, bucketOf, buttonGroupVariants, buttonVariants, cn, count, createToastManager, defaultLocale, defaultSidebarOpen, drawdowns, fittedChartHeight, flashCellKey, histogram, markLines, markerVariants, money, moneyCompact, navigationMenuTriggerStyle, pct, percentile, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, spread, tabsListVariants, time, toast, toggleVariants, useAxisScale, useCarousel, useColumnHeaderContext, useColumnResizeInfo, useComboboxAnchor, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useDirection, useFormat, useLocale, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useResolvedRowContextMenuRenderer, useSidebar, useSurface, useTableFacetedFilter, useToastManager, waterfallBars };
@@ -101,6 +101,6 @@ export declare function seriesRow<T>(series: ChartSeries<T>, formatValue: (value
101
101
  * that gave its category axis its own id (dash#88) got a plot split in two
102
102
  * and every tooltip headed with the series name instead of the category.
103
103
  */
104
- export declare function ChartFrame<T extends object, K extends keyof T>({ chart: Chart, children, horizontal, stackOffset, onClick, tooltipRow, legend, title, description, action, data, xKey, series, xFormatter, xTooltipFormatter, valueFormatter, yTickFormatter, yDomain, yTicks, height, xTickDetail, xLabel, yLabel, referenceLines, placeholder, footer, xDomain, xTicks, yScale, yScaleToggle, logBlocked, endLabels, forecastHatch, curve, forecastFrom, today, stale }: ChartFrameProps<T, K>): import("react").JSX.Element;
104
+ export declare function ChartFrame<T extends object, K extends keyof T>({ chart: Chart, children, horizontal, stackOffset, onClick, tooltipRow, legend, title, description, action, data, xKey, series, xFormatter, xTooltipFormatter, valueFormatter, yTickFormatter, yDomain, yTicks, height: fixedHeight, xTickDetail, xLabel, yLabel, referenceLines, placeholder, footer, xDomain, xTicks, yScale, yScaleToggle, logBlocked, endLabels, forecastHatch, curve, forecastFrom, today, stale }: ChartFrameProps<T, K>): import("react").JSX.Element;
105
105
  //#endregion
106
106
  export {};
@@ -4,6 +4,7 @@ import { cn } from "./utils.js";
4
4
  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
+ import { fittedChartHeight } from "./chart-series.js";
7
8
  import { EndLabels, QUIET, TimeMarks, endLabelRoom, endLabelsFit, linesEndAtEdge } from "./chart-marks.js";
8
9
  import { fitsLog, linearAxis, logAxis } from "./ticks.js";
9
10
  import { useElementWidth } from "./use-element-width.js";
@@ -268,10 +269,11 @@ function HorizontalAxis({ data, xKey, xFormatter, xTickDetail, xTicks }) {
268
269
  * that gave its category axis its own id (dash#88) got a plot split in two
269
270
  * and every tooltip headed with the series name instead of the category.
270
271
  */
271
- function ChartFrame({ chart: Chart, children, horizontal = false, stackOffset, onClick, tooltipRow, legend = SERIES_LEGEND, title, description, action, data, xKey, series, xFormatter = String, xTooltipFormatter = xFormatter, valueFormatter, yTickFormatter, yDomain, yTicks, height, xTickDetail, xLabel, yLabel, referenceLines = NO_LINES, placeholder, footer, xDomain, xTicks, yScale = "linear", yScaleToggle = false, logBlocked, endLabels = false, forecastHatch = true, curve = "monotone", forecastFrom, today, stale }) {
272
+ function ChartFrame({ chart: Chart, children, horizontal = false, stackOffset, onClick, tooltipRow, legend = SERIES_LEGEND, title, description, action, data, xKey, series, xFormatter = String, xTooltipFormatter = xFormatter, valueFormatter, yTickFormatter, yDomain, yTicks, height: fixedHeight, xTickDetail, xLabel, yLabel, referenceLines = NO_LINES, placeholder, footer, xDomain, xTicks, yScale = "linear", yScaleToggle = false, logBlocked, endLabels = false, forecastHatch = true, curve = "monotone", forecastFrom, today, stale }) {
272
273
  const { numberLocale } = useLocale();
273
274
  const clipId = useId();
274
275
  const [contentRef, contentWidth] = useElementWidth();
276
+ const height = fixedHeight ?? fittedChartHeight(contentWidth);
275
277
  const [raisedKey, setRaisedKey] = useState();
276
278
  const names = endLabels ? series.map(({ label }) => label) : [];
277
279
  const labelRoom = endLabels ? endLabelRoom(names) : 0;
@@ -71,8 +71,11 @@ export interface SeriesChartProps<T extends object, K extends keyof T> {
71
71
  yDomain?: [number, number] | undefined;
72
72
  /** Where the value axis puts its ticks, such as [0, 25, 50, 75, 100]. */
73
73
  yTicks?: readonly number[] | undefined;
74
- /** Height of the plot and legend, in pixels. Sideways bars grow when wrapped tick details need more room. */
75
- height: number;
74
+ /**
75
+ * Height of the plot and legend, in pixels. Left out, it follows the chart's width (fittedChartHeight). Sideways
76
+ * bars grow when wrapped tick details need more room.
77
+ */
78
+ height?: number | undefined;
76
79
  /** A second line under each x tick, so a row's figure reads without a hover: "FY24" then "+₹1.2L". */
77
80
  xTickDetail?: ((row: T) => string) | undefined;
78
81
  /** A title under the x axis, such as "Hour of day (IST)". Not drawn on sideways bars. */
@@ -122,4 +125,9 @@ export interface ValueScaleProps {
122
125
  * be drawn; "monotone", the default, smooths between them without overshooting a point.
123
126
  */
124
127
  export type ChartCurve = "monotone" | "linear";
128
+ /**
129
+ * A chart's height when the page fixes none: 45% of its width, from 240px on a phone to 420px, so a chart on a wide
130
+ * screen stays a chart rather than a banner, and one on a phone still has room for its marks.
131
+ */
132
+ export declare function fittedChartHeight(width: number): number;
125
133
  //#endregion
@@ -0,0 +1,10 @@
1
+ //#region src/lib/chart-series.ts
2
+ /**
3
+ * A chart's height when the page fixes none: 45% of its width, from 240px on a phone to 420px, so a chart on a wide
4
+ * screen stays a chart rather than a banner, and one on a phone still has room for its marks.
5
+ */
6
+ function fittedChartHeight(width) {
7
+ return Math.round(Math.min(420, Math.max(240, width * .45)));
8
+ }
9
+ //#endregion
10
+ export { fittedChartHeight };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siyahi/ui",
3
- "version": "0.1.9-next.35",
3
+ "version": "0.1.9-next.36",
4
4
  "description": "Stock shadcn/ui on Base UI and Tailwind v4, a finance theme, a few compositions and formatters.",
5
5
  "keywords": [
6
6
  "base-ui",
@@ -25,14 +25,6 @@
25
25
  "copied": "2026-10-21",
26
26
  "sha256": "20c708ac3e313e275a84119970b6046142f24c869a9355caec5483aa4feb6ddd"
27
27
  },
28
- {
29
- "file": "src/components/registry/dashboard-01/section-cards.tsx",
30
- "registry": "@shadcn/dashboard-01",
31
- "origin": "https://ui.shadcn.com/r/styles/base-vega/dashboard-01.json",
32
- "licence": "MIT, Copyright (c) 2023 shadcn, https://github.com/shadcn-ui/ui/blob/main/LICENSE.md",
33
- "copied": "2026-10-20",
34
- "sha256": "541786ede835855602687f210c82f0ce13f9c486c3210f749f13671702ecb06c"
35
- },
36
28
  {
37
29
  "file": "src/components/registry/dashboardcn/bar-list.tsx",
38
30
  "registry": "@dashboardcn/bar-list",