@siyahi/ui 0.1.8-next.4 → 0.1.9-next.10

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 (90) hide show
  1. package/README.md +75 -23
  2. package/THIRD_PARTY_NOTICES.md +11 -10
  3. package/dist/components/registry/charts/area-chart-card.d.ts +4 -3
  4. package/dist/components/registry/charts/area-chart-card.js +2 -2
  5. package/dist/components/registry/charts/bar-chart-card.d.ts +7 -1
  6. package/dist/components/registry/charts/bar-chart-card.js +35 -14
  7. package/dist/components/registry/charts/line-chart-card.d.ts +5 -2
  8. package/dist/components/registry/charts/line-chart-card.js +2 -2
  9. package/dist/components/registry/dashboard-01/section-cards.d.ts +11 -2
  10. package/dist/components/registry/dashboard-01/section-cards.js +44 -26
  11. package/dist/components/registry/dashboardcn/bar-list.d.ts +3 -1
  12. package/dist/components/registry/dashboardcn/bar-list.js +3 -3
  13. package/dist/components/registry/dashboardcn/distribution-bar.d.ts +38 -0
  14. package/dist/components/registry/dashboardcn/distribution-bar.js +118 -0
  15. package/dist/components/registry/dashboardcn/kpi-row-card.d.ts +29 -0
  16. package/dist/components/registry/dashboardcn/kpi-row-card.js +81 -0
  17. package/dist/components/registry/dashboardcn/sparkline.d.ts +18 -0
  18. package/dist/components/registry/dashboardcn/sparkline.js +95 -0
  19. package/dist/components/registry/minidev/copy-button.d.ts +11 -0
  20. package/dist/components/registry/minidev/copy-button.js +34 -0
  21. package/dist/components/registry/niko-table/components/data-table-search-filter.d.ts +35 -0
  22. package/dist/components/registry/niko-table/components/data-table-search-filter.js +44 -0
  23. package/dist/components/registry/niko-table/filters/table-search-filter.d.ts +38 -0
  24. package/dist/components/registry/niko-table/filters/table-search-filter.js +103 -0
  25. package/dist/components/registry/niko-table/ui/table.js +2 -2
  26. package/dist/components/registry/sidebar-07/nav-main.d.ts +1 -1
  27. package/dist/components/siyahi/data-bar.d.ts +19 -0
  28. package/dist/components/siyahi/data-bar.js +29 -0
  29. package/dist/components/siyahi/data-list.d.ts +14 -0
  30. package/dist/components/siyahi/data-list.js +25 -0
  31. package/dist/components/siyahi/data-table-row-count.d.ts +11 -0
  32. package/dist/components/siyahi/data-table-row-count.js +18 -0
  33. package/dist/components/siyahi/data-table-sort-header.d.ts +15 -0
  34. package/dist/components/siyahi/data-table-sort-header.js +36 -0
  35. package/dist/components/siyahi/inline-code.d.ts +7 -0
  36. package/dist/components/siyahi/inline-code.js +11 -0
  37. package/dist/components/siyahi/page-section.d.ts +21 -0
  38. package/dist/components/siyahi/page-section.js +39 -0
  39. package/dist/components/siyahi/panel-grid.d.ts +22 -0
  40. package/dist/components/siyahi/panel-grid.js +34 -0
  41. package/dist/components/siyahi/siyahi-provider.d.ts +13 -2
  42. package/dist/components/siyahi/siyahi-provider.js +17 -4
  43. package/dist/components/siyahi/tone-progress.d.ts +15 -0
  44. package/dist/components/siyahi/tone-progress.js +18 -0
  45. package/dist/components/siyahi/treemap.d.ts +7 -0
  46. package/dist/components/siyahi/treemap.js +69 -2
  47. package/dist/components/ui/accordion.js +5 -5
  48. package/dist/components/ui/alert.js +2 -2
  49. package/dist/components/ui/badge.js +1 -1
  50. package/dist/components/ui/breadcrumb.js +2 -2
  51. package/dist/components/ui/button.js +10 -10
  52. package/dist/components/ui/calendar.js +1 -1
  53. package/dist/components/ui/card.js +4 -4
  54. package/dist/components/ui/chart.js +1 -1
  55. package/dist/components/ui/code-block.d.ts +28 -0
  56. package/dist/components/ui/code-block.js +123 -0
  57. package/dist/components/ui/command.js +7 -6
  58. package/dist/components/ui/context-menu.js +7 -7
  59. package/dist/components/ui/dialog.js +5 -5
  60. package/dist/components/ui/dropdown-menu.js +8 -8
  61. package/dist/components/ui/input-group.js +11 -11
  62. package/dist/components/ui/input.js +1 -1
  63. package/dist/components/ui/popover.js +3 -3
  64. package/dist/components/ui/progress.js +1 -1
  65. package/dist/components/ui/select.js +6 -6
  66. package/dist/components/ui/sheet.js +5 -5
  67. package/dist/components/ui/sidebar.js +17 -18
  68. package/dist/components/ui/skeleton.js +1 -1
  69. package/dist/components/ui/slider.js +2 -2
  70. package/dist/components/ui/table.js +2 -2
  71. package/dist/components/ui/tabs.js +2 -2
  72. package/dist/components/ui/textarea.js +1 -1
  73. package/dist/components/ui/toggle-group.js +2 -2
  74. package/dist/components/ui/toggle.js +4 -4
  75. package/dist/components/ui/tooltip.js +2 -2
  76. package/dist/index.d.ts +25 -11
  77. package/dist/index.js +20 -6
  78. package/dist/lib/chart-frame.d.ts +18 -4
  79. package/dist/lib/chart-frame.js +183 -56
  80. package/dist/lib/chart-series.d.ts +58 -3
  81. package/dist/lib/format.d.ts +3 -0
  82. package/dist/lib/format.js +6 -1
  83. package/dist/lib/treemap.d.ts +4 -0
  84. package/dist/lib/treemap.js +9 -4
  85. package/package.json +1 -1
  86. package/registry.lock.json +48 -0
  87. package/report.css +11 -11
  88. package/styles/siyahi.css +53 -11
  89. package/dist/lib/recharts.d.ts +0 -2
  90. package/dist/lib/recharts.js +0 -1
