@zentauri-ui/zentauri-components 0.0.84 → 0.0.92

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 (144) hide show
  1. package/README.md +47 -29
  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.d.mts +70 -0
  11. package/dist/ui/accordion.d.ts +70 -0
  12. package/dist/ui/accordion.js +280 -0
  13. package/dist/ui/accordion.js.map +1 -0
  14. package/dist/ui/accordion.mjs +282 -0
  15. package/dist/ui/accordion.mjs.map +1 -0
  16. package/dist/ui/alert.d.mts +66 -0
  17. package/dist/ui/alert.d.ts +66 -0
  18. package/dist/ui/alert.js +218 -0
  19. package/dist/ui/alert.js.map +1 -0
  20. package/dist/ui/alert.mjs +220 -0
  21. package/dist/ui/alert.mjs.map +1 -0
  22. package/dist/ui/badge.d.mts +37 -0
  23. package/dist/ui/badge.d.ts +37 -0
  24. package/dist/ui/badge.js +159 -0
  25. package/dist/ui/badge.js.map +1 -0
  26. package/dist/ui/badge.mjs +161 -0
  27. package/dist/ui/badge.mjs.map +1 -0
  28. package/dist/ui/buttons.d.mts +27 -0
  29. package/dist/ui/buttons.d.ts +27 -0
  30. package/dist/ui/buttons.js +107 -0
  31. package/dist/ui/buttons.js.map +1 -0
  32. package/dist/ui/buttons.mjs +109 -0
  33. package/dist/ui/buttons.mjs.map +1 -0
  34. package/dist/ui/card.d.mts +77 -0
  35. package/dist/ui/card.d.ts +77 -0
  36. package/dist/ui/card.js +252 -0
  37. package/dist/ui/card.js.map +1 -0
  38. package/dist/ui/card.mjs +254 -0
  39. package/dist/ui/card.mjs.map +1 -0
  40. package/dist/ui/divider.d.mts +39 -0
  41. package/dist/ui/divider.d.ts +39 -0
  42. package/dist/ui/divider.js +194 -0
  43. package/dist/ui/divider.js.map +1 -0
  44. package/dist/ui/divider.mjs +196 -0
  45. package/dist/ui/divider.mjs.map +1 -0
  46. package/dist/ui/drawer.d.mts +81 -0
  47. package/dist/ui/drawer.d.ts +81 -0
  48. package/dist/ui/drawer.js +377 -0
  49. package/dist/ui/drawer.js.map +1 -0
  50. package/dist/ui/drawer.mjs +379 -0
  51. package/dist/ui/drawer.mjs.map +1 -0
  52. package/dist/ui/dropdown.d.mts +50 -0
  53. package/dist/ui/dropdown.d.ts +50 -0
  54. package/dist/ui/dropdown.js +272 -0
  55. package/dist/ui/dropdown.js.map +1 -0
  56. package/dist/ui/dropdown.mjs +274 -0
  57. package/dist/ui/dropdown.mjs.map +1 -0
  58. package/dist/ui/empty-state.d.mts +55 -0
  59. package/dist/ui/empty-state.d.ts +55 -0
  60. package/dist/ui/empty-state.js +148 -0
  61. package/dist/ui/empty-state.js.map +1 -0
  62. package/dist/ui/empty-state.mjs +150 -0
  63. package/dist/ui/empty-state.mjs.map +1 -0
  64. package/dist/ui/inputs.d.mts +35 -0
  65. package/dist/ui/inputs.d.ts +35 -0
  66. package/dist/ui/inputs.js +426 -0
  67. package/dist/ui/inputs.js.map +1 -0
  68. package/dist/ui/inputs.mjs +428 -0
  69. package/dist/ui/inputs.mjs.map +1 -0
  70. package/dist/ui/modal.d.mts +84 -0
  71. package/dist/ui/modal.d.ts +84 -0
  72. package/dist/ui/modal.js +378 -0
  73. package/dist/ui/modal.js.map +1 -0
  74. package/dist/ui/modal.mjs +380 -0
  75. package/dist/ui/modal.mjs.map +1 -0
  76. package/dist/ui/pagination.d.mts +114 -0
  77. package/dist/ui/pagination.d.ts +114 -0
  78. package/dist/ui/pagination.js +425 -0
  79. package/dist/ui/pagination.js.map +1 -0
  80. package/dist/ui/pagination.mjs +427 -0
  81. package/dist/ui/pagination.mjs.map +1 -0
  82. package/dist/ui/progress.d.mts +61 -0
  83. package/dist/ui/progress.d.ts +61 -0
  84. package/dist/ui/progress.js +231 -0
  85. package/dist/ui/progress.js.map +1 -0
  86. package/dist/ui/progress.mjs +233 -0
  87. package/dist/ui/progress.mjs.map +1 -0
  88. package/dist/ui/select.d.mts +73 -0
  89. package/dist/ui/select.d.ts +73 -0
  90. package/dist/ui/select.js +321 -0
  91. package/dist/ui/select.js.map +1 -0
  92. package/dist/ui/select.mjs +323 -0
  93. package/dist/ui/select.mjs.map +1 -0
  94. package/dist/ui/skeleton.d.mts +90 -0
  95. package/dist/ui/skeleton.d.ts +90 -0
  96. package/dist/ui/skeleton.js +538 -0
  97. package/dist/ui/skeleton.js.map +1 -0
  98. package/dist/ui/skeleton.mjs +540 -0
  99. package/dist/ui/skeleton.mjs.map +1 -0
  100. package/dist/ui/spinner.d.mts +27 -0
  101. package/dist/ui/spinner.d.ts +27 -0
  102. package/dist/ui/spinner.js +187 -0
  103. package/dist/ui/spinner.js.map +1 -0
  104. package/dist/ui/spinner.mjs +189 -0
  105. package/dist/ui/spinner.mjs.map +1 -0
  106. package/dist/ui/table.d.mts +81 -0
  107. package/dist/ui/table.d.ts +81 -0
  108. package/dist/ui/table.js +287 -0
  109. package/dist/ui/table.js.map +1 -0
  110. package/dist/ui/table.mjs +289 -0
  111. package/dist/ui/table.mjs.map +1 -0
  112. package/dist/ui/tabs.d.mts +58 -0
  113. package/dist/ui/tabs.d.ts +58 -0
  114. package/dist/ui/tabs.js +268 -0
  115. package/dist/ui/tabs.js.map +1 -0
  116. package/dist/ui/tabs.mjs +270 -0
  117. package/dist/ui/tabs.mjs.map +1 -0
  118. package/dist/ui/toast.d.mts +86 -0
  119. package/dist/ui/toast.d.ts +86 -0
  120. package/dist/ui/toast.js +252 -0
  121. package/dist/ui/toast.js.map +1 -0
  122. package/dist/ui/toast.mjs +254 -0
  123. package/dist/ui/toast.mjs.map +1 -0
  124. package/dist/ui/toggle.d.mts +37 -0
  125. package/dist/ui/toggle.d.ts +37 -0
  126. package/dist/ui/toggle.js +152 -0
  127. package/dist/ui/toggle.js.map +1 -0
  128. package/dist/ui/toggle.mjs +154 -0
  129. package/dist/ui/toggle.mjs.map +1 -0
  130. package/dist/ui/tooltip.d.mts +46 -0
  131. package/dist/ui/tooltip.d.ts +46 -0
  132. package/dist/ui/tooltip.js +208 -0
  133. package/dist/ui/tooltip.js.map +1 -0
  134. package/dist/ui/tooltip.mjs +210 -0
  135. package/dist/ui/tooltip.mjs.map +1 -0
  136. package/dist/variants-Dd9pe-ov.d.mts +8 -0
  137. package/dist/variants-Dd9pe-ov.d.ts +8 -0
  138. package/package.json +15 -14
  139. package/dist/ui/index.cjs +0 -5764
  140. package/dist/ui/index.cjs.map +0 -1
  141. package/dist/ui/index.d.cts +0 -1164
  142. package/dist/ui/index.d.ts +0 -1164
  143. package/dist/ui/index.js +0 -5626
  144. package/dist/ui/index.js.map +0 -1
