@alpic-ai/ui 1.169.1 → 1.171.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 (56) hide show
  1. package/dist/components/accordion-card.d.mts +1 -1
  2. package/dist/components/accordion.d.mts +1 -1
  3. package/dist/components/alert.d.mts +2 -2
  4. package/dist/components/area-chart.mjs +1 -1
  5. package/dist/components/attachment-tile.mjs +1 -1
  6. package/dist/components/avatar.d.mts +2 -2
  7. package/dist/components/bar-chart.mjs +2 -2
  8. package/dist/components/bar-list.mjs +1 -1
  9. package/dist/components/button.d.mts +3 -3
  10. package/dist/components/chart-container.mjs +2 -2
  11. package/dist/components/combobox.d.mts +1 -1
  12. package/dist/components/combobox.mjs +1 -1
  13. package/dist/components/copyable.mjs +1 -1
  14. package/dist/components/dialog.d.mts +1 -1
  15. package/dist/components/donut-chart.mjs +1 -1
  16. package/dist/components/dropdown-menu.d.mts +2 -2
  17. package/dist/components/editable.d.mts +101 -0
  18. package/dist/components/editable.mjs +509 -0
  19. package/dist/components/form.d.mts +10 -8
  20. package/dist/components/form.mjs +19 -9
  21. package/dist/components/heatmap-chart.mjs +1 -1
  22. package/dist/components/input-group.d.mts +1 -1
  23. package/dist/components/input.d.mts +3 -1
  24. package/dist/components/input.mjs +6 -4
  25. package/dist/components/line-chart.mjs +1 -1
  26. package/dist/components/select.d.mts +1 -1
  27. package/dist/components/sidebar.d.mts +1 -1
  28. package/dist/components/sidebar.mjs +2 -2
  29. package/dist/components/spinner.d.mts +1 -1
  30. package/dist/components/stat.mjs +1 -1
  31. package/dist/components/tabs.d.mts +2 -2
  32. package/dist/components/tabs.mjs +1 -1
  33. package/dist/components/textarea.mjs +1 -1
  34. package/dist/components/toggle-group.d.mts +1 -1
  35. package/dist/components/toggle-group.mjs +1 -1
  36. package/dist/components/tooltip-icon-button.mjs +1 -1
  37. package/dist/components/visually-hidden-input.d.mts +12 -0
  38. package/dist/components/visually-hidden-input.mjs +109 -0
  39. package/dist/hooks/use-as-ref.d.mts +5 -0
  40. package/dist/hooks/use-as-ref.mjs +12 -0
  41. package/dist/hooks/use-isomorphic-layout-effect.d.mts +5 -0
  42. package/dist/hooks/use-isomorphic-layout-effect.mjs +5 -0
  43. package/dist/hooks/use-lazy-ref.d.mts +6 -0
  44. package/dist/hooks/use-lazy-ref.mjs +9 -0
  45. package/dist/lib/compose-refs.mjs +23 -0
  46. package/package.json +8 -12
  47. package/src/components/bar-chart.tsx +1 -1
  48. package/src/components/editable.tsx +871 -0
  49. package/src/components/form.tsx +16 -6
  50. package/src/components/input.tsx +8 -0
  51. package/src/components/visually-hidden-input.tsx +148 -0
  52. package/src/hooks/use-as-ref.ts +15 -0
  53. package/src/hooks/use-isomorphic-layout-effect.ts +5 -0
  54. package/src/hooks/use-lazy-ref.ts +13 -0
  55. package/src/lib/compose-refs.ts +38 -0
  56. package/src/stories/input.stories.tsx +3 -0
@@ -1,5 +1,5 @@
1
- import * as React$1 from "react";
2
1
  import * as AccordionPrimitive from "@radix-ui/react-accordion";
2
+ import * as React$1 from "react";
3
3
  //#region src/components/accordion-card.d.ts
