@alpic-ai/ui 0.0.0-dev.g23b48a1 → 0.0.0-dev.g23fdbf3

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 (113) hide show
  1. package/dist/components/accordion-card.d.mts +5 -6
  2. package/dist/components/accordion.d.mts +5 -6
  3. package/dist/components/alert.d.mts +9 -11
  4. package/dist/components/area-chart.d.mts +62 -0
  5. package/dist/components/area-chart.mjs +269 -0
  6. package/dist/components/attachment-tile.d.mts +1 -3
  7. package/dist/components/avatar.d.mts +8 -10
  8. package/dist/components/badge.d.mts +2 -4
  9. package/dist/components/bar-chart.d.mts +48 -0
  10. package/dist/components/bar-chart.mjs +245 -0
  11. package/dist/components/bar-list.d.mts +28 -0
  12. package/dist/components/bar-list.mjs +98 -0
  13. package/dist/components/breadcrumb.d.mts +10 -11
  14. package/dist/components/button.d.mts +6 -8
  15. package/dist/components/card.d.mts +9 -10
  16. package/dist/components/chart-card.d.mts +25 -0
  17. package/dist/components/chart-card.mjs +48 -0
  18. package/dist/components/chart-container.d.mts +20 -0
  19. package/dist/components/chart-container.mjs +37 -0
  20. package/dist/components/chart-legend.d.mts +16 -0
  21. package/dist/components/chart-legend.mjs +26 -0
  22. package/dist/components/chart-tooltip.d.mts +33 -0
  23. package/dist/components/chart-tooltip.mjs +52 -0
  24. package/dist/components/checkbox.d.mts +2 -3
  25. package/dist/components/collapsible.d.mts +4 -5
  26. package/dist/components/combobox.d.mts +12 -11
  27. package/dist/components/combobox.mjs +7 -4
  28. package/dist/components/command.d.mts +9 -10
  29. package/dist/components/copyable.d.mts +2 -3
  30. package/dist/components/description-list.d.mts +5 -6
  31. package/dist/components/dialog.d.mts +15 -17
  32. package/dist/components/donut-chart.d.mts +46 -0
  33. package/dist/components/donut-chart.mjs +185 -0
  34. package/dist/components/dropdown-menu.d.mts +18 -20
  35. package/dist/components/form.d.mts +38 -21
  36. package/dist/components/form.mjs +6 -6
  37. package/dist/components/github-button.d.mts +1 -2
  38. package/dist/components/grid-fx.d.mts +13 -0
  39. package/dist/components/grid-fx.mjs +188 -0
  40. package/dist/components/heatmap-chart.d.mts +40 -0
  41. package/dist/components/heatmap-chart.mjs +198 -0
  42. package/dist/components/input-group.d.mts +5 -7
  43. package/dist/components/input.d.mts +4 -5
  44. package/dist/components/input.mjs +2 -2
  45. package/dist/components/label.d.mts +2 -3
  46. package/dist/components/line-chart.d.mts +55 -0
  47. package/dist/components/line-chart.mjs +211 -0
  48. package/dist/components/page-loader.d.mts +1 -3
  49. package/dist/components/pagination.d.mts +3 -4
  50. package/dist/components/popover.d.mts +5 -6
  51. package/dist/components/radio-group.d.mts +3 -4
  52. package/dist/components/scroll-area.d.mts +3 -4
  53. package/dist/components/select-trigger-variants.d.mts +1 -3
  54. package/dist/components/select.d.mts +9 -10
  55. package/dist/components/separator.d.mts +2 -3
  56. package/dist/components/sheet.d.mts +11 -12
  57. package/dist/components/shimmer-text.d.mts +2 -2
  58. package/dist/components/sidebar.d.mts +34 -36
  59. package/dist/components/sidebar.mjs +10 -10
  60. package/dist/components/skeleton.d.mts +2 -4
  61. package/dist/components/sonner.d.mts +5 -6
  62. package/dist/components/spinner.d.mts +3 -5
  63. package/dist/components/stat.d.mts +30 -0
  64. package/dist/components/stat.mjs +107 -0
  65. package/dist/components/status-dot.d.mts +2 -4
  66. package/dist/components/switch.d.mts +2 -3
  67. package/dist/components/table.d.mts +10 -11
  68. package/dist/components/tabs.d.mts +12 -14
  69. package/dist/components/tag.d.mts +3 -5
  70. package/dist/components/task-progress.d.mts +1 -3
  71. package/dist/components/textarea.d.mts +3 -4
  72. package/dist/components/textarea.mjs +2 -2
  73. package/dist/components/toggle-group.d.mts +4 -6
  74. package/dist/components/toggle-group.mjs +3 -3
  75. package/dist/components/tooltip-icon-button.d.mts +1 -2
  76. package/dist/components/tooltip.d.mts +5 -6
  77. package/dist/components/typography.d.mts +4 -5
  78. package/dist/components/wizard.d.mts +4 -5
  79. package/dist/hooks/use-chart-theme.d.mts +18 -0
  80. package/dist/hooks/use-chart-theme.mjs +57 -0
  81. package/dist/hooks/use-mobile.mjs +3 -3
  82. package/dist/hooks/use-reduced-motion.d.mts +4 -0
  83. package/dist/hooks/use-reduced-motion.mjs +16 -0
  84. package/dist/lib/chart-palette.d.mts +4 -0
  85. package/dist/lib/chart-palette.mjs +95 -0
  86. package/dist/lib/chart.d.mts +14 -0
  87. package/dist/lib/chart.mjs +27 -0
  88. package/package.json +30 -29
  89. package/src/components/area-chart.tsx +339 -0
  90. package/src/components/bar-chart.tsx +300 -0
  91. package/src/components/bar-list.tsx +150 -0
  92. package/src/components/chart-card.tsx +63 -0
  93. package/src/components/chart-container.tsx +49 -0
  94. package/src/components/chart-legend.tsx +41 -0
  95. package/src/components/chart-tooltip.tsx +93 -0
  96. package/src/components/combobox.tsx +9 -2
  97. package/src/components/donut-chart.tsx +217 -0
  98. package/src/components/grid-fx.tsx +238 -0
  99. package/src/components/heatmap-chart.tsx +287 -0
  100. package/src/components/line-chart.tsx +264 -0
  101. package/src/components/stat.tsx +109 -0
  102. package/src/hooks/use-chart-theme.ts +75 -0
  103. package/src/hooks/use-reduced-motion.ts +17 -0
  104. package/src/lib/chart-palette.ts +110 -0
  105. package/src/lib/chart.ts +56 -0
  106. package/src/stories/area-chart.stories.tsx +200 -0
  107. package/src/stories/bar-chart.stories.tsx +169 -0
  108. package/src/stories/bar-list.stories.tsx +85 -0
  109. package/src/stories/donut-chart.stories.tsx +112 -0
  110. package/src/stories/heatmap-chart.stories.tsx +107 -0
  111. package/src/stories/line-chart.stories.tsx +146 -0
  112. package/src/stories/stat.stories.tsx +64 -0
  113. package/src/styles/tokens.css +63 -0
