@appkits-ai/ui 0.1.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 (82) hide show
  1. package/README.md +51 -0
  2. package/dist/components/badge.d.ts +17 -0
  3. package/dist/components/badge.d.ts.map +1 -0
  4. package/dist/components/badge.js +25 -0
  5. package/dist/components/button.d.ts +18 -0
  6. package/dist/components/button.d.ts.map +1 -0
  7. package/dist/components/button.js +36 -0
  8. package/dist/components/card.d.ts +35 -0
  9. package/dist/components/card.d.ts.map +1 -0
  10. package/dist/components/card.js +45 -0
  11. package/dist/components/checkbox.d.ts +7 -0
  12. package/dist/components/checkbox.d.ts.map +1 -0
  13. package/dist/components/checkbox.js +20 -0
  14. package/dist/components/context-menu.d.ts +71 -0
  15. package/dist/components/context-menu.d.ts.map +1 -0
  16. package/dist/components/context-menu.js +100 -0
  17. package/dist/components/dialog.d.ts +46 -0
  18. package/dist/components/dialog.d.ts.map +1 -0
  19. package/dist/components/dialog.js +70 -0
  20. package/dist/components/input.d.ts +11 -0
  21. package/dist/components/input.d.ts.map +1 -0
  22. package/dist/components/input.js +9 -0
  23. package/dist/components/label.d.ts +8 -0
  24. package/dist/components/label.d.ts.map +1 -0
  25. package/dist/components/label.js +15 -0
  26. package/dist/components/notifications.d.ts +5 -0
  27. package/dist/components/notifications.d.ts.map +1 -0
  28. package/dist/components/notifications.js +22 -0
  29. package/dist/components/scroll-area.d.ts +12 -0
  30. package/dist/components/scroll-area.d.ts.map +1 -0
  31. package/dist/components/scroll-area.js +23 -0
  32. package/dist/components/select.d.ts +46 -0
  33. package/dist/components/select.d.ts.map +1 -0
  34. package/dist/components/select.js +72 -0
  35. package/dist/components/switch.d.ts +8 -0
  36. package/dist/components/switch.d.ts.map +1 -0
  37. package/dist/components/switch.js +15 -0
  38. package/dist/components/tabs.d.ts +20 -0
  39. package/dist/components/tabs.d.ts.map +1 -0
  40. package/dist/components/tabs.js +33 -0
  41. package/dist/components/theme-provider.d.ts +8 -0
  42. package/dist/components/theme-provider.d.ts.map +1 -0
  43. package/dist/components/theme-provider.js +14 -0
  44. package/dist/components/tooltip.d.ts +8 -0
  45. package/dist/components/tooltip.d.ts.map +1 -0
  46. package/dist/components/tooltip.js +15 -0
  47. package/dist/components/transfer-status-panel.d.ts +34 -0
  48. package/dist/components/transfer-status-panel.d.ts.map +1 -0
  49. package/dist/components/transfer-status-panel.js +41 -0
  50. package/dist/components/upload-conflict-dialog.d.ts +16 -0
  51. package/dist/components/upload-conflict-dialog.d.ts.map +1 -0
  52. package/dist/components/upload-conflict-dialog.js +24 -0
  53. package/dist/components/upload-drop-overlay.d.ts +15 -0
  54. package/dist/components/upload-drop-overlay.d.ts.map +1 -0
  55. package/dist/components/upload-drop-overlay.js +30 -0
  56. package/dist/hooks/index.d.ts +6 -0
  57. package/dist/hooks/index.d.ts.map +1 -0
  58. package/dist/hooks/index.js +5 -0
  59. package/dist/hooks/use-chain-settings.d.ts +43 -0
  60. package/dist/hooks/use-chain-settings.d.ts.map +1 -0
  61. package/dist/hooks/use-chain-settings.js +313 -0
  62. package/dist/hooks/use-global-dialog.d.ts +28 -0
  63. package/dist/hooks/use-global-dialog.d.ts.map +1 -0
  64. package/dist/hooks/use-global-dialog.js +80 -0
  65. package/dist/hooks/use-sub-app-context-menu.d.ts +5 -0
  66. package/dist/hooks/use-sub-app-context-menu.d.ts.map +1 -0
  67. package/dist/hooks/use-sub-app-context-menu.js +37 -0
  68. package/dist/hooks/use-theme-sync.d.ts +5 -0
  69. package/dist/hooks/use-theme-sync.d.ts.map +1 -0
  70. package/dist/hooks/use-theme-sync.js +36 -0
  71. package/dist/index.d.ts +26 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +25 -0
  74. package/dist/lib/notify.d.ts +21 -0
  75. package/dist/lib/notify.d.ts.map +1 -0
  76. package/dist/lib/notify.js +81 -0
  77. package/dist/lib/utils.d.ts +10 -0
  78. package/dist/lib/utils.d.ts.map +1 -0
  79. package/dist/lib/utils.js +12 -0
  80. package/package.json +79 -0
  81. package/postcss.config.mjs +6 -0
  82. package/src/styles/globals.css +182 -0
package/README.md ADDED
@@ -0,0 +1,51 @@
1
+ # Shared UI Library (@appkits-ai/ui)
2
+
3
+ A centralized UI component library based on **shadcn/ui** and **Tailwind CSS**. This package exports reusable components, hooks, and utility functions used across all applications in the `appkits` monorepo.
4
+
5
+ ## Structure
6
+
7
+ - **`src/components`**: React components (Button, Card, Dialog, upload
8
+ overlays, transfer panels, etc.).
9
+ - **`src/hooks`**: Custom React hooks (e.g., `use-theme-sync`).
10
+ - **`src/lib`**: Utility functions (e.g., `notify`, `utils`).
11
+ - **`src/styles`**: Global CSS and Tailwind configuration items.
12
+
13
+ ## Usage
14
+
15
+ Import components directly from the package:
16
+
17
+ ```tsx
18
+ import { Button } from "@appkits-ai/ui/components/button";
19
+ import { notify } from "@appkits-ai/ui/lib/notify";
20
+
21
+ export default function MyComponent() {
22
+ return <Button onClick={() => notify("Hello", "World")}>Click Me</Button>;
23
+ }
24
+ ```
25
+
26
+ ## Adding Components (For AI Agents & Developers)
27
+
28
+ **DO NOT use `npx shadcn@latest add` directly.**
29
+
30
+ 1. **Check First**: Look in `src/components` to see if it exists.
31
+ 2. **Manual Creation**: If missing, create the file manually in `src/components/{component-name}.tsx`.
32
+ 3. **Pattern**: Copy the standard shadcn/ui code (Radix Primitive + Tailwind).
33
+ 4. **Export**: Ensure it is exported if using a barrel file (current setup uses direct path imports, so just creating the file is usually enough, but check).
34
+
35
+ ## Shared Workflow Components
36
+
37
+ - `upload-drop-overlay`: full-surface file/folder drop target with optional
38
+ pick and dismiss actions.
39
+ - `upload-conflict-dialog`: overwrite confirmation dialog for upload flows.
40
+ - `transfer-status-panel`: reusable progress panel for uploads, sync jobs, and
41
+ retryable transfer failures.
42
+
43
+ Keep product/runtime policy in the consuming app. Components here should accept
44
+ plain labels, lists, state, and callbacks.
45
+
46
+ ## Theming
47
+
48
+ The library uses `next-themes` and CSS variables for dark/light mode support.
49
+
50
+ - **Global Styles**: Imported in `apps/*/src/app/globals.css` or equivalent.
51
+ - **Theme Sync**: For iframe apps, use the `useThemeSync` hook to synchronize the theme with the main Desktop Shell.
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Defines the badge React component surface.
3
+ * @module web-ui
4
+ */
5
+ import * as React from "react";
6
+ import { type VariantProps } from "class-variance-authority";
7
+ declare const badgeVariants: (props?: ({
8
+ variant?: "default" | "secondary" | "destructive" | "outline" | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
+ /**
11
+ * Renders the Badge UI surface.
12
+ */
13
+ declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
14
+ asChild?: boolean;
15
+ }): import("react/jsx-runtime").JSX.Element;
16
+ export { Badge, badgeVariants };
17
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/components/badge.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,aAAa;;8EAmBlB,CAAC;AAEF;;GAEG;AACH,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,OAAO,EACP,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAC7B,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,2CAU3D;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Slot } from "@radix-ui/react-slot";
3
+ import { cva } from "class-variance-authority";
4
+ import { cn } from "../lib/utils.js";
5
+ const badgeVariants = cva("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
6
+ variants: {
7
+ variant: {
8
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
9
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
10
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
11
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
12
+ },
13
+ },
14
+ defaultVariants: {
15
+ variant: "default",
16
+ },
17
+ });
18
+ /**
19
+ * Renders the Badge UI surface.
20
+ */
21
+ function Badge({ className, variant, asChild = false, ...props }) {
22
+ const Comp = asChild ? Slot : "span";
23
+ return (_jsx(Comp, { "data-slot": "badge", className: cn(badgeVariants({ variant }), className), ...props }));
24
+ }
25
+ export { Badge, badgeVariants };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Defines the button React component surface.
3
+ * @module web-ui
4
+ */
5
+ import * as React from "react";
6
+ import { type VariantProps } from "class-variance-authority";
7
+ declare const buttonVariants: (props?: ({
8
+ variant?: "default" | "secondary" | "destructive" | "outline" | "link" | "ghost" | null | undefined;
9
+ size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
+ /**
12
+ * Renders the Button UI surface.
13
+ */
14
+ declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
15
+ asChild?: boolean;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ export { Button, buttonVariants };
18
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,cAAc;;;8EA8BnB,CAAC;AAEF;;GAEG;AACH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAmB,EACnB,IAAgB,EAChB,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAC/B,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,2CAYF;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Slot } from "@radix-ui/react-slot";
3
+ import { cva } from "class-variance-authority";
4
+ import { cn } from "../lib/utils.js";
5
+ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
6
+ variants: {
7
+ variant: {
8
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
9
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
10
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
11
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
12
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
13
+ link: "text-primary underline-offset-4 hover:underline",
14
+ },
15
+ size: {
16
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
17
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
18
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
19
+ icon: "size-9",
20
+ "icon-sm": "size-8",
21
+ "icon-lg": "size-10",
22
+ },
23
+ },
24
+ defaultVariants: {
25
+ variant: "default",
26
+ size: "default",
27
+ },
28
+ });
29
+ /**
30
+ * Renders the Button UI surface.
31
+ */
32
+ function Button({ className, variant = "default", size = "default", asChild = false, ...props }) {
33
+ const Comp = asChild ? Slot : "button";
34
+ return (_jsx(Comp, { "data-slot": "button", "data-variant": variant, "data-size": size, className: cn(buttonVariants({ variant, size, className })), ...props }));
35
+ }
36
+ export { Button, buttonVariants };
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Defines the card React component surface.
3
+ * @module web-ui
4
+ */
5
+ import * as React from "react";
6
+ /**
7
+ * Renders the Card UI surface.
8
+ */
9
+ declare function Card({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
10
+ /**
11
+ * Renders the CardHeader UI surface.
12
+ */
13
+ declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
14
+ /**
15
+ * Renders the CardTitle UI surface.
16
+ */
17
+ declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
18
+ /**
19
+ * Renders the CardDescription UI surface.
20
+ */
21
+ declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
22
+ /**
23
+ * Renders the CardAction UI surface.
24
+ */
25
+ declare function CardAction({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
26
+ /**
27
+ * Renders the CardContent UI surface.
28
+ */
29
+ declare function CardContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
30
+ /**
31
+ * Renders the CardFooter UI surface.
32
+ */
33
+ declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
34
+ export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
35
+ //# sourceMappingURL=card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/components/card.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;GAEG;AACH,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWjE;AAED;;GAEG;AACH,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED;;GAEG;AACH,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQtE;AAED;;GAEG;AACH,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ5E;AAED;;GAEG;AACH,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED;;GAEG;AACH,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQxE;AAED;;GAEG;AACH,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,GACZ,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "../lib/utils.js";
3
+ /**
4
+ * Renders the Card UI surface.
5
+ */
6
+ function Card({ className, ...props }) {
7
+ return (_jsx("div", { "data-slot": "card", className: cn("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", className), ...props }));
8
+ }
9
+ /**
10
+ * Renders the CardHeader UI surface.
11
+ */
12
+ function CardHeader({ className, ...props }) {
13
+ return (_jsx("div", { "data-slot": "card-header", className: cn("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", className), ...props }));
14
+ }
15
+ /**
16
+ * Renders the CardTitle UI surface.
17
+ */
18
+ function CardTitle({ className, ...props }) {
19
+ return (_jsx("div", { "data-slot": "card-title", className: cn("leading-none font-semibold", className), ...props }));
20
+ }
21
+ /**
22
+ * Renders the CardDescription UI surface.
23
+ */
24
+ function CardDescription({ className, ...props }) {
25
+ return (_jsx("div", { "data-slot": "card-description", className: cn("text-muted-foreground text-sm", className), ...props }));
26
+ }
27
+ /**
28
+ * Renders the CardAction UI surface.
29
+ */
30
+ function CardAction({ className, ...props }) {
31
+ return (_jsx("div", { "data-slot": "card-action", className: cn("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className), ...props }));
32
+ }
33
+ /**
34
+ * Renders the CardContent UI surface.
35
+ */
36
+ function CardContent({ className, ...props }) {
37
+ return (_jsx("div", { "data-slot": "card-content", className: cn("px-6", className), ...props }));
38
+ }
39
+ /**
40
+ * Renders the CardFooter UI surface.
41
+ */
42
+ function CardFooter({ className, ...props }) {
43
+ return (_jsx("div", { "data-slot": "card-footer", className: cn("flex items-center px-6 [.border-t]:pt-6", className), ...props }));
44
+ }
45
+ export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ declare const Checkbox: React.ForwardRefExoticComponent<Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onChange" | "checked"> & {
3
+ checked?: boolean | "indeterminate";
4
+ onCheckedChange?: (checked: boolean | "indeterminate") => void;
5
+ } & React.RefAttributes<HTMLButtonElement>>;
6
+ export { Checkbox };
7
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/components/checkbox.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,QAAA,MAAM,QAAQ;cAMA,OAAO,GAAG,eAAe;sBACjB,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,KAAK,IAAI;2CAmChE,CAAC;AAGH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Defines the checkbox React component surface.
3
+ * @module web-ui
4
+ */
5
+ "use client";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import * as React from "react";
8
+ import { Check } from "lucide-react";
9
+ import { cn } from "../lib/utils.js";
10
+ const Checkbox = React.forwardRef(({ className, checked, onCheckedChange, ...props }, ref) => (_jsx("button", { type: "button", role: "checkbox", "aria-checked": checked === "indeterminate" ? "mixed" : checked, ref: ref, className: cn("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground", className), onClick: () => {
11
+ if (onCheckedChange) {
12
+ onCheckedChange(checked === true ? false : true);
13
+ }
14
+ }, "data-state": checked === true
15
+ ? "checked"
16
+ : checked === "indeterminate"
17
+ ? "indeterminate"
18
+ : "unchecked", ...props, children: _jsx("span", { className: cn("flex items-center justify-center text-current", checked === true ? "" : "hidden"), children: _jsx(Check, { className: "h-4 w-4" }) }) })));
19
+ Checkbox.displayName = "Checkbox";
20
+ export { Checkbox };
@@ -0,0 +1,71 @@
1
+ import * as React from "react";
2
+ import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
3
+ /**
4
+ * Renders the ContextMenu UI surface.
5
+ */
6
+ declare function ContextMenu({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
7
+ /**
8
+ * Renders the ContextMenuTrigger UI surface.
9
+ */
10
+ declare function ContextMenuTrigger({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
11
+ /**
12
+ * Renders the ContextMenuGroup UI surface.
13
+ */
14
+ declare function ContextMenuGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
15
+ /**
16
+ * Renders the ContextMenuPortal UI surface.
17
+ */
18
+ declare function ContextMenuPortal({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
19
+ /**
20
+ * Renders the ContextMenuSub UI surface.
21
+ */
22
+ declare function ContextMenuSub({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Sub>): import("react/jsx-runtime").JSX.Element;
23
+ /**
24
+ * Renders the ContextMenuRadioGroup UI surface.
25
+ */
26
+ declare function ContextMenuRadioGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
27
+ /**
28
+ * Renders the ContextMenuSubTrigger UI surface.
29
+ */
30
+ declare function ContextMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {
31
+ inset?: boolean;
32
+ }): import("react/jsx-runtime").JSX.Element;
33
+ /**
34
+ * Renders the ContextMenuSubContent UI surface.
35
+ */
36
+ declare function ContextMenuSubContent({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>): import("react/jsx-runtime").JSX.Element;
37
+ /**
38
+ * Renders the ContextMenuContent UI surface.
39
+ */
40
+ declare function ContextMenuContent({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
41
+ /**
42
+ * Renders the ContextMenuItem UI surface.
43
+ */
44
+ declare function ContextMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {
45
+ inset?: boolean;
46
+ variant?: "default" | "destructive";
47
+ }): import("react/jsx-runtime").JSX.Element;
48
+ /**
49
+ * Renders the ContextMenuCheckboxItem UI surface.
50
+ */
51
+ declare function ContextMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>): import("react/jsx-runtime").JSX.Element;
52
+ /**
53
+ * Renders the ContextMenuRadioItem UI surface.
54
+ */
55
+ declare function ContextMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>): import("react/jsx-runtime").JSX.Element;
56
+ /**
57
+ * Renders the ContextMenuLabel UI surface.
58
+ */
59
+ declare function ContextMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {
60
+ inset?: boolean;
61
+ }): import("react/jsx-runtime").JSX.Element;
62
+ /**
63
+ * Renders the ContextMenuSeparator UI surface.
64
+ */
65
+ declare function ContextMenuSeparator({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
66
+ /**
67
+ * Renders the ContextMenuShortcut UI surface.
68
+ */
69
+ declare function ContextMenuShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
70
+ export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup, };
71
+ //# sourceMappingURL=context-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-menu.d.ts","sourceRoot":"","sources":["../../src/components/context-menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Defines the context-menu React component surface.
3
+ * @module web-ui
4
+ */
5
+ "use client";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
8
+ import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
9
+ import { cn } from "../lib/utils.js";
10
+ /**
11
+ * Renders the ContextMenu UI surface.
12
+ */
13
+ function ContextMenu({ ...props }) {
14
+ return _jsx(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
15
+ }
16
+ /**
17
+ * Renders the ContextMenuTrigger UI surface.
18
+ */
19
+ function ContextMenuTrigger({ ...props }) {
20
+ return (_jsx(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props }));
21
+ }
22
+ /**
23
+ * Renders the ContextMenuGroup UI surface.
24
+ */
25
+ function ContextMenuGroup({ ...props }) {
26
+ return (_jsx(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props }));
27
+ }
28
+ /**
29
+ * Renders the ContextMenuPortal UI surface.
30
+ */
31
+ function ContextMenuPortal({ ...props }) {
32
+ return (_jsx(ContextMenuPrimitive.Portal, { "data-slot": "context-menu-portal", ...props }));
33
+ }
34
+ /**
35
+ * Renders the ContextMenuSub UI surface.
36
+ */
37
+ function ContextMenuSub({ ...props }) {
38
+ return _jsx(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
39
+ }
40
+ /**
41
+ * Renders the ContextMenuRadioGroup UI surface.
42
+ */
43
+ function ContextMenuRadioGroup({ ...props }) {
44
+ return (_jsx(ContextMenuPrimitive.RadioGroup, { "data-slot": "context-menu-radio-group", ...props }));
45
+ }
46
+ /**
47
+ * Renders the ContextMenuSubTrigger UI surface.
48
+ */
49
+ function ContextMenuSubTrigger({ className, inset, children, ...props }) {
50
+ return (_jsxs(ContextMenuPrimitive.SubTrigger, { "data-slot": "context-menu-sub-trigger", "data-inset": inset, className: cn("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, _jsx(ChevronRightIcon, { className: "ml-auto" })] }));
51
+ }
52
+ /**
53
+ * Renders the ContextMenuSubContent UI surface.
54
+ */
55
+ function ContextMenuSubContent({ className, ...props }) {
56
+ return (_jsx(ContextMenuPrimitive.SubContent, { "data-slot": "context-menu-sub-content", className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg", className), ...props }));
57
+ }
58
+ /**
59
+ * Renders the ContextMenuContent UI surface.
60
+ */
61
+ function ContextMenuContent({ className, ...props }) {
62
+ return (_jsx(ContextMenuPrimitive.Portal, { children: _jsx(ContextMenuPrimitive.Content, { "data-slot": "context-menu-content", className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md", className), ...props }) }));
63
+ }
64
+ /**
65
+ * Renders the ContextMenuItem UI surface.
66
+ */
67
+ function ContextMenuItem({ className, inset, variant = "default", ...props }) {
68
+ return (_jsx(ContextMenuPrimitive.Item, { "data-slot": "context-menu-item", "data-inset": inset, "data-variant": variant, className: cn("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
69
+ }
70
+ /**
71
+ * Renders the ContextMenuCheckboxItem UI surface.
72
+ */
73
+ function ContextMenuCheckboxItem({ className, children, checked, ...props }) {
74
+ return (_jsxs(ContextMenuPrimitive.CheckboxItem, { "data-slot": "context-menu-checkbox-item", className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), checked: checked, ...props, children: [_jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: _jsx(ContextMenuPrimitive.ItemIndicator, { children: _jsx(CheckIcon, { className: "size-4" }) }) }), children] }));
75
+ }
76
+ /**
77
+ * Renders the ContextMenuRadioItem UI surface.
78
+ */
79
+ function ContextMenuRadioItem({ className, children, ...props }) {
80
+ return (_jsxs(ContextMenuPrimitive.RadioItem, { "data-slot": "context-menu-radio-item", className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [_jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: _jsx(ContextMenuPrimitive.ItemIndicator, { children: _jsx(CircleIcon, { className: "size-2 fill-current" }) }) }), children] }));
81
+ }
82
+ /**
83
+ * Renders the ContextMenuLabel UI surface.
84
+ */
85
+ function ContextMenuLabel({ className, inset, ...props }) {
86
+ return (_jsx(ContextMenuPrimitive.Label, { "data-slot": "context-menu-label", "data-inset": inset, className: cn("text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", className), ...props }));
87
+ }
88
+ /**
89
+ * Renders the ContextMenuSeparator UI surface.
90
+ */
91
+ function ContextMenuSeparator({ className, ...props }) {
92
+ return (_jsx(ContextMenuPrimitive.Separator, { "data-slot": "context-menu-separator", className: cn("bg-border -mx-1 my-1 h-px", className), ...props }));
93
+ }
94
+ /**
95
+ * Renders the ContextMenuShortcut UI surface.
96
+ */
97
+ function ContextMenuShortcut({ className, ...props }) {
98
+ return (_jsx("span", { "data-slot": "context-menu-shortcut", className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className), ...props }));
99
+ }
100
+ export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup, };
@@ -0,0 +1,46 @@
1
+ import * as React from "react";
2
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
3
+ /**
4
+ * Renders the Dialog UI surface.
5
+ */
6
+ declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
7
+ /**
8
+ * Renders the DialogTrigger UI surface.
9
+ */
10
+ declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
11
+ /**
12
+ * Renders the DialogPortal UI surface.
13
+ */
14
+ declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
15
+ /**
16
+ * Renders the DialogClose UI surface.
17
+ */
18
+ declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
19
+ /**
20
+ * Renders the DialogOverlay UI surface.
21
+ */
22
+ declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
23
+ /**
24
+ * Renders the DialogContent UI surface.
25
+ */
26
+ declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
27
+ showCloseButton?: boolean;
28
+ }): import("react/jsx-runtime").JSX.Element;
29
+ /**
30
+ * Renders the DialogHeader UI surface.
31
+ */
32
+ declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
33
+ /**
34
+ * Renders the DialogFooter UI surface.
35
+ */
36
+ declare function DialogFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
37
+ /**
38
+ * Renders the DialogTitle UI surface.
39
+ */
40
+ declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
41
+ /**
42
+ * Renders the DialogDescription UI surface.
43
+ */
44
+ declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
45
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
46
+ //# sourceMappingURL=dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAK1D;;GAEG;AACH,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED;;GAEG;AACH,iBAAS,aAAa,CAAC,EACrB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAEtD;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAErD;AAED;;GAEG;AACH,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED;;GAEG;AACH,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAWtD;AAED;;GAEG;AACH,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,2CAyBA;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQzE;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWzE;AAED;;GAEG;AACH,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED;;GAEG;AACH,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,2CAQ1D;AAED,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Defines the dialog React component surface.
3
+ * @module web-ui
4
+ */
5
+ "use client";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
8
+ import { XIcon } from "lucide-react";
9
+ import { cn } from "../lib/utils.js";
10
+ /**
11
+ * Renders the Dialog UI surface.
12
+ */
13
+ function Dialog({ ...props }) {
14
+ return _jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
15
+ }
16
+ /**
17
+ * Renders the DialogTrigger UI surface.
18
+ */
19
+ function DialogTrigger({ ...props }) {
20
+ return _jsx(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
21
+ }
22
+ /**
23
+ * Renders the DialogPortal UI surface.
24
+ */
25
+ function DialogPortal({ ...props }) {
26
+ return _jsx(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
27
+ }
28
+ /**
29
+ * Renders the DialogClose UI surface.
30
+ */
31
+ function DialogClose({ ...props }) {
32
+ return _jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
33
+ }
34
+ /**
35
+ * Renders the DialogOverlay UI surface.
36
+ */
37
+ function DialogOverlay({ className, ...props }) {
38
+ return (_jsx(DialogPrimitive.Overlay, { "data-slot": "dialog-overlay", className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", className), ...props }));
39
+ }
40
+ /**
41
+ * Renders the DialogContent UI surface.
42
+ */
43
+ function DialogContent({ className, children, showCloseButton = true, ...props }) {
44
+ return (_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg", className), ...props, children: [children, showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
45
+ }
46
+ /**
47
+ * Renders the DialogHeader UI surface.
48
+ */
49
+ function DialogHeader({ className, ...props }) {
50
+ return (_jsx("div", { "data-slot": "dialog-header", className: cn("flex flex-col gap-2 text-center sm:text-left", className), ...props }));
51
+ }
52
+ /**
53
+ * Renders the DialogFooter UI surface.
54
+ */
55
+ function DialogFooter({ className, ...props }) {
56
+ return (_jsx("div", { "data-slot": "dialog-footer", className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className), ...props }));
57
+ }
58
+ /**
59
+ * Renders the DialogTitle UI surface.
60
+ */
61
+ function DialogTitle({ className, ...props }) {
62
+ return (_jsx(DialogPrimitive.Title, { "data-slot": "dialog-title", className: cn("text-lg leading-none font-semibold", className), ...props }));
63
+ }
64
+ /**
65
+ * Renders the DialogDescription UI surface.
66
+ */
67
+ function DialogDescription({ className, ...props }) {
68
+ return (_jsx(DialogPrimitive.Description, { "data-slot": "dialog-description", className: cn("text-muted-foreground text-sm", className), ...props }));
69
+ }
70
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Defines the input React component surface.
3
+ * @module web-ui
4
+ */
5
+ import * as React from "react";
6
+ /**
7
+ * Renders the Input UI surface.
8
+ */
9
+ declare function Input({ className, type, ...props }: React.ComponentProps<"input">): import("react/jsx-runtime").JSX.Element;
10
+ export { Input };
11
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;GAEG;AACH,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,2CAc1E;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "../lib/utils.js";
3
+ /**
4
+ * Renders the Input UI surface.
5
+ */
6
+ function Input({ className, type, ...props }) {
7
+ return (_jsx("input", { type: type, "data-slot": "input", className: cn("file:text-foreground placeholder:text-muted-foreground selection:bg-transparent selection:text-inherit dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", className), ...props }));
8
+ }
9
+ export { Input };
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import * as LabelPrimitive from "@radix-ui/react-label";
3
+ /**
4
+ * Renders the Label UI surface.
5
+ */
6
+ declare function Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
7
+ export { Label };
8
+ //# sourceMappingURL=label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAIxD;;GAEG;AACH,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,2CAWlD;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}