4
4
  declare function AccordionCard({ defaultOpen, open, onOpenChange, disabled, className, children, ...props }: {
5
5
  defaultOpen?: boolean;
@@ -1,5 +1,5 @@
1
- import * as React$1 from "react";
2
1
  import * as AccordionPrimitive from "@radix-ui/react-accordion";
2
+ import * as React$1 from "react";
3
3
  //#region src/components/accordion.d.ts
4
4
  declare function Accordion({ ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Root>): React$1.JSX.Element;
5
5
  declare function AccordionItem({ className, ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Item>): React$1.JSX.Element;
@@ -1,8 +1,8 @@
1
- import * as React$1 from "react";
2
1
  import { VariantProps } from "class-variance-authority";
2
+ import * as React$1 from "react";
3
3
  //#region src/components/alert.d.ts
4
4
  declare const alertVariants: (props?: ({
5
- variant?: "destructive" | "default" | "success" | "warning" | null | undefined;
5
+ variant?: "default" | "destructive" | "success" | "warning" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  interface AlertProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof alertVariants> {}
8
8
  declare function Alert({ className, variant, ...props }: AlertProps): React$1.JSX.Element;
@@ -6,8 +6,8 @@ import { ChartLegend } from "./chart-legend.mjs";
6
6
  import { computeNumericMax, makeActiveDot, makeChartAxis, makeLastValueLabel, makeLegendItems, renderMarkers, renderReferenceLine } from "./chart-primitives.mjs";
7
7
  import { ChartTooltipContent } from "./chart-tooltip.mjs";
8
8
  import { Skeleton } from "./skeleton.mjs";
9
- import * as React$1 from "react";
10
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
+ import * as React$1 from "react";
11
11
  import { Area, AreaChart as AreaChart$1, CartesianGrid, LabelList, ResponsiveContainer, Tooltip, XAxis, YAxis } from "recharts";
12
12
  //#region src/components/area-chart.tsx
13
13
  const CURVE_TYPE = {
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.mjs";
3
3
  import { TooltipIconButton } from "./tooltip-icon-button.mjs";
4
- import { useState } from "react";
5
4
  import { FileText, XIcon } from "lucide-react";
6
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { useState } from "react";
7
7
  //#region src/components/attachment-tile.tsx
8
8
  function AttachmentTile({ src, isImage, label, onRemove, onClick, className }) {
9
9
  const [hasError, setHasError] = useState(false);
@@ -1,9 +1,9 @@
1
- import * as React$1 from "react";
2
1
  import { VariantProps } from "class-variance-authority";
2
+ import * as React$1 from "react";
3
3
  import * as AvatarPrimitive from "@radix-ui/react-avatar";
4
4
  //#region src/components/avatar.d.ts
5
5
  declare const avatarVariants: (props?: ({
6
- size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
6
+ size?: "sm" | "lg" | "md" | "xl" | "xs" | null | undefined;
7
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
8
  type AvatarSize = NonNullable<VariantProps<typeof avatarVariants>["size"]>;
9
9
  type AvatarStatus = "online";
@@ -6,8 +6,8 @@ import { ChartLegend } from "./chart-legend.mjs";
6
6
  import { computeNumericMax, makeChartAxis, makeLegendItems, renderMarkers, renderReferenceLine } from "./chart-primitives.mjs";
7
7
  import { ChartTooltipContent } from "./chart-tooltip.mjs";
8
8
  import { Skeleton } from "./skeleton.mjs";
9
- import * as React$1 from "react";
10
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
+ import * as React$1 from "react";
11
11
  import { Bar, BarChart as BarChart$1, CartesianGrid, Cell, LabelList, ResponsiveContainer, Tooltip, XAxis, YAxis } from "recharts";
12
12
  //#region src/components/bar-chart.tsx
13
13
  const BAR_RADIUS = 4;
@@ -89,7 +89,7 @@ function BarChart({ data, index, series, variant = "stacked", legend = false, le
89
89
  "data-slot": "bar-chart",
90
90
  className: cn("flex w-full flex-col gap-3", "[&_.recharts-surface]:outline-none [&_.recharts-wrapper]:outline-none", className),
91
91
  children: [/* @__PURE__ */ jsx("div", {
92
- className: "w-full",
92
+ className: cn("w-full", bare && !loading && !isEmpty && "border-border border-b"),
93
93
  style: { height },
94
94
  children: loading ? /* @__PURE__ */ jsx(Skeleton, { className: "h-full w-full rounded-lg" }) : isEmpty ? /* @__PURE__ */ jsx("div", {
95
95
  className: "flex h-full items-center justify-center rounded-lg border border-border border-dashed font-mono text-quaternary-foreground text-text-xs",
@@ -4,8 +4,8 @@ import { rampColor } from "../lib/chart-palette.mjs";
4
4
  import { useChartContext } from "./chart-container.mjs";
5
5
  import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.mjs";
6
6
  import { Badge } from "./badge.mjs";
7
- import * as React$1 from "react";
8
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
+ import * as React$1 from "react";
9
9
  //#region src/components/bar-list.tsx
10
10
  const SEMANTIC_KEY = {
11
11
  error: "destructive",
@@ -1,9 +1,9 @@
1
- import * as React$1 from "react";
2
1
  import { VariantProps } from "class-variance-authority";
2
+ import * as React$1 from "react";
3
3
  //#region src/components/button.d.ts
4
4
  declare const buttonVariants: (props?: ({
5
- variant?: "primary" | "secondary" | "tertiary" | "link" | "link-muted" | "destructive" | "cta" | null | undefined;
6
- size?: "default" | "icon" | "icon-rounded" | "pill" | null | undefined;
5
+ variant?: "destructive" | "primary" | "secondary" | "link" | "tertiary" | "link-muted" | "cta" | null | undefined;
6
+ size?: "default" | "pill" | "icon" | "icon-rounded" | null | undefined;
7
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
8
  interface ButtonProps extends React$1.ComponentProps<"button">, VariantProps<typeof buttonVariants> {
9
9
  asChild?: boolean;
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { useChartTheme } from "../hooks/use-chart-theme.mjs";
3
2
  import { cn } from "../lib/cn.mjs";
4
3
  import { CHART_PALETTES } from "../lib/chart-palette.mjs";
5
- import * as React$1 from "react";
4
+ import { useChartTheme } from "../hooks/use-chart-theme.mjs";
6
5
  import { jsx } from "react/jsx-runtime";
6
+ import * as React$1 from "react";
7
7
  //#region src/components/chart-container.tsx
8
8
  const ChartContext = React$1.createContext(null);
9
9
  function ChartContainer({ palette = "magenta", className, ...props }) {
@@ -1,7 +1,7 @@
1
1
  import { PopoverContent } from "./popover.mjs";
2
2
  import { selectTriggerVariants } from "./select-trigger-variants.mjs";
3
- import { ReactNode } from "react";
4
3
  import { VariantProps } from "class-variance-authority";
4
+ import { ReactNode } from "react";
5
5
  import { Command } from "cmdk";
6
6
  //#region src/components/combobox.d.ts
7
7
  interface ComboboxBaseProps {
@@ -3,9 +3,9 @@ import { cn } from "../lib/cn.mjs";
3
3
  import { Popover, PopoverContent, PopoverTrigger } from "./popover.mjs";
4
4
  import { selectTriggerVariants } from "./select-trigger-variants.mjs";
5
5
  import { TagDismissible } from "./tag.mjs";
6
- import { createContext, useCallback, useContext, useMemo, useState } from "react";
7
6
  import { CheckIcon, ChevronDownIcon, SearchIcon } from "lucide-react";
8
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
+ import { createContext, useCallback, useContext, useMemo, useState } from "react";
9
9
  import { Command } from "cmdk";
10
10
  //#region src/components/combobox.tsx
11
11
  const ComboboxContext = createContext(null);
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { useCopyToClipboard } from "../hooks/use-copy-to-clipboard.mjs";
3
2
  import { cn } from "../lib/cn.mjs";
4
3
  import { Button } from "./button.mjs";
4
+ import { useCopyToClipboard } from "../hooks/use-copy-to-clipboard.mjs";
5
5
  import { Check, Copy } from "lucide-react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region src/components/copyable.tsx
@@ -1,6 +1,6 @@
1
1
  import { ButtonProps } from "./button.mjs";
2
- import * as React$1 from "react";
3
2
  import { VariantProps } from "class-variance-authority";
3
+ import * as React$1 from "react";
4
4
  import * as DialogPrimitive from "@radix-ui/react-dialog";
5
5
  //#region src/components/dialog.d.ts
6
6
  declare function Dialog({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Root>): React$1.JSX.Element;
@@ -3,8 +3,8 @@ import { cn } from "../lib/cn.mjs";
3
3
  import { paletteColor } from "../lib/chart-palette.mjs";
4
4
  import { formatShare } from "../lib/chart.mjs";
5
5
  import { useChartContext } from "./chart-container.mjs";
6
- import * as React$1 from "react";
7
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
+ import * as React$1 from "react";
8
8
  import { Cell, Pie, PieChart, ResponsiveContainer } from "recharts";
9
9
  //#region src/components/donut-chart.tsx
10
10
  const GEOMETRY = {
@@ -1,5 +1,5 @@
1
- import * as React$1 from "react";
2
1
  import { VariantProps } from "class-variance-authority";
2
+ import * as React$1 from "react";
3
3
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
4
4
  //#region src/components/dropdown-menu.d.ts
5
5
  declare function DropdownMenu({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>): React$1.JSX.Element;
@@ -8,7 +8,7 @@ declare function DropdownMenuTrigger({ ...props }: React$1.ComponentProps<typeof
8
8
  declare function DropdownMenuContent({ className, sideOffset, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>): React$1.JSX.Element;
9
9
  declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): React$1.JSX.Element;
10
10
  declare const dropdownMenuItemVariants: (props?: ({
11
- variant?: "destructive" | "default" | null | undefined;
11
+ variant?: "default" | "destructive" | null | undefined;
12
12
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
13
13
  declare function DropdownMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & VariantProps<typeof dropdownMenuItemVariants> & {
14
14
  inset?: boolean;
@@ -0,0 +1,101 @@
1
+ import * as React$1 from "react";
2
+ //#region src/components/editable.d.ts
3
+ type Direction = "ltr" | "rtl";
4
+ interface DivProps extends React$1.ComponentProps<"div"> {
5
+ asChild?: boolean;
6
+ }
7
+ interface StoreState {
8
+ value: string;
9
+ editing: boolean;
10
+ }
11
+ interface Store {
12
+ subscribe: (callback: () => void) => () => void;
13
+ getState: () => StoreState;
14
+ setState: <K extends keyof StoreState>(key: K, value: StoreState[K]) => void;
15
+ notify: () => void;
16
+ }
17
+ declare function useStore<T>(selector: (state: StoreState) => T, ogStore?: Store | null): T;
18
+ interface EditableContextValue {
19
+ rootId: string;
20
+ inputId: string;
21
+ labelId: string;
22
+ defaultValue: string;
23
+ onCancel: () => void;
24
+ onEdit: () => void;
25
+ onSubmit: (value: string) => void;
26
+ onEnterKeyDown?: (event: KeyboardEvent) => void;
27
+ onEscapeKeyDown?: (event: KeyboardEvent) => void;
28
+ dir?: Direction;
29
+ maxLength?: number;
30
+ placeholder?: string;
31
+ triggerMode: "click" | "dblclick" | "focus";
32
+ autosize: boolean;
33
+ multiline: boolean;
34
+ disabled?: boolean;
35
+ readOnly?: boolean;
36
+ required?: boolean;
37
+ invalid?: boolean;
38
+ }
39
+ interface EditableProps extends Omit<DivProps, "onSubmit"> {
40
+ id?: string;
41
+ defaultValue?: string;
42
+ value?: string;
43
+ onValueChange?: (value: string) => void;
44
+ defaultEditing?: boolean;
45
+ editing?: boolean;
46
+ onEditingChange?: (editing: boolean) => void;
47
+ onCancel?: () => void;
48
+ onEdit?: () => void;
49
+ onSubmit?: (value: string) => void;
50
+ onEscapeKeyDown?: (event: KeyboardEvent) => void;
51
+ onEnterKeyDown?: (event: KeyboardEvent) => void;
52
+ dir?: Direction;
53
+ maxLength?: number;
54
+ name?: string;
55
+ placeholder?: string;
56
+ triggerMode?: EditableContextValue["triggerMode"];
57
+ autosize?: boolean;
58
+ multiline?: boolean;
59
+ disabled?: boolean;
60
+ readOnly?: boolean;
61
+ required?: boolean;
62
+ invalid?: boolean;
63
+ }
64
+ declare function Editable(props: EditableProps): React$1.JSX.Element;
65
+ interface EditableLabelProps extends React$1.ComponentProps<"label"> {
66
+ asChild?: boolean;
67
+ }
68
+ declare function EditableLabel(props: EditableLabelProps): React$1.JSX.Element;
69
+ interface EditableAreaProps extends React$1.ComponentProps<"div"> {
70
+ asChild?: boolean;
71
+ }
72
+ declare function EditableArea(props: EditableAreaProps): React$1.JSX.Element;
73
+ interface EditablePreviewProps extends React$1.ComponentProps<"div"> {
74
+ asChild?: boolean;
75
+ }
76
+ declare function EditablePreview(props: EditablePreviewProps): React$1.JSX.Element | null;
77
+ interface EditableInputProps extends React$1.ComponentProps<"input"> {
78
+ asChild?: boolean;
79
+ maxLength?: number;
80
+ }
81
+ declare function EditableInput(props: EditableInputProps): React$1.JSX.Element | null;
82
+ interface EditableTriggerProps extends React$1.ComponentProps<"button"> {
83
+ asChild?: boolean;
84
+ forceMount?: boolean;
85
+ }
86
+ declare function EditableTrigger(props: EditableTriggerProps): React$1.JSX.Element | null;
87
+ interface EditableToolbarProps extends React$1.ComponentProps<"div"> {
88
+ asChild?: boolean;
89
+ orientation?: "horizontal" | "vertical";
90
+ }
91
+ declare function EditableToolbar(props: EditableToolbarProps): React$1.JSX.Element;
92
+ interface EditableCancelProps extends React$1.ComponentProps<"button"> {
93
+ asChild?: boolean;
94
+ }
95
+ declare function EditableCancel(props: EditableCancelProps): React$1.JSX.Element | null;
96
+ interface EditableSubmitProps extends React$1.ComponentProps<"button"> {
97
+ asChild?: boolean;
98
+ }
99
+ declare function EditableSubmit(props: EditableSubmitProps): React$1.JSX.Element | null;
100
+ //#endregion
101
+ export { Editable, EditableArea, EditableCancel, EditableInput, EditableLabel, EditablePreview, type EditableProps, EditableSubmit, EditableToolbar, EditableTrigger, useStore as useEditable };