@esmate/shadcn 3.3.3 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/components/ui/badge.js +1 -1
  2. package/dist/components/ui/button-group.d.ts +11 -0
  3. package/dist/components/ui/button-group.js +42 -0
  4. package/dist/components/ui/button.d.ts +1 -1
  5. package/dist/components/ui/button.js +3 -1
  6. package/dist/components/ui/calendar.js +1 -1
  7. package/dist/components/ui/card.js +1 -1
  8. package/dist/components/ui/checkbox.js +1 -1
  9. package/dist/components/ui/context-menu.js +1 -1
  10. package/dist/components/ui/dropdown-menu.js +1 -1
  11. package/dist/components/ui/empty.d.ts +11 -0
  12. package/dist/components/ui/empty.js +60 -0
  13. package/dist/components/ui/field.d.ts +24 -0
  14. package/dist/components/ui/field.js +134 -0
  15. package/dist/components/ui/input-group.d.ts +16 -0
  16. package/dist/components/ui/input-group.js +89 -0
  17. package/dist/components/ui/item.d.ts +23 -0
  18. package/dist/components/ui/item.js +118 -0
  19. package/dist/components/ui/kbd.d.ts +3 -0
  20. package/dist/components/ui/kbd.js +16 -0
  21. package/dist/components/ui/select.d.ts +1 -1
  22. package/dist/components/ui/select.js +2 -1
  23. package/dist/components/ui/sidebar.d.ts +1 -1
  24. package/dist/components/ui/slider.js +1 -1
  25. package/dist/components/ui/sonner.d.ts +1 -1
  26. package/dist/components/ui/sonner.js +20 -1
  27. package/dist/components/ui/spinner.d.ts +2 -0
  28. package/dist/components/ui/spinner.js +11 -0
  29. package/dist/components/ui/toggle-group.d.ts +3 -1
  30. package/dist/components/ui/toggle-group.js +12 -5
  31. package/dist/hooks/use-zod-form.d.ts +5 -7
  32. package/package.json +15 -15
  33. package/dist/ui/accordion.d.ts +0 -7
  34. package/dist/ui/accordion.js +0 -39
  35. package/dist/ui/alert-dialog.d.ts +0 -14
  36. package/dist/ui/alert-dialog.js +0 -80
  37. package/dist/ui/alert.d.ts +0 -9
  38. package/dist/ui/alert.js +0 -39
  39. package/dist/ui/aspect-ratio.d.ts +0 -3
  40. package/dist/ui/aspect-ratio.js +0 -9
  41. package/dist/ui/avatar.d.ts +0 -6
  42. package/dist/ui/avatar.js +0 -26
  43. package/dist/ui/badge.d.ts +0 -9
  44. package/dist/ui/badge.js +0 -28
  45. package/dist/ui/breadcrumb.d.ts +0 -11
  46. package/dist/ui/breadcrumb.js +0 -66
  47. package/dist/ui/button.d.ts +0 -10
  48. package/dist/ui/button.js +0 -39
  49. package/dist/ui/calendar.d.ts +0 -8
  50. package/dist/ui/calendar.js +0 -103
  51. package/dist/ui/card.d.ts +0 -9
  52. package/dist/ui/card.js +0 -52
  53. package/dist/ui/carousel.d.ts +0 -19
  54. package/dist/ui/carousel.js +0 -135
  55. package/dist/ui/chart.d.ts +0 -40
  56. package/dist/ui/chart.js +0 -138
  57. package/dist/ui/checkbox.d.ts +0 -4
  58. package/dist/ui/checkbox.js +0 -18
  59. package/dist/ui/collapsible.d.ts +0 -5
  60. package/dist/ui/collapsible.js +0 -21
  61. package/dist/ui/command.d.ts +0 -18
  62. package/dist/ui/command.js +0 -78
  63. package/dist/ui/context-menu.d.ts +0 -25
  64. package/dist/ui/context-menu.js +0 -120
  65. package/dist/ui/dialog.d.ts +0 -15
  66. package/dist/ui/dialog.js +0 -79
  67. package/dist/ui/drawer.d.ts +0 -13
  68. package/dist/ui/drawer.js +0 -75
  69. package/dist/ui/dropdown-menu.d.ts +0 -25
  70. package/dist/ui/dropdown-menu.js +0 -121
  71. package/dist/ui/form.d.ts +0 -24
  72. package/dist/ui/form.js +0 -86
  73. package/dist/ui/hover-card.d.ts +0 -6
  74. package/dist/ui/hover-card.js +0 -28
  75. package/dist/ui/input-otp.d.ts +0 -11
  76. package/dist/ui/input-otp.js +0 -42
  77. package/dist/ui/input.d.ts +0 -3
  78. package/dist/ui/input.js +0 -11
  79. package/dist/ui/label.d.ts +0 -4
  80. package/dist/ui/label.js +0 -12
  81. package/dist/ui/menubar.d.ts +0 -26
  82. package/dist/ui/menubar.js +0 -131
  83. package/dist/ui/navigation-menu.d.ts +0 -14
  84. package/dist/ui/navigation-menu.js +0 -71
  85. package/dist/ui/pagination.d.ts +0 -13
  86. package/dist/ui/pagination.js +0 -71
  87. package/dist/ui/popover.d.ts +0 -7
  88. package/dist/ui/popover.js +0 -32
  89. package/dist/ui/progress.d.ts +0 -4
  90. package/dist/ui/progress.js +0 -18
  91. package/dist/ui/radio-group.d.ts +0 -5
  92. package/dist/ui/radio-group.js +0 -25
  93. package/dist/ui/resizable.d.ts +0 -8
  94. package/dist/ui/resizable.js +0 -30
  95. package/dist/ui/scroll-area.d.ts +0 -5
  96. package/dist/ui/scroll-area.js +0 -26
  97. package/dist/ui/select.d.ts +0 -15
  98. package/dist/ui/select.js +0 -89
  99. package/dist/ui/separator.d.ts +0 -4
  100. package/dist/ui/separator.js +0 -14
  101. package/dist/ui/sheet.d.ts +0 -13
  102. package/dist/ui/sheet.js +0 -78
  103. package/dist/ui/sidebar.d.ts +0 -69
  104. package/dist/ui/sidebar.js +0 -368
  105. package/dist/ui/skeleton.d.ts +0 -2
  106. package/dist/ui/skeleton.js +0 -9
  107. package/dist/ui/slider.d.ts +0 -4
  108. package/dist/ui/slider.js +0 -37
  109. package/dist/ui/sonner.d.ts +0 -3
  110. package/dist/ui/sonner.js +0 -17
  111. package/dist/ui/switch.d.ts +0 -4
  112. package/dist/ui/switch.js +0 -15
  113. package/dist/ui/table.d.ts +0 -10
  114. package/dist/ui/table.js +0 -63
  115. package/dist/ui/tabs.d.ts +0 -7
  116. package/dist/ui/tabs.js +0 -33
  117. package/dist/ui/textarea.d.ts +0 -3
  118. package/dist/ui/textarea.js +0 -10
  119. package/dist/ui/toggle-group.d.ts +0 -7
  120. package/dist/ui/toggle-group.js +0 -37
  121. package/dist/ui/toggle.d.ts +0 -9
  122. package/dist/ui/toggle.js +0 -34
  123. package/dist/ui/tooltip.d.ts +0 -7
  124. package/dist/ui/tooltip.js +0 -34