@@ -1,11 +1,10 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
- import * as React from "react";
1
+ import * as React$1 from "react";
3
2
  import * as SwitchPrimitive from "@radix-ui/react-switch";
4
3
 
5
4
  //#region src/components/switch.d.ts
6
5
  declare function Switch({
7
6
  className,
8
7
  ...props
9
- }: React.ComponentProps<typeof SwitchPrimitive.Root>): _$react_jsx_runtime0.JSX.Element;
8
+ }: React$1.ComponentProps<typeof SwitchPrimitive.Root>): React$1.JSX.Element;
10
9
  //#endregion
11
10
  export { Switch };
@@ -1,32 +1,31 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
- import * as React from "react";
1
+ import * as React$1 from "react";
3
2
 
4
3
  //#region src/components/table.d.ts
5
4
  declare function Table({
6
5
  className,
7
6
  ...props
8
- }: React.ComponentProps<"table">): _$react_jsx_runtime0.JSX.Element;
7
+ }: React$1.ComponentProps<"table">): React$1.JSX.Element;
9
8
  declare function TableHeader({
10
9
  className,
11
10
  ...props
12
- }: React.ComponentProps<"thead">): _$react_jsx_runtime0.JSX.Element;
11
+ }: React$1.ComponentProps<"thead">): React$1.JSX.Element;
13
12
  declare function TableBody({
14
13
  className,
15
14
  ...props
16
- }: React.ComponentProps<"tbody">): _$react_jsx_runtime0.JSX.Element;
15
+ }: React$1.ComponentProps<"tbody">): React$1.JSX.Element;
17
16
  declare function TableFooter({
18
17
  className,
19
18
  ...props
20
- }: React.ComponentProps<"tfoot">): _$react_jsx_runtime0.JSX.Element;
19
+ }: React$1.ComponentProps<"tfoot">): React$1.JSX.Element;
21
20
  declare function TableRow({
22
21
  className,
23
22
  ...props
24
- }: React.ComponentProps<"tr">): _$react_jsx_runtime0.JSX.Element;
23
+ }: React$1.ComponentProps<"tr">): React$1.JSX.Element;
25
24
  declare function TableHead({
26
25
  className,
27
26
  ...props
28
- }: React.ComponentProps<"th">): _$react_jsx_runtime0.JSX.Element;
29
- interface TableCellProps extends React.ComponentProps<"td"> {
27
+ }: React$1.ComponentProps<"th">): React$1.JSX.Element;
28
+ interface TableCellProps extends React$1.ComponentProps<"td"> {
30
29
  /**
31
30
  * When true, the cell renders edge-to-edge so the child can act as the
32
31
  * interactive surface (e.g. a button or popover trigger filling the cell).
@@ -38,10 +37,10 @@ declare function TableCell({
38
37
  className,
39
38
  interactive,
40
39
  ...props
41
- }: TableCellProps): _$react_jsx_runtime0.JSX.Element;
40
+ }: TableCellProps): React$1.JSX.Element;
42
41
  declare function TableCaption({
43
42
  className,
44
43
  ...props
45
- }: React.ComponentProps<"caption">): _$react_jsx_runtime0.JSX.Element;
44
+ }: React$1.ComponentProps<"caption">): React$1.JSX.Element;
46
45
  //#endregion
47
46
  export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
@@ -1,34 +1,32 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
1
  import { VariantProps } from "class-variance-authority";
3
- import * as React from "react";
2
+ import * as React$1 from "react";
4
3
  import * as TabsPrimitive from "@radix-ui/react-tabs";
5
- import * as _$class_variance_authority_types0 from "class-variance-authority/types";
6
4
 
7
5
  //#region src/components/tabs.d.ts
8
6
  declare const tabsTriggerVariants: (props?: ({
9
7
  variant?: "default" | "pill" | "line" | null | undefined;
10
- } & _$class_variance_authority_types0.ClassProp) | undefined) => string;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
9
  declare function Tabs({
12
10
  className,
13
11
  orientation,
14
12
  ...props
15
- }: React.ComponentProps<typeof TabsPrimitive.Root>): _$react_jsx_runtime0.JSX.Element;
13
+ }: React$1.ComponentProps<typeof TabsPrimitive.Root>): React$1.JSX.Element;
16
14
  declare const tabsListVariants: (props?: ({
17
15
  variant?: "default" | "line" | null | undefined;
18
- } & _$class_variance_authority_types0.ClassProp) | undefined) => string;
16
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
19
17
  declare function TabsList({
20
18
  className,
21
19
  variant,
22
20
  ...props
23
- }: React.ComponentProps<typeof TabsPrimitive.List> & VariantProps<typeof tabsListVariants>): _$react_jsx_runtime0.JSX.Element;
21
+ }: React$1.ComponentProps<typeof TabsPrimitive.List> & VariantProps<typeof tabsListVariants>): React$1.JSX.Element;
24
22
  declare function TabsTrigger({
25
23
  className,
26
24
  ...props
27
- }: React.ComponentProps<typeof TabsPrimitive.Trigger>): _$react_jsx_runtime0.JSX.Element;
25
+ }: React$1.ComponentProps<typeof TabsPrimitive.Trigger>): React$1.JSX.Element;
28
26
  declare function TabsContent({
29
27
  className,
30
28
  ...props
31
- }: React.ComponentProps<typeof TabsPrimitive.Content>): _$react_jsx_runtime0.JSX.Element;
29
+ }: React$1.ComponentProps<typeof TabsPrimitive.Content>): React$1.JSX.Element;
32
30
  type TabsNavVariant = "line" | "pill";
33
31
  type TabsNavOrientation = "horizontal" | "vertical";
34
32
  declare function TabsNav({
@@ -36,23 +34,23 @@ declare function TabsNav({
36
34
  variant,
37
35
  className,
38
36
  ...props
39
- }: React.ComponentProps<"nav"> & {
37
+ }: React$1.ComponentProps<"nav"> & {
40
38
  orientation?: TabsNavOrientation;
41
39
  variant?: TabsNavVariant;
42
- }): _$react_jsx_runtime0.JSX.Element;
40
+ }): React$1.JSX.Element;
43
41
  declare function TabsNavList({
44
42
  className,
45
43
  ...props
46
- }: React.ComponentProps<"ul">): _$react_jsx_runtime0.JSX.Element;
44
+ }: React$1.ComponentProps<"ul">): React$1.JSX.Element;
47
45
  declare function TabsNavTrigger({
48
46
  className,
49
47
  active,
50
48
  asChild,
51
49
  children,
52
50
  ...props
53
- }: React.ComponentProps<"a"> & {
51
+ }: React$1.ComponentProps<"a"> & {
54
52
  active?: boolean;
55
53
  asChild?: boolean;
56
- }): _$react_jsx_runtime0.JSX.Element;
54
+ }): React$1.JSX.Element;
57
55
  //#endregion
58
56
  export { Tabs, TabsContent, TabsList, TabsNav, TabsNavList, TabsNavTrigger, TabsTrigger, tabsListVariants, tabsTriggerVariants };
@@ -1,5 +1,3 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
1
  //#region src/components/tag.d.ts
4
2
  interface TagBaseProps {
5
3
  icon?: React.ReactNode;
@@ -10,7 +8,7 @@ declare function Tag({
10
8
  icon,
11
9
  children,
12
10
  ...props
13
- }: TagProps): _$react_jsx_runtime0.JSX.Element;
11
+ }: TagProps): import("react").JSX.Element;
14
12
  interface TagDismissibleProps extends React.ComponentProps<"span">, TagBaseProps {
15
13
  onDismiss?: () => void;
16
14
  }
@@ -20,7 +18,7 @@ declare function TagDismissible({
20
18
  children,
21
19
  onDismiss,
22
20
  ...props
23
- }: TagDismissibleProps): _$react_jsx_runtime0.JSX.Element;
21
+ }: TagDismissibleProps): import("react").JSX.Element;
24
22
  interface TagCountProps extends React.ComponentProps<"span">, TagBaseProps {
25
23
  count: number;
26
24
  }
@@ -30,6 +28,6 @@ declare function TagCount({
30
28
  children,
31
29
  count,
32
30
  ...props
33
- }: TagCountProps): _$react_jsx_runtime0.JSX.Element;
31
+ }: TagCountProps): import("react").JSX.Element;
34
32
  //#endregion
35
33
  export { Tag, TagCount, TagDismissible };
@@ -1,5 +1,3 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
1
  //#region src/components/task-progress.d.ts
4
2
  type TaskProgressStatus = "pending" | "running" | "done";
5
3
  interface TaskProgressStep {
@@ -22,6 +20,6 @@ declare function TaskProgress({
22
20
  stepRevealDelayMs,
23
21
  className,
24
22
  ...props
25
- }: TaskProgressProps): _$react_jsx_runtime0.JSX.Element;
23
+ }: TaskProgressProps): import("react").JSX.Element;
26
24
  //#endregion
27
25
  export { TaskProgress, type TaskProgressStatus, type TaskProgressStep };
@@ -1,8 +1,7 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
- import * as React from "react";
1
+ import * as React$1 from "react";
3
2
 
4
3
  //#region src/components/textarea.d.ts
5
- interface TextareaProps extends React.ComponentProps<"textarea"> {
4
+ interface TextareaProps extends React$1.ComponentProps<"textarea"> {
6
5
  label?: string;
7
6
  required?: boolean;
8
7
  hint?: string;
@@ -18,6 +17,6 @@ declare function Textarea({
18
17
  error,
19
18
  tooltip,
20
19
  ...props
21
- }: TextareaProps): _$react_jsx_runtime0.JSX.Element;
20
+ }: TextareaProps): React$1.JSX.Element;
22
21
  //#endregion
23
22
  export { Textarea, type TextareaProps };
@@ -4,10 +4,10 @@ import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.mjs";
4
4
  import { Label } from "./label.mjs";
5
5
  import { Info } from "lucide-react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
- import * as React from "react";
7
+ import * as React$1 from "react";
8
8
  //#region src/components/textarea.tsx
9
9
  function Textarea({ className, id, label, required, hint, error, tooltip, ...props }) {
10
- const generatedId = React.useId();
10
+ const generatedId = React$1.useId();
11
11
  const fieldId = id ?? generatedId;
12
12
  const textarea = /* @__PURE__ */ jsx("textarea", {
13
13
  id: fieldId,
@@ -1,14 +1,12 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
1
  import { VariantProps } from "class-variance-authority";
3
- import * as React from "react";
2
+ import * as React$1 from "react";
4
3
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
5
- import * as _$class_variance_authority_types0 from "class-variance-authority/types";
6
4
 
7
5
  //#region src/components/toggle-group.d.ts
8
6
  declare const toggleGroupItemVariants: (props?: ({
9
7
  variant?: "default" | "outline" | null | undefined;
10
8
  size?: "default" | "sm" | null | undefined;
11
- } & _$class_variance_authority_types0.ClassProp) | undefined) => string;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
10
  type ToggleGroupContextValue = VariantProps<typeof toggleGroupItemVariants>;
13
11
  declare function ToggleGroup({
14
12
  className,
@@ -16,13 +14,13 @@ declare function ToggleGroup({
16
14
  size,
17
15
  children,
18
16
  ...props
19
- }: React.ComponentProps<typeof ToggleGroupPrimitive.Root> & ToggleGroupContextValue): _$react_jsx_runtime0.JSX.Element;
17
+ }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Root> & ToggleGroupContextValue): React$1.JSX.Element;
20
18
  declare function ToggleGroupItem({
21
19
  className,
22
20
  children,
23
21
  variant,
24
22
  size,
25
23
  ...props
26
- }: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleGroupItemVariants>): _$react_jsx_runtime0.JSX.Element;
24
+ }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleGroupItemVariants>): React$1.JSX.Element;
27
25
  //#endregion
28
26
  export { ToggleGroup, ToggleGroupItem, toggleGroupItemVariants };
@@ -2,7 +2,7 @@
2
2
  import { cn } from "../lib/cn.mjs";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { cva } from "class-variance-authority";
5
- import * as React from "react";
5
+ import * as React$1 from "react";
6
6
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
7
7
  //#region src/components/toggle-group.tsx
8
8
  const toggleGroupItemVariants = cva([
@@ -36,7 +36,7 @@ const toggleGroupItemVariants = cva([
36
36
  size: "default"
37
37
  }
38
38
  });
39
- const ToggleGroupContext = React.createContext({
39
+ const ToggleGroupContext = React$1.createContext({
40
40
  size: "default",
41
41
  variant: "default"
42
42
  });
@@ -55,7 +55,7 @@ function ToggleGroup({ className, variant, size, children, ...props }) {
55
55
  });
56
56
  }
57
57
  function ToggleGroupItem({ className, children, variant, size, ...props }) {
58
- const context = React.useContext(ToggleGroupContext);
58
+ const context = React$1.useContext(ToggleGroupContext);
59
59
  const resolvedVariant = context.variant ?? variant;
60
60
  const resolvedSize = context.size ?? size;
61
61
  return /* @__PURE__ */ jsx(ToggleGroupPrimitive.Item, {
@@ -1,5 +1,4 @@
1
1
  import { Button } from "./button.mjs";
2
- import * as _$react from "react";
3
2
  import { ComponentPropsWithRef } from "react";
4
3
 
5
4
  //#region src/components/tooltip-icon-button.d.ts
@@ -7,6 +6,6 @@ type TooltipIconButtonProps = ComponentPropsWithRef<typeof Button> & {
7
6
  tooltip: string;
8
7
  side?: "top" | "bottom" | "left" | "right";
9
8
  };
10
- declare const TooltipIconButton: _$react.ForwardRefExoticComponent<Omit<TooltipIconButtonProps, "ref"> & _$react.RefAttributes<HTMLButtonElement>>;
9
+ declare const TooltipIconButton: import("react").ForwardRefExoticComponent<Omit<TooltipIconButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
11
10
  //#endregion
12
11
  export { TooltipIconButton, type TooltipIconButtonProps };
@@ -1,23 +1,22 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
- import * as React from "react";
1
+ import * as React$1 from "react";
3
2
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
4
3
 
5
4
  //#region src/components/tooltip.d.ts
6
5
  declare function TooltipProvider({
7
6
  delayDuration,
8
7
  ...props
9
- }: React.ComponentProps<typeof TooltipPrimitive.Provider>): _$react_jsx_runtime0.JSX.Element;
8
+ }: React$1.ComponentProps<typeof TooltipPrimitive.Provider>): React$1.JSX.Element;
10
9
  declare function Tooltip({
11
10
  ...props
12
- }: React.ComponentProps<typeof TooltipPrimitive.Root>): _$react_jsx_runtime0.JSX.Element;
11
+ }: React$1.ComponentProps<typeof TooltipPrimitive.Root>): React$1.JSX.Element;
13
12
  declare function TooltipTrigger({
14
13
  ...props
15
- }: React.ComponentProps<typeof TooltipPrimitive.Trigger>): _$react_jsx_runtime0.JSX.Element;
14
+ }: React$1.ComponentProps<typeof TooltipPrimitive.Trigger>): React$1.JSX.Element;
16
15
  declare function TooltipContent({
17
16
  className,
18
17
  sideOffset,
19
18
  children,
20
19
  ...props
21
- }: React.ComponentProps<typeof TooltipPrimitive.Content>): _$react_jsx_runtime0.JSX.Element;
20
+ }: React$1.ComponentProps<typeof TooltipPrimitive.Content>): React$1.JSX.Element;
22
21
  //#endregion
