@zentauri-ui/zentauri-components 0.0.83 → 0.0.91

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 (132) hide show
  1. package/README.md +50 -29
  2. package/dist/ui/accordion.cjs +311 -0
  3. package/dist/ui/accordion.cjs.map +1 -0
  4. package/dist/ui/accordion.d.cts +70 -0
  5. package/dist/ui/accordion.d.ts +70 -0
  6. package/dist/ui/accordion.js +286 -0
  7. package/dist/ui/accordion.js.map +1 -0
  8. package/dist/ui/alert.cjs +257 -0
  9. package/dist/ui/alert.cjs.map +1 -0
  10. package/dist/ui/alert.d.cts +66 -0
  11. package/dist/ui/alert.d.ts +66 -0
  12. package/dist/ui/alert.js +224 -0
  13. package/dist/ui/alert.js.map +1 -0
  14. package/dist/ui/badge.cjs +192 -0
  15. package/dist/ui/badge.cjs.map +1 -0
  16. package/dist/ui/badge.d.cts +37 -0
  17. package/dist/ui/badge.d.ts +37 -0
  18. package/dist/ui/badge.js +165 -0
  19. package/dist/ui/badge.js.map +1 -0
  20. package/dist/ui/buttons.cjs +202 -0
  21. package/dist/ui/buttons.cjs.map +1 -0
  22. package/dist/ui/buttons.d.cts +27 -0
  23. package/dist/ui/buttons.d.ts +27 -0
  24. package/dist/ui/buttons.js +176 -0
  25. package/dist/ui/buttons.js.map +1 -0
  26. package/dist/ui/card.cjs +293 -0
  27. package/dist/ui/card.cjs.map +1 -0
  28. package/dist/ui/card.d.cts +77 -0
  29. package/dist/ui/card.d.ts +77 -0
  30. package/dist/ui/card.js +258 -0
  31. package/dist/ui/card.js.map +1 -0
  32. package/dist/ui/divider.cjs +229 -0
  33. package/dist/ui/divider.cjs.map +1 -0
  34. package/dist/ui/divider.d.cts +39 -0
  35. package/dist/ui/divider.d.ts +39 -0
  36. package/dist/ui/divider.js +200 -0
  37. package/dist/ui/divider.js.map +1 -0
  38. package/dist/ui/drawer.cjs +408 -0
  39. package/dist/ui/drawer.cjs.map +1 -0
  40. package/dist/ui/drawer.d.cts +81 -0
  41. package/dist/ui/drawer.d.ts +81 -0
  42. package/dist/ui/drawer.js +383 -0
  43. package/dist/ui/drawer.js.map +1 -0
  44. package/dist/ui/dropdown.cjs +302 -0
  45. package/dist/ui/dropdown.cjs.map +1 -0
  46. package/dist/ui/dropdown.d.cts +50 -0
  47. package/dist/ui/dropdown.d.ts +50 -0
  48. package/dist/ui/dropdown.js +278 -0
  49. package/dist/ui/dropdown.js.map +1 -0
  50. package/dist/ui/empty-state.cjs +186 -0
  51. package/dist/ui/empty-state.cjs.map +1 -0
  52. package/dist/ui/empty-state.d.cts +55 -0
  53. package/dist/ui/empty-state.d.ts +55 -0
  54. package/dist/ui/empty-state.js +154 -0
  55. package/dist/ui/empty-state.js.map +1 -0
  56. package/dist/ui/index.d.cts +27 -1164
  57. package/dist/ui/index.d.ts +27 -1164
  58. package/dist/ui/inputs.cjs +458 -0
  59. package/dist/ui/inputs.cjs.map +1 -0
  60. package/dist/ui/inputs.d.cts +35 -0
  61. package/dist/ui/inputs.d.ts +35 -0
  62. package/dist/ui/inputs.js +432 -0
  63. package/dist/ui/inputs.js.map +1 -0
  64. package/dist/ui/modal.cjs +406 -0
  65. package/dist/ui/modal.cjs.map +1 -0
  66. package/dist/ui/modal.d.cts +84 -0
  67. package/dist/ui/modal.d.ts +84 -0
  68. package/dist/ui/modal.js +384 -0
  69. package/dist/ui/modal.js.map +1 -0
  70. package/dist/ui/pagination.cjs +523 -0
  71. package/dist/ui/pagination.cjs.map +1 -0
  72. package/dist/ui/pagination.d.cts +114 -0
  73. package/dist/ui/pagination.d.ts +114 -0
  74. package/dist/ui/pagination.js +494 -0
  75. package/dist/ui/pagination.js.map +1 -0
  76. package/dist/ui/progress.cjs +268 -0
  77. package/dist/ui/progress.cjs.map +1 -0
  78. package/dist/ui/progress.d.cts +61 -0
  79. package/dist/ui/progress.d.ts +61 -0
  80. package/dist/ui/progress.js +237 -0
  81. package/dist/ui/progress.js.map +1 -0
  82. package/dist/ui/select.cjs +360 -0
  83. package/dist/ui/select.cjs.map +1 -0
  84. package/dist/ui/select.d.cts +73 -0
  85. package/dist/ui/select.d.ts +73 -0
  86. package/dist/ui/select.js +327 -0
  87. package/dist/ui/select.js.map +1 -0
  88. package/dist/ui/skeleton.cjs +576 -0
  89. package/dist/ui/skeleton.cjs.map +1 -0
  90. package/dist/ui/skeleton.d.cts +90 -0
  91. package/dist/ui/skeleton.d.ts +90 -0
  92. package/dist/ui/skeleton.js +544 -0
  93. package/dist/ui/skeleton.js.map +1 -0
  94. package/dist/ui/spinner.cjs +219 -0
  95. package/dist/ui/spinner.cjs.map +1 -0
  96. package/dist/ui/spinner.d.cts +27 -0
  97. package/dist/ui/spinner.d.ts +27 -0
  98. package/dist/ui/spinner.js +193 -0
  99. package/dist/ui/spinner.js.map +1 -0
  100. package/dist/ui/table.cjs +328 -0
  101. package/dist/ui/table.cjs.map +1 -0
  102. package/dist/ui/table.d.cts +81 -0
  103. package/dist/ui/table.d.ts +81 -0
  104. package/dist/ui/table.js +293 -0
  105. package/dist/ui/table.js.map +1 -0
  106. package/dist/ui/tabs.cjs +300 -0
  107. package/dist/ui/tabs.cjs.map +1 -0
  108. package/dist/ui/tabs.d.cts +58 -0
  109. package/dist/ui/tabs.d.ts +58 -0
  110. package/dist/ui/tabs.js +274 -0
  111. package/dist/ui/tabs.js.map +1 -0
  112. package/dist/ui/toast.cjs +285 -0
  113. package/dist/ui/toast.cjs.map +1 -0
  114. package/dist/ui/toast.d.cts +86 -0
  115. package/dist/ui/toast.d.ts +86 -0
  116. package/dist/ui/toast.js +258 -0
  117. package/dist/ui/toast.js.map +1 -0
  118. package/dist/ui/toggle.cjs +185 -0
  119. package/dist/ui/toggle.cjs.map +1 -0
  120. package/dist/ui/toggle.d.cts +37 -0
  121. package/dist/ui/toggle.d.ts +37 -0
  122. package/dist/ui/toggle.js +158 -0
  123. package/dist/ui/toggle.js.map +1 -0
  124. package/dist/ui/tooltip.cjs +242 -0
  125. package/dist/ui/tooltip.cjs.map +1 -0
  126. package/dist/ui/tooltip.d.cts +46 -0
  127. package/dist/ui/tooltip.d.ts +46 -0
  128. package/dist/ui/tooltip.js +214 -0
  129. package/dist/ui/tooltip.js.map +1 -0
  130. package/dist/variants-1Bx3BEeS.d.cts +8 -0
  131. package/dist/variants-1Bx3BEeS.d.ts +8 -0
  132. package/package.json +7 -1