@@ -0,0 +1,272 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } 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; }
2
+
3
+ var _chunkE5UX537Jjs = require('../chunk-E5UX537J.js');
4
+
5
+ // src/ui/dropdown/dropdown.tsx
6
+
7
+
8
+
9
+
10
+
11
+
12
+ var _react = require('react');
13
+ var _fi = require('react-icons/fi');
14
+
15
+ // src/ui/dropdown/variants.ts
16
+ var _classvarianceauthority = require('class-variance-authority');
17
+ var triggerVariants = _classvarianceauthority.cva.call(void 0,
18
+ "inline-flex items-center justify-between rounded-md font-medium transition focus:outline-none cursor-pointer",
19
+ {
20
+ variants: {
21
+ variant: {
22
+ default: "bg-gray-900 text-white",
23
+ outline: "border border-gray-300",
24
+ ghost: "bg-transparent",
25
+ white: "bg-white text-gray-900",
26
+ black: "bg-black text-white",
27
+ sky: "border border-sky-600 text-sky-600",
28
+ rose: "border border-rose-600 text-rose-600",
29
+ purple: "border border-purple-600 text-purple-600",
30
+ pink: "border border-pink-600 text-pink-600",
31
+ orange: "border border-orange-600 text-orange-600",
32
+ yellow: "border border-yellow-600 text-yellow-600",
33
+ teal: "border border-teal-600 text-teal-600",
34
+ indigo: "border border-indigo-600 text-indigo-600",
35
+ emerald: "border border-emerald-600 text-emerald-600",
36
+ gray: "border border-gray-600 text-gray-600",
37
+ amber: "border border-amber-600 text-amber-600",
38
+ violet: "border border-violet-600 text-violet-600",
39
+ "gradient-blue": "bg-gradient-to-r from-blue-600 to-purple-600 text-gradient-to-r from-blue-600 to-purple-600",
40
+ "gradient-green": "bg-gradient-to-r from-green-600 to-lime-600 text-gradient-to-r from-green-600 to-lime-600",
41
+ "gradient-red": "bg-gradient-to-r from-red-600 to-pink-600 text-gradient-to-r from-red-600 to-pink-600",
42
+ "gradient-yellow": "bg-gradient-to-r from-yellow-600 to-orange-600 text-gradient-to-r from-yellow-600 to-orange-600",
43
+ "gradient-purple": "bg-gradient-to-r from-purple-600 to-pink-600 text-gradient-to-r from-purple-600 to-pink-600",
44
+ "gradient-teal": "bg-gradient-to-r from-teal-600 to-cyan-600 text-gradient-to-r from-teal-600 to-cyan-600",
45
+ "gradient-indigo": "bg-gradient-to-r from-indigo-600 to-purple-600 text-gradient-to-r from-indigo-600 to-purple-600",
46
+ "gradient-pink": "bg-gradient-to-r from-pink-600 to-rose-600 text-gradient-to-r from-pink-600 to-rose-600",
47
+ "gradient-orange": "bg-gradient-to-r from-orange-600 to-red-600 text-gradient-to-r from-orange-600 to-red-600"
48
+ },
49
+ size: {
50
+ sm: "px-2 py-1 text-sm",
51
+ md: "px-3 py-2 text-base",
52
+ lg: "px-4 py-3 text-lg"
53
+ }
54
+ },
55
+ defaultVariants: {
56
+ variant: "default",
57
+ size: "md"
58
+ }
59
+ }
60
+ );
61
+ var contentVariants = _classvarianceauthority.cva.call(void 0,
62
+ "absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border",
63
+ {
64
+ variants: {
65
+ placement: {
66
+ top: "bottom-full mb-2",
67
+ bottom: "top-full mt-2",
68
+ left: "right-full mr-2",
69
+ right: "left-full ml-2"
70
+ },
71
+ spacing: {
72
+ none: "space-y-0",
73
+ default: "space-y-1",
74
+ sm: "space-y-2",
75
+ md: "space-y-3",
76
+ lg: "space-y-4",
77
+ xl: "space-y-5"
78
+ }
79
+ },
80
+ defaultVariants: {
81
+ placement: "bottom",
82
+ spacing: "default"
83
+ }
84
+ }
85
+ );
86
+ var itemVariants = _classvarianceauthority.cva.call(void 0,
87
+ "flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors",
88
+ {
89
+ variants: {
90
+ variant: {
91
+ default: "hover:bg-gray-100 hover:text-gray-900 text-gray-100",
92
+ outline: "hover:bg-gray-100 hover:text-gray-900 border border-white text-gray-100",
93
+ ghost: "hover:bg-gray-100 hover:text-gray-900 bg-transparent text-gray-100",
94
+ white: "hover:bg-gray-100 hover:text-gray-900 bg-white text-gray-900",
95
+ black: "hover:bg-gray-100 hover:text-gray-900 bg-black text-white",
96
+ sky: "hover:bg-sky-100 hover:text-sky-600 bg-sky-200 text-sky-800",
97
+ rose: "hover:bg-rose-100 hover:text-rose-600 bg-rose-200 text-rose-800",
98
+ purple: "hover:bg-purple-100 hover:text-purple-600 bg-purple-200 text-purple-800",
99
+ pink: "hover:bg-pink-100 hover:text-pink-600 bg-pink-200 text-pink-800",
100
+ orange: "hover:bg-orange-100 hover:text-orange-600 bg-orange-200 text-orange-800",
101
+ yellow: "hover:bg-yellow-100 hover:text-yellow-600 bg-yellow-200 text-yellow-800",
102
+ teal: "hover:bg-teal-100 hover:text-teal-600 bg-teal-200 text-teal-800",
103
+ indigo: "hover:bg-indigo-100 hover:text-indigo-600 bg-indigo-200 text-indigo-800",
104
+ emerald: "hover:bg-emerald-100 hover:text-emerald-600 bg-emerald-200 text-emerald-800",
105
+ gray: "hover:bg-gray-100 hover:text-gray-900 bg-gray-200 text-gray-800",
106
+ amber: "hover:bg-amber-100 hover:text-amber-600 bg-amber-200 text-amber-800",
107
+ violet: "hover:bg-violet-100 hover:text-violet-600 bg-violet-200 text-violet-800",
108
+ "gradient-blue": "hover:bg-gradient-to-r from-blue-600 to-purple-600 hover:text-blue-900 bg-gradient-to-r from-blue-200 to-purple-200 text-blue-800",
109
+ "gradient-green": "hover:bg-gradient-to-r from-green-600 to-lime-600 hover:text-green-900 bg-gradient-to-r from-green-200 to-lime-200 text-green-800",
110
+ "gradient-red": "hover:bg-gradient-to-r from-red-600 to-pink-600 hover:text-red-900 bg-gradient-to-r from-red-200 to-pink-200 text-red-800",
111
+ "gradient-yellow": "hover:bg-gradient-to-r from-yellow-600 to-orange-600 hover:text-yellow-900 bg-gradient-to-r from-yellow-200 to-orange-200 text-yellow-800",
112
+ "gradient-purple": "hover:bg-gradient-to-r from-purple-600 to-pink-600 hover:text-purple-900 bg-gradient-to-r from-purple-200 to-pink-200 text-purple-800",
113
+ "gradient-teal": "hover:bg-gradient-to-r from-teal-600 to-cyan-600 hover:text-teal-900 bg-gradient-to-r from-teal-200 to-cyan-200 text-teal-800",
114
+ "gradient-indigo": "hover:bg-gradient-to-r from-indigo-600 to-purple-600 hover:text-indigo-900 bg-gradient-to-r from-indigo-200 to-purple-200 text-indigo-800",
115
+ "gradient-pink": "hover:bg-gradient-to-r from-pink-600 to-rose-600 hover:text-pink-900 bg-gradient-to-r from-pink-200 to-rose-200 text-pink-800",
116
+ "gradient-orange": "hover:bg-gradient-to-r from-orange-600 to-red-600 hover:text-orange-900 bg-gradient-to-r from-orange-200 to-red-200 text-orange-800"
117
+ }
118
+ },
119
+ defaultVariants: {
120
+ variant: "default"
121
+ }
122
+ }
123
+ );
124
+
125
+ // src/ui/dropdown/dropdown.tsx
126
+ var _jsxruntime = require('react/jsx-runtime');
127
+ var DropdownContext = _react.createContext.call(void 0, null);
128
+ var useDropdown = () => {
129
+ const ctx = _react.useContext.call(void 0, DropdownContext);
130
+ if (!ctx) throw new Error("Use inside Dropdown");
131
+ return ctx;
132
+ };
133
+ var Dropdown = ({
134
+ children,
135
+ defaultOpen = false,
136
+ open: controlledOpen,
137
+ onOpenChange,
138
+ multiSelect = false
139
+ }) => {
140
+ const [uncontrolledOpen, setUncontrolledOpen] = _react.useState.call(void 0, defaultOpen);
141
+ const [selectedValues, setSelectedValues] = _react.useState.call(void 0, []);
142
+ const open = _nullishCoalesce(controlledOpen, () => ( uncontrolledOpen));
143
+ const setOpen = (val) => {
144
+ if (controlledOpen !== void 0) {
145
+ _optionalChain([onOpenChange, 'optionalCall', _ => _(val)]);
146
+ } else {
147
+ setUncontrolledOpen(val);
148
+ }
149
+ };
150
+ const toggle = () => setOpen(!open);
151
+ const toggleSelect = (value) => {
152
+ if (!multiSelect) {
153
+ setSelectedValues([value]);
154
+ setOpen(false);
155
+ return;
156
+ }
157
+ setSelectedValues(
158
+ (prev) => prev.includes(value) ? prev.filter((v) => v !== value) : [...prev, value]
159
+ );
160
+ };
161
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
162
+ DropdownContext.Provider,
163
+ {
164
+ value: {
165
+ open,
166
+ setOpen,
167
+ toggle,
168
+ selectedValues,
169
+ toggleSelect,
170
+ multiSelect
171
+ },
172
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative inline-block", children })
173
+ }
174
+ );
175
+ };
176
+ var DropdownTrigger = ({
177
+ children,
178
+ className,
179
+ variant,
180
+ size,
181
+ ...props
182
+ }) => {
183
+ const { toggle } = useDropdown();
184
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
185
+ "button",
186
+ {
187
+ onClick: toggle,
188
+ className: _chunkE5UX537Jjs.cn.call(void 0, triggerVariants({ variant, size }), className),
189
+ ...props,
190
+ children
191
+ }
192
+ );
193
+ };
194
+ var DropdownContent = ({
195
+ children,
196
+ className,
197
+ placement = "bottom",
198
+ spacing = "default",
199
+ divider,
200
+ ...props
201
+ }) => {
202
+ const { open, setOpen } = useDropdown();
203
+ const ref = _react.useRef.call(void 0, null);
204
+ _react.useEffect.call(void 0, () => {
205
+ const handleClickOutside = (e) => {
206
+ if (ref.current && !ref.current.contains(e.target)) {
207
+ setOpen(false);
208
+ }
209
+ };
210
+ document.addEventListener("mousedown", handleClickOutside);
211
+ return () => document.removeEventListener("mousedown", handleClickOutside);
212
+ }, [setOpen]);
213
+ if (!open) return null;
214
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
215
+ "div",
216
+ {
217
+ ref,
218
+ className: _chunkE5UX537Jjs.cn.call(void 0, contentVariants({ placement, spacing }), className, divider && "divide-y divide-current"),
219
+ ...props,
220
+ children
221
+ }
222
+ );
223
+ };
224
+ var DropdownItem = ({
225
+ children,
226
+ value,
227
+ className,
228
+ variant,
229
+ onSelect,
230
+ leftIcon,
231
+ rightIcon,
232
+ ...props
233
+ }) => {
234
+ const { toggleSelect, selectedValues } = useDropdown();
235
+ const isSelected = selectedValues.includes(value);
236
+ const handleClick = () => {
237
+ toggleSelect(value);
238
+ _optionalChain([onSelect, 'optionalCall', _2 => _2()]);
239
+ };
240
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
241
+ "div",
242
+ {
243
+ tabIndex: 0,
244
+ onClick: handleClick,
245
+ onKeyDown: (e) => {
246
+ if (e.key === "Enter") handleClick();
247
+ },
248
+ className: _chunkE5UX537Jjs.cn.call(void 0, itemVariants({ variant }), className),
249
+ ...props,
250
+ children: [
251
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
252
+ leftIcon,
253
+ children
254
+ ] }),
255
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
256
+ isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _fi.FiCheck, {}),
257
+ rightIcon
258
+ ] })
259
+ ]
260
+ }
261
+ );
262
+ };
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+ exports.Dropdown = Dropdown; exports.DropdownContent = DropdownContent; exports.DropdownItem = DropdownItem; exports.DropdownTrigger = DropdownTrigger; exports.contentVariants = contentVariants; exports.itemVariants = itemVariants; exports.triggerVariants = triggerVariants;
272
+ //# sourceMappingURL=dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shubham/Desktop/Repos/NEXT%20JS/zentauri-ui/packages/components/dist/ui/dropdown.js"],"names":[],"mappings":"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","file":"/Users/shubham/Desktop/Repos/NEXT JS/zentauri-ui/packages/components/dist/ui/dropdown.js","sourcesContent":[null]}
@@ -0,0 +1,274 @@
1
+ "use client";
2
+
3
+ import {
4
+ cn
5
+ } from "../chunk-MEWYFWBX.mjs";
6
+
7
+ // src/ui/dropdown/dropdown.tsx
8
+ import {
9
+ createContext,
10
+ useContext,
11
+ useState,
12
+ useRef,
13
+ useEffect
14
+ } from "react";
15
+ import { FiCheck } from "react-icons/fi";
16
+
17
+ // src/ui/dropdown/variants.ts
18
+ import { cva } from "class-variance-authority";
19
+ var triggerVariants = cva(
20
+ "inline-flex items-center justify-between rounded-md font-medium transition focus:outline-none cursor-pointer",
21
+ {
22
+ variants: {
23
+ variant: {
24
+ default: "bg-gray-900 text-white",
25
+ outline: "border border-gray-300",
26
+ ghost: "bg-transparent",
27
+ white: "bg-white text-gray-900",
28
+ black: "bg-black text-white",
29
+ sky: "border border-sky-600 text-sky-600",
30
+ rose: "border border-rose-600 text-rose-600",
31
+ purple: "border border-purple-600 text-purple-600",
32
+ pink: "border border-pink-600 text-pink-600",
33
+ orange: "border border-orange-600 text-orange-600",
34
+ yellow: "border border-yellow-600 text-yellow-600",
35
+ teal: "border border-teal-600 text-teal-600",
36
+ indigo: "border border-indigo-600 text-indigo-600",
37
+ emerald: "border border-emerald-600 text-emerald-600",
38
+ gray: "border border-gray-600 text-gray-600",
39
+ amber: "border border-amber-600 text-amber-600",
40
+ violet: "border border-violet-600 text-violet-600",
41
+ "gradient-blue": "bg-gradient-to-r from-blue-600 to-purple-600 text-gradient-to-r from-blue-600 to-purple-600",
42
+ "gradient-green": "bg-gradient-to-r from-green-600 to-lime-600 text-gradient-to-r from-green-600 to-lime-600",
43
+ "gradient-red": "bg-gradient-to-r from-red-600 to-pink-600 text-gradient-to-r from-red-600 to-pink-600",
44
+ "gradient-yellow": "bg-gradient-to-r from-yellow-600 to-orange-600 text-gradient-to-r from-yellow-600 to-orange-600",
45
+ "gradient-purple": "bg-gradient-to-r from-purple-600 to-pink-600 text-gradient-to-r from-purple-600 to-pink-600",
46
+ "gradient-teal": "bg-gradient-to-r from-teal-600 to-cyan-600 text-gradient-to-r from-teal-600 to-cyan-600",
47
+ "gradient-indigo": "bg-gradient-to-r from-indigo-600 to-purple-600 text-gradient-to-r from-indigo-600 to-purple-600",
48
+ "gradient-pink": "bg-gradient-to-r from-pink-600 to-rose-600 text-gradient-to-r from-pink-600 to-rose-600",
49
+ "gradient-orange": "bg-gradient-to-r from-orange-600 to-red-600 text-gradient-to-r from-orange-600 to-red-600"
50
+ },
51
+ size: {
52
+ sm: "px-2 py-1 text-sm",
53
+ md: "px-3 py-2 text-base",
54
+ lg: "px-4 py-3 text-lg"
55
+ }
56
+ },
57
+ defaultVariants: {
58
+ variant: "default",
59
+ size: "md"
60
+ }
61
+ }
62
+ );
63
+ var contentVariants = cva(
64
+ "absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border",
65
+ {
66
+ variants: {
67
+ placement: {
68
+ top: "bottom-full mb-2",
69
+ bottom: "top-full mt-2",
70
+ left: "right-full mr-2",
71
+ right: "left-full ml-2"
72
+ },
73
+ spacing: {
74
+ none: "space-y-0",
75
+ default: "space-y-1",
76
+ sm: "space-y-2",
77
+ md: "space-y-3",
78
+ lg: "space-y-4",
79
+ xl: "space-y-5"
80
+ }
81
+ },
82
+ defaultVariants: {
83
+ placement: "bottom",
84
+ spacing: "default"
85
+ }
86
+ }
87
+ );
88
+ var itemVariants = cva(
89
+ "flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors",
90
+ {
91
+ variants: {
92
+ variant: {
93
+ default: "hover:bg-gray-100 hover:text-gray-900 text-gray-100",
94
+ outline: "hover:bg-gray-100 hover:text-gray-900 border border-white text-gray-100",
95
+ ghost: "hover:bg-gray-100 hover:text-gray-900 bg-transparent text-gray-100",
96
+ white: "hover:bg-gray-100 hover:text-gray-900 bg-white text-gray-900",
97
+ black: "hover:bg-gray-100 hover:text-gray-900 bg-black text-white",
98
+ sky: "hover:bg-sky-100 hover:text-sky-600 bg-sky-200 text-sky-800",
99
+ rose: "hover:bg-rose-100 hover:text-rose-600 bg-rose-200 text-rose-800",
100
+ purple: "hover:bg-purple-100 hover:text-purple-600 bg-purple-200 text-purple-800",
101
+ pink: "hover:bg-pink-100 hover:text-pink-600 bg-pink-200 text-pink-800",
102
+ orange: "hover:bg-orange-100 hover:text-orange-600 bg-orange-200 text-orange-800",
103
+ yellow: "hover:bg-yellow-100 hover:text-yellow-600 bg-yellow-200 text-yellow-800",
104
+ teal: "hover:bg-teal-100 hover:text-teal-600 bg-teal-200 text-teal-800",
105
+ indigo: "hover:bg-indigo-100 hover:text-indigo-600 bg-indigo-200 text-indigo-800",
106
+ emerald: "hover:bg-emerald-100 hover:text-emerald-600 bg-emerald-200 text-emerald-800",
107
+ gray: "hover:bg-gray-100 hover:text-gray-900 bg-gray-200 text-gray-800",
108
+ amber: "hover:bg-amber-100 hover:text-amber-600 bg-amber-200 text-amber-800",
109
+ violet: "hover:bg-violet-100 hover:text-violet-600 bg-violet-200 text-violet-800",
110
+ "gradient-blue": "hover:bg-gradient-to-r from-blue-600 to-purple-600 hover:text-blue-900 bg-gradient-to-r from-blue-200 to-purple-200 text-blue-800",
111
+ "gradient-green": "hover:bg-gradient-to-r from-green-600 to-lime-600 hover:text-green-900 bg-gradient-to-r from-green-200 to-lime-200 text-green-800",
112
+ "gradient-red": "hover:bg-gradient-to-r from-red-600 to-pink-600 hover:text-red-900 bg-gradient-to-r from-red-200 to-pink-200 text-red-800",
113
+ "gradient-yellow": "hover:bg-gradient-to-r from-yellow-600 to-orange-600 hover:text-yellow-900 bg-gradient-to-r from-yellow-200 to-orange-200 text-yellow-800",
114
+ "gradient-purple": "hover:bg-gradient-to-r from-purple-600 to-pink-600 hover:text-purple-900 bg-gradient-to-r from-purple-200 to-pink-200 text-purple-800",
115
+ "gradient-teal": "hover:bg-gradient-to-r from-teal-600 to-cyan-600 hover:text-teal-900 bg-gradient-to-r from-teal-200 to-cyan-200 text-teal-800",
116
+ "gradient-indigo": "hover:bg-gradient-to-r from-indigo-600 to-purple-600 hover:text-indigo-900 bg-gradient-to-r from-indigo-200 to-purple-200 text-indigo-800",
117
+ "gradient-pink": "hover:bg-gradient-to-r from-pink-600 to-rose-600 hover:text-pink-900 bg-gradient-to-r from-pink-200 to-rose-200 text-pink-800",
118
+ "gradient-orange": "hover:bg-gradient-to-r from-orange-600 to-red-600 hover:text-orange-900 bg-gradient-to-r from-orange-200 to-red-200 text-orange-800"
119
+ }
120
+ },
121
+ defaultVariants: {
122
+ variant: "default"
123
+ }
124
+ }
125
+ );
126
+
127
+ // src/ui/dropdown/dropdown.tsx
128
+ import { jsx, jsxs } from "react/jsx-runtime";
129
+ var DropdownContext = createContext(null);
130
+ var useDropdown = () => {
131
+ const ctx = useContext(DropdownContext);
132
+ if (!ctx) throw new Error("Use inside Dropdown");
133
+ return ctx;
134
+ };
135
+ var Dropdown = ({
136
+ children,
137
+ defaultOpen = false,
138
+ open: controlledOpen,
139
+ onOpenChange,
140
+ multiSelect = false
141
+ }) => {
142
+ const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
143
+ const [selectedValues, setSelectedValues] = useState([]);
144
+ const open = controlledOpen ?? uncontrolledOpen;
145
+ const setOpen = (val) => {
146
+ if (controlledOpen !== void 0) {
147
+ onOpenChange?.(val);
148
+ } else {
149
+ setUncontrolledOpen(val);
150
+ }
151
+ };
152
+ const toggle = () => setOpen(!open);
153
+ const toggleSelect = (value) => {
154
+ if (!multiSelect) {
155
+ setSelectedValues([value]);
156
+ setOpen(false);
157
+ return;
158
+ }
159
+ setSelectedValues(
160
+ (prev) => prev.includes(value) ? prev.filter((v) => v !== value) : [...prev, value]
161
+ );
162
+ };
163
+ return /* @__PURE__ */ jsx(
164
+ DropdownContext.Provider,
165
+ {
166
+ value: {
167
+ open,
168
+ setOpen,
169
+ toggle,
170
+ selectedValues,
171
+ toggleSelect,
172
+ multiSelect
173
+ },
174
+ children: /* @__PURE__ */ jsx("div", { className: "relative inline-block", children })
175
+ }
176
+ );
177
+ };
178
+ var DropdownTrigger = ({
179
+ children,
180
+ className,
181
+ variant,
182
+ size,
183
+ ...props
184
+ }) => {
185
+ const { toggle } = useDropdown();
186
+ return /* @__PURE__ */ jsx(
187
+ "button",
188
+ {
189
+ onClick: toggle,
190
+ className: cn(triggerVariants({ variant, size }), className),
191
+ ...props,
192
+ children
193
+ }
194
+ );
195
+ };
196
+ var DropdownContent = ({
197
+ children,
198
+ className,
199
+ placement = "bottom",
200
+ spacing = "default",
201
+ divider,
202
+ ...props
203
+ }) => {
204
+ const { open, setOpen } = useDropdown();
205
+ const ref = useRef(null);
206
+ useEffect(() => {
207
+ const handleClickOutside = (e) => {
208
+ if (ref.current && !ref.current.contains(e.target)) {
209
+ setOpen(false);
210
+ }
211
+ };
212
+ document.addEventListener("mousedown", handleClickOutside);
213
+ return () => document.removeEventListener("mousedown", handleClickOutside);
214
+ }, [setOpen]);
215
+ if (!open) return null;
216
+ return /* @__PURE__ */ jsx(
217
+ "div",
218
+ {
219
+ ref,
220
+ className: cn(contentVariants({ placement, spacing }), className, divider && "divide-y divide-current"),
221
+ ...props,
222
+ children
223
+ }
224
+ );
225
+ };
226
+ var DropdownItem = ({
227
+ children,
228
+ value,
229
+ className,
230
+ variant,
231
+ onSelect,
232
+ leftIcon,
233
+ rightIcon,
234
+ ...props
235
+ }) => {
236
+ const { toggleSelect, selectedValues } = useDropdown();
237
+ const isSelected = selectedValues.includes(value);
238
+ const handleClick = () => {
239
+ toggleSelect(value);
240
+ onSelect?.();
241
+ };
242
+ return /* @__PURE__ */ jsxs(
243
+ "div",
244
+ {
245
+ tabIndex: 0,
246
+ onClick: handleClick,
247
+ onKeyDown: (e) => {
248
+ if (e.key === "Enter") handleClick();
249
+ },
250
+ className: cn(itemVariants({ variant }), className),
251
+ ...props,
252
+ children: [
253
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
254
+ leftIcon,
255
+ children
256
+ ] }),
257
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
258
+ isSelected && /* @__PURE__ */ jsx(FiCheck, {}),
259
+ rightIcon
260
+ ] })
261
+ ]
262
+ }
263
+ );
264
+ };
265
+ export {
266
+ Dropdown,
267
+ DropdownContent,
268
+ DropdownItem,
269
+ DropdownTrigger,
270
+ contentVariants,
271
+ itemVariants,
272
+ triggerVariants
273
+ };
274
+ //# sourceMappingURL=dropdown.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/dropdown/dropdown.tsx","../../src/ui/dropdown/variants.ts"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n useContext,\n useState,\n useRef,\n useEffect,\n} from \"react\";\nimport { FiCheck } from \"react-icons/fi\";\nimport { cn } from \"../../lib/utils\";\nimport type { DropdownContextType, DropdownProps, DropdownTriggerProps, DropdownContentProps, DropdownItemProps } from \"./types\";\nimport { triggerVariants, contentVariants, itemVariants } from \"./variants\";\n\n/* =========================\n Context\n========================= */\nconst DropdownContext = createContext<DropdownContextType | null>(null);\n\nconst useDropdown = () => {\n const ctx = useContext(DropdownContext);\n if (!ctx) throw new Error(\"Use inside Dropdown\");\n return ctx;\n};\n\n/* =========================\n Root\n========================= */\nexport const Dropdown = ({\n children,\n defaultOpen = false,\n open: controlledOpen,\n onOpenChange,\n multiSelect = false,\n}: DropdownProps) => {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const [selectedValues, setSelectedValues] = useState<string[]>([]);\n\n const open = controlledOpen ?? uncontrolledOpen;\n\n const setOpen = (val: boolean) => {\n if (controlledOpen !== undefined) {\n onOpenChange?.(val);\n } else {\n setUncontrolledOpen(val);\n }\n };\n\n const toggle = () => setOpen(!open);\n\n const toggleSelect = (value: string) => {\n if (!multiSelect) {\n setSelectedValues([value]);\n setOpen(false);\n return;\n }\n\n setSelectedValues((prev) =>\n prev.includes(value)\n ? prev.filter((v) => v !== value)\n : [...prev, value]\n );\n };\n\n return (\n <DropdownContext.Provider\n value={{\n open,\n setOpen,\n toggle,\n selectedValues,\n toggleSelect,\n multiSelect,\n }}\n >\n <div className=\"relative inline-block\">{children}</div>\n </DropdownContext.Provider>\n );\n};\n\n/* =========================\n Trigger\n========================= */\nexport const DropdownTrigger = ({\n children,\n className,\n variant,\n size,\n ...props\n}: DropdownTriggerProps) => {\n const { toggle } = useDropdown();\n\n return (\n <button\n onClick={toggle}\n className={cn(triggerVariants({ variant, size }), className)}\n {...props}\n >\n {children}\n </button>\n );\n};\n\n/* =========================\n Content\n========================= */\nexport const DropdownContent = ({\n children,\n className,\n placement = \"bottom\",\n spacing = \"default\",\n divider,\n ...props\n}: DropdownContentProps) => {\n const { open, setOpen } = useDropdown();\n const ref = useRef<HTMLDivElement>(null);\n\n // click outside\n useEffect(() => {\n const handleClickOutside = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () =>\n document.removeEventListener(\"mousedown\", handleClickOutside);\n }, [setOpen]);\n\n if (!open) return null;\n\n return (\n <div\n ref={ref}\n className={cn(contentVariants({ placement, spacing }), className, divider && \"divide-y divide-current\")}\n {...props}\n >\n {children}\n </div>\n );\n};\n\n/* =========================\n Item\n========================= */\nexport const DropdownItem = ({\n children,\n value,\n className,\n variant,\n onSelect,\n leftIcon,\n rightIcon,\n ...props\n}: DropdownItemProps) => {\n const { toggleSelect, selectedValues } = useDropdown();\n const isSelected = selectedValues.includes(value);\n\n const handleClick = () => {\n toggleSelect(value);\n onSelect?.();\n };\n\n return (\n <div\n tabIndex={0}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") handleClick();\n }}\n className={cn(itemVariants({ variant }), className)}\n {...props}\n >\n <div className=\"flex items-center gap-2\">\n {leftIcon}\n {children}\n </div>\n\n <div className=\"flex items-center gap-2\">\n {isSelected && <FiCheck />}\n {rightIcon}\n </div>\n </div>\n );\n};","import { cva } from \"class-variance-authority\";\n\nexport const triggerVariants = cva(\n \"inline-flex items-center justify-between rounded-md font-medium transition focus:outline-none cursor-pointer\",\n {\n variants: {\n variant: {\n default: \"bg-gray-900 text-white\",\n outline: \"border border-gray-300\",\n ghost: \"bg-transparent\",\n white: \"bg-white text-gray-900\",\n black: \"bg-black text-white\",\n sky: \"border border-sky-600 text-sky-600\",\n rose: \"border border-rose-600 text-rose-600\",\n purple: \"border border-purple-600 text-purple-600\",\n pink: \"border border-pink-600 text-pink-600\",\n orange: \"border border-orange-600 text-orange-600\",\n yellow: \"border border-yellow-600 text-yellow-600\",\n teal: \"border border-teal-600 text-teal-600\",\n indigo: \"border border-indigo-600 text-indigo-600\",\n emerald: \"border border-emerald-600 text-emerald-600\",\n gray: \"border border-gray-600 text-gray-600\",\n amber: \"border border-amber-600 text-amber-600\",\n violet: \"border border-violet-600 text-violet-600\",\n \"gradient-blue\": \"bg-gradient-to-r from-blue-600 to-purple-600 text-gradient-to-r from-blue-600 to-purple-600\",\n \"gradient-green\": \"bg-gradient-to-r from-green-600 to-lime-600 text-gradient-to-r from-green-600 to-lime-600\",\n \"gradient-red\": \"bg-gradient-to-r from-red-600 to-pink-600 text-gradient-to-r from-red-600 to-pink-600\",\n \"gradient-yellow\": \"bg-gradient-to-r from-yellow-600 to-orange-600 text-gradient-to-r from-yellow-600 to-orange-600\",\n \"gradient-purple\": \"bg-gradient-to-r from-purple-600 to-pink-600 text-gradient-to-r from-purple-600 to-pink-600\",\n \"gradient-teal\": \"bg-gradient-to-r from-teal-600 to-cyan-600 text-gradient-to-r from-teal-600 to-cyan-600\",\n \"gradient-indigo\": \"bg-gradient-to-r from-indigo-600 to-purple-600 text-gradient-to-r from-indigo-600 to-purple-600\",\n \"gradient-pink\": \"bg-gradient-to-r from-pink-600 to-rose-600 text-gradient-to-r from-pink-600 to-rose-600\",\n \"gradient-orange\": \"bg-gradient-to-r from-orange-600 to-red-600 text-gradient-to-r from-orange-600 to-red-600\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2 text-base\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n);\n\nexport const contentVariants = cva(\n \"absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border\",\n {\n variants: {\n placement: {\n top: \"bottom-full mb-2\",\n bottom: \"top-full mt-2\",\n left: \"right-full mr-2\",\n right: \"left-full ml-2\",\n },\n spacing:{\n none: \"space-y-0\",\n default: \"space-y-1\",\n sm: \"space-y-2\",\n md: \"space-y-3\",\n lg: \"space-y-4\",\n xl: \"space-y-5\",\n }\n },\n defaultVariants: {\n placement: \"bottom\",\n spacing: \"default\",\n },\n }\n);\n\nexport const itemVariants = cva(\n \"flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors\",\n {\n variants: {\n variant: {\n default: \"hover:bg-gray-100 hover:text-gray-900 text-gray-100\",\n outline: \"hover:bg-gray-100 hover:text-gray-900 border border-white text-gray-100\",\n ghost: \"hover:bg-gray-100 hover:text-gray-900 bg-transparent text-gray-100\",\n white: \"hover:bg-gray-100 hover:text-gray-900 bg-white text-gray-900\",\n black: \"hover:bg-gray-100 hover:text-gray-900 bg-black text-white\",\n sky: \"hover:bg-sky-100 hover:text-sky-600 bg-sky-200 text-sky-800\",\n rose: \"hover:bg-rose-100 hover:text-rose-600 bg-rose-200 text-rose-800\",\n purple: \"hover:bg-purple-100 hover:text-purple-600 bg-purple-200 text-purple-800\",\n pink: \"hover:bg-pink-100 hover:text-pink-600 bg-pink-200 text-pink-800\",\n orange: \"hover:bg-orange-100 hover:text-orange-600 bg-orange-200 text-orange-800\",\n yellow: \"hover:bg-yellow-100 hover:text-yellow-600 bg-yellow-200 text-yellow-800\",\n teal: \"hover:bg-teal-100 hover:text-teal-600 bg-teal-200 text-teal-800\",\n indigo: \"hover:bg-indigo-100 hover:text-indigo-600 bg-indigo-200 text-indigo-800\",\n emerald: \"hover:bg-emerald-100 hover:text-emerald-600 bg-emerald-200 text-emerald-800\",\n gray: \"hover:bg-gray-100 hover:text-gray-900 bg-gray-200 text-gray-800\",\n amber: \"hover:bg-amber-100 hover:text-amber-600 bg-amber-200 text-amber-800\",\n violet: \"hover:bg-violet-100 hover:text-violet-600 bg-violet-200 text-violet-800\",\n \"gradient-blue\": \"hover:bg-gradient-to-r from-blue-600 to-purple-600 hover:text-blue-900 bg-gradient-to-r from-blue-200 to-purple-200 text-blue-800\",\n \"gradient-green\": \"hover:bg-gradient-to-r from-green-600 to-lime-600 hover:text-green-900 bg-gradient-to-r from-green-200 to-lime-200 text-green-800\",\n \"gradient-red\": \"hover:bg-gradient-to-r from-red-600 to-pink-600 hover:text-red-900 bg-gradient-to-r from-red-200 to-pink-200 text-red-800\",\n \"gradient-yellow\": \"hover:bg-gradient-to-r from-yellow-600 to-orange-600 hover:text-yellow-900 bg-gradient-to-r from-yellow-200 to-orange-200 text-yellow-800\",\n \"gradient-purple\": \"hover:bg-gradient-to-r from-purple-600 to-pink-600 hover:text-purple-900 bg-gradient-to-r from-purple-200 to-pink-200 text-purple-800\",\n \"gradient-teal\": \"hover:bg-gradient-to-r from-teal-600 to-cyan-600 hover:text-teal-900 bg-gradient-to-r from-teal-200 to-cyan-200 text-teal-800\",\n \"gradient-indigo\": \"hover:bg-gradient-to-r from-indigo-600 to-purple-600 hover:text-indigo-900 bg-gradient-to-r from-indigo-200 to-purple-200 text-indigo-800\",\n \"gradient-pink\": \"hover:bg-gradient-to-r from-pink-600 to-rose-600 hover:text-pink-900 bg-gradient-to-r from-pink-200 to-rose-200 text-pink-800\",\n \"gradient-orange\": \"hover:bg-gradient-to-r from-orange-600 to-red-600 hover:text-orange-900 bg-gradient-to-r from-orange-200 to-red-200 text-orange-800\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);"],"mappings":"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","names":[]}
@@ -0,0 +1,55 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ import { HTMLMotionProps } from 'framer-motion';
4
+ import { ReactNode } from 'react';
5
+ import * as class_variance_authority_types from 'class-variance-authority/types';
6
+
7
+ declare const emptyStateVariants: (props?: ({
8
+ size?: "sm" | "md" | "lg" | null | undefined;
9
+ appearance?: "default" | "ghost" | "card" | null | undefined;
10
+ align?: "start" | "center" | "end" | null | undefined;
11
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
12
+ declare const emptyStateTitleVariants: (props?: ({
13
+ size?: "sm" | "md" | "lg" | null | undefined;
14
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
15
+ declare const emptyStateDescriptionVariants: (props?: ({
16
+ size?: "sm" | "md" | "lg" | null | undefined;
17
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
18
+
19
+ type EmptyStateAnimation = "none" | "float" | "fade" | "slide-up";
20
+ type EmptyStateVariantProps = VariantProps<typeof emptyStateVariants>;
21
+ type EmptyStateProps = EmptyStateVariantProps & Omit<HTMLMotionProps<"div">, "children"> & {
22
+ animation?: EmptyStateAnimation;
23
+ children?: ReactNode;
24
+ };
25
+ type EmptyStateSectionProps = {
26
+ className?: string;
27
+ children?: ReactNode;
28
+ };
29
+
30
+ declare function EmptyState(props: EmptyStateProps): react_jsx_runtime.JSX.Element;
31
+ declare namespace EmptyState {
32
+ var displayName: string;
33
+ }
34
+ declare function EmptyStateIcon({ className, children }: EmptyStateSectionProps): react_jsx_runtime.JSX.Element;
35
+ declare namespace EmptyStateIcon {
36
+ var displayName: string;
37
+ }
38
+ declare function EmptyStateTitle({ className, children }: EmptyStateSectionProps): react_jsx_runtime.JSX.Element;
39
+ declare namespace EmptyStateTitle {
40
+ var displayName: string;
41
+ }
42
+ declare function EmptyStateDescription({ className, children, }: EmptyStateSectionProps): react_jsx_runtime.JSX.Element;
43
+ declare namespace EmptyStateDescription {
44
+ var displayName: string;
45
+ }
46
+ declare function EmptyStateAction({ className, children }: EmptyStateSectionProps): react_jsx_runtime.JSX.Element;
47
+ declare namespace EmptyStateAction {
48
+ var displayName: string;
49
+ }
50
+
51
+ type EmptyStatePresetMotionProps = Pick<HTMLMotionProps<"div">, "initial" | "animate" | "transition" | "whileHover">;
52
+ type EmptyStateAnimationPresets = Record<EmptyStateAnimation, EmptyStatePresetMotionProps>;
53
+ declare const emptyStateAnimationPresets: EmptyStateAnimationPresets;
54
+
55
+ export { EmptyState, EmptyStateAction, type EmptyStateAnimation, EmptyStateDescription, EmptyStateIcon, type EmptyStateProps, type EmptyStateSectionProps, EmptyStateTitle, emptyStateAnimationPresets, emptyStateDescriptionVariants, emptyStateTitleVariants, emptyStateVariants };