@zentauri-ui/zentauri-components 0.0.91 → 0.0.93

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 (168) hide show
  1. package/README.md +36 -4
  2. package/dist/chunk-BZSIXBA7.js +70 -0
  3. package/dist/chunk-BZSIXBA7.js.map +1 -0
  4. package/dist/chunk-E5UX537J.js +11 -0
  5. package/dist/chunk-E5UX537J.js.map +1 -0
  6. package/dist/chunk-MEWYFWBX.mjs +14 -0
  7. package/dist/chunk-MEWYFWBX.mjs.map +1 -0
  8. package/dist/chunk-VJHD7QZH.mjs +73 -0
  9. package/dist/chunk-VJHD7QZH.mjs.map +1 -0
  10. package/dist/ui/accordion.js +51 -57
  11. package/dist/ui/accordion.js.map +1 -1
  12. package/dist/ui/{accordion.cjs → accordion.mjs} +38 -67
  13. package/dist/ui/accordion.mjs.map +1 -0
  14. package/dist/ui/{alert.d.cts → alert.d.mts} +1 -1
  15. package/dist/ui/alert.d.ts +1 -1
  16. package/dist/ui/alert.js +40 -46
  17. package/dist/ui/alert.js.map +1 -1
  18. package/dist/ui/{alert.cjs → alert.mjs} +29 -66
  19. package/dist/ui/alert.mjs.map +1 -0
  20. package/dist/ui/{badge.d.cts → badge.d.mts} +1 -1
  21. package/dist/ui/badge.d.ts +1 -1
  22. package/dist/ui/badge.js +20 -26
  23. package/dist/ui/badge.js.map +1 -1
  24. package/dist/ui/{badge.cjs → badge.mjs} +17 -48
  25. package/dist/ui/badge.mjs.map +1 -0
  26. package/dist/ui/{buttons.d.cts → buttons.d.mts} +1 -1
  27. package/dist/ui/buttons.d.ts +1 -1
  28. package/dist/ui/buttons.js +18 -87
  29. package/dist/ui/buttons.js.map +1 -1
  30. package/dist/ui/buttons.mjs +109 -0
  31. package/dist/ui/buttons.mjs.map +1 -0
  32. package/dist/ui/{card.d.cts → card.d.mts} +1 -1
  33. package/dist/ui/card.d.ts +1 -1
  34. package/dist/ui/card.js +40 -46
  35. package/dist/ui/card.js.map +1 -1
  36. package/dist/ui/{card.cjs → card.mjs} +26 -65
  37. package/dist/ui/card.mjs.map +1 -0
  38. package/dist/ui/{divider.d.cts → divider.d.mts} +2 -2
  39. package/dist/ui/divider.d.ts +2 -2
  40. package/dist/ui/divider.js +30 -36
  41. package/dist/ui/divider.js.map +1 -1
  42. package/dist/ui/{divider.cjs → divider.mjs} +22 -55
  43. package/dist/ui/divider.mjs.map +1 -0
  44. package/dist/ui/{drawer.d.cts → drawer.d.mts} +3 -3
  45. package/dist/ui/drawer.d.ts +3 -3
  46. package/dist/ui/drawer.js +64 -70
  47. package/dist/ui/drawer.js.map +1 -1
  48. package/dist/ui/{drawer.cjs → drawer.mjs} +48 -77
  49. package/dist/ui/drawer.mjs.map +1 -0
  50. package/dist/ui/{dropdown.d.cts → dropdown.d.mts} +4 -4
  51. package/dist/ui/dropdown.d.ts +4 -4
  52. package/dist/ui/dropdown.js +43 -49
  53. package/dist/ui/dropdown.js.map +1 -1
  54. package/dist/ui/{dropdown.cjs → dropdown.mjs} +34 -62
  55. package/dist/ui/dropdown.mjs.map +1 -0
  56. package/dist/ui/{empty-state.d.cts → empty-state.d.mts} +1 -1
  57. package/dist/ui/empty-state.d.ts +1 -1
  58. package/dist/ui/empty-state.js +31 -37
  59. package/dist/ui/empty-state.js.map +1 -1
  60. package/dist/ui/empty-state.mjs +150 -0
  61. package/dist/ui/empty-state.mjs.map +1 -0
  62. package/dist/ui/{inputs.d.cts → inputs.d.mts} +2 -2
  63. package/dist/ui/inputs.d.ts +2 -2
  64. package/dist/ui/inputs.js +26 -32
  65. package/dist/ui/inputs.js.map +1 -1
  66. package/dist/ui/{inputs.cjs → inputs.mjs} +21 -51
  67. package/dist/ui/inputs.mjs.map +1 -0
  68. package/dist/ui/{modal.d.cts → modal.d.mts} +3 -3
  69. package/dist/ui/modal.d.ts +3 -3
  70. package/dist/ui/modal.js +69 -75
  71. package/dist/ui/modal.js.map +1 -1
  72. package/dist/ui/{modal.cjs → modal.mjs} +53 -79
  73. package/dist/ui/modal.mjs.map +1 -0
  74. package/dist/ui/{pagination.d.cts → pagination.d.mts} +3 -3
  75. package/dist/ui/pagination.d.ts +3 -3
  76. package/dist/ui/pagination.js +48 -117
  77. package/dist/ui/pagination.js.map +1 -1
  78. package/dist/ui/{pagination.cjs → pagination.mjs} +35 -131
  79. package/dist/ui/pagination.mjs.map +1 -0
  80. package/dist/ui/{progress.d.cts → progress.d.mts} +5 -5
  81. package/dist/ui/progress.d.ts +5 -5
  82. package/dist/ui/progress.js +37 -43
  83. package/dist/ui/progress.js.map +1 -1
  84. package/dist/ui/{progress.cjs → progress.mjs} +25 -60
  85. package/dist/ui/progress.mjs.map +1 -0
  86. package/dist/ui/{select.d.cts → select.d.mts} +4 -4
  87. package/dist/ui/select.d.ts +4 -4
  88. package/dist/ui/select.js +43 -49
  89. package/dist/ui/select.js.map +1 -1
  90. package/dist/ui/{select.cjs → select.mjs} +31 -68
  91. package/dist/ui/select.mjs.map +1 -0
  92. package/dist/ui/{skeleton.d.cts → skeleton.d.mts} +3 -3
  93. package/dist/ui/skeleton.d.ts +3 -3
  94. package/dist/ui/skeleton.js +45 -51
  95. package/dist/ui/skeleton.js.map +1 -1
  96. package/dist/ui/{skeleton.cjs → skeleton.mjs} +31 -67
  97. package/dist/ui/skeleton.mjs.map +1 -0
  98. package/dist/ui/{spinner.d.cts → spinner.d.mts} +3 -3
  99. package/dist/ui/spinner.d.ts +3 -3
  100. package/dist/ui/spinner.js +34 -40
  101. package/dist/ui/spinner.js.map +1 -1
  102. package/dist/ui/{spinner.cjs → spinner.mjs} +27 -57
  103. package/dist/ui/spinner.mjs.map +1 -0
  104. package/dist/ui/{table.d.cts → table.d.mts} +4 -4
  105. package/dist/ui/table.d.ts +4 -4
  106. package/dist/ui/table.js +43 -49
  107. package/dist/ui/table.js.map +1 -1
  108. package/dist/ui/{table.cjs → table.mjs} +26 -65
  109. package/dist/ui/table.mjs.map +1 -0
  110. package/dist/ui/{tabs.d.cts → tabs.d.mts} +1 -1
  111. package/dist/ui/tabs.d.ts +1 -1
  112. package/dist/ui/tabs.js +41 -47
  113. package/dist/ui/tabs.js.map +1 -1
  114. package/dist/ui/{tabs.cjs → tabs.mjs} +29 -59
  115. package/dist/ui/tabs.mjs.map +1 -0
  116. package/dist/ui/{toast.d.cts → toast.d.mts} +1 -1
  117. package/dist/ui/toast.d.ts +1 -1
  118. package/dist/ui/toast.js +57 -63
  119. package/dist/ui/toast.js.map +1 -1
  120. package/dist/ui/{toast.cjs → toast.mjs} +43 -74
  121. package/dist/ui/toast.mjs.map +1 -0
  122. package/dist/ui/{toggle.d.cts → toggle.d.mts} +1 -1
  123. package/dist/ui/toggle.d.ts +1 -1
  124. package/dist/ui/toggle.js +23 -29
  125. package/dist/ui/toggle.js.map +1 -1
  126. package/dist/ui/{toggle.cjs → toggle.mjs} +19 -50
  127. package/dist/ui/toggle.mjs.map +1 -0
  128. package/dist/ui/{tooltip.d.cts → tooltip.d.mts} +2 -2
  129. package/dist/ui/tooltip.d.ts +2 -2
  130. package/dist/ui/tooltip.js +29 -35
  131. package/dist/ui/tooltip.js.map +1 -1
  132. package/dist/ui/{tooltip.cjs → tooltip.mjs} +26 -58
  133. package/dist/ui/tooltip.mjs.map +1 -0
  134. package/dist/variants-Dd9pe-ov.d.mts +8 -0
  135. package/dist/variants-Dd9pe-ov.d.ts +8 -0
  136. package/package.json +10 -15
  137. package/dist/ui/accordion.cjs.map +0 -1
  138. package/dist/ui/alert.cjs.map +0 -1
  139. package/dist/ui/badge.cjs.map +0 -1
  140. package/dist/ui/buttons.cjs +0 -202
  141. package/dist/ui/buttons.cjs.map +0 -1
  142. package/dist/ui/card.cjs.map +0 -1
  143. package/dist/ui/divider.cjs.map +0 -1
  144. package/dist/ui/drawer.cjs.map +0 -1
  145. package/dist/ui/dropdown.cjs.map +0 -1
  146. package/dist/ui/empty-state.cjs +0 -186
  147. package/dist/ui/empty-state.cjs.map +0 -1
  148. package/dist/ui/index.cjs +0 -5764
  149. package/dist/ui/index.cjs.map +0 -1
  150. package/dist/ui/index.d.cts +0 -27
  151. package/dist/ui/index.d.ts +0 -27
  152. package/dist/ui/index.js +0 -5626
  153. package/dist/ui/index.js.map +0 -1
  154. package/dist/ui/inputs.cjs.map +0 -1
  155. package/dist/ui/modal.cjs.map +0 -1
  156. package/dist/ui/pagination.cjs.map +0 -1
  157. package/dist/ui/progress.cjs.map +0 -1
  158. package/dist/ui/select.cjs.map +0 -1
  159. package/dist/ui/skeleton.cjs.map +0 -1
  160. package/dist/ui/spinner.cjs.map +0 -1
  161. package/dist/ui/table.cjs.map +0 -1
  162. package/dist/ui/tabs.cjs.map +0 -1
  163. package/dist/ui/toast.cjs.map +0 -1
  164. package/dist/ui/toggle.cjs.map +0 -1
  165. package/dist/ui/tooltip.cjs.map +0 -1
  166. package/dist/variants-1Bx3BEeS.d.cts +0 -8
  167. package/dist/variants-1Bx3BEeS.d.ts +0 -8
  168. /package/dist/ui/{accordion.d.cts → accordion.d.mts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/tabs/tabs.tsx","../../src/ui/tabs/animations.ts","../../src/ui/tabs/variants.ts"],"sourcesContent":["\"use client\"\n\nimport { motion, useReducedMotion } from \"framer-motion\"\nimport {\n createContext,\n KeyboardEvent,\n useContext,\n useId,\n useState,\n} from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\nimport { getTabsContentMotionProps } from \"./animations\"\nimport {\n TabsContentProps,\n TabsListProps,\n TabsProps,\n TabsTriggerProps,\n TabsValue,\n TabsContextType,\n} from \"./types\"\nimport { tabsListVariants, tabsTriggerVariants } from \"./variants\"\n\n\nexport const TabsContext = createContext<TabsContextType | null>(null)\n\nexport const useTabs = () => {\n const ctx = useContext(TabsContext)\n if (!ctx) throw new Error(\"Tabs components must be used within Tabs\")\n return ctx\n}\n\nexport function Tabs({\n value,\n defaultValue,\n onValueChange,\n orientation = \"horizontal\",\n children,\n className,\n}: TabsProps) {\n const [internalValue, setInternalValue] = useState(defaultValue)\n const idPrefix = useId()\n\n const isControlled = value !== undefined\n const currentValue = isControlled ? value : internalValue\n\n const setValue = (val: string) => {\n if (!isControlled) setInternalValue(val)\n onValueChange?.(val)\n }\n\n const tabTriggerId = (tabValue: TabsValue) =>\n `${idPrefix}zentauri-tab-${tabValue}`\n const tabPanelId = (tabValue: TabsValue) =>\n `${idPrefix}zentauri-panel-${tabValue}`\n\n return (\n <TabsContext.Provider\n value={{\n value: currentValue,\n setValue,\n orientation,\n tabTriggerId,\n tabPanelId,\n }}\n >\n <div data-slot=\"tabs\" className={cn(\"w-full\", className)}>\n {children}\n </div>\n </TabsContext.Provider>\n )\n}\n\nexport function TabsList({\n children,\n className,\n ...props\n}: TabsListProps) {\n const { orientation, size } = useTabs()\n\n return (\n <div\n role=\"tablist\"\n aria-orientation={orientation}\n className={cn(tabsListVariants({ orientation, size }), className)}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport function TabsTrigger({\n value,\n children,\n disabled,\n className,\n ...props\n}: TabsTriggerProps) {\n const { value: activeValue, setValue, tabTriggerId, tabPanelId, size, appearance, variant } = useTabs()\n\n const isActive = activeValue === value\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\n const triggers = Array.from(\n document.querySelectorAll('[role=\"tab\"]'),\n ) as HTMLElement[]\n\n const index = triggers.findIndex((el) => el === e.currentTarget)\n\n if (e.key === \"ArrowRight\" || e.key === \"ArrowDown\") {\n e.preventDefault()\n triggers[index + 1]?.focus()\n }\n\n if (e.key === \"ArrowLeft\" || e.key === \"ArrowUp\") {\n e.preventDefault()\n triggers[index - 1]?.focus()\n }\n\n if (e.key === \"Home\") {\n e.preventDefault()\n triggers[0]?.focus()\n }\n\n if (e.key === \"End\") {\n e.preventDefault()\n triggers[triggers.length - 1]?.focus()\n }\n }\n\n return (\n <button\n id={tabTriggerId(value)}\n type=\"button\"\n role=\"tab\"\n data-state={isActive ? \"active\" : \"inactive\"}\n aria-selected={isActive}\n aria-controls={tabPanelId(value)}\n disabled={disabled}\n onClick={() => setValue(value)}\n onKeyDown={handleKeyDown}\n className={cn(tabsTriggerVariants({ size, appearance, variant }), className, \"cursor-pointer\")}\n {...props}\n >\n {children}\n </button>\n )\n}\n\nexport function TabsContent({\n value,\n children,\n className,\n animation = \"fade\",\n ...props\n}: TabsContentProps) {\n const { value: activeValue, orientation, tabTriggerId, tabPanelId } =\n useTabs()\n const prefersReducedMotion = useReducedMotion()\n\n if (activeValue !== value) return null\n\n const motionProps = getTabsContentMotionProps(\n animation,\n orientation,\n Boolean(prefersReducedMotion),\n )\n\n return (\n <motion.div\n id={tabPanelId(value)}\n role=\"tabpanel\"\n aria-labelledby={tabTriggerId(value)}\n {...props}\n {...motionProps}\n className={cn(\"mt-2\", className)}\n >\n {children}\n </motion.div>\n )\n}\n","import type { HTMLMotionProps } from \"framer-motion\";\n\nexport type TabsAnimation = \"none\" | \"fade\" | \"slide\";\n\ntype TabsPresetMotionProps = Pick<\n HTMLMotionProps<\"div\">,\n \"initial\" | \"animate\" | \"transition\"\n>;\n\nexport type TabsAnimationPresets = Record<TabsAnimation, TabsPresetMotionProps>;\n\ntype TabsOrientation = \"horizontal\" | \"vertical\";\n\nconst easeOutExpo: [number, number, number, number] = [0.16, 1, 0.3, 1];\n\nexport const tabsContentAnimationPresets: TabsAnimationPresets = {\n none: {},\n fade: {\n initial: { opacity: 0, y: 6 },\n animate: { opacity: 1, y: 0 },\n transition: { duration: 0.2, ease: easeOutExpo },\n },\n slide: {\n initial: { opacity: 0, y: 8 },\n animate: { opacity: 1, y: 0 },\n transition: {\n type: \"spring\",\n stiffness: 420,\n damping: 34,\n mass: 0.82,\n },\n },\n};\n\nexport function getTabsContentMotionProps(\n animation: TabsAnimation,\n orientation: TabsOrientation,\n reducedMotion: boolean,\n): TabsPresetMotionProps {\n if (reducedMotion || animation === \"none\") {\n return {};\n }\n if (animation === \"fade\") {\n return tabsContentAnimationPresets.fade;\n }\n if (animation === \"slide\") {\n const offset = 12;\n return {\n initial:\n orientation === \"horizontal\"\n ? { opacity: 0, x: offset, y: 0 }\n : { opacity: 0, x: 0, y: offset },\n animate: { opacity: 1, x: 0, y: 0 },\n transition: { duration: 0.22, ease: easeOutExpo },\n };\n }\n return {};\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const tabsListVariants = cva(\n \"flex items-center gap-1\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n underline: \"border-b-2 border-transparent\",\n pills: \"rounded-md\",\n },\n size: {\n sm: \"text-sm p-1\",\n md: \"text-base p-1.5\",\n lg: \"text-lg p-2\",\n },\n orientation: {\n horizontal: \"flex-row\",\n vertical: \"flex-col\",\n },\n },\n defaultVariants: {\n size: \"md\",\n orientation: \"horizontal\",\n },\n }\n)\n\nexport const tabsTriggerVariants = cva(\n \"px-3 py-1.5 rounded-md transition-all focus:outline-none focus:ring-2 focus:ring-ring\",\n {\n variants: {\n appearance: {\n default: \"bg-transparent\",\n sky: \"bg-sky-500/75\",\n rose: \"bg-rose-500/75\",\n purple: \"bg-purple-500/75\",\n pink: \"bg-pink-500/75\",\n orange: \"bg-orange-500/75\",\n yellow: \"bg-yellow-500/75\",\n teal: \"bg-teal-500/75\",\n indigo: \"bg-indigo-500/75\",\n emerald: \"bg-emerald-500/75\",\n gray: \"bg-gray-500/75\",\n \"gradient-blue\": \"bg-gradient-to-r from-blue-600 to-purple-600\",\n \"gradient-green\": \"bg-gradient-to-r from-green-600 to-lime-600\",\n \"gradient-red\": \"bg-gradient-to-r from-red-600 to-pink-600\",\n \"gradient-yellow\": \"bg-gradient-to-r from-yellow-600 to-orange-600\",\n \"gradient-purple\": \"bg-gradient-to-r from-purple-600 to-pink-600\",\n \"gradient-teal\": \"bg-gradient-to-r from-teal-600 to-cyan-600\",\n \"gradient-indigo\": \"bg-gradient-to-r from-indigo-600 to-purple-600\",\n \"gradient-pink\": \"bg-gradient-to-r from-pink-600 to-rose-600\",\n \"gradient-orange\": \"bg-gradient-to-r from-orange-600 to-red-600\",\n },\n variant: {\n default: \"data-[state=active]:bg-background\",\n underline:\n \"border-b-2 border-transparent data-[state=active]:border-primary rounded-none\",\n pills:\n \"data-[state=active]:bg-primary data-[state=active]:text-white\",\n },\n size: {\n sm: \"px-2 py-1\",\n md: \"px-3 py-1.5\",\n lg: \"px-4 py-2\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n variant: \"default\",\n size: \"md\",\n },\n }\n)"],"mappings":"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","names":[]}