23
22
  export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
@@ -1,4 +1,3 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
1
  import { ReactNode } from "react";
3
2
 
4
3
  //#region src/components/typography.d.ts
@@ -8,27 +7,27 @@ declare function H1({
8
7
  }: {
9
8
  children: ReactNode;
10
9
  className?: string;
11
- }): _$react_jsx_runtime0.JSX.Element;
10
+ }): import("react").JSX.Element;
12
11
  declare function H2({
13
12
  children,
14
13
  className
15
14
  }: {
16
15
  children: ReactNode;
17
16
  className?: string;
18
- }): _$react_jsx_runtime0.JSX.Element;
17
+ }): import("react").JSX.Element;
19
18
  declare function H3({
20
19
  children,
21
20
  className
22
21
  }: {
23
22
  children: ReactNode;
24
23
  className?: string;
25
- }): _$react_jsx_runtime0.JSX.Element;
24
+ }): import("react").JSX.Element;
26
25
  declare function H4({
27
26
  children,
28
27
  className
29
28
  }: {
30
29
  children: ReactNode;
31
30
  className?: string;
32
- }): _$react_jsx_runtime0.JSX.Element;
31
+ }): import("react").JSX.Element;
33
32
  //#endregion
34
33
  export { H1, H2, H3, H4 };
