@agent-native/toolkit 0.2.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 (246) hide show
  1. package/README.md +21 -0
  2. package/dist/app-shell/header-actions.d.ts +18 -0
  3. package/dist/app-shell/header-actions.d.ts.map +1 -0
  4. package/dist/app-shell/header-actions.js +52 -0
  5. package/dist/app-shell/header-actions.js.map +1 -0
  6. package/dist/app-shell/index.d.ts +2 -0
  7. package/dist/app-shell/index.d.ts.map +1 -0
  8. package/dist/app-shell/index.js +2 -0
  9. package/dist/app-shell/index.js.map +1 -0
  10. package/dist/hooks/index.d.ts +3 -0
  11. package/dist/hooks/index.d.ts.map +1 -0
  12. package/dist/hooks/index.js +3 -0
  13. package/dist/hooks/index.js.map +1 -0
  14. package/dist/hooks/use-mobile.d.ts +2 -0
  15. package/dist/hooks/use-mobile.d.ts.map +1 -0
  16. package/dist/hooks/use-mobile.js +16 -0
  17. package/dist/hooks/use-mobile.js.map +1 -0
  18. package/dist/hooks/use-toast.d.ts +45 -0
  19. package/dist/hooks/use-toast.d.ts.map +1 -0
  20. package/dist/hooks/use-toast.js +127 -0
  21. package/dist/hooks/use-toast.js.map +1 -0
  22. package/dist/index.d.ts +6 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +6 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/onboarding/index.d.ts +2 -0
  27. package/dist/onboarding/index.d.ts.map +1 -0
  28. package/dist/onboarding/index.js +2 -0
  29. package/dist/onboarding/index.js.map +1 -0
  30. package/dist/ui/accordion.d.ts +8 -0
  31. package/dist/ui/accordion.d.ts.map +1 -0
  32. package/dist/ui/accordion.js +14 -0
  33. package/dist/ui/accordion.js.map +1 -0
  34. package/dist/ui/alert-dialog.d.ts +21 -0
  35. package/dist/ui/alert-dialog.d.ts.map +1 -0
  36. package/dist/ui/alert-dialog.js +27 -0
  37. package/dist/ui/alert-dialog.js.map +1 -0
  38. package/dist/ui/alert.d.ts +9 -0
  39. package/dist/ui/alert.d.ts.map +1 -0
  40. package/dist/ui/alert.js +23 -0
  41. package/dist/ui/alert.js.map +1 -0
  42. package/dist/ui/aspect-ratio.d.ts +4 -0
  43. package/dist/ui/aspect-ratio.d.ts.map +1 -0
  44. package/dist/ui/aspect-ratio.js +4 -0
  45. package/dist/ui/aspect-ratio.js.map +1 -0
  46. package/dist/ui/avatar.d.ts +7 -0
  47. package/dist/ui/avatar.d.ts.map +1 -0
  48. package/dist/ui/avatar.js +12 -0
  49. package/dist/ui/avatar.js.map +1 -0
  50. package/dist/ui/badge.d.ts +10 -0
  51. package/dist/ui/badge.d.ts.map +1 -0
  52. package/dist/ui/badge.js +21 -0
  53. package/dist/ui/badge.js.map +1 -0
  54. package/dist/ui/breadcrumb.d.ts +20 -0
  55. package/dist/ui/breadcrumb.d.ts.map +1 -0
  56. package/dist/ui/breadcrumb.js +24 -0
  57. package/dist/ui/breadcrumb.js.map +1 -0
  58. package/dist/ui/button.d.ts +12 -0
  59. package/dist/ui/button.d.ts.map +1 -0
  60. package/dist/ui/button.js +34 -0
  61. package/dist/ui/button.js.map +1 -0
  62. package/dist/ui/calendar.d.ts +9 -0
  63. package/dist/ui/calendar.d.ts.map +1 -0
  64. package/dist/ui/calendar.js +74 -0
  65. package/dist/ui/calendar.js.map +1 -0
  66. package/dist/ui/card.d.ts +9 -0
  67. package/dist/ui/card.d.ts.map +1 -0
  68. package/dist/ui/card.js +17 -0
  69. package/dist/ui/card.js.map +1 -0
  70. package/dist/ui/carousel.d.ts +19 -0
  71. package/dist/ui/carousel.d.ts.map +1 -0
  72. package/dist/ui/carousel.js +99 -0
  73. package/dist/ui/carousel.js.map +1 -0
  74. package/dist/ui/chart.d.ts +80 -0
  75. package/dist/ui/chart.d.ts.map +1 -0
  76. package/dist/ui/chart.js +131 -0
  77. package/dist/ui/chart.js.map +1 -0
  78. package/dist/ui/checkbox.d.ts +5 -0
  79. package/dist/ui/checkbox.d.ts.map +1 -0
  80. package/dist/ui/checkbox.js +9 -0
  81. package/dist/ui/checkbox.js.map +1 -0
  82. package/dist/ui/collapsible.d.ts +6 -0
  83. package/dist/ui/collapsible.d.ts.map +1 -0
  84. package/dist/ui/collapsible.js +6 -0
  85. package/dist/ui/collapsible.js.map +1 -0
  86. package/dist/ui/command.d.ts +83 -0
  87. package/dist/ui/command.d.ts.map +1 -0
  88. package/dist/ui/command.js +29 -0
  89. package/dist/ui/command.js.map +1 -0
  90. package/dist/ui/context-menu.d.ts +28 -0
  91. package/dist/ui/context-menu.d.ts.map +1 -0
  92. package/dist/ui/context-menu.js +34 -0
  93. package/dist/ui/context-menu.js.map +1 -0
  94. package/dist/ui/date-picker.d.ts +10 -0
  95. package/dist/ui/date-picker.d.ts.map +1 -0
  96. package/dist/ui/date-picker.js +20 -0
  97. package/dist/ui/date-picker.js.map +1 -0
  98. package/dist/ui/dialog.d.ts +23 -0
  99. package/dist/ui/dialog.d.ts.map +1 -0
  100. package/dist/ui/dialog.js +23 -0
  101. package/dist/ui/dialog.js.map +1 -0
  102. package/dist/ui/drawer.d.ts +23 -0
  103. package/dist/ui/drawer.d.ts.map +1 -0
  104. package/dist/ui/drawer.js +23 -0
  105. package/dist/ui/drawer.js.map +1 -0
  106. package/dist/ui/dropdown-menu.d.ts +30 -0
  107. package/dist/ui/dropdown-menu.d.ts.map +1 -0
  108. package/dist/ui/dropdown-menu.js +36 -0
  109. package/dist/ui/dropdown-menu.js.map +1 -0
  110. package/dist/ui/form.d.ts +26 -0
  111. package/dist/ui/form.d.ts.map +1 -0
  112. package/dist/ui/form.js +63 -0
  113. package/dist/ui/form.js.map +1 -0
  114. package/dist/ui/hover-card.d.ts +7 -0
  115. package/dist/ui/hover-card.d.ts.map +1 -0
  116. package/dist/ui/hover-card.js +10 -0
  117. package/dist/ui/hover-card.js.map +1 -0
  118. package/dist/ui/index.d.ts +53 -0
  119. package/dist/ui/index.d.ts.map +1 -0
  120. package/dist/ui/index.js +53 -0
  121. package/dist/ui/index.js.map +1 -0
  122. package/dist/ui/input-otp.d.ts +35 -0
  123. package/dist/ui/input-otp.d.ts.map +1 -0
  124. package/dist/ui/input-otp.js +19 -0
  125. package/dist/ui/input-otp.js.map +1 -0
  126. package/dist/ui/input.d.ts +4 -0
  127. package/dist/ui/input.d.ts.map +1 -0
  128. package/dist/ui/input.js +9 -0
  129. package/dist/ui/input.js.map +1 -0
  130. package/dist/ui/label.d.ts +6 -0
  131. package/dist/ui/label.d.ts.map +1 -0
  132. package/dist/ui/label.js +10 -0
  133. package/dist/ui/label.js.map +1 -0
  134. package/dist/ui/logo.d.ts +7 -0
  135. package/dist/ui/logo.d.ts.map +1 -0
  136. package/dist/ui/logo.js +10 -0
  137. package/dist/ui/logo.js.map +1 -0
  138. package/dist/ui/menubar.d.ts +29 -0
  139. package/dist/ui/menubar.d.ts.map +1 -0
  140. package/dist/ui/menubar.js +36 -0
  141. package/dist/ui/menubar.js.map +1 -0
  142. package/dist/ui/navigation-menu.d.ts +13 -0
  143. package/dist/ui/navigation-menu.d.ts.map +1 -0
  144. package/dist/ui/navigation-menu.js +25 -0
  145. package/dist/ui/navigation-menu.js.map +1 -0
  146. package/dist/ui/pagination.d.ts +29 -0
  147. package/dist/ui/pagination.d.ts.map +1 -0
  148. package/dist/ui/pagination.js +24 -0
  149. package/dist/ui/pagination.js.map +1 -0
  150. package/dist/ui/popover.d.ts +10 -0
  151. package/dist/ui/popover.d.ts.map +1 -0
  152. package/dist/ui/popover.js +16 -0
  153. package/dist/ui/popover.js.map +1 -0
  154. package/dist/ui/progress.d.ts +5 -0
  155. package/dist/ui/progress.d.ts.map +1 -0
  156. package/dist/ui/progress.js +8 -0
  157. package/dist/ui/progress.js.map +1 -0
  158. package/dist/ui/radio-group.d.ts +6 -0
  159. package/dist/ui/radio-group.d.ts.map +1 -0
  160. package/dist/ui/radio-group.js +15 -0
  161. package/dist/ui/radio-group.js.map +1 -0
  162. package/dist/ui/resizable.d.ts +8 -0
  163. package/dist/ui/resizable.d.ts.map +1 -0
  164. package/dist/ui/resizable.js +9 -0
  165. package/dist/ui/resizable.js.map +1 -0
  166. package/dist/ui/scroll-area.d.ts +6 -0
  167. package/dist/ui/scroll-area.d.ts.map +1 -0
  168. package/dist/ui/scroll-area.js +12 -0
  169. package/dist/ui/scroll-area.js.map +1 -0
  170. package/dist/ui/select.d.ts +14 -0
  171. package/dist/ui/select.d.ts.map +1 -0
  172. package/dist/ui/select.js +27 -0
  173. package/dist/ui/select.js.map +1 -0
  174. package/dist/ui/separator.d.ts +5 -0
  175. package/dist/ui/separator.d.ts.map +1 -0
  176. package/dist/ui/separator.js +8 -0
  177. package/dist/ui/separator.js.map +1 -0
  178. package/dist/ui/sheet.d.ts +29 -0
  179. package/dist/ui/sheet.d.ts.map +1 -0
  180. package/dist/ui/sheet.js +37 -0
  181. package/dist/ui/sheet.js.map +1 -0
  182. package/dist/ui/sidebar.d.ts +67 -0
  183. package/dist/ui/sidebar.d.ts.map +1 -0
  184. package/dist/ui/sidebar.js +233 -0
  185. package/dist/ui/sidebar.js.map +1 -0
  186. package/dist/ui/skeleton.d.ts +3 -0
  187. package/dist/ui/skeleton.d.ts.map +1 -0
  188. package/dist/ui/skeleton.js +7 -0
  189. package/dist/ui/skeleton.js.map +1 -0
  190. package/dist/ui/slider.d.ts +5 -0
  191. package/dist/ui/slider.d.ts.map +1 -0
  192. package/dist/ui/slider.js +8 -0
  193. package/dist/ui/slider.js.map +1 -0
  194. package/dist/ui/sonner.d.ts +5 -0
  195. package/dist/ui/sonner.d.ts.map +1 -0
  196. package/dist/ui/sonner.js +25 -0
  197. package/dist/ui/sonner.js.map +1 -0
  198. package/dist/ui/spinner.d.ts +3 -0
  199. package/dist/ui/spinner.d.ts.map +1 -0
  200. package/dist/ui/spinner.js +7 -0
  201. package/dist/ui/spinner.js.map +1 -0
  202. package/dist/ui/switch.d.ts +5 -0
  203. package/dist/ui/switch.d.ts.map +1 -0
  204. package/dist/ui/switch.js +8 -0
  205. package/dist/ui/switch.js.map +1 -0
  206. package/dist/ui/table.d.ts +11 -0
  207. package/dist/ui/table.d.ts.map +1 -0
  208. package/dist/ui/table.js +21 -0
  209. package/dist/ui/table.js.map +1 -0
  210. package/dist/ui/tabs.d.ts +8 -0
  211. package/dist/ui/tabs.d.ts.map +1 -0
  212. package/dist/ui/tabs.js +13 -0
  213. package/dist/ui/tabs.js.map +1 -0
  214. package/dist/ui/textarea.d.ts +6 -0
  215. package/dist/ui/textarea.d.ts.map +1 -0
  216. package/dist/ui/textarea.js +9 -0
  217. package/dist/ui/textarea.js.map +1 -0
  218. package/dist/ui/toast.d.ts +16 -0
  219. package/dist/ui/toast.d.ts.map +1 -0
  220. package/dist/ui/toast.js +34 -0
  221. package/dist/ui/toast.js.map +1 -0
  222. package/dist/ui/toaster.d.ts +2 -0
  223. package/dist/ui/toaster.d.ts.map +1 -0
  224. package/dist/ui/toaster.js +10 -0
  225. package/dist/ui/toaster.js.map +1 -0
  226. package/dist/ui/toggle-group.d.ts +13 -0
  227. package/dist/ui/toggle-group.d.ts.map +1 -0
  228. package/dist/ui/toggle-group.js +21 -0
  229. package/dist/ui/toggle-group.js.map +1 -0
  230. package/dist/ui/toggle.d.ts +13 -0
  231. package/dist/ui/toggle.d.ts.map +1 -0
  232. package/dist/ui/toggle.js +26 -0
  233. package/dist/ui/toggle.js.map +1 -0
  234. package/dist/ui/tooltip.d.ts +9 -0
  235. package/dist/ui/tooltip.d.ts.map +1 -0
  236. package/dist/ui/tooltip.js +18 -0
  237. package/dist/ui/tooltip.js.map +1 -0
  238. package/dist/ui/use-toast.d.ts +3 -0
  239. package/dist/ui/use-toast.d.ts.map +1 -0
  240. package/dist/ui/use-toast.js +3 -0
  241. package/dist/ui/use-toast.js.map +1 -0
  242. package/dist/utils.d.ts +4 -0
  243. package/dist/utils.d.ts.map +1 -0
  244. package/dist/utils.js +7 -0
  245. package/dist/utils.js.map +1 -0
  246. package/package.json +137 -0
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cva } from "class-variance-authority";
3
+ import { cn } from "../utils.js";
4
+ const badgeVariants = cva("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", {
5
+ variants: {
6
+ variant: {
7
+ default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
8
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
9
+ destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
10
+ outline: "text-foreground",
11
+ },
12
+ },
13
+ defaultVariants: {
14
+ variant: "default",
15
+ },
16
+ });
17
+ function Badge({ className, variant, ...props }) {
18
+ return (_jsx("div", { className: cn(badgeVariants({ variant }), className), ...props }));
19
+ }
20
+ export { Badge, badgeVariants };
21
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../src/ui/badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,aAAa,GAAG,GAAG,CACvB,wKAAwK,EACxK;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,2EAA2E;YAC7E,SAAS,EACP,iFAAiF;YACnF,WAAW,EACT,uFAAuF;YACzF,OAAO,EAAE,iBAAiB;SAC3B;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;KACnB;CACF,CACF,CAAC;AAOF,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAc;IACzD,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACzE,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ declare const Breadcrumb: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & {
3
+ separator?: React.ReactNode;
4
+ } & React.RefAttributes<HTMLElement>>;
5
+ declare const BreadcrumbList: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
6
+ declare const BreadcrumbItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
7
+ declare const BreadcrumbLink: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & {
8
+ asChild?: boolean;
9
+ } & React.RefAttributes<HTMLAnchorElement>>;
10
+ declare const BreadcrumbPage: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
11
+ declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
12
+ declare namespace BreadcrumbSeparator {
13
+ var displayName: string;
14
+ }
15
+ declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
16
+ declare namespace BreadcrumbEllipsis {
17
+ var displayName: string;
18
+ }
19
+ export { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, };
20
+ //# sourceMappingURL=breadcrumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/ui/breadcrumb.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,UAAU;gBAGA,KAAK,CAAC,SAAS;qCAE+C,CAAC;AAG/E,QAAA,MAAM,cAAc,2KAYlB,CAAC;AAGH,QAAA,MAAM,cAAc,kKASlB,CAAC;AAGH,QAAA,MAAM,cAAc;cAGN,OAAO;2CAYnB,CAAC;AAGH,QAAA,MAAM,cAAc,sKAYlB,CAAC;qCAG0B,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;;;;oCAYD,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;;;;AAa/B,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Slot } from "@radix-ui/react-slot";
3
+ import { IconChevronRight, IconDots } from "@tabler/icons-react";
4
+ import * as React from "react";
5
+ import { cn } from "../utils.js";
6
+ const Breadcrumb = React.forwardRef(({ ...props }, ref) => _jsx("nav", { ref: ref, "aria-label": "breadcrumb", ...props }));
7
+ Breadcrumb.displayName = "Breadcrumb";
8
+ const BreadcrumbList = React.forwardRef(({ className, ...props }, ref) => (_jsx("ol", { ref: ref, className: cn("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5", className), ...props })));
9
+ BreadcrumbList.displayName = "BreadcrumbList";
10
+ const BreadcrumbItem = React.forwardRef(({ className, ...props }, ref) => (_jsx("li", { ref: ref, className: cn("inline-flex items-center gap-1.5", className), ...props })));
11
+ BreadcrumbItem.displayName = "BreadcrumbItem";
12
+ const BreadcrumbLink = React.forwardRef(({ asChild, className, ...props }, ref) => {
13
+ const Comp = asChild ? Slot : "a";
14
+ return (_jsx(Comp, { ref: ref, className: cn("transition-colors hover:text-foreground", className), ...props }));
15
+ });
16
+ BreadcrumbLink.displayName = "BreadcrumbLink";
17
+ const BreadcrumbPage = React.forwardRef(({ className, ...props }, ref) => (_jsx("span", { ref: ref, role: "link", "aria-disabled": "true", "aria-current": "page", className: cn("font-normal text-foreground", className), ...props })));
18
+ BreadcrumbPage.displayName = "BreadcrumbPage";
19
+ const BreadcrumbSeparator = ({ children, className, ...props }) => (_jsx("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children ?? _jsx(IconChevronRight, { className: "rtl:-scale-x-100" }) }));
20
+ BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
21
+ const BreadcrumbEllipsis = ({ className, ...props }) => (_jsxs("span", { role: "presentation", "aria-hidden": "true", className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [_jsx(IconDots, { className: "h-4 w-4" }), _jsx("span", { className: "sr-only", children: "More" })] }));
22
+ BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
23
+ export { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, };
24
+ //# sourceMappingURL=breadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../src/ui/breadcrumb.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import * as React from "react";
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "default" | "destructive" | "ghost" | "link" | "outline" | "secondary" | null | undefined;
5
+ size?: "default" | "icon" | "lg" | "sm" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
8
+ asChild?: boolean;
9
+ }
10
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
11
+ export { Button, buttonVariants };
12
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,cAAc;;;8EA2BnB,CAAC;AAEF,MAAM,WAAW,WACf,SACE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,MAAM,uFAWX,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Slot } from "@radix-ui/react-slot";
3
+ import { cva } from "class-variance-authority";
4
+ import * as React from "react";
5
+ import { cn } from "../utils.js";
6
+ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", {
7
+ variants: {
8
+ variant: {
9
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
10
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
11
+ outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
12
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
13
+ ghost: "hover:bg-accent hover:text-accent-foreground",
14
+ link: "text-primary underline-offset-4 hover:underline",
15
+ },
16
+ size: {
17
+ default: "h-10 px-4 py-2",
18
+ sm: "h-9 rounded-md px-3",
19
+ lg: "h-11 rounded-md px-8",
20
+ icon: "h-10 w-10",
21
+ },
22
+ },
23
+ defaultVariants: {
24
+ variant: "default",
25
+ size: "default",
26
+ },
27
+ });
28
+ const Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {
29
+ const Comp = asChild ? Slot : "button";
30
+ return (_jsx(Comp, { className: cn(buttonVariants({ variant, size, className })), ref: ref, ...props }));
31
+ });
32
+ Button.displayName = "Button";
33
+ export { Button, buttonVariants };
34
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,cAAc,GAAG,GAAG,CACxB,0VAA0V,EAC1V;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,wDAAwD;YACjE,WAAW,EACT,oEAAoE;YACtE,OAAO,EACL,gFAAgF;YAClF,SAAS,EACP,8DAA8D;YAChE,KAAK,EAAE,8CAA8C;YACrD,IAAI,EAAE,iDAAiD;SACxD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,gBAAgB;YACzB,EAAE,EAAE,qBAAqB;YACzB,EAAE,EAAE,sBAAsB;YAC1B,IAAI,EAAE,WAAW;SAClB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AASF,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvC,OAAO,CACL,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAC3D,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AACF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { DayButton, DayPicker } from "react-day-picker";
3
+ import { Button } from "./button.js";
4
+ declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React.ComponentProps<typeof DayPicker> & {
5
+ buttonVariant?: React.ComponentProps<typeof Button>["variant"];
6
+ }): React.JSX.Element;
7
+ declare function CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>): React.JSX.Element;
8
+ export { Calendar, CalendarDayButton };
9
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/ui/calendar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAwB,MAAM,kBAAkB,CAAC;AAG9E,OAAO,EAAE,MAAM,EAAkB,MAAM,aAAa,CAAC;AAErD,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,UAAU,EACV,eAAsB,EACtB,aAAuB,EACvB,aAAuB,EACvB,UAAU,EACV,UAAU,EACV,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAC1C,aAAa,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAChE,qBAuJA;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,qBA+BxC;AAED,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { IconChevronDown, IconChevronLeft, IconChevronRight, } from "@tabler/icons-react";
3
+ import * as React from "react";
4
+ import { DayPicker, getDefaultClassNames } from "react-day-picker";
5
+ import { cn } from "../utils.js";
6
+ import { Button, buttonVariants } from "./button.js";
7
+ function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }) {
8
+ const defaultClassNames = getDefaultClassNames();
9
+ return (_jsx(DayPicker, { showOutsideDays: showOutsideDays, className: cn("bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent", String.raw `rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw `rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className), captionLayout: captionLayout, formatters: {
10
+ formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
11
+ ...formatters,
12
+ }, classNames: {
13
+ root: cn("w-fit", defaultClassNames.root),
14
+ months: cn("relative flex flex-col gap-4 md:flex-row", defaultClassNames.months),
15
+ month: cn("flex w-full flex-col gap-4", defaultClassNames.month),
16
+ nav: cn("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1", defaultClassNames.nav),
17
+ button_previous: cn(buttonVariants({ variant: buttonVariant }), "h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50", defaultClassNames.button_previous),
18
+ button_next: cn(buttonVariants({ variant: buttonVariant }), "h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50", defaultClassNames.button_next),
19
+ month_caption: cn("flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]", defaultClassNames.month_caption),
20
+ dropdowns: cn("flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium", defaultClassNames.dropdowns),
21
+ dropdown_root: cn("has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border", defaultClassNames.dropdown_root),
22
+ dropdown: cn("bg-popover absolute inset-0 opacity-0", defaultClassNames.dropdown),
23
+ caption_label: cn("select-none font-medium", captionLayout === "label"
24
+ ? "text-sm"
25
+ : "[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md ps-2 pe-1 text-sm [&>svg]:size-3.5", defaultClassNames.caption_label),
26
+ month_grid: "w-full border-collapse",
27
+ weekdays: cn("flex", defaultClassNames.weekdays),
28
+ weekday: cn("text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal", defaultClassNames.weekday),
29
+ week: cn("mt-2 flex w-full", defaultClassNames.week),
30
+ week_number_header: cn("w-[--cell-size] select-none", defaultClassNames.week_number_header),
31
+ week_number: cn("text-muted-foreground select-none text-[0.8rem]", defaultClassNames.week_number),
32
+ day: cn("group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-s-md [&:last-child[data-selected=true]_button]:rounded-e-md", defaultClassNames.day),
33
+ range_start: cn("bg-accent rounded-s-md", defaultClassNames.range_start),
34
+ range_middle: cn("rounded-none", defaultClassNames.range_middle),
35
+ range_end: cn("bg-accent rounded-e-md", defaultClassNames.range_end),
36
+ today: cn("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none", defaultClassNames.today),
37
+ outside: cn("text-muted-foreground aria-selected:text-muted-foreground", defaultClassNames.outside),
38
+ disabled: cn("text-muted-foreground opacity-50", defaultClassNames.disabled),
39
+ hidden: cn("invisible", defaultClassNames.hidden),
40
+ ...classNames,
41
+ }, components: {
42
+ Root: ({ className, rootRef, ...props }) => {
43
+ return (_jsx("div", { "data-slot": "calendar", ref: rootRef, className: cn(className), ...props }));
44
+ },
45
+ Chevron: ({ className, orientation, ...props }) => {
46
+ if (orientation === "left") {
47
+ return (_jsx(IconChevronLeft, { className: cn("size-4 rtl:-scale-x-100", className), ...props }));
48
+ }
49
+ if (orientation === "right") {
50
+ return (_jsx(IconChevronRight, { className: cn("size-4 rtl:-scale-x-100", className), ...props }));
51
+ }
52
+ return (_jsx(IconChevronDown, { className: cn("size-4", className), ...props }));
53
+ },
54
+ DayButton: CalendarDayButton,
55
+ WeekNumber: ({ children, ...props }) => {
56
+ return (_jsx("td", { ...props, children: _jsx("div", { className: "flex size-[--cell-size] items-center justify-center text-center", children: children }) }));
57
+ },
58
+ ...components,
59
+ }, ...props }));
60
+ }
61
+ function CalendarDayButton({ className, day, modifiers, ...props }) {
62
+ const defaultClassNames = getDefaultClassNames();
63
+ const ref = React.useRef(null);
64
+ React.useEffect(() => {
65
+ if (modifiers.focused)
66
+ ref.current?.focus();
67
+ }, [modifiers.focused]);
68
+ return (_jsx(Button, { ref: ref, variant: "ghost", size: "icon", "data-day": day.date.toLocaleDateString(), "data-selected-single": modifiers.selected &&
69
+ !modifiers.range_start &&
70
+ !modifiers.range_end &&
71
+ !modifiers.range_middle, "data-range-start": modifiers.range_start, "data-range-end": modifiers.range_end, "data-range-middle": modifiers.range_middle, className: cn("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70", defaultClassNames.day, className), ...props }));
72
+ }
73
+ export { Calendar, CalendarDayButton };
74
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../src/ui/calendar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
3
+ declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
5
+ declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
6
+ declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
7
+ declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
8
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, };
9
+ //# sourceMappingURL=card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,IAAI,6GAYR,CAAC;AAGH,QAAA,MAAM,UAAU,6GASd,CAAC;AAGH,QAAA,MAAM,SAAS,uHAYb,CAAC;AAGH,QAAA,MAAM,eAAe,yHASnB,CAAC;AAGH,QAAA,MAAM,WAAW,6GAKf,CAAC;AAGH,QAAA,MAAM,UAAU,6GASd,CAAC;AAGH,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,GACZ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../utils.js";
4
+ const Card = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className), ...props })));
5
+ Card.displayName = "Card";
6
+ const CardHeader = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })));
7
+ CardHeader.displayName = "CardHeader";
8
+ const CardTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx("h3", { ref: ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })));
9
+ CardTitle.displayName = "CardTitle";
10
+ const CardDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx("p", { ref: ref, className: cn("text-sm text-muted-foreground", className), ...props })));
11
+ CardDescription.displayName = "CardDescription";
12
+ const CardContent = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("p-6 pt-0", className), ...props })));
13
+ CardContent.displayName = "CardContent";
14
+ const CardFooter = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex items-center p-6 pt-0", className), ...props })));
15
+ CardFooter.displayName = "CardFooter";
16
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, };
17
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/ui/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAG3B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,0DAA0D,EAC1D,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AACH,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;AAE1B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,CACH,CAAC,CAAC;AACH,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAGhC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,aACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,oDAAoD,EACpD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAGtC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,YACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,CACH,CAAC,CAAC;AACH,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC;AAEhD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACnE,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAClD,KAAK,GACT,CACH,CAAC,CAAC;AACH,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,GACZ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import useEmblaCarousel, { type UseEmblaCarouselType } from "embla-carousel-react";
2
+ import * as React from "react";
3
+ type CarouselApi = UseEmblaCarouselType[1];
4
+ type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
5
+ type CarouselOptions = UseCarouselParameters[0];
6
+ type CarouselPlugin = UseCarouselParameters[1];
7
+ type CarouselProps = {
8
+ opts?: CarouselOptions;
9
+ plugins?: CarouselPlugin;
10
+ orientation?: "horizontal" | "vertical";
11
+ setApi?: (api: CarouselApi) => void;
12
+ };
13
+ declare const Carousel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & CarouselProps & React.RefAttributes<HTMLDivElement>>;
14
+ declare const CarouselContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
15
+ declare const CarouselItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
16
+ declare const CarouselPrevious: React.ForwardRefExoticComponent<Omit<import("./button.js").ButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
17
+ declare const CarouselNext: React.ForwardRefExoticComponent<Omit<import("./button.js").ButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
18
+ export { type CarouselApi, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, };
19
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../src/ui/carousel.tsx"],"names":[],"mappings":"AACA,OAAO,gBAAgB,EAAE,EACvB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,KAAK,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACjE,KAAK,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAChD,KAAK,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE/C,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CACrC,CAAC;AAuBF,QAAA,MAAM,QAAQ,6HAyGb,CAAC;AAGF,QAAA,MAAM,eAAe,6GAmBnB,CAAC;AAGH,QAAA,MAAM,YAAY,6GAmBhB,CAAC;AAGH,QAAA,MAAM,gBAAgB,mKA0BpB,CAAC;AAGH,QAAA,MAAM,YAAY,mKA0BhB,CAAC;AAGH,OAAO,EACL,KAAK,WAAW,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,CAAC"}
@@ -0,0 +1,99 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { IconArrowLeft, IconArrowRight } from "@tabler/icons-react";
3
+ import useEmblaCarousel from "embla-carousel-react";
4
+ import * as React from "react";
5
+ import { cn } from "../utils.js";
6
+ import { Button } from "./button.js";
7
+ const CarouselContext = React.createContext(null);
8
+ function useCarousel() {
9
+ const context = React.useContext(CarouselContext);
10
+ if (!context) {
11
+ throw new Error("useCarousel must be used within a <Carousel />");
12
+ }
13
+ return context;
14
+ }
15
+ const Carousel = React.forwardRef(({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }, ref) => {
16
+ const [carouselRef, api] = useEmblaCarousel({
17
+ ...opts,
18
+ axis: orientation === "horizontal" ? "x" : "y",
19
+ }, plugins);
20
+ const [canScrollPrev, setCanScrollPrev] = React.useState(false);
21
+ const [canScrollNext, setCanScrollNext] = React.useState(false);
22
+ const onSelect = React.useCallback((api) => {
23
+ if (!api) {
24
+ return;
25
+ }
26
+ setCanScrollPrev(api.canScrollPrev());
27
+ setCanScrollNext(api.canScrollNext());
28
+ }, []);
29
+ const scrollPrev = React.useCallback(() => {
30
+ api?.scrollPrev();
31
+ }, [api]);
32
+ const scrollNext = React.useCallback(() => {
33
+ api?.scrollNext();
34
+ }, [api]);
35
+ const handleKeyDown = React.useCallback((event) => {
36
+ if (event.key === "ArrowLeft") {
37
+ event.preventDefault();
38
+ scrollPrev();
39
+ }
40
+ else if (event.key === "ArrowRight") {
41
+ event.preventDefault();
42
+ scrollNext();
43
+ }
44
+ }, [scrollPrev, scrollNext]);
45
+ React.useEffect(() => {
46
+ if (!api || !setApi) {
47
+ return;
48
+ }
49
+ setApi(api);
50
+ }, [api, setApi]);
51
+ React.useEffect(() => {
52
+ if (!api) {
53
+ return;
54
+ }
55
+ onSelect(api);
56
+ api.on("reInit", onSelect);
57
+ api.on("select", onSelect);
58
+ return () => {
59
+ api?.off("select", onSelect);
60
+ };
61
+ }, [api, onSelect]);
62
+ return (_jsx(CarouselContext.Provider, { value: {
63
+ carouselRef,
64
+ api: api,
65
+ opts,
66
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
67
+ scrollPrev,
68
+ scrollNext,
69
+ canScrollPrev,
70
+ canScrollNext,
71
+ }, children: _jsx("div", { ref: ref, onKeyDownCapture: handleKeyDown, className: cn("relative", className), role: "region", "aria-roledescription": "carousel", ...props, children: children }) }));
72
+ });
73
+ Carousel.displayName = "Carousel";
74
+ const CarouselContent = React.forwardRef(({ className, ...props }, ref) => {
75
+ const { carouselRef, orientation } = useCarousel();
76
+ return (_jsx("div", { ref: carouselRef, className: "overflow-hidden", children: _jsx("div", { ref: ref, className: cn("flex", orientation === "horizontal" ? "-ms-4" : "-mt-4 flex-col", className), ...props }) }));
77
+ });
78
+ CarouselContent.displayName = "CarouselContent";
79
+ const CarouselItem = React.forwardRef(({ className, ...props }, ref) => {
80
+ const { orientation } = useCarousel();
81
+ return (_jsx("div", { ref: ref, role: "group", "aria-roledescription": "slide", className: cn("min-w-0 shrink-0 grow-0 basis-full", orientation === "horizontal" ? "ps-4" : "pt-4", className), ...props }));
82
+ });
83
+ CarouselItem.displayName = "CarouselItem";
84
+ const CarouselPrevious = React.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
85
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
86
+ return (_jsxs(Button, { ref: ref, variant: variant, size: size, className: cn("absolute h-8 w-8 rounded-full", orientation === "horizontal"
87
+ ? "-start-12 top-1/2 -translate-y-1/2"
88
+ : "-top-12 left-1/2 -translate-x-1/2 rotate-90", className), disabled: !canScrollPrev, onClick: scrollPrev, ...props, children: [_jsx(IconArrowLeft, { className: "h-4 w-4 rtl:-scale-x-100" }), _jsx("span", { className: "sr-only", children: "Previous slide" })] }));
89
+ });
90
+ CarouselPrevious.displayName = "CarouselPrevious";
91
+ const CarouselNext = React.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
92
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
93
+ return (_jsxs(Button, { ref: ref, variant: variant, size: size, className: cn("absolute h-8 w-8 rounded-full", orientation === "horizontal"
94
+ ? "-end-12 top-1/2 -translate-y-1/2"
95
+ : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90", className), disabled: !canScrollNext, onClick: scrollNext, ...props, children: [_jsx(IconArrowRight, { className: "h-4 w-4 rtl:-scale-x-100" }), _jsx("span", { className: "sr-only", children: "Next slide" })] }));
96
+ });
97
+ CarouselNext.displayName = "CarouselNext";
98
+ export { Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, };
99
+ //# sourceMappingURL=carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.js","sourceRoot":"","sources":["../../src/ui/carousel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import * as React from "react";
2
+ import * as RechartsPrimitive from "recharts";
3
+ declare const THEMES: {
4
+ readonly light: "";
5
+ readonly dark: ".dark";
6
+ };
7
+ export type ChartConfig = {
8
+ [k in string]: {
9
+ label?: React.ReactNode;
10
+ icon?: React.ComponentType;
11
+ } & ({
12
+ color?: string;
13
+ theme?: never;
14
+ } | {
15
+ color?: never;
16
+ theme: Record<keyof typeof THEMES, string>;
17
+ });
18
+ };
19
+ declare const ChartContainer: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
20
+ config: ChartConfig;
21
+ children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
22
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
23
+ declare const ChartStyle: ({ id, config }: {
24
+ id: string;
25
+ config: ChartConfig;
26
+ }) => React.JSX.Element | null;
27
+ declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
28
+ declare const ChartTooltipContent: React.ForwardRefExoticComponent<Omit<Omit<RechartsPrimitive.DefaultTooltipContentProps<string | number, string>, "accessibilityLayer" | "active" | "coordinate" | "label" | "payload" | "viewBox"> & {
29
+ active?: boolean;
30
+ allowEscapeViewBox?: import("recharts/types/util/types.js").AllowInDimension;
31
+ animationDuration?: import("recharts/types/util/types.js").AnimationDuration;
32
+ animationEasing?: RechartsPrimitive.EasingInput;
33
+ axisId?: RechartsPrimitive.AxisId;
34
+ content?: import("recharts/types/component/Tooltip.js").ContentType<string | number, string> | undefined;
35
+ contentStyle?: React.CSSProperties;
36
+ cursor?: import("recharts/types/component/Cursor.js").CursorDefinition;
37
+ defaultIndex?: number | RechartsPrimitive.TooltipIndex;
38
+ filterNull?: boolean;
39
+ formatter?: ((value: string | number, name: string, item: import("recharts/types/state/tooltipSlice.js").TooltipPayloadEntry, index: number, payload: RechartsPrimitive.TooltipPayload) => React.ReactNode | [React.ReactNode, React.ReactNode]) | undefined;
40
+ includeHidden?: boolean | undefined;
41
+ isAnimationActive?: boolean | 'auto';
42
+ itemSorter?: RechartsPrimitive.TooltipItemSorter;
43
+ itemStyle?: React.CSSProperties;
44
+ labelFormatter?: (label: any, payload: RechartsPrimitive.TooltipPayload) => React.ReactNode;
45
+ labelStyle?: React.CSSProperties;
46
+ offset?: number | RechartsPrimitive.Coordinate;
47
+ payloadUniqBy?: import("recharts/types/util/payload/getUniqPayload.js").UniqueOption<import("recharts/types/state/tooltipSlice.js").TooltipPayloadEntry>;
48
+ portal?: HTMLElement | null;
49
+ position?: Partial<RechartsPrimitive.Coordinate>;
50
+ reverseDirection?: import("recharts/types/util/types.js").AllowInDimension;
51
+ separator?: string;
52
+ shared?: boolean;
53
+ trigger?: import("recharts/types/chart/types.js").TooltipTrigger;
54
+ useTranslate3d?: boolean;
55
+ wrapperStyle?: React.CSSProperties;
56
+ } & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
57
+ active?: boolean;
58
+ payload?: ReadonlyArray<RechartsPrimitive.TooltipPayloadEntry<string | number, string>>;
59
+ label?: React.ReactNode;
60
+ hideLabel?: boolean;
61
+ hideIndicator?: boolean;
62
+ indicator?: "line" | "dot" | "dashed";
63
+ nameKey?: string;
64
+ labelKey?: string;
65
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
66
+ declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
67
+ declare const ChartLegendContent: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
68
+ payload?: Array<{
69
+ value: string;
70
+ color?: string;
71
+ dataKey?: string | number;
72
+ type?: string;
73
+ }>;
74
+ verticalAlign?: "top" | "bottom";
75
+ } & {
76
+ hideIcon?: boolean;
77
+ nameKey?: string;
78
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
79
+ export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle, };
80
+ //# sourceMappingURL=chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/ui/chart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAK9C,QAAA,MAAM,MAAM;aAAK,KAAK,EAAE,EAAE;aAAE,IAAI,EAAE,OAAO;CAAW,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;KACvB,CAAC,IAAI,MAAM,GAAG;QACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC5B,GAAG,CACA;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GACjC;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAChE;CACF,CAAC;AAkBF,QAAA,MAAM,cAAc;YAGR,WAAW;cACT,KAAK,CAAC,cAAc,CAC5B,OAAO,iBAAiB,CAAC,mBAAmB,CAC7C,CAAC,UAAU,CAAC;gDAwBf,CAAC;AAGH,QAAA,MAAM,UAAU,mBAAoB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,6BA+BtE,CAAC;AAEF,QAAA,MAAM,YAAY,kCAA4B,CAAC;AAE/C,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAIV,OAAO;cACN,aAAa,CACrB,iBAAiB,CAAC,mBAAmB,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAC/D;YACO,KAAK,CAAC,SAAS;gBACX,OAAO;oBACH,OAAO;gBACX,MAAM,GAAG,KAAK,GAAG,QAAQ;cAC3B,MAAM;eACL,MAAM;gDA+ItB,CAAC;AAGF,QAAA,MAAM,WAAW,sGAA2B,CAAC;AAE7C,QAAA,MAAM,kBAAkB;cAGV,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;oBACc,KAAK,GAAG,QAAQ;;eAErB,OAAO;cACR,MAAM;gDAkDnB,CAAC;AA0CF,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,UAAU,GACX,CAAC"}