@@ -6,21 +6,21 @@ function Card({ className, size = "default", ...props }) {
6
6
  return /* @__PURE__ */ jsx("div", {
7
7
  "data-slot": "card",
8
8
  "data-size": size,
9
- className: cn("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-4xl bg-card py-(--card-spacing) text-sm text-card-foreground shadow-md ring-1 ring-foreground/5 [--card-spacing:--spacing(6)] has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(4)] dark:ring-foreground/10 *:[img:first-child]:rounded-t-4xl *:[img:last-child]:rounded-b-4xl", className),
9
+ className: cn("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl", className),
10
10
  ...props
11
11
  });
12
12
  }
13
13
  function CardHeader({ className, ...props }) {
14
14
  return /* @__PURE__ */ jsx("div", {
15
15
  "data-slot": "card-header",
16
- className: cn("group/card-header @container/card-header grid auto-rows-min items-start gap-1.5 rounded-t-4xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)", className),
16
+ className: cn("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)", className),
17
17
  ...props
18
18
  });
19
19
  }
20
20
  function CardTitle({ className, ...props }) {
21
21
  return /* @__PURE__ */ jsx("div", {
22
22
  "data-slot": "card-title",
23
- className: cn("font-heading text-base font-medium", className),
23
+ className: cn("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm", className),
24
24
  ...props
25
25
  });
26
26
  }
