@ownzones/studio-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 (76) hide show
  1. package/dist/components/badge.d.ts +10 -0
  2. package/dist/components/badge.d.ts.map +1 -0
  3. package/dist/components/badge.js +21 -0
  4. package/dist/components/badge.js.map +1 -0
  5. package/dist/components/button.d.ts +12 -0
  6. package/dist/components/button.d.ts.map +1 -0
  7. package/dist/components/button.js +34 -0
  8. package/dist/components/button.js.map +1 -0
  9. package/dist/components/card.d.ts +9 -0
  10. package/dist/components/card.d.ts.map +1 -0
  11. package/dist/components/card.js +17 -0
  12. package/dist/components/card.js.map +1 -0
  13. package/dist/components/connect-button.d.ts +12 -0
  14. package/dist/components/connect-button.d.ts.map +1 -0
  15. package/dist/components/connect-button.js +46 -0
  16. package/dist/components/connect-button.js.map +1 -0
  17. package/dist/components/connect-card.d.ts +9 -0
  18. package/dist/components/connect-card.d.ts.map +1 -0
  19. package/dist/components/connect-card.js +24 -0
  20. package/dist/components/connect-card.js.map +1 -0
  21. package/dist/components/connect-table.d.ts +16 -0
  22. package/dist/components/connect-table.d.ts.map +1 -0
  23. package/dist/components/connect-table.js +33 -0
  24. package/dist/components/connect-table.js.map +1 -0
  25. package/dist/components/dialog.d.ts +20 -0
  26. package/dist/components/dialog.d.ts.map +1 -0
  27. package/dist/components/dialog.js +22 -0
  28. package/dist/components/dialog.js.map +1 -0
  29. package/dist/components/index.d.ts +15 -0
  30. package/dist/components/index.d.ts.map +1 -0
  31. package/dist/components/index.js +17 -0
  32. package/dist/components/index.js.map +1 -0
  33. package/dist/components/input.d.ts +4 -0
  34. package/dist/components/input.d.ts.map +1 -0
  35. package/dist/components/input.js +9 -0
  36. package/dist/components/input.js.map +1 -0
  37. package/dist/components/label.d.ts +6 -0
  38. package/dist/components/label.d.ts.map +1 -0
  39. package/dist/components/label.js +10 -0
  40. package/dist/components/label.js.map +1 -0
  41. package/dist/components/select.d.ts +11 -0
  42. package/dist/components/select.d.ts.map +1 -0
  43. package/dist/components/select.js +19 -0
  44. package/dist/components/select.js.map +1 -0
  45. package/dist/components/separator.d.ts +5 -0
  46. package/dist/components/separator.d.ts.map +1 -0
  47. package/dist/components/separator.js +8 -0
  48. package/dist/components/separator.js.map +1 -0
  49. package/dist/components/table.d.ts +11 -0
  50. package/dist/components/table.d.ts.map +1 -0
  51. package/dist/components/table.js +21 -0
  52. package/dist/components/table.js.map +1 -0
  53. package/dist/components/tabs.d.ts +8 -0
  54. package/dist/components/tabs.d.ts.map +1 -0
  55. package/dist/components/tabs.js +13 -0
  56. package/dist/components/tabs.js.map +1 -0
  57. package/dist/components/textarea.d.ts +4 -0
  58. package/dist/components/textarea.d.ts.map +1 -0
  59. package/dist/components/textarea.js +9 -0
  60. package/dist/components/textarea.js.map +1 -0
  61. package/dist/index.d.ts +16 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +20 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/lib/utils.d.ts +3 -0
  66. package/dist/lib/utils.d.ts.map +1 -0
  67. package/dist/lib/utils.js +6 -0
  68. package/dist/lib/utils.js.map +1 -0
  69. package/dist/styles.css +38 -0
  70. package/dist/tokens/index.d.ts +55 -0
  71. package/dist/tokens/index.d.ts.map +1 -0
  72. package/dist/tokens/index.js +55 -0
  73. package/dist/tokens/index.js.map +1 -0
  74. package/dist/tokens.css +92 -0
  75. package/package.json +57 -0
  76. package/src/tailwind-preset.js +51 -0
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const badgeVariants: (props?: ({
4
+ variant?: "secondary" | "default" | "destructive" | "outline" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
7
+ }
8
+ declare function Badge({ className, variant, ...props }: BadgeProps): React.JSX.Element;
9
+ export { Badge, badgeVariants };
10
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/components/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,aAAa;;8EAkBlB,CAAC;AAEF,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,aAAa,CAAC;CAAG;AAEzC,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAE9E;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cva } from 'class-variance-authority';
3
+ import { cn } from '../lib/utils.js';
4
+ const badgeVariants = cva('inline-flex items-center border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2', {
5
+ variants: {
6
+ variant: {
7
+ default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',
8
+ secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',
9
+ destructive: 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',
10
+ outline: 'text-foreground',
11
+ },
12
+ },
13
+ defaultVariants: {
14
+ variant: 'default',
15
+ },
16
+ });
17
+ function Badge({ className, variant, ...props }) {
18
+ return _jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
19
+ }
20
+ export { Badge, badgeVariants };
21
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../src/components/badge.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,aAAa,GAAG,GAAG,CACvB,2JAA2J,EAC3J;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,kFAAkF;YACpF,SAAS,EACP,iFAAiF;YACnF,WAAW,EACT,8FAA8F;YAChG,OAAO,EAAE,iBAAiB;SAC3B;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;KACnB;CACF,CACF,CAAC;AAMF,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAc;IACzD,OAAO,cAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAAC;AAClF,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "secondary" | "ghost" | "link" | "default" | "destructive" | "outline" | null | undefined;
5
+ size?: "sm" | "lg" | "default" | "icon" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
8
+ asChild?: boolean;
9
+ }
10
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
11
+ export { Button, buttonVariants };
12
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,cAAc;;;8EA4BnB,CAAC;AAEF,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,MAAM,uFAWX,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { Slot } from '@radix-ui/react-slot';
4
+ import { cva } from 'class-variance-authority';
5
+ import { cn } from '../lib/utils.js';
6
+ const buttonVariants = cva('inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50', {
7
+ variants: {
8
+ variant: {
9
+ default: 'bg-primary text-primary-foreground shadow hover:bg-primary/90',
10
+ destructive: 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',
11
+ outline: 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground',
12
+ secondary: 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80',
13
+ ghost: 'hover:bg-accent hover:text-accent-foreground',
14
+ link: 'text-primary underline-offset-4 hover:underline',
15
+ },
16
+ size: {
17
+ default: 'h-9 px-4 py-2',
18
+ sm: 'h-8 px-3 text-xs',
19
+ lg: 'h-10 px-8',
20
+ icon: 'h-9 w-9',
21
+ },
22
+ },
23
+ defaultVariants: {
24
+ variant: 'default',
25
+ size: 'default',
26
+ },
27
+ });
28
+ const Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {
29
+ const Comp = asChild ? Slot : 'button';
30
+ return (_jsx(Comp, { className: cn(buttonVariants({ variant, size, className })), ref: ref, ...props }));
31
+ });
32
+ Button.displayName = 'Button';
33
+ export { Button, buttonVariants };
34
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,cAAc,GAAG,GAAG,CACxB,0NAA0N,EAC1N;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,+DAA+D;YACjE,WAAW,EACT,8EAA8E;YAChF,OAAO,EACL,0FAA0F;YAC5F,SAAS,EACP,wEAAwE;YAC1E,KAAK,EAAE,8CAA8C;YACrD,IAAI,EAAE,iDAAiD;SACxD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,eAAe;YACxB,EAAE,EAAE,kBAAkB;YACtB,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,SAAS;SAChB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAQF,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvC,OAAO,CACL,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAC3D,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AACF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
3
+ declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
5
+ declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
6
+ declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
7
+ declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
8
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
9
+ //# sourceMappingURL=card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/components/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,IAAI,6GASR,CAAC;AAGH,QAAA,MAAM,UAAU,6GASd,CAAC;AAGH,QAAA,MAAM,SAAS,qHASb,CAAC;AAGH,QAAA,MAAM,eAAe,yHASnB,CAAC;AAGH,QAAA,MAAM,WAAW,6GAKf,CAAC;AAGH,QAAA,MAAM,UAAU,6GASd,CAAC;AAGH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { cn } from '../lib/utils.js';
4
+ const Card = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('border bg-card text-card-foreground shadow', className), ...props })));
5
+ Card.displayName = 'Card';
6
+ const CardHeader = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('flex flex-col space-y-1.5 p-6', className), ...props })));
7
+ CardHeader.displayName = 'CardHeader';
8
+ const CardTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx("h3", { ref: ref, className: cn('font-semibold leading-none tracking-tight', className), ...props })));
9
+ CardTitle.displayName = 'CardTitle';
10
+ const CardDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx("p", { ref: ref, className: cn('text-sm text-muted-foreground', className), ...props })));
11
+ CardDescription.displayName = 'CardDescription';
12
+ const CardContent = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('p-6 pt-0', className), ...props })));
13
+ CardContent.displayName = 'CardContent';
14
+ const CardFooter = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('flex items-center p-6 pt-0', className), ...props })));
15
+ CardFooter.displayName = 'CardFooter';
16
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
17
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/components/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAG3B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,4CAA4C,EAAE,SAAS,CAAC,KAClE,KAAK,GACT,CACH,CAAC,CAAC;AACH,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;AAE1B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,CACH,CAAC,CAAC;AACH,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAGhC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,aACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE,SAAS,CAAC,KACjE,KAAK,GACT,CACH,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAGtC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,YACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,CACH,CAAC,CAAC;AACH,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC;AAEhD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACnE,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAClD,KAAK,GACT,CACH,CAAC,CAAC;AACH,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type ButtonHTMLAttributes, type ReactNode } from 'react';
2
+ type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
3
+ type ButtonSize = 'sm' | 'md' | 'lg';
4
+ export interface ConnectButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
+ variant?: ButtonVariant;
6
+ size?: ButtonSize;
7
+ loading?: boolean;
8
+ children: ReactNode;
9
+ }
10
+ export declare function ConnectButton({ variant, size, loading, disabled, children, style, ...props }: ConnectButtonProps): React.JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=connect-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-button.d.ts","sourceRoot":"","sources":["../../src/components/connect-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,KAAK,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAClE,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACjF,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB;AA+BD,wBAAgB,aAAa,CAAC,EAC5B,OAAmB,EACnB,IAAW,EACX,OAAe,EACf,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EAAE,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAyBxC"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ const variantStyles = {
3
+ primary: {
4
+ background: 'var(--studio-color-primary-600)',
5
+ color: 'var(--studio-color-neutral-0)',
6
+ border: 'none',
7
+ },
8
+ secondary: {
9
+ background: 'var(--studio-color-neutral-0)',
10
+ color: 'var(--studio-color-neutral-800)',
11
+ border: '1px solid var(--studio-color-neutral-300)',
12
+ },
13
+ ghost: {
14
+ background: 'transparent',
15
+ color: 'var(--studio-color-neutral-700)',
16
+ border: '1px solid transparent',
17
+ },
18
+ danger: {
19
+ background: 'var(--studio-color-error)',
20
+ color: 'var(--studio-color-neutral-0)',
21
+ border: 'none',
22
+ },
23
+ };
24
+ const sizeStyles = {
25
+ sm: { padding: '6px 12px', fontSize: 'var(--studio-font-size-sm)' },
26
+ md: { padding: '8px 16px', fontSize: 'var(--studio-font-size-base)' },
27
+ lg: { padding: '10px 20px', fontSize: 'var(--studio-font-size-lg)' },
28
+ };
29
+ export function ConnectButton({ variant = 'primary', size = 'md', loading = false, disabled, children, style, ...props }) {
30
+ return (_jsxs("button", { disabled: disabled || loading, style: {
31
+ fontFamily: 'var(--studio-font-family)',
32
+ fontWeight: 'var(--studio-font-weight-medium)',
33
+ borderRadius: 'var(--studio-radius-md)',
34
+ cursor: disabled || loading ? 'not-allowed' : 'pointer',
35
+ opacity: disabled || loading ? 0.6 : 1,
36
+ transition: `all var(--studio-transition-fast)`,
37
+ display: 'inline-flex',
38
+ alignItems: 'center',
39
+ gap: 'var(--studio-space-2)',
40
+ lineHeight: 'var(--studio-line-height-tight)',
41
+ ...variantStyles[variant],
42
+ ...sizeStyles[size],
43
+ ...style,
44
+ }, ...props, children: [loading && _jsx("span", { "aria-hidden": "true", children: "\u231B" }), children] }));
45
+ }
46
+ //# sourceMappingURL=connect-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-button.js","sourceRoot":"","sources":["../../src/components/connect-button.tsx"],"names":[],"mappings":";AAYA,MAAM,aAAa,GAA+C;IAChE,OAAO,EAAE;QACP,UAAU,EAAE,iCAAiC;QAC7C,KAAK,EAAE,+BAA+B;QACtC,MAAM,EAAE,MAAM;KACf;IACD,SAAS,EAAE;QACT,UAAU,EAAE,+BAA+B;QAC3C,KAAK,EAAE,iCAAiC;QACxC,MAAM,EAAE,2CAA2C;KACpD;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,KAAK,EAAE,iCAAiC;QACxC,MAAM,EAAE,uBAAuB;KAChC;IACD,MAAM,EAAE;QACN,UAAU,EAAE,2BAA2B;QACvC,KAAK,EAAE,+BAA+B;QACtC,MAAM,EAAE,MAAM;KACf;CACF,CAAC;AAEF,MAAM,UAAU,GAA4C;IAC1D,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,4BAA4B,EAAE;IACnE,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,8BAA8B,EAAE;IACrE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,4BAA4B,EAAE;CACrE,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACW;IACnB,OAAO,CACL,kBACE,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAC7B,KAAK,EAAE;YACL,UAAU,EAAE,2BAA2B;YACvC,UAAU,EAAE,kCAAuD;YACnE,YAAY,EAAE,yBAAyB;YACvC,MAAM,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACvD,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,UAAU,EAAE,mCAAmC;YAC/C,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,uBAAuB;YAC5B,UAAU,EAAE,iCAAiC;YAC7C,GAAG,aAAa,CAAC,OAAO,CAAC;YACzB,GAAG,UAAU,CAAC,IAAI,CAAC;YACnB,GAAG,KAAK;SACT,KACG,KAAK,aAER,OAAO,IAAI,8BAAkB,MAAM,uBAAe,EAClD,QAAQ,IACF,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ReactNode, CSSProperties } from 'react';
2
+ export interface ConnectCardProps {
3
+ title?: string;
4
+ children: ReactNode;
5
+ padding?: 'sm' | 'md' | 'lg';
6
+ style?: CSSProperties;
7
+ }
8
+ export declare function ConnectCard({ title, children, padding, style, }: ConnectCardProps): React.JSX.Element;
9
+ //# sourceMappingURL=connect-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-card.d.ts","sourceRoot":"","sources":["../../src/components/connect-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAQD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,OAAc,EACd,KAAK,GACN,EAAE,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6BtC"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ const paddingMap = {
3
+ sm: 'var(--studio-space-3)',
4
+ md: 'var(--studio-space-4)',
5
+ lg: 'var(--studio-space-6)',
6
+ };
7
+ export function ConnectCard({ title, children, padding = 'md', style, }) {
8
+ return (_jsxs("div", { style: {
9
+ background: 'var(--studio-color-neutral-0)',
10
+ border: '1px solid var(--studio-color-neutral-200)',
11
+ borderRadius: 'var(--studio-radius-lg)',
12
+ boxShadow: 'var(--studio-shadow-sm)',
13
+ padding: paddingMap[padding],
14
+ fontFamily: 'var(--studio-font-family)',
15
+ ...style,
16
+ }, children: [title && (_jsx("h3", { style: {
17
+ margin: 0,
18
+ marginBottom: 'var(--studio-space-3)',
19
+ fontSize: 'var(--studio-font-size-lg)',
20
+ fontWeight: 'var(--studio-font-weight-semibold)',
21
+ color: 'var(--studio-color-neutral-900)',
22
+ }, children: title })), children] }));
23
+ }
24
+ //# sourceMappingURL=connect-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-card.js","sourceRoot":"","sources":["../../src/components/connect-card.tsx"],"names":[],"mappings":";AASA,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,uBAAuB;CAC5B,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,OAAO,GAAG,IAAI,EACd,KAAK,GACY;IACjB,OAAO,CACL,eACE,KAAK,EAAE;YACL,UAAU,EAAE,+BAA+B;YAC3C,MAAM,EAAE,2CAA2C;YACnD,YAAY,EAAE,yBAAyB;YACvC,SAAS,EAAE,yBAAyB;YACpC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;YAC5B,UAAU,EAAE,2BAA2B;YACvC,GAAG,KAAK;SACT,aAEA,KAAK,IAAI,CACR,aACE,KAAK,EAAE;oBACL,MAAM,EAAE,CAAC;oBACT,YAAY,EAAE,uBAAuB;oBACrC,QAAQ,EAAE,4BAA4B;oBACtC,UAAU,EAAE,oCAAyD;oBACrE,KAAK,EAAE,iCAAiC;iBACzC,YAEA,KAAK,GACH,CACN,EACA,QAAQ,IACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { ReactNode, CSSProperties } from 'react';
2
+ export interface ConnectTableColumn<TRow> {
3
+ key: string;
4
+ header: string;
5
+ render?: (row: TRow) => ReactNode;
6
+ width?: string;
7
+ }
8
+ export interface ConnectTableProps<TRow> {
9
+ columns: ConnectTableColumn<TRow>[];
10
+ rows: TRow[];
11
+ rowKey: (row: TRow) => string;
12
+ emptyMessage?: string;
13
+ style?: CSSProperties;
14
+ }
15
+ export declare function ConnectTable<TRow>({ columns, rows, rowKey, emptyMessage, style, }: ConnectTableProps<TRow>): React.JSX.Element;
16
+ //# sourceMappingURL=connect-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-table.d.ts","sourceRoot":"","sources":["../../src/components/connect-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,WAAW,kBAAkB,CAAC,IAAI;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB,CAAC,IAAI;IACrC,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IACpC,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAmBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,EACjC,OAAO,EACP,IAAI,EACJ,MAAM,EACN,YAAwB,EACxB,KAAK,GACN,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAqD7C"}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ const cellStyle = {
3
+ padding: 'var(--studio-space-3) var(--studio-space-4)',
4
+ textAlign: 'left',
5
+ borderBottom: '1px solid var(--studio-color-neutral-200)',
6
+ fontSize: 'var(--studio-font-size-sm)',
7
+ };
8
+ const headerCellStyle = {
9
+ ...cellStyle,
10
+ fontWeight: 'var(--studio-font-weight-semibold)',
11
+ color: 'var(--studio-color-neutral-600)',
12
+ background: 'var(--studio-color-neutral-50)',
13
+ fontSize: 'var(--studio-font-size-xs)',
14
+ textTransform: 'uppercase',
15
+ letterSpacing: '0.05em',
16
+ };
17
+ export function ConnectTable({ columns, rows, rowKey, emptyMessage = 'No data', style, }) {
18
+ return (_jsx("div", { style: {
19
+ border: '1px solid var(--studio-color-neutral-200)',
20
+ borderRadius: 'var(--studio-radius-lg)',
21
+ overflow: 'hidden',
22
+ fontFamily: 'var(--studio-font-family)',
23
+ ...style,
24
+ }, children: _jsxs("table", { style: { width: '100%', borderCollapse: 'collapse' }, children: [_jsx("thead", { children: _jsx("tr", { children: columns.map((col) => (_jsx("th", { style: { ...headerCellStyle, width: col.width }, children: col.header }, col.key))) }) }), _jsx("tbody", { children: rows.length === 0 ? (_jsx("tr", { children: _jsx("td", { colSpan: columns.length, style: {
25
+ ...cellStyle,
26
+ textAlign: 'center',
27
+ color: 'var(--studio-color-neutral-400)',
28
+ padding: 'var(--studio-space-8)',
29
+ }, children: emptyMessage }) })) : (rows.map((row) => (_jsx("tr", { children: columns.map((col) => (_jsx("td", { style: cellStyle, children: col.render
30
+ ? col.render(row)
31
+ : String(row[col.key] ?? '') }, col.key))) }, rowKey(row))))) })] }) }));
32
+ }
33
+ //# sourceMappingURL=connect-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-table.js","sourceRoot":"","sources":["../../src/components/connect-table.tsx"],"names":[],"mappings":";AAiBA,MAAM,SAAS,GAAkB;IAC/B,OAAO,EAAE,6CAA6C;IACtD,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,2CAA2C;IACzD,QAAQ,EAAE,4BAA4B;CACvC,CAAC;AAEF,MAAM,eAAe,GAAkB;IACrC,GAAG,SAAS;IACZ,UAAU,EAAE,oCAAyD;IACrE,KAAK,EAAE,iCAAiC;IACxC,UAAU,EAAE,gCAAgC;IAC5C,QAAQ,EAAE,4BAA4B;IACtC,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,QAAQ;CACxB,CAAC;AAEF,MAAM,UAAU,YAAY,CAAO,EACjC,OAAO,EACP,IAAI,EACJ,MAAM,EACN,YAAY,GAAG,SAAS,EACxB,KAAK,GACmB;IACxB,OAAO,CACL,cACE,KAAK,EAAE;YACL,MAAM,EAAE,2CAA2C;YACnD,YAAY,EAAE,yBAAyB;YACvC,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,2BAA2B;YACvC,GAAG,KAAK;SACT,YAED,iBAAO,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,aACzD,0BACE,uBACG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,aAAkB,KAAK,EAAE,EAAE,GAAG,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,YAC9D,GAAG,CAAC,MAAM,IADJ,GAAG,CAAC,GAAG,CAEX,CACN,CAAC,GACC,GACC,EACR,0BACG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,uBACE,aACE,OAAO,EAAE,OAAO,CAAC,MAAM,EACvB,KAAK,EAAE;gCACL,GAAG,SAAS;gCACZ,SAAS,EAAE,QAAQ;gCACnB,KAAK,EAAE,iCAAiC;gCACxC,OAAO,EAAE,uBAAuB;6BACjC,YAEA,YAAY,GACV,GACF,CACN,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAChB,uBACG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,aAAkB,KAAK,EAAE,SAAS,YAC/B,GAAG,CAAC,MAAM;gCACT,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;gCACjB,CAAC,CAAC,MAAM,CAAE,GAA+B,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAHpD,GAAG,CAAC,GAAG,CAIX,CACN,CAAC,IAPK,MAAM,CAAC,GAAG,CAAC,CAQf,CACN,CAAC,CACH,GACK,IACF,GACJ,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import * as React from 'react';
2
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
3
+ declare const Dialog: React.FC<DialogPrimitive.DialogProps>;
4
+ declare const DialogTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const DialogPortal: React.FC<DialogPrimitive.DialogPortalProps>;
6
+ declare const DialogClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ declare const DialogContent: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const DialogHeader: {
10
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
11
+ displayName: string;
12
+ };
13
+ declare const DialogFooter: {
14
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
15
+ displayName: string;
16
+ };
17
+ declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
18
+ declare const DialogDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
19
+ export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };
20
+ //# sourceMappingURL=dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAI1D,QAAA,MAAM,MAAM,uCAAuB,CAAC;AACpC,QAAA,MAAM,aAAa,8GAA0B,CAAC;AAC9C,QAAA,MAAM,YAAY,6CAAyB,CAAC;AAC5C,QAAA,MAAM,WAAW,4GAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,8JAYjB,CAAC;AAGH,QAAA,MAAM,aAAa,8JAkCjB,CAAC;AAGH,QAAA,MAAM,YAAY;8BAGf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAQtC,CAAC;AAGF,QAAA,MAAM,YAAY;8BAGf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAQtC,CAAC;AAGF,QAAA,MAAM,WAAW,oKAYf,CAAC;AAGH,QAAA,MAAM,iBAAiB,8KASrB,CAAC;AAGH,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
4
+ import { cn } from '../lib/utils.js';
5
+ const Dialog = DialogPrimitive.Root;
6
+ const DialogTrigger = DialogPrimitive.Trigger;
7
+ const DialogPortal = DialogPrimitive.Portal;
8
+ const DialogClose = DialogPrimitive.Close;
9
+ const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: cn('fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props })));
10
+ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
11
+ const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn('fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]', className), ...props, children: [children, _jsxs(DialogPrimitive.Close, { className: "absolute right-4 top-4 opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M18 6 6 18" }), _jsx("path", { d: "m6 6 12 12" })] }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] })));
12
+ DialogContent.displayName = DialogPrimitive.Content.displayName;
13
+ const DialogHeader = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col space-y-1.5 text-center sm:text-left', className), ...props }));
14
+ DialogHeader.displayName = 'DialogHeader';
15
+ const DialogFooter = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className), ...props }));
16
+ DialogFooter.displayName = 'DialogFooter';
17
+ const DialogTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Title, { ref: ref, className: cn('text-lg font-semibold leading-none tracking-tight', className), ...props })));
18
+ DialogTitle.displayName = DialogPrimitive.Title.displayName;
19
+ const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Description, { ref: ref, className: cn('text-sm text-muted-foreground', className), ...props })));
20
+ DialogDescription.displayName = DialogPrimitive.Description.displayName;
21
+ export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };
22
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export { ConnectButton, type ConnectButtonProps } from './connect-button.js';
2
+ export { ConnectCard, type ConnectCardProps } from './connect-card.js';
3
+ export { ConnectTable, type ConnectTableProps, type ConnectTableColumn } from './connect-table.js';
4
+ export { Button, buttonVariants, type ButtonProps } from './button.js';
5
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from './card.js';
6
+ export { Input } from './input.js';
7
+ export { Label } from './label.js';
8
+ export { Textarea } from './textarea.js';
9
+ export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectItem, SelectSeparator, } from './select.js';
10
+ export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, } from './dialog.js';
11
+ export { Tabs, TabsList, TabsTrigger, TabsContent } from './tabs.js';
12
+ export { Badge, badgeVariants, type BadgeProps } from './badge.js';
13
+ export { Separator } from './separator.js';
14
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, } from './table.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGnG,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAClG,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,GAC5F,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAC9E,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,GAC3D,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GACzF,MAAM,YAAY,CAAC"}
@@ -0,0 +1,17 @@
1
+ // Legacy components (kept for backwards compatibility)
2
+ export { ConnectButton } from './connect-button.js';
3
+ export { ConnectCard } from './connect-card.js';
4
+ export { ConnectTable } from './connect-table.js';
5
+ // shadcn/ui components (Carbon-themed)
6
+ export { Button, buttonVariants } from './button.js';
7
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from './card.js';
8
+ export { Input } from './input.js';
9
+ export { Label } from './label.js';
10
+ export { Textarea } from './textarea.js';
11
+ export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectItem, SelectSeparator, } from './select.js';
12
+ export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, } from './dialog.js';
13
+ export { Tabs, TabsList, TabsTrigger, TabsContent } from './tabs.js';
14
+ export { Badge, badgeVariants } from './badge.js';
15
+ export { Separator } from './separator.js';
16
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, } from './table.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,aAAa,EAA2B,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAmD,MAAM,oBAAoB,CAAC;AAEnG,uCAAuC;AACvC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAClG,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,GAC5F,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAC9E,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,GAC3D,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAmB,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GACzF,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ declare const Input: React.ForwardRefExoticComponent<React.InputHTMLAttributes<HTMLInputElement> & React.RefAttributes<HTMLInputElement>>;
3
+ export { Input };
4
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,KAAK,sHAeT,CAAC;AAGH,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { cn } from '../lib/utils.js';
4
+ const Input = React.forwardRef(({ className, type, ...props }, ref) => {
5
+ return (_jsx("input", { type: type, className: cn('flex h-9 w-full border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50', className), ref: ref, ...props }));
6
+ });
7
+ Input.displayName = 'Input';
8
+ export { Input };
9
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAG5B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACvC,OAAO,CACL,gBACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX,iVAAiV,EACjV,SAAS,CACV,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import * as LabelPrimitive from '@radix-ui/react-label';
3
+ import { type VariantProps } from 'class-variance-authority';
4
+ declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: import("class-variance-authority/types").ClassProp | undefined) => string> & React.RefAttributes<HTMLLabelElement>>;
5
+ export { Label };
6
+ //# sourceMappingURL=label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQlE,QAAA,MAAM,KAAK,4PAUT,CAAC;AAGH,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import * as LabelPrimitive from '@radix-ui/react-label';
4
+ import { cva } from 'class-variance-authority';
5
+ import { cn } from '../lib/utils.js';
6
+ const labelVariants = cva('text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70');
7
+ const Label = React.forwardRef(({ className, ...props }, ref) => (_jsx(LabelPrimitive.Root, { ref: ref, className: cn(labelVariants(), className), ...props })));
8
+ Label.displayName = LabelPrimitive.Root.displayName;
9
+ export { Label };
10
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,aAAa,GAAG,GAAG,CACvB,4FAA4F,CAC7F,CAAC;AAEF,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAI5B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,cAAc,CAAC,IAAI,IAClB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,KACrC,KAAK,GACT,CACH,CAAC,CAAC;AACH,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import * as SelectPrimitive from '@radix-ui/react-select';
3
+ declare const Select: React.FC<SelectPrimitive.SelectProps>;
4
+ declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
5
+ declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
6
+ declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectItem, SelectSeparator, };
11
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/components/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAI1D,QAAA,MAAM,MAAM,uCAAuB,CAAC;AACpC,QAAA,MAAM,WAAW,yGAAwB,CAAC;AAC1C,QAAA,MAAM,WAAW,0GAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,oKA6BjB,CAAC;AAGH,QAAA,MAAM,aAAa,8JA2BjB,CAAC;AAGH,QAAA,MAAM,UAAU,2JA+Bd,CAAC;AAGH,QAAA,MAAM,eAAe,gKASnB,CAAC;AAGH,OAAO,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,GAChB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import * as SelectPrimitive from '@radix-ui/react-select';
4
+ import { cn } from '../lib/utils.js';
5
+ const Select = SelectPrimitive.Root;
6
+ const SelectGroup = SelectPrimitive.Group;
7
+ const SelectValue = SelectPrimitive.Value;
8
+ const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Trigger, { ref: ref, className: cn('flex h-9 w-full items-center justify-between border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1', className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "m6 9 6 6 6-6" }) }) })] })));
9
+ SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
10
+ const SelectContent = React.forwardRef(({ className, children, position = 'popper', ...props }, ref) => (_jsx(SelectPrimitive.Portal, { children: _jsx(SelectPrimitive.Content, { ref: ref, className: cn('relative z-50 max-h-96 min-w-[8rem] overflow-hidden border bg-popover text-popover-foreground shadow-md 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', position === 'popper' &&
11
+ 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1', className), position: position, ...props, children: _jsx(SelectPrimitive.Viewport, { className: cn('p-1', position === 'popper' &&
12
+ 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'), children: children }) }) })));
13
+ SelectContent.displayName = SelectPrimitive.Content.displayName;
14
+ const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Item, { ref: ref, className: cn('relative flex w-full cursor-default select-none items-center py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props, children: [_jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M20 6 9 17l-5-5" }) }) }) }), _jsx(SelectPrimitive.ItemText, { children: children })] })));
15
+ SelectItem.displayName = SelectPrimitive.Item.displayName;
16
+ const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Separator, { ref: ref, className: cn('-mx-1 my-1 h-px bg-muted', className), ...props })));
17
+ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
18
+ export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectItem, SelectSeparator, };
19
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/components/select.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
3
+ declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ export { Separator };
5
+ //# sourceMappingURL=separator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../src/components/separator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAIhE,QAAA,MAAM,SAAS,6JAoBd,CAAC;AAGF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
4
+ import { cn } from '../lib/utils.js';
5
+ const Separator = React.forwardRef(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (_jsx(SeparatorPrimitive.Root, { ref: ref, decorative: decorative, orientation: orientation, className: cn('shrink-0 bg-border', orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]', className), ...props })));
6
+ Separator.displayName = SeparatorPrimitive.Root.displayName;
7
+ export { Separator };
8
+ //# sourceMappingURL=separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator.js","sourceRoot":"","sources":["../../src/components/separator.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAIhC,CACE,EAAE,SAAS,EAAE,WAAW,GAAG,YAAY,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,EACtE,GAAG,EACH,EAAE,CAAC,CACH,KAAC,kBAAkB,CAAC,IAAI,IACtB,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,EAClE,SAAS,CACV,KACG,KAAK,GACT,CACH,CACF,CAAC;AACF,SAAS,CAAC,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
3
+ declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
4
+ declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
5
+ declare const TableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
6
+ declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
7
+ declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
8
+ declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
9
+ declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
10
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, };
11
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,KAAK,iHAWT,CAAC;AAGH,QAAA,MAAM,WAAW,+HAKf,CAAC;AAGH,QAAA,MAAM,SAAS,+HASb,CAAC;AAGH,QAAA,MAAM,WAAW,+HAYf,CAAC;AAGH,QAAA,MAAM,QAAQ,uHAYZ,CAAC;AAGH,QAAA,MAAM,SAAS,2HAYb,CAAC;AAGH,QAAA,MAAM,SAAS,2HAYb,CAAC;AAGH,QAAA,MAAM,YAAY,+HAShB,CAAC;AAGH,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACb,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { cn } from '../lib/utils.js';
4
+ const Table = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { className: "relative w-full overflow-auto", children: _jsx("table", { ref: ref, className: cn('w-full caption-bottom text-sm', className), ...props }) })));
5
+ Table.displayName = 'Table';
6
+ const TableHeader = React.forwardRef(({ className, ...props }, ref) => (_jsx("thead", { ref: ref, className: cn('[&_tr]:border-b', className), ...props })));
7
+ TableHeader.displayName = 'TableHeader';
8
+ const TableBody = React.forwardRef(({ className, ...props }, ref) => (_jsx("tbody", { ref: ref, className: cn('[&_tr:last-child]:border-0', className), ...props })));
9
+ TableBody.displayName = 'TableBody';
10
+ const TableFooter = React.forwardRef(({ className, ...props }, ref) => (_jsx("tfoot", { ref: ref, className: cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className), ...props })));
11
+ TableFooter.displayName = 'TableFooter';
12
+ const TableRow = React.forwardRef(({ className, ...props }, ref) => (_jsx("tr", { ref: ref, className: cn('border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', className), ...props })));
13
+ TableRow.displayName = 'TableRow';
14
+ const TableHead = React.forwardRef(({ className, ...props }, ref) => (_jsx("th", { ref: ref, className: cn('h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]', className), ...props })));
15
+ TableHead.displayName = 'TableHead';
16
+ const TableCell = React.forwardRef(({ className, ...props }, ref) => (_jsx("td", { ref: ref, className: cn('p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]', className), ...props })));
17
+ TableCell.displayName = 'TableCell';
18
+ const TableCaption = React.forwardRef(({ className, ...props }, ref) => (_jsx("caption", { ref: ref, className: cn('mt-4 text-sm text-muted-foreground', className), ...props })));
19
+ TableCaption.displayName = 'TableCaption';
20
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, };
21
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
3
+ declare const Tabs: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>;
4
+ declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
+ declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ export { Tabs, TabsList, TabsTrigger, TabsContent };
8
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAItD,QAAA,MAAM,IAAI,gGAAqB,CAAC;AAEhC,QAAA,MAAM,QAAQ,uJAYZ,CAAC;AAGH,QAAA,MAAM,WAAW,gKAYf,CAAC;AAGH,QAAA,MAAM,WAAW,0JAYf,CAAC;AAGH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
4
+ import { cn } from '../lib/utils.js';
5
+ const Tabs = TabsPrimitive.Root;
6
+ const TabsList = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.List, { ref: ref, className: cn('inline-flex h-9 items-center justify-center bg-muted p-1 text-muted-foreground', className), ...props })));
7
+ TabsList.displayName = TabsPrimitive.List.displayName;
8
+ const TabsTrigger = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.Trigger, { ref: ref, className: cn('inline-flex items-center justify-center whitespace-nowrap px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow', className), ...props })));
9
+ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
10
+ const TabsContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.Content, { ref: ref, className: cn('mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2', className), ...props })));
11
+ TabsContent.displayName = TabsPrimitive.Content.displayName;
12
+ export { Tabs, TabsList, TabsTrigger, TabsContent };
13
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;AAEhC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAG/B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,aAAa,CAAC,IAAI,IACjB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,gFAAgF,EAChF,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;AAEtD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,aAAa,CAAC,OAAO,IACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,qXAAqX,EACrX,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;AAE5D,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,aAAa,CAAC,OAAO,IACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,iIAAiI,EACjI,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ declare const Textarea: React.ForwardRefExoticComponent<React.TextareaHTMLAttributes<HTMLTextAreaElement> & React.RefAttributes<HTMLTextAreaElement>>;
3
+ export { Textarea };
4
+ //# sourceMappingURL=textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../src/components/textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,QAAQ,+HAcZ,CAAC;AAGH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { cn } from '../lib/utils.js';
4
+ const Textarea = React.forwardRef(({ className, ...props }, ref) => {
5
+ return (_jsx("textarea", { className: cn('flex min-h-[60px] w-full border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50', className), ref: ref, ...props }));
6
+ });
7
+ Textarea.displayName = 'Textarea';
8
+ export { Textarea };
9
+ //# sourceMappingURL=textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../src/components/textarea.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAG/B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACjC,OAAO,CACL,mBACE,SAAS,EAAE,EAAE,CACX,mPAAmP,EACnP,SAAS,CACV,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @ownzones/studio-ui
3
+ *
4
+ * Design system components and tokens for Connect Studio plugins.
5
+ *
6
+ * Usage:
7
+ * ```tsx
8
+ * import { Button, Card, CardContent } from '@ownzones/studio-ui';
9
+ * import '@ownzones/studio-ui/styles.css';
10
+ * ```
11
+ */
12
+ export { ConnectButton, ConnectCard, ConnectTable, type ConnectButtonProps, type ConnectCardProps, type ConnectTableProps, type ConnectTableColumn, } from './components/index.js';
13
+ export { Button, buttonVariants, type ButtonProps, Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, Input, Label, Textarea, Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectItem, SelectSeparator, Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, Tabs, TabsList, TabsTrigger, TabsContent, Badge, badgeVariants, type BadgeProps, Separator, Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, } from './components/index.js';
14
+ export { cn } from './lib/utils.js';
15
+ export { colors, spacing, radius } from './tokens/index.js';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EACxC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EACrE,KAAK,EACL,KAAK,EACL,QAAQ,EACR,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAC3F,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAC9E,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAC1D,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EACxC,KAAK,EAAE,aAAa,EAAE,KAAK,UAAU,EACrC,SAAS,EACT,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GACzF,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAGpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @ownzones/studio-ui
3
+ *
4
+ * Design system components and tokens for Connect Studio plugins.
5
+ *
6
+ * Usage:
7
+ * ```tsx
8
+ * import { Button, Card, CardContent } from '@ownzones/studio-ui';
9
+ * import '@ownzones/studio-ui/styles.css';
10
+ * ```
11
+ */
12
+ // Legacy components (kept for backwards compatibility)
13
+ export { ConnectButton, ConnectCard, ConnectTable, } from './components/index.js';
14
+ // shadcn/ui components
15
+ export { Button, buttonVariants, Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, Input, Label, Textarea, Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectItem, SelectSeparator, Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, Tabs, TabsList, TabsTrigger, TabsContent, Badge, badgeVariants, Separator, Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, } from './components/index.js';
16
+ // Utilities
17
+ export { cn } from './lib/utils.js';
18
+ // Legacy tokens
19
+ export { colors, spacing, radius } from './tokens/index.js';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,uDAAuD;AACvD,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,GAKb,MAAM,uBAAuB,CAAC;AAE/B,uBAAuB;AACvB,OAAO,EACL,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EACrE,KAAK,EACL,KAAK,EACL,QAAQ,EACR,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAC3F,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAC9E,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAC1D,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EACxC,KAAK,EAAE,aAAa,EACpB,SAAS,EACT,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GACzF,MAAM,uBAAuB,CAAC;AAE/B,YAAY;AACZ,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,gBAAgB;AAChB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD"}
@@ -0,0 +1,6 @@
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,IAAI,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,38 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ @layer base {
6
+ :root {
7
+ --background: 220 14% 7%;
8
+ --foreground: 220 9% 94%;
9
+ --card: 220 14% 9%;
10
+ --card-foreground: 220 9% 94%;
11
+ --popover: 220 14% 9%;
12
+ --popover-foreground: 220 9% 94%;
13
+ --primary: 0 72% 56%;
14
+ --primary-foreground: 0 0% 100%;
15
+ --secondary: 220 14% 16%;
16
+ --secondary-foreground: 220 9% 94%;
17
+ --muted: 220 14% 16%;
18
+ --muted-foreground: 220 9% 56%;
19
+ --accent: 220 14% 16%;
20
+ --accent-foreground: 220 9% 94%;
21
+ --destructive: 0 84% 60%;
22
+ --destructive-foreground: 0 0% 100%;
23
+ --border: 220 14% 20%;
24
+ --input: 220 14% 20%;
25
+ --ring: 0 72% 56%;
26
+ --radius: 0px;
27
+ }
28
+
29
+ * {
30
+ border-color: hsl(var(--border));
31
+ }
32
+
33
+ body {
34
+ background-color: hsl(var(--background));
35
+ color: hsl(var(--foreground));
36
+ font-family: "IBM Plex Sans", system-ui, sans-serif;
37
+ }
38
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Design token values as TypeScript constants.
3
+ * Use these when you need token values in JS (e.g. inline styles, charting libs).
4
+ * Prefer the CSS custom properties when possible.
5
+ */
6
+ export declare const colors: {
7
+ readonly primary: {
8
+ readonly 50: "#eef2ff";
9
+ readonly 100: "#e0e7ff";
10
+ readonly 200: "#c7d2fe";
11
+ readonly 400: "#818cf8";
12
+ readonly 500: "#6366f1";
13
+ readonly 600: "#4f46e5";
14
+ readonly 700: "#4338ca";
15
+ readonly 900: "#312e81";
16
+ };
17
+ readonly neutral: {
18
+ readonly 0: "#ffffff";
19
+ readonly 50: "#f9fafb";
20
+ readonly 100: "#f3f4f6";
21
+ readonly 200: "#e5e7eb";
22
+ readonly 300: "#d1d5db";
23
+ readonly 400: "#9ca3af";
24
+ readonly 500: "#6b7280";
25
+ readonly 600: "#4b5563";
26
+ readonly 700: "#374151";
27
+ readonly 800: "#1f2937";
28
+ readonly 900: "#111827";
29
+ readonly 950: "#030712";
30
+ };
31
+ readonly success: "#22c55e";
32
+ readonly warning: "#f59e0b";
33
+ readonly error: "#ef4444";
34
+ readonly info: "#3b82f6";
35
+ };
36
+ export declare const spacing: {
37
+ readonly 1: "0.25rem";
38
+ readonly 2: "0.5rem";
39
+ readonly 3: "0.75rem";
40
+ readonly 4: "1rem";
41
+ readonly 5: "1.25rem";
42
+ readonly 6: "1.5rem";
43
+ readonly 8: "2rem";
44
+ readonly 10: "2.5rem";
45
+ readonly 12: "3rem";
46
+ readonly 16: "4rem";
47
+ };
48
+ export declare const radius: {
49
+ readonly sm: "0.25rem";
50
+ readonly md: "0.375rem";
51
+ readonly lg: "0.5rem";
52
+ readonly xl: "0.75rem";
53
+ readonly full: "9999px";
54
+ };
55
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BT,CAAC;AAEX,eAAO,MAAM,OAAO;;;;;;;;;;;CAWV,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;CAMT,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Design token values as TypeScript constants.
3
+ * Use these when you need token values in JS (e.g. inline styles, charting libs).
4
+ * Prefer the CSS custom properties when possible.
5
+ */
6
+ export const colors = {
7
+ primary: {
8
+ 50: '#eef2ff',
9
+ 100: '#e0e7ff',
10
+ 200: '#c7d2fe',
11
+ 400: '#818cf8',
12
+ 500: '#6366f1',
13
+ 600: '#4f46e5',
14
+ 700: '#4338ca',
15
+ 900: '#312e81',
16
+ },
17
+ neutral: {
18
+ 0: '#ffffff',
19
+ 50: '#f9fafb',
20
+ 100: '#f3f4f6',
21
+ 200: '#e5e7eb',
22
+ 300: '#d1d5db',
23
+ 400: '#9ca3af',
24
+ 500: '#6b7280',
25
+ 600: '#4b5563',
26
+ 700: '#374151',
27
+ 800: '#1f2937',
28
+ 900: '#111827',
29
+ 950: '#030712',
30
+ },
31
+ success: '#22c55e',
32
+ warning: '#f59e0b',
33
+ error: '#ef4444',
34
+ info: '#3b82f6',
35
+ };
36
+ export const spacing = {
37
+ 1: '0.25rem',
38
+ 2: '0.5rem',
39
+ 3: '0.75rem',
40
+ 4: '1rem',
41
+ 5: '1.25rem',
42
+ 6: '1.5rem',
43
+ 8: '2rem',
44
+ 10: '2.5rem',
45
+ 12: '3rem',
46
+ 16: '4rem',
47
+ };
48
+ export const radius = {
49
+ sm: '0.25rem',
50
+ md: '0.375rem',
51
+ lg: '0.5rem',
52
+ xl: '0.75rem',
53
+ full: '9999px',
54
+ };
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;KACf;IACD,OAAO,EAAE;QACP,CAAC,EAAE,SAAS;QACZ,EAAE,EAAE,SAAS;QACb,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;KACf;IACD,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,QAAQ;CACN,CAAC"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Connect Studio Design Tokens
3
+ *
4
+ * CSS custom properties for consistent styling across all plugins.
5
+ * Import in any framework: @import '@ownzones/studio-ui/tokens.css';
6
+ */
7
+
8
+ :root {
9
+ /* Colors — Primary */
10
+ --studio-color-primary-50: #eef2ff;
11
+ --studio-color-primary-100: #e0e7ff;
12
+ --studio-color-primary-200: #c7d2fe;
13
+ --studio-color-primary-400: #818cf8;
14
+ --studio-color-primary-500: #6366f1;
15
+ --studio-color-primary-600: #4f46e5;
16
+ --studio-color-primary-700: #4338ca;
17
+ --studio-color-primary-900: #312e81;
18
+
19
+ /* Colors — Neutral */
20
+ --studio-color-neutral-0: #ffffff;
21
+ --studio-color-neutral-50: #f9fafb;
22
+ --studio-color-neutral-100: #f3f4f6;
23
+ --studio-color-neutral-200: #e5e7eb;
24
+ --studio-color-neutral-300: #d1d5db;
25
+ --studio-color-neutral-400: #9ca3af;
26
+ --studio-color-neutral-500: #6b7280;
27
+ --studio-color-neutral-600: #4b5563;
28
+ --studio-color-neutral-700: #374151;
29
+ --studio-color-neutral-800: #1f2937;
30
+ --studio-color-neutral-900: #111827;
31
+ --studio-color-neutral-950: #030712;
32
+
33
+ /* Colors — Semantic */
34
+ --studio-color-success: #22c55e;
35
+ --studio-color-warning: #f59e0b;
36
+ --studio-color-error: #ef4444;
37
+ --studio-color-info: #3b82f6;
38
+
39
+ /* Typography */
40
+ --studio-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
41
+ --studio-font-mono: 'JetBrains Mono', 'Fira Code', monospace;
42
+
43
+ --studio-font-size-xs: 0.75rem;
44
+ --studio-font-size-sm: 0.875rem;
45
+ --studio-font-size-base: 1rem;
46
+ --studio-font-size-lg: 1.125rem;
47
+ --studio-font-size-xl: 1.25rem;
48
+ --studio-font-size-2xl: 1.5rem;
49
+
50
+ --studio-font-weight-normal: 400;
51
+ --studio-font-weight-medium: 500;
52
+ --studio-font-weight-semibold: 600;
53
+ --studio-font-weight-bold: 700;
54
+
55
+ --studio-line-height-tight: 1.25;
56
+ --studio-line-height-normal: 1.5;
57
+ --studio-line-height-relaxed: 1.75;
58
+
59
+ /* Spacing */
60
+ --studio-space-1: 0.25rem;
61
+ --studio-space-2: 0.5rem;
62
+ --studio-space-3: 0.75rem;
63
+ --studio-space-4: 1rem;
64
+ --studio-space-5: 1.25rem;
65
+ --studio-space-6: 1.5rem;
66
+ --studio-space-8: 2rem;
67
+ --studio-space-10: 2.5rem;
68
+ --studio-space-12: 3rem;
69
+ --studio-space-16: 4rem;
70
+
71
+ /* Border Radius */
72
+ --studio-radius-sm: 0.25rem;
73
+ --studio-radius-md: 0.375rem;
74
+ --studio-radius-lg: 0.5rem;
75
+ --studio-radius-xl: 0.75rem;
76
+ --studio-radius-full: 9999px;
77
+
78
+ /* Shadows */
79
+ --studio-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
80
+ --studio-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
81
+ --studio-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
82
+
83
+ /* Transitions */
84
+ --studio-transition-fast: 150ms ease;
85
+ --studio-transition-normal: 200ms ease;
86
+ --studio-transition-slow: 300ms ease;
87
+
88
+ /* Z-Index */
89
+ --studio-z-dropdown: 1000;
90
+ --studio-z-modal: 1100;
91
+ --studio-z-toast: 1200;
92
+ }
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@ownzones/studio-ui",
3
+ "version": "0.1.0",
4
+ "description": "Design system components and tokens for Connect Studio plugins",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./styles.css": "./dist/styles.css",
14
+ "./tailwind-preset": "./src/tailwind-preset.js",
15
+ "./tokens": {
16
+ "types": "./dist/tokens/index.d.ts",
17
+ "import": "./dist/tokens/index.js"
18
+ },
19
+ "./tokens.css": "./dist/tokens.css"
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "src/tailwind-preset.js"
24
+ ],
25
+ "scripts": {
26
+ "build": "tsc -p tsconfig.lib.json && cp src/tokens.css dist/tokens.css && cp src/styles.css dist/styles.css",
27
+ "type-check": "tsc --noEmit"
28
+ },
29
+ "dependencies": {
30
+ "@radix-ui/react-dialog": "^1.1.0",
31
+ "@radix-ui/react-label": "^2.1.0",
32
+ "@radix-ui/react-select": "^2.1.0",
33
+ "@radix-ui/react-separator": "^1.1.0",
34
+ "@radix-ui/react-slot": "^1.1.0",
35
+ "@radix-ui/react-tabs": "^1.1.0",
36
+ "class-variance-authority": "^0.7.0",
37
+ "clsx": "^2.1.0",
38
+ "tailwind-merge": "^2.5.0"
39
+ },
40
+ "peerDependencies": {
41
+ "react": "^18.0.0 || ^19.0.0",
42
+ "react-dom": "^18.0.0 || ^19.0.0"
43
+ },
44
+ "devDependencies": {
45
+ "@types/react": "^19.0.0",
46
+ "@types/react-dom": "^19.0.0",
47
+ "autoprefixer": "^10.4.0",
48
+ "postcss": "^8.4.0",
49
+ "react": "^19.0.0",
50
+ "react-dom": "^19.0.0",
51
+ "tailwindcss": "^3.4.0",
52
+ "typescript": "~5.7.0"
53
+ },
54
+ "publishConfig": {
55
+ "access": "public"
56
+ }
57
+ }
@@ -0,0 +1,51 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = {
3
+ theme: {
4
+ extend: {
5
+ colors: {
6
+ border: 'hsl(var(--border))',
7
+ input: 'hsl(var(--input))',
8
+ ring: 'hsl(var(--ring))',
9
+ background: 'hsl(var(--background))',
10
+ foreground: 'hsl(var(--foreground))',
11
+ primary: {
12
+ DEFAULT: 'hsl(var(--primary))',
13
+ foreground: 'hsl(var(--primary-foreground))',
14
+ },
15
+ secondary: {
16
+ DEFAULT: 'hsl(var(--secondary))',
17
+ foreground: 'hsl(var(--secondary-foreground))',
18
+ },
19
+ destructive: {
20
+ DEFAULT: 'hsl(var(--destructive))',
21
+ foreground: 'hsl(var(--destructive-foreground))',
22
+ },
23
+ muted: {
24
+ DEFAULT: 'hsl(var(--muted))',
25
+ foreground: 'hsl(var(--muted-foreground))',
26
+ },
27
+ accent: {
28
+ DEFAULT: 'hsl(var(--accent))',
29
+ foreground: 'hsl(var(--accent-foreground))',
30
+ },
31
+ popover: {
32
+ DEFAULT: 'hsl(var(--popover))',
33
+ foreground: 'hsl(var(--popover-foreground))',
34
+ },
35
+ card: {
36
+ DEFAULT: 'hsl(var(--card))',
37
+ foreground: 'hsl(var(--card-foreground))',
38
+ },
39
+ },
40
+ borderRadius: {
41
+ lg: '0px',
42
+ md: '0px',
43
+ sm: '0px',
44
+ },
45
+ fontFamily: {
46
+ sans: ['"IBM Plex Sans"', 'system-ui', 'sans-serif'],
47
+ mono: ['"IBM Plex Mono"', 'monospace'],
48
+ },
49
+ },
50
+ },
51
+ };