@alpic-ai/ui 1.152.0 → 1.154.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/components/accordion-card.d.mts +4 -25
  2. package/dist/components/accordion.d.mts +4 -18
  3. package/dist/components/alert.d.mts +5 -24
  4. package/dist/components/area-chart.d.mts +1 -22
  5. package/dist/components/attachment-tile.d.mts +1 -8
  6. package/dist/components/avatar.d.mts +4 -27
  7. package/dist/components/badge.d.mts +1 -8
  8. package/dist/components/bar-chart.d.mts +1 -21
  9. package/dist/components/bar-list.d.mts +1 -13
  10. package/dist/components/breadcrumb.d.mts +8 -35
  11. package/dist/components/button.d.mts +1 -14
  12. package/dist/components/card.d.mts +7 -30
  13. package/dist/components/chart-card.d.mts +1 -12
  14. package/dist/components/chart-container.d.mts +1 -6
  15. package/dist/components/chart-legend.d.mts +1 -8
  16. package/dist/components/chart-tooltip.d.mts +1 -11
  17. package/dist/components/checkbox.d.mts +1 -5
  18. package/dist/components/collapsible.d.mts +3 -10
  19. package/dist/components/combobox.d.mts +9 -45
  20. package/dist/components/command.d.mts +8 -32
  21. package/dist/components/copyable.d.mts +2 -9
  22. package/dist/components/description-list.d.mts +4 -17
  23. package/dist/components/dialog.d.mts +10 -42
  24. package/dist/components/donut-chart.d.mts +1 -16
  25. package/dist/components/dropdown-menu.d.mts +13 -55
  26. package/dist/components/form.d.mts +15 -115
  27. package/dist/components/github-button.d.mts +1 -6
  28. package/dist/components/heatmap-chart.d.mts +1 -23
  29. package/dist/components/input-group.d.mts +3 -15
  30. package/dist/components/input.d.mts +1 -14
  31. package/dist/components/label.d.mts +1 -5
  32. package/dist/components/line-chart.d.mts +1 -21
  33. package/dist/components/page-loader.d.mts +1 -3
  34. package/dist/components/pagination.d.mts +1 -8
  35. package/dist/components/popover.d.mts +4 -16
  36. package/dist/components/radio-group.d.mts +2 -9
  37. package/dist/components/scroll-area.d.mts +2 -11
  38. package/dist/components/select.d.mts +8 -35
  39. package/dist/components/separator.d.mts +1 -7
  40. package/dist/components/sheet.d.mts +9 -35
  41. package/dist/components/shimmer-text.d.mts +1 -5
  42. package/dist/components/sidebar.d.mts +22 -113
  43. package/dist/components/skeleton.d.mts +1 -6
  44. package/dist/components/sonner.d.mts +1 -8
  45. package/dist/components/spinner.d.mts +2 -14
  46. package/dist/components/stat.d.mts +1 -10
  47. package/dist/components/stat.mjs +2 -2
  48. package/dist/components/status-dot.d.mts +1 -7
  49. package/dist/components/switch.d.mts +1 -5
  50. package/dist/components/table.d.mts +11 -34
  51. package/dist/components/table.mjs +2 -2
  52. package/dist/components/tabs.d.mts +7 -36
  53. package/dist/components/tag.d.mts +3 -20
  54. package/dist/components/task-progress.d.mts +1 -7
  55. package/dist/components/textarea.d.mts +1 -11
  56. package/dist/components/toggle-group.d.mts +2 -15
  57. package/dist/components/tooltip-icon-button.d.mts +0 -1
  58. package/dist/components/tooltip.d.mts +4 -17
  59. package/dist/components/typography.d.mts +4 -17
  60. package/dist/components/wizard.d.mts +1 -7
  61. package/dist/hooks/use-copy-to-clipboard.d.mts +1 -3
  62. package/dist/lib/chart-palette.mjs +39 -21
  63. package/dist/lib/chart.d.mts +1 -0
  64. package/dist/lib/cn.d.mts +0 -1
  65. package/package.json +19 -19
  66. package/src/components/stat.tsx +2 -2
  67. package/src/components/table.tsx +11 -2
@@ -3,31 +3,14 @@ interface TagBaseProps {
3
3
  icon?: React.ReactNode;
4
4
  }
5
5
  interface TagProps extends React.ComponentProps<"span">, TagBaseProps {}