@@ -48,7 +48,7 @@ function CardContent({ className, ...props }) {
48
48
  function CardFooter({ className, ...props }) {
49
49
  return /* @__PURE__ */ jsx("div", {
50
50
  "data-slot": "card-footer",
51
- className: cn("flex items-center rounded-b-4xl px-(--card-spacing) [.border-t]:pt-(--card-spacing)", className),
51
+ className: cn("flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)", className),
52
52
  ...props
53
53
  });
54
54
  }
@@ -79,7 +79,7 @@ function ChartTooltipContent({ active, payload, className, indicator = "dot", hi
79
79
  if (!active || !payload?.length) return null;
80
80
  const nestLabel = payload.length === 1 && indicator !== "dot";
81
81
  return /* @__PURE__ */ jsxs("div", {
82
- className: cn("grid min-w-32 items-start gap-1.5 rounded-xl bg-popover px-2.5 py-1.5 text-xs text-popover-foreground shadow-lg ring-1 ring-foreground/5 dark:ring-foreground/10", className),
82
+ className: cn("grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl", className),
83
83
  children: [!nestLabel ? tooltipLabel : null, /* @__PURE__ */ jsx("div", {
84
84
  className: "grid gap-1.5",
85
85
  children: payload.filter((item) => item.type !== "none").map((item, index) => {
@@ -0,0 +1,28 @@
1
+ import { Button } from "./button.js";
2
+ import * as React$1 from "react";
3
+ import { VariantProps } from "class-variance-authority";
4
+ //#region src/components/ui/code-block.d.ts
5
+ declare const codeBlockVariants: (props?: ({
6
+ variant?: "default" | "destructive" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ declare function CodeBlock({ className, variant, size, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof codeBlockVariants> & {
9
+ size?: "default" | "sm";
10
+ }): React$1.JSX.Element;
11
+ declare function CodeBlockHeader({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
12
+ declare function CodeBlockTitle({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
13
+ declare function CodeBlockActions({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
14
+ declare function CodeBlockCopyButton({ value, variant, size, className, onClick, ...props }: React$1.ComponentProps<typeof Button> & {
15
+ value: string;
16
+ }): React$1.JSX.Element;
17
+ declare function CodeBlockContent({ className, children, style, wrap, lineNumbers, startLine, ...props }: React$1.ComponentProps<"pre"> & {
18
+ wrap?: boolean;
19
+ lineNumbers?: boolean;
20
+ startLine?: number;
21
+ }): React$1.JSX.Element;
22
+ declare const codeBlockLineVariants: (props?: ({
23
+ variant?: "added" | "default" | "highlighted" | "removed" | null | undefined;
24
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
25
+ declare function CodeBlockLine({ className, variant, children, ...props }: React$1.ComponentProps<"span"> & VariantProps<typeof codeBlockLineVariants>): React$1.JSX.Element;
26
+ declare function CodeBlockFooter({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
27
+ //#endregion
28
+ export { CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle };
@@ -0,0 +1,123 @@
1
+ "use client";
2
+ import { Button } from "./button.js";
3
+ import { cn } from "cn";
4
+ import { CheckIcon, CopyIcon } from "lucide-react";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import * as React$1 from "react";
7
+ import { cva } from "class-variance-authority";
8
+ //#region src/components/ui/code-block.tsx
9
+ const codeBlockVariants = cva("group/code-block relative flex w-full min-w-0 flex-col overflow-hidden rounded-lg text-sm has-[>[data-slot=code-block-content]:focus-visible]:ring-3 has-[>[data-slot=code-block-content]:focus-visible]:ring-ring/50 data-[size=sm]:text-xs", {
10
+ variants: { variant: {
11
+ default: "border border-input text-foreground has-[>[data-slot=code-block-content]:focus-visible]:border-ring dark:bg-input/30",
12
+ destructive: "border border-destructive/30 text-destructive dark:border-destructive/40"
13
+ } },
14
+ defaultVariants: { variant: "default" }
15
+ });
16
+ function CodeBlock({ className, variant = "default", size = "default", ...props }) {
17
+ return /* @__PURE__ */ jsx("div", {
18
+ "data-slot": "code-block",
19
+ "data-variant": variant,
20
+ "data-size": size,
21
+ className: cn(codeBlockVariants({ variant }), className),
22
+ ...props
23
+ });
24
+ }
25
+ function CodeBlockHeader({ className, ...props }) {
26
+ return /* @__PURE__ */ jsx("div", {
27
+ "data-slot": "code-block-header",
28
+ className: cn("flex min-w-0 shrink-0 items-center gap-2 px-3 pt-3 text-muted-foreground group-data-[size=sm]/code-block:px-2.5 group-data-[size=sm]/code-block:pt-2.5 group-data-[variant=destructive]/code-block:text-destructive *:has-[>[data-slot=code-block-title]]:min-w-0", className),
29
+ ...props
30
+ });
31
+ }
32
+ function CodeBlockTitle({ className, ...props }) {
33
+ return /* @__PURE__ */ jsx("div", {
34
+ "data-slot": "code-block-title",
35
+ className: cn("min-w-0 truncate font-sans text-sm font-medium text-foreground group-data-[size=sm]/code-block:text-xs group-data-[variant=destructive]/code-block:text-destructive [&_svg]:pointer-events-none [&_svg]:inline-block [&_svg]:align-middle [&_svg:not([class*='size-'])]:size-3.5 *:[svg]:me-1.5", className),
36
+ ...props
37
+ });
38
+ }
39
+ function CodeBlockActions({ className, ...props }) {
40
+ return /* @__PURE__ */ jsx("div", {
41
+ "data-slot": "code-block-actions",
42
+ className: cn("-my-1 ms-auto -me-1.5 flex shrink-0 items-center gap-1 [[data-slot=code-block]>&]:absolute [[data-slot=code-block]>&]:end-2 [[data-slot=code-block]>&]:top-2 [[data-slot=code-block]>&]:z-10 [[data-slot=code-block]>&]:m-0 [[data-slot=code-block]>&]:opacity-0 [[data-slot=code-block]>&]:transition-opacity [[data-slot=code-block]>&]:group-focus-within/code-block:opacity-100 [[data-slot=code-block]>&]:group-hover/code-block:opacity-100 group-data-[size=sm]/code-block:[[data-slot=code-block]>&]:end-1.5 group-data-[size=sm]/code-block:[[data-slot=code-block]>&]:top-1.5 [[data-slot=code-block]>&]:pointer-coarse:opacity-100 [[data-slot=code-block]>&]:*:[button]:bg-background [[data-slot=code-block]>&]:*:[button]:ring-1 [[data-slot=code-block]>&]:*:[button]:ring-foreground/10", className),
43
+ ...props
44
+ });
45
+ }
46
+ function CodeBlockCopyButton({ value, variant = "ghost", size = "icon-xs", className, onClick, ...props }) {
47
+ const [copied, setCopied] = React$1.useState(false);
48
+ React$1.useEffect(() => {
49
+ if (!copied) return;
50
+ const timeout = setTimeout(() => setCopied(false), 2e3);
51
+ return () => clearTimeout(timeout);
52
+ }, [copied]);
53
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Button, {
54
+ "data-slot": "code-block-copy-button",
55
+ "data-copied": copied || void 0,
56
+ variant,
57
+ size,
58
+ "aria-label": copied ? "Copied" : "Copy",
59
+ className: cn(className),
60
+ onClick: (event) => {
61
+ onClick?.(event);
62
+ navigator.clipboard.writeText(value).then(() => setCopied(true)).catch(() => {});
63
+ },
64
+ ...props,
65
+ children: copied ? /* @__PURE__ */ jsx(CheckIcon, {}) : /* @__PURE__ */ jsx(CopyIcon, {})
66
+ }), /* @__PURE__ */ jsx("span", {
67
+ "aria-live": "polite",
68
+ className: "sr-only",
69
+ children: copied ? "Copied" : ""
70
+ })] });
71
+ }
72
+ function CodeBlockContent({ className, children, style, wrap = false, lineNumbers = false, startLine = 1, ...props }) {
73
+ return /* @__PURE__ */ jsx("pre", {
74
+ "data-slot": "code-block-content",
75
+ "data-wrap": wrap || void 0,
76
+ "data-numbered": lineNumbers || void 0,
77
+ dir: "ltr",
78
+ tabIndex: 0,
79
+ style: {
80
+ counterReset: `line ${startLine - 1}`,
81
+ ...style
82
+ },
83
+ className: cn("min-h-0 min-w-0 scroll-fade-x scrollbar-thin overflow-auto px-3 py-3 text-start font-mono leading-relaxed outline-none group-has-data-[slot=code-block-footer]/code-block:pb-2 group-has-data-[slot=code-block-header]/code-block:pt-2 group-data-[size=sm]/code-block:px-2.5 group-data-[size=sm]/code-block:py-2.5 group-data-[size=sm]/code-block:group-has-data-[slot=code-block-header]/code-block:pt-1.5 data-wrap:scroll-fade-y data-wrap:wrap-break-word data-wrap:whitespace-pre-wrap", className),
84
+ ...props,
85
+ children: /* @__PURE__ */ jsx("code", {
86
+ "data-slot": "code-block-code",
87
+ className: "grid min-h-lh min-w-max content-start in-data-numbered:grid-cols-[auto_1fr] in-data-wrap:min-w-0",
88
+ children: lineNumbers && typeof children === "string" ? children.replace(/\n$/, "").split("\n").map((line, index) => /* @__PURE__ */ jsx(CodeBlockLine, { children: line }, index)) : children
89
+ })
90
+ });
91
+ }
92
+ const codeBlockLineVariants = cva("relative -mx-3 block min-h-lh px-3 group-data-[size=sm]/code-block:-mx-2.5 group-data-[size=sm]/code-block:px-2.5 before:min-w-6 before:text-end before:text-muted-foreground after:absolute after:start-1 after:top-0 after:text-muted-foreground after:select-none in-data-numbered:col-span-2 in-data-numbered:grid in-data-numbered:grid-cols-subgrid in-data-numbered:gap-x-3 in-data-numbered:[counter-increment:line] in-data-numbered:before:content-[counter(line)] in-data-numbered:before:select-none in-data-numbered:supports-[content:counter(line)_/_'']:before:content-[counter(line)_/_'']", {
93
+ variants: { variant: {
94
+ default: "",
95
+ added: "bg-muted after:content-['+']",
96
+ removed: "bg-destructive/10 after:text-destructive after:content-['−']",
97
+ highlighted: "bg-muted"
98
+ } },
99
+ defaultVariants: { variant: "default" }
100
+ });
101
+ function CodeBlockLine({ className, variant = "default", children, ...props }) {
102
+ const empty = children === void 0 || children === null || children === "" || Array.isArray(children) && children.length === 0;
103
+ return /* @__PURE__ */ jsx("span", {
104
+ "data-slot": "code-block-line",
105
+ "data-variant": variant,
106
+ className: cn(codeBlockLineVariants({ variant }), className),
107
+ ...props,
108
+ children: /* @__PURE__ */ jsx("span", {
109
+ "data-slot": "code-block-line-content",
110
+ className: "min-w-0",
111
+ children: empty ? "\n" : children
112
+ })
113
+ });
114
+ }
115
+ function CodeBlockFooter({ className, ...props }) {
116
+ return /* @__PURE__ */ jsx("div", {
117
+ "data-slot": "code-block-footer",
118
+ className: cn("flex min-w-0 shrink-0 items-center gap-2 px-3 pb-3 text-muted-foreground group-data-[size=sm]/code-block:px-2.5 group-data-[size=sm]/code-block:pb-2.5", className),
119
+ ...props
120
+ });
121
+ }
122
+ //#endregion
123
+ export { CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle };
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "./dialog.js";
2
3
  import { InputGroup, InputGroupAddon } from "./input-group.js";
3
4
  import { cn } from "cn";
@@ -9,7 +10,7 @@ import { Command as Command$1 } from "cmdk";
9
10
  function Command({ className, ...props }) {
10
11
  return /* @__PURE__ */ jsx(Command$1, {
11
12
  "data-slot": "command",
12
- className: cn("flex size-full flex-col overflow-hidden rounded-4xl bg-popover p-1 text-popover-foreground", className),
13
+ className: cn("flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground", className),
13
14
  ...props
14
15
  });
15
16
  }
@@ -20,7 +21,7 @@ function CommandDialog({ title = "Command Palette", description = "Search for a
20
21
  className: "sr-only",
21
22
  children: [/* @__PURE__ */ jsx(DialogTitle, { children: title }), /* @__PURE__ */ jsx(DialogDescription, { children: description })]
22
23
  }), /* @__PURE__ */ jsx(DialogContent, {
23
- className: cn("top-1/3 translate-y-0 overflow-hidden rounded-4xl! p-0", className),
24
+ className: cn("top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0", className),
24
25
  showCloseButton,
25
26
  children
26
27
  })]
@@ -31,7 +32,7 @@ function CommandInput({ className, ...props }) {
31
32
  "data-slot": "command-input-wrapper",
32
33
  className: "p-1 pb-0",
33
34
  children: /* @__PURE__ */ jsxs(InputGroup, {
34
- className: "h-9 bg-input/50",
35
+ className: "h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!",
35
36
  children: [/* @__PURE__ */ jsx(Command$1.Input, {
36
37
  "data-slot": "command-input",
37
38
  className: cn("w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50", className),
@@ -57,21 +58,21 @@ function CommandEmpty({ className, ...props }) {
57
58
  function CommandGroup({ className, ...props }) {
58
59
  return /* @__PURE__ */ jsx(Command$1.Group, {
59
60
  "data-slot": "command-group",
60
- className: cn("overflow-hidden p-1.5 text-foreground **:[[cmdk-group-heading]]:px-3 **:[[cmdk-group-heading]]:py-2 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground", className),
61
+ className: cn("overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground", className),
61
62
  ...props
62
63
  });
63
64
  }
64
65
  function CommandSeparator({ className, ...props }) {
65
66
  return /* @__PURE__ */ jsx(Command$1.Separator, {
66
67
  "data-slot": "command-separator",
67
- className: cn("my-1.5 h-px bg-border/50", className),
68
+ className: cn("-mx-1 h-px bg-border", className),
68
69
  ...props
69
70
  });
70
71
  }
71
72
  function CommandItem({ className, children, ...props }) {
72
73
  return /* @__PURE__ */ jsxs(Command$1.Item, {
73
74
  "data-slot": "command-item",
74
- className: cn("group/command-item relative flex cursor-default items-center gap-2 rounded-2xl px-3 py-2 text-sm font-medium outline-hidden select-none in-data-[slot=dialog-content]:rounded-3xl data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground", className),
75
+ className: cn("group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground", className),
75
76
  ...props,
76
77
  children: [children, /* @__PURE__ */ jsx(CheckIcon, { className: "ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100" })]
77
78
  });
@@ -32,7 +32,7 @@ function ContextMenuContent({ className, align = "start", alignOffset = 4, side
32
32
  sideOffset,
33
33
  children: /* @__PURE__ */ jsx(ContextMenu$1.Popup, {
34
34
  "data-slot": "context-menu-content",
35
- className: cn("z-50 max-h-(--available-height) min-w-48 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-3xl bg-popover p-1.5 text-popover-foreground shadow-lg ring-1 ring-foreground/5 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:ring-foreground/10 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
35
+ className: cn("z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
36
36
  ...props
37
37
  })
38
38
  }) });
@@ -47,7 +47,7 @@ function ContextMenuLabel({ className, inset, ...props }) {
47
47
  return /* @__PURE__ */ jsx(ContextMenu$1.GroupLabel, {
48
48
  "data-slot": "context-menu-label",
49
49
  "data-inset": inset,
50
- className: cn("px-3 py-2.5 text-xs text-muted-foreground data-inset:pl-9.5", className),
50
+ className: cn("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7", className),
51
51
  ...props
52
52
  });
53
53
  }
@@ -56,7 +56,7 @@ function ContextMenuItem({ className, inset, variant = "default", ...props }) {
56
56
  "data-slot": "context-menu-item",
57
57
  "data-inset": inset,
58
58
  "data-variant": variant,
59
- className: cn("group/context-menu-item relative flex cursor-default items-center gap-2.5 rounded-2xl px-3 py-2 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-9.5 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive", className),
59
+ className: cn("group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive", className),
60
60
  ...props
61
61
  });
62
62
  }
@@ -70,7 +70,7 @@ function ContextMenuSubTrigger({ className, inset, children, ...props }) {
70
70
  return /* @__PURE__ */ jsxs(ContextMenu$1.SubmenuTrigger, {
71
71
  "data-slot": "context-menu-sub-trigger",
72
72
  "data-inset": inset,
73
- className: cn("flex cursor-default items-center rounded-2xl px-3 py-2 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-9.5 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
73
+ className: cn("flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
74
74
  ...props,
75
75
  children: [children, /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })]
76
76
  });
@@ -87,7 +87,7 @@ function ContextMenuCheckboxItem({ className, children, checked, inset, ...props
87
87
  return /* @__PURE__ */ jsxs(ContextMenu$1.CheckboxItem, {
88
88
  "data-slot": "context-menu-checkbox-item",
89
89
  "data-inset": inset,
90
- className: cn("relative flex cursor-default items-center gap-2.5 rounded-2xl py-2 pr-8 pl-3 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-9.5 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
90
+ className: cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
91
91
  checked,
92
92
  ...props,
93
93
  children: [/* @__PURE__ */ jsx("span", {
@@ -106,7 +106,7 @@ function ContextMenuRadioItem({ className, children, inset, ...props }) {
106
106
  return /* @__PURE__ */ jsxs(ContextMenu$1.RadioItem, {
107
107
  "data-slot": "context-menu-radio-item",
108
108
  "data-inset": inset,
109
- className: cn("relative flex cursor-default items-center gap-2.5 rounded-2xl py-2 pr-8 pl-3 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-9.5 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
109
+ className: cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
110
110
  ...props,
111
111
  children: [/* @__PURE__ */ jsx("span", {
112
112
  className: "pointer-events-none absolute right-2",
@@ -117,7 +117,7 @@ function ContextMenuRadioItem({ className, children, inset, ...props }) {
117
117
  function ContextMenuSeparator({ className, ...props }) {
118
118
  return /* @__PURE__ */ jsx(ContextMenu$1.Separator, {
119
119
  "data-slot": "context-menu-separator",
120
- className: cn("-mx-1.5 my-1.5 h-px bg-border/50", className),
120
+ className: cn("-mx-1 my-1 h-px bg-border", className),
121
121
  ...props
122
122
  });
123
123
  }
@@ -32,20 +32,20 @@ function DialogClose({ ...props }) {
32
32
  function DialogOverlay({ className, ...props }) {
33
33
  return /* @__PURE__ */ jsx(Dialog$1.Backdrop, {
34
34
  "data-slot": "dialog-overlay",
35
- className: cn("fixed inset-0 isolate z-50 bg-black/30 duration-100 supports-backdrop-filter:backdrop-blur-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className),
35
+ className: cn("fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className),
36
36
  ...props
37
37
  });
38
38
  }
39
39
  function DialogContent({ className, children, showCloseButton = true, ...props }) {
40
40
  return /* @__PURE__ */ jsxs(DialogPortal, { children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsxs(Dialog$1.Popup, {
41
41
  "data-slot": "dialog-content",
42
- className: cn("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 rounded-4xl bg-popover p-6 text-sm text-popover-foreground shadow-xl ring-1 ring-foreground/5 duration-100 outline-none sm:max-w-md dark:ring-foreground/10 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
42
+ className: cn("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
43
43
  ...props,
44
44
  children: [children, showCloseButton && /* @__PURE__ */ jsxs(Dialog$1.Close, {
45
45
  "data-slot": "dialog-close",
46
46
  render: /* @__PURE__ */ jsx(Button, {
47
47
  variant: "ghost",
48
- className: "absolute top-4 right-4 bg-secondary",
48
+ className: "absolute top-2 right-2",
49
49
  size: "icon-sm"
50
50
  }),
51
51
  children: [/* @__PURE__ */ jsx(XIcon, {}), /* @__PURE__ */ jsx("span", {
@@ -58,14 +58,14 @@ function DialogContent({ className, children, showCloseButton = true, ...props }
58
58
  function DialogHeader({ className, ...props }) {
59
59
  return /* @__PURE__ */ jsx("div", {
60
60
  "data-slot": "dialog-header",
61
- className: cn("flex flex-col gap-1.5", className),
61
+ className: cn("flex flex-col gap-2", className),
62
62
  ...props
63
63
  });
64
64
  }
65
65
  function DialogFooter({ className, showCloseButton = false, children, ...props }) {
66
66
  return /* @__PURE__ */ jsxs("div", {
67
67
  "data-slot": "dialog-footer",
68
- className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
68
+ className: cn("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end", className),
69
69
  ...props,
70
70
  children: [children, showCloseButton && /* @__PURE__ */ jsx(Dialog$1.Close, {
71
71
  render: /* @__PURE__ */ jsx(Button, { variant: "outline" }),
@@ -32,7 +32,7 @@ function DropdownMenuContent({ align = "start", alignOffset = 0, side = "bottom"
32
32
  sideOffset,
33
33
  children: /* @__PURE__ */ jsx(Menu.Popup, {
34
34
  "data-slot": "dropdown-menu-content",
35
- className: cn("z-50 max-h-(--available-height) w-(--anchor-width) min-w-48 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-3xl bg-popover p-1.5 text-popover-foreground shadow-lg ring-1 ring-foreground/5 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:ring-foreground/10 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95", className),
35
+ className: cn("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95", className),
36
36
  ...props
37
37
  })
38
38
  }) });
@@ -47,7 +47,7 @@ function DropdownMenuLabel({ className, inset, ...props }) {
47
47
  return /* @__PURE__ */ jsx(Menu.GroupLabel, {
48
48
  "data-slot": "dropdown-menu-label",
49
49
  "data-inset": inset,
50
- className: cn("px-3 py-2.5 text-xs text-muted-foreground data-inset:pl-9.5", className),
50
+ className: cn("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7", className),
51
51
  ...props
52
52
  });
53
53
  }
@@ -56,7 +56,7 @@ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
56
56
  "data-slot": "dropdown-menu-item",
57
57
  "data-inset": inset,
58
58
  "data-variant": variant,
59
- className: cn("group/dropdown-menu-item relative flex cursor-default items-center gap-2.5 rounded-2xl px-3 py-2 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-9.5 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", className),
59
+ className: cn("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", className),
60
60
  ...props
61
61
  });
62
62
  }
@@ -70,7 +70,7 @@ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
70
70
  return /* @__PURE__ */ jsxs(Menu.SubmenuTrigger, {
71
71
  "data-slot": "dropdown-menu-sub-trigger",
72
72
  "data-inset": inset,
73
- className: cn("flex cursor-default items-center gap-2 rounded-2xl px-3 py-2 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-9.5 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
73
+ className: cn("flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
74
74
  ...props,
75
75
  children: [children, /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })]
76
76
  });
@@ -78,7 +78,7 @@ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
78
78
  function DropdownMenuSubContent({ align = "start", alignOffset = -3, side = "right", sideOffset = 0, className, ...props }) {
79
79
  return /* @__PURE__ */ jsx(DropdownMenuContent, {
80
80
  "data-slot": "dropdown-menu-sub-content",
81
- className: cn("w-auto min-w-36 rounded-3xl bg-popover p-1.5 text-popover-foreground shadow-lg ring-1 ring-foreground/5 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:ring-foreground/10 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
81
+ className: cn("w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
82
82
  align,
83
83
  alignOffset,
84
84
  side,
@@ -90,7 +90,7 @@ function DropdownMenuCheckboxItem({ className, children, checked, inset, ...prop
90
90
  return /* @__PURE__ */ jsxs(Menu.CheckboxItem, {
91
91
  "data-slot": "dropdown-menu-checkbox-item",
92
92
  "data-inset": inset,
93
- className: cn("relative flex cursor-default items-center gap-2.5 rounded-2xl py-2 pr-8 pl-3 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-9.5 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
93
+ className: cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
94
94
  checked,
95
95
  ...props,
96
96
  children: [/* @__PURE__ */ jsx("span", {
@@ -110,7 +110,7 @@ function DropdownMenuRadioItem({ className, children, inset, ...props }) {
110
110
  return /* @__PURE__ */ jsxs(Menu.RadioItem, {
111
111
  "data-slot": "dropdown-menu-radio-item",
112
112
  "data-inset": inset,
113
- className: cn("relative flex cursor-default items-center gap-2.5 rounded-2xl py-2 pr-8 pl-3 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-9.5 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
113
+ className: cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
114
114
  ...props,
115
115
  children: [/* @__PURE__ */ jsx("span", {
116
116
  className: "pointer-events-none absolute right-2 flex items-center justify-center",
@@ -122,7 +122,7 @@ function DropdownMenuRadioItem({ className, children, inset, ...props }) {
122
122
  function DropdownMenuSeparator({ className, ...props }) {
123
123
  return /* @__PURE__ */ jsx(Menu.Separator, {
124
124
  "data-slot": "dropdown-menu-separator",
125
- className: cn("-mx-1.5 my-1.5 h-px bg-border/50", className),
125
+ className: cn("-mx-1 my-1 h-px bg-border", className),
126
126
  ...props
127
127
  });
128
128
  }
@@ -11,16 +11,16 @@ function InputGroup({ className, ...props }) {
11
11
  return /* @__PURE__ */ jsx("div", {
12
12
  "data-slot": "input-group",
13
13
  role: "group",
14
- className: cn("group/input-group relative flex h-9 w-full min-w-0 items-center rounded-4xl border border-transparent bg-input/50 transition-[color,box-shadow,background-color] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-data-[align=block-end]:rounded-3xl has-data-[align=block-start]:rounded-3xl has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/30 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[textarea]:rounded-2xl has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className),
14
+ className: cn("group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className),
15
15
  ...props
16
16
  });
17
17
  }
18
- const inputGroupAddonVariants = cva("flex h-auto cursor-text items-center justify-center gap-2 py-2 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-3xl **:data-[slot=kbd]:bg-muted-foreground/10 **:data-[slot=kbd]:px-1.5 [&>svg:not([class*='size-'])]:size-4", {
18
+ const inputGroupAddonVariants = cva("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4", {
19
19
  variants: { align: {
20
- "inline-start": "order-first pl-3 has-[>button]:-ml-1 has-[>kbd]:-ml-1",
21
- "inline-end": "order-last pr-3 has-[>button]:-mr-1 has-[>kbd]:-mr-1",
22
- "block-start": "order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-3.5 [.border-b]:pb-3.5",
23
- "block-end": "order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-3.5 [.border-t]:pt-3.5"
20
+ "inline-start": "order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]",
21
+ "inline-end": "order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]",
22
+ "block-start": "order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
23
+ "block-end": "order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"
24
24
  } },
25
25
  defaultVariants: { align: "inline-start" }
26
26
  });
@@ -37,11 +37,11 @@ function InputGroupAddon({ className, align = "inline-start", ...props }) {
37
37
  ...props
38
38
  });
39
39
  }
40
- const inputGroupButtonVariants = cva("flex items-center gap-2 rounded-4xl text-sm shadow-none", {
40
+ const inputGroupButtonVariants = cva("flex items-center gap-2 text-sm shadow-none", {
41
41
  variants: { size: {
42
- xs: "h-6 gap-1 rounded-xl px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
42
+ xs: "h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
43
43
  sm: "",
44
- "icon-xs": "size-6 rounded-xl p-0 has-[>svg]:p-0",
44
+ "icon-xs": "size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0",
45
45
  "icon-sm": "size-8 p-0 has-[>svg]:p-0"
46
46
  } },
47
47
  defaultVariants: { size: "xs" }
@@ -64,14 +64,14 @@ function InputGroupText({ className, ...props }) {
64
64
  function InputGroupInput({ className, ...props }) {
65
65
  return /* @__PURE__ */ jsx(Input, {
66
66
  "data-slot": "input-group-control",
67
- className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent", className),
67
+ className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className),
68
68
  ...props
69
69
  });
70
70
  }
71
71
  function InputGroupTextarea({ className, ...props }) {
72
72
  return /* @__PURE__ */ jsx(Textarea, {
73
73
  "data-slot": "input-group-control",
74
- className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-2.5 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent", className),
74
+ className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className),
75
75
  ...props
76
76
  });
77
77
  }
@@ -7,7 +7,7 @@ function Input({ className, type, ...props }) {
7
7
  return /* @__PURE__ */ jsx(Input$1, {
8
8
  type,
9
9
  "data-slot": "input",
10
- className: cn("h-9 w-full min-w-0 rounded-3xl border border-transparent bg-input/50 px-3 py-1 text-base transition-[color,box-shadow,background-color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className),
10
+ className: cn("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className),
11
11
  ...props
12
12
  });
13
13
  }
@@ -24,7 +24,7 @@ function PopoverContent({ className, align = "center", alignOffset = 0, side = "
24
24
  className: "isolate z-50",
25
25
  children: /* @__PURE__ */ jsx(Popover$1.Popup, {
26
26
  "data-slot": "popover-content",
27
- className: cn("z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded-3xl bg-popover p-4 text-sm text-popover-foreground shadow-lg ring-1 ring-foreground/5 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:ring-foreground/10 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
27
+ className: cn("z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
28
28
  ...props
29
29
  })
30
30
  }) });
@@ -32,14 +32,14 @@ function PopoverContent({ className, align = "center", alignOffset = 0, side = "
32
32
  function PopoverHeader({ className, ...props }) {
33
33
  return /* @__PURE__ */ jsx("div", {
34
34
  "data-slot": "popover-header",
35
- className: cn("flex flex-col gap-1 text-sm", className),
35
+ className: cn("flex flex-col gap-0.5 text-sm", className),
36
36
  ...props
37
37
  });
38
38
  }
39
39
  function PopoverTitle({ className, ...props }) {
40
40
  return /* @__PURE__ */ jsx(Popover$1.Title, {
41
41
  "data-slot": "popover-title",
42
- className: cn("text-base font-medium", className),
42
+ className: cn("font-medium", className),
43
43
  ...props
44
44
  });
45
45
  }
@@ -14,7 +14,7 @@ function Progress({ className, children, value, ...props }) {
14
14
  }
15
15
  function ProgressTrack({ className, ...props }) {
16
16
  return /* @__PURE__ */ jsx(Progress$1.Track, {
17
- className: cn("relative flex h-3 w-full items-center overflow-x-hidden rounded-full bg-muted", className),
17
+ className: cn("relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-muted", className),
18
18
  "data-slot": "progress-track",
19
19
  ...props
20
20
  });
@@ -9,7 +9,7 @@ const Select = Select$1.Root;
9
9
  function SelectGroup({ className, ...props }) {
10
10
  return /* @__PURE__ */ jsx(Select$1.Group, {
11
11
  "data-slot": "select-group",
12
- className: cn("scroll-my-1.5 p-1.5", className),
12
+ className: cn("scroll-my-1 p-1", className),
13
13
  ...props
14
14
  });
15
15
  }
@@ -24,7 +24,7 @@ function SelectTrigger({ className, size = "default", children, ...props }) {
24
24
  return /* @__PURE__ */ jsxs(Select$1.Trigger, {
25
25
  "data-slot": "select-trigger",
26
26
  "data-size": size,
27
- className: cn("flex w-fit items-center justify-between gap-1.5 rounded-3xl border border-transparent bg-input/50 px-3 py-2 text-sm whitespace-nowrap transition-[color,box-shadow,background-color] outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
27
+ className: cn("flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
28
28
  ...props,
29
29
  children: [children, /* @__PURE__ */ jsx(Select$1.Icon, { render: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" }) })]
30
30
  });
@@ -40,7 +40,7 @@ function SelectContent({ className, children, side = "bottom", sideOffset = 4, a
40
40
  children: /* @__PURE__ */ jsxs(Select$1.Popup, {
41
41
  "data-slot": "select-content",
42
42
  "data-align-trigger": alignItemWithTrigger,
43
- className: cn("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-3xl bg-popover text-popover-foreground shadow-lg ring-1 ring-foreground/5 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:ring-foreground/10 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
43
+ className: cn("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
44
44
  ...props,
45
45
  children: [
46
46
  /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
@@ -53,14 +53,14 @@ function SelectContent({ className, children, side = "bottom", sideOffset = 4, a
53
53
  function SelectLabel({ className, ...props }) {
54
54
  return /* @__PURE__ */ jsx(Select$1.GroupLabel, {
55
55
  "data-slot": "select-label",
56
- className: cn("px-3 py-2.5 text-xs text-muted-foreground", className),
56
+ className: cn("px-1.5 py-1 text-xs text-muted-foreground", className),
57
57
  ...props
58
58
  });
59
59
  }
60
60
  function SelectItem({ className, children, ...props }) {
61
61
  return /* @__PURE__ */ jsxs(Select$1.Item, {
62
62
  "data-slot": "select-item",
63
- className: cn("relative flex w-full cursor-default items-center gap-2.5 rounded-2xl py-2 pr-8 pl-3 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className),
63
+ className: cn("relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className),
64
64
  ...props,
65
65
  children: [/* @__PURE__ */ jsx(Select$1.ItemText, {
66
66
  className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap",
@@ -74,7 +74,7 @@ function SelectItem({ className, children, ...props }) {
74
74
  function SelectSeparator({ className, ...props }) {
75
75
  return /* @__PURE__ */ jsx(Select$1.Separator, {
76
76
  "data-slot": "select-separator",
77
- className: cn("pointer-events-none -mx-1.5 my-1.5 h-px bg-border", className),
77
+ className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className),
78
78
  ...props
79
79
  });
80
80
  }