@@ -1,5 +1,4 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
- import * as React from "react";
1
+ import * as React$1 from "react";
3
2
 
4
3
  //#region src/components/wizard.d.ts
5
4
  interface WizardStep {
@@ -19,8 +18,8 @@ declare function WizardSteps({
19
18
  onSelect,
20
19
  ariaLabel,
21
20
  className
22
- }: WizardStepsProps): _$react_jsx_runtime0.JSX.Element;
23
- interface WizardProgressProps extends React.ComponentProps<"div"> {
21
+ }: WizardStepsProps): React$1.JSX.Element;
22
+ interface WizardProgressProps extends React$1.ComponentProps<"div"> {
24
23
  current: number;
25
24
  total: number;
26
25
  }
@@ -29,6 +28,6 @@ declare function WizardProgress({
29
28
  total,
30
29
  className,
31
30
  ...props
32
- }: WizardProgressProps): _$react_jsx_runtime0.JSX.Element;
31
+ }: WizardProgressProps): React$1.JSX.Element;
33
32
  //#endregion
34
33
  export { WizardProgress, type WizardStep, WizardSteps };
@@ -0,0 +1,18 @@
1
+ //#region src/hooks/use-chart-theme.d.ts
2
+ interface ChartTheme {
3
+ foreground: string;
4
+ mutedForeground: string;
5
+ axisForeground: string;
6
+ grid: string;
7
+ border: string;
8
+ card: string;
9
+ popover: string;
10
+ destructive: string;
11
+ warning: string;
12
+ success: string;
13
+ fontMono: string;
14
+ isDark: boolean;
15
+ }
16
+ declare function useChartTheme(): ChartTheme;
17
+ //#endregion
18
+ export { ChartTheme, useChartTheme };
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import * as React$1 from "react";
3
+ //#region src/hooks/use-chart-theme.ts
4
+ const TOKEN_MAP = {
5
+ foreground: "--color-foreground",
6
+ mutedForeground: "--color-muted-foreground",
7
+ axisForeground: "--color-quaternary-foreground",
8
+ grid: "--color-sidebar-border",
9
+ border: "--color-border",
10
+ card: "--color-card",
11
+ popover: "--color-popover",
12
+ destructive: "--color-destructive",
13
+ warning: "--color-warning",
14
+ success: "--color-success",
15
+ fontMono: "--font-mono"
16
+ };
17
+ const FALLBACK = {
18
+ foreground: "#121e1e",
19
+ mutedForeground: "#3a4848",
20
+ axisForeground: "#6f7f7f",
21
+ grid: "#e3eaea",
22
+ border: "#acb8b8",
23
+ card: "#f8fafa",
24
+ popover: "#ffffff",
25
+ destructive: "#d92d20",
26
+ warning: "#dc6803",
27
+ success: "#079455",
28
+ fontMono: "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
29
+ isDark: false
30
+ };
31
+ const readTheme = () => {
32
+ if (typeof window === "undefined") return FALLBACK;
33
+ const styles = window.getComputedStyle(document.documentElement);
34
+ const entries = Object.entries(TOKEN_MAP).map(([key, token]) => {
35
+ return [key, styles.getPropertyValue(token).trim() || FALLBACK[key]];
36
+ });
37
+ return {
38
+ ...Object.fromEntries(entries),
39
+ isDark: document.documentElement.classList.contains("dark")
40
+ };
41
+ };
42
+ function useChartTheme() {
43
+ const [theme, setTheme] = React$1.useState(readTheme);
44
+ React$1.useEffect(() => {
45
+ const update = () => setTheme(readTheme());
46
+ update();
47
+ const observer = new MutationObserver(update);
48
+ observer.observe(document.documentElement, {
49
+ attributes: true,
50
+ attributeFilter: ["class"]
51
+ });
52
+ return () => observer.disconnect();
53
+ }, []);
54
+ return theme;
55
+ }
56
+ //#endregion
57
+ export { useChartTheme };
@@ -1,9 +1,9 @@
1
- import * as React from "react";
1
+ import * as React$1 from "react";
2
2
  //#region src/hooks/use-mobile.ts
