@esmate/shadcn 1.1.1 → 2.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 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
@@ -2,10 +2,12 @@
2
2
 
3
3
  Supercharge your UI development with Shadcn—components, hooks, and styles all in one package.
4
4
 
5
- - **Zero config pain**: Works out of the box with Tailwind.
6
- - **Pre-styled**: Comes with `base.css`, `new-york.css`, etc.
7
- - **Complete UI**: Composable components, no boilerplate needed.
8
- - **Smart hooks**: Built-in logic that saves you time.
5
+ - 🔧 **Zero Config**: Works out of the box with Tailwind and pre-styled themes like `new-york.css`.
6
+ - 🧩 **Ready-to-Use UI**: Composable Shadcn components via `@esmate/shadcn/ui/*`, no boilerplate needed.
7
+ - ⚙️ **Built-in Hooks**: Includes smart hooks like `useIsMobile` and `useZodForm` for fast logic handling.
8
+ - 🛠 **Useful Utilities**: Handy functions like `cn` for class merging, all in one place.
9
+ - 🎨 **Customizable Styles**: Easy theming with design tokens, dark mode, and editable base styles.
10
+ - 📦 **Bundled Deps**: Re-exports `zod`, `react-hook-form`, and more—no extra installs needed.
9
11
 
10
12
  ## Installation
11
13
 
@@ -238,8 +240,9 @@ easy theme generation.
238
240
 
239
241
  ### Exports
240
242
 
241
- Shadcn comes with many dependencies, which can be complicated to manage and use in a project. That's why I created this
242
- package: to bundle them all together. To make them reusable and avoid reinstalling them, I re-export them for you.
243
+ Shadcn includes many dependencies that can be tricky to manage in a project. Thats why I created this package: to
244
+ bundle them all in one place. I’ve re-exported everything for you, making the dependencies reusable and saving you from
245
+ having to install each dependency individually.
243
246
 