@@ -14,7 +14,7 @@ declare const toastViewportVariants: (props?: ({
14
14
  position?: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right" | null | undefined;
15
15
  } & class_variance_authority_types.ClassProp) | undefined) => string;
16
16
  declare const toastRootVariants: (props?: ({
17
- appearance?: "default" | "ghost" | "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" | "success" | "warning" | "error" | "info" | "gray" | "violet" | "amber" | null | undefined;
17
+ appearance?: "default" | "success" | "warning" | "error" | "info" | "ghost" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gray" | "amber" | "violet" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
18
18
  size?: "sm" | "md" | "lg" | null | undefined;
19
19
  } & class_variance_authority_types.ClassProp) | undefined) => string;
20
20
 
@@ -14,7 +14,7 @@ declare const toastViewportVariants: (props?: ({
14
14
  position?: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right" | null | undefined;
15
15
  } & class_variance_authority_types.ClassProp) | undefined) => string;
16
16
  declare const toastRootVariants: (props?: ({
17
- appearance?: "default" | "ghost" | "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" | "success" | "warning" | "error" | "info" | "gray" | "violet" | "amber" | null | undefined;
17
+ appearance?: "default" | "success" | "warning" | "error" | "info" | "ghost" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gray" | "amber" | "violet" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
18
18
  size?: "sm" | "md" | "lg" | null | undefined;
19
19
  } & class_variance_authority_types.ClassProp) | undefined) => string;
20
20
 
package/dist/ui/toast.js CHANGED
@@ -1,25 +1,19 @@
1
- "use client";
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
2
 
3
+ var _chunkE5UX537Jjs = require('../chunk-E5UX537J.js');
3
4
 
4
5
  // src/ui/toast/toast.tsx
5
- import { AnimatePresence, motion } from "framer-motion";
6
- import {
7
- createContext,
8
- useCallback,
9
- useContext,
10
- useEffect,
11
- useMemo,
12
- useRef,
13
- useState
14
- } from "react";
15
- import { createPortal } from "react-dom";
6
+ var _framermotion = require('framer-motion');
7
+
8
+
9
+
10
+
11
+
16
12
 
17
- // src/lib/utils.ts
18
- import { clsx } from "clsx";
19
- import { twMerge } from "tailwind-merge";
20
- function cn(...inputs) {
21
- return twMerge(clsx(inputs));
22
- }
13
+
14
+
15
+ var _react = require('react');
16
+ var _reactdom = require('react-dom');
23
17
 
24
18
  // src/ui/toast/animations.ts
25
19
  var toastAnimationPresets = {
@@ -39,8 +33,8 @@ var toastAnimationPresets = {
39
33
  };
40
34
 
41
35
  // src/ui/toast/variants.ts
42
- import { cva } from "class-variance-authority";
43
- var toastViewportVariants = cva("fixed z-[60] flex max-h-screen flex-col gap-2 p-4", {
36
+ var _classvarianceauthority = require('class-variance-authority');
37
+ var toastViewportVariants = _classvarianceauthority.cva.call(void 0, "fixed z-[60] flex max-h-screen flex-col gap-2 p-4", {
44
38
  variants: {
45
39
  position: {
46
40
  "top-left": "left-0 top-0 items-start",
@@ -55,7 +49,7 @@ var toastViewportVariants = cva("fixed z-[60] flex max-h-screen flex-col gap-2 p
55
49
  position: "bottom-right"
56
50
  }
57
51
  });
58
- var toastRootVariants = cva(
52
+ var toastRootVariants = _classvarianceauthority.cva.call(void 0,
59
53
  "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)]",
60
54
  {
61
55
  variants: {
@@ -100,8 +94,8 @@ var toastRootVariants = cva(
100
94
  );
101
95
 
102
96
  // src/ui/toast/toast.tsx
103
- import { jsx, jsxs } from "react/jsx-runtime";
104
- var ToastStoreContext = createContext(null);
97
+ var _jsxruntime = require('react/jsx-runtime');
98
+ var ToastStoreContext = _react.createContext.call(void 0, null);
105
99
  var toastDispatcher = null;
106
100
  function toast(input) {
107
101
  if (!toastDispatcher) {
@@ -110,16 +104,16 @@ function toast(input) {
110
104
  return toastDispatcher(input);
111
105
  }
112
106
  function useToast() {
113
- const ctx = useContext(ToastStoreContext);
107
+ const ctx = _react.useContext.call(void 0, ToastStoreContext);
114
108
  if (!ctx) {
115
109
  throw new Error("useToast must be used within <ToastProvider>");
116
110
  }
117
111
  return { toast: ctx.push, dismiss: ctx.dismiss };
118
112
  }
119
113
  function ToastProvider({ children }) {
120
- const [toasts, setToasts] = useState([]);
121
- const timers = useRef(/* @__PURE__ */ new Map());
122
- const dismiss = useCallback((id) => {
114
+ const [toasts, setToasts] = _react.useState.call(void 0, []);
115
+ const timers = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
116
+ const dismiss = _react.useCallback.call(void 0, (id) => {
123
117
  const timerId = timers.current.get(id);
124
118
  if (timerId) {
125
119
  window.clearTimeout(timerId);
@@ -127,15 +121,15 @@ function ToastProvider({ children }) {
127
121
  }
128
122
  setToasts((prev) => prev.filter((toastItem) => toastItem.id !== id));
129
123
  }, []);
130
- const push = useCallback(
124
+ const push = _react.useCallback.call(void 0,
131
125
  (input) => {
132
- const id = input.id ?? `toast-${Math.random().toString(16).slice(2)}`;
133
- const durationMs = input.durationMs ?? 4500;
126
+ const id = _nullishCoalesce(input.id, () => ( `toast-${Math.random().toString(16).slice(2)}`));
127
+ const durationMs = _nullishCoalesce(input.durationMs, () => ( 4500));
134
128
  const record = {
135
129
  ...input,
136
130
  id,
137
131
  durationMs,
138
- animation: input.animation ?? "slide"
132
+ animation: _nullishCoalesce(input.animation, () => ( "slide"))
139
133
  };
140
134
  setToasts((prev) => [...prev, record]);
141
135
  const timerId = window.setTimeout(() => dismiss(id), durationMs);
@@ -144,7 +138,7 @@ function ToastProvider({ children }) {
144
138
  },
145
139
  [dismiss]
146
140
  );
147
- const ctx = useMemo(
141
+ const ctx = _react.useMemo.call(void 0,
148
142
  () => ({
149
143
  toasts,
150
144
  push,
@@ -152,17 +146,17 @@ function ToastProvider({ children }) {
152
146
  }),
153
147
  [dismiss, push, toasts]
154
148
  );
155
- useEffect(() => {
149
+ _react.useEffect.call(void 0, () => {
156
150
  toastDispatcher = push;
157
151
  return () => {
158
152
  toastDispatcher = null;
159
153
  };
160
154
  }, [push]);
161
- return /* @__PURE__ */ jsx(ToastStoreContext.Provider, { value: ctx, children });
155
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToastStoreContext.Provider, { value: ctx, children });
162
156
  }
163
157
  ToastProvider.displayName = "ToastProvider";
164
158
  function ToastViewport({ position = "bottom-right", className }) {
165
- const ctx = useContext(ToastStoreContext);
159
+ const ctx = _react.useContext.call(void 0, ToastStoreContext);
166
160
  if (!ctx) {
167
161
  throw new Error("ToastViewport must be used within <ToastProvider>");
168
162
  }
@@ -170,8 +164,8 @@ function ToastViewport({ position = "bottom-right", className }) {
170
164
  if (!portalTarget) {
171
165
  return null;
172
166
  }
173
- return createPortal(
174
- /* @__PURE__ */ jsx("div", { className: cn(toastViewportVariants({ position }), className), "data-slot": "toast-viewport", children: /* @__PURE__ */ jsx(AnimatePresence, { children: ctx.toasts.map((item) => /* @__PURE__ */ jsxs(
167
+ return _reactdom.createPortal.call(void 0,
168
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkE5UX537Jjs.cn.call(void 0, toastViewportVariants({ position }), className), "data-slot": "toast-viewport", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _framermotion.AnimatePresence, { children: ctx.toasts.map((item) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
175
169
  Toast,
176
170
  {
177
171
  toastId: item.id,
@@ -179,9 +173,9 @@ function ToastViewport({ position = "bottom-right", className }) {
179
173
  size: item.size,
180
174
  animation: item.animation,
181
175
  children: [
182
- /* @__PURE__ */ jsx(ToastTitle, { children: item.title }),
183
- item.description ? /* @__PURE__ */ jsx(ToastDescription, { children: item.description }) : null,
184
- /* @__PURE__ */ jsx(ToastClose, { onClick: () => ctx.dismiss(item.id) })
176
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToastTitle, { children: item.title }),
177
+ item.description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToastDescription, { children: item.description }) : null,
178
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToastClose, { onClick: () => ctx.dismiss(item.id) })
185
179
  ]
186
180
  },
187
181
  item.id
@@ -193,15 +187,15 @@ ToastViewport.displayName = "ToastViewport";
193
187
  function Toast({ toastId: _toastId, appearance, size, animation = "slide", className, children }) {
194
188
  const motionProps = toastAnimationPresets[animation];
195
189
  const live = appearance === "error" ? "assertive" : "polite";
196
- return /* @__PURE__ */ jsx(
197
- motion.div,
190
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
191
+ _framermotion.motion.div,
198
192
  {
199
193
  layout: true,
200
194
  "data-slot": "toast",
201
195
  role: appearance === "error" ? "alert" : "status",
202
196
  "aria-live": live,
203
197
  "aria-atomic": "true",
204
- className: cn("relative", toastRootVariants({ appearance, size }), className),
198
+ className: _chunkE5UX537Jjs.cn.call(void 0, "relative", toastRootVariants({ appearance, size }), className),
205
199
  initial: animation === "none" ? false : motionProps.initial,
206
200
  animate: animation === "none" ? void 0 : motionProps.animate,
207
201
  exit: animation === "none" ? void 0 : motionProps.exit,
@@ -212,47 +206,47 @@ function Toast({ toastId: _toastId, appearance, size, animation = "slide", class
212
206
  }
213
207
  Toast.displayName = "Toast";
214
208
  function ToastTitle({ className, children }) {
215
- return /* @__PURE__ */ jsx("div", { "data-slot": "toast-title", className: cn("font-semibold", className), children });
209
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "toast-title", className: _chunkE5UX537Jjs.cn.call(void 0, "font-semibold", className), children });
216
210
  }
217
211
  ToastTitle.displayName = "ToastTitle";
218
212
  function ToastDescription({ className, children }) {
219
- return /* @__PURE__ */ jsx("div", { "data-slot": "toast-description", className: cn("text-sm text-slate-300", className), children });
213
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "toast-description", className: _chunkE5UX537Jjs.cn.call(void 0, "text-sm text-slate-300", className), children });
220
214
  }
221
215
  ToastDescription.displayName = "ToastDescription";
222
216
  function ToastAction({ className, children }) {
223
- return /* @__PURE__ */ jsx("div", { "data-slot": "toast-action", className: cn("mt-3", className), children });
217
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "toast-action", className: _chunkE5UX537Jjs.cn.call(void 0, "mt-3", className), children });
224
218
  }
225
219
  ToastAction.displayName = "ToastAction";
226
220
  function ToastClose({ className, children, onClick, ...rest }) {
227
- return /* @__PURE__ */ jsx(
221
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
228
222
  "button",
229
223
  {
230
224
  type: "button",
231
225
  "data-slot": "toast-close",
232
226
  "aria-label": "Dismiss notification",
233
- className: cn(
227
+ className: _chunkE5UX537Jjs.cn.call(void 0,
234
228
  "absolute right-3 top-3 inline-flex size-8 items-center justify-center rounded-md text-slate-200 transition hover:bg-white/10",
235
229
  className
236
230
  ),
237
231
  onClick,
238
232
  ...rest,
239
- children: children ?? "\xD7"
233
+ children: _nullishCoalesce(children, () => ( "\xD7"))
240
234
  }
241
235
  );
242
236
  }
243
237
  ToastClose.displayName = "ToastClose";
244
- export {
245
- Toast,
246
- ToastAction,
247
- ToastClose,
248
- ToastDescription,
249
- ToastProvider,
250
- ToastTitle,
251
- ToastViewport,
252
- toast,
253
- toastAnimationPresets,
254
- toastRootVariants,
255
- toastViewportVariants,
256
- useToast
257
- };
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+ exports.Toast = Toast; exports.ToastAction = ToastAction; exports.ToastClose = ToastClose; exports.ToastDescription = ToastDescription; exports.ToastProvider = ToastProvider; exports.ToastTitle = ToastTitle; exports.ToastViewport = ToastViewport; exports.toast = toast; exports.toastAnimationPresets = toastAnimationPresets; exports.toastRootVariants = toastRootVariants; exports.toastViewportVariants = toastViewportVariants; exports.useToast = useToast;
258
252
  //# sourceMappingURL=toast.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/toast/toast.tsx","../../src/lib/utils.ts","../../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 ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\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":["/Users/shubham/Desktop/Repos/NEXT%20JS/zentauri-ui/packages/components/dist/ui/toast.js"],"names":[],"mappings":"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AAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,oBAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,0BAAA;AACA,UAAA;AACA,0BAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/shubham/Desktop/Repos/NEXT JS/zentauri-ui/packages/components/dist/ui/toast.js","sourcesContent":[null]}
@@ -1,51 +1,21 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use client";
19
2
 
20
- // src/ui/toast/index.ts
21
- var toast_exports = {};
22
- __export(toast_exports, {
23
- Toast: () => Toast,
24
- ToastAction: () => ToastAction,
25
- ToastClose: () => ToastClose,
26
- ToastDescription: () => ToastDescription,
27
- ToastProvider: () => ToastProvider,
28
- ToastTitle: () => ToastTitle,
29
- ToastViewport: () => ToastViewport,
30
- toast: () => toast,
31
- toastAnimationPresets: () => toastAnimationPresets,
32
- toastRootVariants: () => toastRootVariants,
33
- toastViewportVariants: () => toastViewportVariants,
34
- useToast: () => useToast
35
- });
36
- module.exports = __toCommonJS(toast_exports);
3
+ import {
4
+ cn
5
+ } from "../chunk-MEWYFWBX.mjs";
37
6
 
38
7
  // src/ui/toast/toast.tsx
39
- var import_framer_motion = require("framer-motion");
40
- var import_react = require("react");
41
- var import_react_dom = require("react-dom");
42
-
43
- // src/lib/utils.ts
44
- var import_clsx = require("clsx");
45
- var import_tailwind_merge = require("tailwind-merge");
46
- function cn(...inputs) {
47
- return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
48
- }
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";
49
19
 
50
20
  // src/ui/toast/animations.ts
51
21
  var toastAnimationPresets = {
@@ -65,8 +35,8 @@ var toastAnimationPresets = {
65
35
  };
66
36
 
67
37
  // src/ui/toast/variants.ts
68
- var import_class_variance_authority = require("class-variance-authority");
69
- var toastViewportVariants = (0, import_class_variance_authority.cva)("fixed z-[60] flex max-h-screen flex-col gap-2 p-4", {
38
+ import { cva } from "class-variance-authority";
39
+ var toastViewportVariants = cva("fixed z-[60] flex max-h-screen flex-col gap-2 p-4", {
70
40
  variants: {
71
41
  position: {
72
42
  "top-left": "left-0 top-0 items-start",
@@ -81,7 +51,7 @@ var toastViewportVariants = (0, import_class_variance_authority.cva)("fixed z-[6
81
51
  position: "bottom-right"
82
52
  }
83
53
  });
84
- var toastRootVariants = (0, import_class_variance_authority.cva)(
54
+ var toastRootVariants = cva(
85
55
  "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)]",
86
56
  {
87
57
  variants: {
@@ -126,8 +96,8 @@ var toastRootVariants = (0, import_class_variance_authority.cva)(
126
96
  );
127
97
 
128
98
  // src/ui/toast/toast.tsx
129
- var import_jsx_runtime = require("react/jsx-runtime");
130
- var ToastStoreContext = (0, import_react.createContext)(null);
99
+ import { jsx, jsxs } from "react/jsx-runtime";
100
+ var ToastStoreContext = createContext(null);
131
101
  var toastDispatcher = null;
132
102
  function toast(input) {
133
103
  if (!toastDispatcher) {
@@ -136,16 +106,16 @@ function toast(input) {
136
106
  return toastDispatcher(input);
137
107
  }
138
108
  function useToast() {
139
- const ctx = (0, import_react.useContext)(ToastStoreContext);
109
+ const ctx = useContext(ToastStoreContext);
140
110
  if (!ctx) {
141
111
  throw new Error("useToast must be used within <ToastProvider>");
142
112
  }
143
113
  return { toast: ctx.push, dismiss: ctx.dismiss };
144
114
  }
145
115
  function ToastProvider({ children }) {
146
- const [toasts, setToasts] = (0, import_react.useState)([]);
147
- const timers = (0, import_react.useRef)(/* @__PURE__ */ new Map());
148
- const dismiss = (0, import_react.useCallback)((id) => {
116
+ const [toasts, setToasts] = useState([]);
117
+ const timers = useRef(/* @__PURE__ */ new Map());
118
+ const dismiss = useCallback((id) => {
149
119
  const timerId = timers.current.get(id);
150
120
  if (timerId) {
151
121
  window.clearTimeout(timerId);
@@ -153,7 +123,7 @@ function ToastProvider({ children }) {
153
123
  }
154
124
  setToasts((prev) => prev.filter((toastItem) => toastItem.id !== id));
155
125
  }, []);
156
- const push = (0, import_react.useCallback)(
126
+ const push = useCallback(
157
127
  (input) => {
158
128
  const id = input.id ?? `toast-${Math.random().toString(16).slice(2)}`;
159
129
  const durationMs = input.durationMs ?? 4500;
@@ -170,7 +140,7 @@ function ToastProvider({ children }) {
170
140
  },
171
141
  [dismiss]
172
142
  );
173
- const ctx = (0, import_react.useMemo)(
143
+ const ctx = useMemo(
174
144
  () => ({
175
145
  toasts,
176
146
  push,
@@ -178,17 +148,17 @@ function ToastProvider({ children }) {
178
148
  }),
179
149
  [dismiss, push, toasts]
180
150
  );
181
- (0, import_react.useEffect)(() => {
151
+ useEffect(() => {
182
152
  toastDispatcher = push;
183
153
  return () => {
184
154
  toastDispatcher = null;
185
155
  };
186
156
  }, [push]);
187
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToastStoreContext.Provider, { value: ctx, children });
157
+ return /* @__PURE__ */ jsx(ToastStoreContext.Provider, { value: ctx, children });
188
158
  }
189
159
  ToastProvider.displayName = "ToastProvider";
190
160
  function ToastViewport({ position = "bottom-right", className }) {
191
- const ctx = (0, import_react.useContext)(ToastStoreContext);
161
+ const ctx = useContext(ToastStoreContext);
192
162
  if (!ctx) {
193
163
  throw new Error("ToastViewport must be used within <ToastProvider>");
194
164
  }
@@ -196,8 +166,8 @@ function ToastViewport({ position = "bottom-right", className }) {
196
166
  if (!portalTarget) {
197
167
  return null;
198
168
  }
199
- return (0, import_react_dom.createPortal)(
200
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: cn(toastViewportVariants({ position }), className), "data-slot": "toast-viewport", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_framer_motion.AnimatePresence, { children: ctx.toasts.map((item) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
169
+ 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(
201
171
  Toast,
202
172
  {
203
173
  toastId: item.id,
@@ -205,9 +175,9 @@ function ToastViewport({ position = "bottom-right", className }) {
205
175
  size: item.size,
206
176
  animation: item.animation,
207
177
  children: [
208
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToastTitle, { children: item.title }),
209
- item.description ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToastDescription, { children: item.description }) : null,
210
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToastClose, { onClick: () => ctx.dismiss(item.id) })
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) })
211
181
  ]
212
182
  },
213
183
  item.id
@@ -219,8 +189,8 @@ ToastViewport.displayName = "ToastViewport";
219
189
  function Toast({ toastId: _toastId, appearance, size, animation = "slide", className, children }) {
220
190
  const motionProps = toastAnimationPresets[animation];
221
191
  const live = appearance === "error" ? "assertive" : "polite";
222
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
223
- import_framer_motion.motion.div,
192
+ return /* @__PURE__ */ jsx(
193
+ motion.div,
224
194
  {
225
195
  layout: true,
226
196
  "data-slot": "toast",
@@ -238,19 +208,19 @@ function Toast({ toastId: _toastId, appearance, size, animation = "slide", class
238
208
  }
239
209
  Toast.displayName = "Toast";
240
210
  function ToastTitle({ className, children }) {
241
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { "data-slot": "toast-title", className: cn("font-semibold", className), children });
211
+ return /* @__PURE__ */ jsx("div", { "data-slot": "toast-title", className: cn("font-semibold", className), children });
242
212
  }
243
213
  ToastTitle.displayName = "ToastTitle";
244
214
  function ToastDescription({ className, children }) {
245
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { "data-slot": "toast-description", className: cn("text-sm text-slate-300", className), children });
215
+ return /* @__PURE__ */ jsx("div", { "data-slot": "toast-description", className: cn("text-sm text-slate-300", className), children });
246
216
  }
247
217
  ToastDescription.displayName = "ToastDescription";
248
218
  function ToastAction({ className, children }) {
249
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { "data-slot": "toast-action", className: cn("mt-3", className), children });
219
+ return /* @__PURE__ */ jsx("div", { "data-slot": "toast-action", className: cn("mt-3", className), children });
250
220
  }
251
221
  ToastAction.displayName = "ToastAction";
252
222
  function ToastClose({ className, children, onClick, ...rest }) {
253
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
223
+ return /* @__PURE__ */ jsx(
254
224
  "button",
255
225
  {
256
226
  type: "button",
@@ -267,8 +237,7 @@ function ToastClose({ className, children, onClick, ...rest }) {
267
237
  );
268
238
  }
269
239
  ToastClose.displayName = "ToastClose";
270
- // Annotate the CommonJS export names for ESM import in node:
271
- 0 && (module.exports = {
240
+ export {
272
241
  Toast,
273
242
  ToastAction,
274
243
  ToastClose,
@@ -281,5 +250,5 @@ ToastClose.displayName = "ToastClose";
281
250
  toastRootVariants,
282
251
  toastViewportVariants,
283
252
  useToast
284
- });
285
- //# sourceMappingURL=toast.cjs.map
253
+ };
254
+ //# sourceMappingURL=toast.mjs.map
@@ -0,0 +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":[]}