@@ -0,0 +1,576 @@
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);
19
+
20
+ // src/ui/skeleton/index.ts
21
+ var skeleton_exports = {};
22
+ __export(skeleton_exports, {
23
+ Skeleton: () => Skeleton,
24
+ SkeletonAvatar: () => SkeletonAvatar,
25
+ SkeletonButton: () => SkeletonButton,
26
+ SkeletonCard: () => SkeletonCard,
27
+ SkeletonText: () => SkeletonText,
28
+ skeletonAnimationPresets: () => skeletonAnimationPresets,
29
+ skeletonShimmerGradientClasses: () => skeletonShimmerGradientClasses,
30
+ skeletonTextLineVariants: () => skeletonTextLineVariants,
31
+ skeletonVariants: () => skeletonVariants
32
+ });
33
+ module.exports = __toCommonJS(skeleton_exports);
34
+
35
+ // src/ui/skeleton/skeleton.tsx
36
+ var import_react = require("react");
37
+ var import_framer_motion = require("framer-motion");
38
+
39
+ // src/lib/utils.ts
40
+ var import_clsx = require("clsx");
41
+ var import_tailwind_merge = require("tailwind-merge");
42
+ function cn(...inputs) {
43
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
44
+ }
45
+
46
+ // src/ui/skeleton/animations.ts
47
+ var skeletonAnimationPresets = {
48
+ none: {},
49
+ shimmer: {
50
+ initial: { backgroundPosition: "100% 0%" },
51
+ animate: { backgroundPosition: ["100% 0%", "0% 0%"] },
52
+ transition: { repeat: Infinity, duration: 1.35, ease: "linear" }
53
+ },
54
+ pulse: {
55
+ initial: { opacity: 1 },
56
+ animate: { opacity: [1, 0.5, 1] },
57
+ transition: { repeat: Infinity, duration: 1.35, ease: "easeInOut" }
58
+ }
59
+ };
60
+
61
+ // src/ui/skeleton/variants.ts
62
+ var import_class_variance_authority = require("class-variance-authority");
63
+ var shimmerLayer = "[background-size:220%_100%] [background-repeat:no-repeat] [background-position:100%_0%]";
64
+ var skeletonShimmerGradientClasses = {
65
+ default: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.04),rgba(255,255,255,0.22),rgba(255,255,255,0.04))]`,
66
+ subtle: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.03),rgba(255,255,255,0.14),rgba(255,255,255,0.03))]`,
67
+ muted: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.02),rgba(255,255,255,0.1),rgba(255,255,255,0.02))]`,
68
+ sky: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(56,189,248,0.1),rgba(56,189,248,0.42),rgba(56,189,248,0.1))]`,
69
+ rose: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,113,133,0.1),rgba(251,113,133,0.42),rgba(251,113,133,0.1))]`,
70
+ purple: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(192,132,252,0.1),rgba(192,132,252,0.42),rgba(192,132,252,0.1))]`,
71
+ pink: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(244,114,182,0.1),rgba(244,114,182,0.42),rgba(244,114,182,0.1))]`,
72
+ orange: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,146,60,0.1),rgba(251,146,60,0.42),rgba(251,146,60,0.1))]`,
73
+ yellow: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(250,204,21,0.12),rgba(250,204,21,0.4),rgba(250,204,21,0.12))]`,
74
+ teal: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(45,212,191,0.1),rgba(45,212,191,0.42),rgba(45,212,191,0.1))]`,
75
+ indigo: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(129,140,248,0.1),rgba(129,140,248,0.42),rgba(129,140,248,0.1))]`,
76
+ emerald: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(52,211,153,0.1),rgba(52,211,153,0.42),rgba(52,211,153,0.1))]`,
77
+ gray: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(161,161,170,0.1),rgba(161,161,170,0.38),rgba(161,161,170,0.1))]`,
78
+ amber: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,191,36,0.12),rgba(251,191,36,0.42),rgba(251,191,36,0.12))]`,
79
+ violet: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(167,139,250,0.1),rgba(167,139,250,0.42),rgba(167,139,250,0.1))]`,
80
+ "gradient-blue": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(100,149,237,0.1),rgba(100,149,237,0.42),rgba(100,149,237,0.1))]`,
81
+ "gradient-green": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(52,211,153,0.1),rgba(52,211,153,0.42),rgba(52,211,153,0.1))]`,
82
+ "gradient-red": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(239,68,68,0.1),rgba(239,68,68,0.42),rgba(239,68,68,0.1))]`,
83
+ "gradient-yellow": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(250,204,21,0.12),rgba(250,204,21,0.42),rgba(250,204,21,0.12))]`,
84
+ "gradient-purple": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(167,139,250,0.1),rgba(167,139,250,0.42),rgba(167,139,250,0.1))]`,
85
+ "gradient-teal": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(45,212,191,0.1),rgba(45,212,191,0.42),rgba(45,212,191,0.1))]`,
86
+ "gradient-indigo": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(129,140,248,0.1),rgba(129,140,248,0.42),rgba(129,140,248,0.1))]`,
87
+ "gradient-pink": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(244,114,182,0.1),rgba(244,114,182,0.42),rgba(244,114,182,0.1))]`,
88
+ "gradient-orange": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,146,60,0.1),rgba(251,146,60,0.42),rgba(251,146,60,0.1))]`
89
+ };
90
+ var skeletonVariants = (0, import_class_variance_authority.cva)(
91
+ "relative overflow-hidden bg-white/10 text-transparent",
92
+ {
93
+ variants: {
94
+ appearance: {
95
+ default: "bg-white/10",
96
+ subtle: "bg-white/[0.07]",
97
+ muted: "bg-slate-800/80",
98
+ sky: "bg-sky-500/10",
99
+ rose: "bg-rose-500/10",
100
+ purple: "bg-purple-500/10",
101
+ pink: "bg-pink-500/10",
102
+ orange: "bg-orange-500/10",
103
+ yellow: "bg-yellow-500/10",
104
+ teal: "bg-teal-500/10",
105
+ indigo: "bg-indigo-500/10",
106
+ emerald: "bg-emerald-500/10",
107
+ gray: "bg-gray-500/10",
108
+ amber: "bg-amber-500/10",
109
+ violet: "bg-violet-500/10",
110
+ "gradient-blue": "bg-gradient-to-r from-blue-600 to-purple-600",
111
+ "gradient-green": "bg-gradient-to-r from-green-600 to-lime-600",
112
+ "gradient-red": "bg-gradient-to-r from-red-600 to-pink-600",
113
+ "gradient-yellow": "bg-gradient-to-r from-yellow-600 to-orange-600",
114
+ "gradient-purple": "bg-gradient-to-r from-purple-600 to-pink-600",
115
+ "gradient-teal": "bg-gradient-to-r from-teal-600 to-cyan-600",
116
+ "gradient-indigo": "bg-gradient-to-r from-indigo-600 to-purple-600",
117
+ "gradient-pink": "bg-gradient-to-r from-pink-600 to-rose-600",
118
+ "gradient-orange": "bg-gradient-to-r from-orange-600 to-red-600"
119
+ },
120
+ size: {
121
+ sm: "min-h-3",
122
+ md: "min-h-4",
123
+ lg: "min-h-6"
124
+ },
125
+ rounded: {
126
+ none: "rounded-none",
127
+ sm: "rounded-md",
128
+ md: "rounded-lg",
129
+ lg: "rounded-xl",
130
+ full: "rounded-full"
131
+ },
132
+ animation: {
133
+ none: "",
134
+ shimmer: "",
135
+ pulse: ""
136
+ },
137
+ shimmerTone: {
138
+ default: "",
139
+ subtle: "",
140
+ muted: "",
141
+ sky: "",
142
+ rose: "",
143
+ purple: "",
144
+ pink: "",
145
+ orange: "",
146
+ yellow: "",
147
+ teal: "",
148
+ indigo: "",
149
+ emerald: "",
150
+ gray: "",
151
+ amber: "",
152
+ violet: "",
153
+ "gradient-blue": "",
154
+ "gradient-green": "",
155
+ "gradient-red": "",
156
+ "gradient-yellow": "",
157
+ "gradient-purple": "",
158
+ "gradient-teal": "",
159
+ "gradient-indigo": "",
160
+ "gradient-pink": "",
161
+ "gradient-orange": ""
162
+ }
163
+ },
164
+ compoundVariants: [
165
+ {
166
+ animation: "shimmer",
167
+ shimmerTone: "default",
168
+ class: skeletonShimmerGradientClasses.default
169
+ },
170
+ {
171
+ animation: "shimmer",
172
+ shimmerTone: "muted",
173
+ class: skeletonShimmerGradientClasses.subtle
174
+ },
175
+ {
176
+ animation: "shimmer",
177
+ shimmerTone: "subtle",
178
+ class: skeletonShimmerGradientClasses.subtle
179
+ },
180
+ {
181
+ animation: "shimmer",
182
+ shimmerTone: "sky",
183
+ class: skeletonShimmerGradientClasses.sky
184
+ },
185
+ {
186
+ animation: "shimmer",
187
+ shimmerTone: "rose",
188
+ class: skeletonShimmerGradientClasses.rose
189
+ },
190
+ {
191
+ animation: "shimmer",
192
+ shimmerTone: "purple",
193
+ class: skeletonShimmerGradientClasses.purple
194
+ },
195
+ {
196
+ animation: "shimmer",
197
+ shimmerTone: "pink",
198
+ class: skeletonShimmerGradientClasses.pink
199
+ },
200
+ {
201
+ animation: "shimmer",
202
+ shimmerTone: "orange",
203
+ class: skeletonShimmerGradientClasses.orange
204
+ },
205
+ {
206
+ animation: "shimmer",
207
+ shimmerTone: "yellow",
208
+ class: skeletonShimmerGradientClasses.yellow
209
+ },
210
+ {
211
+ animation: "shimmer",
212
+ shimmerTone: "teal",
213
+ class: skeletonShimmerGradientClasses.teal
214
+ },
215
+ {
216
+ animation: "shimmer",
217
+ shimmerTone: "indigo",
218
+ class: skeletonShimmerGradientClasses.indigo
219
+ },
220
+ {
221
+ animation: "shimmer",
222
+ shimmerTone: "emerald",
223
+ class: skeletonShimmerGradientClasses.emerald
224
+ },
225
+ {
226
+ animation: "shimmer",
227
+ shimmerTone: "gray",
228
+ class: skeletonShimmerGradientClasses.gray
229
+ },
230
+ {
231
+ animation: "shimmer",
232
+ shimmerTone: "amber",
233
+ class: skeletonShimmerGradientClasses.amber
234
+ },
235
+ {
236
+ animation: "shimmer",
237
+ shimmerTone: "violet",
238
+ class: skeletonShimmerGradientClasses.violet
239
+ },
240
+ {
241
+ animation: "shimmer",
242
+ shimmerTone: "gradient-blue",
243
+ class: skeletonShimmerGradientClasses["gradient-blue"]
244
+ },
245
+ {
246
+ animation: "shimmer",
247
+ shimmerTone: "gradient-green",
248
+ class: skeletonShimmerGradientClasses["gradient-green"]
249
+ },
250
+ {
251
+ animation: "shimmer",
252
+ shimmerTone: "gradient-red",
253
+ class: skeletonShimmerGradientClasses["gradient-red"]
254
+ },
255
+ {
256
+ animation: "shimmer",
257
+ shimmerTone: "gradient-yellow",
258
+ class: skeletonShimmerGradientClasses["gradient-yellow"]
259
+ },
260
+ {
261
+ animation: "shimmer",
262
+ shimmerTone: "gradient-purple",
263
+ class: skeletonShimmerGradientClasses["gradient-purple"]
264
+ },
265
+ {
266
+ animation: "shimmer",
267
+ shimmerTone: "gradient-teal",
268
+ class: skeletonShimmerGradientClasses["gradient-teal"]
269
+ },
270
+ {
271
+ animation: "shimmer",
272
+ shimmerTone: "gradient-indigo",
273
+ class: skeletonShimmerGradientClasses["gradient-indigo"]
274
+ },
275
+ {
276
+ animation: "shimmer",
277
+ shimmerTone: "gradient-pink",
278
+ class: skeletonShimmerGradientClasses["gradient-pink"]
279
+ },
280
+ {
281
+ animation: "shimmer",
282
+ shimmerTone: "gradient-orange",
283
+ class: skeletonShimmerGradientClasses["gradient-orange"]
284
+ },
285
+ {
286
+ animation: "pulse",
287
+ class: ""
288
+ }
289
+ ],
290
+ defaultVariants: {
291
+ appearance: "default",
292
+ size: "md",
293
+ rounded: "md",
294
+ animation: "shimmer",
295
+ shimmerTone: "default"
296
+ }
297
+ }
298
+ );
299
+ var skeletonTextLineVariants = (0, import_class_variance_authority.cva)("block w-full", {
300
+ variants: {
301
+ size: {
302
+ sm: "h-2.5",
303
+ md: "h-3",
304
+ lg: "h-4"
305
+ }
306
+ },
307
+ defaultVariants: { size: "md" }
308
+ });
309
+
310
+ // src/ui/skeleton/skeleton.tsx
311
+ var import_jsx_runtime = require("react/jsx-runtime");
312
+ var SkeletonAnimationContext = (0, import_react.createContext)(
313
+ void 0
314
+ );
315
+ function useSkeletonAnimation(fallback) {
316
+ return (0, import_react.useContext)(SkeletonAnimationContext) ?? fallback;
317
+ }
318
+ function Skeleton(props) {
319
+ const {
320
+ className,
321
+ appearance,
322
+ size,
323
+ rounded,
324
+ animation = "shimmer",
325
+ shimmerTone,
326
+ busy,
327
+ children,
328
+ ref,
329
+ ...rest
330
+ } = props;
331
+ const motionProps = skeletonAnimationPresets[animation];
332
+ const ctx = (0, import_react.useMemo)(() => animation, [animation]);
333
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SkeletonAnimationContext.Provider, { value: ctx, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
334
+ import_framer_motion.motion.div,
335
+ {
336
+ ref,
337
+ "data-slot": "skeleton",
338
+ "aria-hidden": true,
339
+ "aria-busy": busy ? true : void 0,
340
+ className: cn(
341
+ skeletonVariants({
342
+ appearance,
343
+ size,
344
+ rounded,
345
+ animation,
346
+ shimmerTone
347
+ }),
348
+ className
349
+ ),
350
+ initial: false,
351
+ ...motionProps,
352
+ ...rest,
353
+ children
354
+ }
355
+ ) });
356
+ }
357
+ Skeleton.displayName = "Skeleton";
358
+ function SkeletonText(props) {
359
+ const {
360
+ lines = 3,
361
+ className,
362
+ appearance,
363
+ size,
364
+ rounded,
365
+ animation = "shimmer",
366
+ shimmerTone,
367
+ busy,
368
+ ref
369
+ } = props;
370
+ const effectiveAnimation = useSkeletonAnimation(animation);
371
+ const motionProps = skeletonAnimationPresets[effectiveAnimation];
372
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
373
+ "div",
374
+ {
375
+ "data-slot": "skeleton-text",
376
+ className: cn("flex w-full flex-col gap-2", className),
377
+ "aria-hidden": true,
378
+ "aria-busy": busy ? true : void 0,
379
+ children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
380
+ import_framer_motion.motion.div,
381
+ {
382
+ ref: index === 0 ? ref : void 0,
383
+ className: cn(
384
+ skeletonVariants({
385
+ appearance,
386
+ size,
387
+ rounded,
388
+ animation: effectiveAnimation,
389
+ shimmerTone
390
+ }),
391
+ skeletonTextLineVariants({ size }),
392
+ index === lines - 1 ? "w-3/5" : "w-full"
393
+ ),
394
+ initial: false,
395
+ ...motionProps
396
+ },
397
+ index
398
+ ))
399
+ }
400
+ );
401
+ }
402
+ SkeletonText.displayName = "SkeletonText";
403
+ var avatarSizeClass = {
404
+ xs: "size-6",
405
+ sm: "size-8",
406
+ md: "size-10",
407
+ lg: "size-12",
408
+ xl: "size-14",
409
+ "2xl": "size-16"
410
+ };
411
+ function SkeletonAvatar(props) {
412
+ const {
413
+ avatarSize = "md",
414
+ className,
415
+ appearance,
416
+ size,
417
+ rounded = "full",
418
+ animation,
419
+ shimmerTone,
420
+ busy,
421
+ ref,
422
+ ...rest
423
+ } = props;
424
+ const effectiveAnimation = useSkeletonAnimation(animation ?? "shimmer");
425
+ const motionProps = skeletonAnimationPresets[effectiveAnimation];
426
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
427
+ import_framer_motion.motion.div,
428
+ {
429
+ ref,
430
+ "data-slot": "skeleton-avatar",
431
+ "aria-hidden": true,
432
+ "aria-busy": busy ? true : void 0,
433
+ className: cn(
434
+ skeletonVariants({
435
+ appearance,
436
+ size,
437
+ rounded,
438
+ animation: effectiveAnimation,
439
+ shimmerTone
440
+ }),
441
+ avatarSizeClass[avatarSize],
442
+ className
443
+ ),
444
+ initial: false,
445
+ ...motionProps,
446
+ ...rest
447
+ }
448
+ );
449
+ }
450
+ SkeletonAvatar.displayName = "SkeletonAvatar";
451
+ function SkeletonCard(props) {
452
+ const {
453
+ className,
454
+ busy,
455
+ animation = "shimmer",
456
+ shimmerTone,
457
+ appearance,
458
+ size,
459
+ rounded,
460
+ ref
461
+ } = props;
462
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
463
+ "div",
464
+ {
465
+ ref,
466
+ "data-slot": "skeleton-card",
467
+ className: cn("w-full max-w-sm", className),
468
+ "aria-busy": busy ? true : void 0,
469
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
470
+ Skeleton,
471
+ {
472
+ rounded: "lg",
473
+ animation,
474
+ shimmerTone,
475
+ appearance,
476
+ size,
477
+ busy,
478
+ className: "flex flex-col gap-4 p-4",
479
+ children: [
480
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-3", children: [
481
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
482
+ SkeletonAvatar,
483
+ {
484
+ appearance,
485
+ size,
486
+ animation,
487
+ shimmerTone,
488
+ rounded
489
+ }
490
+ ),
491
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex flex-1 flex-col gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
492
+ SkeletonText,
493
+ {
494
+ lines: 2,
495
+ appearance,
496
+ size,
497
+ animation,
498
+ shimmerTone
499
+ }
500
+ ) })
501
+ ] }),
502
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
503
+ SkeletonText,
504
+ {
505
+ lines: 4,
506
+ appearance,
507
+ size,
508
+ animation,
509
+ shimmerTone
510
+ }
511
+ )
512
+ ]
513
+ }
514
+ )
515
+ }
516
+ );
517
+ }
518
+ SkeletonCard.displayName = "SkeletonCard";
519
+ var buttonHeight = {
520
+ sm: "h-8 w-24",
521
+ md: "h-10 w-32",
522
+ lg: "h-12 w-40"
523
+ };
524
+ function SkeletonButton(props) {
525
+ const {
526
+ buttonSize = "md",
527
+ className,
528
+ appearance,
529
+ size,
530
+ rounded = "md",
531
+ animation,
532
+ shimmerTone,
533
+ busy,
534
+ ref,
535
+ ...rest
536
+ } = props;
537
+ const effectiveAnimation = useSkeletonAnimation(animation ?? "shimmer");
538
+ const motionProps = skeletonAnimationPresets[effectiveAnimation];
539
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
540
+ import_framer_motion.motion.div,
541
+ {
542
+ ref,
543
+ "data-slot": "skeleton-button",
544
+ "aria-hidden": true,
545
+ "aria-busy": busy ? true : void 0,
546
+ className: cn(
547
+ skeletonVariants({
548
+ appearance,
549
+ size,
550
+ rounded,
551
+ animation: effectiveAnimation,
552
+ shimmerTone
553
+ }),
554
+ buttonHeight[buttonSize],
555
+ className
556
+ ),
557
+ initial: false,
558
+ ...motionProps,
559
+ ...rest
560
+ }
561
+ );
562
+ }
563
+ SkeletonButton.displayName = "SkeletonButton";
564
+ // Annotate the CommonJS export names for ESM import in node:
565
+ 0 && (module.exports = {
566
+ Skeleton,
567
+ SkeletonAvatar,
568
+ SkeletonButton,
569
+ SkeletonCard,
570
+ SkeletonText,
571
+ skeletonAnimationPresets,
572
+ skeletonShimmerGradientClasses,
573
+ skeletonTextLineVariants,
574
+ skeletonVariants
575
+ });
576
+ //# sourceMappingURL=skeleton.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/skeleton/index.ts","../../src/ui/skeleton/skeleton.tsx","../../src/lib/utils.ts","../../src/ui/skeleton/animations.ts","../../src/ui/skeleton/variants.ts"],"sourcesContent":["export {\n Skeleton,\n SkeletonAvatar,\n SkeletonButton,\n SkeletonCard,\n SkeletonText,\n} from \"./skeleton\";\nexport type {\n SkeletonAnimation,\n SkeletonAvatarProps,\n SkeletonButtonProps,\n SkeletonCardProps,\n SkeletonProps,\n SkeletonTextProps,\n} from \"./types\";\nexport { skeletonAnimationPresets } from \"./animations\";\nexport {\n skeletonShimmerGradientClasses,\n skeletonTextLineVariants,\n skeletonVariants,\n} from \"./variants\";\nexport type { SkeletonShimmerTone } from \"./variants\";\n","\"use client\";\n\nimport { createContext, useContext, useMemo } from \"react\";\nimport { motion } from \"framer-motion\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { skeletonAnimationPresets } from \"./animations\";\nimport type {\n SkeletonAnimation,\n SkeletonAvatarProps,\n SkeletonButtonProps,\n SkeletonCardProps,\n SkeletonProps,\n SkeletonTextProps,\n} from \"./types\";\nimport { skeletonTextLineVariants, skeletonVariants } from \"./variants\";\n\nconst SkeletonAnimationContext = createContext<SkeletonAnimation | undefined>(\n undefined,\n);\n\nfunction useSkeletonAnimation(fallback: SkeletonAnimation): SkeletonAnimation {\n return useContext(SkeletonAnimationContext) ?? fallback;\n}\n\nexport function Skeleton(props: SkeletonProps) {\n const {\n className,\n appearance,\n size,\n rounded,\n animation = \"shimmer\",\n shimmerTone,\n busy,\n children,\n ref,\n ...rest\n } = props;\n const motionProps = skeletonAnimationPresets[animation];\n const ctx = useMemo(() => animation, [animation]);\n\n return (\n <SkeletonAnimationContext.Provider value={ctx}>\n <motion.div\n ref={ref}\n data-slot=\"skeleton\"\n aria-hidden\n aria-busy={busy ? true : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation,\n shimmerTone,\n }),\n className,\n )}\n initial={false}\n {...motionProps}\n {...rest}\n >\n {children}\n </motion.div>\n </SkeletonAnimationContext.Provider>\n );\n}\n\nSkeleton.displayName = \"Skeleton\";\n\nexport function SkeletonText(props: SkeletonTextProps) {\n const {\n lines = 3,\n className,\n appearance,\n size,\n rounded,\n animation = \"shimmer\",\n shimmerTone,\n busy,\n ref,\n } = props;\n const effectiveAnimation = useSkeletonAnimation(animation);\n const motionProps = skeletonAnimationPresets[effectiveAnimation];\n\n return (\n <div\n data-slot=\"skeleton-text\"\n className={cn(\"flex w-full flex-col gap-2\", className)}\n aria-hidden\n aria-busy={busy ? true : undefined}\n >\n {Array.from({ length: lines }).map((_, index) => (\n <motion.div\n key={index}\n ref={index === 0 ? ref : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation: effectiveAnimation,\n shimmerTone,\n }),\n skeletonTextLineVariants({ size }),\n index === lines - 1 ? \"w-3/5\" : \"w-full\",\n )}\n initial={false}\n {...motionProps}\n />\n ))}\n </div>\n );\n}\n\nSkeletonText.displayName = \"SkeletonText\";\n\nconst avatarSizeClass: Record<\n NonNullable<SkeletonAvatarProps[\"avatarSize\"]>,\n string\n> = {\n xs: \"size-6\",\n sm: \"size-8\",\n md: \"size-10\",\n lg: \"size-12\",\n xl: \"size-14\",\n \"2xl\": \"size-16\",\n};\n\nexport function SkeletonAvatar(props: SkeletonAvatarProps) {\n const {\n avatarSize = \"md\",\n className,\n appearance,\n size,\n rounded = \"full\",\n animation,\n shimmerTone,\n busy,\n ref,\n ...rest\n } = props;\n const effectiveAnimation = useSkeletonAnimation(animation ?? \"shimmer\");\n const motionProps = skeletonAnimationPresets[effectiveAnimation];\n\n return (\n <motion.div\n ref={ref}\n data-slot=\"skeleton-avatar\"\n aria-hidden\n aria-busy={busy ? true : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation: effectiveAnimation,\n shimmerTone,\n }),\n avatarSizeClass[avatarSize],\n className,\n )}\n initial={false}\n {...motionProps}\n {...rest}\n />\n );\n}\n\nSkeletonAvatar.displayName = \"SkeletonAvatar\";\n\nexport function SkeletonCard(props: SkeletonCardProps) {\n const {\n className,\n busy,\n animation = \"shimmer\",\n shimmerTone,\n appearance,\n size,\n rounded,\n ref,\n } = props;\n\n return (\n <div\n ref={ref as never}\n data-slot=\"skeleton-card\"\n className={cn(\"w-full max-w-sm\", className)}\n aria-busy={busy ? true : undefined}\n >\n <Skeleton\n rounded=\"lg\"\n animation={animation}\n shimmerTone={shimmerTone}\n appearance={appearance}\n size={size}\n busy={busy}\n className=\"flex flex-col gap-4 p-4\"\n >\n <div className=\"flex items-center gap-3\">\n <SkeletonAvatar\n appearance={appearance}\n size={size}\n animation={animation}\n shimmerTone={shimmerTone}\n rounded={rounded}\n />\n <div className=\"flex flex-1 flex-col gap-2\">\n <SkeletonText\n lines={2}\n appearance={appearance}\n size={size}\n animation={animation}\n shimmerTone={shimmerTone}\n />\n </div>\n </div>\n <SkeletonText\n lines={4}\n appearance={appearance}\n size={size}\n animation={animation}\n shimmerTone={shimmerTone}\n />\n </Skeleton>\n </div>\n );\n}\n\nSkeletonCard.displayName = \"SkeletonCard\";\n\nconst buttonHeight: Record<NonNullable<SkeletonButtonProps[\"buttonSize\"]>, string> = {\n sm: \"h-8 w-24\",\n md: \"h-10 w-32\",\n lg: \"h-12 w-40\",\n};\n\nexport function SkeletonButton(props: SkeletonButtonProps) {\n const {\n buttonSize = \"md\",\n className,\n appearance,\n size,\n rounded = \"md\",\n animation,\n shimmerTone,\n busy,\n ref,\n ...rest\n } = props;\n const effectiveAnimation = useSkeletonAnimation(animation ?? \"shimmer\");\n const motionProps = skeletonAnimationPresets[effectiveAnimation];\n\n return (\n <motion.div\n ref={ref}\n data-slot=\"skeleton-button\"\n aria-hidden\n aria-busy={busy ? true : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation: effectiveAnimation,\n shimmerTone,\n }),\n buttonHeight[buttonSize],\n className,\n )}\n initial={false}\n {...motionProps}\n {...rest}\n />\n );\n}\n\nSkeletonButton.displayName = \"SkeletonButton\";\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\nimport type { SkeletonAnimation } from \"./types\";\n\ntype SkeletonPresetMotionProps = Pick<\n HTMLMotionProps<\"div\">,\n \"initial\" | \"animate\" | \"transition\"\n>;\n\nexport type SkeletonAnimationPresets = Record<\n SkeletonAnimation,\n SkeletonPresetMotionProps\n>;\n\nexport const skeletonAnimationPresets: SkeletonAnimationPresets = {\n none: {},\n shimmer: {\n initial: { backgroundPosition: \"100% 0%\" },\n animate: { backgroundPosition: [\"100% 0%\", \"0% 0%\"] },\n transition: { repeat: Infinity, duration: 1.35, ease: \"linear\" },\n },\n pulse: {\n initial: { opacity: 1 },\n animate: { opacity: [1, 0.5, 1] },\n transition: { repeat: Infinity, duration: 1.35, ease: \"easeInOut\" },\n },\n};\n","import { cva } from \"class-variance-authority\";\n\nconst shimmerLayer =\n \"[background-size:220%_100%] [background-repeat:no-repeat] [background-position:100%_0%]\";\n\nexport const skeletonShimmerGradientClasses = {\n default: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.04),rgba(255,255,255,0.22),rgba(255,255,255,0.04))]`,\n subtle: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.03),rgba(255,255,255,0.14),rgba(255,255,255,0.03))]`,\n muted: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.02),rgba(255,255,255,0.1),rgba(255,255,255,0.02))]`,\n sky: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(56,189,248,0.1),rgba(56,189,248,0.42),rgba(56,189,248,0.1))]`,\n rose: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,113,133,0.1),rgba(251,113,133,0.42),rgba(251,113,133,0.1))]`,\n purple: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(192,132,252,0.1),rgba(192,132,252,0.42),rgba(192,132,252,0.1))]`,\n pink: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(244,114,182,0.1),rgba(244,114,182,0.42),rgba(244,114,182,0.1))]`,\n orange: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,146,60,0.1),rgba(251,146,60,0.42),rgba(251,146,60,0.1))]`,\n yellow: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(250,204,21,0.12),rgba(250,204,21,0.4),rgba(250,204,21,0.12))]`,\n teal: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(45,212,191,0.1),rgba(45,212,191,0.42),rgba(45,212,191,0.1))]`,\n indigo: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(129,140,248,0.1),rgba(129,140,248,0.42),rgba(129,140,248,0.1))]`,\n emerald: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(52,211,153,0.1),rgba(52,211,153,0.42),rgba(52,211,153,0.1))]`,\n gray: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(161,161,170,0.1),rgba(161,161,170,0.38),rgba(161,161,170,0.1))]`,\n amber: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,191,36,0.12),rgba(251,191,36,0.42),rgba(251,191,36,0.12))]`,\n violet: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(167,139,250,0.1),rgba(167,139,250,0.42),rgba(167,139,250,0.1))]`,\n \"gradient-blue\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(100,149,237,0.1),rgba(100,149,237,0.42),rgba(100,149,237,0.1))]`,\n \"gradient-green\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(52,211,153,0.1),rgba(52,211,153,0.42),rgba(52,211,153,0.1))]`,\n \"gradient-red\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(239,68,68,0.1),rgba(239,68,68,0.42),rgba(239,68,68,0.1))]`,\n \"gradient-yellow\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(250,204,21,0.12),rgba(250,204,21,0.42),rgba(250,204,21,0.12))]`,\n \"gradient-purple\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(167,139,250,0.1),rgba(167,139,250,0.42),rgba(167,139,250,0.1))]`,\n \"gradient-teal\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(45,212,191,0.1),rgba(45,212,191,0.42),rgba(45,212,191,0.1))]`,\n \"gradient-indigo\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(129,140,248,0.1),rgba(129,140,248,0.42),rgba(129,140,248,0.1))]`,\n \"gradient-pink\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(244,114,182,0.1),rgba(244,114,182,0.42),rgba(244,114,182,0.1))]`,\n \"gradient-orange\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,146,60,0.1),rgba(251,146,60,0.42),rgba(251,146,60,0.1))]`,\n} as const;\n\nexport type SkeletonShimmerTone = keyof typeof skeletonShimmerGradientClasses;\n\nexport const skeletonVariants = cva(\n \"relative overflow-hidden bg-white/10 text-transparent\",\n {\n variants: {\n appearance: {\n default: \"bg-white/10\",\n subtle: \"bg-white/[0.07]\",\n muted: \"bg-slate-800/80\",\n sky: \"bg-sky-500/10\",\n rose: \"bg-rose-500/10\",\n purple: \"bg-purple-500/10\",\n pink: \"bg-pink-500/10\",\n orange: \"bg-orange-500/10\",\n yellow: \"bg-yellow-500/10\",\n teal: \"bg-teal-500/10\",\n indigo: \"bg-indigo-500/10\",\n emerald: \"bg-emerald-500/10\",\n gray: \"bg-gray-500/10\",\n amber: \"bg-amber-500/10\",\n violet: \"bg-violet-500/10\",\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 size: {\n sm: \"min-h-3\",\n md: \"min-h-4\",\n lg: \"min-h-6\",\n },\n rounded: {\n none: \"rounded-none\",\n sm: \"rounded-md\",\n md: \"rounded-lg\",\n lg: \"rounded-xl\",\n full: \"rounded-full\",\n },\n animation: {\n none: \"\",\n shimmer: \"\",\n pulse: \"\",\n },\n shimmerTone: {\n default: \"\",\n subtle: \"\",\n muted: \"\",\n sky: \"\",\n rose: \"\",\n purple: \"\",\n pink: \"\",\n orange: \"\",\n yellow: \"\",\n teal: \"\",\n indigo: \"\",\n emerald: \"\",\n gray: \"\",\n amber: \"\",\n violet: \"\",\n \"gradient-blue\": \"\",\n \"gradient-green\": \"\",\n \"gradient-red\": \"\",\n \"gradient-yellow\": \"\",\n \"gradient-purple\": \"\",\n \"gradient-teal\": \"\",\n \"gradient-indigo\": \"\",\n \"gradient-pink\": \"\",\n \"gradient-orange\": \"\",\n },\n },\n compoundVariants: [\n {\n animation: \"shimmer\",\n shimmerTone: \"default\",\n class: skeletonShimmerGradientClasses.default,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"muted\",\n class: skeletonShimmerGradientClasses.subtle,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"subtle\",\n class: skeletonShimmerGradientClasses.subtle,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"sky\",\n class: skeletonShimmerGradientClasses.sky,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"rose\",\n class: skeletonShimmerGradientClasses.rose,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"purple\",\n class: skeletonShimmerGradientClasses.purple,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"pink\",\n class: skeletonShimmerGradientClasses.pink,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"orange\",\n class: skeletonShimmerGradientClasses.orange,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"yellow\",\n class: skeletonShimmerGradientClasses.yellow,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"teal\",\n class: skeletonShimmerGradientClasses.teal,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"indigo\",\n class: skeletonShimmerGradientClasses.indigo,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"emerald\",\n class: skeletonShimmerGradientClasses.emerald,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gray\",\n class: skeletonShimmerGradientClasses.gray,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"amber\",\n class: skeletonShimmerGradientClasses.amber,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"violet\",\n class: skeletonShimmerGradientClasses.violet,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-blue\",\n class: skeletonShimmerGradientClasses[\"gradient-blue\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-green\",\n class: skeletonShimmerGradientClasses[\"gradient-green\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-red\",\n class: skeletonShimmerGradientClasses[\"gradient-red\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-yellow\",\n class: skeletonShimmerGradientClasses[\"gradient-yellow\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-purple\",\n class: skeletonShimmerGradientClasses[\"gradient-purple\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-teal\",\n class: skeletonShimmerGradientClasses[\"gradient-teal\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-indigo\",\n class: skeletonShimmerGradientClasses[\"gradient-indigo\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-pink\",\n class: skeletonShimmerGradientClasses[\"gradient-pink\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-orange\",\n class: skeletonShimmerGradientClasses[\"gradient-orange\"],\n },\n {\n animation: \"pulse\",\n class: \"\",\n },\n ],\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n rounded: \"md\",\n animation: \"shimmer\",\n shimmerTone: \"default\",\n },\n },\n);\n\nexport const skeletonTextLineVariants = cva(\"block w-full\", {\n variants: {\n size: {\n sm: \"h-2.5\",\n md: \"h-3\",\n lg: \"h-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n"],"mappings":"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","names":[]}