@@ -1,66 +0,0 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
2
- import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__ from "@radix-ui/react-slot";
3
- import * as __WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__ from "lucide-react";
4
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
5
- function Breadcrumb({ ...props }) {
6
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("nav", {
7
- "aria-label": "breadcrumb",
8
- "data-slot": "breadcrumb",
9
- ...props
10
- });
11
- }
12
- function BreadcrumbList({ className, ...props }) {
13
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("ol", {
14
- "data-slot": "breadcrumb-list",
15
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5", className),
16
- ...props
17
- });
18
- }
19
- function BreadcrumbItem({ className, ...props }) {
20
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("li", {
21
- "data-slot": "breadcrumb-item",
22
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("inline-flex items-center gap-1.5", className),
23
- ...props
24
- });
25
- }
26
- function BreadcrumbLink({ asChild, className, ...props }) {
27
- const Comp = asChild ? __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__.Slot : "a";
28
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(Comp, {
29
- "data-slot": "breadcrumb-link",
30
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("hover:text-foreground transition-colors", className),
31
- ...props
32
- });
33
- }
34
- function BreadcrumbPage({ className, ...props }) {
35
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
36
- "data-slot": "breadcrumb-page",
37
- role: "link",
38
- "aria-disabled": "true",
39
- "aria-current": "page",
40
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-foreground font-normal", className),
41
- ...props
42
- });
43
- }
44
- function BreadcrumbSeparator({ children, className, ...props }) {
45
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("li", {
46
- "data-slot": "breadcrumb-separator",
47
- role: "presentation",
48
- "aria-hidden": "true",
49
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("[&>svg]:size-3.5", className),
50
- ...props
51
- }, children ?? /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronRight, null));
52
- }
53
- function BreadcrumbEllipsis({ className, ...props }) {
54
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
55
- "data-slot": "breadcrumb-ellipsis",
56
- role: "presentation",
57
- "aria-hidden": "true",
58
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex size-9 items-center justify-center", className),
59
- ...props
60
- }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.MoreHorizontal, {
61
- className: "size-4"
62
- }), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
63
- className: "sr-only"
64
- }, "More"));
65
- }
66
- export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
@@ -1,10 +0,0 @@
1
- import * as React from "react";
2
- import { type VariantProps } from "class-variance-authority";
3
- declare const buttonVariants: (props?: ({
4
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
5
- size?: "default" | "sm" | "lg" | "icon" | null | undefined;
6
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
- declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
8
- asChild?: boolean;
9
- }): import("react/jsx-runtime").JSX.Element;
10
- export { Button, buttonVariants };
package/dist/ui/button.js DELETED
@@ -1,39 +0,0 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
2
- import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__ from "@radix-ui/react-slot";
3
- import * as __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__ from "class-variance-authority";
4
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
5
- const buttonVariants = (0, __WEBPACK_EXTERNAL_MODULE_class_variance_authority_159ad65c__.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
6
- variants: {
7
- variant: {
8
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
9
- destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
10
- outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
11
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
12
- ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
13
- link: "text-primary underline-offset-4 hover:underline"
14
- },
15
- size: {
16
- default: "h-9 px-4 py-2 has-[>svg]:px-3",
17
- sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
18
- lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
19
- icon: "size-9"
20
- }
21
- },
22
- defaultVariants: {
23
- variant: "default",
24
- size: "default"
25
- }
26
- });
27
- function Button({ className, variant, size, asChild = false, ...props }) {
28
- const Comp = asChild ? __WEBPACK_EXTERNAL_MODULE__radix_ui_react_slot_85c2da36__.Slot : "button";
29
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(Comp, {
30
- "data-slot": "button",
31
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)(buttonVariants({
32
- variant,
33
- size,
34
- className
35
- })),
36
- ...props
37
- });
38
- }
39
- export { Button, buttonVariants };
@@ -1,8 +0,0 @@
1
- import * as React from "react";
2
- import { DayButton, DayPicker } from "react-day-picker";
3
- import { Button } from "./button";
4
- declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React.ComponentProps<typeof DayPicker> & {
5
- buttonVariant?: React.ComponentProps<typeof Button>["variant"];
6
- }): import("react/jsx-runtime").JSX.Element;
7
- declare function CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>): import("react/jsx-runtime").JSX.Element;
8
- export { Calendar, CalendarDayButton };
@@ -1,103 +0,0 @@
1
- "use client"
2
- import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
- import * as __WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__ from "lucide-react";
4
- import * as __WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__ from "react-day-picker";
5
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
6
- import * as __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__ from "./button.js";
7
- function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }) {
8
- const defaultClassNames = (0, __WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__.getDefaultClassNames)();
9
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__.DayPicker, {
10
- showOutsideDays: showOutsideDays,
11
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[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),
12
- captionLayout: captionLayout,
13
- formatters: {
14
- formatMonthDropdown: (date)=>date.toLocaleString("default", {
15
- month: "short"
16
- }),
17
- ...formatters
18
- },
19
- classNames: {
20
- root: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("w-fit", defaultClassNames.root),
21
- months: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex gap-4 flex-col md:flex-row relative", defaultClassNames.months),
22
- month: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex flex-col w-full gap-4", defaultClassNames.month),
23
- nav: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between", defaultClassNames.nav),
24
- button_previous: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)((0, __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.buttonVariants)({
25
- variant: buttonVariant
26
- }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", defaultClassNames.button_previous),
27
- button_next: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)((0, __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.buttonVariants)({
28
- variant: buttonVariant
29
- }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", defaultClassNames.button_next),
30
- month_caption: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)", defaultClassNames.month_caption),
31
- dropdowns: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5", defaultClassNames.dropdowns),
32
- dropdown_root: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md", defaultClassNames.dropdown_root),
33
- dropdown: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("absolute bg-popover inset-0 opacity-0", defaultClassNames.dropdown),
34
- caption_label: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("select-none font-medium", "label" === captionLayout ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5", defaultClassNames.caption_label),
35
- table: "w-full border-collapse",
36
- weekdays: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex", defaultClassNames.weekdays),
37
- weekday: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none", defaultClassNames.weekday),
38
- week: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex w-full mt-2", defaultClassNames.week),
39
- week_number_header: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("select-none w-(--cell-size)", defaultClassNames.week_number_header),
40
- week_number: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-[0.8rem] select-none text-muted-foreground", defaultClassNames.week_number),
41
- day: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none", defaultClassNames.day),
42
- range_start: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("rounded-l-md bg-accent", defaultClassNames.range_start),
43
- range_middle: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("rounded-none", defaultClassNames.range_middle),
44
- range_end: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("rounded-r-md bg-accent", defaultClassNames.range_end),
45
- today: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none", defaultClassNames.today),
46
- outside: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-muted-foreground aria-selected:text-muted-foreground", defaultClassNames.outside),
47
- disabled: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-muted-foreground opacity-50", defaultClassNames.disabled),
48
- hidden: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("invisible", defaultClassNames.hidden),
49
- ...classNames
50
- },
51
- components: {
52
- Root: ({ className, rootRef, ...props })=>/*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
53
- "data-slot": "calendar",
54
- ref: rootRef,
55
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)(className),
56
- ...props
57
- }),
58
- Chevron: ({ className, orientation, ...props })=>{
59
- if ("left" === orientation) return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronLeftIcon, {
60
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("size-4", className),
61
- ...props
62
- });
63
- if ("right" === orientation) return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronRightIcon, {
64
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("size-4", className),
65
- ...props
66
- });
67
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronDownIcon, {
68
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("size-4", className),
69
- ...props
70
- });
71
- },
72
- DayButton: CalendarDayButton,
73
- WeekNumber: ({ children, ...props })=>/*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("td", props, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
74
- className: "flex size-(--cell-size) items-center justify-center text-center"
75
- }, children)),
76
- ...components
77
- },
78
- ...props
79
- });
80
- }
81
- function CalendarDayButton({ className, day, modifiers, ...props }) {
82
- const defaultClassNames = (0, __WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__.getDefaultClassNames)();
83
- const ref = __WEBPACK_EXTERNAL_MODULE_react__.useRef(null);
84
- __WEBPACK_EXTERNAL_MODULE_react__.useEffect(()=>{
85
- var _ref_current;
86
- if (modifiers.focused) null == (_ref_current = ref.current) || _ref_current.focus();
87
- }, [
88
- modifiers.focused
89
- ]);
90
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.Button, {
91
- ref: ref,
92
- variant: "ghost",
93
- size: "icon",
94
- "data-day": day.date.toLocaleDateString(),
95
- "data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
96
- "data-range-start": modifiers.range_start,
97
- "data-range-end": modifiers.range_end,
98
- "data-range-middle": modifiers.range_middle,
99
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.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 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70", defaultClassNames.day, className),
100
- ...props
101
- });
102
- }
103
- export { Calendar, CalendarDayButton };
package/dist/ui/card.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import * as React from "react";
2
- declare function Card({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
3
- declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
4
- declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
- declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
6
- declare function CardAction({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
7
- declare function CardContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
- declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
9
- export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
package/dist/ui/card.js DELETED
@@ -1,52 +0,0 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
2
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
3
- function Card({ className, ...props }) {
4
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
5
- "data-slot": "card",
6
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", className),
7
- ...props
8
- });
9
- }
10
- function CardHeader({ className, ...props }) {
11
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
12
- "data-slot": "card-header",
13
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", className),
14
- ...props
15
- });
16
- }
17
- function CardTitle({ className, ...props }) {
18
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
19
- "data-slot": "card-title",
20
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("leading-none font-semibold", className),
21
- ...props
22
- });
23
- }
24
- function CardDescription({ className, ...props }) {
25
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
26
- "data-slot": "card-description",
27
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("text-muted-foreground text-sm", className),
28
- ...props
29
- });
30
- }
31
- function CardAction({ className, ...props }) {
32
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
33
- "data-slot": "card-action",
34
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className),
35
- ...props
36
- });
37
- }
38
- function CardContent({ className, ...props }) {
39
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
40
- "data-slot": "card-content",
41
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("px-6", className),
42
- ...props
43
- });
44
- }
45
- function CardFooter({ className, ...props }) {
46
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
47
- "data-slot": "card-footer",
48
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex items-center px-6 [.border-t]:pt-6", className),
49
- ...props
50
- });
51
- }
52
- export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
@@ -1,19 +0,0 @@
1
- import * as React from "react";
2
- import useEmblaCarousel, { type UseEmblaCarouselType } from "embla-carousel-react";
3
- import { Button } from "./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, };
@@ -1,135 +0,0 @@
1
- "use client"
2
- import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
- import * as __WEBPACK_EXTERNAL_MODULE_embla_carousel_react_7f67003b__ from "embla-carousel-react";
4
- import * as __WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__ from "lucide-react";
5
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
6
- import * as __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__ from "./button.js";
7
- const CarouselContext = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createContext(null);
8
- function useCarousel() {
9
- const context = __WEBPACK_EXTERNAL_MODULE_react__.useContext(CarouselContext);
10
- if (!context) throw new Error("useCarousel must be used within a <Carousel />");
11
- return context;
12
- }
13
- function Carousel({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }) {
14
- const [carouselRef, api] = (0, __WEBPACK_EXTERNAL_MODULE_embla_carousel_react_7f67003b__["default"])({
15
- ...opts,
16
- axis: "horizontal" === orientation ? "x" : "y"
17
- }, plugins);
18
- const [canScrollPrev, setCanScrollPrev] = __WEBPACK_EXTERNAL_MODULE_react__.useState(false);
19
- const [canScrollNext, setCanScrollNext] = __WEBPACK_EXTERNAL_MODULE_react__.useState(false);
20
- const onSelect = __WEBPACK_EXTERNAL_MODULE_react__.useCallback((api)=>{
21
- if (!api) return;
22
- setCanScrollPrev(api.canScrollPrev());
23
- setCanScrollNext(api.canScrollNext());
24
- }, []);
25
- const scrollPrev = __WEBPACK_EXTERNAL_MODULE_react__.useCallback(()=>{
26
- null == api || api.scrollPrev();
27
- }, [
28
- api
29
- ]);
30
- const scrollNext = __WEBPACK_EXTERNAL_MODULE_react__.useCallback(()=>{
31
- null == api || api.scrollNext();
32
- }, [
33
- api
34
- ]);
35
- const handleKeyDown = __WEBPACK_EXTERNAL_MODULE_react__.useCallback((event)=>{
36
- if ("ArrowLeft" === event.key) {
37
- event.preventDefault();
38
- scrollPrev();
39
- } else if ("ArrowRight" === event.key) {
40
- event.preventDefault();
41
- scrollNext();
42
- }
43
- }, [
44
- scrollPrev,
45
- scrollNext
46
- ]);
47
- __WEBPACK_EXTERNAL_MODULE_react__.useEffect(()=>{
48
- if (!api || !setApi) return;
49
- setApi(api);
50
- }, [
51
- api,
52
- setApi
53
- ]);
54
- __WEBPACK_EXTERNAL_MODULE_react__.useEffect(()=>{
55
- if (!api) return;
56
- onSelect(api);
57
- api.on("reInit", onSelect);
58
- api.on("select", onSelect);
59
- return ()=>{
60
- null == api || api.off("select", onSelect);
61
- };
62
- }, [
63
- api,
64
- onSelect
65
- ]);
66
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(CarouselContext.Provider, {
67
- value: {
68
- carouselRef,
69
- api: api,
70
- opts,
71
- orientation: orientation || ((null == opts ? void 0 : opts.axis) === "y" ? "vertical" : "horizontal"),
72
- scrollPrev,
73
- scrollNext,
74
- canScrollPrev,
75
- canScrollNext
76
- }
77
- }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
78
- onKeyDownCapture: handleKeyDown,
79
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("relative", className),
80
- role: "region",
81
- "aria-roledescription": "carousel",
82
- "data-slot": "carousel",
83
- ...props
84
- }, children));
85
- }
86
- function CarouselContent({ className, ...props }) {
87
- const { carouselRef, orientation } = useCarousel();
88
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
89
- ref: carouselRef,
90
- className: "overflow-hidden",
91
- "data-slot": "carousel-content"
92
- }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
93
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex", "horizontal" === orientation ? "-ml-4" : "-mt-4 flex-col", className),
94
- ...props
95
- }));
96
- }
97
- function CarouselItem({ className, ...props }) {
98
- const { orientation } = useCarousel();
99
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
100
- role: "group",
101
- "aria-roledescription": "slide",
102
- "data-slot": "carousel-item",
103
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("min-w-0 shrink-0 grow-0 basis-full", "horizontal" === orientation ? "pl-4" : "pt-4", className),
104
- ...props
105
- });
106
- }
107
- function CarouselPrevious({ className, variant = "outline", size = "icon", ...props }) {
108
- const { orientation, scrollPrev, canScrollPrev } = useCarousel();
109
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.Button, {
110
- "data-slot": "carousel-previous",
111
- variant: variant,
112
- size: size,
113
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("absolute size-8 rounded-full", "horizontal" === orientation ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90", className),
114
- disabled: !canScrollPrev,
115
- onClick: scrollPrev,
116
- ...props
117
- }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ArrowLeft, null), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
118
- className: "sr-only"
119
- }, "Previous slide"));
120
- }
121
- function CarouselNext({ className, variant = "outline", size = "icon", ...props }) {
122
- const { orientation, scrollNext, canScrollNext } = useCarousel();
123
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.Button, {
124
- "data-slot": "carousel-next",
125
- variant: variant,
126
- size: size,
127
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("absolute size-8 rounded-full", "horizontal" === orientation ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90", className),
128
- disabled: !canScrollNext,
129
- onClick: scrollNext,
130
- ...props
131
- }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ArrowRight, null), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
132
- className: "sr-only"
133
- }, "Next slide"));
134
- }
135
- export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious };
@@ -1,40 +0,0 @@
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, };
package/dist/ui/chart.js DELETED
@@ -1,138 +0,0 @@
1
- "use client"
2
- import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
- import * as __WEBPACK_EXTERNAL_MODULE_recharts__ from "recharts";
4
- import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
5
- const THEMES = {
6
- light: "",
7
- dark: ".dark"
8
- };
9
- const ChartContext = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createContext(null);
10
- function useChart() {
11
- const context = __WEBPACK_EXTERNAL_MODULE_react__.useContext(ChartContext);
12
- if (!context) throw new Error("useChart must be used within a <ChartContainer />");
13
- return context;
14
- }
15
- function ChartContainer({ id, className, children, config, ...props }) {
16
- const uniqueId = __WEBPACK_EXTERNAL_MODULE_react__.useId();
17
- const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
18
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(ChartContext.Provider, {
19
- value: {
20
- config
21
- }
22
- }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
23
- "data-slot": "chart",
24
- "data-chart": chartId,
25
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden", className),
26
- ...props
27
- }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(ChartStyle, {
28
- id: chartId,
29
- config: config
30
- }), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_recharts__.ResponsiveContainer, null, children)));
31
- }
32
- const ChartStyle = ({ id, config })=>{
33
- const colorConfig = Object.entries(config).filter(([, config])=>config.theme || config.color);
34
- if (!colorConfig.length) return null;
35
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("style", {
36
- dangerouslySetInnerHTML: {
37
- __html: Object.entries(THEMES).map(([theme, prefix])=>`
38
- ${prefix} [data-chart=${id}] {
39
- ${colorConfig.map(([key, itemConfig])=>{
40
- var _itemConfig_theme;
41
- const color = (null == (_itemConfig_theme = itemConfig.theme) ? void 0 : _itemConfig_theme[theme]) || itemConfig.color;
42
- return color ? ` --color-${key}: ${color};` : null;
43
- }).join("\n")}
44
- }
45
- `).join("\n")
46
- }
47
- });
48
- };
49
- const ChartTooltip = __WEBPACK_EXTERNAL_MODULE_recharts__.Tooltip;
50
- function ChartTooltipContent({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey }) {
51
- const { config } = useChart();
52
- const tooltipLabel = __WEBPACK_EXTERNAL_MODULE_react__.useMemo(()=>{
53
- var _config_label;
54
- if (hideLabel || !(null == payload ? void 0 : payload.length)) return null;
55
- const [item] = payload;
56
- const key = `${labelKey || (null == item ? void 0 : item.dataKey) || (null == item ? void 0 : item.name) || "value"}`;
57
- const itemConfig = getPayloadConfigFromPayload(config, item, key);
58
- const value = labelKey || "string" != typeof label ? null == itemConfig ? void 0 : itemConfig.label : (null == (_config_label = config[label]) ? void 0 : _config_label.label) || label;
59
- if (labelFormatter) return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
60
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("font-medium", labelClassName)
61
- }, labelFormatter(value, payload));
62
- if (!value) return null;
63
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
64
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("font-medium", labelClassName)
65
- }, value);
66
- }, [
67
- label,
68
- labelFormatter,
69
- payload,
70
- hideLabel,
71
- labelClassName,
72
- config,
73
- labelKey
74
- ]);
75
- if (!active || !(null == payload ? void 0 : payload.length)) return null;
76
- const nestLabel = 1 === payload.length && "dot" !== indicator;
77
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
78
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl", className)
79
- }, nestLabel ? null : tooltipLabel, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
80
- className: "grid gap-1.5"
81
- }, payload.filter((item)=>"none" !== item.type).map((item, index)=>{
82
- const key = `${nameKey || item.name || item.dataKey || "value"}`;
83
- const itemConfig = getPayloadConfigFromPayload(config, item, key);
84
- const indicatorColor = color || item.payload.fill || item.color;
85
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
86
- key: item.dataKey,
87
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5", "dot" === indicator && "items-center")
88
- }, formatter && (null == item ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_react__.Fragment, null, (null == itemConfig ? void 0 : itemConfig.icon) ? /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(itemConfig.icon, null) : !hideIndicator && /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
89
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)", {
90
- "h-2.5 w-2.5": "dot" === indicator,
91
- "w-1": "line" === indicator,
92
- "w-0 border-[1.5px] border-dashed bg-transparent": "dashed" === indicator,
93
- "my-0.5": nestLabel && "dashed" === indicator
94
- }),
95
- style: {
96
- "--color-bg": indicatorColor,
97
- "--color-border": indicatorColor
98
- }
99
- }), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
100
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex flex-1 justify-between leading-none", nestLabel ? "items-end" : "items-center")
101
- }, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
102
- className: "grid gap-1.5"
103
- }, nestLabel ? tooltipLabel : null, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
104
- className: "text-muted-foreground"
105
- }, (null == itemConfig ? void 0 : itemConfig.label) || item.name)), item.value && /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
106
- className: "text-foreground font-mono font-medium tabular-nums"
107
- }, item.value.toLocaleString()))));
108
- })));
109
- }
110
- const ChartLegend = __WEBPACK_EXTERNAL_MODULE_recharts__.Legend;
111
- function ChartLegendContent({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }) {
112
- const { config } = useChart();
113
- if (!(null == payload ? void 0 : payload.length)) return null;
114
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
115
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex items-center justify-center gap-4", "top" === verticalAlign ? "pb-3" : "pt-3", className)
116
- }, payload.filter((item)=>"none" !== item.type).map((item)=>{
117
- const key = `${nameKey || item.dataKey || "value"}`;
118
- const itemConfig = getPayloadConfigFromPayload(config, item, key);
119
- return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
120
- key: item.value,
121
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3")
122
- }, (null == itemConfig ? void 0 : itemConfig.icon) && !hideIcon ? /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(itemConfig.icon, null) : /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
123
- className: "h-2 w-2 shrink-0 rounded-[2px]",
124
- style: {
125
- backgroundColor: item.color
126
- }
127
- }), null == itemConfig ? void 0 : itemConfig.label);
128
- }));
129
- }
130
- function getPayloadConfigFromPayload(config, payload, key) {
131
- if ("object" != typeof payload || null === payload) return;
132
- const payloadPayload = "payload" in payload && "object" == typeof payload.payload && null !== payload.payload ? payload.payload : void 0;
133
- let configLabelKey = key;
134
- if (key in payload && "string" == typeof payload[key]) configLabelKey = payload[key];
135
- else if (payloadPayload && key in payloadPayload && "string" == typeof payloadPayload[key]) configLabelKey = payloadPayload[key];
136
- return configLabelKey in config ? config[configLabelKey] : config[key];
137
- }
138
- export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };