hazo_ui 3.4.1 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -27,6 +27,7 @@ import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
27
27
  import * as TogglePrimitive from '@radix-ui/react-toggle';
28
28
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
29
29
  import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
30
+ import * as SliderPrimitive from '@radix-ui/react-slider';
30
31
  import { StateLevel } from 'hazo_state';
31
32
  export { toast as rawToast } from 'sonner';
32
33
  import 'clsx';
@@ -1159,6 +1160,15 @@ declare function ButtonGroupText({ className, asChild, ...props }: React$1.Compo
1159
1160
  }): react_jsx_runtime.JSX.Element;
1160
1161
  declare function ButtonGroupSeparator({ className, orientation, ...props }: React$1.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
1161
1162
 
1163
+ declare const Slider: React$1.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
1164
+
1165
+ interface InputAffixProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "prefix"> {
1166
+ prefix?: React$1.ReactNode;
1167
+ suffix?: React$1.ReactNode;
1168
+ containerClassName?: string;
1169
+ }
1170
+ declare const InputAffix: React$1.ForwardRefExoticComponent<InputAffixProps & React$1.RefAttributes<HTMLInputElement>>;
1171
+
1162
1172
  interface SkeletonBaseProps extends React$1.HTMLAttributes<HTMLDivElement> {
1163
1173
  className?: string;
1164
1174
  }
@@ -1889,12 +1899,6 @@ declare function HazoUiTable<TRow extends object = any>(props: HazoUiTableProps<
1889
1899
  type ChartDataPoint = number | null;
1890
1900
  /** Ordered time-series for a single line / area / sparkline. */
1891
1901
  type ChartDataSeries = ChartDataPoint[];
1892
- /** Multi-line chart series with its own color + label. */
1893
- interface MultiSeries {
1894
- label: string;
1895
- color: string;
1896
- data: ChartDataSeries;
1897
- }
1898
1902
  /** Single stacked bar — one column on the X-axis. */
1899
1903
  interface StackedBar {
1900
1904
  /** Display label below the bar (date, category, etc.). */
@@ -1910,6 +1914,16 @@ interface DateRangeOption {
1910
1914
  value: string;
1911
1915
  label: string;
1912
1916
  }
1917
+ /** One step in a FunnelChart — a horizontal bar with optional segment breakdown. */
1918
+ interface FunnelStep {
1919
+ label: string;
1920
+ value?: number;
1921
+ segments?: {
1922
+ label: string;
1923
+ value: number;
1924
+ color: string;
1925
+ }[];
1926
+ }
1913
1927
 
1914
1928
  /**
1915
1929
  * Sparkline — tiny single-series line for KPI cards.
@@ -1958,62 +1972,6 @@ interface InverseSparklineProps {
1958
1972
  }
1959
1973
  declare function InverseSparkline({ data, color, className, width, height, }: InverseSparklineProps): React$1.ReactElement;
1960
1974
 
1961
- /**
1962
- * LineChart — full-anatomy single-series chart (PRD §6b spec).
1963
- *
1964
- * ┌─────────────────────────────────────────────┐
1965
- * │ Y-max ─ - - - - - - - - - - - - - - - - - │ ← three dashed gridlines
1966
- * │ Y-mid ─ - - - - - - - - - - ╭──•value │ ← marker dot + label
1967
- * │ Y-min ─ - - - - - - -╭──────╯ │ + dashed guide to Y-axis
1968
- * │ └───────────────────────────────── │
1969
- * │ Mar 4 Mar 10 Mar 17 │ ← three X labels
1970
- * └─────────────────────────────────────────────┘
1971
- *
1972
- * Hover anywhere over the plot area to surface a cursor line + value
1973
- * bubble at the nearest data point. Set `showTooltip={false}` to disable
1974
- * — useful when the chart is small or non-interactive (print export).
1975
- */
1976
-
1977
- interface LineChartProps {
1978
- /** Time-series. `null` entries are gaps in the line. */
1979
- data: ChartDataSeries;
1980
- /** Labels for the X-axis. Length should match `data`. */
1981
- dates: string[];
1982
- /** Stroke / area / marker color. */
1983
- color: string;
1984
- /** Override default 360-wide viewBox. */
1985
- width?: number;
1986
- /** Override default 130-tall viewBox. */
1987
- height?: number;
1988
- /** Optional suffix shown next to the current-value label (e.g. "%"). */
1989
- unit?: string;
1990
- /** Disable hover tooltip. Defaults to enabled. */
1991
- showTooltip?: boolean;
1992
- /** Container className passthrough. */
1993
- className?: string;
1994
- }
1995
- declare function LineChart({ data, dates, color, width, height, unit, showTooltip, className, }: LineChartProps): React$1.ReactElement;
1996
-
1997
- /**
1998
- * MultiLineChart — multi-series chart with shared Y-axis.
1999
- *
2000
- * No area fill (PRD §6b — "multi-series uses lines only to avoid color
2001
- * collisions"). Each series gets a per-endpoint marker + value label so
2002
- * the latest value is readable without hovering. Hover surfaces a single
2003
- * cursor line with one bubble per series stacked vertically.
2004
- */
2005
-
2006
- interface MultiLineChartProps {
2007
- series: MultiSeries[];
2008
- dates: string[];
2009
- width?: number;
2010
- height?: number;
2011
- showTooltip?: boolean;
2012
- showLegend?: boolean;
2013
- className?: string;
2014
- }
2015
- declare function MultiLineChart({ series, dates, width, height, showTooltip, showLegend, className, }: MultiLineChartProps): React$1.ReactElement;
2016
-
2017
1975
  /**
2018
1976
  * StackedBars — one vertical bar per X position, each split into top-to-bottom
2019
1977
  * colored bands.
@@ -2056,6 +2014,38 @@ interface DateRangeSelectorProps {
2056
2014
  }
2057
2015
  declare function DateRangeSelector({ value, onChange, options, className, ariaLabel, }: DateRangeSelectorProps): React$1.ReactElement;
2058
2016
 
2017
+ /**
2018
+ * FunnelChart — pure-SVG horizontal centered-bar conversion funnel.
2019
+ *
2020
+ * Each step renders as a centered horizontal bar whose width is proportional
2021
+ * to its total value relative to the widest step (value_max). The funnel
2022
+ * silhouette emerges naturally because bars are centered on the same axis —
2023
+ * narrower bars appear as indented from both sides.
2024
+ *
2025
+ * Optional `segments` prop splits a bar into left-to-right colored sub-rects.
2026
+ * Hover maps the Y coordinate (not X) to a row index, matching the funnel's
2027
+ * row-oriented read direction.
2028
+ */
2029
+
2030
+ interface FunnelChartProps {
2031
+ steps: FunnelStep[];
2032
+ /** viewBox width. Default 360. */
2033
+ width?: number;
2034
+ /** viewBox height. Defaults to PAD_TOP + steps.length * ROW_H + PAD_BOTTOM. */
2035
+ height?: number;
2036
+ /** Bar fill when a step has no segments. Default "#3b82f6". */
2037
+ color?: string;
2038
+ /** Number format override. Default: format_num. */
2039
+ valueFormat?: (n: number) => string;
2040
+ /** Show per-step drop-off label below the value. Default true. */
2041
+ showDropoff?: boolean;
2042
+ /** Enable hover tooltip. Default true. */
2043
+ showTooltip?: boolean;
2044
+ /** Container className passthrough. */
2045
+ className?: string;
2046
+ }
2047
+ declare function FunnelChart({ steps, width, height, color, valueFormat, showDropoff, showTooltip, className, }: FunnelChartProps): React$1.ReactElement;
2048
+
2059
2049
  /**
2060
2050
  * Number/date formatters shared across hazo_ui_charts.
2061
2051
  *
@@ -2248,4 +2238,4 @@ interface HazoUiEtaProgressProps {
2248
2238
  */
2249
2239
  declare function HazoUiEtaProgress({ estimateKey, unitCount, concurrency, windowSize, fallbackUnitMs, level, label, endpoint, handleRef, className, }: HazoUiEtaProgressProps): react_jsx_runtime.JSX.Element;
2250
2240
 
2251
- export { ANIMATION_PRESETS, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AnimationPreset, type BaseCommandInputProps, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, CELEBRATION_GRADIENT, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CelebrationPayload, CelebrationProvider, type CelebrationProviderProps, type CelebrationShareableCard, type ChartDataPoint, type ChartDataSeries, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, type CommandEditContext, type CommandItem$1 as CommandItem, CommandNodeExtension, CommandPill, type CommandPillProps, CommandPopover, type CommandPopoverProps, type CommandTextOutput, type ConfirmDialogVariant, type DateRangeOption, DateRangeSelector, type DateRangeSelectorProps, type DialogVariant, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErrorBanner, type ErrorBannerProps, type ErrorBannerSeverity, ErrorPage, type ErrorPageProps, type EtaProgressHandle, type FilterConfig, type FilterField, HazoContextProvider, type HazoContextProviderProps, type HazoUiConfig, HazoUiConfirmDialog, type HazoUiConfirmDialogProps, HazoUiDialog, DialogClose as HazoUiDialogClose, DialogContent as HazoUiDialogContent, DialogDescription as HazoUiDialogDescription, DialogFooter as HazoUiDialogFooter, DialogHeader as HazoUiDialogHeader, DialogOverlay as HazoUiDialogOverlay, DialogPortal as HazoUiDialogPortal, type HazoUiDialogProps, Dialog as HazoUiDialogRoot, DialogTitle as HazoUiDialogTitle, DialogTrigger as HazoUiDialogTrigger, HazoUiEtaProgress, type HazoUiEtaProgressProps, HazoUiFlexInput, type HazoUiFlexInputProps, HazoUiFlexRadio, type HazoUiFlexRadioItem, type HazoUiFlexRadioProps, HazoUiKanban, HazoUiKanbanFilter, type HazoUiKanbanFilterProps, type HazoUiKanbanProps, HazoUiMultiFilterDialog, HazoUiMultiSortDialog, HazoUiPillRadio, type HazoUiPillRadioItem, type HazoUiPillRadioProps, HazoUiProgressBar, type HazoUiProgressBarProps, HazoUiRte, type HazoUiRteProps, HazoUiTable, type HazoUiTablePagination, type HazoUiTableProps, type HazoUiTableServerLoadArgs, type HazoUiTableServerLoadResult, HazoUiTextarea, type HazoUiTextareaProps, HazoUiTextbox, type HazoUiTextboxProps, HazoUiToaster, type HazoUiToasterProps, HoverCard, HoverCardContent, HoverCardTrigger, Input, type InsertedCommand, InverseSparkline, type InverseSparklineProps, type KanbanAnnouncements, type KanbanColumn, type KanbanEditorCtx, type KanbanEditorField, type KanbanEditorFieldType, type KanbanFilterValue, type KanbanItem, type KanbanMoveEvent, type KanbanMoveHandle, type KanbanPriority, type KanbanReorderEvent, type KanbanSaveEvent, Label, LineChart, type LineChartProps, LoadingTimeout, type LoadingTimeoutProps, type Logger, MarkdownEditor, type MarkdownEditorProps, type MarkdownEmbed, MultiLineChart, type MultiLineChartProps, type MultiSeries, Popover, PopoverContent, PopoverTrigger, type PrefixColor, type PrefixConfig, ProgressiveImage, type ProgressiveImageProps, RadioGroup, RadioGroupItem, type RteAttachment, type RteOutput, type RteVariable, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Command as ShadcnCommand, CommandEmpty as ShadcnCommandEmpty, CommandGroup as ShadcnCommandGroup, CommandInput as ShadcnCommandInput, CommandItem as ShadcnCommandItem, CommandList as ShadcnCommandList, Skeleton, SkeletonBar, type SkeletonBarProps, SkeletonCircle, type SkeletonCircleProps, SkeletonGroup, type SkeletonGroupProps, SkeletonRect, type SkeletonRectProps, type SortConfig, type SortField, Sparkline, type SparklineProps, Spinner, type StackedBar, StackedBars, type StackedBarsProps, type SuggestionState, Switch, Table, TableBody, TableCaption, TableCell, type TableColumn, type TableFilter, TableFooter, type TableFormatter, TableHead, TableHeader, TableRow, type TableSort, type TableSortEntry, type TableSortProp, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type ToastOptions, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseCopyToClipboardResult, type UseErrorDisplayResult, type UseEtaProgressOptions, type UseFullscreenRefResult, type UseFullscreenResult, type UseLoadingStateResult, type UseWakeLockResult, applyKanbanFilter, buttonGroupVariants, celebrate, computeEta, create_command_suggestion_extension, easeToward, errorToast, format_num, generateUUID, get_hazo_ui_config, get_logger, median, parse_commands_from_text, pick_x_label_indices, reset_hazo_ui_config, resolve_animation_classes, set_hazo_ui_config, set_logger, successToast, text_to_tiptap_content, toggleVariants, useClickOutside, useCopyToClipboard, useDebounce, useErrorDisplay, useEtaProgress, useFullscreen, useIsMobile, useLoadingState, useLocalStorage, useMediaQuery, useSessionStorage, useViewport, useWakeLock, use_fullscreen, use_wake_lock };
2241
+ export { ANIMATION_PRESETS, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AnimationPreset, type BaseCommandInputProps, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, CELEBRATION_GRADIENT, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CelebrationPayload, CelebrationProvider, type CelebrationProviderProps, type CelebrationShareableCard, type ChartDataPoint, type ChartDataSeries, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, type CommandEditContext, type CommandItem$1 as CommandItem, CommandNodeExtension, CommandPill, type CommandPillProps, CommandPopover, type CommandPopoverProps, type CommandTextOutput, type ConfirmDialogVariant, type DateRangeOption, DateRangeSelector, type DateRangeSelectorProps, type DialogVariant, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErrorBanner, type ErrorBannerProps, type ErrorBannerSeverity, ErrorPage, type ErrorPageProps, type EtaProgressHandle, type FilterConfig, type FilterField, FunnelChart, type FunnelChartProps, type FunnelStep, HazoContextProvider, type HazoContextProviderProps, type HazoUiConfig, HazoUiConfirmDialog, type HazoUiConfirmDialogProps, HazoUiDialog, DialogClose as HazoUiDialogClose, DialogContent as HazoUiDialogContent, DialogDescription as HazoUiDialogDescription, DialogFooter as HazoUiDialogFooter, DialogHeader as HazoUiDialogHeader, DialogOverlay as HazoUiDialogOverlay, DialogPortal as HazoUiDialogPortal, type HazoUiDialogProps, Dialog as HazoUiDialogRoot, DialogTitle as HazoUiDialogTitle, DialogTrigger as HazoUiDialogTrigger, HazoUiEtaProgress, type HazoUiEtaProgressProps, HazoUiFlexInput, type HazoUiFlexInputProps, HazoUiFlexRadio, type HazoUiFlexRadioItem, type HazoUiFlexRadioProps, HazoUiKanban, HazoUiKanbanFilter, type HazoUiKanbanFilterProps, type HazoUiKanbanProps, HazoUiMultiFilterDialog, HazoUiMultiSortDialog, HazoUiPillRadio, type HazoUiPillRadioItem, type HazoUiPillRadioProps, HazoUiProgressBar, type HazoUiProgressBarProps, HazoUiRte, type HazoUiRteProps, HazoUiTable, type HazoUiTablePagination, type HazoUiTableProps, type HazoUiTableServerLoadArgs, type HazoUiTableServerLoadResult, HazoUiTextarea, type HazoUiTextareaProps, HazoUiTextbox, type HazoUiTextboxProps, HazoUiToaster, type HazoUiToasterProps, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputAffix, type InputAffixProps, type InsertedCommand, InverseSparkline, type InverseSparklineProps, type KanbanAnnouncements, type KanbanColumn, type KanbanEditorCtx, type KanbanEditorField, type KanbanEditorFieldType, type KanbanFilterValue, type KanbanItem, type KanbanMoveEvent, type KanbanMoveHandle, type KanbanPriority, type KanbanReorderEvent, type KanbanSaveEvent, Label, LoadingTimeout, type LoadingTimeoutProps, type Logger, MarkdownEditor, type MarkdownEditorProps, type MarkdownEmbed, Popover, PopoverContent, PopoverTrigger, type PrefixColor, type PrefixConfig, ProgressiveImage, type ProgressiveImageProps, RadioGroup, RadioGroupItem, type RteAttachment, type RteOutput, type RteVariable, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Command as ShadcnCommand, CommandEmpty as ShadcnCommandEmpty, CommandGroup as ShadcnCommandGroup, CommandInput as ShadcnCommandInput, CommandItem as ShadcnCommandItem, CommandList as ShadcnCommandList, Skeleton, SkeletonBar, type SkeletonBarProps, SkeletonCircle, type SkeletonCircleProps, SkeletonGroup, type SkeletonGroupProps, SkeletonRect, type SkeletonRectProps, Slider, type SortConfig, type SortField, Sparkline, type SparklineProps, Spinner, type StackedBar, StackedBars, type StackedBarsProps, type SuggestionState, Switch, Table, TableBody, TableCaption, TableCell, type TableColumn, type TableFilter, TableFooter, type TableFormatter, TableHead, TableHeader, TableRow, type TableSort, type TableSortEntry, type TableSortProp, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type ToastOptions, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseCopyToClipboardResult, type UseErrorDisplayResult, type UseEtaProgressOptions, type UseFullscreenRefResult, type UseFullscreenResult, type UseLoadingStateResult, type UseWakeLockResult, applyKanbanFilter, buttonGroupVariants, celebrate, computeEta, create_command_suggestion_extension, easeToward, errorToast, format_num, generateUUID, get_hazo_ui_config, get_logger, median, parse_commands_from_text, pick_x_label_indices, reset_hazo_ui_config, resolve_animation_classes, set_hazo_ui_config, set_logger, successToast, text_to_tiptap_content, toggleVariants, useClickOutside, useCopyToClipboard, useDebounce, useErrorDisplay, useEtaProgress, useFullscreen, useIsMobile, useLoadingState, useLocalStorage, useMediaQuery, useSessionStorage, useViewport, useWakeLock, use_fullscreen, use_wake_lock };
package/dist/index.d.ts CHANGED
@@ -27,6 +27,7 @@ import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
27
27
  import * as TogglePrimitive from '@radix-ui/react-toggle';
28
28
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
29
29
  import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
30
+ import * as SliderPrimitive from '@radix-ui/react-slider';
30
31
  import { StateLevel } from 'hazo_state';
31
32
  export { toast as rawToast } from 'sonner';
32
33
  import 'clsx';
@@ -1159,6 +1160,15 @@ declare function ButtonGroupText({ className, asChild, ...props }: React$1.Compo
1159
1160
  }): react_jsx_runtime.JSX.Element;
1160
1161
  declare function ButtonGroupSeparator({ className, orientation, ...props }: React$1.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
1161
1162
 
1163
+ declare const Slider: React$1.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
1164
+
1165
+ interface InputAffixProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "prefix"> {
1166
+ prefix?: React$1.ReactNode;
1167
+ suffix?: React$1.ReactNode;
1168
+ containerClassName?: string;
1169
+ }
1170
+ declare const InputAffix: React$1.ForwardRefExoticComponent<InputAffixProps & React$1.RefAttributes<HTMLInputElement>>;
1171
+
1162
1172
  interface SkeletonBaseProps extends React$1.HTMLAttributes<HTMLDivElement> {
1163
1173
  className?: string;
1164
1174
  }
@@ -1889,12 +1899,6 @@ declare function HazoUiTable<TRow extends object = any>(props: HazoUiTableProps<
1889
1899
  type ChartDataPoint = number | null;
1890
1900
  /** Ordered time-series for a single line / area / sparkline. */
1891
1901
  type ChartDataSeries = ChartDataPoint[];
1892
- /** Multi-line chart series with its own color + label. */
1893
- interface MultiSeries {
1894
- label: string;
1895
- color: string;
1896
- data: ChartDataSeries;
1897
- }
1898
1902
  /** Single stacked bar — one column on the X-axis. */
1899
1903
  interface StackedBar {
1900
1904
  /** Display label below the bar (date, category, etc.). */
@@ -1910,6 +1914,16 @@ interface DateRangeOption {
1910
1914
  value: string;
1911
1915
  label: string;
1912
1916
  }
1917
+ /** One step in a FunnelChart — a horizontal bar with optional segment breakdown. */
1918
+ interface FunnelStep {
1919
+ label: string;
1920
+ value?: number;
1921
+ segments?: {
1922
+ label: string;
1923
+ value: number;
1924
+ color: string;
1925
+ }[];
1926
+ }
1913
1927
 
1914
1928
  /**
1915
1929
  * Sparkline — tiny single-series line for KPI cards.
@@ -1958,62 +1972,6 @@ interface InverseSparklineProps {
1958
1972
  }
1959
1973
  declare function InverseSparkline({ data, color, className, width, height, }: InverseSparklineProps): React$1.ReactElement;
1960
1974
 
1961
- /**
1962
- * LineChart — full-anatomy single-series chart (PRD §6b spec).
1963
- *
1964
- * ┌─────────────────────────────────────────────┐
1965
- * │ Y-max ─ - - - - - - - - - - - - - - - - - │ ← three dashed gridlines
1966
- * │ Y-mid ─ - - - - - - - - - - ╭──•value │ ← marker dot + label
1967
- * │ Y-min ─ - - - - - - -╭──────╯ │ + dashed guide to Y-axis
1968
- * │ └───────────────────────────────── │
1969
- * │ Mar 4 Mar 10 Mar 17 │ ← three X labels
1970
- * └─────────────────────────────────────────────┘
1971
- *
1972
- * Hover anywhere over the plot area to surface a cursor line + value
1973
- * bubble at the nearest data point. Set `showTooltip={false}` to disable
1974
- * — useful when the chart is small or non-interactive (print export).
1975
- */
1976
-
1977
- interface LineChartProps {
1978
- /** Time-series. `null` entries are gaps in the line. */
1979
- data: ChartDataSeries;
1980
- /** Labels for the X-axis. Length should match `data`. */
1981
- dates: string[];
1982
- /** Stroke / area / marker color. */
1983
- color: string;
1984
- /** Override default 360-wide viewBox. */
1985
- width?: number;
1986
- /** Override default 130-tall viewBox. */
1987
- height?: number;
1988
- /** Optional suffix shown next to the current-value label (e.g. "%"). */
1989
- unit?: string;
1990
- /** Disable hover tooltip. Defaults to enabled. */
1991
- showTooltip?: boolean;
1992
- /** Container className passthrough. */
1993
- className?: string;
1994
- }
1995
- declare function LineChart({ data, dates, color, width, height, unit, showTooltip, className, }: LineChartProps): React$1.ReactElement;
1996
-
1997
- /**
1998
- * MultiLineChart — multi-series chart with shared Y-axis.
1999
- *
2000
- * No area fill (PRD §6b — "multi-series uses lines only to avoid color
2001
- * collisions"). Each series gets a per-endpoint marker + value label so
2002
- * the latest value is readable without hovering. Hover surfaces a single
2003
- * cursor line with one bubble per series stacked vertically.
2004
- */
2005
-
2006
- interface MultiLineChartProps {
2007
- series: MultiSeries[];
2008
- dates: string[];
2009
- width?: number;
2010
- height?: number;
2011
- showTooltip?: boolean;
2012
- showLegend?: boolean;
2013
- className?: string;
2014
- }
2015
- declare function MultiLineChart({ series, dates, width, height, showTooltip, showLegend, className, }: MultiLineChartProps): React$1.ReactElement;
2016
-
2017
1975
  /**
2018
1976
  * StackedBars — one vertical bar per X position, each split into top-to-bottom
2019
1977
  * colored bands.
@@ -2056,6 +2014,38 @@ interface DateRangeSelectorProps {
2056
2014
  }
2057
2015
  declare function DateRangeSelector({ value, onChange, options, className, ariaLabel, }: DateRangeSelectorProps): React$1.ReactElement;
2058
2016
 
2017
+ /**
2018
+ * FunnelChart — pure-SVG horizontal centered-bar conversion funnel.
2019
+ *
2020
+ * Each step renders as a centered horizontal bar whose width is proportional
2021
+ * to its total value relative to the widest step (value_max). The funnel
2022
+ * silhouette emerges naturally because bars are centered on the same axis —
2023
+ * narrower bars appear as indented from both sides.
2024
+ *
2025
+ * Optional `segments` prop splits a bar into left-to-right colored sub-rects.
2026
+ * Hover maps the Y coordinate (not X) to a row index, matching the funnel's
2027
+ * row-oriented read direction.
2028
+ */
2029
+
2030
+ interface FunnelChartProps {
2031
+ steps: FunnelStep[];
2032
+ /** viewBox width. Default 360. */
2033
+ width?: number;
2034
+ /** viewBox height. Defaults to PAD_TOP + steps.length * ROW_H + PAD_BOTTOM. */
2035
+ height?: number;
2036
+ /** Bar fill when a step has no segments. Default "#3b82f6". */
2037
+ color?: string;
2038
+ /** Number format override. Default: format_num. */
2039
+ valueFormat?: (n: number) => string;
2040
+ /** Show per-step drop-off label below the value. Default true. */
2041
+ showDropoff?: boolean;
2042
+ /** Enable hover tooltip. Default true. */
2043
+ showTooltip?: boolean;
2044
+ /** Container className passthrough. */
2045
+ className?: string;
2046
+ }
2047
+ declare function FunnelChart({ steps, width, height, color, valueFormat, showDropoff, showTooltip, className, }: FunnelChartProps): React$1.ReactElement;
2048
+
2059
2049
  /**
2060
2050
  * Number/date formatters shared across hazo_ui_charts.
2061
2051
  *
@@ -2248,4 +2238,4 @@ interface HazoUiEtaProgressProps {
2248
2238
  */
2249
2239
  declare function HazoUiEtaProgress({ estimateKey, unitCount, concurrency, windowSize, fallbackUnitMs, level, label, endpoint, handleRef, className, }: HazoUiEtaProgressProps): react_jsx_runtime.JSX.Element;
2250
2240
 
2251
- export { ANIMATION_PRESETS, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AnimationPreset, type BaseCommandInputProps, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, CELEBRATION_GRADIENT, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CelebrationPayload, CelebrationProvider, type CelebrationProviderProps, type CelebrationShareableCard, type ChartDataPoint, type ChartDataSeries, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, type CommandEditContext, type CommandItem$1 as CommandItem, CommandNodeExtension, CommandPill, type CommandPillProps, CommandPopover, type CommandPopoverProps, type CommandTextOutput, type ConfirmDialogVariant, type DateRangeOption, DateRangeSelector, type DateRangeSelectorProps, type DialogVariant, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErrorBanner, type ErrorBannerProps, type ErrorBannerSeverity, ErrorPage, type ErrorPageProps, type EtaProgressHandle, type FilterConfig, type FilterField, HazoContextProvider, type HazoContextProviderProps, type HazoUiConfig, HazoUiConfirmDialog, type HazoUiConfirmDialogProps, HazoUiDialog, DialogClose as HazoUiDialogClose, DialogContent as HazoUiDialogContent, DialogDescription as HazoUiDialogDescription, DialogFooter as HazoUiDialogFooter, DialogHeader as HazoUiDialogHeader, DialogOverlay as HazoUiDialogOverlay, DialogPortal as HazoUiDialogPortal, type HazoUiDialogProps, Dialog as HazoUiDialogRoot, DialogTitle as HazoUiDialogTitle, DialogTrigger as HazoUiDialogTrigger, HazoUiEtaProgress, type HazoUiEtaProgressProps, HazoUiFlexInput, type HazoUiFlexInputProps, HazoUiFlexRadio, type HazoUiFlexRadioItem, type HazoUiFlexRadioProps, HazoUiKanban, HazoUiKanbanFilter, type HazoUiKanbanFilterProps, type HazoUiKanbanProps, HazoUiMultiFilterDialog, HazoUiMultiSortDialog, HazoUiPillRadio, type HazoUiPillRadioItem, type HazoUiPillRadioProps, HazoUiProgressBar, type HazoUiProgressBarProps, HazoUiRte, type HazoUiRteProps, HazoUiTable, type HazoUiTablePagination, type HazoUiTableProps, type HazoUiTableServerLoadArgs, type HazoUiTableServerLoadResult, HazoUiTextarea, type HazoUiTextareaProps, HazoUiTextbox, type HazoUiTextboxProps, HazoUiToaster, type HazoUiToasterProps, HoverCard, HoverCardContent, HoverCardTrigger, Input, type InsertedCommand, InverseSparkline, type InverseSparklineProps, type KanbanAnnouncements, type KanbanColumn, type KanbanEditorCtx, type KanbanEditorField, type KanbanEditorFieldType, type KanbanFilterValue, type KanbanItem, type KanbanMoveEvent, type KanbanMoveHandle, type KanbanPriority, type KanbanReorderEvent, type KanbanSaveEvent, Label, LineChart, type LineChartProps, LoadingTimeout, type LoadingTimeoutProps, type Logger, MarkdownEditor, type MarkdownEditorProps, type MarkdownEmbed, MultiLineChart, type MultiLineChartProps, type MultiSeries, Popover, PopoverContent, PopoverTrigger, type PrefixColor, type PrefixConfig, ProgressiveImage, type ProgressiveImageProps, RadioGroup, RadioGroupItem, type RteAttachment, type RteOutput, type RteVariable, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Command as ShadcnCommand, CommandEmpty as ShadcnCommandEmpty, CommandGroup as ShadcnCommandGroup, CommandInput as ShadcnCommandInput, CommandItem as ShadcnCommandItem, CommandList as ShadcnCommandList, Skeleton, SkeletonBar, type SkeletonBarProps, SkeletonCircle, type SkeletonCircleProps, SkeletonGroup, type SkeletonGroupProps, SkeletonRect, type SkeletonRectProps, type SortConfig, type SortField, Sparkline, type SparklineProps, Spinner, type StackedBar, StackedBars, type StackedBarsProps, type SuggestionState, Switch, Table, TableBody, TableCaption, TableCell, type TableColumn, type TableFilter, TableFooter, type TableFormatter, TableHead, TableHeader, TableRow, type TableSort, type TableSortEntry, type TableSortProp, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type ToastOptions, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseCopyToClipboardResult, type UseErrorDisplayResult, type UseEtaProgressOptions, type UseFullscreenRefResult, type UseFullscreenResult, type UseLoadingStateResult, type UseWakeLockResult, applyKanbanFilter, buttonGroupVariants, celebrate, computeEta, create_command_suggestion_extension, easeToward, errorToast, format_num, generateUUID, get_hazo_ui_config, get_logger, median, parse_commands_from_text, pick_x_label_indices, reset_hazo_ui_config, resolve_animation_classes, set_hazo_ui_config, set_logger, successToast, text_to_tiptap_content, toggleVariants, useClickOutside, useCopyToClipboard, useDebounce, useErrorDisplay, useEtaProgress, useFullscreen, useIsMobile, useLoadingState, useLocalStorage, useMediaQuery, useSessionStorage, useViewport, useWakeLock, use_fullscreen, use_wake_lock };
2241
+ export { ANIMATION_PRESETS, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AnimationPreset, type BaseCommandInputProps, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, CELEBRATION_GRADIENT, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CelebrationPayload, CelebrationProvider, type CelebrationProviderProps, type CelebrationShareableCard, type ChartDataPoint, type ChartDataSeries, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, type CommandEditContext, type CommandItem$1 as CommandItem, CommandNodeExtension, CommandPill, type CommandPillProps, CommandPopover, type CommandPopoverProps, type CommandTextOutput, type ConfirmDialogVariant, type DateRangeOption, DateRangeSelector, type DateRangeSelectorProps, type DialogVariant, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErrorBanner, type ErrorBannerProps, type ErrorBannerSeverity, ErrorPage, type ErrorPageProps, type EtaProgressHandle, type FilterConfig, type FilterField, FunnelChart, type FunnelChartProps, type FunnelStep, HazoContextProvider, type HazoContextProviderProps, type HazoUiConfig, HazoUiConfirmDialog, type HazoUiConfirmDialogProps, HazoUiDialog, DialogClose as HazoUiDialogClose, DialogContent as HazoUiDialogContent, DialogDescription as HazoUiDialogDescription, DialogFooter as HazoUiDialogFooter, DialogHeader as HazoUiDialogHeader, DialogOverlay as HazoUiDialogOverlay, DialogPortal as HazoUiDialogPortal, type HazoUiDialogProps, Dialog as HazoUiDialogRoot, DialogTitle as HazoUiDialogTitle, DialogTrigger as HazoUiDialogTrigger, HazoUiEtaProgress, type HazoUiEtaProgressProps, HazoUiFlexInput, type HazoUiFlexInputProps, HazoUiFlexRadio, type HazoUiFlexRadioItem, type HazoUiFlexRadioProps, HazoUiKanban, HazoUiKanbanFilter, type HazoUiKanbanFilterProps, type HazoUiKanbanProps, HazoUiMultiFilterDialog, HazoUiMultiSortDialog, HazoUiPillRadio, type HazoUiPillRadioItem, type HazoUiPillRadioProps, HazoUiProgressBar, type HazoUiProgressBarProps, HazoUiRte, type HazoUiRteProps, HazoUiTable, type HazoUiTablePagination, type HazoUiTableProps, type HazoUiTableServerLoadArgs, type HazoUiTableServerLoadResult, HazoUiTextarea, type HazoUiTextareaProps, HazoUiTextbox, type HazoUiTextboxProps, HazoUiToaster, type HazoUiToasterProps, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputAffix, type InputAffixProps, type InsertedCommand, InverseSparkline, type InverseSparklineProps, type KanbanAnnouncements, type KanbanColumn, type KanbanEditorCtx, type KanbanEditorField, type KanbanEditorFieldType, type KanbanFilterValue, type KanbanItem, type KanbanMoveEvent, type KanbanMoveHandle, type KanbanPriority, type KanbanReorderEvent, type KanbanSaveEvent, Label, LoadingTimeout, type LoadingTimeoutProps, type Logger, MarkdownEditor, type MarkdownEditorProps, type MarkdownEmbed, Popover, PopoverContent, PopoverTrigger, type PrefixColor, type PrefixConfig, ProgressiveImage, type ProgressiveImageProps, RadioGroup, RadioGroupItem, type RteAttachment, type RteOutput, type RteVariable, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Command as ShadcnCommand, CommandEmpty as ShadcnCommandEmpty, CommandGroup as ShadcnCommandGroup, CommandInput as ShadcnCommandInput, CommandItem as ShadcnCommandItem, CommandList as ShadcnCommandList, Skeleton, SkeletonBar, type SkeletonBarProps, SkeletonCircle, type SkeletonCircleProps, SkeletonGroup, type SkeletonGroupProps, SkeletonRect, type SkeletonRectProps, Slider, type SortConfig, type SortField, Sparkline, type SparklineProps, Spinner, type StackedBar, StackedBars, type StackedBarsProps, type SuggestionState, Switch, Table, TableBody, TableCaption, TableCell, type TableColumn, type TableFilter, TableFooter, type TableFormatter, TableHead, TableHeader, TableRow, type TableSort, type TableSortEntry, type TableSortProp, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type ToastOptions, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseCopyToClipboardResult, type UseErrorDisplayResult, type UseEtaProgressOptions, type UseFullscreenRefResult, type UseFullscreenResult, type UseLoadingStateResult, type UseWakeLockResult, applyKanbanFilter, buttonGroupVariants, celebrate, computeEta, create_command_suggestion_extension, easeToward, errorToast, format_num, generateUUID, get_hazo_ui_config, get_logger, median, parse_commands_from_text, pick_x_label_indices, reset_hazo_ui_config, resolve_animation_classes, set_hazo_ui_config, set_logger, successToast, text_to_tiptap_content, toggleVariants, useClickOutside, useCopyToClipboard, useDebounce, useErrorDisplay, useEtaProgress, useFullscreen, useIsMobile, useLoadingState, useLocalStorage, useMediaQuery, useSessionStorage, useViewport, useWakeLock, use_fullscreen, use_wake_lock };