@dailyautomations/ui 1.2.0 → 1.4.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 (101) hide show
  1. package/dist/components/common/button.js +6 -6
  2. package/dist/components/common/button.js.map +1 -1
  3. package/dist/components/dev/theme-tester.d.ts +2 -0
  4. package/dist/components/dev/theme-tester.d.ts.map +1 -0
  5. package/dist/components/dev/theme-tester.js +105 -0
  6. package/dist/components/dev/theme-tester.js.map +1 -0
  7. package/dist/components/layout/app-shell.d.ts +14 -0
  8. package/dist/components/layout/app-shell.d.ts.map +1 -0
  9. package/dist/components/layout/app-shell.js +25 -0
  10. package/dist/components/layout/app-shell.js.map +1 -0
  11. package/dist/components/ui/alert-dialog.d.ts +15 -0
  12. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  13. package/dist/components/ui/alert-dialog.js +40 -0
  14. package/dist/components/ui/alert-dialog.js.map +1 -0
  15. package/dist/components/ui/avatar.d.ts +7 -0
  16. package/dist/components/ui/avatar.d.ts.map +1 -0
  17. package/dist/components/ui/avatar.js +15 -0
  18. package/dist/components/ui/avatar.js.map +1 -0
  19. package/dist/components/ui/collapsible.d.ts +7 -0
  20. package/dist/components/ui/collapsible.d.ts.map +1 -0
  21. package/dist/components/ui/collapsible.js +15 -0
  22. package/dist/components/ui/collapsible.js.map +1 -0
  23. package/dist/components/ui/confirm-dialog.d.ts +16 -0
  24. package/dist/components/ui/confirm-dialog.d.ts.map +1 -0
  25. package/dist/components/ui/confirm-dialog.js +31 -0
  26. package/dist/components/ui/confirm-dialog.js.map +1 -0
  27. package/dist/components/ui/dropdown-menu.d.ts +25 -0
  28. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  29. package/dist/components/ui/dropdown-menu.js +51 -0
  30. package/dist/components/ui/dropdown-menu.js.map +1 -0
  31. package/dist/components/ui/empty-state.d.ts +14 -0
  32. package/dist/components/ui/empty-state.d.ts.map +1 -0
  33. package/dist/components/ui/empty-state.js +20 -0
  34. package/dist/components/ui/empty-state.js.map +1 -0
  35. package/dist/components/ui/filter-bar.d.ts +29 -0
  36. package/dist/components/ui/filter-bar.d.ts.map +1 -0
  37. package/dist/components/ui/filter-bar.js +19 -0
  38. package/dist/components/ui/filter-bar.js.map +1 -0
  39. package/dist/components/ui/loading-spinner.d.ts +19 -0
  40. package/dist/components/ui/loading-spinner.d.ts.map +1 -0
  41. package/dist/components/ui/loading-spinner.js +28 -0
  42. package/dist/components/ui/loading-spinner.js.map +1 -0
  43. package/dist/components/ui/popover.d.ts +8 -0
  44. package/dist/components/ui/popover.d.ts.map +1 -0
  45. package/dist/components/ui/popover.js +18 -0
  46. package/dist/components/ui/popover.js.map +1 -0
  47. package/dist/components/ui/progress.d.ts +8 -0
  48. package/dist/components/ui/progress.d.ts.map +1 -0
  49. package/dist/components/ui/progress.js +9 -0
  50. package/dist/components/ui/progress.js.map +1 -0
  51. package/dist/components/ui/radio-group.d.ts +6 -0
  52. package/dist/components/ui/radio-group.d.ts.map +1 -0
  53. package/dist/components/ui/radio-group.js +12 -0
  54. package/dist/components/ui/radio-group.js.map +1 -0
  55. package/dist/components/ui/scroll-area.d.ts +6 -0
  56. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  57. package/dist/components/ui/scroll-area.js +14 -0
  58. package/dist/components/ui/scroll-area.js.map +1 -0
  59. package/dist/components/ui/separator.d.ts +7 -0
  60. package/dist/components/ui/separator.d.ts.map +1 -0
  61. package/dist/components/ui/separator.js +9 -0
  62. package/dist/components/ui/separator.js.map +1 -0
  63. package/dist/components/ui/sheet.d.ts +21 -0
  64. package/dist/components/ui/sheet.d.ts.map +1 -0
  65. package/dist/components/ui/sheet.js +50 -0
  66. package/dist/components/ui/sheet.js.map +1 -0
  67. package/dist/components/ui/slider.d.ts +7 -0
  68. package/dist/components/ui/slider.d.ts.map +1 -0
  69. package/dist/components/ui/slider.js +9 -0
  70. package/dist/components/ui/slider.js.map +1 -0
  71. package/dist/components/ui/stat-card.d.ts +23 -0
  72. package/dist/components/ui/stat-card.d.ts.map +1 -0
  73. package/dist/components/ui/stat-card.js +46 -0
  74. package/dist/components/ui/stat-card.js.map +1 -0
  75. package/dist/components/ui/switch.d.ts +7 -0
  76. package/dist/components/ui/switch.d.ts.map +1 -0
  77. package/dist/components/ui/switch.js +9 -0
  78. package/dist/components/ui/switch.js.map +1 -0
  79. package/dist/components/ui/table.d.ts +11 -0
  80. package/dist/components/ui/table.d.ts.map +1 -0
  81. package/dist/components/ui/table.js +28 -0
  82. package/dist/components/ui/table.js.map +1 -0
  83. package/dist/components/ui/tooltip.d.ts +8 -0
  84. package/dist/components/ui/tooltip.d.ts.map +1 -0
  85. package/dist/components/ui/tooltip.js +18 -0
  86. package/dist/components/ui/tooltip.js.map +1 -0
  87. package/dist/config/themes.d.ts +18 -0
  88. package/dist/config/themes.d.ts.map +1 -0
  89. package/dist/config/themes.js +267 -0
  90. package/dist/config/themes.js.map +1 -0
  91. package/dist/index.d.ts +33 -0
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +22 -0
  94. package/dist/index.js.map +1 -1
  95. package/examples/home-page.tsx +81 -81
  96. package/examples/main.tsx +24 -9
  97. package/examples/pages/ComponentsPage.tsx +726 -0
  98. package/examples/pages/LandingPage.tsx +860 -0
  99. package/examples/pages/index.ts +2 -0
  100. package/examples/styles.css +61 -0
  101. package/package.json +26 -1
