@zentauri-ui/zentauri-components 0.0.93 → 1.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.
Files changed (112) hide show
  1. package/README.md +72 -34
  2. package/dist/chunk-B23TPTVG.mjs +11 -0
  3. package/dist/chunk-B23TPTVG.mjs.map +1 -0
  4. package/dist/{chunk-BZSIXBA7.js → chunk-BITDSQMR.js} +8 -6
  5. package/dist/chunk-BITDSQMR.js.map +1 -0
  6. package/dist/{chunk-VJHD7QZH.mjs → chunk-BORK3BJO.mjs} +4 -7
  7. package/dist/chunk-BORK3BJO.mjs.map +1 -0
  8. package/dist/chunk-WZ2GOU2J.js +13 -0
  9. package/dist/chunk-WZ2GOU2J.js.map +1 -0
  10. package/dist/ui/accordion.d.mts +1 -1
  11. package/dist/ui/accordion.d.ts +1 -1
  12. package/dist/ui/accordion.js +80 -61
  13. package/dist/ui/accordion.js.map +1 -1
  14. package/dist/ui/accordion.mjs +46 -39
  15. package/dist/ui/accordion.mjs.map +1 -1
  16. package/dist/ui/alert.d.mts +1 -1
  17. package/dist/ui/alert.d.ts +1 -1
  18. package/dist/ui/alert.js +57 -46
  19. package/dist/ui/alert.js.map +1 -1
  20. package/dist/ui/alert.mjs +28 -30
  21. package/dist/ui/alert.mjs.map +1 -1
  22. package/dist/ui/badge.js +20 -25
  23. package/dist/ui/badge.js.map +1 -1
  24. package/dist/ui/badge.mjs +8 -20
  25. package/dist/ui/badge.mjs.map +1 -1
  26. package/dist/ui/buttons.js +19 -21
  27. package/dist/ui/buttons.js.map +1 -1
  28. package/dist/ui/buttons.mjs +8 -18
  29. package/dist/ui/buttons.mjs.map +1 -1
  30. package/dist/ui/card.js +59 -54
  31. package/dist/ui/card.js.map +1 -1
  32. package/dist/ui/card.mjs +29 -39
  33. package/dist/ui/card.mjs.map +1 -1
  34. package/dist/ui/divider.js +39 -35
  35. package/dist/ui/divider.js.map +1 -1
  36. package/dist/ui/divider.mjs +18 -23
  37. package/dist/ui/divider.mjs.map +1 -1
  38. package/dist/ui/drawer.d.mts +1 -1
  39. package/dist/ui/drawer.d.ts +1 -1
  40. package/dist/ui/drawer.js +106 -73
  41. package/dist/ui/drawer.js.map +1 -1
  42. package/dist/ui/drawer.mjs +64 -45
  43. package/dist/ui/drawer.mjs.map +1 -1
  44. package/dist/ui/dropdown.js +42 -48
  45. package/dist/ui/dropdown.js.map +1 -1
  46. package/dist/ui/dropdown.mjs +13 -29
  47. package/dist/ui/dropdown.mjs.map +1 -1
  48. package/dist/ui/empty-state.d.mts +3 -3
  49. package/dist/ui/empty-state.d.ts +3 -3
  50. package/dist/ui/empty-state.js +83 -59
  51. package/dist/ui/empty-state.js.map +1 -1
  52. package/dist/ui/empty-state.mjs +64 -52
  53. package/dist/ui/empty-state.mjs.map +1 -1
  54. package/dist/ui/inputs.js +26 -31
  55. package/dist/ui/inputs.js.map +1 -1
  56. package/dist/ui/inputs.mjs +8 -19
  57. package/dist/ui/inputs.mjs.map +1 -1
  58. package/dist/ui/modal.d.mts +1 -1
  59. package/dist/ui/modal.d.ts +1 -1
  60. package/dist/ui/modal.js +116 -78
  61. package/dist/ui/modal.js.map +1 -1
  62. package/dist/ui/modal.mjs +74 -51
  63. package/dist/ui/modal.mjs.map +1 -1
  64. package/dist/ui/pagination.js +47 -60
  65. package/dist/ui/pagination.js.map +1 -1
  66. package/dist/ui/pagination.mjs +10 -32
  67. package/dist/ui/pagination.mjs.map +1 -1
  68. package/dist/ui/progress.js +70 -58
  69. package/dist/ui/progress.js.map +1 -1
  70. package/dist/ui/progress.mjs +44 -43
  71. package/dist/ui/progress.mjs.map +1 -1
  72. package/dist/ui/select.js +73 -81
  73. package/dist/ui/select.js.map +1 -1
  74. package/dist/ui/select.mjs +38 -59
  75. package/dist/ui/select.mjs.map +1 -1
  76. package/dist/ui/skeleton.js +45 -50
  77. package/dist/ui/skeleton.js.map +1 -1
  78. package/dist/ui/skeleton.mjs +8 -25
  79. package/dist/ui/skeleton.mjs.map +1 -1
  80. package/dist/ui/spinner.js +37 -38
  81. package/dist/ui/spinner.js.map +1 -1
  82. package/dist/ui/spinner.mjs +11 -18
  83. package/dist/ui/spinner.mjs.map +1 -1
  84. package/dist/ui/table.js +77 -79
  85. package/dist/ui/table.js.map +1 -1
  86. package/dist/ui/table.mjs +43 -60
  87. package/dist/ui/table.mjs.map +1 -1
  88. package/dist/ui/tabs.js +75 -75
  89. package/dist/ui/tabs.js.map +1 -1
  90. package/dist/ui/tabs.mjs +48 -59
  91. package/dist/ui/tabs.mjs.map +1 -1
  92. package/dist/ui/toast.d.mts +2 -2
  93. package/dist/ui/toast.d.ts +2 -2
  94. package/dist/ui/toast.js +111 -88
  95. package/dist/ui/toast.js.map +1 -1
  96. package/dist/ui/toast.mjs +77 -69
  97. package/dist/ui/toast.mjs.map +1 -1
  98. package/dist/ui/toggle.js +26 -28
  99. package/dist/ui/toggle.js.map +1 -1
  100. package/dist/ui/toggle.mjs +12 -21
  101. package/dist/ui/toggle.mjs.map +1 -1
  102. package/dist/ui/tooltip.js +29 -36
  103. package/dist/ui/tooltip.js.map +1 -1
  104. package/dist/ui/tooltip.mjs +8 -23
  105. package/dist/ui/tooltip.mjs.map +1 -1
  106. package/package.json +5 -3
  107. package/dist/chunk-BZSIXBA7.js.map +0 -1
  108. package/dist/chunk-E5UX537J.js +0 -11
  109. package/dist/chunk-E5UX537J.js.map +0 -1
  110. package/dist/chunk-MEWYFWBX.mjs +0 -14
  111. package/dist/chunk-MEWYFWBX.mjs.map +0 -1
  112. package/dist/chunk-VJHD7QZH.mjs.map +0 -1
package/dist/ui/toast.mjs CHANGED
@@ -1,21 +1,10 @@
1
1
  "use client";
2
-
3
- import {
4
- cn
5
- } from "../chunk-MEWYFWBX.mjs";
6
-
7
- // src/ui/toast/toast.tsx
8
- import { AnimatePresence, motion } from "framer-motion";
9
- import {
10
- createContext,
11
- useCallback,
12
- useContext,
13
- useEffect,
14
- useMemo,
15
- useRef,
16
- useState
17
- } from "react";
18
- import { createPortal } from "react-dom";
2
+ import { cn } from '../chunk-B23TPTVG.mjs';
3
+ import { AnimatePresence, motion } from 'framer-motion';
4
+ import { createContext, useContext, useState, useRef, useCallback, useMemo, useEffect } from 'react';
5
+ import { createPortal } from 'react-dom';
6
+ import { cva } from 'class-variance-authority';
7
+ import { jsx, jsxs } from 'react/jsx-runtime';
19
8
 
20
9
  // src/ui/toast/animations.ts
21
10
  var toastAnimationPresets = {
@@ -33,24 +22,24 @@ var toastAnimationPresets = {
33
22
  transition: { duration: 0.18 }
34
23
  }
35
24
  };