3
3
  const MOBILE_BREAKPOINT = 768;
4
4
  function useIsMobile() {
5
- const [isMobile, setIsMobile] = React.useState(void 0);
6
- React.useEffect(() => {
5
+ const [isMobile, setIsMobile] = React$1.useState(void 0);
6
+ React$1.useEffect(() => {
7
7
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
8
8
  const onChange = () => setIsMobile(mql.matches);
9
9
  mql.addEventListener("change", onChange);
@@ -0,0 +1,4 @@
1
+ //#region src/hooks/use-reduced-motion.d.ts
2
+ declare function useReducedMotion(): boolean;
3
+ //#endregion
4
+ export { useReducedMotion };
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import * as React$1 from "react";
3
+ //#region src/hooks/use-reduced-motion.ts
4
+ function useReducedMotion() {
5
+ const [reduced, setReduced] = React$1.useState(false);
6
+ React$1.useEffect(() => {
7
+ const query = window.matchMedia("(prefers-reduced-motion: reduce)");
8
+ const update = () => setReduced(query.matches);
9
+ update();
10
+ query.addEventListener("change", update);
11
+ return () => query.removeEventListener("change", update);
12
+ }, []);
13
+ return reduced;
14
+ }
15
+ //#endregion
16
+ export { useReducedMotion };
@@ -0,0 +1,4 @@
1
+ //#region src/lib/chart-palette.d.ts
2
+ type ChartPaletteName = "magenta" | "cyan";
3
+ //#endregion
4
+ export { ChartPaletteName };
@@ -0,0 +1,95 @@
1
+ const CHART_PALETTES = {
2
+ magenta: [
3
+ "#e90060",
4
+ "#ff7eb6",
5
+ "#9b5de5",
6
+ "#5b8def",
7
+ "#36c5f0",
8
+ "#6eece7",
9
+ "#d98a3d",
10
+ "#2bb6a3"
11
+ ],
12
+ cyan: [
13
+ "#17b8cf",
14
+ "#41ddc9",
15
+ "#3f8ff0",
16
+ "#8b6cf0",
17
+ "#c46bf0",
18
+ "#ff7eb6",
19
+ "#e90060",
20
+ "#c98be0"
21
+ ]
22
+ };
23
+ const heatRampMagenta = (empty) => [
24
+ empty,
25
+ "#5b0a31",
26
+ "#a3034a",
27
+ "#e90060",
28
+ "#ff7eb6"
29
+ ];
30
+ const heatRampMint = (empty) => [
31
+ empty,
32
+ "#0c4a52",
33
+ "#17b8cf",
34
+ "#41ddc9",
35
+ "#6eece7"
36
+ ];
37
+ const HEAT_EMPTY = {
38
+ light: "#eef3f3",
39
+ dark: "#102222"
40
+ };
41
+ const HEAT_RAMPS = {
42
+ magenta: heatRampMagenta,
43
+ cyan: heatRampMint
44
+ };
45
+ const heatRamp = (palette, empty) => HEAT_RAMPS[palette](empty);
46
+ const hexToRgb = (hex) => {
47
+ const value = Number.parseInt(hex.slice(1), 16);
48
+ return [
49
+ value >> 16 & 255,
50
+ value >> 8 & 255,
51
+ value & 255
52
+ ];
53
+ };
54
+ const luminance = (hex) => {
55
+ const linear = hexToRgb(hex).map((channel) => {
56
+ const normalized = channel / 255;
57
+ return normalized <= .03928 ? normalized / 12.92 : ((normalized + .055) / 1.055) ** 2.4;
58
+ });
59
+ return .2126 * linear[0] + .7152 * linear[1] + .0722 * linear[2];
60
+ };
61
+ const paletteColor = (palette, index) => {
62
+ return palette[(index % palette.length + palette.length) % palette.length];
63
+ };
64
+ const RAMP_ENDS = {
65
+ magenta: ["#e90060", "#ff7eb6"],
66
+ cyan: ["#17b8cf", "#6eece7"]
67
+ };
68
+ const mixHex = (from, to, fraction) => {
69
+ const [fromR, fromG, fromB] = hexToRgb(from);
70
+ const [toR, toG, toB] = hexToRgb(to);
71
+ const ratio = Math.min(1, Math.max(0, fraction));
72
+ const channel = (start, end) => Math.round(start + (end - start) * ratio);
73
+ return `#${[
74
+ channel(fromR, toR),
75
+ channel(fromG, toG),
76
+ channel(fromB, toB)
77
+ ].map((value) => value.toString(16).padStart(2, "0")).join("")}`;
78
+ };
79
+ const rampColor = (palette, fraction) => {
80
+ const [from, to] = RAMP_ENDS[palette];
81
+ return mixHex(from, to, fraction);
82
+ };
83
+ /**
84
+ * Interpolate continuously across a multi-stop heat ramp (e.g. `heatRampMagenta`),
85
+ * so a normalized 0..1 value reads as a smooth single-hue gradient rather than
86
+ * the five discrete bands.
87
+ */
88
+ const heatColor = (stops, fraction) => {
89
+ const clamped = Math.min(1, Math.max(0, fraction));
90
+ const segment = (stops.length - 1) * clamped;
91
+ const lowerIndex = Math.min(stops.length - 2, Math.floor(segment));
92
+ return mixHex(stops[lowerIndex], stops[lowerIndex + 1], segment - lowerIndex);
93
+ };
94
+ //#endregion
95
+ export { CHART_PALETTES, HEAT_EMPTY, heatColor, heatRamp, luminance, paletteColor, rampColor };
@@ -0,0 +1,14 @@
1
+ //#region src/lib/chart.d.ts
2
+ /**
3
+ * Declarative description of one plotted series. The same shape drives area,
4
+ * line and bar charts — what differs is how each chart renders it.
5
+ */
6
+ interface ChartSeries {
7
+ key: string;
8
+ name?: string;
9
+ color?: string;
10
+ semantic?: "error" | "warning" | "success";
11
+ dashed?: boolean;
12
+ }
13
+ //#endregion
14
+ export { ChartSeries };
@@ -0,0 +1,27 @@
1
+ import { luminance, paletteColor } from "./chart-palette.mjs";
2
+ //#region src/lib/chart.ts
3
+ const formatShare = (fraction) => `${(fraction * 100).toFixed(fraction >= .1 ? 0 : 1)}%`;
4
+ const semanticColor = (theme, semantic) => {
5
+ if (semantic === "error") return theme.destructive;
6
+ if (semantic === "warning") return theme.warning;
7
+ return theme.success;
8
+ };
9
+ /**
10
+ * Resolve each series to a concrete color and name. Color precedence:
11
+ * explicit `color` → `semantic` token → palette slot by declared index (so the
12
+ * lead series keeps the lead color even after the bands are reordered).
13
+ */
14
+ const resolveSeries = (series, palette, theme) => series.map((entry, index) => ({
15
+ ...entry,
16
+ name: entry.name ?? entry.key,
17
+ color: entry.color ?? (entry.semantic ? semanticColor(theme, entry.semantic) : paletteColor(palette, index))
18
+ }));
19
+ /**
20
+ * Stacked bands read cleanest as a vertical gradient: darkest at the baseline,
21
+ * lightest at the top edge. Sorting by luminance enforces that for any palette
22
+ * (this is what fixed the "muddy cyan" stack in the lab). Render order maps to
23
+ * stack order in Recharts — first entry sits at the bottom.
24
+ */
25
+ const orderByLuminance = (series) => [...series].sort((lower, upper) => luminance(lower.color) - luminance(upper.color));
26
+ //#endregion
27
+ export { formatShare, orderByLuminance, resolveSeries };