@getgreenline/blaze-ui 1.0.16 → 1.0.18

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 (126) hide show
  1. package/dist/components/accordion.d.ts +8 -0
  2. package/dist/components/accordion.d.ts.map +1 -0
  3. package/dist/components/accordion.js +19 -0
  4. package/dist/components/alert.d.ts +10 -0
  5. package/dist/components/alert.d.ts.map +1 -0
  6. package/dist/components/alert.js +26 -0
  7. package/dist/components/aspect-ratio.d.ts +4 -0
  8. package/dist/components/aspect-ratio.d.ts.map +1 -0
  9. package/dist/components/aspect-ratio.js +8 -0
  10. package/dist/components/avatar.d.ts +7 -0
  11. package/dist/components/avatar.d.ts.map +1 -0
  12. package/dist/components/avatar.js +15 -0
  13. package/dist/components/breadcrumb.d.ts +12 -0
  14. package/dist/components/breadcrumb.d.ts.map +1 -0
  15. package/dist/components/breadcrumb.js +29 -0
  16. package/dist/components/button-group.d.ts +12 -0
  17. package/dist/components/button-group.d.ts.map +1 -0
  18. package/dist/components/button-group.js +29 -0
  19. package/dist/components/carousel.d.ts +20 -0
  20. package/dist/components/carousel.d.ts.map +1 -0
  21. package/dist/components/carousel.js +92 -0
  22. package/dist/components/chart.d.ts +41 -0
  23. package/dist/components/chart.d.ts.map +1 -0
  24. package/dist/components/chart.js +133 -0
  25. package/dist/components/collapsible.d.ts +6 -0
  26. package/dist/components/collapsible.d.ts.map +1 -0
  27. package/dist/components/collapsible.js +14 -0
  28. package/dist/components/command.d.ts +19 -0
  29. package/dist/components/command.d.ts.map +1 -0
  30. package/dist/components/command.js +35 -0
  31. package/dist/components/context-menu.d.ts +26 -0
  32. package/dist/components/context-menu.d.ts.map +1 -0
  33. package/dist/components/context-menu.js +52 -0
  34. package/dist/components/dialog.d.ts +16 -0
  35. package/dist/components/dialog.d.ts.map +1 -0
  36. package/dist/components/dialog.js +37 -0
  37. package/dist/components/drawer.d.ts +14 -0
  38. package/dist/components/drawer.d.ts.map +1 -0
  39. package/dist/components/drawer.js +36 -0
  40. package/dist/components/dropdown-menu.d.ts +26 -0
  41. package/dist/components/dropdown-menu.d.ts.map +1 -0
  42. package/dist/components/dropdown-menu.js +52 -0
  43. package/dist/components/empty.d.ts +12 -0
  44. package/dist/components/empty.d.ts.map +1 -0
  45. package/dist/components/empty.js +35 -0
  46. package/dist/components/field.d.ts +25 -0
  47. package/dist/components/field.d.ts.map +1 -0
  48. package/dist/components/field.js +74 -0
  49. package/dist/components/form.d.ts +25 -0
  50. package/dist/components/form.d.ts.map +1 -0
  51. package/dist/components/form.js +60 -0
  52. package/dist/components/hover-card.d.ts +7 -0
  53. package/dist/components/hover-card.d.ts.map +1 -0
  54. package/dist/components/hover-card.js +15 -0
  55. package/dist/components/input-group.d.ts +17 -0
  56. package/dist/components/input-group.d.ts.map +1 -0
  57. package/dist/components/input-group.js +64 -0
  58. package/dist/components/input-otp.d.ts +12 -0
  59. package/dist/components/input-otp.d.ts.map +1 -0
  60. package/dist/components/input-otp.js +22 -0
  61. package/dist/components/item.d.ts +24 -0
  62. package/dist/components/item.d.ts.map +1 -0
  63. package/dist/components/item.js +68 -0
  64. package/dist/components/kbd.d.ts +4 -0
  65. package/dist/components/kbd.d.ts.map +1 -0
  66. package/dist/components/kbd.js +11 -0
  67. package/dist/components/menubar.d.ts +27 -0
  68. package/dist/components/menubar.d.ts.map +1 -0
  69. package/dist/components/menubar.js +55 -0
  70. package/dist/components/navigation-menu.d.ts +15 -0
  71. package/dist/components/navigation-menu.d.ts.map +1 -0
  72. package/dist/components/navigation-menu.js +33 -0
  73. package/dist/components/pagination.d.ts +14 -0
  74. package/dist/components/pagination.d.ts.map +1 -0
  75. package/dist/components/pagination.js +31 -0
  76. package/dist/components/progress.d.ts +5 -0
  77. package/dist/components/progress.d.ts.map +1 -0
  78. package/dist/components/progress.js +9 -0
  79. package/dist/components/resizable.d.ts +9 -0
  80. package/dist/components/resizable.d.ts.map +1 -0
  81. package/dist/components/resizable.js +16 -0
  82. package/dist/components/separator.d.ts +5 -0
  83. package/dist/components/separator.d.ts.map +1 -0
  84. package/dist/components/separator.js +9 -0
  85. package/dist/components/sheet.js +10 -10
  86. package/dist/components/sidebar.d.ts +70 -0
  87. package/dist/components/sidebar.d.ts.map +1 -0
  88. package/dist/components/sidebar.js +213 -0
  89. package/dist/components/skeleton.d.ts +3 -0
  90. package/dist/components/skeleton.d.ts.map +1 -0
  91. package/dist/components/skeleton.js +8 -0
  92. package/dist/components/slider.d.ts +5 -0
  93. package/dist/components/slider.d.ts.map +1 -0
  94. package/dist/components/slider.js +15 -0
  95. package/dist/components/sonner.d.ts +4 -0
  96. package/dist/components/sonner.d.ts.map +1 -0
  97. package/dist/components/sonner.js +22 -0
  98. package/dist/components/spinner.d.ts +3 -0
  99. package/dist/components/spinner.d.ts.map +1 -0
  100. package/dist/components/spinner.js +9 -0
  101. package/dist/components/table.d.ts +11 -0
  102. package/dist/components/table.d.ts.map +1 -0
  103. package/dist/components/table.js +29 -0
  104. package/dist/components/tabs.d.ts +8 -0
  105. package/dist/components/tabs.d.ts.map +1 -0
  106. package/dist/components/tabs.js +18 -0
  107. package/dist/components/textarea.d.ts +4 -0
  108. package/dist/components/textarea.d.ts.map +1 -0
  109. package/dist/components/textarea.js +8 -0
  110. package/dist/components/toggle-group.d.ts +8 -0
  111. package/dist/components/toggle-group.d.ts.map +1 -0
  112. package/dist/components/toggle-group.js +22 -0
  113. package/dist/components/toggle.d.ts +10 -0
  114. package/dist/components/toggle.d.ts.map +1 -0
  115. package/dist/components/toggle.js +27 -0
  116. package/dist/components/tooltip.d.ts +8 -0
  117. package/dist/components/tooltip.d.ts.map +1 -0
  118. package/dist/components/tooltip.js +18 -0
  119. package/dist/globals.css +104 -84
  120. package/dist/hooks/use-mobile.d.ts +2 -0
  121. package/dist/hooks/use-mobile.d.ts.map +1 -0
  122. package/dist/hooks/use-mobile.js +18 -0
  123. package/dist/index.d.ts +40 -0
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +40 -0
  126. package/package.json +29 -3
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
3
+ declare function Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function AccordionItem({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
5
+ declare function AccordionTrigger({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function AccordionContent({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
8
+ //# sourceMappingURL=accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../src/components/accordion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAA;AAK/D,iBAAS,SAAS,CAAC,EACjB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAEtD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAQtD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,2CAgBzD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,2CAUzD;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime.js';
2
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
+ import { ChevronDownIcon } from 'lucide-react';
4
+ import { cn } from '../lib/utils.js';
5
+
6
+ function Accordion({ ...props }) {
7
+ return jsx(AccordionPrimitive.Root, { "data-slot": "accordion", ...props });
8
+ }
9
+ function AccordionItem({ className, ...props }) {
10
+ return (jsx(AccordionPrimitive.Item, { "data-slot": "accordion-item", className: cn("tw:border-b tw:last:border-b-0", className), ...props }));
11
+ }
12
+ function AccordionTrigger({ className, children, ...props }) {
13
+ return (jsx(AccordionPrimitive.Header, { className: "tw:flex", children: jsxs(AccordionPrimitive.Trigger, { "data-slot": "accordion-trigger", className: cn("tw:focus-visible:border-ring tw:focus-visible:ring-ring/50 tw:flex tw:flex-1 tw:items-start tw:justify-between tw:gap-4 tw:rounded-md tw:py-4 tw:text-left tw:text-sm tw:font-medium tw:transition-all tw:outline-none tw:hover:underline tw:focus-visible:ring-[3px] tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:[&[data-state=open]>svg]:rotate-180", className), ...props, children: [children, jsx(ChevronDownIcon, { className: "tw:text-muted-foreground tw:pointer-events-none tw:size-4 tw:shrink-0 tw:translate-y-0.5 tw:transition-transform tw:duration-200" })] }) }));
14
+ }
15
+ function AccordionContent({ className, children, ...props }) {
16
+ return (jsx(AccordionPrimitive.Content, { "data-slot": "accordion-content", className: "tw:data-[state=closed]:animate-accordion-up tw:data-[state=open]:animate-accordion-down tw:overflow-hidden tw:text-sm", ...props, children: jsx("div", { className: cn("tw:pt-0 tw:pb-4", className), children: children }) }));
17
+ }
18
+
19
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const alertVariants: (props?: ({
4
+ variant?: "default" | "destructive" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): import("react/jsx-runtime").JSX.Element;
7
+ declare function AlertTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
+ declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
9
+ export { Alert, AlertTitle, AlertDescription };
10
+ //# sourceMappingURL=alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/components/alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,aAAa;;8EAclB,CAAA;AAED,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,2CASlE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW7B;AAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { jsx } from 'react/jsx-runtime.js';
2
+ import { cva } from 'class-variance-authority';
3
+ import { cn } from '../lib/utils.js';
4
+
5
+ const alertVariants = cva("tw:relative tw:w-full tw:rounded-lg tw:border tw:px-4 tw:py-3 tw:text-sm tw:grid tw:has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] tw:grid-cols-[0_1fr] tw:has-[>svg]:gap-x-3 tw:gap-y-0.5 tw:items-start tw:[&>svg]:size-4 tw:[&>svg]:translate-y-0.5 tw:[&>svg]:text-current", {
6
+ variants: {
7
+ variant: {
8
+ default: "tw:bg-card tw:text-card-foreground",
9
+ destructive: "tw:text-destructive tw:bg-card tw:[&>svg]:text-current tw:*:data-[slot=alert-description]:text-destructive/90",
10
+ },
11
+ },
12
+ defaultVariants: {
13
+ variant: "default",
14
+ },
15
+ });
16
+ function Alert({ className, variant, ...props }) {
17
+ return (jsx("div", { "data-slot": "alert", role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
18
+ }
19
+ function AlertTitle({ className, ...props }) {
20
+ return (jsx("div", { "data-slot": "alert-title", className: cn("tw:col-start-2 tw:line-clamp-1 tw:min-h-4 tw:font-medium tw:tracking-tight", className), ...props }));
21
+ }
22
+ function AlertDescription({ className, ...props }) {
23
+ return (jsx("div", { "data-slot": "alert-description", className: cn("tw:text-muted-foreground tw:col-start-2 tw:grid tw:justify-items-start tw:gap-1 tw:text-sm tw:[&_p]:leading-relaxed", className), ...props }));
24
+ }
25
+
26
+ export { Alert, AlertDescription, AlertTitle };
@@ -0,0 +1,4 @@
1
+ import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
2
+ declare function AspectRatio({ ...props }: React.ComponentProps<typeof AspectRatioPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
3
+ export { AspectRatio };
4
+ //# sourceMappingURL=aspect-ratio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aspect-ratio.d.ts","sourceRoot":"","sources":["../../src/components/aspect-ratio.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AAEpE,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,2CAExD;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { jsx } from 'react/jsx-runtime.js';
2
+ import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
3
+
4
+ function AspectRatio({ ...props }) {
5
+ return jsx(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
6
+ }
7
+
8
+ export { AspectRatio };
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
3
+ declare function Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>): import("react/jsx-runtime").JSX.Element;
5
+ declare function AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>): import("react/jsx-runtime").JSX.Element;
6
+ export { Avatar, AvatarImage, AvatarFallback };
7
+ //# sourceMappingURL=avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../src/components/avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAIzD,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAWnD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,QAAQ,CAAC,2CAWvD;AAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { jsx } from 'react/jsx-runtime.js';
2
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
3
+ import { cn } from '../lib/utils.js';
4
+
5
+ function Avatar({ className, ...props }) {
6
+ return (jsx(AvatarPrimitive.Root, { "data-slot": "avatar", className: cn("tw:relative tw:flex tw:size-8 tw:shrink-0 tw:overflow-hidden tw:rounded-full", className), ...props }));
7
+ }
8
+ function AvatarImage({ className, ...props }) {
9
+ return (jsx(AvatarPrimitive.Image, { "data-slot": "avatar-image", className: cn("tw:aspect-square tw:size-full", className), ...props }));
10
+ }
11
+ function AvatarFallback({ className, ...props }) {
12
+ return (jsx(AvatarPrimitive.Fallback, { "data-slot": "avatar-fallback", className: cn("tw:bg-muted tw:flex tw:size-full tw:items-center tw:justify-center tw:rounded-full", className), ...props }));
13
+ }
14
+
15
+ export { Avatar, AvatarFallback, AvatarImage };
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ declare function Breadcrumb({ ...props }: React.ComponentProps<"nav">): import("react/jsx-runtime").JSX.Element;
3
+ declare function BreadcrumbList({ className, ...props }: React.ComponentProps<"ol">): import("react/jsx-runtime").JSX.Element;
4
+ declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
5
+ declare function BreadcrumbLink({ asChild, className, ...props }: React.ComponentProps<"a"> & {
6
+ asChild?: boolean;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
9
+ declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
10
+ declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
11
+ export { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, };
12
+ //# sourceMappingURL=breadcrumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/components/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE5D;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAW1E;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAQ1E;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,2CAUA;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW5E;AAED,iBAAS,mBAAmB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAY5B;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAa9B;AAED,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime.js';
2
+ import { Slot } from '@radix-ui/react-slot';
3
+ import { ChevronRight, MoreHorizontal } from 'lucide-react';
4
+ import { cn } from '../lib/utils.js';
5
+
6
+ function Breadcrumb({ ...props }) {
7
+ return jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
8
+ }
9
+ function BreadcrumbList({ className, ...props }) {
10
+ return (jsx("ol", { "data-slot": "breadcrumb-list", className: cn("tw:text-muted-foreground tw:flex tw:flex-wrap tw:items-center tw:gap-1.5 tw:text-sm tw:break-words tw:sm:gap-2.5", className), ...props }));
11
+ }
12
+ function BreadcrumbItem({ className, ...props }) {
13
+ return (jsx("li", { "data-slot": "breadcrumb-item", className: cn("tw:inline-flex tw:items-center tw:gap-1.5", className), ...props }));
14
+ }
15
+ function BreadcrumbLink({ asChild, className, ...props }) {
16
+ const Comp = asChild ? Slot : "a";
17
+ return (jsx(Comp, { "data-slot": "breadcrumb-link", className: cn("tw:hover:text-foreground tw:transition-colors", className), ...props }));
18
+ }
19
+ function BreadcrumbPage({ className, ...props }) {
20
+ return (jsx("span", { "data-slot": "breadcrumb-page", role: "link", "aria-disabled": "true", "aria-current": "page", className: cn("tw:text-foreground tw:font-normal", className), ...props }));
21
+ }
22
+ function BreadcrumbSeparator({ children, className, ...props }) {
23
+ return (jsx("li", { "data-slot": "breadcrumb-separator", role: "presentation", "aria-hidden": "true", className: cn("tw:[&>svg]:size-3.5", className), ...props, children: children ?? jsx(ChevronRight, {}) }));
24
+ }
25
+ function BreadcrumbEllipsis({ className, ...props }) {
26
+ return (jsxs("span", { "data-slot": "breadcrumb-ellipsis", role: "presentation", "aria-hidden": "true", className: cn("tw:flex tw:size-9 tw:items-center tw:justify-center", className), ...props, children: [jsx(MoreHorizontal, { className: "tw:size-4" }), jsx("span", { className: "tw:sr-only", children: "More" })] }));
27
+ }
28
+
29
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
@@ -0,0 +1,12 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import { Separator } from "../components/separator";
3
+ declare const buttonGroupVariants: (props?: ({
4
+ orientation?: "horizontal" | "vertical" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ declare function ButtonGroup({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>): import("react/jsx-runtime").JSX.Element;
7
+ declare function ButtonGroupText({ className, asChild, ...props }: React.ComponentProps<"div"> & {
8
+ asChild?: boolean;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ declare function ButtonGroupSeparator({ className, orientation, ...props }: React.ComponentProps<typeof Separator>): import("react/jsx-runtime").JSX.Element;
11
+ export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants, };
12
+ //# sourceMappingURL=button-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../src/components/button-group.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,QAAA,MAAM,mBAAmB;;8EAexB,CAAA;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,WAAW,EACX,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,2CAUxE;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,2CAYA;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,WAAwB,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,2CAYxC;AAED,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,mBAAmB,GACpB,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { jsx } from 'react/jsx-runtime.js';
2
+ import { Slot } from '@radix-ui/react-slot';
3
+ import { cva } from 'class-variance-authority';
4
+ import { cn } from '../lib/utils.js';
5
+ import { Separator } from './separator.js';
6
+
7
+ const buttonGroupVariants = cva("tw:flex tw:w-fit tw:items-stretch [&>*]:focus-visible:tw:z-10 [&>*]:focus-visible:tw:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:tw:w-fit [&>input]:tw:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:tw:rounded-r-md has-[>[data-slot=button-group]]:tw:gap-2", {
8
+ variants: {
9
+ orientation: {
10
+ horizontal: "[&>*:not(:first-child)]:tw:rounded-l-none [&>*:not(:first-child)]:tw:border-l-0 [&>*:not(:last-child)]:tw:rounded-r-none",
11
+ vertical: "tw:flex-col [&>*:not(:first-child)]:tw:rounded-t-none [&>*:not(:first-child)]:tw:border-t-0 [&>*:not(:last-child)]:tw:rounded-b-none",
12
+ },
13
+ },
14
+ defaultVariants: {
15
+ orientation: "horizontal",
16
+ },
17
+ });
18
+ function ButtonGroup({ className, orientation, ...props }) {
19
+ return (jsx("div", { role: "group", "data-slot": "button-group", "data-orientation": orientation, className: cn(buttonGroupVariants({ orientation }), className), ...props }));
20
+ }
21
+ function ButtonGroupText({ className, asChild = false, ...props }) {
22
+ const Comp = asChild ? Slot : "div";
23
+ return (jsx(Comp, { className: cn("tw:bg-muted tw:flex tw:items-center tw:gap-2 tw:rounded-md tw:border tw:px-4 tw:text-sm tw:font-medium tw:shadow-xs [&_svg]:tw:pointer-events-none [&_svg:not([class*='size-'])]:tw:size-4", className), ...props }));
24
+ }
25
+ function ButtonGroupSeparator({ className, orientation = "vertical", ...props }) {
26
+ return (jsx(Separator, { "data-slot": "button-group-separator", orientation: orientation, className: cn("tw:bg-input tw:relative !tw:m-0 tw:self-stretch data-[orientation=vertical]:tw:h-auto", className), ...props }));
27
+ }
28
+
29
+ export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import useEmblaCarousel, { type UseEmblaCarouselType } from "embla-carousel-react";
3
+ import { Button } from "../components/button";
4
+ type CarouselApi = UseEmblaCarouselType[1];
5
+ type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
6
+ type CarouselOptions = UseCarouselParameters[0];
7
+ type CarouselPlugin = UseCarouselParameters[1];
8
+ type CarouselProps = {
9
+ opts?: CarouselOptions;
10
+ plugins?: CarouselPlugin;
11
+ orientation?: "horizontal" | "vertical";
12
+ setApi?: (api: CarouselApi) => void;
13
+ };
14
+ declare function Carousel({ orientation, opts, setApi, plugins, className, children, ...props }: React.ComponentProps<"div"> & CarouselProps): import("react/jsx-runtime").JSX.Element;
15
+ declare function CarouselContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
16
+ declare function CarouselItem({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
17
+ declare function CarouselPrevious({ className, variant, size, ...props }: React.ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
18
+ declare function CarouselNext({ className, variant, size, ...props }: React.ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
19
+ export { type CarouselApi, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, };
20
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../src/components/carousel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,gBAAgB,EAAE,EACvB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,KAAK,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;AAC1C,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAChE,KAAK,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;AAC/C,KAAK,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;AAE9C,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAA;CACpC,CAAA;AAuBD,iBAAS,QAAQ,CAAC,EAChB,WAA0B,EAC1B,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,aAAa,2CAgF7C;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAmB5E;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAgBzE;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,OAAmB,EACnB,IAAa,EACb,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,2CAuBrC;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,OAAmB,EACnB,IAAa,EACb,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,2CAuBrC;AAED,OAAO,EACL,KAAK,WAAW,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,CAAA"}
@@ -0,0 +1,92 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime.js';
2
+ import * as React from 'react';
3
+ import useEmblaCarousel from 'embla-carousel-react';
4
+ import { ArrowLeft, ArrowRight } from 'lucide-react';
5
+ import { cn } from '../lib/utils.js';
6
+ import { Button } from './button.js';
7
+
8
+ const CarouselContext = React.createContext(null);
9
+ function useCarousel() {
10
+ const context = React.useContext(CarouselContext);
11
+ if (!context) {
12
+ throw new Error("useCarousel must be used within a <Carousel />");
13
+ }
14
+ return context;
15
+ }
16
+ function Carousel({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }) {
17
+ const [carouselRef, api] = useEmblaCarousel({
18
+ ...opts,
19
+ axis: orientation === "horizontal" ? "x" : "y",
20
+ }, plugins);
21
+ const [canScrollPrev, setCanScrollPrev] = React.useState(false);
22
+ const [canScrollNext, setCanScrollNext] = React.useState(false);
23
+ const onSelect = React.useCallback((api) => {
24
+ if (!api)
25
+ return;
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
+ setApi(api);
49
+ }, [api, setApi]);
50
+ React.useEffect(() => {
51
+ if (!api)
52
+ return;
53
+ onSelect(api);
54
+ api.on("reInit", onSelect);
55
+ api.on("select", onSelect);
56
+ return () => {
57
+ api?.off("select", onSelect);
58
+ };
59
+ }, [api, onSelect]);
60
+ return (jsx(CarouselContext.Provider, { value: {
61
+ carouselRef,
62
+ api: api,
63
+ opts,
64
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
65
+ scrollPrev,
66
+ scrollNext,
67
+ canScrollPrev,
68
+ canScrollNext,
69
+ }, children: jsx("div", { onKeyDownCapture: handleKeyDown, className: cn("tw:relative", className), role: "region", "aria-roledescription": "carousel", "data-slot": "carousel", ...props, children: children }) }));
70
+ }
71
+ function CarouselContent({ className, ...props }) {
72
+ const { carouselRef, orientation } = useCarousel();
73
+ return (jsx("div", { ref: carouselRef, className: "tw:overflow-hidden", "data-slot": "carousel-content", children: jsx("div", { className: cn("tw:flex", orientation === "horizontal" ? "tw:-ml-4" : "tw:-mt-4 tw:flex-col", className), ...props }) }));
74
+ }
75
+ function CarouselItem({ className, ...props }) {
76
+ const { orientation } = useCarousel();
77
+ return (jsx("div", { role: "group", "aria-roledescription": "slide", "data-slot": "carousel-item", className: cn("tw:min-w-0 tw:shrink-0 tw:grow-0 tw:basis-full", orientation === "horizontal" ? "tw:pl-4" : "tw:pt-4", className), ...props }));
78
+ }
79
+ function CarouselPrevious({ className, variant = "outline", size = "icon", ...props }) {
80
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
81
+ return (jsxs(Button, { "data-slot": "carousel-previous", variant: variant, size: size, className: cn("tw:absolute tw:size-8 tw:rounded-full", orientation === "horizontal"
82
+ ? "tw:top-1/2 tw:-left-12 tw:-translate-y-1/2"
83
+ : "tw:-top-12 tw:left-1/2 tw:-translate-x-1/2 tw:rotate-90", className), disabled: !canScrollPrev, onClick: scrollPrev, ...props, children: [jsx(ArrowLeft, {}), jsx("span", { className: "tw:sr-only", children: "Previous slide" })] }));
84
+ }
85
+ function CarouselNext({ className, variant = "outline", size = "icon", ...props }) {
86
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
87
+ return (jsxs(Button, { "data-slot": "carousel-next", variant: variant, size: size, className: cn("tw:absolute tw:size-8 tw:rounded-full", orientation === "horizontal"
88
+ ? "tw:top-1/2 tw:-right-12 tw:-translate-y-1/2"
89
+ : "tw:-bottom-12 tw:left-1/2 tw:-translate-x-1/2 tw:rotate-90", className), disabled: !canScrollNext, onClick: scrollNext, ...props, children: [jsx(ArrowRight, {}), jsx("span", { className: "tw:sr-only", children: "Next slide" })] }));
90
+ }
91
+
92
+ export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious };
@@ -0,0 +1,41 @@
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 function ChartContainer({ id, className, children, config, ...props }: React.ComponentProps<"div"> & {
20
+ config: ChartConfig;
21
+ children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
22
+ }): import("react/jsx-runtime").JSX.Element;
23
+ declare const ChartStyle: ({ id, config }: {
24
+ id: string;
25
+ config: ChartConfig;
26
+ }) => import("react/jsx-runtime").JSX.Element | null;
27
+ declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
28
+ declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: React.ComponentProps<typeof RechartsPrimitive.Tooltip> & React.ComponentProps<"div"> & {
29
+ hideLabel?: boolean;
30
+ hideIndicator?: boolean;
31
+ indicator?: "line" | "dot" | "dashed";
32
+ nameKey?: string;
33
+ labelKey?: string;
34
+ }): import("react/jsx-runtime").JSX.Element | null;
35
+ declare const ChartLegend: typeof RechartsPrimitive.Legend;
36
+ declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<"div"> & Pick<RechartsPrimitive.LegendProps, "payload" | "verticalAlign"> & {
37
+ hideIcon?: boolean;
38
+ nameKey?: string;
39
+ }): import("react/jsx-runtime").JSX.Element | null;
40
+ export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle, };
41
+ //# sourceMappingURL=chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/components/chart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAA;AAK7C,QAAA,MAAM,MAAM;;;CAAwC,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG;KACvB,CAAC,IAAI,MAAM,GAAG;QACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACvB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;KAC3B,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,CAAA;AAkBD,iBAAS,cAAc,CAAC,EACtB,EAAE,EACF,SAAS,EACT,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAC5B,OAAO,iBAAiB,CAAC,mBAAmB,CAC7C,CAAC,UAAU,CAAC,CAAA;CACd,2CAsBA;AAED,QAAA,MAAM,UAAU,GAAI,gBAAgB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,mDA+BtE,CAAA;AAED,QAAA,MAAM,YAAY,kCAA4B,CAAA;AAE9C,iBAAS,mBAAmB,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAiB,EACjB,SAAiB,EACjB,aAAqB,EACrB,KAAK,EACL,cAAc,EACd,cAAc,EACd,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,OAAO,CAAC,GACvD,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,kDA2HF;AAED,QAAA,MAAM,WAAW,iCAA2B,CAAA;AAE5C,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,QAAgB,EAChB,OAAO,EACP,aAAwB,EACxB,OAAO,GACR,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAC5B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,GAAG,eAAe,CAAC,GAAG;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,kDA4CF;AAyCD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,UAAU,GACX,CAAA"}
@@ -0,0 +1,133 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime.js';
2
+ import * as React from 'react';
3
+ import * as RechartsPrimitive from 'recharts';
4
+ import { cn } from '../lib/utils.js';
5
+
6
+ // Format: { THEME_NAME: CSS_SELECTOR }
7
+ const THEMES = { light: "", dark: ".dark" };
8
+ const ChartContext = React.createContext(null);
9
+ function useChart() {
10
+ const context = React.useContext(ChartContext);
11
+ if (!context) {
12
+ throw new Error("useChart must be used within a <ChartContainer />");
13
+ }
14
+ return context;
15
+ }
16
+ function ChartContainer({ id, className, children, config, ...props }) {
17
+ const uniqueId = React.useId();
18
+ const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
19
+ return (jsx(ChartContext.Provider, { value: { config }, children: jsxs("div", { "data-slot": "chart", "data-chart": chartId, className: cn("[&_.recharts-cartesian-axis-tick_text]:tw:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:tw:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:tw:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:tw:stroke-border [&_.recharts-radial-bar-background-sector]:tw:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:tw:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:tw:stroke-border tw:flex tw:aspect-video tw:justify-center tw:text-xs [&_.recharts-dot[stroke='#fff']]:tw:stroke-transparent [&_.recharts-layer]:tw:outline-hidden [&_.recharts-sector]:tw:outline-hidden [&_.recharts-sector[stroke='#fff']]:tw:stroke-transparent [&_.recharts-surface]:tw:outline-hidden", className), ...props, children: [jsx(ChartStyle, { id: chartId, config: config }), jsx(RechartsPrimitive.ResponsiveContainer, { children: children })] }) }));
20
+ }
21
+ const ChartStyle = ({ id, config }) => {
22
+ const colorConfig = Object.entries(config).filter(([, config]) => config.theme || config.color);
23
+ if (!colorConfig.length) {
24
+ return null;
25
+ }
26
+ return (jsx("style", { dangerouslySetInnerHTML: {
27
+ __html: Object.entries(THEMES)
28
+ .map(([theme, prefix]) => `
29
+ ${prefix} [data-chart=${id}] {
30
+ ${colorConfig
31
+ .map(([key, itemConfig]) => {
32
+ const color = itemConfig.theme?.[theme] ||
33
+ itemConfig.color;
34
+ return color ? ` --color-${key}: ${color};` : null;
35
+ })
36
+ .join("\n")}
37
+ }
38
+ `)
39
+ .join("\n"),
40
+ } }));
41
+ };
42
+ const ChartTooltip = RechartsPrimitive.Tooltip;
43
+ function ChartTooltipContent({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }) {
44
+ const { config } = useChart();
45
+ const tooltipLabel = React.useMemo(() => {
46
+ if (hideLabel || !payload?.length) {
47
+ return null;
48
+ }
49
+ const [item] = payload;
50
+ const key = `${labelKey || item?.dataKey || item?.name || "value"}`;
51
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
52
+ const value = !labelKey && typeof label === "string"
53
+ ? config[label]?.label || label
54
+ : itemConfig?.label;
55
+ if (labelFormatter) {
56
+ return (jsx("div", { className: cn("tw:font-medium", labelClassName), children: labelFormatter(value, payload) }));
57
+ }
58
+ if (!value) {
59
+ return null;
60
+ }
61
+ return jsx("div", { className: cn("tw:font-medium", labelClassName), children: value });
62
+ }, [
63
+ label,
64
+ labelFormatter,
65
+ payload,
66
+ hideLabel,
67
+ labelClassName,
68
+ config,
69
+ labelKey,
70
+ ]);
71
+ if (!active || !payload?.length) {
72
+ return null;
73
+ }
74
+ const nestLabel = payload.length === 1 && indicator !== "dot";
75
+ return (jsxs("div", { className: cn("tw:border-border/50 tw:bg-background tw:grid tw:min-w-[8rem] tw:items-start tw:gap-1.5 tw:rounded-lg tw:border tw:px-2.5 tw:py-1.5 tw:text-xs tw:shadow-xl", className), children: [!nestLabel ? tooltipLabel : null, jsx("div", { className: "tw:grid tw:gap-1.5", children: payload
76
+ .filter((item) => item.type !== "none")
77
+ .map((item, index) => {
78
+ const key = `${nameKey || item.name || item.dataKey || "value"}`;
79
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
80
+ const indicatorColor = color || item.payload.fill || item.color;
81
+ return (jsx("div", { className: cn("[&>svg]:tw:text-muted-foreground tw:flex tw:w-full tw:flex-wrap tw:items-stretch tw:gap-2 [&>svg]:tw:h-2.5 [&>svg]:tw:w-2.5", indicator === "dot" && "tw:items-center"), children: formatter && item?.value !== undefined && item.name ? (formatter(item.value, item.name, item, index, item.payload)) : (jsxs(Fragment, { children: [itemConfig?.icon ? (jsx(itemConfig.icon, {})) : (!hideIndicator && (jsx("div", { className: cn("tw:shrink-0 tw:rounded-[2px] tw:border-(--color-border) tw:bg-(--color-bg)", {
82
+ "tw:h-2.5 tw:w-2.5": indicator === "dot",
83
+ "tw:w-1": indicator === "line",
84
+ "tw:w-0 tw:border-[1.5px] tw:border-dashed tw:bg-transparent": indicator === "dashed",
85
+ "tw:my-0.5": nestLabel && indicator === "dashed",
86
+ }), style: {
87
+ "--color-bg": indicatorColor,
88
+ "--color-border": indicatorColor,
89
+ } }))), jsxs("div", { className: cn("tw:flex tw:flex-1 tw:justify-between tw:leading-none", nestLabel ? "tw:items-end" : "tw:items-center"), children: [jsxs("div", { className: "tw:grid tw:gap-1.5", children: [nestLabel ? tooltipLabel : null, jsx("span", { className: "tw:text-muted-foreground", children: itemConfig?.label || item.name })] }), item.value && (jsx("span", { className: "tw:text-foreground tw:font-mono tw:font-medium tw:tabular-nums", children: item.value.toLocaleString() }))] })] })) }, item.dataKey));
90
+ }) })] }));
91
+ }
92
+ const ChartLegend = RechartsPrimitive.Legend;
93
+ function ChartLegendContent({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey, }) {
94
+ const { config } = useChart();
95
+ if (!payload?.length) {
96
+ return null;
97
+ }
98
+ return (jsx("div", { className: cn("tw:flex tw:items-center tw:justify-center tw:gap-4", verticalAlign === "top" ? "tw:pb-3" : "tw:pt-3", className), children: payload
99
+ .filter((item) => item.type !== "none")
100
+ .map((item) => {
101
+ const key = `${nameKey || item.dataKey || "value"}`;
102
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
103
+ return (jsxs("div", { className: cn("[&>svg]:tw:text-muted-foreground tw:flex tw:items-center tw:gap-1.5 [&>svg]:tw:h-3 [&>svg]:tw:w-3"), children: [itemConfig?.icon && !hideIcon ? (jsx(itemConfig.icon, {})) : (jsx("div", { className: "tw:h-2 tw:w-2 tw:shrink-0 tw:rounded-[2px]", style: {
104
+ backgroundColor: item.color,
105
+ } })), itemConfig?.label] }, item.value));
106
+ }) }));
107
+ }
108
+ // Helper to extract item config from a payload.
109
+ function getPayloadConfigFromPayload(config, payload, key) {
110
+ if (typeof payload !== "object" || payload === null) {
111
+ return undefined;
112
+ }
113
+ const payloadPayload = "payload" in payload &&
114
+ typeof payload.payload === "object" &&
115
+ payload.payload !== null
116
+ ? payload.payload
117
+ : undefined;
118
+ let configLabelKey = key;
119
+ if (key in payload &&
120
+ typeof payload[key] === "string") {
121
+ configLabelKey = payload[key];
122
+ }
123
+ else if (payloadPayload &&
124
+ key in payloadPayload &&
125
+ typeof payloadPayload[key] === "string") {
126
+ configLabelKey = payloadPayload[key];
127
+ }
128
+ return configLabelKey in config
129
+ ? config[configLabelKey]
130
+ : config[key];
131
+ }
132
+
133
+ export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };
@@ -0,0 +1,6 @@
1
+ import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
2
+ declare function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): import("react/jsx-runtime").JSX.Element;
3
+ declare function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): import("react/jsx-runtime").JSX.Element;
4
+ declare function CollapsibleContent({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): import("react/jsx-runtime").JSX.Element;
5
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent };
6
+ //# sourceMappingURL=collapsible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../src/components/collapsible.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAA;AAEnE,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,2CAExD;AAED,iBAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAOtE;AAED,iBAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAOtE;AAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { jsx } from 'react/jsx-runtime.js';
2
+ import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
3
+
4
+ function Collapsible({ ...props }) {
5
+ return jsx(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
6
+ }
7
+ function CollapsibleTrigger({ ...props }) {
8
+ return (jsx(CollapsiblePrimitive.CollapsibleTrigger, { "data-slot": "collapsible-trigger", ...props }));
9
+ }
10
+ function CollapsibleContent({ ...props }) {
11
+ return (jsx(CollapsiblePrimitive.CollapsibleContent, { "data-slot": "collapsible-content", ...props }));
12
+ }
13
+
14
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger };
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ import { Command as CommandPrimitive } from "cmdk";
3
+ import { Dialog } from "../components/dialog";
4
+ declare function Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>): import("react/jsx-runtime").JSX.Element;
5
+ declare function CommandDialog({ title, description, children, className, showCloseButton, ...props }: React.ComponentProps<typeof Dialog> & {
6
+ title?: string;
7
+ description?: string;
8
+ className?: string;
9
+ showCloseButton?: boolean;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ declare function CommandInput({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Input>): import("react/jsx-runtime").JSX.Element;
12
+ declare function CommandList({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.List>): import("react/jsx-runtime").JSX.Element;
13
+ declare function CommandEmpty({ ...props }: React.ComponentProps<typeof CommandPrimitive.Empty>): import("react/jsx-runtime").JSX.Element;
14
+ declare function CommandGroup({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
15
+ declare function CommandSeparator({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
16
+ declare function CommandItem({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
17
+ declare function CommandShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
18
+ export { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };
19
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/components/command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAA;AAIlD,OAAO,EACL,MAAM,EAKP,MAAM,sBAAsB,CAAA;AAE7B,iBAAS,OAAO,CAAC,EACf,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,2CAW/C;AAED,iBAAS,aAAa,CAAC,EACrB,KAAyB,EACzB,WAA8C,EAC9C,QAAQ,EACR,SAAS,EACT,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,2CAiBA;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAiBrD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAWpD;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAQrD;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAWrD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,2CAQzD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAWpD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW9B;AAED,OAAO,EACL,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,CAAA"}