@esmate/shadcn 1.1.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +16 -0
- package/README.md +1 -1
- package/dist/hooks/use-zod-form.d.ts +6 -7
- package/dist/hooks/use-zod-form.js +4 -4
- package/dist/lib/react-day-picker.d.ts +0 -1
- package/dist/lib/react-day-picker.js +0 -3
- package/dist/ui/button.d.ts +1 -1
- package/dist/ui/button.js +3 -3
- package/dist/ui/calendar.d.ts +7 -3
- package/dist/ui/calendar.js +83 -33
- package/dist/ui/chart.js +2 -2
- package/dist/ui/command.d.ts +3 -1
- package/dist/ui/command.js +3 -2
- package/dist/ui/dialog.d.ts +3 -1
- package/dist/ui/dialog.js +3 -2
- package/dist/ui/drawer.js +1 -1
- package/dist/ui/input.js +1 -1
- package/dist/ui/resizable.js +1 -1
- package/dist/ui/separator.js +1 -1
- package/dist/ui/tooltip.js +2 -2
- package/package.json +40 -37
package/LICENSE
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Vien Dinh
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
6
|
+
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
|
|
7
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
8
|
+
persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
|
|
11
|
+
Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
14
|
+
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
15
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
16
|
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ Supercharge your UI development with Shadcn—components, hooks, and styles all
|
|
|
11
11
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
|
-
Install the package that includes `shadcn@
|
|
14
|
+
Install the package that includes `shadcn@3.x.x`:
|
|
15
15
|
|
|
16
16
|
```sh
|
|
17
17
|
npm install @esmate/shadcn tailwindcss
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { type UseFormProps } from "react-hook-form";
|
|
2
|
-
import
|
|
3
|
-
export type ZodFormValues<S extends
|
|
4
|
-
interface
|
|
5
|
-
schema:
|
|
1
|
+
import { type UseFormProps, type UseFormReturn, type FieldValues } from "react-hook-form";
|
|
2
|
+
import type { ZodType, infer as zodInfer } from "zod";
|
|
3
|
+
export type ZodFormValues<S extends ZodType<FieldValues, any, any>> = zodInfer<S>;
|
|
4
|
+
export interface UseZodFormProps extends Omit<UseFormProps<FieldValues>, "resolver"> {
|
|
5
|
+
schema: ZodType<FieldValues, any, any>;
|
|
6
6
|
}
|
|
7
|
-
export declare function useZodForm
|
|
8
|
-
export {};
|
|
7
|
+
export declare function useZodForm(props: UseZodFormProps): UseFormReturn<FieldValues>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as __WEBPACK_EXTERNAL_MODULE_react_hook_form_05a66946__ from "react-hook-form";
|
|
2
2
|
import * as __WEBPACK_EXTERNAL_MODULE__hookform_resolvers_zod_9ebfe08b__ from "@hookform/resolvers/zod";
|
|
3
3
|
function useZodForm(props) {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const { schema, ...formProps } = props;
|
|
5
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_react_hook_form_05a66946__.useForm)({
|
|
6
|
+
...formProps,
|
|
7
|
+
resolver: (0, __WEBPACK_EXTERNAL_MODULE__hookform_resolvers_zod_9ebfe08b__.zodResolver)(schema)
|
|
7
8
|
});
|
|
8
|
-
return form;
|
|
9
9
|
}
|
|
10
10
|
export { useZodForm };
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
import * as __WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__ from "react-day-picker";
|
|
2
1
|
export * from "react-day-picker";
|
|
3
|
-
var __webpack_exports__default = __WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__["default"];
|
|
4
|
-
export { __webpack_exports__default as default };
|
package/dist/ui/button.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type VariantProps } from "class-variance-authority";
|
|
3
3
|
declare const buttonVariants: (props?: ({
|
|
4
|
-
variant?: "
|
|
4
|
+
variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
5
5
|
size?: "default" | "sm" | "lg" | "icon" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
package/dist/ui/button.js
CHANGED
|
@@ -5,10 +5,10 @@ import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/util
|
|
|
5
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
6
|
variants: {
|
|
7
7
|
variant: {
|
|
8
|
-
default: "bg-primary text-primary-foreground
|
|
9
|
-
destructive: "bg-destructive text-white
|
|
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
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
|
|
11
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
12
12
|
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
13
13
|
link: "text-primary underline-offset-4 hover:underline"
|
|
14
14
|
},
|
package/dist/ui/calendar.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { DayPicker } from "react-day-picker";
|
|
3
|
-
|
|
4
|
-
|
|
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 };
|
package/dist/ui/calendar.js
CHANGED
|
@@ -4,50 +4,100 @@ import * as __WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__ from "lucide-react
|
|
|
4
4
|
import * as __WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__ from "react-day-picker";
|
|
5
5
|
import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
|
|
6
6
|
import * as __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__ from "./button.js";
|
|
7
|
-
function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
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)();
|
|
8
9
|
return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_react_day_picker_7bc423fd__.DayPicker, {
|
|
9
10
|
showOutsideDays: showOutsideDays,
|
|
10
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("p-3", className),
|
|
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
|
+
},
|
|
11
19
|
classNames: {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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),
|
|
38
49
|
...classNames
|
|
39
50
|
},
|
|
40
51
|
components: {
|
|
41
|
-
|
|
42
|
-
|
|
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),
|
|
43
56
|
...props
|
|
44
57
|
}),
|
|
45
|
-
|
|
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, {
|
|
46
64
|
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("size-4", className),
|
|
47
65
|
...props
|
|
48
|
-
})
|
|
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
|
|
49
77
|
},
|
|
50
78
|
...props
|
|
51
79
|
});
|
|
52
80
|
}
|
|
53
|
-
|
|
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/chart.js
CHANGED
|
@@ -78,7 +78,7 @@ function ChartTooltipContent({ active, payload, className, indicator = "dot", hi
|
|
|
78
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
79
|
}, nestLabel ? null : tooltipLabel, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
|
|
80
80
|
className: "grid gap-1.5"
|
|
81
|
-
}, payload.map((item, index)=>{
|
|
81
|
+
}, payload.filter((item)=>"none" !== item.type).map((item, index)=>{
|
|
82
82
|
const key = `${nameKey || item.name || item.dataKey || "value"}`;
|
|
83
83
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
84
84
|
const indicatorColor = color || item.payload.fill || item.color;
|
|
@@ -113,7 +113,7 @@ function ChartLegendContent({ className, hideIcon = false, payload, verticalAlig
|
|
|
113
113
|
if (!(null == payload ? void 0 : payload.length)) return null;
|
|
114
114
|
return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
|
|
115
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.map((item)=>{
|
|
116
|
+
}, payload.filter((item)=>"none" !== item.type).map((item)=>{
|
|
117
117
|
const key = `${nameKey || item.dataKey || "value"}`;
|
|
118
118
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
119
119
|
return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
|
package/dist/ui/command.d.ts
CHANGED
|
@@ -2,9 +2,11 @@ import * as React from "react";
|
|
|
2
2
|
import { Command as CommandPrimitive } from "cmdk";
|
|
3
3
|
import { Dialog } from "./dialog";
|
|
4
4
|
declare function Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
-
declare function CommandDialog({ title, description, children, ...props }: React.ComponentProps<typeof Dialog> & {
|
|
5
|
+
declare function CommandDialog({ title, description, children, className, showCloseButton, ...props }: React.ComponentProps<typeof Dialog> & {
|
|
6
6
|
title?: string;
|
|
7
7
|
description?: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
showCloseButton?: boolean;
|
|
8
10
|
}): import("react/jsx-runtime").JSX.Element;
|
|
9
11
|
declare function CommandInput({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Input>): import("react/jsx-runtime").JSX.Element;
|
|
10
12
|
declare function CommandList({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.List>): import("react/jsx-runtime").JSX.Element;
|
package/dist/ui/command.js
CHANGED
|
@@ -11,11 +11,12 @@ function Command({ className, ...props }) {
|
|
|
11
11
|
...props
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
|
-
function CommandDialog({ title = "Command Palette", description = "Search for a command to run...", children, ...props }) {
|
|
14
|
+
function CommandDialog({ title = "Command Palette", description = "Search for a command to run...", children, className, showCloseButton = true, ...props }) {
|
|
15
15
|
return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__dialog_js_d344ec77__.Dialog, props, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__dialog_js_d344ec77__.DialogHeader, {
|
|
16
16
|
className: "sr-only"
|
|
17
17
|
}, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__dialog_js_d344ec77__.DialogTitle, null, title), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__dialog_js_d344ec77__.DialogDescription, null, description)), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__dialog_js_d344ec77__.DialogContent, {
|
|
18
|
-
className: "overflow-hidden p-0"
|
|
18
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("overflow-hidden p-0", className),
|
|
19
|
+
showCloseButton: showCloseButton
|
|
19
20
|
}, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(Command, {
|
|
20
21
|
className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5"
|
|
21
22
|
}, children)));
|
package/dist/ui/dialog.d.ts
CHANGED
|
@@ -5,7 +5,9 @@ declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogP
|
|
|
5
5
|
declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
declare function DialogContent({ className, children, ...props }: React.ComponentProps<typeof DialogPrimitive.Content>
|
|
8
|
+
declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
9
|
+
showCloseButton?: boolean;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
11
|
declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
10
12
|
declare function DialogFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
11
13
|
declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
|
package/dist/ui/dialog.js
CHANGED
|
@@ -34,14 +34,15 @@ function DialogOverlay({ className, ...props }) {
|
|
|
34
34
|
...props
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
-
function DialogContent({ className, children, ...props }) {
|
|
37
|
+
function DialogContent({ className, children, showCloseButton = true, ...props }) {
|
|
38
38
|
return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(DialogPortal, {
|
|
39
39
|
"data-slot": "dialog-portal"
|
|
40
40
|
}, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(DialogOverlay, null), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_dialog_6b867f3d__.Content, {
|
|
41
41
|
"data-slot": "dialog-content",
|
|
42
42
|
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", className),
|
|
43
43
|
...props
|
|
44
|
-
}, children, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_dialog_6b867f3d__.Close, {
|
|
44
|
+
}, children, showCloseButton && /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_dialog_6b867f3d__.Close, {
|
|
45
|
+
"data-slot": "dialog-close",
|
|
45
46
|
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
|
|
46
47
|
}, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.XIcon, null), /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("span", {
|
|
47
48
|
className: "sr-only"
|
package/dist/ui/drawer.js
CHANGED
|
@@ -47,7 +47,7 @@ function DrawerContent({ className, children, ...props }) {
|
|
|
47
47
|
function DrawerHeader({ className, ...props }) {
|
|
48
48
|
return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
|
|
49
49
|
"data-slot": "drawer-header",
|
|
50
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex flex-col gap-
|
|
50
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-1.5 md:text-left", className),
|
|
51
51
|
...props
|
|
52
52
|
});
|
|
53
53
|
}
|
package/dist/ui/input.js
CHANGED
|
@@ -4,7 +4,7 @@ function Input({ className, type, ...props }) {
|
|
|
4
4
|
return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("input", {
|
|
5
5
|
type: type,
|
|
6
6
|
"data-slot": "input",
|
|
7
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input
|
|
7
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "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", className),
|
|
8
8
|
...props
|
|
9
9
|
});
|
|
10
10
|
}
|
package/dist/ui/resizable.js
CHANGED
|
@@ -19,7 +19,7 @@ function ResizablePanel({ ...props }) {
|
|
|
19
19
|
function ResizableHandle({ withHandle, className, ...props }) {
|
|
20
20
|
return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_react_resizable_panels_8d5960a0__.PanelResizeHandle, {
|
|
21
21
|
"data-slot": "resizable-handle",
|
|
22
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after
|
|
22
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90", className),
|
|
23
23
|
...props
|
|
24
24
|
}, withHandle && /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement("div", {
|
|
25
25
|
className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border"
|
package/dist/ui/separator.js
CHANGED
|
@@ -4,7 +4,7 @@ import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_separator_30da60f9__ from
|
|
|
4
4
|
import * as __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__ from "../lib/utils.js";
|
|
5
5
|
function Separator({ className, orientation = "horizontal", decorative = true, ...props }) {
|
|
6
6
|
return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_separator_30da60f9__.Root, {
|
|
7
|
-
"data-slot": "separator
|
|
7
|
+
"data-slot": "separator",
|
|
8
8
|
decorative: decorative,
|
|
9
9
|
orientation: orientation,
|
|
10
10
|
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px", className),
|
package/dist/ui/tooltip.js
CHANGED
|
@@ -25,10 +25,10 @@ function TooltipContent({ className, sideOffset = 0, children, ...props }) {
|
|
|
25
25
|
return /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_tooltip_22b80323__.Portal, null, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_tooltip_22b80323__.Content, {
|
|
26
26
|
"data-slot": "tooltip-content",
|
|
27
27
|
sideOffset: sideOffset,
|
|
28
|
-
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-
|
|
28
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", className),
|
|
29
29
|
...props
|
|
30
30
|
}, children, /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_tooltip_22b80323__.Arrow, {
|
|
31
|
-
className: "bg-
|
|
31
|
+
className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"
|
|
32
32
|
})));
|
|
33
33
|
}
|
|
34
34
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@esmate/shadcn",
|
|
3
3
|
"description": "Shadcn components, hooks, and styles in one package.",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "3.0.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"repository": {
|
|
@@ -30,59 +30,62 @@
|
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@hookform/resolvers": "^5.
|
|
34
|
-
"@radix-ui/react-accordion": "^1.2.
|
|
35
|
-
"@radix-ui/react-alert-dialog": "^1.1.
|
|
33
|
+
"@hookform/resolvers": "^5.2.2",
|
|
34
|
+
"@radix-ui/react-accordion": "^1.2.12",
|
|
35
|
+
"@radix-ui/react-alert-dialog": "^1.1.15",
|
|
36
36
|
"@radix-ui/react-aspect-ratio": "^1.1.7",
|
|
37
37
|
"@radix-ui/react-avatar": "^1.1.10",
|
|
38
|
-
"@radix-ui/react-checkbox": "^1.3.
|
|
39
|
-
"@radix-ui/react-collapsible": "^1.1.
|
|
40
|
-
"@radix-ui/react-context-menu": "^2.2.
|
|
41
|
-
"@radix-ui/react-dialog": "^1.1.
|
|
42
|
-
"@radix-ui/react-dropdown-menu": "^2.1.
|
|
43
|
-
"@radix-ui/react-hover-card": "^1.1.
|
|
38
|
+
"@radix-ui/react-checkbox": "^1.3.3",
|
|
39
|
+
"@radix-ui/react-collapsible": "^1.1.12",
|
|
40
|
+
"@radix-ui/react-context-menu": "^2.2.16",
|
|
41
|
+
"@radix-ui/react-dialog": "^1.1.15",
|
|
42
|
+
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
43
|
+
"@radix-ui/react-hover-card": "^1.1.15",
|
|
44
44
|
"@radix-ui/react-label": "^2.1.7",
|
|
45
|
-
"@radix-ui/react-menubar": "^1.1.
|
|
46
|
-
"@radix-ui/react-navigation-menu": "^1.2.
|
|
47
|
-
"@radix-ui/react-popover": "^1.1.
|
|
45
|
+
"@radix-ui/react-menubar": "^1.1.16",
|
|
46
|
+
"@radix-ui/react-navigation-menu": "^1.2.14",
|
|
47
|
+
"@radix-ui/react-popover": "^1.1.15",
|
|
48
48
|
"@radix-ui/react-progress": "^1.1.7",
|
|
49
|
-
"@radix-ui/react-radio-group": "^1.3.
|
|
50
|
-
"@radix-ui/react-scroll-area": "^1.2.
|
|
51
|
-
"@radix-ui/react-select": "^2.2.
|
|
49
|
+
"@radix-ui/react-radio-group": "^1.3.8",
|
|
50
|
+
"@radix-ui/react-scroll-area": "^1.2.10",
|
|
51
|
+
"@radix-ui/react-select": "^2.2.6",
|
|
52
52
|
"@radix-ui/react-separator": "^1.1.7",
|
|
53
|
-
"@radix-ui/react-slider": "^1.3.
|
|
53
|
+
"@radix-ui/react-slider": "^1.3.6",
|
|
54
54
|
"@radix-ui/react-slot": "^1.2.3",
|
|
55
|
-
"@radix-ui/react-switch": "^1.2.
|
|
56
|
-
"@radix-ui/react-tabs": "^1.1.
|
|
57
|
-
"@radix-ui/react-toggle": "^1.1.
|
|
58
|
-
"@radix-ui/react-toggle-group": "^1.1.
|
|
59
|
-
"@radix-ui/react-tooltip": "^1.2.
|
|
55
|
+
"@radix-ui/react-switch": "^1.2.6",
|
|
56
|
+
"@radix-ui/react-tabs": "^1.1.13",
|
|
57
|
+
"@radix-ui/react-toggle": "^1.1.10",
|
|
58
|
+
"@radix-ui/react-toggle-group": "^1.1.11",
|
|
59
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
60
60
|
"class-variance-authority": "^0.7.1",
|
|
61
61
|
"clsx": "^2.1.1",
|
|
62
62
|
"cmdk": "^1.1.1",
|
|
63
|
-
"date-fns": "^
|
|
63
|
+
"date-fns": "^4.1.0",
|
|
64
64
|
"embla-carousel-react": "^8.6.0",
|
|
65
65
|
"input-otp": "^1.4.2",
|
|
66
|
-
"lucide-react": "^0.
|
|
66
|
+
"lucide-react": "^0.544.0",
|
|
67
67
|
"next-themes": "^0.4.6",
|
|
68
|
-
"react-day-picker": "
|
|
69
|
-
"react-hook-form": "^7.
|
|
70
|
-
"react-resizable-panels": "^3.0.
|
|
71
|
-
"recharts": "
|
|
72
|
-
"sonner": "^2.0.
|
|
73
|
-
"tailwind-merge": "^3.3.
|
|
74
|
-
"tw-animate-css": "^1.
|
|
68
|
+
"react-day-picker": "^9.11.0",
|
|
69
|
+
"react-hook-form": "^7.63.0",
|
|
70
|
+
"react-resizable-panels": "^3.0.6",
|
|
71
|
+
"recharts": "2.15.4",
|
|
72
|
+
"sonner": "^2.0.7",
|
|
73
|
+
"tailwind-merge": "^3.3.1",
|
|
74
|
+
"tw-animate-css": "^1.4.0",
|
|
75
75
|
"vaul": "^1.1.2",
|
|
76
|
-
"zod": "^
|
|
76
|
+
"zod": "^4.1.11"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@rslib/core": "^0.7.1",
|
|
80
|
-
"@types/node": "^22.
|
|
81
|
-
"@types/react": "^
|
|
80
|
+
"@types/node": "^22.18.7",
|
|
81
|
+
"@types/react": "^18.3.24",
|
|
82
|
+
"@types/react-dom": "^18.3.7",
|
|
82
83
|
"globby": "^14.1.0",
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
84
|
+
"react": "^18.3.1",
|
|
85
|
+
"react-dom": "^18.3.1",
|
|
86
|
+
"shadcn": "^3.3.1",
|
|
87
|
+
"tsx": "^4.20.6",
|
|
88
|
+
"typescript": "^5.9.2"
|
|
86
89
|
},
|
|
87
90
|
"files": [
|
|
88
91
|
"dist"
|