6
- declare function Tag({
7
- className,
8
- icon,
9
- children,
10
- ...props
11
- }: TagProps): import("react").JSX.Element;
6
+ declare function Tag({ className, icon, children, ...props }: TagProps): import("react").JSX.Element;
12
7
  interface TagDismissibleProps extends React.ComponentProps<"span">, TagBaseProps {
13
8
  onDismiss?: () => void;
14
9
  }
15
- declare function TagDismissible({
16
- className,
17
- icon,
18
- children,
19
- onDismiss,
20
- ...props
21
- }: TagDismissibleProps): import("react").JSX.Element;
10
+ declare function TagDismissible({ className, icon, children, onDismiss, ...props }: TagDismissibleProps): import("react").JSX.Element;
22
11
  interface TagCountProps extends React.ComponentProps<"span">, TagBaseProps {
23
12
  count: number;
24
13
  }
25
- declare function TagCount({
26
- className,
27
- icon,
28
- children,
29
- count,
30
- ...props
31
- }: TagCountProps): import("react").JSX.Element;
14
+ declare function TagCount({ className, icon, children, count, ...props }: TagCountProps): import("react").JSX.Element;
32
15
  //#endregion
33
16
  export { Tag, TagCount, TagDismissible };
@@ -14,12 +14,6 @@ interface TaskProgressProps extends Omit<React.ComponentProps<"div">, "children"
14
14
  */
15
15
  stepRevealDelayMs?: number;
16
16
  }
17
- declare function TaskProgress({
18
- steps,
19
- trailingLabel,
20
- stepRevealDelayMs,
21
- className,
22
- ...props
23
- }: TaskProgressProps): import("react").JSX.Element;
17
+ declare function TaskProgress({ steps, trailingLabel, stepRevealDelayMs, className, ...props }: TaskProgressProps): import("react").JSX.Element;
24
18
  //#endregion
25
19
  export { TaskProgress, type TaskProgressStatus, type TaskProgressStep };
@@ -1,5 +1,4 @@
1
1
  import * as React$1 from "react";
2
-
3
2
  //#region src/components/textarea.d.ts
4
3
  interface TextareaProps extends React$1.ComponentProps<"textarea"> {
5
4
  label?: string;
@@ -8,15 +7,6 @@ interface TextareaProps extends React$1.ComponentProps<"textarea"> {
8
7
  error?: string;
9
8
  tooltip?: string;
10
9
  }
11
- declare function Textarea({
12
- className,
13
- id,
14
- label,
15
- required,
16
- hint,
17
- error,
18
- tooltip,
19
- ...props
20
- }: TextareaProps): React$1.JSX.Element;
10
+ declare function Textarea({ className, id, label, required, hint, error, tooltip, ...props }: TextareaProps): React$1.JSX.Element;
21
11
  //#endregion
22
12
  export { Textarea, type TextareaProps };
@@ -1,26 +1,13 @@
1
1
  import { VariantProps } from "class-variance-authority";
2
2
  import * as React$1 from "react";
3
3
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
4
-
5
4
  //#region src/components/toggle-group.d.ts
6
5
  declare const toggleGroupItemVariants: (props?: ({
7
6
  variant?: "default" | "outline" | null | undefined;
8
7
  size?: "default" | "sm" | null | undefined;
9
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
9
  type ToggleGroupContextValue = VariantProps<typeof toggleGroupItemVariants>;
11
- declare function ToggleGroup({
12
- className,
13
- variant,
14
- size,
15
- children,
16
- ...props
17
- }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Root> & ToggleGroupContextValue): React$1.JSX.Element;
18
- declare function ToggleGroupItem({
19
- className,
20
- children,
21
- variant,
22
- size,
23
- ...props
24
- }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleGroupItemVariants>): React$1.JSX.Element;
10
+ declare function ToggleGroup({ className, variant, size, children, ...props }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Root> & ToggleGroupContextValue): React$1.JSX.Element;
11
+ declare function ToggleGroupItem({ className, children, variant, size, ...props }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleGroupItemVariants>): React$1.JSX.Element;
25
12
  //#endregion
26
13
  export { ToggleGroup, ToggleGroupItem, toggleGroupItemVariants };
@@ -1,6 +1,5 @@
1
1
  import { Button } from "./button.mjs";
2
2
  import { ComponentPropsWithRef } from "react";
3
-
4
3
  //#region src/components/tooltip-icon-button.d.ts
5
4
  type TooltipIconButtonProps = ComponentPropsWithRef<typeof Button> & {
6
5
  tooltip: string;
@@ -1,22 +1,9 @@
1
1
  import * as React$1 from "react";
2
2
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
3
-
4
3
  //#region src/components/tooltip.d.ts
5
- declare function TooltipProvider({
6
- delayDuration,
7
- ...props
8
- }: React$1.ComponentProps<typeof TooltipPrimitive.Provider>): React$1.JSX.Element;
9
- declare function Tooltip({
10
- ...props
11
- }: React$1.ComponentProps<typeof TooltipPrimitive.Root>): React$1.JSX.Element;
12
- declare function TooltipTrigger({
13
- ...props
14
- }: React$1.ComponentProps<typeof TooltipPrimitive.Trigger>): React$1.JSX.Element;
15
- declare function TooltipContent({
16
- className,
17
- sideOffset,
18
- children,
19
- ...props
20
- }: React$1.ComponentProps<typeof TooltipPrimitive.Content>): React$1.JSX.Element;
4
+ declare function TooltipProvider({ delayDuration, ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Provider>): React$1.JSX.Element;
5
+ declare function Tooltip({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Root>): React$1.JSX.Element;
6
+ declare function TooltipTrigger({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Trigger>): React$1.JSX.Element;
7
+ declare function TooltipContent({ className, sideOffset, children, ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Content>): React$1.JSX.Element;
21
8
  //#endregion
22
9
  export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
@@ -1,31 +1,18 @@
1
1
  import { ReactNode } from "react";
2
-
3
2
  //#region src/components/typography.d.ts
4
- declare function H1({
5
- children,
6
- className
7
- }: {
3
+ declare function H1({ children, className }: {
8
4
  children: ReactNode;
9
5
  className?: string;
10
6
  }): import("react").JSX.Element;
11
- declare function H2({
12
- children,
13
- className
14
- }: {
7
+ declare function H2({ children, className }: {
15
8
  children: ReactNode;
16
9
  className?: string;
17
10
  }): import("react").JSX.Element;
18
- declare function H3({
19
- children,
20
- className
21
- }: {
11
+ declare function H3({ children, className }: {
22
12
  children: ReactNode;
23
13
  className?: string;
24
14
  }): import("react").JSX.Element;
25
- declare function H4({
26
- children,
27
- className
28
- }: {
15
+ declare function H4({ children, className }: {
29
16
  children: ReactNode;
30
17
  className?: string;
31
18
  }): import("react").JSX.Element;
@@ -1,15 +1,9 @@
1
1
  import * as React$1 from "react";
2
-
3
2
  //#region src/components/wizard.d.ts
4
3
  interface WizardProgressProps extends React$1.ComponentProps<"div"> {
5
4
  current: number;
6
5
  total: number;
7
6
  }
8
- declare function WizardProgress({
9
- current,
10
- total,
11
- className,
12
- ...props
13
- }: WizardProgressProps): React$1.JSX.Element;
7
+ declare function WizardProgress({ current, total, className, ...props }: WizardProgressProps): React$1.JSX.Element;
14
8
  //#endregion
15
9
  export { WizardProgress };
@@ -1,7 +1,5 @@
1
1
  //#region src/hooks/use-copy-to-clipboard.d.ts
2
- declare function useCopyToClipboard({
3
- resetDelay
4
- }?: {
2
+ declare function useCopyToClipboard({ resetDelay }?: {
5
3
  resetDelay?: number;
6
4
  }): {
7
5
  copy: (text: string) => void;
@@ -1,24 +1,42 @@
1
+ //#region src/lib/chart-palette.ts
2
+ /**
3
+ * Chart palettes — the locked "paired system" from the analytics-v2 design.
4
+ *
5
+ * These are charting-API color values (consumed by Recharts at draw time, which
6
+ * cannot read CSS custom properties), so per the design-system rules they live
7
+ * as documented hex constants rather than `--color-*` tokens. They are
8
+ * theme-independent: the same series colors read on light and dark canvases.
9
+ * Only the chrome (grid, axis text, tooltip surface, semantic colors) is
10
+ * theme-aware — see `useChartTheme`.
11
+ *
12
+ * Rules baked in:
13
+ * - Pink leads (index 0) — never buried, fixing the V1 "pink last" bug.
14
+ * - Adjacent dashboard cards alternate lead palette (magenta / cyan) — the
15
+ * page decides which to pass; the component just receives one.
16
+ */
17
+ const MAGENTA_PALETTE = [
18
+ "#da1b6a",
19
+ "#ec82b0",
20
+ "#9a67d7",
21
+ "#668fdf",
22
+ "#47bde0",
23
+ "#75ddd8",
24
+ "#cd8c4d",
25
+ "#3eb0a1"
26
+ ];
27
+ const CYAN_PALETTE = [
28
+ "#2eb2c5",
29
+ "#50d0c0",
30
+ "#4f90e0",
31
+ "#8d74e0",
32
+ "#bc73e0",
33
+ "#ec82b0",
34
+ "#da1b6a",
35
+ "#c08dd3"
36
+ ];
1
37
  const CHART_PALETTES = {
2
- magenta: [
3
- "#da1b6a",
4
- "#ec82b0",
5
- "#9a67d7",
6
- "#668fdf",
7
- "#47bde0",
8
- "#75ddd8",
9
- "#cd8c4d",
10
- "#3eb0a1"
11
- ],
12
- cyan: [
13
- "#2eb2c5",
14
- "#50d0c0",
15
- "#4f90e0",
16
- "#8d74e0",
17
- "#bc73e0",
18
- "#ec82b0",
19
- "#da1b6a",
20
- "#c08dd3"
21
- ]
38
+ magenta: MAGENTA_PALETTE,
39
+ cyan: CYAN_PALETTE
22
40
  };
23
41
  const heatRampMagenta = (empty) => [
24
42
  empty,
@@ -95,4 +113,4 @@ const heatColor = (stops, fraction) => {
95
113
  return mixHex(stops[lowerIndex], stops[lowerIndex + 1], segment - lowerIndex);
96
114
  };
97
115
  //#endregion
98
- export { CHART_PALETTES, HEAT_EMPTY, heatColor, heatRamp, luminance, paletteColor, rampColor };
116
+ export { CHART_PALETTES, CYAN_PALETTE, HEAT_EMPTY, MAGENTA_PALETTE, heatColor, heatRamp, heatRampMagenta, heatRampMint, luminance, paletteColor, rampColor };
@@ -1,3 +1,4 @@
1
+ import "react";
1
2
  //#region src/lib/chart.d.ts
2
3
  /**
3
4
  * Declarative description of one plotted series. The same shape drives area,
package/dist/lib/cn.d.mts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { ClassValue } from "clsx";
2
-
3
2
  //#region src/lib/cn.d.ts
4
3
  declare function cn(...inputs: ClassValue[]): string;
5
4
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpic-ai/ui",
3
- "version": "1.152.0",
3
+ "version": "1.154.0",
4
4
  "description": "Alpic design system — shared UI components",
5
5
  "type": "module",
6
6
  "exports": {
@@ -23,7 +23,7 @@
23
23
  "src"
24
24
  ],
25
25
  "peerDependencies": {
26
- "lucide-react": "^1.23.0",
26
+ "lucide-react": "^1.24.0",
27
27
  "react": "^19.2.7",
28
28
  "react-dom": "^19.2.7",
29
29
  "react-hook-form": "^7.81.0",
@@ -32,23 +32,23 @@
32
32
  "tw-animate-css": "^1.4.0"
33
33
  },
34
34
  "dependencies": {
35
- "@radix-ui/react-accordion": "^1.2.15",
36
- "@radix-ui/react-avatar": "^1.2.1",
37
- "@radix-ui/react-checkbox": "^1.3.6",
38
- "@radix-ui/react-collapsible": "^1.1.15",
39
- "@radix-ui/react-dialog": "^1.1.18",
40
- "@radix-ui/react-dropdown-menu": "^2.1.19",
35
+ "@radix-ui/react-accordion": "^1.2.16",
36
+ "@radix-ui/react-avatar": "^1.2.2",
37
+ "@radix-ui/react-checkbox": "^1.3.7",
38
+ "@radix-ui/react-collapsible": "^1.1.16",
39
+ "@radix-ui/react-dialog": "^1.1.19",
40
+ "@radix-ui/react-dropdown-menu": "^2.1.20",
41
41
  "@radix-ui/react-label": "^2.1.11",
42
- "@radix-ui/react-popover": "^1.1.18",
43
- "@radix-ui/react-radio-group": "^1.4.2",
44
- "@radix-ui/react-scroll-area": "^1.2.13",
45
- "@radix-ui/react-select": "^2.3.2",
42
+ "@radix-ui/react-popover": "^1.1.19",
43
+ "@radix-ui/react-radio-group": "^1.4.3",
44
+ "@radix-ui/react-scroll-area": "^1.2.14",
45
+ "@radix-ui/react-select": "^2.3.3",
46
46
  "@radix-ui/react-separator": "^1.1.11",
47
47
  "@radix-ui/react-slot": "^1.3.0",
48
- "@radix-ui/react-switch": "^1.3.2",
49
- "@radix-ui/react-tabs": "^1.1.16",
50
- "@radix-ui/react-toggle-group": "^1.1.14",
51
- "@radix-ui/react-tooltip": "^1.2.11",
48
+ "@radix-ui/react-switch": "^1.3.3",
49
+ "@radix-ui/react-tabs": "^1.1.17",
50
+ "@radix-ui/react-toggle-group": "^1.1.15",
51
+ "@radix-ui/react-tooltip": "^1.2.12",
52
52
  "class-variance-authority": "^0.7.1",
53
53
  "clsx": "^2.1.1",
54
54
  "cmdk": "^1.1.1",
@@ -60,19 +60,19 @@
60
60
  "@tailwindcss/postcss": "^4.3.2",
61
61
  "@types/react": "19.2.17",
62
62
  "@types/react-dom": "19.2.3",
63
- "lucide-react": "^1.23.0",
63
+ "lucide-react": "^1.24.0",
64
64
  "react-hook-form": "^7.81.0",
65
65
  "shx": "^0.4.0",
66
66
  "sonner": "^2.0.7",
67
67
  "tailwindcss": "^4.3.2",
68
- "tsdown": "^0.22.3",
68
+ "tsdown": "^0.22.5",
69
69
  "tw-animate-css": "^1.4.0",
70
70
  "typescript": "^6.0.3"
71
71
  },
72
72
  "scripts": {
73
73
  "build": "shx rm -rf dist && tsdown",
74
74
  "format": "biome check --write --error-on-warnings .",
75
- "test:type": "tsc --noEmit",
75
+ "test:type": "tsgo --noEmit",
76
76
  "test:format": "biome check --error-on-warnings .",
77
77
  "dev:ui": "ladle serve",
78
78
  "publish:npm": "pnpm publish --tag \"${NPM_TAG}\" --access public --no-git-checks"
@@ -9,7 +9,7 @@ import { cn } from "../lib/cn";
9
9
  import { useChartContext } from "./chart-container";
10
10
 
11
11
  const statDeltaVariants = cva(
12
- "inline-flex items-center gap-0.5 rounded-md px-1.5 py-0.5 font-mono text-[11px] font-medium leading-none",
12
+ "inline-flex items-center gap-0.5 rounded-md px-2 py-1 font-mono text-xs font-medium leading-none",
13
13
  {
14
14
  variants: {
15
15
  sentiment: {
@@ -63,7 +63,7 @@ function Stat({ value, unit, delta, sparkline, semantic, className, ...props }:
63
63
  {unit && <span className="font-mono text-[11px] leading-none text-quaternary-foreground mb-0.5">{unit}</span>}
64
64
  {delta && (
65
65
  <DeltaPill sentiment={sentiment} className="mb-0.5">
66
- {delta.direction === "up" ? <ArrowUp className="size-3" /> : <ArrowDown className="size-3" />}
66
+ {delta.direction === "up" ? <ArrowUp className="size-3.5" /> : <ArrowDown className="size-3.5" />}
67
67
  {delta.label ?? `${delta.value}%`}
68
68
  </DeltaPill>
69
69
  )}
@@ -4,9 +4,18 @@ import type * as React from "react";
4
4
 
5
5
  import { cn } from "../lib/cn";
6
6
 
7
- function Table({ className, ...props }: React.ComponentProps<"table">) {
7
+ interface TableProps extends React.ComponentProps<"table"> {
8
+ containerClassName?: string;
9
+ }
10
+
11
+ function Table({ className, containerClassName, ...props }: TableProps) {
8
12
  return (
9
- <div className="relative w-full overflow-auto rounded-xl border border-border-secondary bg-background">
13
+ <div
14
+ className={cn(
15
+ "relative w-full overflow-auto rounded-xl border border-border-secondary bg-background",
16
+ containerClassName,
17
+ )}
18
+ >
10
19
  <table data-slot="table" className={cn("w-full caption-bottom type-text-sm", className)} {...props} />
11
20
  </div>
12
21
  );