36
-
37
- // src/ui/toast/variants.ts
38
- import { cva } from "class-variance-authority";
39
- var toastViewportVariants = cva("fixed z-[60] flex max-h-screen flex-col gap-2 p-4", {
40
- variants: {
41
- position: {
42
- "top-left": "left-0 top-0 items-start",
43
- "top-center": "left-1/2 top-0 -translate-x-1/2 items-center",
44
- "top-right": "right-0 top-0 items-end",
45
- "bottom-left": "bottom-0 left-0 items-start",
46
- "bottom-center": "bottom-0 left-1/2 -translate-x-1/2 items-center",
47
- "bottom-right": "bottom-0 right-0 items-end"
25
+ var toastViewportVariants = cva(
26
+ "fixed z-[60] flex max-h-screen flex-col gap-2 p-4",
27
+ {
28
+ variants: {
29
+ position: {
30
+ "top-left": "left-0 top-0 items-start",
31
+ "top-center": "left-1/2 top-0 -translate-x-1/2 items-center",
32
+ "top-right": "right-0 top-0 items-end",
33
+ "bottom-left": "bottom-0 left-0 items-start",
34
+ "bottom-center": "bottom-0 left-1/2 -translate-x-1/2 items-center",
35
+ "bottom-right": "bottom-0 right-0 items-end"
36
+ }
37
+ },
38
+ defaultVariants: {
39
+ position: "bottom-right"
48
40
  }
49
- },
50
- defaultVariants: {
51
- position: "bottom-right"
52
41
  }
53
- });
42
+ );
54
43
  var toastRootVariants = cva(
55
44
  "pointer-events-auto w-[min(100vw-2rem,380px)] rounded-xl border border-white/10 bg-slate-950 p-4 text-slate-50 shadow-[0_18px_48px_rgba(15,23,42,0.45)]",
56
45
  {
@@ -94,9 +83,6 @@ var toastRootVariants = cva(
94
83
  }
95
84
  }
96
85
  );
97
-
98
- // src/ui/toast/toast.tsx
99
- import { jsx, jsxs } from "react/jsx-runtime";
100
86
  var ToastStoreContext = createContext(null);
101
87
  var toastDispatcher = null;
102
88
  function toast(input) {
@@ -157,7 +143,10 @@ function ToastProvider({ children }) {
157
143
  return /* @__PURE__ */ jsx(ToastStoreContext.Provider, { value: ctx, children });
158
144
  }
159
145
  ToastProvider.displayName = "ToastProvider";
160
- function ToastViewport({ position = "bottom-right", className }) {
146
+ function ToastViewport({
147
+ position = "bottom-right",
148
+ className
149
+ }) {
161
150
  const ctx = useContext(ToastStoreContext);
162
151
  if (!ctx) {
163
152
  throw new Error("ToastViewport must be used within <ToastProvider>");
@@ -167,26 +156,40 @@ function ToastViewport({ position = "bottom-right", className }) {
167
156
  return null;
168
157
  }
169
158
  return createPortal(
170
- /* @__PURE__ */ jsx("div", { className: cn(toastViewportVariants({ position }), className), "data-slot": "toast-viewport", children: /* @__PURE__ */ jsx(AnimatePresence, { children: ctx.toasts.map((item) => /* @__PURE__ */ jsxs(
171
- Toast,
159
+ /* @__PURE__ */ jsx(
160
+ "div",
172
161
  {
173
- toastId: item.id,
174
- appearance: item.appearance,
175
- size: item.size,
176
- animation: item.animation,
177
- children: [
178
- /* @__PURE__ */ jsx(ToastTitle, { children: item.title }),
179
- item.description ? /* @__PURE__ */ jsx(ToastDescription, { children: item.description }) : null,
180
- /* @__PURE__ */ jsx(ToastClose, { onClick: () => ctx.dismiss(item.id) })
181
- ]
182
- },
183
- item.id
184
- )) }) }),
162
+ className: cn(toastViewportVariants({ position }), className),
163
+ "data-slot": "toast-viewport",
164
+ children: /* @__PURE__ */ jsx(AnimatePresence, { children: ctx.toasts.map((item) => /* @__PURE__ */ jsxs(
165
+ Toast,
166
+ {
167
+ toastId: item.id,
168
+ appearance: item.appearance,
169
+ size: item.size,
170
+ animation: item.animation,
171
+ children: [
172
+ /* @__PURE__ */ jsx(ToastTitle, { children: item.title }),
173
+ item.description ? /* @__PURE__ */ jsx(ToastDescription, { children: item.description }) : null,
174
+ /* @__PURE__ */ jsx(ToastClose, { onClick: () => ctx.dismiss(item.id) })
175
+ ]
176
+ },
177
+ item.id
178
+ )) })
179
+ }
180
+ ),
185
181
  portalTarget
186
182
  );
187
183
  }
188
184
  ToastViewport.displayName = "ToastViewport";
189
- function Toast({ toastId: _toastId, appearance, size, animation = "slide", className, children }) {
185
+ function Toast({
186
+ toastId: _toastId,
187
+ appearance,
188
+ size,
189
+ animation = "slide",
190
+ className,
191
+ children
192
+ }) {
190
193
  const motionProps = toastAnimationPresets[animation];
191
194
  const live = appearance === "error" ? "assertive" : "polite";
192
195
  return /* @__PURE__ */ jsx(
@@ -197,7 +200,11 @@ function Toast({ toastId: _toastId, appearance, size, animation = "slide", class
197
200
  role: appearance === "error" ? "alert" : "status",
198
201
  "aria-live": live,
199
202
  "aria-atomic": "true",
200
- className: cn("relative", toastRootVariants({ appearance, size }), className),
203
+ className: cn(
204
+ "relative",
205
+ toastRootVariants({ appearance, size }),
206
+ className
207
+ ),
201
208
  initial: animation === "none" ? false : motionProps.initial,
202
209
  animate: animation === "none" ? void 0 : motionProps.animate,
203
210
  exit: animation === "none" ? void 0 : motionProps.exit,
@@ -212,14 +219,26 @@ function ToastTitle({ className, children }) {
212
219
  }
213
220
  ToastTitle.displayName = "ToastTitle";
214
221
  function ToastDescription({ className, children }) {
215
- return /* @__PURE__ */ jsx("div", { "data-slot": "toast-description", className: cn("text-sm text-slate-300", className), children });
222
+ return /* @__PURE__ */ jsx(
223
+ "div",
224
+ {
225
+ "data-slot": "toast-description",
226
+ className: cn("text-sm text-slate-300", className),
227
+ children
228
+ }
229
+ );
216
230
  }
217
231
  ToastDescription.displayName = "ToastDescription";
218
232
  function ToastAction({ className, children }) {
219
233
  return /* @__PURE__ */ jsx("div", { "data-slot": "toast-action", className: cn("mt-3", className), children });
220
234
  }
221
235
  ToastAction.displayName = "ToastAction";
222
- function ToastClose({ className, children, onClick, ...rest }) {
236
+ function ToastClose({
237
+ className,
238
+ children,
239
+ onClick,
240
+ ...rest
241
+ }) {
223
242
  return /* @__PURE__ */ jsx(
224
243
  "button",
225
244
  {
@@ -237,18 +256,7 @@ function ToastClose({ className, children, onClick, ...rest }) {
237
256
  );
238
257
  }
239
258
  ToastClose.displayName = "ToastClose";
240
- export {
241
- Toast,
242
- ToastAction,
243
- ToastClose,
244
- ToastDescription,
245
- ToastProvider,
246
- ToastTitle,
247
- ToastViewport,
248
- toast,
249
- toastAnimationPresets,
250
- toastRootVariants,
251
- toastViewportVariants,
252
- useToast
253
- };
259
+
260
+ export { Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, toast, toastAnimationPresets, toastRootVariants, toastViewportVariants, useToast };
261
+ //# sourceMappingURL=toast.mjs.map
254
262
  //# sourceMappingURL=toast.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/toast/toast.tsx","../../src/ui/toast/animations.ts","../../src/ui/toast/variants.ts"],"sourcesContent":["\"use client\";\n\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { toastAnimationPresets } from \"./animations\";\nimport type {\n ToastContextValue,\n ToastInput,\n ToastProps,\n ToastProviderProps,\n ToastSectionProps,\n ToastViewportProps,\n} from \"./types\";\nimport { toastRootVariants, toastViewportVariants } from \"./variants\";\n\ntype InternalToast = Required<Pick<ToastInput, \"id\">> &\n Omit<ToastInput, \"id\"> & {\n durationMs: number;\n animation: NonNullable<ToastInput[\"animation\"]>;\n };\n\ntype ToastStoreContextValue = {\n toasts: InternalToast[];\n push: (input: ToastInput) => string;\n dismiss: (id: string) => void;\n};\n\nconst ToastStoreContext = createContext<ToastStoreContextValue | null>(null);\n\nlet toastDispatcher: ToastStoreContextValue[\"push\"] | null = null;\n\nexport function toast(input: ToastInput) {\n if (!toastDispatcher) {\n return \"\";\n }\n return toastDispatcher(input);\n}\n\nexport function useToast(): ToastContextValue {\n const ctx = useContext(ToastStoreContext);\n if (!ctx) {\n throw new Error(\"useToast must be used within <ToastProvider>\");\n }\n return { toast: ctx.push, dismiss: ctx.dismiss };\n}\n\nexport function ToastProvider({ children }: ToastProviderProps) {\n const [toasts, setToasts] = useState<InternalToast[]>([]);\n const timers = useRef<Map<string, number>>(new Map());\n\n const dismiss = useCallback((id: string) => {\n const timerId = timers.current.get(id);\n if (timerId) {\n window.clearTimeout(timerId);\n timers.current.delete(id);\n }\n setToasts((prev) => prev.filter((toastItem) => toastItem.id !== id));\n }, []);\n\n const push = useCallback(\n (input: ToastInput) => {\n const id = input.id ?? `toast-${Math.random().toString(16).slice(2)}`;\n const durationMs = input.durationMs ?? 4500;\n const record: InternalToast = {\n ...input,\n id,\n durationMs,\n animation: input.animation ?? \"slide\",\n };\n setToasts((prev) => [...prev, record]);\n const timerId = window.setTimeout(() => dismiss(id), durationMs);\n timers.current.set(id, timerId);\n return id;\n },\n [dismiss],\n );\n\n const ctx = useMemo(\n () => ({\n toasts,\n push,\n dismiss,\n }),\n [dismiss, push, toasts],\n );\n\n useEffect(() => {\n toastDispatcher = push;\n return () => {\n toastDispatcher = null;\n };\n }, [push]);\n\n return <ToastStoreContext.Provider value={ctx}>{children}</ToastStoreContext.Provider>;\n}\n\nToastProvider.displayName = \"ToastProvider\";\n\nexport function ToastViewport({ position = \"bottom-right\", className }: ToastViewportProps) {\n const ctx = useContext(ToastStoreContext);\n if (!ctx) {\n throw new Error(\"ToastViewport must be used within <ToastProvider>\");\n }\n\n const portalTarget = typeof document !== \"undefined\" ? document.body : null;\n if (!portalTarget) {\n return null;\n }\n\n return createPortal(\n <div className={cn(toastViewportVariants({ position }), className)} data-slot=\"toast-viewport\">\n <AnimatePresence>\n {ctx.toasts.map((item) => (\n <Toast\n key={item.id}\n toastId={item.id}\n appearance={item.appearance}\n size={item.size}\n animation={item.animation}\n >\n <ToastTitle>{item.title}</ToastTitle>\n {item.description ? <ToastDescription>{item.description}</ToastDescription> : null}\n <ToastClose onClick={() => ctx.dismiss(item.id)} />\n </Toast>\n ))}\n </AnimatePresence>\n </div>,\n portalTarget,\n );\n}\n\nToastViewport.displayName = \"ToastViewport\";\n\nexport function Toast({ toastId: _toastId, appearance, size, animation = \"slide\", className, children }: ToastProps) {\n const motionProps = toastAnimationPresets[animation];\n const live = appearance === \"error\" ? \"assertive\" : \"polite\";\n\n return (\n <motion.div\n layout\n data-slot=\"toast\"\n role={appearance === \"error\" ? \"alert\" : \"status\"}\n aria-live={live}\n aria-atomic=\"true\"\n className={cn(\"relative\", toastRootVariants({ appearance, size }), className)}\n initial={animation === \"none\" ? false : motionProps.initial}\n animate={animation === \"none\" ? undefined : motionProps.animate}\n exit={animation === \"none\" ? undefined : motionProps.exit}\n transition={motionProps.transition}\n >\n {children}\n </motion.div>\n );\n}\n\nToast.displayName = \"Toast\";\n\nexport function ToastTitle({ className, children }: ToastSectionProps) {\n return <div data-slot=\"toast-title\" className={cn(\"font-semibold\", className)}>{children}</div>;\n}\n\nToastTitle.displayName = \"ToastTitle\";\n\nexport function ToastDescription({ className, children }: ToastSectionProps) {\n return (\n <div data-slot=\"toast-description\" className={cn(\"text-sm text-slate-300\", className)}>\n {children}\n </div>\n );\n}\n\nToastDescription.displayName = \"ToastDescription\";\n\nexport function ToastAction({ className, children }: ToastSectionProps) {\n return <div data-slot=\"toast-action\" className={cn(\"mt-3\", className)}>{children}</div>;\n}\n\nToastAction.displayName = \"ToastAction\";\n\nexport function ToastClose({ className, children, onClick, ...rest }: ToastSectionProps & { onClick?: () => void }) {\n return (\n <button\n type=\"button\"\n data-slot=\"toast-close\"\n aria-label=\"Dismiss notification\"\n className={cn(\n \"absolute right-3 top-3 inline-flex size-8 items-center justify-center rounded-md text-slate-200 transition hover:bg-white/10\",\n className,\n )}\n onClick={onClick}\n {...rest}\n >\n {children ?? \"×\"}\n </button>\n );\n}\n\nToastClose.displayName = \"ToastClose\";\n","import type { HTMLMotionProps } from \"framer-motion\";\n\nexport type ToastAnimation = \"none\" | \"slide\" | \"fade\";\n\ntype ToastPresetMotionProps = Pick<\n HTMLMotionProps<\"div\">,\n \"initial\" | \"animate\" | \"exit\" | \"transition\"\n>;\n\nexport type ToastAnimationPresets = Record<ToastAnimation, ToastPresetMotionProps>;\n\nexport const toastAnimationPresets: ToastAnimationPresets = {\n none: {},\n slide: {\n initial: { opacity: 0, x: 24 },\n animate: { opacity: 1, x: 0 },\n exit: { opacity: 0, x: 16 },\n transition: { type: \"spring\", stiffness: 380, damping: 28 },\n },\n fade: {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n exit: { opacity: 0 },\n transition: { duration: 0.18 },\n },\n};\n","import { cva } from \"class-variance-authority\";\n\nexport const toastViewportVariants = cva(\"fixed z-[60] flex max-h-screen flex-col gap-2 p-4\", {\n variants: {\n position: {\n \"top-left\": \"left-0 top-0 items-start\",\n \"top-center\": \"left-1/2 top-0 -translate-x-1/2 items-center\",\n \"top-right\": \"right-0 top-0 items-end\",\n \"bottom-left\": \"bottom-0 left-0 items-start\",\n \"bottom-center\": \"bottom-0 left-1/2 -translate-x-1/2 items-center\",\n \"bottom-right\": \"bottom-0 right-0 items-end\",\n },\n },\n defaultVariants: {\n position: \"bottom-right\",\n },\n});\n\nexport const toastRootVariants = cva(\n \"pointer-events-auto w-[min(100vw-2rem,380px)] rounded-xl border border-white/10 bg-slate-950 p-4 text-slate-50 shadow-[0_18px_48px_rgba(15,23,42,0.45)]\",\n {\n variants: {\n appearance: {\n default: \"bg-slate-950\",\n success: \"border-emerald-500/40 bg-emerald-950\",\n warning: \"border-amber-500/40 bg-amber-950\",\n error: \"border-rose-500/50 bg-rose-950\",\n info: \"border-sky-500/40 bg-sky-950\",\n ghost: \"border-transparent bg-transparent text-slate-200\",\n purple: \"border-purple-600 bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border-pink-600 bg-pink-950/70 backdrop-blur-xl\",\n orange: \"border-orange-600 bg-orange-950/70 backdrop-blur-xl\",\n yellow: \"border-yellow-600 bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border-teal-600 bg-teal-950/70 backdrop-blur-xl\",\n indigo: \"border-indigo-600 bg-indigo-950/70 backdrop-blur-xl\",\n emerald: \"border-emerald-600 bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border-gray-600 bg-gray-950/70 backdrop-blur-xl\",\n amber: \"border-amber-600 bg-amber-950/70 backdrop-blur-xl\",\n violet: \"border-violet-600 bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\": \"border-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\": \"border-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\": \"border-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\": \"border-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\": \"border-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\": \"border-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\": \"border-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\": \"border-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\": \"border-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n size: {\n sm: \"p-3 text-xs\",\n md: \"p-4 text-sm\",\n lg: \"p-5 text-base\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n },\n);\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/ui/toast/animations.ts","../../src/ui/toast/variants.ts","../../src/ui/toast/toast.tsx"],"names":[],"mappings":";;;;;;;;AAcO,IAAM,qBAAA,GAA+C;AAAA,EAC1D,MAAM,EAAC;AAAA,EACP,KAAA,EAAO;AAAA,IACL,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,EAAA,EAAG;AAAA,IAC7B,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,CAAA,EAAE;AAAA,IAC5B,IAAA,EAAM,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,EAAA,EAAG;AAAA,IAC1B,YAAY,EAAE,IAAA,EAAM,UAAU,SAAA,EAAW,GAAA,EAAK,SAAS,EAAA;AAAG,GAC5D;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAE;AAAA,IACtB,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAE;AAAA,IACtB,IAAA,EAAM,EAAE,OAAA,EAAS,CAAA,EAAE;AAAA,IACnB,UAAA,EAAY,EAAE,QAAA,EAAU,IAAA;AAAK;AAEjC;AC1BO,IAAM,qBAAA,GAAwB,GAAA;AAAA,EACnC,mDAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,QAAA,EAAU;AAAA,QACR,UAAA,EAAY,0BAAA;AAAA,QACZ,YAAA,EAAc,8CAAA;AAAA,QACd,WAAA,EAAa,yBAAA;AAAA,QACb,aAAA,EAAe,6BAAA;AAAA,QACf,eAAA,EAAiB,iDAAA;AAAA,QACjB,cAAA,EAAgB;AAAA;AAClB,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,QAAA,EAAU;AAAA;AACZ;AAEJ;AAEO,IAAM,iBAAA,GAAoB,GAAA;AAAA,EAC/B,yJAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,OAAA,EAAS,cAAA;AAAA,QACT,OAAA,EAAS,sCAAA;AAAA,QACT,OAAA,EAAS,kCAAA;AAAA,QACT,KAAA,EAAO,gCAAA;AAAA,QACP,IAAA,EAAM,8BAAA;AAAA,QACN,KAAA,EAAO,kDAAA;AAAA,QACP,MAAA,EAAQ,qDAAA;AAAA,QACR,IAAA,EAAM,iDAAA;AAAA,QACN,MAAA,EAAQ,qDAAA;AAAA,QACR,MAAA,EAAQ,qDAAA;AAAA,QACR,IAAA,EAAM,iDAAA;AAAA,QACN,MAAA,EAAQ,qDAAA;AAAA,QACR,OAAA,EAAS,uDAAA;AAAA,QACT,IAAA,EAAM,iDAAA;AAAA,QACN,KAAA,EAAO,mDAAA;AAAA,QACP,MAAA,EAAQ,qDAAA;AAAA,QACR,eAAA,EACE,sHAAA;AAAA,QACF,gBAAA,EACE,oHAAA;AAAA,QACF,cAAA,EACE,gHAAA;AAAA,QACF,iBAAA,EACE,0HAAA;AAAA,QACF,iBAAA,EACE,sHAAA;AAAA,QACF,eAAA,EACE,kHAAA;AAAA,QACF,iBAAA,EACE,0HAAA;AAAA,QACF,eAAA,EACE,kHAAA;AAAA,QACF,iBAAA,EACE;AAAA,OACJ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,aAAA;AAAA,QACJ,EAAA,EAAI,aAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY,SAAA;AAAA,MACZ,IAAA,EAAM;AAAA;AACR;AAEJ;ACjCA,IAAM,iBAAA,GAAoB,cAA6C,IAAI,CAAA;AAE3E,IAAI,eAAA,GAAyD,IAAA;AAEtD,SAAS,MAAM,KAAA,EAAmB;AACvC,EAAA,IAAI,CAAC,eAAA,EAAiB;AACpB,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,OAAO,gBAAgB,KAAK,CAAA;AAC9B;AAEO,SAAS,QAAA,GAA8B;AAC5C,EAAA,MAAM,GAAA,GAAM,WAAW,iBAAiB,CAAA;AACxC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,MAAM,8CAA8C,CAAA;AAAA,EAChE;AACA,EAAA,OAAO,EAAE,KAAA,EAAO,GAAA,CAAI,IAAA,EAAM,OAAA,EAAS,IAAI,OAAA,EAAQ;AACjD;AAEO,SAAS,aAAA,CAAc,EAAE,QAAA,EAAS,EAAuB;AAC9D,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,QAAA,CAA0B,EAAE,CAAA;AACxD,EAAA,MAAM,MAAA,GAAS,MAAA,iBAA4B,IAAI,GAAA,EAAK,CAAA;AAEpD,EAAA,MAAM,OAAA,GAAU,WAAA,CAAY,CAAC,EAAA,KAAe;AAC1C,IAAA,MAAM,OAAA,GAAU,MAAA,CAAO,OAAA,CAAQ,GAAA,CAAI,EAAE,CAAA;AACrC,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,MAAA,MAAA,CAAO,OAAA,CAAQ,OAAO,EAAE,CAAA;AAAA,IAC1B;AACA,IAAA,SAAA,CAAU,CAAC,SAAS,IAAA,CAAK,MAAA,CAAO,CAAC,SAAA,KAAc,SAAA,CAAU,EAAA,KAAO,EAAE,CAAC,CAAA;AAAA,EACrE,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,IAAA,GAAO,WAAA;AAAA,IACX,CAAC,KAAA,KAAsB;AACrB,MAAA,MAAM,EAAA,GAAK,KAAA,CAAM,EAAA,IAAM,CAAA,MAAA,EAAS,IAAA,CAAK,MAAA,EAAO,CAAE,QAAA,CAAS,EAAE,CAAA,CAAE,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AACnE,MAAA,MAAM,UAAA,GAAa,MAAM,UAAA,IAAc,IAAA;AACvC,MAAA,MAAM,MAAA,GAAwB;AAAA,QAC5B,GAAG,KAAA;AAAA,QACH,EAAA;AAAA,QACA,UAAA;AAAA,QACA,SAAA,EAAW,MAAM,SAAA,IAAa;AAAA,OAChC;AACA,MAAA,SAAA,CAAU,CAAC,IAAA,KAAS,CAAC,GAAG,IAAA,EAAM,MAAM,CAAC,CAAA;AACrC,MAAA,MAAM,UAAU,MAAA,CAAO,UAAA,CAAW,MAAM,OAAA,CAAQ,EAAE,GAAG,UAAU,CAAA;AAC/D,MAAA,MAAA,CAAO,OAAA,CAAQ,GAAA,CAAI,EAAA,EAAI,OAAO,CAAA;AAC9B,MAAA,OAAO,EAAA;AAAA,IACT,CAAA;AAAA,IACA,CAAC,OAAO;AAAA,GACV;AAEA,EAAA,MAAM,GAAA,GAAM,OAAA;AAAA,IACV,OAAO;AAAA,MACL,MAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,IAAA,EAAM,MAAM;AAAA,GACxB;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,eAAA,GAAkB,IAAA;AAClB,IAAA,OAAO,MAAM;AACX,MAAA,eAAA,GAAkB,IAAA;AAAA,IACpB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,2BACG,iBAAA,CAAkB,QAAA,EAAlB,EAA2B,KAAA,EAAO,KAChC,QAAA,EACH,CAAA;AAEJ;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA;AAErB,SAAS,aAAA,CAAc;AAAA,EAC5B,QAAA,GAAW,cAAA;AAAA,EACX;AACF,CAAA,EAAuB;AACrB,EAAA,MAAM,GAAA,GAAM,WAAW,iBAAiB,CAAA;AACxC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,MAAM,mDAAmD,CAAA;AAAA,EACrE;AAEA,EAAA,MAAM,YAAA,GAAe,OAAO,QAAA,KAAa,WAAA,GAAc,SAAS,IAAA,GAAO,IAAA;AACvE,EAAA,IAAI,CAAC,YAAA,EAAc;AACjB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,YAAA;AAAA,oBACL,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAW,EAAA,CAAG,qBAAA,CAAsB,EAAE,QAAA,EAAU,GAAG,SAAS,CAAA;AAAA,QAC5D,WAAA,EAAU,gBAAA;AAAA,QAEV,8BAAC,eAAA,EAAA,EACE,QAAA,EAAA,GAAA,CAAI,MAAA,CAAO,GAAA,CAAI,CAAC,IAAA,qBACf,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YAEC,SAAS,IAAA,CAAK,EAAA;AAAA,YACd,YAAY,IAAA,CAAK,UAAA;AAAA,YACjB,MAAM,IAAA,CAAK,IAAA;AAAA,YACX,WAAW,IAAA,CAAK,SAAA;AAAA,YAEhB,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,UAAA,EAAA,EAAY,eAAK,KAAA,EAAM,CAAA;AAAA,cACvB,KAAK,WAAA,mBACJ,GAAA,CAAC,gBAAA,EAAA,EAAkB,QAAA,EAAA,IAAA,CAAK,aAAY,CAAA,GAClC,IAAA;AAAA,8BACJ,GAAA,CAAC,cAAW,OAAA,EAAS,MAAM,IAAI,OAAA,CAAQ,IAAA,CAAK,EAAE,CAAA,EAAG;AAAA;AAAA,WAAA;AAAA,UAV5C,IAAA,CAAK;AAAA,SAYb,CAAA,EACH;AAAA;AAAA,KACF;AAAA,IACA;AAAA,GACF;AACF;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA;AAErB,SAAS,KAAA,CAAM;AAAA,EACpB,OAAA,EAAS,QAAA;AAAA,EACT,UAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA,GAAY,OAAA;AAAA,EACZ,SAAA;AAAA,EACA;AACF,CAAA,EAAe;AACb,EAAA,MAAM,WAAA,GAAc,sBAAsB,SAAS,CAAA;AACnD,EAAA,MAAM,IAAA,GAAO,UAAA,KAAe,OAAA,GAAU,WAAA,GAAc,QAAA;AAEpD,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,MAAA,EAAM,IAAA;AAAA,MACN,WAAA,EAAU,OAAA;AAAA,MACV,IAAA,EAAM,UAAA,KAAe,OAAA,GAAU,OAAA,GAAU,QAAA;AAAA,MACzC,WAAA,EAAW,IAAA;AAAA,MACX,aAAA,EAAY,MAAA;AAAA,MACZ,SAAA,EAAW,EAAA;AAAA,QACT,UAAA;AAAA,QACA,iBAAA,CAAkB,EAAE,UAAA,EAAY,IAAA,EAAM,CAAA;AAAA,QACtC;AAAA,OACF;AAAA,MACA,OAAA,EAAS,SAAA,KAAc,MAAA,GAAS,KAAA,GAAQ,WAAA,CAAY,OAAA;AAAA,MACpD,OAAA,EAAS,SAAA,KAAc,MAAA,GAAS,MAAA,GAAY,WAAA,CAAY,OAAA;AAAA,MACxD,IAAA,EAAM,SAAA,KAAc,MAAA,GAAS,MAAA,GAAY,WAAA,CAAY,IAAA;AAAA,MACrD,YAAY,WAAA,CAAY,UAAA;AAAA,MAEvB;AAAA;AAAA,GACH;AAEJ;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA;AAEb,SAAS,UAAA,CAAW,EAAE,SAAA,EAAW,QAAA,EAAS,EAAsB;AACrE,EAAA,uBACE,GAAA,CAAC,SAAI,WAAA,EAAU,aAAA,EAAc,WAAW,EAAA,CAAG,eAAA,EAAiB,SAAS,CAAA,EAClE,QAAA,EACH,CAAA;AAEJ;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;AAElB,SAAS,gBAAA,CAAiB,EAAE,SAAA,EAAW,QAAA,EAAS,EAAsB;AAC3E,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,wBAAA,EAA0B,SAAS,CAAA;AAAA,MAEhD;AAAA;AAAA,GACH;AAEJ;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;AAExB,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,QAAA,EAAS,EAAsB;AACtE,EAAA,uBACE,GAAA,CAAC,SAAI,WAAA,EAAU,cAAA,EAAe,WAAW,EAAA,CAAG,MAAA,EAAQ,SAAS,CAAA,EAC1D,QAAA,EACH,CAAA;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AAEnB,SAAS,UAAA,CAAW;AAAA,EACzB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAiD;AAC/C,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,WAAA,EAAU,aAAA;AAAA,MACV,YAAA,EAAW,sBAAA;AAAA,MACX,SAAA,EAAW,EAAA;AAAA,QACT,8HAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,OAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA,QAAA,IAAY;AAAA;AAAA,GACf;AAEJ;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA","file":"toast.mjs","sourcesContent":["import type { HTMLMotionProps } from \"framer-motion\";\n\nexport type ToastAnimation = \"none\" | \"slide\" | \"fade\";\n\ntype ToastPresetMotionProps = Pick<\n HTMLMotionProps<\"div\">,\n \"initial\" | \"animate\" | \"exit\" | \"transition\"\n>;\n\nexport type ToastAnimationPresets = Record<\n ToastAnimation,\n ToastPresetMotionProps\n>;\n\nexport const toastAnimationPresets: ToastAnimationPresets = {\n none: {},\n slide: {\n initial: { opacity: 0, x: 24 },\n animate: { opacity: 1, x: 0 },\n exit: { opacity: 0, x: 16 },\n transition: { type: \"spring\", stiffness: 380, damping: 28 },\n },\n fade: {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n exit: { opacity: 0 },\n transition: { duration: 0.18 },\n },\n};\n","import { cva } from \"class-variance-authority\";\n\nexport const toastViewportVariants = cva(\n \"fixed z-[60] flex max-h-screen flex-col gap-2 p-4\",\n {\n variants: {\n position: {\n \"top-left\": \"left-0 top-0 items-start\",\n \"top-center\": \"left-1/2 top-0 -translate-x-1/2 items-center\",\n \"top-right\": \"right-0 top-0 items-end\",\n \"bottom-left\": \"bottom-0 left-0 items-start\",\n \"bottom-center\": \"bottom-0 left-1/2 -translate-x-1/2 items-center\",\n \"bottom-right\": \"bottom-0 right-0 items-end\",\n },\n },\n defaultVariants: {\n position: \"bottom-right\",\n },\n },\n);\n\nexport const toastRootVariants = cva(\n \"pointer-events-auto w-[min(100vw-2rem,380px)] rounded-xl border border-white/10 bg-slate-950 p-4 text-slate-50 shadow-[0_18px_48px_rgba(15,23,42,0.45)]\",\n {\n variants: {\n appearance: {\n default: \"bg-slate-950\",\n success: \"border-emerald-500/40 bg-emerald-950\",\n warning: \"border-amber-500/40 bg-amber-950\",\n error: \"border-rose-500/50 bg-rose-950\",\n info: \"border-sky-500/40 bg-sky-950\",\n ghost: \"border-transparent bg-transparent text-slate-200\",\n purple: \"border-purple-600 bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border-pink-600 bg-pink-950/70 backdrop-blur-xl\",\n orange: \"border-orange-600 bg-orange-950/70 backdrop-blur-xl\",\n yellow: \"border-yellow-600 bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border-teal-600 bg-teal-950/70 backdrop-blur-xl\",\n indigo: \"border-indigo-600 bg-indigo-950/70 backdrop-blur-xl\",\n emerald: \"border-emerald-600 bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border-gray-600 bg-gray-950/70 backdrop-blur-xl\",\n amber: \"border-amber-600 bg-amber-950/70 backdrop-blur-xl\",\n violet: \"border-violet-600 bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\":\n \"border-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\":\n \"border-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\":\n \"border-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\":\n \"border-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\":\n \"border-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\":\n \"border-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\":\n \"border-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\":\n \"border-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\":\n \"border-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n size: {\n sm: \"p-3 text-xs\",\n md: \"p-4 text-sm\",\n lg: \"p-5 text-base\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n },\n);\n","\"use client\";\n\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { toastAnimationPresets } from \"./animations\";\nimport type {\n ToastContextValue,\n ToastInput,\n ToastProps,\n ToastProviderProps,\n ToastSectionProps,\n ToastViewportProps,\n} from \"./types\";\nimport { toastRootVariants, toastViewportVariants } from \"./variants\";\n\ntype InternalToast = Required<Pick<ToastInput, \"id\">> &\n Omit<ToastInput, \"id\"> & {\n durationMs: number;\n animation: NonNullable<ToastInput[\"animation\"]>;\n };\n\ntype ToastStoreContextValue = {\n toasts: InternalToast[];\n push: (input: ToastInput) => string;\n dismiss: (id: string) => void;\n};\n\nconst ToastStoreContext = createContext<ToastStoreContextValue | null>(null);\n\nlet toastDispatcher: ToastStoreContextValue[\"push\"] | null = null;\n\nexport function toast(input: ToastInput) {\n if (!toastDispatcher) {\n return \"\";\n }\n return toastDispatcher(input);\n}\n\nexport function useToast(): ToastContextValue {\n const ctx = useContext(ToastStoreContext);\n if (!ctx) {\n throw new Error(\"useToast must be used within <ToastProvider>\");\n }\n return { toast: ctx.push, dismiss: ctx.dismiss };\n}\n\nexport function ToastProvider({ children }: ToastProviderProps) {\n const [toasts, setToasts] = useState<InternalToast[]>([]);\n const timers = useRef<Map<string, number>>(new Map());\n\n const dismiss = useCallback((id: string) => {\n const timerId = timers.current.get(id);\n if (timerId) {\n window.clearTimeout(timerId);\n timers.current.delete(id);\n }\n setToasts((prev) => prev.filter((toastItem) => toastItem.id !== id));\n }, []);\n\n const push = useCallback(\n (input: ToastInput) => {\n const id = input.id ?? `toast-${Math.random().toString(16).slice(2)}`;\n const durationMs = input.durationMs ?? 4500;\n const record: InternalToast = {\n ...input,\n id,\n durationMs,\n animation: input.animation ?? \"slide\",\n };\n setToasts((prev) => [...prev, record]);\n const timerId = window.setTimeout(() => dismiss(id), durationMs);\n timers.current.set(id, timerId);\n return id;\n },\n [dismiss],\n );\n\n const ctx = useMemo(\n () => ({\n toasts,\n push,\n dismiss,\n }),\n [dismiss, push, toasts],\n );\n\n useEffect(() => {\n toastDispatcher = push;\n return () => {\n toastDispatcher = null;\n };\n }, [push]);\n\n return (\n <ToastStoreContext.Provider value={ctx}>\n {children}\n </ToastStoreContext.Provider>\n );\n}\n\nToastProvider.displayName = \"ToastProvider\";\n\nexport function ToastViewport({\n position = \"bottom-right\",\n className,\n}: ToastViewportProps) {\n const ctx = useContext(ToastStoreContext);\n if (!ctx) {\n throw new Error(\"ToastViewport must be used within <ToastProvider>\");\n }\n\n const portalTarget = typeof document !== \"undefined\" ? document.body : null;\n if (!portalTarget) {\n return null;\n }\n\n return createPortal(\n <div\n className={cn(toastViewportVariants({ position }), className)}\n data-slot=\"toast-viewport\"\n >\n <AnimatePresence>\n {ctx.toasts.map((item) => (\n <Toast\n key={item.id}\n toastId={item.id}\n appearance={item.appearance}\n size={item.size}\n animation={item.animation}\n >\n <ToastTitle>{item.title}</ToastTitle>\n {item.description ? (\n <ToastDescription>{item.description}</ToastDescription>\n ) : null}\n <ToastClose onClick={() => ctx.dismiss(item.id)} />\n </Toast>\n ))}\n </AnimatePresence>\n </div>,\n portalTarget,\n );\n}\n\nToastViewport.displayName = \"ToastViewport\";\n\nexport function Toast({\n toastId: _toastId,\n appearance,\n size,\n animation = \"slide\",\n className,\n children,\n}: ToastProps) {\n const motionProps = toastAnimationPresets[animation];\n const live = appearance === \"error\" ? \"assertive\" : \"polite\";\n\n return (\n <motion.div\n layout\n data-slot=\"toast\"\n role={appearance === \"error\" ? \"alert\" : \"status\"}\n aria-live={live}\n aria-atomic=\"true\"\n className={cn(\n \"relative\",\n toastRootVariants({ appearance, size }),\n className,\n )}\n initial={animation === \"none\" ? false : motionProps.initial}\n animate={animation === \"none\" ? undefined : motionProps.animate}\n exit={animation === \"none\" ? undefined : motionProps.exit}\n transition={motionProps.transition}\n >\n {children}\n </motion.div>\n );\n}\n\nToast.displayName = \"Toast\";\n\nexport function ToastTitle({ className, children }: ToastSectionProps) {\n return (\n <div data-slot=\"toast-title\" className={cn(\"font-semibold\", className)}>\n {children}\n </div>\n );\n}\n\nToastTitle.displayName = \"ToastTitle\";\n\nexport function ToastDescription({ className, children }: ToastSectionProps) {\n return (\n <div\n data-slot=\"toast-description\"\n className={cn(\"text-sm text-slate-300\", className)}\n >\n {children}\n </div>\n );\n}\n\nToastDescription.displayName = \"ToastDescription\";\n\nexport function ToastAction({ className, children }: ToastSectionProps) {\n return (\n <div data-slot=\"toast-action\" className={cn(\"mt-3\", className)}>\n {children}\n </div>\n );\n}\n\nToastAction.displayName = \"ToastAction\";\n\nexport function ToastClose({\n className,\n children,\n onClick,\n ...rest\n}: ToastSectionProps & { onClick?: () => void }) {\n return (\n <button\n type=\"button\"\n data-slot=\"toast-close\"\n aria-label=\"Dismiss notification\"\n className={cn(\n \"absolute right-3 top-3 inline-flex size-8 items-center justify-center rounded-md text-slate-200 transition hover:bg-white/10\",\n className,\n )}\n onClick={onClick}\n {...rest}\n >\n {children ?? \"×\"}\n </button>\n );\n}\n\nToastClose.displayName = \"ToastClose\";\n"]}
package/dist/ui/toggle.js CHANGED
@@ -1,10 +1,11 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
1
+ "use client";
2
+ 'use strict';
2
3
 
3
- var _chunkE5UX537Jjs = require('../chunk-E5UX537J.js');
4
-
5
- // src/ui/toggle/toggle.tsx
6
- var _framermotion = require('framer-motion');
7
- var _react = require('react');
4
+ var chunkWZ2GOU2J_js = require('../chunk-WZ2GOU2J.js');
5
+ var framerMotion = require('framer-motion');
6
+ var react = require('react');
7
+ var classVarianceAuthority = require('class-variance-authority');
8
+ var jsxRuntime = require('react/jsx-runtime');
8
9
 
9
10
  // src/ui/toggle/animations.ts
10
11
  var toggleThumbAnimationPresets = {
@@ -14,10 +15,7 @@ var toggleThumbAnimationPresets = {
14
15
  transition: { type: "spring", stiffness: 520, damping: 32 }
15
16
  }
16
17
  };
17
-
18
- // src/ui/toggle/variants.ts
19
- var _classvarianceauthority = require('class-variance-authority');
20
- var toggleTrackVariants = _classvarianceauthority.cva.call(void 0,
18
+ var toggleTrackVariants = classVarianceAuthority.cva(
21
19
  "relative inline-flex shrink-0 cursor-pointer rounded-full border border-white/10 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950 data-[state=checked]:border-cyan-500/40 disabled:cursor-not-allowed disabled:opacity-50",
22
20
  {
23
21
  variants: {
@@ -63,7 +61,7 @@ var toggleTrackVariants = _classvarianceauthority.cva.call(void 0,
63
61
  }
64
62
  }
65
63
  );
66
- var toggleThumbVariants = _classvarianceauthority.cva.call(void 0,
64
+ var toggleThumbVariants = classVarianceAuthority.cva(
67
65
  "pointer-events-none block rounded-full bg-white shadow-[0_1px_2px_rgba(15,23,42,0.35)] ring-0",
68
66
  {
69
67
  variants: {
@@ -78,9 +76,6 @@ var toggleThumbVariants = _classvarianceauthority.cva.call(void 0,
78
76
  }
79
77
  }
80
78
  );
81
-
82
- // src/ui/toggle/toggle.tsx
83
- var _jsxruntime = require('react/jsx-runtime');
84
79
  function Toggle(props) {
85
80
  const {
86
81
  className,
@@ -97,20 +92,20 @@ function Toggle(props) {
97
92
  ...rest
98
93
  } = props;
99
94
  const isControlled = checked !== void 0;
100
- const [uncontrolled, setUncontrolled] = _react.useState.call(void 0, defaultChecked);
95
+ const [uncontrolled, setUncontrolled] = react.useState(defaultChecked);
101
96
  const resolved = isControlled ? Boolean(checked) : uncontrolled;
102
97
  const thumbMotion = toggleThumbAnimationPresets[animation];
103
- const setChecked = _react.useCallback.call(void 0,
98
+ const setChecked = react.useCallback(
104
99
  (next) => {
105
100
  if (!isControlled) {
106
101
  setUncontrolled(next);
107
102
  }
108
- _optionalChain([onCheckedChange, 'optionalCall', _ => _(next)]);
103
+ onCheckedChange?.(next);
109
104
  },
110
105
  [isControlled, onCheckedChange]
111
106
  );
112
107
  const thumbShiftPx = size === "sm" ? 14 : size === "lg" ? 26 : 20;
113
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
108
+ return /* @__PURE__ */ jsxRuntime.jsxs(
114
109
  "button",
115
110
  {
116
111
  ref,
@@ -121,7 +116,7 @@ function Toggle(props) {
121
116
  "aria-label": ariaLabel,
122
117
  "data-state": resolved ? "checked" : "unchecked",
123
118
  disabled,
124
- className: _chunkE5UX537Jjs.cn.call(void 0, toggleTrackVariants({ size, appearance }), className),
119
+ className: chunkWZ2GOU2J_js.cn(toggleTrackVariants({ size, appearance }), className),
125
120
  onClick: () => {
126
121
  if (!disabled) {
127
122
  setChecked(!resolved);
@@ -129,11 +124,14 @@ function Toggle(props) {
129
124
  },
130
125
  ...rest,
131
126
  children: [
132
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children }),
133
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
134
- _framermotion.motion.span,
127
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children }),
128
+ /* @__PURE__ */ jsxRuntime.jsx(
129
+ framerMotion.motion.span,
135
130
  {
136
- className: _chunkE5UX537Jjs.cn.call(void 0, toggleThumbVariants({ size }), "absolute left-1 top-1/2 -translate-y-1/2"),
131
+ className: chunkWZ2GOU2J_js.cn(
132
+ toggleThumbVariants({ size }),
133
+ "absolute left-1 top-1/2 -translate-y-1/2"
134
+ ),
137
135
  animate: { x: resolved ? thumbShiftPx : 0 },
138
136
  transition: thumbMotion.transition
139
137
  }
@@ -144,9 +142,9 @@ function Toggle(props) {
144
142
  }
145
143
  Toggle.displayName = "Toggle";
146
144
 
147
-
148
-
149
-
150
-
151
- exports.Toggle = Toggle; exports.toggleThumbAnimationPresets = toggleThumbAnimationPresets; exports.toggleThumbVariants = toggleThumbVariants; exports.toggleTrackVariants = toggleTrackVariants;
145
+ exports.Toggle = Toggle;
146
+ exports.toggleThumbAnimationPresets = toggleThumbAnimationPresets;
147
+ exports.toggleThumbVariants = toggleThumbVariants;
148
+ exports.toggleTrackVariants = toggleTrackVariants;
149
+ //# sourceMappingURL=toggle.js.map
152
150
  //# sourceMappingURL=toggle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/shubham/Desktop/Repos/NEXT%20JS/zentauri-ui/packages/components/dist/ui/toggle.js"],"names":[],"mappings":"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","file":"/Users/shubham/Desktop/Repos/NEXT JS/zentauri-ui/packages/components/dist/ui/toggle.js","sourcesContent":[null]}
1
+ {"version":3,"sources":["../../src/ui/toggle/animations.ts","../../src/ui/toggle/variants.ts","../../src/ui/toggle/toggle.tsx"],"names":["cva","useState","useCallback","jsxs","cn","jsx","motion"],"mappings":"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","file":"toggle.js","sourcesContent":["import type { HTMLMotionProps } from \"framer-motion\";\n\nexport type ToggleAnimation = \"none\" | \"spring\";\n\ntype ToggleThumbPreset = Pick<HTMLMotionProps<\"span\">, \"transition\" | \"layout\">;\n\nexport type ToggleAnimationPresets = Record<ToggleAnimation, ToggleThumbPreset>;\n\nexport const toggleThumbAnimationPresets: ToggleAnimationPresets = {\n none: {},\n spring: {\n layout: true,\n transition: { type: \"spring\", stiffness: 520, damping: 32 },\n },\n};\n","import { cva } from \"class-variance-authority\";\n\nexport const toggleTrackVariants = cva(\n \"relative inline-flex shrink-0 cursor-pointer rounded-full border border-white/10 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950 data-[state=checked]:border-cyan-500/40 disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n size: {\n sm: \"h-5 w-9\",\n md: \"h-6 w-11\",\n lg: \"h-7 w-[3.25rem]\",\n },\n appearance: {\n default: \"data-[state=checked]:bg-cyan-600/80\",\n success:\n \"data-[state=checked]:border-emerald-500/40 data-[state=checked]:bg-emerald-600/80\",\n destructive:\n \"data-[state=checked]:border-rose-500/40 data-[state=checked]:bg-rose-600/80\",\n neutral:\n \"data-[state=checked]:border-slate-400/40 data-[state=checked]:bg-slate-600/90\",\n indigo:\n \"data-[state=checked]:border-indigo-500/40 data-[state=checked]:bg-indigo-600/80\",\n purple:\n \"data-[state=checked]:border-purple-500/40 data-[state=checked]:bg-purple-600/80\",\n pink: \"data-[state=checked]:border-pink-500/40 data-[state=checked]:bg-pink-600/80\",\n orange:\n \"data-[state=checked]:border-orange-500/40 data-[state=checked]:bg-orange-600/80\",\n yellow:\n \"data-[state=checked]:border-yellow-500/40 data-[state=checked]:bg-yellow-600/80\",\n green:\n \"data-[state=checked]:border-green-500/40 data-[state=checked]:bg-green-600/80\",\n teal: \"data-[state=checked]:border-teal-500/40 data-[state=checked]:bg-teal-600/80\",\n cyan: \"data-[state=checked]:border-cyan-500/40 data-[state=checked]:bg-cyan-600/80\",\n lime: \"data-[state=checked]:border-lime-500/40 data-[state=checked]:bg-lime-600/80\",\n emerald:\n \"data-[state=checked]:border-emerald-500/40 data-[state=checked]:bg-emerald-600/80\",\n rose: \"data-[state=checked]:border-rose-500/40 data-[state=checked]:bg-rose-600/80\",\n slate:\n \"data-[state=checked]:border-slate-400/40 data-[state=checked]:bg-slate-600/90\",\n zinc: \"data-[state=checked]:border-zinc-400/40 data-[state=checked]:bg-zinc-600/90\",\n gray: \"data-[state=checked]:border-gray-400/40 data-[state=checked]:bg-gray-600/90\",\n stone:\n \"data-[state=checked]:border-stone-400/40 data-[state=checked]:bg-stone-600/90\",\n \"gradient-blue\":\n \"data-[state=checked]:bg-linear-to-r from-blue-600 to-purple-600\",\n \"gradient-green\":\n \"data-[state=checked]:bg-linear-to-r from-green-600 to-lime-600\",\n \"gradient-red\":\n \"data-[state=checked]:bg-linear-to-r from-red-600 to-pink-600\",\n \"gradient-yellow\":\n \"data-[state=checked]:bg-linear-to-r from-yellow-600 to-orange-600\",\n \"gradient-purple\":\n \"data-[state=checked]:bg-linear-to-r from-purple-600 to-pink-600\",\n \"gradient-teal\":\n \"data-[state=checked]:bg-linear-to-r from-teal-600 to-cyan-600\",\n \"gradient-indigo\":\n \"data-[state=checked]:bg-linear-to-r from-indigo-600 to-purple-600\",\n \"gradient-pink\":\n \"data-[state=checked]:bg-linear-to-r from-pink-600 to-rose-600\",\n \"gradient-orange\":\n \"data-[state=checked]:bg-linear-to-r from-orange-600 to-red-600\",\n },\n },\n defaultVariants: {\n size: \"md\",\n appearance: \"default\",\n },\n },\n);\n\nexport const toggleThumbVariants = cva(\n \"pointer-events-none block rounded-full bg-white shadow-[0_1px_2px_rgba(15,23,42,0.35)] ring-0\",\n {\n variants: {\n size: {\n sm: \"size-4\",\n md: \"size-5\",\n lg: \"size-6\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n","\"use client\";\n\nimport { motion } from \"framer-motion\";\nimport { useCallback, useState } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { toggleThumbAnimationPresets } from \"./animations\";\nimport type { ToggleProps } from \"./types\";\nimport { toggleThumbVariants, toggleTrackVariants } from \"./variants\";\n\nexport function Toggle(props: ToggleProps) {\n const {\n className,\n size,\n appearance,\n animation = \"spring\",\n checked,\n defaultChecked = false,\n onCheckedChange,\n disabled,\n ref,\n \"aria-label\": ariaLabel = \"Toggle\",\n children,\n ...rest\n } = props;\n const isControlled = checked !== undefined;\n const [uncontrolled, setUncontrolled] = useState(defaultChecked);\n const resolved = isControlled ? Boolean(checked) : uncontrolled;\n const thumbMotion = toggleThumbAnimationPresets[animation];\n\n const setChecked = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setUncontrolled(next);\n }\n onCheckedChange?.(next);\n },\n [isControlled, onCheckedChange],\n );\n\n const thumbShiftPx = size === \"sm\" ? 14 : size === \"lg\" ? 26 : 20;\n\n return (\n <button\n ref={ref}\n type=\"button\"\n role=\"switch\"\n data-slot=\"toggle\"\n aria-checked={resolved}\n aria-label={ariaLabel}\n data-state={resolved ? \"checked\" : \"unchecked\"}\n disabled={disabled}\n className={cn(toggleTrackVariants({ size, appearance }), className)}\n onClick={() => {\n if (!disabled) {\n setChecked(!resolved);\n }\n }}\n {...rest}\n >\n <span className=\"sr-only\">{children}</span>\n <motion.span\n className={cn(\n toggleThumbVariants({ size }),\n \"absolute left-1 top-1/2 -translate-y-1/2\",\n )}\n animate={{ x: resolved ? thumbShiftPx : 0 }}\n transition={thumbMotion.transition}\n />\n </button>\n );\n}\n\nToggle.displayName = \"Toggle\";\n"]}
@@ -1,12 +1,9 @@
1
1
  "use client";
2
-
3
- import {
4
- cn
5
- } from "../chunk-MEWYFWBX.mjs";
6
-
7
- // src/ui/toggle/toggle.tsx
8
- import { motion } from "framer-motion";
9
- import { useCallback, useState } from "react";
2
+ import { cn } from '../chunk-B23TPTVG.mjs';
3
+ import { motion } from 'framer-motion';
4
+ import { useState, useCallback } from 'react';
5
+ import { cva } from 'class-variance-authority';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
10
7
 
11
8
  // src/ui/toggle/animations.ts
12
9
  var toggleThumbAnimationPresets = {
@@ -16,9 +13,6 @@ var toggleThumbAnimationPresets = {
16
13
  transition: { type: "spring", stiffness: 520, damping: 32 }
17
14
  }
18
15
  };
19
-
20
- // src/ui/toggle/variants.ts
21
- import { cva } from "class-variance-authority";
22
16
  var toggleTrackVariants = cva(
23
17
  "relative inline-flex shrink-0 cursor-pointer rounded-full border border-white/10 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950 data-[state=checked]:border-cyan-500/40 disabled:cursor-not-allowed disabled:opacity-50",
24
18
  {
@@ -80,9 +74,6 @@ var toggleThumbVariants = cva(
80
74
  }
81
75
  }
82
76
  );
83
-
84
- // src/ui/toggle/toggle.tsx
85
- import { jsx, jsxs } from "react/jsx-runtime";
86
77
  function Toggle(props) {
87
78
  const {
88
79
  className,
@@ -135,7 +126,10 @@ function Toggle(props) {
135
126
  /* @__PURE__ */ jsx(
136
127
  motion.span,
137
128
  {
138
- className: cn(toggleThumbVariants({ size }), "absolute left-1 top-1/2 -translate-y-1/2"),
129
+ className: cn(
130
+ toggleThumbVariants({ size }),
131
+ "absolute left-1 top-1/2 -translate-y-1/2"
132
+ ),
139
133
  animate: { x: resolved ? thumbShiftPx : 0 },
140
134
  transition: thumbMotion.transition
141
135
  }
@@ -145,10 +139,7 @@ function Toggle(props) {
145
139
  );
146
140
  }
147
141
  Toggle.displayName = "Toggle";
148
- export {
149
- Toggle,
150
- toggleThumbAnimationPresets,
151
- toggleThumbVariants,
152
- toggleTrackVariants
153
- };
142
+
143
+ export { Toggle, toggleThumbAnimationPresets, toggleThumbVariants, toggleTrackVariants };
144
+ //# sourceMappingURL=toggle.mjs.map
154
145
  //# sourceMappingURL=toggle.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/toggle/toggle.tsx","../../src/ui/toggle/animations.ts","../../src/ui/toggle/variants.ts"],"sourcesContent":["\"use client\";\n\nimport { motion } from \"framer-motion\";\nimport { useCallback, useState } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { toggleThumbAnimationPresets } from \"./animations\";\nimport type { ToggleProps } from \"./types\";\nimport { toggleThumbVariants, toggleTrackVariants } from \"./variants\";\n\nexport function Toggle(props: ToggleProps) {\n const {\n className,\n size,\n appearance,\n animation = \"spring\",\n checked,\n defaultChecked = false,\n onCheckedChange,\n disabled,\n ref,\n \"aria-label\": ariaLabel = \"Toggle\",\n children,\n ...rest\n } = props;\n const isControlled = checked !== undefined;\n const [uncontrolled, setUncontrolled] = useState(defaultChecked);\n const resolved = isControlled ? Boolean(checked) : uncontrolled;\n const thumbMotion = toggleThumbAnimationPresets[animation];\n\n const setChecked = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setUncontrolled(next);\n }\n onCheckedChange?.(next);\n },\n [isControlled, onCheckedChange],\n );\n\n const thumbShiftPx = size === \"sm\" ? 14 : size === \"lg\" ? 26 : 20;\n\n return (\n <button\n ref={ref}\n type=\"button\"\n role=\"switch\"\n data-slot=\"toggle\"\n aria-checked={resolved}\n aria-label={ariaLabel}\n data-state={resolved ? \"checked\" : \"unchecked\"}\n disabled={disabled}\n className={cn(toggleTrackVariants({ size, appearance }), className)}\n onClick={() => {\n if (!disabled) {\n setChecked(!resolved);\n }\n }}\n {...rest}\n >\n <span className=\"sr-only\">{children}</span>\n <motion.span\n className={cn(toggleThumbVariants({ size }), \"absolute left-1 top-1/2 -translate-y-1/2\")}\n animate={{ x: resolved ? thumbShiftPx : 0 }}\n transition={thumbMotion.transition}\n />\n </button>\n );\n}\n\nToggle.displayName = \"Toggle\";\n\n","import type { HTMLMotionProps } from \"framer-motion\";\n\nexport type ToggleAnimation = \"none\" | \"spring\";\n\ntype ToggleThumbPreset = Pick<HTMLMotionProps<\"span\">, \"transition\" | \"layout\">;\n\nexport type ToggleAnimationPresets = Record<ToggleAnimation, ToggleThumbPreset>;\n\nexport const toggleThumbAnimationPresets: ToggleAnimationPresets = {\n none: {},\n spring: {\n layout: true,\n transition: { type: \"spring\", stiffness: 520, damping: 32 },\n },\n};\n","import { cva } from \"class-variance-authority\";\n\nexport const toggleTrackVariants = cva(\n \"relative inline-flex shrink-0 cursor-pointer rounded-full border border-white/10 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950 data-[state=checked]:border-cyan-500/40 disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n size: {\n sm: \"h-5 w-9\",\n md: \"h-6 w-11\",\n lg: \"h-7 w-[3.25rem]\",\n },\n appearance: {\n default: \"data-[state=checked]:bg-cyan-600/80\",\n success: \"data-[state=checked]:border-emerald-500/40 data-[state=checked]:bg-emerald-600/80\",\n destructive: \"data-[state=checked]:border-rose-500/40 data-[state=checked]:bg-rose-600/80\",\n neutral: \"data-[state=checked]:border-slate-400/40 data-[state=checked]:bg-slate-600/90\",\n indigo: \"data-[state=checked]:border-indigo-500/40 data-[state=checked]:bg-indigo-600/80\",\n purple: \"data-[state=checked]:border-purple-500/40 data-[state=checked]:bg-purple-600/80\",\n pink: \"data-[state=checked]:border-pink-500/40 data-[state=checked]:bg-pink-600/80\",\n orange: \"data-[state=checked]:border-orange-500/40 data-[state=checked]:bg-orange-600/80\",\n yellow: \"data-[state=checked]:border-yellow-500/40 data-[state=checked]:bg-yellow-600/80\",\n green: \"data-[state=checked]:border-green-500/40 data-[state=checked]:bg-green-600/80\",\n teal: \"data-[state=checked]:border-teal-500/40 data-[state=checked]:bg-teal-600/80\",\n cyan: \"data-[state=checked]:border-cyan-500/40 data-[state=checked]:bg-cyan-600/80\",\n lime: \"data-[state=checked]:border-lime-500/40 data-[state=checked]:bg-lime-600/80\",\n emerald: \"data-[state=checked]:border-emerald-500/40 data-[state=checked]:bg-emerald-600/80\",\n rose: \"data-[state=checked]:border-rose-500/40 data-[state=checked]:bg-rose-600/80\",\n slate: \"data-[state=checked]:border-slate-400/40 data-[state=checked]:bg-slate-600/90\",\n zinc: \"data-[state=checked]:border-zinc-400/40 data-[state=checked]:bg-zinc-600/90\",\n gray: \"data-[state=checked]:border-gray-400/40 data-[state=checked]:bg-gray-600/90\",\n stone: \"data-[state=checked]:border-stone-400/40 data-[state=checked]:bg-stone-600/90\",\n \"gradient-blue\": \"data-[state=checked]:bg-linear-to-r from-blue-600 to-purple-600\",\n \"gradient-green\": \"data-[state=checked]:bg-linear-to-r from-green-600 to-lime-600\",\n \"gradient-red\": \"data-[state=checked]:bg-linear-to-r from-red-600 to-pink-600\",\n \"gradient-yellow\": \"data-[state=checked]:bg-linear-to-r from-yellow-600 to-orange-600\",\n \"gradient-purple\": \"data-[state=checked]:bg-linear-to-r from-purple-600 to-pink-600\",\n \"gradient-teal\": \"data-[state=checked]:bg-linear-to-r from-teal-600 to-cyan-600\",\n \"gradient-indigo\": \"data-[state=checked]:bg-linear-to-r from-indigo-600 to-purple-600\",\n \"gradient-pink\": \"data-[state=checked]:bg-linear-to-r from-pink-600 to-rose-600\",\n \"gradient-orange\": \"data-[state=checked]:bg-linear-to-r from-orange-600 to-red-600\",\n },\n },\n defaultVariants: {\n size: \"md\",\n appearance: \"default\",\n },\n },\n);\n\nexport const toggleThumbVariants = cva(\n \"pointer-events-none block rounded-full bg-white shadow-[0_1px_2px_rgba(15,23,42,0.35)] ring-0\",\n {\n variants: {\n size: {\n sm: \"size-4\",\n md: \"size-5\",\n lg: \"size-6\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n"],"mappings":";;;;;;;AAEA,SAAS,cAAc;AACvB,SAAS,aAAa,gBAAgB;;;ACK/B,IAAM,8BAAsD;AAAA,EACjE,MAAM,CAAC;AAAA,EACP,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,YAAY,EAAE,MAAM,UAAU,WAAW,KAAK,SAAS,GAAG;AAAA,EAC5D;AACF;;;ACdA,SAAS,WAAW;AAEb,IAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,QACT,SAAS;AAAA,QACT,aAAa;AAAA,QACb,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,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,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,YAAY;AAAA,IACd;AAAA,EACF;AACF;AAEO,IAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,EACF;AACF;;;AFnBI,SAiBE,KAjBF;AAjCG,SAAS,OAAO,OAAoB;AACzC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc,YAAY;AAAA,IAC1B;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,eAAe,YAAY;AACjC,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,cAAc;AAC/D,QAAM,WAAW,eAAe,QAAQ,OAAO,IAAI;AACnD,QAAM,cAAc,4BAA4B,SAAS;AAEzD,QAAM,aAAa;AAAA,IACjB,CAAC,SAAkB;AACjB,UAAI,CAAC,cAAc;AACjB,wBAAgB,IAAI;AAAA,MACtB;AACA,wBAAkB,IAAI;AAAA,IACxB;AAAA,IACA,CAAC,cAAc,eAAe;AAAA,EAChC;AAEA,QAAM,eAAe,SAAS,OAAO,KAAK,SAAS,OAAO,KAAK;AAE/D,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,MAAK;AAAA,MACL,MAAK;AAAA,MACL,aAAU;AAAA,MACV,gBAAc;AAAA,MACd,cAAY;AAAA,MACZ,cAAY,WAAW,YAAY;AAAA,MACnC;AAAA,MACA,WAAW,GAAG,oBAAoB,EAAE,MAAM,WAAW,CAAC,GAAG,SAAS;AAAA,MAClE,SAAS,MAAM;AACb,YAAI,CAAC,UAAU;AACb,qBAAW,CAAC,QAAQ;AAAA,QACtB;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,4BAAC,UAAK,WAAU,WAAW,UAAS;AAAA,QACpC;AAAA,UAAC,OAAO;AAAA,UAAP;AAAA,YACC,WAAW,GAAG,oBAAoB,EAAE,KAAK,CAAC,GAAG,0CAA0C;AAAA,YACvF,SAAS,EAAE,GAAG,WAAW,eAAe,EAAE;AAAA,YAC1C,YAAY,YAAY;AAAA;AAAA,QAC1B;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,OAAO,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/ui/toggle/animations.ts","../../src/ui/toggle/variants.ts","../../src/ui/toggle/toggle.tsx"],"names":[],"mappings":"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","file":"toggle.mjs","sourcesContent":["import type { HTMLMotionProps } from \"framer-motion\";\n\nexport type ToggleAnimation = \"none\" | \"spring\";\n\ntype ToggleThumbPreset = Pick<HTMLMotionProps<\"span\">, \"transition\" | \"layout\">;\n\nexport type ToggleAnimationPresets = Record<ToggleAnimation, ToggleThumbPreset>;\n\nexport const toggleThumbAnimationPresets: ToggleAnimationPresets = {\n none: {},\n spring: {\n layout: true,\n transition: { type: \"spring\", stiffness: 520, damping: 32 },\n },\n};\n","import { cva } from \"class-variance-authority\";\n\nexport const toggleTrackVariants = cva(\n \"relative inline-flex shrink-0 cursor-pointer rounded-full border border-white/10 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950 data-[state=checked]:border-cyan-500/40 disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n size: {\n sm: \"h-5 w-9\",\n md: \"h-6 w-11\",\n lg: \"h-7 w-[3.25rem]\",\n },\n appearance: {\n default: \"data-[state=checked]:bg-cyan-600/80\",\n success:\n \"data-[state=checked]:border-emerald-500/40 data-[state=checked]:bg-emerald-600/80\",\n destructive:\n \"data-[state=checked]:border-rose-500/40 data-[state=checked]:bg-rose-600/80\",\n neutral:\n \"data-[state=checked]:border-slate-400/40 data-[state=checked]:bg-slate-600/90\",\n indigo:\n \"data-[state=checked]:border-indigo-500/40 data-[state=checked]:bg-indigo-600/80\",\n purple:\n \"data-[state=checked]:border-purple-500/40 data-[state=checked]:bg-purple-600/80\",\n pink: \"data-[state=checked]:border-pink-500/40 data-[state=checked]:bg-pink-600/80\",\n orange:\n \"data-[state=checked]:border-orange-500/40 data-[state=checked]:bg-orange-600/80\",\n yellow:\n \"data-[state=checked]:border-yellow-500/40 data-[state=checked]:bg-yellow-600/80\",\n green:\n \"data-[state=checked]:border-green-500/40 data-[state=checked]:bg-green-600/80\",\n teal: \"data-[state=checked]:border-teal-500/40 data-[state=checked]:bg-teal-600/80\",\n cyan: \"data-[state=checked]:border-cyan-500/40 data-[state=checked]:bg-cyan-600/80\",\n lime: \"data-[state=checked]:border-lime-500/40 data-[state=checked]:bg-lime-600/80\",\n emerald:\n \"data-[state=checked]:border-emerald-500/40 data-[state=checked]:bg-emerald-600/80\",\n rose: \"data-[state=checked]:border-rose-500/40 data-[state=checked]:bg-rose-600/80\",\n slate:\n \"data-[state=checked]:border-slate-400/40 data-[state=checked]:bg-slate-600/90\",\n zinc: \"data-[state=checked]:border-zinc-400/40 data-[state=checked]:bg-zinc-600/90\",\n gray: \"data-[state=checked]:border-gray-400/40 data-[state=checked]:bg-gray-600/90\",\n stone:\n \"data-[state=checked]:border-stone-400/40 data-[state=checked]:bg-stone-600/90\",\n \"gradient-blue\":\n \"data-[state=checked]:bg-linear-to-r from-blue-600 to-purple-600\",\n \"gradient-green\":\n \"data-[state=checked]:bg-linear-to-r from-green-600 to-lime-600\",\n \"gradient-red\":\n \"data-[state=checked]:bg-linear-to-r from-red-600 to-pink-600\",\n \"gradient-yellow\":\n \"data-[state=checked]:bg-linear-to-r from-yellow-600 to-orange-600\",\n \"gradient-purple\":\n \"data-[state=checked]:bg-linear-to-r from-purple-600 to-pink-600\",\n \"gradient-teal\":\n \"data-[state=checked]:bg-linear-to-r from-teal-600 to-cyan-600\",\n \"gradient-indigo\":\n \"data-[state=checked]:bg-linear-to-r from-indigo-600 to-purple-600\",\n \"gradient-pink\":\n \"data-[state=checked]:bg-linear-to-r from-pink-600 to-rose-600\",\n \"gradient-orange\":\n \"data-[state=checked]:bg-linear-to-r from-orange-600 to-red-600\",\n },\n },\n defaultVariants: {\n size: \"md\",\n appearance: \"default\",\n },\n },\n);\n\nexport const toggleThumbVariants = cva(\n \"pointer-events-none block rounded-full bg-white shadow-[0_1px_2px_rgba(15,23,42,0.35)] ring-0\",\n {\n variants: {\n size: {\n sm: \"size-4\",\n md: \"size-5\",\n lg: \"size-6\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n","\"use client\";\n\nimport { motion } from \"framer-motion\";\nimport { useCallback, useState } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { toggleThumbAnimationPresets } from \"./animations\";\nimport type { ToggleProps } from \"./types\";\nimport { toggleThumbVariants, toggleTrackVariants } from \"./variants\";\n\nexport function Toggle(props: ToggleProps) {\n const {\n className,\n size,\n appearance,\n animation = \"spring\",\n checked,\n defaultChecked = false,\n onCheckedChange,\n disabled,\n ref,\n \"aria-label\": ariaLabel = \"Toggle\",\n children,\n ...rest\n } = props;\n const isControlled = checked !== undefined;\n const [uncontrolled, setUncontrolled] = useState(defaultChecked);\n const resolved = isControlled ? Boolean(checked) : uncontrolled;\n const thumbMotion = toggleThumbAnimationPresets[animation];\n\n const setChecked = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setUncontrolled(next);\n }\n onCheckedChange?.(next);\n },\n [isControlled, onCheckedChange],\n );\n\n const thumbShiftPx = size === \"sm\" ? 14 : size === \"lg\" ? 26 : 20;\n\n return (\n <button\n ref={ref}\n type=\"button\"\n role=\"switch\"\n data-slot=\"toggle\"\n aria-checked={resolved}\n aria-label={ariaLabel}\n data-state={resolved ? \"checked\" : \"unchecked\"}\n disabled={disabled}\n className={cn(toggleTrackVariants({ size, appearance }), className)}\n onClick={() => {\n if (!disabled) {\n setChecked(!resolved);\n }\n }}\n {...rest}\n >\n <span className=\"sr-only\">{children}</span>\n <motion.span\n className={cn(\n toggleThumbVariants({ size }),\n \"absolute left-1 top-1/2 -translate-y-1/2\",\n )}\n animate={{ x: resolved ? thumbShiftPx : 0 }}\n transition={thumbMotion.transition}\n />\n </button>\n );\n}\n\nToggle.displayName = \"Toggle\";\n"]}