244
247
  ```typescript
245
248
  import { useForm } from "@esmate/shadcn/react-hook-form";
@@ -1,8 +1,7 @@
1
- import { type UseFormProps } from "react-hook-form";
2
- import z, { ZodSchema } from "zod";
3
- export type ZodFormValues<S extends ZodSchema> = z.infer<S>;
4
- interface Props<S extends ZodSchema> extends Omit<UseFormProps<ZodFormValues<S>>, "resolver"> {
5
- schema: S;
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<S extends ZodSchema>(props: Props<S>): import("react-hook-form").UseFormReturn<ZodFormValues<S>, any, ZodFormValues<S>>;
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 form = (0, __WEBPACK_EXTERNAL_MODULE_react_hook_form_05a66946__.useForm)({
5
- ...props,
6
- resolver: (0, __WEBPACK_EXTERNAL_MODULE__hookform_resolvers_zod_9ebfe08b__.zodResolver)(props.schema)
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,2 +1 @@
1
1
  export * from "react-day-picker";
2
- export { default } from "react-day-picker";
@@ -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 };
@@ -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?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
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 shadow-xs hover:bg-primary/90",
9
- destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
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 shadow-xs hover:bg-secondary/80",
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
  },
@@ -1,4 +1,8 @@
1
1
  import * as React from "react";
2
- import { DayPicker } from "react-day-picker";
3
- declare function Calendar({ className, classNames, showOutsideDays, ...props }: React.ComponentProps<typeof DayPicker>): import("react/jsx-runtime").JSX.Element;
4
- export { Calendar };
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 };
@@ -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
- months: "flex flex-col sm:flex-row gap-2",
13
- month: "flex flex-col gap-4",
14
- caption: "flex justify-center pt-1 relative items-center w-full",
15
- caption_label: "text-sm font-medium",
16
- nav: "flex items-center gap-1",
17
- nav_button: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)((0, __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.buttonVariants)({
18
- variant: "outline"
19
- }), "size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),
20
- nav_button_previous: "absolute left-1",
21
- nav_button_next: "absolute right-1",
22
- table: "w-full border-collapse space-x-1",
23
- head_row: "flex",
24
- head_cell: "text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",
25
- row: "flex w-full mt-2",
26
- cell: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md", "range" === props.mode ? "[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" : "[&:has([aria-selected])]:rounded-md"),
27
- day: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)((0, __WEBPACK_EXTERNAL_MODULE__button_js_821b8d9d__.buttonVariants)({
28
- variant: "ghost"
29
- }), "size-8 p-0 font-normal aria-selected:opacity-100"),
30
- day_range_start: "day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",
31
- day_range_end: "day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",
32
- day_selected: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",
33
- day_today: "bg-accent text-accent-foreground",
34
- day_outside: "day-outside text-muted-foreground aria-selected:text-muted-foreground",
35
- day_disabled: "text-muted-foreground opacity-50",
36
- day_range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
37
- day_hidden: "invisible",
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
- IconLeft: ({ className, ...props })=>/*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronLeft, {
42
- className: (0, __WEBPACK_EXTERNAL_MODULE__lib_utils_js_5e4c9133__.cn)("size-4", className),
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
- IconRight: ({ className, ...props })=>/*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.createElement(__WEBPACK_EXTERNAL_MODULE_lucide_react_f128bbbb__.ChevronRight, {
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
- export { Calendar };
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", {
@@ -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;
@@ -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)));
@@ -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>): import("react/jsx-runtime").JSX.Element;
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-1.5 p-4", className),
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 flex 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),
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
  }
@@ -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:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90", className),
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"
@@ -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-root",
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),
@@ -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-primary text-primary-foreground 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),
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-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"
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": "1.1.1",
4
+ "version": "2.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.0.1",
34
- "@radix-ui/react-accordion": "^1.2.11",
35
- "@radix-ui/react-alert-dialog": "^1.1.14",
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.2",
39
- "@radix-ui/react-collapsible": "^1.1.11",
40
- "@radix-ui/react-context-menu": "^2.2.15",
41
- "@radix-ui/react-dialog": "^1.1.14",
42
- "@radix-ui/react-dropdown-menu": "^2.1.15",
43
- "@radix-ui/react-hover-card": "^1.1.14",
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.15",
46
- "@radix-ui/react-navigation-menu": "^1.2.13",
47
- "@radix-ui/react-popover": "^1.1.14",
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.7",
50
- "@radix-ui/react-scroll-area": "^1.2.9",
51
- "@radix-ui/react-select": "^2.2.5",
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.5",
53
+ "@radix-ui/react-slider": "^1.3.6",
54
54
  "@radix-ui/react-slot": "^1.2.3",
55
- "@radix-ui/react-switch": "^1.2.5",
56
- "@radix-ui/react-tabs": "^1.1.12",
57
- "@radix-ui/react-toggle": "^1.1.9",
58
- "@radix-ui/react-toggle-group": "^1.1.10",
59
- "@radix-ui/react-tooltip": "^1.2.7",
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": "^3.6.0",
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.511.0",
66
+ "lucide-react": "^0.544.0",
67
67
  "next-themes": "^0.4.6",
68
- "react-day-picker": "8.10.1",
69
- "react-hook-form": "^7.56.4",
70
- "react-resizable-panels": "^3.0.2",
71
- "recharts": "^2.15.3",
72
- "sonner": "^2.0.3",
73
- "tailwind-merge": "^3.3.0",
74
- "tw-animate-css": "^1.3.0",
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": "^3.25.23"
76
+ "zod": "^4.1.11"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@rslib/core": "^0.7.1",
80
- "@types/node": "^22.15.19",
81
- "@types/react": "^19.0.0",
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
- "shadcn": "^2.5.0",
84
- "tsx": "^4.19.4",
85
- "typescript": "^5.8.3"
84
+ "react": "^18.3.1",
85
+ "react-dom": "^18.3.1",
86
+ "shadcn": "^2.10.0",
87
+ "tsx": "^4.20.6",
88
+ "typescript": "^5.9.2"
86
89
  },
87
90
  "files": [
88
91
  "dist"
@@ -1,2 +0,0 @@
1
- export * from "clsx";
2
- export { default } from "clsx";
package/dist/lib/clsx.js DELETED
@@ -1,4 +0,0 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE_clsx__ from "clsx";
2
- export * from "clsx";
3
- var __webpack_exports__default = __WEBPACK_EXTERNAL_MODULE_clsx__["default"];
4
- export { __webpack_exports__default as default };
@@ -1 +0,0 @@
1
- export * from "tailwind-merge";
@@ -1 +0,0 @@
1
- export * from "tailwind-merge";