@zentauri-ui/zentauri-components 0.0.7 → 0.0.9
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/README.md +134 -0
- package/dist/ui/accordion.cjs +311 -0
- package/dist/ui/accordion.cjs.map +1 -0
- package/dist/ui/accordion.d.cts +70 -0
- package/dist/ui/accordion.d.ts +70 -0
- package/dist/ui/accordion.js +286 -0
- package/dist/ui/accordion.js.map +1 -0
- package/dist/ui/alert.cjs +257 -0
- package/dist/ui/alert.cjs.map +1 -0
- package/dist/ui/alert.d.cts +66 -0
- package/dist/ui/alert.d.ts +66 -0
- package/dist/ui/alert.js +224 -0
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/badge.cjs +192 -0
- package/dist/ui/badge.cjs.map +1 -0
- package/dist/ui/badge.d.cts +37 -0
- package/dist/ui/badge.d.ts +37 -0
- package/dist/ui/badge.js +165 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/buttons.cjs +202 -0
- package/dist/ui/buttons.cjs.map +1 -0
- package/dist/ui/buttons.d.cts +27 -0
- package/dist/ui/buttons.d.ts +27 -0
- package/dist/ui/buttons.js +176 -0
- package/dist/ui/buttons.js.map +1 -0
- package/dist/ui/card.cjs +293 -0
- package/dist/ui/card.cjs.map +1 -0
- package/dist/ui/card.d.cts +77 -0
- package/dist/ui/card.d.ts +77 -0
- package/dist/ui/card.js +258 -0
- package/dist/ui/card.js.map +1 -0
- package/dist/ui/divider.cjs +229 -0
- package/dist/ui/divider.cjs.map +1 -0
- package/dist/ui/divider.d.cts +39 -0
- package/dist/ui/divider.d.ts +39 -0
- package/dist/ui/divider.js +200 -0
- package/dist/ui/divider.js.map +1 -0
- package/dist/ui/drawer.cjs +408 -0
- package/dist/ui/drawer.cjs.map +1 -0
- package/dist/ui/drawer.d.cts +81 -0
- package/dist/ui/drawer.d.ts +81 -0
- package/dist/ui/drawer.js +383 -0
- package/dist/ui/drawer.js.map +1 -0
- package/dist/ui/dropdown.cjs +302 -0
- package/dist/ui/dropdown.cjs.map +1 -0
- package/dist/ui/dropdown.d.cts +50 -0
- package/dist/ui/dropdown.d.ts +50 -0
- package/dist/ui/dropdown.js +278 -0
- package/dist/ui/dropdown.js.map +1 -0
- package/dist/ui/empty-state.cjs +186 -0
- package/dist/ui/empty-state.cjs.map +1 -0
- package/dist/ui/empty-state.d.cts +55 -0
- package/dist/ui/empty-state.d.ts +55 -0
- package/dist/ui/empty-state.js +154 -0
- package/dist/ui/empty-state.js.map +1 -0
- package/dist/ui/index.d.cts +27 -1164
- package/dist/ui/index.d.ts +27 -1164
- package/dist/ui/inputs.cjs +458 -0
- package/dist/ui/inputs.cjs.map +1 -0
- package/dist/ui/inputs.d.cts +35 -0
- package/dist/ui/inputs.d.ts +35 -0
- package/dist/ui/inputs.js +432 -0
- package/dist/ui/inputs.js.map +1 -0
- package/dist/ui/modal.cjs +406 -0
- package/dist/ui/modal.cjs.map +1 -0
- package/dist/ui/modal.d.cts +84 -0
- package/dist/ui/modal.d.ts +84 -0
- package/dist/ui/modal.js +384 -0
- package/dist/ui/modal.js.map +1 -0
- package/dist/ui/pagination.cjs +523 -0
- package/dist/ui/pagination.cjs.map +1 -0
- package/dist/ui/pagination.d.cts +114 -0
- package/dist/ui/pagination.d.ts +114 -0
- package/dist/ui/pagination.js +494 -0
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/progress.cjs +268 -0
- package/dist/ui/progress.cjs.map +1 -0
- package/dist/ui/progress.d.cts +61 -0
- package/dist/ui/progress.d.ts +61 -0
- package/dist/ui/progress.js +237 -0
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/select.cjs +360 -0
- package/dist/ui/select.cjs.map +1 -0
- package/dist/ui/select.d.cts +73 -0
- package/dist/ui/select.d.ts +73 -0
- package/dist/ui/select.js +327 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/skeleton.cjs +576 -0
- package/dist/ui/skeleton.cjs.map +1 -0
- package/dist/ui/skeleton.d.cts +90 -0
- package/dist/ui/skeleton.d.ts +90 -0
- package/dist/ui/skeleton.js +544 -0
- package/dist/ui/skeleton.js.map +1 -0
- package/dist/ui/spinner.cjs +219 -0
- package/dist/ui/spinner.cjs.map +1 -0
- package/dist/ui/spinner.d.cts +27 -0
- package/dist/ui/spinner.d.ts +27 -0
- package/dist/ui/spinner.js +193 -0
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/table.cjs +328 -0
- package/dist/ui/table.cjs.map +1 -0
- package/dist/ui/table.d.cts +81 -0
- package/dist/ui/table.d.ts +81 -0
- package/dist/ui/table.js +293 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tabs.cjs +300 -0
- package/dist/ui/tabs.cjs.map +1 -0
- package/dist/ui/tabs.d.cts +58 -0
- package/dist/ui/tabs.d.ts +58 -0
- package/dist/ui/tabs.js +274 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/toast.cjs +285 -0
- package/dist/ui/toast.cjs.map +1 -0
- package/dist/ui/toast.d.cts +86 -0
- package/dist/ui/toast.d.ts +86 -0
- package/dist/ui/toast.js +258 -0
- package/dist/ui/toast.js.map +1 -0
- package/dist/ui/toggle.cjs +185 -0
- package/dist/ui/toggle.cjs.map +1 -0
- package/dist/ui/toggle.d.cts +37 -0
- package/dist/ui/toggle.d.ts +37 -0
- package/dist/ui/toggle.js +158 -0
- package/dist/ui/toggle.js.map +1 -0
- package/dist/ui/tooltip.cjs +242 -0
- package/dist/ui/tooltip.cjs.map +1 -0
- package/dist/ui/tooltip.d.cts +46 -0
- package/dist/ui/tooltip.d.ts +46 -0
- package/dist/ui/tooltip.js +214 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/variants-1Bx3BEeS.d.cts +8 -0
- package/dist/variants-1Bx3BEeS.d.ts +8 -0
- package/package.json +7 -3
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// src/ui/tooltip/tooltip.tsx
|
|
5
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
6
|
+
import { createContext, useContext } from "react";
|
|
7
|
+
|
|
8
|
+
// src/lib/utils.ts
|
|
9
|
+
import { clsx } from "clsx";
|
|
10
|
+
import { twMerge } from "tailwind-merge";
|
|
11
|
+
function cn(...inputs) {
|
|
12
|
+
return twMerge(clsx(inputs));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// src/ui/tooltip/variants.ts
|
|
16
|
+
import { cva } from "class-variance-authority";
|
|
17
|
+
var tooltipVariants = cva(
|
|
18
|
+
"absolute z-50 rounded-md shadow-md transition-all duration-200 pointer-events-none",
|
|
19
|
+
{
|
|
20
|
+
variants: {
|
|
21
|
+
variant: {
|
|
22
|
+
default: "bg-black text-white",
|
|
23
|
+
outline: "border bg-white text-black",
|
|
24
|
+
ghost: "bg-gray-800 text-white/90",
|
|
25
|
+
glass: "border border-white/15 bg-white/10 text-white backdrop-blur-md",
|
|
26
|
+
emerald: "bg-emerald-600 text-white",
|
|
27
|
+
indigo: "bg-indigo-600 text-white",
|
|
28
|
+
purple: "bg-purple-600 text-white",
|
|
29
|
+
pink: "bg-pink-600 text-white",
|
|
30
|
+
rose: "bg-rose-600 text-white",
|
|
31
|
+
sky: "bg-sky-600 text-white",
|
|
32
|
+
teal: "bg-teal-600 text-white",
|
|
33
|
+
yellow: "bg-yellow-600 text-white",
|
|
34
|
+
orange: "bg-orange-600 text-white",
|
|
35
|
+
green: "bg-green-600 text-white",
|
|
36
|
+
"gradient-blue": "bg-gradient-to-r from-blue-600 to-purple-600 text-white",
|
|
37
|
+
"gradient-green": "bg-gradient-to-r from-green-600 to-lime-600 text-white",
|
|
38
|
+
"gradient-red": "bg-gradient-to-r from-red-600 to-pink-600 text-white",
|
|
39
|
+
"gradient-yellow": "bg-gradient-to-r from-yellow-600 to-orange-600 text-white",
|
|
40
|
+
"gradient-purple": "bg-gradient-to-r from-purple-600 to-pink-600 text-white",
|
|
41
|
+
"gradient-teal": "bg-gradient-to-r from-teal-600 to-cyan-600 text-white",
|
|
42
|
+
"gradient-indigo": "bg-gradient-to-r from-indigo-600 to-purple-600 text-white",
|
|
43
|
+
"gradient-pink": "bg-gradient-to-r from-pink-600 to-rose-600 text-white",
|
|
44
|
+
"gradient-orange": "bg-gradient-to-r from-orange-600 to-red-600 text-white"
|
|
45
|
+
},
|
|
46
|
+
size: {
|
|
47
|
+
sm: "text-xs px-2 py-1",
|
|
48
|
+
md: "text-sm px-3 py-1.5",
|
|
49
|
+
lg: "text-base px-4 py-2"
|
|
50
|
+
},
|
|
51
|
+
width: {
|
|
52
|
+
fit: "min-w-75 md:min-w-fit",
|
|
53
|
+
xs: "min-w-75 md:min-w-xs",
|
|
54
|
+
sm: "min-w-75 md:min-w-sm",
|
|
55
|
+
md: "min-w-75 md:min-w-md",
|
|
56
|
+
lg: "min-w-75 md:min-w-lg",
|
|
57
|
+
xl: "min-w-75 md:min-w-xl",
|
|
58
|
+
"2xl": "min-w-75 md:min-w-2xl"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
defaultVariants: {
|
|
62
|
+
variant: "default",
|
|
63
|
+
size: "md",
|
|
64
|
+
width: "xs"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
// src/ui/tooltip/tooltip.tsx
|
|
70
|
+
import { motion } from "framer-motion";
|
|
71
|
+
|
|
72
|
+
// src/ui/tooltip/animation.ts
|
|
73
|
+
var tooltipAnimationPresets = {
|
|
74
|
+
none: {},
|
|
75
|
+
fade: {
|
|
76
|
+
initial: { opacity: 0 },
|
|
77
|
+
animate: { opacity: 1 },
|
|
78
|
+
transition: { duration: 0.15, ease: "easeOut" }
|
|
79
|
+
},
|
|
80
|
+
scale: {
|
|
81
|
+
initial: { opacity: 0, scale: 0.96 },
|
|
82
|
+
animate: { opacity: 1, scale: 1 },
|
|
83
|
+
transition: { duration: 0.15, ease: "easeIn" }
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
// src/ui/tooltip/tooltip.tsx
|
|
88
|
+
import { jsx } from "react/jsx-runtime";
|
|
89
|
+
var TooltipContext = createContext(null);
|
|
90
|
+
var useTooltip = () => {
|
|
91
|
+
const context = useContext(TooltipContext);
|
|
92
|
+
if (!context) {
|
|
93
|
+
throw new Error("Tooltip components must be used within Tooltip");
|
|
94
|
+
}
|
|
95
|
+
return context;
|
|
96
|
+
};
|
|
97
|
+
var Tooltip = ({
|
|
98
|
+
children,
|
|
99
|
+
defaultOpen = false,
|
|
100
|
+
open: controlledOpen,
|
|
101
|
+
onOpenChange,
|
|
102
|
+
position = "top",
|
|
103
|
+
delay = 100
|
|
104
|
+
}) => {
|
|
105
|
+
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
106
|
+
const isControlled = controlledOpen !== void 0;
|
|
107
|
+
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
108
|
+
const setOpen = useCallback(
|
|
109
|
+
(value) => {
|
|
110
|
+
if (!isControlled) setUncontrolledOpen(value);
|
|
111
|
+
onOpenChange?.(value);
|
|
112
|
+
},
|
|
113
|
+
[isControlled, onOpenChange]
|
|
114
|
+
);
|
|
115
|
+
const showTimeoutRef = useRef(null);
|
|
116
|
+
const cancelDelayedOpen = useCallback(() => {
|
|
117
|
+
if (showTimeoutRef.current !== null) {
|
|
118
|
+
clearTimeout(showTimeoutRef.current);
|
|
119
|
+
showTimeoutRef.current = null;
|
|
120
|
+
}
|
|
121
|
+
}, []);
|
|
122
|
+
const scheduleDelayedOpen = useCallback(() => {
|
|
123
|
+
cancelDelayedOpen();
|
|
124
|
+
showTimeoutRef.current = setTimeout(() => {
|
|
125
|
+
showTimeoutRef.current = null;
|
|
126
|
+
setOpen(true);
|
|
127
|
+
}, delay);
|
|
128
|
+
}, [cancelDelayedOpen, delay, setOpen]);
|
|
129
|
+
useEffect(() => () => cancelDelayedOpen(), [cancelDelayedOpen]);
|
|
130
|
+
return /* @__PURE__ */ jsx(
|
|
131
|
+
TooltipContext.Provider,
|
|
132
|
+
{
|
|
133
|
+
value: {
|
|
134
|
+
open,
|
|
135
|
+
setOpen,
|
|
136
|
+
position,
|
|
137
|
+
delay,
|
|
138
|
+
scheduleDelayedOpen,
|
|
139
|
+
cancelDelayedOpen
|
|
140
|
+
},
|
|
141
|
+
children: /* @__PURE__ */ jsx("div", { className: "relative inline-block", children })
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
};
|
|
145
|
+
var TooltipTrigger = ({
|
|
146
|
+
children,
|
|
147
|
+
className
|
|
148
|
+
}) => {
|
|
149
|
+
const { setOpen, scheduleDelayedOpen, cancelDelayedOpen } = useTooltip();
|
|
150
|
+
const triggerProps = {
|
|
151
|
+
onMouseEnter: () => scheduleDelayedOpen(),
|
|
152
|
+
onMouseLeave: () => {
|
|
153
|
+
cancelDelayedOpen();
|
|
154
|
+
setOpen(false);
|
|
155
|
+
},
|
|
156
|
+
onFocus: () => {
|
|
157
|
+
cancelDelayedOpen();
|
|
158
|
+
setOpen(true);
|
|
159
|
+
},
|
|
160
|
+
onBlur: () => {
|
|
161
|
+
cancelDelayedOpen();
|
|
162
|
+
setOpen(false);
|
|
163
|
+
},
|
|
164
|
+
onKeyDown: (e) => {
|
|
165
|
+
if (e.key === "Escape") {
|
|
166
|
+
cancelDelayedOpen();
|
|
167
|
+
setOpen(false);
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
className,
|
|
171
|
+
tabIndex: 0
|
|
172
|
+
};
|
|
173
|
+
return /* @__PURE__ */ jsx("span", { ...triggerProps, children });
|
|
174
|
+
};
|
|
175
|
+
var TooltipContent = ({
|
|
176
|
+
children,
|
|
177
|
+
className,
|
|
178
|
+
variant,
|
|
179
|
+
size,
|
|
180
|
+
width,
|
|
181
|
+
animation = "none"
|
|
182
|
+
}) => {
|
|
183
|
+
const { open, position } = useTooltip();
|
|
184
|
+
if (!open) return null;
|
|
185
|
+
const positionStyles = {
|
|
186
|
+
top: "bottom-full mb-2",
|
|
187
|
+
bottom: "top-full mt-2",
|
|
188
|
+
left: "right-full top-1/2 -translate-y-1/2 mr-2",
|
|
189
|
+
right: "left-full top-1/2 -translate-y-1/2 ml-2"
|
|
190
|
+
};
|
|
191
|
+
const motionProps = tooltipAnimationPresets[animation];
|
|
192
|
+
return /* @__PURE__ */ jsx(
|
|
193
|
+
motion.div,
|
|
194
|
+
{
|
|
195
|
+
"data-open": open,
|
|
196
|
+
role: "tooltip",
|
|
197
|
+
...motionProps,
|
|
198
|
+
className: cn(
|
|
199
|
+
tooltipVariants({ variant, size, width }),
|
|
200
|
+
positionStyles[position],
|
|
201
|
+
className
|
|
202
|
+
),
|
|
203
|
+
children
|
|
204
|
+
}
|
|
205
|
+
);
|
|
206
|
+
};
|
|
207
|
+
export {
|
|
208
|
+
Tooltip,
|
|
209
|
+
TooltipContent,
|
|
210
|
+
TooltipTrigger,
|
|
211
|
+
tooltipVariants,
|
|
212
|
+
useTooltip
|
|
213
|
+
};
|
|
214
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ui/tooltip/tooltip.tsx","../../src/lib/utils.ts","../../src/ui/tooltip/variants.ts","../../src/ui/tooltip/animation.ts"],"sourcesContent":["\"use client\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport type {\n TooltipProps,\n TooltipContextType,\n TooltipTriggerProps,\n TooltipContentProps,\n} from \"./types\";\n\nimport { createContext, useContext } from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport { tooltipVariants } from \"./variants\";\nimport { motion } from \"framer-motion\";\nimport { tooltipAnimationPresets } from \"./animation\";\n\nexport const TooltipContext = createContext<TooltipContextType | null>(null);\n\nexport const useTooltip = () => {\n const context = useContext(TooltipContext);\n if (!context) {\n throw new Error(\"Tooltip components must be used within Tooltip\");\n }\n return context;\n};\nexport const Tooltip = ({\n children,\n defaultOpen = false,\n open: controlledOpen,\n onOpenChange,\n position = \"top\",\n delay = 100,\n}: TooltipProps) => {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : uncontrolledOpen;\n\n const setOpen = useCallback(\n (value: boolean) => {\n if (!isControlled) setUncontrolledOpen(value);\n onOpenChange?.(value);\n },\n [isControlled, onOpenChange],\n );\n\n const showTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const cancelDelayedOpen = useCallback(() => {\n if (showTimeoutRef.current !== null) {\n clearTimeout(showTimeoutRef.current);\n showTimeoutRef.current = null;\n }\n }, []);\n\n const scheduleDelayedOpen = useCallback(() => {\n cancelDelayedOpen();\n showTimeoutRef.current = setTimeout(() => {\n showTimeoutRef.current = null;\n setOpen(true);\n }, delay);\n }, [cancelDelayedOpen, delay, setOpen]);\n\n useEffect(() => () => cancelDelayedOpen(), [cancelDelayedOpen]);\n\n return (\n <TooltipContext.Provider\n value={{\n open,\n setOpen,\n position,\n delay,\n scheduleDelayedOpen,\n cancelDelayedOpen,\n }}\n >\n <div className=\"relative inline-block\">{children}</div>\n </TooltipContext.Provider>\n );\n};\n\nexport const TooltipTrigger = ({\n children,\n className,\n}: TooltipTriggerProps) => {\n const { setOpen, scheduleDelayedOpen, cancelDelayedOpen } = useTooltip();\n\n const triggerProps = {\n onMouseEnter: () => scheduleDelayedOpen(),\n onMouseLeave: () => {\n cancelDelayedOpen();\n setOpen(false);\n },\n onFocus: () => {\n cancelDelayedOpen();\n setOpen(true);\n },\n onBlur: () => {\n cancelDelayedOpen();\n setOpen(false);\n },\n onKeyDown: (e: React.KeyboardEvent) => {\n if (e.key === \"Escape\") {\n cancelDelayedOpen();\n setOpen(false);\n }\n },\n className,\n tabIndex: 0,\n };\n\n return <span {...triggerProps}>{children}</span>;\n};\n\nexport const TooltipContent = ({\n children,\n className,\n variant,\n size,\n width,\n animation = \"none\",\n}: TooltipContentProps) => {\n const { open, position } = useTooltip();\n\n if (!open) return null;\n\n const positionStyles = {\n top: \"bottom-full mb-2\",\n bottom: \"top-full mt-2\",\n left: \"right-full top-1/2 -translate-y-1/2 mr-2\",\n right: \"left-full top-1/2 -translate-y-1/2 ml-2\",\n };\n\n const motionProps = tooltipAnimationPresets[animation];\n\n return (\n <motion.div\n data-open={open}\n role=\"tooltip\"\n {...motionProps}\n className={cn(\n tooltipVariants({ variant, size, width }),\n positionStyles[position],\n className,\n )}\n >\n {children}\n </motion.div>\n );\n};\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}","import { cva } from \"class-variance-authority\"\n\nexport const tooltipVariants = cva(\n \"absolute z-50 rounded-md shadow-md transition-all duration-200 pointer-events-none\",\n {\n variants: {\n variant: {\n default: \"bg-black text-white\",\n outline: \"border bg-white text-black\",\n ghost: \"bg-gray-800 text-white/90\",\n glass: \"border border-white/15 bg-white/10 text-white backdrop-blur-md\",\n emerald: \"bg-emerald-600 text-white\",\n indigo: \"bg-indigo-600 text-white\",\n purple: \"bg-purple-600 text-white\",\n pink: \"bg-pink-600 text-white\",\n rose: \"bg-rose-600 text-white\",\n sky: \"bg-sky-600 text-white\",\n teal: \"bg-teal-600 text-white\",\n yellow: \"bg-yellow-600 text-white\",\n orange: \"bg-orange-600 text-white\",\n green: \"bg-green-600 text-white\",\n \"gradient-blue\": \"bg-gradient-to-r from-blue-600 to-purple-600 text-white\",\n \"gradient-green\": \"bg-gradient-to-r from-green-600 to-lime-600 text-white\",\n \"gradient-red\": \"bg-gradient-to-r from-red-600 to-pink-600 text-white\",\n \"gradient-yellow\": \"bg-gradient-to-r from-yellow-600 to-orange-600 text-white\",\n \"gradient-purple\": \"bg-gradient-to-r from-purple-600 to-pink-600 text-white\",\n \"gradient-teal\": \"bg-gradient-to-r from-teal-600 to-cyan-600 text-white\",\n \"gradient-indigo\": \"bg-gradient-to-r from-indigo-600 to-purple-600 text-white\",\n \"gradient-pink\": \"bg-gradient-to-r from-pink-600 to-rose-600 text-white\",\n \"gradient-orange\": \"bg-gradient-to-r from-orange-600 to-red-600 text-white\",\n },\n size: {\n sm: \"text-xs px-2 py-1\",\n md: \"text-sm px-3 py-1.5\",\n lg: \"text-base px-4 py-2\",\n },\n width:{\n fit: \"min-w-75 md:min-w-fit\",\n xs: \"min-w-75 md:min-w-xs\",\n sm: \"min-w-75 md:min-w-sm\",\n md: \"min-w-75 md:min-w-md\",\n lg: \"min-w-75 md:min-w-lg\",\n xl: \"min-w-75 md:min-w-xl\",\n \"2xl\": \"min-w-75 md:min-w-2xl\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n width: \"xs\",\n },\n }\n)","import type { HTMLMotionProps } from \"framer-motion\";\nimport { TooltipAnimation } from \"./types\";\n\ntype TooltipPresetMotionProps = Pick<\n HTMLMotionProps<\"div\">,\n \"initial\" | \"animate\" | \"style\" | \"transition\"\n>;\n\nexport type TooltipAnimationPresets = Record<TooltipAnimation, TooltipPresetMotionProps>;\n\n/** Runs when TooltipContent mounts after open (e.g. trigger hover + delay), not viewport scroll. */\nexport const tooltipAnimationPresets: TooltipAnimationPresets = {\n none: {},\n fade: {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n transition: { duration: 0.15, ease: \"easeOut\" },\n },\n scale: {\n initial: { opacity: 0, scale: 0.96 },\n animate: { opacity: 1, scale: 1 },\n transition: { duration: 0.15, ease: \"easeIn\" },\n },\n};\n"],"mappings":";;;;AACA,SAAS,aAAa,WAAW,QAAQ,gBAAgB;AAQzD,SAAS,eAAe,kBAAkB;;;ACT1C,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ACLA,SAAS,WAAW;AAEb,IAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,QACT,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,gBAAgB;AAAA,QAChB,mBAAmB;AAAA,QACnB,mBAAmB;AAAA,QACnB,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,MACrB;AAAA,MACA,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,OAAM;AAAA,QACJ,KAAK;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,EACF;AACF;;;AFxCA,SAAS,cAAc;;;AGDhB,IAAM,0BAAmD;AAAA,EAC9D,MAAM,CAAC;AAAA,EACP,MAAM;AAAA,IACJ,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,YAAY,EAAE,UAAU,MAAM,MAAM,UAAU;AAAA,EAChD;AAAA,EACA,OAAO;AAAA,IACL,SAAS,EAAE,SAAS,GAAG,OAAO,KAAK;AAAA,IACnC,SAAS,EAAE,SAAS,GAAG,OAAO,EAAE;AAAA,IAChC,YAAY,EAAE,UAAU,MAAM,MAAM,SAAS;AAAA,EAC/C;AACF;;;AHoDM;AA5DC,IAAM,iBAAiB,cAAyC,IAAI;AAEpE,IAAM,aAAa,MAAM;AAC9B,QAAM,UAAU,WAAW,cAAc;AACzC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AACA,SAAO;AACT;AACO,IAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA,cAAc;AAAA,EACd,MAAM;AAAA,EACN;AAAA,EACA,WAAW;AAAA,EACX,QAAQ;AACV,MAAoB;AAClB,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,WAAW;AAEpE,QAAM,eAAe,mBAAmB;AACxC,QAAM,OAAO,eAAe,iBAAiB;AAE7C,QAAM,UAAU;AAAA,IACd,CAAC,UAAmB;AAClB,UAAI,CAAC,aAAc,qBAAoB,KAAK;AAC5C,qBAAe,KAAK;AAAA,IACtB;AAAA,IACA,CAAC,cAAc,YAAY;AAAA,EAC7B;AAEA,QAAM,iBAAiB,OAA6C,IAAI;AAExE,QAAM,oBAAoB,YAAY,MAAM;AAC1C,QAAI,eAAe,YAAY,MAAM;AACnC,mBAAa,eAAe,OAAO;AACnC,qBAAe,UAAU;AAAA,IAC3B;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,sBAAsB,YAAY,MAAM;AAC5C,sBAAkB;AAClB,mBAAe,UAAU,WAAW,MAAM;AACxC,qBAAe,UAAU;AACzB,cAAQ,IAAI;AAAA,IACd,GAAG,KAAK;AAAA,EACV,GAAG,CAAC,mBAAmB,OAAO,OAAO,CAAC;AAEtC,YAAU,MAAM,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,CAAC;AAE9D,SACE;AAAA,IAAC,eAAe;AAAA,IAAf;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEA,8BAAC,SAAI,WAAU,yBAAyB,UAAS;AAAA;AAAA,EACnD;AAEJ;AAEO,IAAM,iBAAiB,CAAC;AAAA,EAC7B;AAAA,EACA;AACF,MAA2B;AACzB,QAAM,EAAE,SAAS,qBAAqB,kBAAkB,IAAI,WAAW;AAEvE,QAAM,eAAe;AAAA,IACnB,cAAc,MAAM,oBAAoB;AAAA,IACxC,cAAc,MAAM;AAClB,wBAAkB;AAClB,cAAQ,KAAK;AAAA,IACf;AAAA,IACA,SAAS,MAAM;AACb,wBAAkB;AAClB,cAAQ,IAAI;AAAA,IACd;AAAA,IACA,QAAQ,MAAM;AACZ,wBAAkB;AAClB,cAAQ,KAAK;AAAA,IACf;AAAA,IACA,WAAW,CAAC,MAA2B;AACrC,UAAI,EAAE,QAAQ,UAAU;AACtB,0BAAkB;AAClB,gBAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACZ;AAEA,SAAO,oBAAC,UAAM,GAAG,cAAe,UAAS;AAC3C;AAEO,IAAM,iBAAiB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACd,MAA2B;AACzB,QAAM,EAAE,MAAM,SAAS,IAAI,WAAW;AAEtC,MAAI,CAAC,KAAM,QAAO;AAElB,QAAM,iBAAiB;AAAA,IACrB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAEA,QAAM,cAAc,wBAAwB,SAAS;AAErD,SACE;AAAA,IAAC,OAAO;AAAA,IAAP;AAAA,MACC,aAAW;AAAA,MACX,MAAK;AAAA,MACJ,GAAG;AAAA,MACJ,WAAW;AAAA,QACT,gBAAgB,EAAE,SAAS,MAAM,MAAM,CAAC;AAAA,QACxC,eAAe,QAAQ;AAAA,QACvB;AAAA,MACF;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;","names":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
|
|
3
|
+
declare const buttonVariants: (props?: ({
|
|
4
|
+
appearance?: "default" | "outline" | "link" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "gray" | "violet" | "secondary" | "destructive" | "glass" | "amber" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl" | "10xl" | "icon" | null | undefined;
|
|
6
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
7
|
+
|
|
8
|
+
export { buttonVariants as b };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
|
|
3
|
+
declare const buttonVariants: (props?: ({
|
|
4
|
+
appearance?: "default" | "outline" | "link" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "gray" | "violet" | "secondary" | "destructive" | "glass" | "amber" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl" | "10xl" | "icon" | null | undefined;
|
|
6
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
7
|
+
|
|
8
|
+
export { buttonVariants as b };
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zentauri-ui/zentauri-components",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.9",
|
|
5
5
|
"description": "A UI component library built with React and Tailwind CSS",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"files": ["dist"],
|
|
8
8
|
"main": "./dist/ui/index.js",
|
|
9
|
-
"sideEffects":
|
|
9
|
+
"sideEffects": false,
|
|
10
10
|
"publishConfig": {
|
|
11
11
|
"access": "public"
|
|
12
12
|
},
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
"import": "./dist/ui/index.js",
|
|
17
17
|
"require": "./dist/ui/index.cjs"
|
|
18
18
|
},
|
|
19
|
-
"./
|
|
19
|
+
"./ui/*": {
|
|
20
|
+
"types": "./dist/ui/*.d.ts",
|
|
21
|
+
"import": "./dist/ui/*.js",
|
|
22
|
+
"require": "./dist/ui/*.cjs"
|
|
23
|
+
}
|
|
20
24
|
},
|
|
21
25
|
"scripts": {
|
|
22
26
|
"dev": "tsup --watch",
|