@@ -2,15 +2,15 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { Slot } from "@radix-ui/react-slot";
3
3
  import { cva } from "class-variance-authority";
4
4
  import { cn } from "../../utils/cn";
5
- const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-semibold transition-all disabled:pointer-events-none disabled:opacity-40 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-500/50 focus-visible:ring-offset-2 focus-visible:ring-offset-[#0F0F14]", {
5
+ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-semibold transition-all disabled:pointer-events-none disabled:opacity-40 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-2 focus-visible:ring-primary/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background", {
6
6
  variants: {
7
7
  variant: {
8
- default: "bg-orange-500 text-white hover:bg-orange-400 active:bg-orange-600",
9
- secondary: "bg-purple-500 text-white hover:bg-purple-400 active:bg-purple-600",
10
- outline: "border-2 border-purple-500 text-purple-400 bg-transparent hover:bg-purple-500/10",
11
- ghost: "text-purple-400 hover:bg-purple-500/10 hover:text-purple-300",
8
+ default: "bg-accent text-white hover:brightness-110 active:brightness-90",
9
+ secondary: "bg-primary text-white hover:brightness-110 active:brightness-90",
10
+ outline: "border-2 border-primary text-primary bg-transparent hover:bg-primary/10",
11
+ ghost: "text-primary hover:bg-primary/10 hover:brightness-110",
12
12
  destructive: "bg-red-600 text-white hover:bg-red-500 active:bg-red-700",
13
- link: "text-purple-400 underline-offset-4 hover:underline hover:text-purple-300",
13
+ link: "text-primary underline-offset-4 hover:underline hover:brightness-110",
14
14
  },
15
15
  size: {
16
16
  default: "h-10 px-5 py-2",
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/common/button.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,MAAM,cAAc,GAAG,GAAG,CACxB,gYAAgY,EAChY;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YAEP,OAAO,EAAE,mEAAmE;YAE5E,SAAS,EAAE,mEAAmE;YAE9E,OAAO,EAAE,kFAAkF;YAE3F,KAAK,EAAE,8DAA8D;YAErE,WAAW,EAAE,0DAA0D;YAEvE,IAAI,EAAE,0EAA0E;SACjF;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,gBAAgB;YACzB,EAAE,EAAE,qCAAqC;YACzC,EAAE,EAAE,gCAAgC;YACpC,IAAI,EAAE,SAAS;SAChB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAA;AASD,SAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACI;IACZ,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IAEtC,OAAO,CACL,KAAC,IAAI,iBACO,QAAQ,kBACJ,OAAO,eACV,IAAI,EACf,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAC3D,QAAQ,EAAE,QAAQ,IAAI,OAAO,KACzB,KAAK,YAER,OAAO,CAAC,CAAC,CAAC,CACT,8BACE,eACE,SAAS,EAAC,cAAc,EACxB,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,iBACP,MAAM,aAElB,iBACE,SAAS,EAAC,YAAY,EACtB,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,GACf,EACF,eACE,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,iHAAiH,GACnH,IACE,EACL,QAAQ,IACR,CACJ,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,GACI,CACR,CAAA;AACH,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/common/button.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,MAAM,cAAc,GAAG,GAAG,CACxB,8XAA8X,EAC9X;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YAEP,OAAO,EAAE,gEAAgE;YAEzE,SAAS,EAAE,iEAAiE;YAE5E,OAAO,EAAE,yEAAyE;YAElF,KAAK,EAAE,uDAAuD;YAE9D,WAAW,EAAE,0DAA0D;YAEvE,IAAI,EAAE,sEAAsE;SAC7E;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,gBAAgB;YACzB,EAAE,EAAE,qCAAqC;YACzC,EAAE,EAAE,gCAAgC;YACpC,IAAI,EAAE,SAAS;SAChB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAA;AASD,SAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACI;IACZ,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IAEtC,OAAO,CACL,KAAC,IAAI,iBACO,QAAQ,kBACJ,OAAO,eACV,IAAI,EACf,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAC3D,QAAQ,EAAE,QAAQ,IAAI,OAAO,KACzB,KAAK,YAER,OAAO,CAAC,CAAC,CAAC,CACT,8BACE,eACE,SAAS,EAAC,cAAc,EACxB,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,iBACP,MAAM,aAElB,iBACE,SAAS,EAAC,YAAY,EACtB,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,GACf,EACF,eACE,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,iHAAiH,GACnH,IACE,EACL,QAAQ,IACR,CACJ,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,GACI,CACR,CAAA;AACH,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function ThemeTester(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=theme-tester.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-tester.d.ts","sourceRoot":"","sources":["../../../src/components/dev/theme-tester.tsx"],"names":[],"mappings":"AAyCA,wBAAgB,WAAW,4CAwG1B"}
@@ -0,0 +1,105 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useState, useEffect } from "react";
4
+ import { themes, applyTheme, getStoredThemeId, getThemeById } from "../../config/themes.js";
5
+ import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, } from "../ui/dialog.js";
6
+ import { cn } from "../../utils/cn.js";
7
+ export function ThemeTester() {
8
+ const [isOpen, setIsOpen] = useState(false);
9
+ const [currentTheme, setCurrentTheme] = useState(null);
10
+ const [previewTheme, setPreviewTheme] = useState(null);
11
+ useEffect(() => {
12
+ const storedId = getStoredThemeId();
13
+ const theme = getThemeById(storedId);
14
+ const resolvedTheme = theme ?? themes[0];
15
+ if (resolvedTheme) {
16
+ setCurrentTheme(resolvedTheme);
17
+ }
18
+ }, []);
19
+ const handleOpen = () => setIsOpen(true);
20
+ const handleDialogChange = (open) => {
21
+ if (!open) {
22
+ if (previewTheme && currentTheme) {
23
+ applyTheme(currentTheme);
24
+ }
25
+ setPreviewTheme(null);
26
+ }
27
+ setIsOpen(open);
28
+ };
29
+ const handlePreview = (theme) => {
30
+ setPreviewTheme(theme);
31
+ applyTheme(theme);
32
+ };
33
+ const handleSelect = (theme) => {
34
+ setCurrentTheme(theme);
35
+ setPreviewTheme(null);
36
+ applyTheme(theme);
37
+ setIsOpen(false);
38
+ };
39
+ const handleMouseLeave = () => {
40
+ if (previewTheme && currentTheme) {
41
+ applyTheme(currentTheme);
42
+ setPreviewTheme(null);
43
+ }
44
+ };
45
+ return (_jsxs(_Fragment, { children: [_jsx("button", { onClick: handleOpen, className: "fixed bottom-6 right-6 z-50 p-4 rounded-full bg-primary text-white shadow-lg transition-all duration-300 hover:scale-110 hover:shadow-xl focus:outline-none focus:ring-2 focus:ring-primary/50 focus:ring-offset-2 focus:ring-offset-background", style: { backgroundColor: 'rgb(139 92 246)' }, title: "Change Theme", "aria-label": "Open theme selector", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", className: "w-6 h-6", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "13.5", cy: "6.5", r: ".5", fill: "currentColor" }), _jsx("circle", { cx: "17.5", cy: "10.5", r: ".5", fill: "currentColor" }), _jsx("circle", { cx: "8.5", cy: "7.5", r: ".5", fill: "currentColor" }), _jsx("circle", { cx: "6.5", cy: "12.5", r: ".5", fill: "currentColor" }), _jsx("path", { d: "M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z" })] }) }), _jsx(Dialog, { open: isOpen, onOpenChange: handleDialogChange, children: _jsxs(DialogContent, { className: "max-w-5xl max-h-[90vh] overflow-hidden", showCloseButton: true, children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { className: "text-2xl", children: "Choose Your Theme" }), _jsx(DialogDescription, { children: "Preview and select a theme preset for your Daily project. Hover to preview, click to apply." })] }), _jsx("div", { className: "overflow-y-auto max-h-[calc(90vh-12rem)] pr-2", onMouseLeave: handleMouseLeave, children: _jsx(ThemeGrid, { themes: themes, currentTheme: currentTheme, previewTheme: previewTheme, onPreview: handlePreview, onSelect: handleSelect }) })] }) })] }));
46
+ }
47
+ function groupThemes(allThemes) {
48
+ const categories = {};
49
+ for (const theme of allThemes) {
50
+ let category = 'Other';
51
+ if (theme.id.startsWith('daily-') || theme.id.startsWith('purple-')) {
52
+ category = 'Purple Primary';
53
+ }
54
+ else if (theme.id.startsWith('blue-')) {
55
+ category = 'Blue Primary';
56
+ }
57
+ else if (theme.id.startsWith('indigo-')) {
58
+ category = 'Indigo Primary';
59
+ }
60
+ else if (theme.id.startsWith('emerald-')) {
61
+ category = 'Emerald Primary';
62
+ }
63
+ else if (theme.id.startsWith('rose-') || theme.id.startsWith('pink-')) {
64
+ category = 'Rose/Pink Primary';
65
+ }
66
+ else if (theme.id.startsWith('teal-') || theme.id.startsWith('cyan-')) {
67
+ category = 'Teal/Cyan Primary';
68
+ }
69
+ else if (theme.id.startsWith('amber-') || theme.id.startsWith('orange-')) {
70
+ category = 'Amber/Orange Primary';
71
+ }
72
+ else if (theme.id.startsWith('slate-') || theme.id.startsWith('zinc-')) {
73
+ category = 'Neutral Primary';
74
+ }
75
+ if (!categories[category]) {
76
+ categories[category] = [];
77
+ }
78
+ categories[category].push(theme);
79
+ }
80
+ const order = ['Purple Primary', 'Blue Primary', 'Indigo Primary', 'Emerald Primary', 'Rose/Pink Primary', 'Teal/Cyan Primary', 'Amber/Orange Primary', 'Neutral Primary', 'Other'];
81
+ return order
82
+ .filter((cat) => (categories[cat]?.length ?? 0) > 0)
83
+ .map(category => ({ category, themes: categories[category] }));
84
+ }
85
+ function ThemeGrid({ themes: allThemes, currentTheme, previewTheme, onPreview, onSelect, }) {
86
+ const groupedThemes = groupThemes(allThemes);
87
+ return (_jsx("div", { className: "space-y-6", children: groupedThemes.map(({ category, themes }) => (_jsxs("div", { children: [_jsx("h3", { className: "text-sm font-semibold text-muted-foreground mb-3 uppercase tracking-wider", children: category }), _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3", children: themes.map((theme) => {
88
+ const isActive = currentTheme?.id === theme.id;
89
+ const isPreviewing = previewTheme?.id === theme.id;
90
+ return (_jsxs("div", { className: cn("relative rounded-xl overflow-hidden cursor-pointer transition-all duration-300", isActive
91
+ ? "ring-4 ring-primary ring-offset-2 ring-offset-background"
92
+ : "hover:shadow-xl hover:-translate-y-1"), onMouseEnter: () => onPreview(theme), onClick: () => onSelect(theme), children: [_jsxs("div", { className: "p-4", style: { backgroundColor: `rgb(${theme.colors.background})` }, children: [_jsxs("div", { className: "flex gap-2 mb-3", children: [_jsx("div", { className: "w-10 h-10 rounded-full shadow-md ring-2 ring-white/10", style: { backgroundColor: `rgb(${theme.colors.primary})` }, title: "Primary", "aria-label": "Primary color" }), _jsx("div", { className: "w-10 h-10 rounded-full shadow-md ring-2 ring-white/10", style: { backgroundColor: `rgb(${theme.colors.accent})` }, title: "Accent", "aria-label": "Accent color" })] }), _jsxs("div", { className: "rounded-lg p-3 mb-3", style: {
93
+ backgroundColor: `rgb(${theme.colors.card})`,
94
+ border: `1px solid rgb(${theme.colors.border})`,
95
+ }, children: [_jsx("div", { className: "h-3 w-3/4 rounded mb-2", style: { backgroundColor: `rgb(${theme.colors.primary})` } }), _jsx("div", { className: "h-2 w-full rounded mb-1.5 opacity-30", style: { backgroundColor: `rgb(${theme.colors.primary})` } }), _jsx("div", { className: "h-2 w-5/6 rounded opacity-30", style: { backgroundColor: `rgb(${theme.colors.primary})` } })] }), _jsxs("div", { className: "flex gap-2", children: [_jsx("div", { className: "px-3 py-1.5 rounded-lg text-white text-xs font-semibold shadow-sm", style: { backgroundColor: `rgb(${theme.colors.accent})` }, children: "Button" }), _jsx("div", { className: "px-3 py-1.5 rounded-lg text-white text-xs font-semibold shadow-sm", style: { backgroundColor: `rgb(${theme.colors.primary})` }, children: "Action" })] })] }), _jsxs("div", { className: "p-4 border-t", style: {
96
+ backgroundColor: `rgb(${theme.colors.card})`,
97
+ borderColor: `rgb(${theme.colors.border})`,
98
+ }, children: [_jsxs("div", { className: "flex items-center justify-between mb-1.5", children: [_jsx("h3", { className: "font-semibold text-sm text-white", children: theme.name }), isActive && (_jsxs("span", { className: "flex items-center gap-1 text-xs font-semibold px-2 py-0.5 rounded-full text-white", style: {
99
+ backgroundColor: `rgb(${theme.colors.primary})`,
100
+ }, children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: "w-3 h-3", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) }), "Active"] })), isPreviewing && !isActive && (_jsx("span", { className: "text-xs font-semibold px-2 py-0.5 rounded-full text-white", style: {
101
+ backgroundColor: `rgb(${theme.colors.accent})`,
102
+ }, children: "Preview" }))] }), _jsx("p", { className: "text-xs text-muted-foreground", children: theme.description })] })] }, theme.id));
103
+ }) })] }, category))) }));
104
+ }
105
+ //# sourceMappingURL=theme-tester.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-tester.js","sourceRoot":"","sources":["../../../src/components/dev/theme-tester.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ export interface AppShellProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ sidebarCollapsed?: boolean;
4
+ sidebarWidth?: string;
5
+ sidebarCollapsedWidth?: string;
6
+ }
7
+ declare function AppShell({ className, sidebarCollapsed, sidebarWidth, sidebarCollapsedWidth, children, ...props }: AppShellProps): import("react/jsx-runtime").JSX.Element;
8
+ declare function AppShellSidebar({ className, children, ...props }: React.HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
9
+ declare function AppShellHeader({ className, children, ...props }: React.HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
10
+ declare function AppShellMain({ className, children, ...props }: React.HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
11
+ declare function AppShellContent({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
12
+ declare function AppShellFooter({ className, children, ...props }: React.HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
13
+ export { AppShell, AppShellSidebar, AppShellHeader, AppShellMain, AppShellContent, AppShellFooter, };
14
+ //# sourceMappingURL=app-shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../src/components/layout/app-shell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAEzE,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,gBAAwB,EACxB,YAAsB,EACtB,qBAA8B,EAC9B,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,aAAa,2CAiBf;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,2CAcnC;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,2CAanC;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,2CAcnC;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAUtC;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,2CAanC;AAED,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,GACf,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "../../utils/cn";
3
+ function AppShell({ className, sidebarCollapsed = false, sidebarWidth = "16rem", sidebarCollapsedWidth = "4rem", children, ...props }) {
4
+ return (_jsx("div", { "data-slot": "app-shell", "data-sidebar-collapsed": sidebarCollapsed, className: cn("flex min-h-screen bg-[#0A0A0F]", className), style: {
5
+ "--sidebar-width": sidebarWidth,
6
+ "--sidebar-collapsed-width": sidebarCollapsedWidth,
7
+ }, ...props, children: children }));
8
+ }
9
+ function AppShellSidebar({ className, children, ...props }) {
10
+ return (_jsx("aside", { "data-slot": "app-shell-sidebar", className: cn("fixed inset-y-0 left-0 z-30 flex w-[var(--sidebar-width)] flex-col border-r border-[#2A2A3C] bg-[#0F0F14] transition-[width] duration-200 ease-in-out", "[[data-sidebar-collapsed=true]_&]:w-[var(--sidebar-collapsed-width)]", className), ...props, children: children }));
11
+ }
12
+ function AppShellHeader({ className, children, ...props }) {
13
+ return (_jsx("header", { "data-slot": "app-shell-header", className: cn("sticky top-0 z-20 flex h-14 items-center border-b border-[#2A2A3C] bg-[#0F0F14]/95 px-4 backdrop-blur supports-[backdrop-filter]:bg-[#0F0F14]/60", className), ...props, children: children }));
14
+ }
15
+ function AppShellMain({ className, children, ...props }) {
16
+ return (_jsx("main", { "data-slot": "app-shell-main", className: cn("ml-[var(--sidebar-width)] flex-1 transition-[margin] duration-200 ease-in-out", "[[data-sidebar-collapsed=true]_&]:ml-[var(--sidebar-collapsed-width)]", className), ...props, children: children }));
17
+ }
18
+ function AppShellContent({ className, children, ...props }) {
19
+ return (_jsx("div", { "data-slot": "app-shell-content", className: cn("flex-1 p-6", className), ...props, children: children }));
20
+ }
21
+ function AppShellFooter({ className, children, ...props }) {
22
+ return (_jsx("footer", { "data-slot": "app-shell-footer", className: cn("border-t border-[#2A2A3C] bg-[#0F0F14] px-4 py-3", className), ...props, children: children }));
23
+ }
24
+ export { AppShell, AppShellSidebar, AppShellHeader, AppShellMain, AppShellContent, AppShellFooter, };
25
+ //# sourceMappingURL=app-shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-shell.js","sourceRoot":"","sources":["../../../src/components/layout/app-shell.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAWnC,SAAS,QAAQ,CAAC,EAChB,SAAS,EACT,gBAAgB,GAAG,KAAK,EACxB,YAAY,GAAG,OAAO,EACtB,qBAAqB,GAAG,MAAM,EAC9B,QAAQ,EACR,GAAG,KAAK,EACM;IACd,OAAO,CACL,2BACY,WAAW,4BACG,gBAAgB,EACxC,SAAS,EAAE,EAAE,CAAC,gCAAgC,EAAE,SAAS,CAAC,EAC1D,KAAK,EACH;YACE,iBAAiB,EAAE,YAAY;YAC/B,2BAA2B,EAAE,qBAAqB;SAC5B,KAEtB,KAAK,YAER,QAAQ,GACL,CACP,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAC0B;IAClC,OAAO,CACL,6BACY,mBAAmB,EAC7B,SAAS,EAAE,EAAE,CACX,uJAAuJ,EACvJ,sEAAsE,EACtE,SAAS,CACV,KACG,KAAK,YAER,QAAQ,GACH,CACT,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAC0B;IAClC,OAAO,CACL,8BACY,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CACX,kJAAkJ,EAClJ,SAAS,CACV,KACG,KAAK,YAER,QAAQ,GACF,CACV,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAC0B;IAClC,OAAO,CACL,4BACY,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CACX,+EAA+E,EAC/E,uEAAuE,EACvE,SAAS,CACV,KACG,KAAK,YAER,QAAQ,GACJ,CACR,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAC6B;IACrC,OAAO,CACL,2BACY,mBAAmB,EAC7B,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,KAClC,KAAK,YAER,QAAQ,GACL,CACP,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAC0B;IAClC,OAAO,CACL,8BACY,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CACX,kDAAkD,EAClD,SAAS,CACV,KACG,KAAK,YAER,QAAQ,GACF,CACV,CAAA;AACH,CAAC;AAED,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,GACf,CAAA"}
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
3
+ declare function AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function AlertDialogTrigger({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
+ declare function AlertDialogOverlay({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
7
+ declare function AlertDialogContent({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
8
+ declare function AlertDialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
9
+ declare function AlertDialogFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
10
+ declare function AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
11
+ declare function AlertDialogDescription({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
12
+ declare function AlertDialogAction({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Action>): import("react/jsx-runtime").JSX.Element;
13
+ declare function AlertDialogCancel({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>): import("react/jsx-runtime").JSX.Element;
14
+ export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, };
15
+ //# sourceMappingURL=alert-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AAKpE,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,2CAExD;AAED,iBAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAI3D;AAED,iBAAS,iBAAiB,CAAC,EACzB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,2CAI1D;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAW3D;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAc3D;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW7B;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,2CAQzD;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,WAAW,CAAC,2CAQ/D;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,2CAQ1D;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,2CAY1D;AAED,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,CAAA"}
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
4
+ import { cn } from "../../utils/cn";
5
+ import { buttonVariants } from "../common/button";
6
+ function AlertDialog({ ...props }) {
7
+ return _jsx(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
8
+ }
9
+ function AlertDialogTrigger({ ...props }) {
10
+ return (_jsx(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props }));
11
+ }
12
+ function AlertDialogPortal({ ...props }) {
13
+ return (_jsx(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props }));
14
+ }
15
+ function AlertDialogOverlay({ className, ...props }) {
16
+ return (_jsx(AlertDialogPrimitive.Overlay, { "data-slot": "alert-dialog-overlay", className: cn("fixed inset-0 z-50 bg-black/50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className), ...props }));
17
+ }
18
+ function AlertDialogContent({ className, ...props }) {
19
+ return (_jsxs(AlertDialogPortal, { children: [_jsx(AlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Content, { "data-slot": "alert-dialog-content", className: cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-[#2A2A3C] bg-[#0F0F14] 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%] sm:rounded-lg", className), ...props })] }));
20
+ }
21
+ function AlertDialogHeader({ className, ...props }) {
22
+ return (_jsx("div", { "data-slot": "alert-dialog-header", className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props }));
23
+ }
24
+ function AlertDialogFooter({ className, ...props }) {
25
+ return (_jsx("div", { "data-slot": "alert-dialog-footer", className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props }));
26
+ }
27
+ function AlertDialogTitle({ className, ...props }) {
28
+ return (_jsx(AlertDialogPrimitive.Title, { "data-slot": "alert-dialog-title", className: cn("text-lg font-semibold text-[#E8E8ED]", className), ...props }));
29
+ }
30
+ function AlertDialogDescription({ className, ...props }) {
31
+ return (_jsx(AlertDialogPrimitive.Description, { "data-slot": "alert-dialog-description", className: cn("text-sm text-[#A0A0B0]", className), ...props }));
32
+ }
33
+ function AlertDialogAction({ className, ...props }) {
34
+ return (_jsx(AlertDialogPrimitive.Action, { "data-slot": "alert-dialog-action", className: cn(buttonVariants(), className), ...props }));
35
+ }
36
+ function AlertDialogCancel({ className, ...props }) {
37
+ return (_jsx(AlertDialogPrimitive.Cancel, { "data-slot": "alert-dialog-cancel", className: cn(buttonVariants({ variant: "outline" }), "mt-2 sm:mt-0", className), ...props }));
38
+ }
39
+ export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, };
40
+ //# sourceMappingURL=alert-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.js","sourceRoot":"","sources":["../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
3
+ declare function Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>): import("react/jsx-runtime").JSX.Element;
5
+ declare function AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>): import("react/jsx-runtime").JSX.Element;
6
+ export { Avatar, AvatarImage, AvatarFallback };
7
+ //# sourceMappingURL=avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAIzD,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAWnD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,QAAQ,CAAC,2CAWvD;AAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
4
+ import { cn } from "../../utils/cn";
5
+ function Avatar({ className, ...props }) {
6
+ return (_jsx(AvatarPrimitive.Root, { "data-slot": "avatar", className: cn("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", className), ...props }));
7
+ }
8
+ function AvatarImage({ className, ...props }) {
9
+ return (_jsx(AvatarPrimitive.Image, { "data-slot": "avatar-image", className: cn("aspect-square h-full w-full", className), ...props }));
10
+ }
11
+ function AvatarFallback({ className, ...props }) {
12
+ return (_jsx(AvatarPrimitive.Fallback, { "data-slot": "avatar-fallback", className: cn("flex h-full w-full items-center justify-center rounded-full bg-purple-500/20 text-purple-400 text-sm font-medium", className), ...props }));
13
+ }
14
+ export { Avatar, AvatarImage, AvatarFallback };
15
+ //# sourceMappingURL=avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/components/ui/avatar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,SAAS,MAAM,CAAC,EACd,SAAS,EACT,GAAG,KAAK,EAC0C;IAClD,OAAO,CACL,KAAC,eAAe,CAAC,IAAI,iBACT,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,+DAA+D,EAC/D,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EAC2C;IACnD,OAAO,CACL,KAAC,eAAe,CAAC,KAAK,iBACV,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,KACnD,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EAC8C;IACtD,OAAO,CACL,KAAC,eAAe,CAAC,QAAQ,iBACb,iBAAiB,EAC3B,SAAS,EAAE,EAAE,CACX,kHAAkH,EAClH,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
3
+ declare function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function CollapsibleTrigger({ className, ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function CollapsibleContent({ className, ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): import("react/jsx-runtime").JSX.Element;
6
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent };
7
+ //# sourceMappingURL=collapsible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../../src/components/ui/collapsible.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAA;AAInE,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,2CAExD;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAWtE;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAWtE;AAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
4
+ import { cn } from "../../utils/cn";
5
+ function Collapsible({ ...props }) {
6
+ return _jsx(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
7
+ }
8
+ function CollapsibleTrigger({ className, ...props }) {
9
+ return (_jsx(CollapsiblePrimitive.CollapsibleTrigger, { "data-slot": "collapsible-trigger", className: cn("flex items-center justify-between [&[data-state=open]>svg]:rotate-180", className), ...props }));
10
+ }
11
+ function CollapsibleContent({ className, ...props }) {
12
+ return (_jsx(CollapsiblePrimitive.CollapsibleContent, { "data-slot": "collapsible-content", className: cn("overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down", className), ...props }));
13
+ }
14
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent };
15
+ //# sourceMappingURL=collapsible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.js","sourceRoot":"","sources":["../../../src/components/ui/collapsible.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAA;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,SAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EAC+C;IACvD,OAAO,KAAC,oBAAoB,CAAC,IAAI,iBAAW,aAAa,KAAK,KAAK,GAAI,CAAA;AACzE,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EAC6D;IACrE,OAAO,CACL,KAAC,oBAAoB,CAAC,kBAAkB,iBAC5B,qBAAqB,EAC/B,SAAS,EAAE,EAAE,CACX,uEAAuE,EACvE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EAC6D;IACrE,OAAO,CACL,KAAC,oBAAoB,CAAC,kBAAkB,iBAC5B,qBAAqB,EAC/B,SAAS,EAAE,EAAE,CACX,uGAAuG,EACvG,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,16 @@
1
+ export interface ConfirmDialogProps {
2
+ open?: boolean;
3
+ onOpenChange?: (open: boolean) => void;
4
+ title: string;
5
+ description: string;
6
+ confirmText?: string;
7
+ cancelText?: string;
8
+ onConfirm: () => void | Promise<void>;
9
+ onCancel?: () => void;
10
+ variant?: "default" | "destructive";
11
+ loading?: boolean;
12
+ onError?: (error: Error) => void;
13
+ }
14
+ declare function ConfirmDialog({ open, onOpenChange, title, description, confirmText, cancelText, onConfirm, onCancel, variant, loading, onError, }: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
15
+ export { ConfirmDialog };
16
+ //# sourceMappingURL=confirm-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/confirm-dialog.tsx"],"names":[],"mappings":"AAiBA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;IAKjB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC;AAED,iBAAS,aAAa,CAAC,EACrB,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,WAAuB,EACvB,UAAqB,EACrB,SAAS,EACT,QAAQ,EACR,OAAmB,EACnB,OAAe,EACf,OAAO,GACR,EAAE,kBAAkB,2CAyEpB;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { cn } from "../../utils/cn";
5
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from "./alert-dialog";
6
+ import { buttonVariants } from "../common/button";
7
+ function ConfirmDialog({ open, onOpenChange, title, description, confirmText = "Confirm", cancelText = "Cancel", onConfirm, onCancel, variant = "default", loading = false, onError, }) {
8
+ const [isLoading, setIsLoading] = React.useState(false);
9
+ const handleConfirm = async () => {
10
+ setIsLoading(true);
11
+ try {
12
+ await onConfirm();
13
+ onOpenChange?.(false);
14
+ }
15
+ catch (error) {
16
+ console.error("Confirm dialog error:", error);
17
+ onError?.(error instanceof Error ? error : new Error(String(error)));
18
+ }
19
+ finally {
20
+ setIsLoading(false);
21
+ }
22
+ };
23
+ const handleCancel = () => {
24
+ onCancel?.();
25
+ onOpenChange?.(false);
26
+ };
27
+ return (_jsx(AlertDialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(AlertDialogContent, { "data-slot": "confirm-dialog", children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: title }), _jsx(AlertDialogDescription, { children: description })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { onClick: handleCancel, disabled: isLoading || loading, children: cancelText }), _jsx(AlertDialogAction, { onClick: handleConfirm, disabled: isLoading || loading, className: cn(variant === "destructive" &&
28
+ buttonVariants({ variant: "destructive" })), children: isLoading || loading ? (_jsxs(_Fragment, { children: [_jsxs("svg", { className: "animate-spin size-4", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }), confirmText] })) : (confirmText) })] })] }) }));
29
+ }
30
+ export { ConfirmDialog };
31
+ //# sourceMappingURL=confirm-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-dialog.js","sourceRoot":"","sources":["../../../src/components/ui/confirm-dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAoBjD,SAAS,aAAa,CAAC,EACrB,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,WAAW,GAAG,SAAS,EACvB,UAAU,GAAG,QAAQ,EACrB,SAAS,EACT,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,OAAO,GAAG,KAAK,EACf,OAAO,GACY;IACnB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvD,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,CAAC;YACH,MAAM,SAAS,EAAE,CAAA;YACjB,YAAY,EAAE,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;YAC7C,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACtE,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,QAAQ,EAAE,EAAE,CAAA;QACZ,YAAY,EAAE,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC,CAAA;IAED,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,YACjD,MAAC,kBAAkB,iBAAW,gBAAgB,aAC5C,MAAC,iBAAiB,eAChB,KAAC,gBAAgB,cAAE,KAAK,GAAoB,EAC5C,KAAC,sBAAsB,cAAE,WAAW,GAA0B,IAC5C,EACpB,MAAC,iBAAiB,eAChB,KAAC,iBAAiB,IAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,IAAI,OAAO,YACrE,UAAU,GACO,EACpB,KAAC,iBAAiB,IAChB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,SAAS,IAAI,OAAO,EAC9B,SAAS,EAAE,EAAE,CACX,OAAO,KAAK,aAAa;gCACvB,cAAc,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAC7C,YAEA,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CACtB,8BACE,eACE,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,iBACP,MAAM,aAElB,iBACE,SAAS,EAAC,YAAY,EACtB,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,GACf,EACF,eACE,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,iHAAiH,GACnH,IACE,EACL,WAAW,IACX,CACJ,CAAC,CAAC,CAAC,CACF,WAAW,CACZ,GACiB,IACF,IACD,GACT,CACf,CAAA;AACH,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,25 @@
1
+ import * as React from "react";
2
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
3
+ declare function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
6
+ declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
7
+ declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): import("react/jsx-runtime").JSX.Element;
8
+ declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
9
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
10
+ inset?: boolean;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): import("react/jsx-runtime").JSX.Element;
13
+ declare function DropdownMenuContent({ className, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
14
+ declare function DropdownMenuItem({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
15
+ inset?: boolean;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): import("react/jsx-runtime").JSX.Element;
18
+ declare function DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): import("react/jsx-runtime").JSX.Element;
19
+ declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
20
+ inset?: boolean;
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
23
+ declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
24
+ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, };
25
+ //# sourceMappingURL=dropdown-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dropdown-menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
4
+ import { cn } from "../../utils/cn";
5
+ function DropdownMenu({ ...props }) {
6
+ return _jsx(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
7
+ }
8
+ function DropdownMenuTrigger({ ...props }) {
9
+ return (_jsx(DropdownMenuPrimitive.Trigger, { "data-slot": "dropdown-menu-trigger", ...props }));
10
+ }
11
+ function DropdownMenuGroup({ ...props }) {
12
+ return (_jsx(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props }));
13
+ }
14
+ function DropdownMenuPortal({ ...props }) {
15
+ return (_jsx(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props }));
16
+ }
17
+ function DropdownMenuSub({ ...props }) {
18
+ return _jsx(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
19
+ }
20
+ function DropdownMenuRadioGroup({ ...props }) {
21
+ return (_jsx(DropdownMenuPrimitive.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props }));
22
+ }
23
+ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
24
+ return (_jsxs(DropdownMenuPrimitive.SubTrigger, { "data-slot": "dropdown-menu-sub-trigger", className: cn("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-purple-500/10 data-[state=open]:bg-purple-500/10", inset && "pl-8", className), ...props, children: [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", className: "ml-auto", children: _jsx("path", { d: "m9 18 6-6-6-6" }) })] }));
25
+ }
26
+ function DropdownMenuSubContent({ className, ...props }) {
27
+ return (_jsx(DropdownMenuPrimitive.SubContent, { "data-slot": "dropdown-menu-sub-content", className: cn("z-50 min-w-[8rem] overflow-hidden rounded-md border border-[#2A2A3C] bg-[#0F0F14] p-1 text-[#E8E8ED] shadow-lg 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", className), ...props }));
28
+ }
29
+ function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
30
+ return (_jsx(DropdownMenuPrimitive.Portal, { children: _jsx(DropdownMenuPrimitive.Content, { "data-slot": "dropdown-menu-content", sideOffset: sideOffset, className: cn("z-[100] min-w-[8rem] overflow-hidden rounded-md border border-border bg-card p-1 text-foreground shadow-lg", className), ...props }) }));
31
+ }
32
+ function DropdownMenuItem({ className, inset, ...props }) {
33
+ return (_jsx(DropdownMenuPrimitive.Item, { "data-slot": "dropdown-menu-item", className: cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-purple-500/10 focus:text-purple-400 data-[disabled]:pointer-events-none data-[disabled]:opacity-40", inset && "pl-8", className), ...props }));
34
+ }
35
+ function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
36
+ return (_jsxs(DropdownMenuPrimitive.CheckboxItem, { "data-slot": "dropdown-menu-checkbox-item", className: cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-purple-500/10 focus:text-purple-400 data-[disabled]:pointer-events-none data-[disabled]:opacity-40", className), checked: checked, ...props, children: [_jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(DropdownMenuPrimitive.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" }) }) }) }), children] }));
37
+ }
38
+ function DropdownMenuRadioItem({ className, children, ...props }) {
39
+ return (_jsxs(DropdownMenuPrimitive.RadioItem, { "data-slot": "dropdown-menu-radio-item", className: cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-purple-500/10 focus:text-purple-400 data-[disabled]:pointer-events-none data-[disabled]:opacity-40", className), ...props, children: [_jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(DropdownMenuPrimitive.ItemIndicator, { children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "8", height: "8", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("circle", { cx: "12", cy: "12", r: "10" }) }) }) }), children] }));
40
+ }
41
+ function DropdownMenuLabel({ className, inset, ...props }) {
42
+ return (_jsx(DropdownMenuPrimitive.Label, { "data-slot": "dropdown-menu-label", className: cn("px-2 py-1.5 text-sm font-semibold text-[#A0A0B0]", inset && "pl-8", className), ...props }));
43
+ }
44
+ function DropdownMenuSeparator({ className, ...props }) {
45
+ return (_jsx(DropdownMenuPrimitive.Separator, { "data-slot": "dropdown-menu-separator", className: cn("-mx-1 my-1 h-px bg-[#2A2A3C]", className), ...props }));
46
+ }
47
+ function DropdownMenuShortcut({ className, ...props }) {
48
+ return (_jsx("span", { "data-slot": "dropdown-menu-shortcut", className: cn("ml-auto text-xs tracking-widest text-[#6B6B80]", className), ...props }));
49
+ }
50
+ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, };
51
+ //# sourceMappingURL=dropdown-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../../src/components/ui/dropdown-menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const emptyStateVariants: (props?: ({
4
+ size?: "sm" | "lg" | "default" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface EmptyStateProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof emptyStateVariants> {
7
+ icon?: React.ReactNode;
8
+ title: string;
9
+ description?: string;
10
+ action?: React.ReactNode;
11
+ }
12
+ declare function EmptyState({ className, size, icon, title, description, action, children, ...props }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
13
+ export { EmptyState, emptyStateVariants };
14
+ //# sourceMappingURL=empty-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../../src/components/ui/empty-state.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,kBAAkB;;8EAcvB,CAAA;AAED,MAAM,WAAW,eACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,kBAAkB,CAAC;IACzC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CAqCjB;AAED,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cva } from "class-variance-authority";
3
+ import { cn } from "../../utils/cn";
4
+ const emptyStateVariants = cva("flex flex-col items-center justify-center text-center p-8", {
5
+ variants: {
6
+ size: {
7
+ default: "py-12",
8
+ sm: "py-6",
9
+ lg: "py-16",
10
+ },
11
+ },
12
+ defaultVariants: {
13
+ size: "default",
14
+ },
15
+ });
16
+ function EmptyState({ className, size, icon, title, description, action, children, ...props }) {
17
+ return (_jsxs("div", { "data-slot": "empty-state", className: cn(emptyStateVariants({ size, className })), ...props, children: [icon && (_jsx("div", { "data-slot": "empty-state-icon", className: "mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-purple-500/10 text-purple-400", children: icon })), _jsx("h3", { "data-slot": "empty-state-title", className: "text-lg font-semibold text-[#E8E8ED]", children: title }), description && (_jsx("p", { "data-slot": "empty-state-description", className: "mt-2 max-w-sm text-sm text-[#A0A0B0]", children: description })), action && (_jsx("div", { "data-slot": "empty-state-action", className: "mt-6", children: action })), children] }));
18
+ }
19
+ export { EmptyState, emptyStateVariants };
20
+ //# sourceMappingURL=empty-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.js","sourceRoot":"","sources":["../../../src/components/ui/empty-state.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,MAAM,kBAAkB,GAAG,GAAG,CAC5B,2DAA2D,EAC3D;IACE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,OAAO,EAAE,OAAO;YAChB,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,OAAO;SACZ;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAA;AAWD,SAAS,UAAU,CAAC,EAClB,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EACQ;IAChB,OAAO,CACL,4BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAClD,KAAK,aAER,IAAI,IAAI,CACP,2BACY,kBAAkB,EAC5B,SAAS,EAAC,+FAA+F,YAExG,IAAI,GACD,CACP,EACD,0BACY,mBAAmB,EAC7B,SAAS,EAAC,sCAAsC,YAE/C,KAAK,GACH,EACJ,WAAW,IAAI,CACd,yBACY,yBAAyB,EACnC,SAAS,EAAC,sCAAsC,YAE/C,WAAW,GACV,CACL,EACA,MAAM,IAAI,CACT,2BAAe,oBAAoB,EAAC,SAAS,EAAC,MAAM,YACjD,MAAM,GACH,CACP,EACA,QAAQ,IACL,CACP,CAAA;AACH,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAA"}