@dailyautomations/ui 1.2.0 → 1.4.1

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 (129) 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/calendar.d.ts +9 -0
  20. package/dist/components/ui/calendar.d.ts.map +1 -0
  21. package/dist/components/ui/calendar.js +37 -0
  22. package/dist/components/ui/calendar.js.map +1 -0
  23. package/dist/components/ui/collapsible.d.ts +7 -0
  24. package/dist/components/ui/collapsible.d.ts.map +1 -0
  25. package/dist/components/ui/collapsible.js +15 -0
  26. package/dist/components/ui/collapsible.js.map +1 -0
  27. package/dist/components/ui/combobox.d.ts +20 -0
  28. package/dist/components/ui/combobox.d.ts.map +1 -0
  29. package/dist/components/ui/combobox.js +21 -0
  30. package/dist/components/ui/combobox.js.map +1 -0
  31. package/dist/components/ui/command.d.ts +81 -0
  32. package/dist/components/ui/command.d.ts.map +1 -0
  33. package/dist/components/ui/command.js +30 -0
  34. package/dist/components/ui/command.js.map +1 -0
  35. package/dist/components/ui/confirm-dialog.d.ts +16 -0
  36. package/dist/components/ui/confirm-dialog.d.ts.map +1 -0
  37. package/dist/components/ui/confirm-dialog.js +31 -0
  38. package/dist/components/ui/confirm-dialog.js.map +1 -0
  39. package/dist/components/ui/date-picker.d.ts +13 -0
  40. package/dist/components/ui/date-picker.d.ts.map +1 -0
  41. package/dist/components/ui/date-picker.js +19 -0
  42. package/dist/components/ui/date-picker.js.map +1 -0
  43. package/dist/components/ui/dropdown-menu.d.ts +25 -0
  44. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  45. package/dist/components/ui/dropdown-menu.js +51 -0
  46. package/dist/components/ui/dropdown-menu.js.map +1 -0
  47. package/dist/components/ui/empty-state.d.ts +14 -0
  48. package/dist/components/ui/empty-state.d.ts.map +1 -0
  49. package/dist/components/ui/empty-state.js +20 -0
  50. package/dist/components/ui/empty-state.js.map +1 -0
  51. package/dist/components/ui/filter-bar.d.ts +29 -0
  52. package/dist/components/ui/filter-bar.d.ts.map +1 -0
  53. package/dist/components/ui/filter-bar.js +19 -0
  54. package/dist/components/ui/filter-bar.js.map +1 -0
  55. package/dist/components/ui/form.d.ts +25 -0
  56. package/dist/components/ui/form.d.ts.map +1 -0
  57. package/dist/components/ui/form.js +62 -0
  58. package/dist/components/ui/form.js.map +1 -0
  59. package/dist/components/ui/input-otp.d.ts +15 -0
  60. package/dist/components/ui/input-otp.d.ts.map +1 -0
  61. package/dist/components/ui/input-otp.js +50 -0
  62. package/dist/components/ui/input-otp.js.map +1 -0
  63. package/dist/components/ui/loading-spinner.d.ts +19 -0
  64. package/dist/components/ui/loading-spinner.d.ts.map +1 -0
  65. package/dist/components/ui/loading-spinner.js +28 -0
  66. package/dist/components/ui/loading-spinner.js.map +1 -0
  67. package/dist/components/ui/popover.d.ts +8 -0
  68. package/dist/components/ui/popover.d.ts.map +1 -0
  69. package/dist/components/ui/popover.js +18 -0
  70. package/dist/components/ui/popover.js.map +1 -0
  71. package/dist/components/ui/progress.d.ts +8 -0
  72. package/dist/components/ui/progress.d.ts.map +1 -0
  73. package/dist/components/ui/progress.js +9 -0
  74. package/dist/components/ui/progress.js.map +1 -0
  75. package/dist/components/ui/radio-group.d.ts +6 -0
  76. package/dist/components/ui/radio-group.d.ts.map +1 -0
  77. package/dist/components/ui/radio-group.js +12 -0
  78. package/dist/components/ui/radio-group.js.map +1 -0
  79. package/dist/components/ui/scroll-area.d.ts +6 -0
  80. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  81. package/dist/components/ui/scroll-area.js +14 -0
  82. package/dist/components/ui/scroll-area.js.map +1 -0
  83. package/dist/components/ui/separator.d.ts +7 -0
  84. package/dist/components/ui/separator.d.ts.map +1 -0
  85. package/dist/components/ui/separator.js +9 -0
  86. package/dist/components/ui/separator.js.map +1 -0
  87. package/dist/components/ui/sheet.d.ts +21 -0
  88. package/dist/components/ui/sheet.d.ts.map +1 -0
  89. package/dist/components/ui/sheet.js +50 -0
  90. package/dist/components/ui/sheet.js.map +1 -0
  91. package/dist/components/ui/slider.d.ts +7 -0
  92. package/dist/components/ui/slider.d.ts.map +1 -0
  93. package/dist/components/ui/slider.js +9 -0
  94. package/dist/components/ui/slider.js.map +1 -0
  95. package/dist/components/ui/stat-card.d.ts +23 -0
  96. package/dist/components/ui/stat-card.d.ts.map +1 -0
  97. package/dist/components/ui/stat-card.js +46 -0
  98. package/dist/components/ui/stat-card.js.map +1 -0
  99. package/dist/components/ui/switch.d.ts +7 -0
  100. package/dist/components/ui/switch.d.ts.map +1 -0
  101. package/dist/components/ui/switch.js +9 -0
  102. package/dist/components/ui/switch.js.map +1 -0
  103. package/dist/components/ui/table.d.ts +11 -0
  104. package/dist/components/ui/table.d.ts.map +1 -0
  105. package/dist/components/ui/table.js +28 -0
  106. package/dist/components/ui/table.js.map +1 -0
  107. package/dist/components/ui/textarea-autosize.d.ts +12 -0
  108. package/dist/components/ui/textarea-autosize.d.ts.map +1 -0
  109. package/dist/components/ui/textarea-autosize.js +44 -0
  110. package/dist/components/ui/textarea-autosize.js.map +1 -0
  111. package/dist/components/ui/tooltip.d.ts +8 -0
  112. package/dist/components/ui/tooltip.d.ts.map +1 -0
  113. package/dist/components/ui/tooltip.js +18 -0
  114. package/dist/components/ui/tooltip.js.map +1 -0
  115. package/dist/config/themes.d.ts +18 -0
  116. package/dist/config/themes.d.ts.map +1 -0
  117. package/dist/config/themes.js +267 -0
  118. package/dist/config/themes.js.map +1 -0
  119. package/dist/index.d.ts +45 -0
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +29 -0
  122. package/dist/index.js.map +1 -1
  123. package/examples/home-page.tsx +81 -81
  124. package/examples/main.tsx +24 -9
  125. package/examples/pages/ComponentsPage.tsx +726 -0
  126. package/examples/pages/LandingPage.tsx +860 -0
  127. package/examples/pages/index.ts +2 -0
  128. package/examples/styles.css +61 -0
  129. package/package.json +34 -1
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { Command as CommandPrimitive } from "cmdk";
5
+ import { Search } from "lucide-react";
6
+ import { cn } from "../../utils/cn";
7
+ import { Dialog, DialogContent } from "./dialog";
8
+ const Command = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive, { ref: ref, className: cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground", className), ...props })));
9
+ Command.displayName = CommandPrimitive.displayName;
10
+ const CommandDialog = ({ children, ...props }) => {
11
+ return (_jsx(Dialog, { ...props, children: _jsx(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: _jsx(Command, { className: "[&_[cmdk-list-wrapper]]:max-h-[400px] [&_[cmdk-list-wrapper]]:overflow-y-auto [&_[cmdk-list]]:p-2", children: children }) }) }));
12
+ };
13
+ const CommandInput = React.forwardRef(({ className, ...props }, ref) => (_jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [_jsx(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }), _jsx(CommandPrimitive.Input, { ref: ref, className: cn("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50", className), ...props })] })));
14
+ CommandInput.displayName = CommandPrimitive.Input.displayName;
15
+ const CommandList = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.List, { ref: ref, className: cn("max-h-[400px] overflow-y-auto p-1", className), ...props })));
16
+ CommandList.displayName = CommandPrimitive.List.displayName;
17
+ const CommandEmpty = React.forwardRef((props, ref) => (_jsx(CommandPrimitive.Empty, { ref: ref, className: "py-6 text-center text-sm text-muted-foreground", ...props })));
18
+ CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
19
+ const CommandGroup = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Group, { ref: ref, className: cn("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground", className), ...props })));
20
+ CommandGroup.displayName = CommandPrimitive.Group.displayName;
21
+ const CommandSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Separator, { ref: ref, className: cn("-mx-1 h-px bg-border", className), ...props })));
22
+ CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
23
+ const CommandItem = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Item, { ref: ref, className: cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50", "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground", className), ...props })));
24
+ CommandItem.displayName = CommandPrimitive.Item.displayName;
25
+ const CommandShortcut = ({ className, ...props }) => {
26
+ return (_jsx("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props }));
27
+ };
28
+ CommandShortcut.displayName = "CommandShortcut";
29
+ export { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };
30
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/components/ui/command.tsx"],"names":[],"mappings":"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"}
@@ -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,13 @@
1
+ export interface DatePickerProps {
2
+ date?: Date;
3
+ onDateChange?: (date: Date | undefined) => void;
4
+ disabled?: boolean;
5
+ placeholder?: string;
6
+ className?: string;
7
+ }
8
+ declare function DatePicker({ date, onDateChange, disabled, placeholder, className, }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
9
+ declare namespace DatePicker {
10
+ var displayName: string;
11
+ }
12
+ export { DatePicker };
13
+ //# sourceMappingURL=date-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../../src/components/ui/date-picker.tsx"],"names":[],"mappings":"AAeA,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAA;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,iBAAS,UAAU,CAAC,EAClB,IAAI,EACJ,YAAY,EACZ,QAAgB,EAChB,WAA2B,EAC3B,SAAS,GACV,EAAE,eAAe,2CAgCjB;kBAtCQ,UAAU;;;AA0CnB,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { format } from "date-fns";
5
+ import { Calendar as CalendarIcon } from "lucide-react";
6
+ import { cn } from "../../utils/cn";
7
+ import { Button } from "../common/button";
8
+ import { Calendar } from "./calendar";
9
+ import { Popover, PopoverContent, PopoverTrigger, } from "./popover";
10
+ function DatePicker({ date, onDateChange, disabled = false, placeholder = "Pick a date", className, }) {
11
+ const [isOpen, setIsOpen] = React.useState(false);
12
+ return (_jsxs(Popover, { open: isOpen, onOpenChange: setIsOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", className: cn("w-full justify-start text-left font-normal", !date && "text-muted-foreground", className), disabled: disabled, children: [_jsx(CalendarIcon, { className: "mr-2 h-4 w-4" }), date ? format(date, "PPP") : _jsx("span", { children: placeholder })] }) }), _jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: _jsx(Calendar, { mode: "single", selected: date, onSelect: (selectedDate) => {
13
+ onDateChange?.(selectedDate);
14
+ setIsOpen(false);
15
+ }, initialFocus: true }) })] }));
16
+ }
17
+ DatePicker.displayName = "DatePicker";
18
+ export { DatePicker };
19
+ //# sourceMappingURL=date-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../../src/components/ui/date-picker.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,WAAW,CAAA;AAUlB,SAAS,UAAU,CAAC,EAClB,IAAI,EACJ,YAAY,EACZ,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,aAAa,EAC3B,SAAS,GACO;IAChB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjD,OAAO,CACL,MAAC,OAAO,IAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,aAC5C,KAAC,cAAc,IAAC,OAAO,kBACrB,MAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,SAAS,EAAE,EAAE,CACX,4CAA4C,EAC5C,CAAC,IAAI,IAAI,uBAAuB,EAChC,SAAS,CACV,EACD,QAAQ,EAAE,QAAQ,aAElB,KAAC,YAAY,IAAC,SAAS,EAAC,cAAc,GAAG,EACxC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAO,WAAW,GAAQ,IACjD,GACM,EACjB,KAAC,cAAc,IAAC,SAAS,EAAC,YAAY,EAAC,KAAK,EAAC,OAAO,YAClD,KAAC,QAAQ,IACP,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,EACd,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE;wBACzB,YAAY,EAAE,CAAC,YAAY,CAAC,CAAA;wBAC5B,SAAS,CAAC,KAAK,CAAC,CAAA;oBAClB,CAAC,EACD,YAAY,SACZ,GACa,IACT,CACX,CAAA;AACH,CAAC;AAED,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,OAAO,EAAE,UAAU,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"}
@@ -0,0 +1,29 @@
1
+ import * as React from "react";
2
+ import { Button } from "../common/button";
3
+ export interface FilterBarProps extends React.ComponentProps<"div"> {
4
+ }
5
+ declare function FilterBar({ className, children, ...props }: FilterBarProps): import("react/jsx-runtime").JSX.Element;
6
+ export interface FilterSelectProps {
7
+ label: string;
8
+ value: string;
9
+ onValueChange: (value: string) => void;
10
+ options: {
11
+ label: string;
12
+ value: string;
13
+ }[];
14
+ placeholder?: string;
15
+ className?: string;
16
+ }
17
+ declare function FilterSelect({ label, value, onValueChange, options, placeholder, className, }: FilterSelectProps): import("react/jsx-runtime").JSX.Element;
18
+ export interface FilterChipProps extends React.ComponentProps<"button"> {
19
+ label: string;
20
+ value: string;
21
+ onRemove: () => void;
22
+ }
23
+ declare function FilterChip({ label, value, onRemove, className, ...props }: FilterChipProps): import("react/jsx-runtime").JSX.Element;
24
+ export interface ClearFiltersButtonProps extends Omit<React.ComponentProps<typeof Button>, "onClick"> {
25
+ onClear: () => void;
26
+ }
27
+ declare function ClearFiltersButton({ onClear, className, children, ...props }: ClearFiltersButtonProps): import("react/jsx-runtime").JSX.Element;
28
+ export { FilterBar, FilterSelect, FilterChip, ClearFiltersButton };
29
+ //# sourceMappingURL=filter-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-bar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/filter-bar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAU9B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAEtE,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,2CAanE;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,iBAAS,YAAY,CAAC,EACpB,KAAK,EACL,KAAK,EACL,aAAa,EACb,OAAO,EACP,WAAyB,EACzB,SAAS,GACV,EAAE,iBAAiB,2CAuBnB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;IACrE,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,iBAAS,UAAU,CAAC,EAClB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,2CAgCjB;AAED,MAAM,WAAW,uBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5D,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,iBAAS,kBAAkB,CAAC,EAC1B,OAAO,EACP,SAAS,EACT,QAA0B,EAC1B,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAczB;AAED,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "../../utils/cn";
4
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "./select";
5
+ import { Button } from "../common/button";
6
+ function FilterBar({ className, children, ...props }) {
7
+ return (_jsx("div", { "data-slot": "filter-bar", className: cn("flex flex-wrap items-center gap-2 rounded-lg border border-zinc-800 bg-zinc-900/50 p-3", className), ...props, children: children }));
8
+ }
9
+ function FilterSelect({ label, value, onValueChange, options, placeholder = "Select...", className, }) {
10
+ return (_jsxs("div", { "data-slot": "filter-select", className: cn("flex items-center gap-2", className), children: [_jsxs("span", { className: "text-sm font-medium text-zinc-400 whitespace-nowrap", children: [label, ":"] }), _jsxs(Select, { value: value, onValueChange: onValueChange, children: [_jsx(SelectTrigger, { className: "h-8 w-auto min-w-[120px] text-xs", children: _jsx(SelectValue, { placeholder: placeholder }) }), _jsx(SelectContent, { children: options.map((option) => (_jsx(SelectItem, { value: option.value, children: option.label }, option.value))) })] })] }));
11
+ }
12
+ function FilterChip({ label, value, onRemove, className, ...props }) {
13
+ return (_jsxs("button", { type: "button", "data-slot": "filter-chip", className: cn("inline-flex items-center gap-1.5 rounded-full border border-purple-500/30 bg-purple-500/10 px-3 py-1 text-xs font-medium text-purple-300 transition-colors hover:bg-purple-500/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-purple-500/50", className), onClick: onRemove, ...props, children: [_jsxs("span", { className: "text-zinc-400", children: [label, ":"] }), _jsx("span", { children: value }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("path", { d: "M18 6 6 18" }), _jsx("path", { d: "m6 6 12 12" })] }), _jsxs("span", { className: "sr-only", children: ["Remove ", label, " filter"] })] }));
14
+ }
15
+ function ClearFiltersButton({ onClear, className, children = "Clear filters", ...props }) {
16
+ return (_jsx(Button, { type: "button", variant: "ghost", size: "sm", "data-slot": "clear-filters-button", className: cn("h-8 text-xs", className), onClick: onClear, ...props, children: children }));
17
+ }
18
+ export { FilterBar, FilterSelect, FilterChip, ClearFiltersButton };
19
+ //# sourceMappingURL=filter-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-bar.js","sourceRoot":"","sources":["../../../src/components/ui/filter-bar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAIZ,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,GACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAIzC,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAkB;IAClE,OAAO,CACL,2BACY,YAAY,EACtB,SAAS,EAAE,EAAE,CACX,wFAAwF,EACxF,SAAS,CACV,KACG,KAAK,YAER,QAAQ,GACL,CACP,CAAA;AACH,CAAC;AAWD,SAAS,YAAY,CAAC,EACpB,KAAK,EACL,KAAK,EACL,aAAa,EACb,OAAO,EACP,WAAW,GAAG,WAAW,EACzB,SAAS,GACS;IAClB,OAAO,CACL,4BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,aAEnD,gBAAM,SAAS,EAAC,qDAAqD,aAClE,KAAK,SACD,EACP,MAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,aAChD,KAAC,aAAa,IAAC,SAAS,EAAC,kCAAkC,YACzD,KAAC,WAAW,IAAC,WAAW,EAAE,WAAW,GAAI,GAC3B,EAChB,KAAC,aAAa,cACX,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,UAAU,IAAoB,KAAK,EAAE,MAAM,CAAC,KAAK,YAC/C,MAAM,CAAC,KAAK,IADE,MAAM,CAAC,KAAK,CAEhB,CACd,CAAC,GACY,IACT,IACL,CACP,CAAA;AACH,CAAC;AAQD,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACQ;IAChB,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,eACH,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,oQAAoQ,EACpQ,SAAS,CACV,EACD,OAAO,EAAE,QAAQ,KACb,KAAK,aAET,gBAAM,SAAS,EAAC,eAAe,aAAE,KAAK,SAAS,EAC/C,yBAAO,KAAK,GAAQ,EACpB,eACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,aAElB,eAAM,CAAC,EAAC,YAAY,GAAG,EACvB,eAAM,CAAC,EAAC,YAAY,GAAG,IACnB,EACN,gBAAM,SAAS,EAAC,SAAS,wBAAS,KAAK,eAAe,IAC/C,CACV,CAAA;AACH,CAAC;AAOD,SAAS,kBAAkB,CAAC,EAC1B,OAAO,EACP,SAAS,EACT,QAAQ,GAAG,eAAe,EAC1B,GAAG,KAAK,EACgB;IACxB,OAAO,CACL,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,eACC,sBAAsB,EAChC,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,EACvC,OAAO,EAAE,OAAO,KACZ,KAAK,YAER,QAAQ,GACF,CACV,CAAA;AACH,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,25 @@
1
+ import * as React from "react";
2
+ import type { ControllerProps, FieldPath, FieldValues } from "react-hook-form";
3
+ import type { LabelProps } from "../common/label";
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: import("react-hook-form").FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
6
+ declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
7
+ declare function useFormField(): {
8
+ invalid: boolean;
9
+ isDirty: boolean;
10
+ isTouched: boolean;
11
+ isValidating: boolean;
12
+ error?: import("react-hook-form").FieldError;
13
+ id: string;
14
+ name: string;
15
+ formItemId: string;
16
+ formDescriptionId: string;
17
+ formMessageId: string;
18
+ };
19
+ declare function FormItem({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
20
+ declare function FormLabel({ className, ...props }: LabelProps): import("react/jsx-runtime").JSX.Element;
21
+ declare function FormControl({ ...props }: React.ComponentProps<typeof Slot>): import("react/jsx-runtime").JSX.Element;
22
+ declare function FormDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
23
+ declare function FormMessage({ className, children, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element | null;
24
+ export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, };
25
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/components/ui/form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACZ,MAAM,iBAAiB,CAAA;AAGxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,QAAA,MAAM,IAAI,4MAAe,CAAA;AAqBzB,QAAA,MAAM,SAAS,GACb,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAC/D,cAEC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,4CAMtC,CAAA;AAED,iBAAS,YAAY;;;;;;;;;;;EA0BpB;AAED,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAYrE;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAWrD;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,2CAgBnE;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,2CAW3B;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,kDAkBhF;AAED,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,EACX,SAAS,GACV,CAAA"}
@@ -0,0 +1,62 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { FormProvider, useFormContext, Controller } from "react-hook-form";
5
+ import { Label } from "../common/label";
6
+ import { cn } from "../../utils/cn";
7
+ import { Slot } from "@radix-ui/react-slot";
8
+ const Form = FormProvider;
9
+ const FormFieldContext = React.createContext({});
10
+ const FormItemContext = React.createContext({});
11
+ const FormField = ({ ...props }) => {
12
+ return (_jsx(FormFieldContext.Provider, { value: { name: props.name }, children: _jsx(Controller, { ...props }) }));
13
+ };
14
+ function useFormField() {
15
+ const fieldContext = React.useContext(FormFieldContext);
16
+ const itemContext = React.useContext(FormItemContext);
17
+ if (!fieldContext) {
18
+ throw new Error("useFormField should be used within <FormField>");
19
+ }
20
+ const { getFieldState, formState } = useFormContext();
21
+ const fieldState = getFieldState(fieldContext.name, formState);
22
+ if (!itemContext) {
23
+ throw new Error("useFormField should be used within <FormItem>");
24
+ }
25
+ const { id } = itemContext;
26
+ return {
27
+ id,
28
+ name: fieldContext.name,
29
+ formItemId: `${id}-form-item`,
30
+ formDescriptionId: `${id}-form-item-description`,
31
+ formMessageId: `${id}-form-item-message`,
32
+ ...fieldState,
33
+ };
34
+ }
35
+ function FormItem({ className, ...props }) {
36
+ const id = React.useId();
37
+ return (_jsx(FormItemContext.Provider, { value: { id }, children: _jsx("div", { "data-slot": "form-item", className: cn("space-y-2", className), ...props }) }));
38
+ }
39
+ function FormLabel({ className, ...props }) {
40
+ const { error, formItemId } = useFormField();
41
+ return (_jsx(Label, { "data-slot": "form-label", className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props }));
42
+ }
43
+ function FormControl({ ...props }) {
44
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
45
+ return (_jsx(Slot, { "data-slot": "form-control", id: formItemId, "aria-describedby": !error
46
+ ? `${formDescriptionId}`
47
+ : `${formDescriptionId} ${formMessageId}`, "aria-invalid": !!error, ...props }));
48
+ }
49
+ function FormDescription({ className, ...props }) {
50
+ const { formDescriptionId } = useFormField();
51
+ return (_jsx("p", { "data-slot": "form-description", id: formDescriptionId, className: cn("text-muted-foreground text-sm", className), ...props }));
52
+ }
53
+ function FormMessage({ className, children, ...props }) {
54
+ const { error, formMessageId } = useFormField();
55
+ const body = error ? String(error?.message) : children;
56
+ if (!body) {
57
+ return null;
58
+ }
59
+ return (_jsx("p", { "data-slot": "form-message", id: formMessageId, className: cn("text-destructive text-sm font-medium", className), ...props, children: body }));
60
+ }
61
+ export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, };
62
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../../src/components/ui/form.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ export interface InputOTPProps extends Omit<React.ComponentProps<"input">, "onChange"> {
3
+ length?: number;
4
+ value?: string;
5
+ onChange?: (value: string) => void;
6
+ disabled?: boolean;
7
+ placeholder?: string;
8
+ className?: string;
9
+ }
10
+ declare function InputOTP({ length, value, onChange, disabled, placeholder, className, ...props }: InputOTPProps): import("react/jsx-runtime").JSX.Element;
11
+ declare namespace InputOTP {
12
+ var displayName: string;
13
+ }
14
+ export { InputOTP };
15
+ //# sourceMappingURL=input-otp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../../src/components/ui/input-otp.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,iBAAS,QAAQ,CAAC,EAChB,MAAU,EACV,KAAU,EACV,QAAQ,EACR,QAAgB,EAChB,WAAiB,EACjB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,aAAa,2CAyEf;kBAjFQ,QAAQ;;;AAqFjB,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,50 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { cn } from "../../utils/cn";
5
+ import { Input } from "../common/input";
6
+ function InputOTP({ length = 6, value = "", onChange, disabled = false, placeholder = "•", className, ...props }) {
7
+ const inputRefs = React.useRef([]);
8
+ const [focusedIndex, setFocusedIndex] = React.useState(-1);
9
+ const handleKeyDown = (index, e) => {
10
+ if (e.key === "Backspace" && !e.currentTarget.value && index > 0) {
11
+ inputRefs.current[index - 1]?.focus();
12
+ }
13
+ if (e.key === "ArrowLeft" && index > 0) {
14
+ inputRefs.current[index - 1]?.focus();
15
+ }
16
+ if (e.key === "ArrowRight" && index < length - 1) {
17
+ inputRefs.current[index + 1]?.focus();
18
+ }
19
+ };
20
+ const handleChange = (index, e) => {
21
+ const val = e.target.value;
22
+ if (val.length > 1) {
23
+ const digits = val.slice(0, length).split("");
24
+ onChange?.(digits.join(""));
25
+ if (digits.length < length) {
26
+ inputRefs.current[digits.length]?.focus();
27
+ }
28
+ }
29
+ else if (val) {
30
+ onChange?.(value.slice(0, index) + val + value.slice(index + 1));
31
+ if (index < length - 1) {
32
+ inputRefs.current[index + 1]?.focus();
33
+ }
34
+ }
35
+ else {
36
+ onChange?.(value.slice(0, index) + value.slice(index + 1));
37
+ }
38
+ };
39
+ const handleFocus = (index) => {
40
+ setFocusedIndex(index);
41
+ };
42
+ const handleBlur = () => {
43
+ setFocusedIndex(-1);
44
+ };
45
+ const digits = value.padEnd(length, placeholder).split("");
46
+ return (_jsx("div", { className: cn("flex gap-2", className), ...props, children: Array.from({ length }).map((_, index) => (_jsx(Input, { ref: (el) => (inputRefs.current[index] = el), type: "text", inputMode: "numeric", pattern: "[0-9]*", autoComplete: "one-time-code", maxLength: 1, className: cn("h-12 w-12 text-center text-lg", focusedIndex === index && "ring-2 ring-ring"), value: digits[index] === placeholder ? "" : digits[index], onChange: (e) => handleChange(index, e), onKeyDown: (e) => handleKeyDown(index, e), onFocus: () => handleFocus(index), onBlur: handleBlur, disabled: disabled }, index))) }));
47
+ }
48
+ InputOTP.displayName = "InputOTP";
49
+ export { InputOTP };
50
+ //# sourceMappingURL=input-otp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-otp.js","sourceRoot":"","sources":["../../../src/components/ui/input-otp.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const spinnerVariants: (props?: ({
4
+ variant?: "muted" | "default" | null | undefined;
5
+ size?: "sm" | "md" | "lg" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export interface LoadingSpinnerProps extends Omit<React.ComponentProps<"div">, "children">, VariantProps<typeof spinnerVariants> {
8
+ }
9
+ declare function LoadingSpinner({ className, variant, size, ...props }: LoadingSpinnerProps): import("react/jsx-runtime").JSX.Element;
10
+ export interface LoadingOverlayProps {
11
+ message?: string;
12
+ className?: string;
13
+ spinnerClassName?: string;
14
+ variant?: "default" | "muted";
15
+ size?: "sm" | "md" | "lg";
16
+ }
17
+ declare function LoadingOverlay({ message, className, spinnerClassName, variant, size, }: LoadingOverlayProps): import("react/jsx-runtime").JSX.Element;
18
+ export { LoadingSpinner, LoadingOverlay, spinnerVariants };
19
+ //# sourceMappingURL=loading-spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading-spinner.d.ts","sourceRoot":"","sources":["../../../src/components/ui/loading-spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,eAAe;;;8EAmBpB,CAAA;AAED,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,EACnD,YAAY,CAAC,OAAO,eAAe,CAAC;CAAG;AAE3C,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,OAAmB,EACnB,IAAW,EACX,GAAG,KAAK,EACT,EAAE,mBAAmB,2CAerB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC7B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;CAC1B;AAED,iBAAS,cAAc,CAAC,EACtB,OAAsB,EACtB,SAAS,EACT,gBAAgB,EAChB,OAAmB,EACnB,IAAW,GACZ,EAAE,mBAAmB,2CAmBrB;AAED,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA"}