react-loadly 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +619 -44
  2. package/dist/index.cjs.js +2 -0
  3. package/dist/index.cjs.js.map +1 -0
  4. package/dist/index.d.ts +215 -70
  5. package/dist/index.esm.js +1 -1370
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/styles.css +1 -1
  8. package/dist/styles.css.map +1 -1
  9. package/dist/styles.js +1 -0
  10. package/dist/types/@types/index.d.ts +3 -1
  11. package/dist/types/@types/index.d.ts.map +1 -1
  12. package/dist/types/@types/interfaces/IBaseLoaderProps.d.ts +14 -0
  13. package/dist/types/@types/interfaces/IBaseLoaderProps.d.ts.map +1 -1
  14. package/dist/types/@types/interfaces/IElementLoaderProps.d.ts +11 -0
  15. package/dist/types/@types/interfaces/IElementLoaderProps.d.ts.map +1 -0
  16. package/dist/types/@types/interfaces/IFallbackLoaderProps.d.ts +2 -1
  17. package/dist/types/@types/interfaces/IFallbackLoaderProps.d.ts.map +1 -1
  18. package/dist/types/@types/interfaces/ILogoLoaderProps.d.ts +1 -1
  19. package/dist/types/@types/interfaces/ILogoLoaderProps.d.ts.map +1 -1
  20. package/dist/types/@types/interfaces/IShimmerLoaderProps.d.ts +20 -0
  21. package/dist/types/@types/interfaces/IShimmerLoaderProps.d.ts.map +1 -0
  22. package/dist/types/@types/interfaces/ISkeletonLoaderProps.d.ts +24 -0
  23. package/dist/types/@types/interfaces/ISkeletonLoaderProps.d.ts.map +1 -0
  24. package/dist/types/@types/interfaces/ITextLoaderProps.d.ts +1 -2
  25. package/dist/types/@types/interfaces/ITextLoaderProps.d.ts.map +1 -1
  26. package/dist/types/@types/interfaces/index.d.ts +14 -0
  27. package/dist/types/@types/interfaces/index.d.ts.map +1 -0
  28. package/dist/types/@types/types/index.d.ts +3 -3
  29. package/dist/types/@types/types/index.d.ts.map +1 -1
  30. package/dist/types/__tests__/ElementLoader.example.d.ts +4 -0
  31. package/dist/types/__tests__/ElementLoader.example.d.ts.map +1 -0
  32. package/dist/types/components/atoms/Circle.d.ts +2 -1
  33. package/dist/types/components/atoms/Circle.d.ts.map +1 -1
  34. package/dist/types/components/atoms/Dot.d.ts +1 -1
  35. package/dist/types/components/atoms/Dot.d.ts.map +1 -1
  36. package/dist/types/components/atoms/Line.d.ts +1 -1
  37. package/dist/types/components/atoms/Line.d.ts.map +1 -1
  38. package/dist/types/components/atoms/Rectangle.d.ts +1 -0
  39. package/dist/types/components/atoms/Rectangle.d.ts.map +1 -1
  40. package/dist/types/components/molecules/DotCluster.d.ts +1 -0
  41. package/dist/types/components/molecules/DotCluster.d.ts.map +1 -1
  42. package/dist/types/components/molecules/LineGroup.d.ts +1 -0
  43. package/dist/types/components/molecules/LineGroup.d.ts.map +1 -1
  44. package/dist/types/components/molecules/ShapeGroup.d.ts +1 -0
  45. package/dist/types/components/molecules/ShapeGroup.d.ts.map +1 -1
  46. package/dist/types/components/organisms/BarsLoader.d.ts.map +1 -1
  47. package/dist/types/components/organisms/BlobLoader.d.ts.map +1 -1
  48. package/dist/types/components/organisms/BounceLoader.d.ts.map +1 -1
  49. package/dist/types/components/organisms/DotsLoader.d.ts.map +1 -1
  50. package/dist/types/components/organisms/ElementLoader.d.ts +27 -0
  51. package/dist/types/components/organisms/ElementLoader.d.ts.map +1 -0
  52. package/dist/types/components/organisms/FallbackLoader.d.ts +1 -1
  53. package/dist/types/components/organisms/FallbackLoader.d.ts.map +1 -1
  54. package/dist/types/components/organisms/FlowLoader.d.ts.map +1 -1
  55. package/dist/types/components/organisms/GridLoader.d.ts.map +1 -1
  56. package/dist/types/components/organisms/LiquidLoader.d.ts.map +1 -1
  57. package/dist/types/components/organisms/LogoSpinLoader.d.ts +1 -1
  58. package/dist/types/components/organisms/LogoSpinLoader.d.ts.map +1 -1
  59. package/dist/types/components/organisms/PulseLoader.d.ts.map +1 -1
  60. package/dist/types/components/organisms/RingLoader.d.ts.map +1 -1
  61. package/dist/types/components/organisms/RotateLoader.d.ts.map +1 -1
  62. package/dist/types/components/organisms/ShimmerLoader.d.ts +4 -0
  63. package/dist/types/components/organisms/ShimmerLoader.d.ts.map +1 -0
  64. package/dist/types/components/organisms/SkeletonLoader.d.ts +4 -0
  65. package/dist/types/components/organisms/SkeletonLoader.d.ts.map +1 -0
  66. package/dist/types/components/organisms/SpinLoader.d.ts.map +1 -1
  67. package/dist/types/components/organisms/TypingLoader.d.ts.map +1 -1
  68. package/dist/types/components/organisms/WaveLoader.d.ts.map +1 -1
  69. package/dist/types/components/organisms/index.d.ts +9 -6
  70. package/dist/types/components/organisms/index.d.ts.map +1 -1
  71. package/dist/types/hooks/useLoaderState.d.ts.map +1 -1
  72. package/dist/types/index.d.ts +2 -2
  73. package/dist/types/index.d.ts.map +1 -1
  74. package/dist/types/styles.d.ts +2 -0
  75. package/dist/types/styles.d.ts.map +1 -0
  76. package/dist/types/utils/animationUtils.d.ts +24 -1
  77. package/dist/types/utils/animationUtils.d.ts.map +1 -1
  78. package/dist/types/utils/index.d.ts +1 -1
  79. package/dist/types/utils/index.d.ts.map +1 -1
  80. package/package.json +49 -24
  81. package/dist/index.js +0 -1409
  82. package/dist/index.js.map +0 -1
  83. package/dist/types/@types/interfaces/ILoaderTheme.d.ts +0 -20
  84. package/dist/types/@types/interfaces/ILoaderTheme.d.ts.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,6 +1,4 @@
1
- import { CSSProperties, FC } from 'react';
2
- import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { IFallbackLoaderProps } from '@types';
1
+ import React$1, { CSSProperties, ReactNode, FC } from 'react';
4
2
 
5
3
  interface DotProps {
6
4
  size?: number | string;
@@ -14,7 +12,7 @@ interface DotProps {
14
12
  glowIntensity?: number;
15
13
  "data-testid"?: string;
16
14
  }
17
- declare const Dot: React.FC<DotProps>;
15
+ declare const Dot: React$1.FC<DotProps>;
18
16
 
19
17
  interface LineProps {
20
18
  /** Width of the line */
@@ -42,7 +40,7 @@ interface LineProps {
42
40
  /** Data test id */
43
41
  "data-testid"?: string;
44
42
  }
45
- declare const Line: React.FC<LineProps>;
43
+ declare const Line: React$1.FC<LineProps>;
46
44
 
47
45
  interface RectangleProps {
48
46
  /** Width of the rectangle */
@@ -62,7 +60,7 @@ interface RectangleProps {
62
60
  /** Custom CSS class */
63
61
  className?: string;
64
62
  /** Custom styles */
65
- style?: React.CSSProperties;
63
+ style?: React$1.CSSProperties;
66
64
  /** Animation name if any */
67
65
  animation?: string;
68
66
  /** Animation duration */
@@ -72,7 +70,7 @@ interface RectangleProps {
72
70
  /** Data test id */
73
71
  "data-testid"?: string;
74
72
  }
75
- declare const Rectangle: React.FC<RectangleProps>;
73
+ declare const Rectangle: React$1.FC<RectangleProps>;
76
74
 
77
75
  interface CircleProps {
78
76
  size?: number | string;
@@ -81,13 +79,13 @@ interface CircleProps {
81
79
  borderWidth?: number | string;
82
80
  opacity?: number;
83
81
  className?: string;
84
- style?: React.CSSProperties;
82
+ style?: React$1.CSSProperties;
85
83
  animation?: string;
86
84
  animationDuration?: string;
87
85
  animationDelay?: string;
88
86
  "data-testid"?: string;
89
87
  }
90
- declare const Circle: ({ size, color, borderColor, borderWidth, opacity, className, style, animation, animationDuration, animationDelay, "data-testid": dataTestId, ...props }: CircleProps) => react_jsx_runtime.JSX.Element;
88
+ declare const Circle: ({ size, color, borderColor, borderWidth, opacity, className, style, animation, animationDuration, animationDelay, "data-testid": dataTestId, ...props }: CircleProps) => React$1.JSX.Element;
91
89
 
92
90
  interface DotClusterProps {
93
91
  /** Number of dots in the cluster */
@@ -107,13 +105,13 @@ interface DotClusterProps {
107
105
  /** Custom CSS class */
108
106
  className?: string;
109
107
  /** Custom styles */
110
- style?: React.CSSProperties;
108
+ style?: React$1.CSSProperties;
111
109
  /** Animation type */
112
110
  animationType?: "wave" | "pulse" | "fade" | "bounce";
113
111
  /** Data test id */
114
112
  "data-testid"?: string;
115
113
  }
116
- declare const DotCluster: React.FC<DotClusterProps>;
114
+ declare const DotCluster: React$1.FC<DotClusterProps>;
117
115
 
118
116
  interface LineGroupProps {
119
117
  /** Number of lines in the group */
@@ -137,13 +135,13 @@ interface LineGroupProps {
137
135
  /** Custom CSS class */
138
136
  className?: string;
139
137
  /** Custom styles */
140
- style?: React.CSSProperties;
138
+ style?: React$1.CSSProperties;
141
139
  /** Animation type */
142
140
  animationType?: "wave" | "pulse" | "scale" | "rotate";
143
141
  /** Data test id */
144
142
  "data-testid"?: string;
145
143
  }
146
- declare const LineGroup: React.FC<LineGroupProps>;
144
+ declare const LineGroup: React$1.FC<LineGroupProps>;
147
145
 
148
146
  interface ShapeGroupProps {
149
147
  /** Number of shapes in the group */
@@ -165,7 +163,7 @@ interface ShapeGroupProps {
165
163
  /** Custom CSS class */
166
164
  className?: string;
167
165
  /** Custom styles */
168
- style?: React.CSSProperties;
166
+ style?: React$1.CSSProperties;
169
167
  /** Animation type */
170
168
  animationType?: "pulse" | "rotate" | "scale" | "bounce";
171
169
  /** Border width for outlined shapes */
@@ -173,8 +171,12 @@ interface ShapeGroupProps {
173
171
  /** Data test id */
174
172
  "data-testid"?: string;
175
173
  }
176
- declare const ShapeGroup: React.FC<ShapeGroupProps>;
174
+ declare const ShapeGroup: React$1.FC<ShapeGroupProps>;
177
175
 
176
+ /**
177
+ * Base props interface for all loader components
178
+ * Provides common functionality across all loader types
179
+ */
178
180
  interface IBaseLoaderProps$1 {
179
181
  /** Custom CSS class name */
180
182
  className?: string;
@@ -200,9 +202,27 @@ interface IBaseLoaderProps$1 {
200
202
  showText?: boolean;
201
203
  /** Custom loading text */
202
204
  loadingText?: string;
203
-
204
205
  /** Data test id for testing */
205
206
  "data-testid"?: string;
207
+ /** Enable fullscreen mode */
208
+ fullscreen?: boolean;
209
+ /** Screen width for fullscreen mode */
210
+ screenWidth?: number | string;
211
+ /** Screen height for fullscreen mode */
212
+ screenHeight?: number | string;
213
+ /** Center the loader in fullscreen mode */
214
+ loaderCenter?: boolean;
215
+ /** Background color for fullscreen mode */
216
+ screenBackground?: string;
217
+ }
218
+
219
+ interface IElementLoaderProps extends IBaseLoaderProps$1 {
220
+ /** Animation type for logo */
221
+ animationType?: "spin" | "pulse" | "glow" | "bounce" | "flip";
222
+ /** Glow intensity (0-1) */
223
+ glowIntensity?: number;
224
+ /** React element to display (icon, div, paragraph, etc.) */
225
+ children?: ReactNode;
206
226
  }
207
227
 
208
228
  interface IFluidLoaderProps extends IBaseLoaderProps$1 {
@@ -219,7 +239,7 @@ interface IGeometricLoaderProps$1 extends IBaseLoaderProps$1 {
219
239
  borderWidth?: number;
220
240
  }
221
241
 
222
- interface ILoaderCSSVariables$1 {
242
+ interface ILoaderCSSVariables {
223
243
  "--loader-color"?: string;
224
244
  "--loader-secondary-color"?: string;
225
245
  "--loader-size"?: string;
@@ -232,7 +252,7 @@ interface ILoaderCSSVariables$1 {
232
252
 
233
253
  interface ILogoLoaderProps extends IBaseLoaderProps$1 {
234
254
  /** Logo source (image URL or SVG) */
235
- src?: string;
255
+ src: string;
236
256
  /** Logo alt text */
237
257
  alt?: string;
238
258
  /** Animation type for logo */
@@ -242,42 +262,161 @@ interface ILogoLoaderProps extends IBaseLoaderProps$1 {
242
262
  }
243
263
 
244
264
  interface ITextLoaderProps extends IBaseLoaderProps$1 {
245
- /** Text to animate */
246
- text?: string;
247
265
  /** Font family for text loaders */
248
266
  fontFamily?: string;
249
267
  /** Font weight */
250
268
  fontWeight?: number | string;
251
269
  /** Character animation delay */
252
270
  charDelay?: number;
271
+ loop?: boolean;
253
272
  }
254
273
 
255
- declare const BlobLoader: FC<IFluidLoaderProps>;
256
-
257
- declare const FallbackLoader: FC<IFallbackLoaderProps>;
274
+ interface ISkeletonLoaderProps extends Exclude<IBaseLoaderProps$1, "color"> {
275
+ /** Number of skeleton lines to display */
276
+ lines?: number;
277
+ /** Variant of skeleton (line, card, avatar, text) */
278
+ variant?: "line" | "card" | "avatar" | "text" | "custom";
279
+ /** Width of skeleton elements */
280
+ width?: number | string;
281
+ /** Height of skeleton elements */
282
+ height?: number | string;
283
+ /** Border radius of skeleton elements */
284
+ borderRadius?: number | string;
285
+ /** Spacing between skeleton lines */
286
+ spacing?: number | string;
287
+ /** Whether to show shimmer animation */
288
+ shimmer?: boolean;
289
+ /** Shimmer color */
290
+ shimmerColor?: string;
291
+ /** Base color of skeleton */
292
+ baseColor?: string;
293
+ /** Highlight color for shimmer effect */
294
+ highlightColor?: string;
295
+ }
258
296
 
259
- declare const FlowLoader: FC<IFluidLoaderProps>;
297
+ interface IShimmerLoaderProps extends IBaseLoaderProps$1 {
298
+ /** Number of shimmer lines to display */
299
+ lines?: number;
300
+ /** Variant of shimmer (line, card, avatar, text, wave) */
301
+ variant?: "line" | "card" | "avatar" | "text" | "wave" | "custom";
302
+ /** Border radius of shimmer elements */
303
+ borderRadius?: number | string;
304
+ /** Spacing between shimmer lines */
305
+ spacing?: number | string;
306
+ /** Shimmer wave width */
307
+ waveWidth?: number | string;
308
+ /** Shimmer color */
309
+ shimmerColor?: string;
310
+ /** Highlight color for shimmer effect */
311
+ highlightColor?: string;
312
+ /** Wave direction */
313
+ waveDirection?: "left-to-right" | "right-to-left" | "top-to-bottom" | "bottom-to-top";
314
+ }
260
315
 
261
- declare const GridLoader: FC<IGeometricLoaderProps$1>;
316
+ interface ILoaderState$1 {
317
+ isLoading: boolean;
318
+ progress?: number;
319
+ error?: string | null;
320
+ retryCount?: number;
321
+ }
262
322
 
263
- declare const LiquidLoader: FC<IFluidLoaderProps>;
323
+ interface IUseLoaderStateOptions$1 {
324
+ initialLoading?: boolean;
325
+ timeout?: number;
326
+ maxRetries?: number;
327
+ onLoadingChange?: (isLoading: boolean) => void;
328
+ onError?: (error: string) => void;
329
+ onProgress?: (progress: number) => void;
330
+ }
264
331
 
265
- declare const LogoSpinLoader: FC<ILogoLoaderProps>;
332
+ interface IUseLoaderStateReturn$1 {
333
+ state: ILoaderState$1;
334
+ setLoading: (loading: boolean) => void;
335
+ setProgress: (progress: number) => void;
336
+ setError: (error: string | null) => void;
337
+ retry: () => void;
338
+ reset: () => void;
339
+ }
266
340
 
267
- declare const PulseLoader: FC<IGeometricLoaderProps$1>;
341
+ interface IFallbackLoaderProps extends IBaseLoaderProps$1 {
342
+ /** Error message to display */
343
+ error?: string;
344
+ /** Retry function */
345
+ onRetry?: () => void;
346
+ /** Show retry button */
347
+ showRetry?: boolean;
348
+ /** Custom fallback content */
349
+ children?: ReactNode;
350
+ /** Fallback type */
351
+ type?: "error" | "timeout" | "network";
352
+ }
268
353
 
269
- declare const SpinLoader: FC<IGeometricLoaderProps$1>;
354
+ type AnimationDirectionType =
355
+ | "normal"
356
+ | "reverse"
357
+ | "alternate"
358
+ | "alternate-reverse";
270
359
 
271
- declare const TypingLoader: FC<ITextLoaderProps>;
360
+ type AnimationEasingType =
361
+ | "linear"
362
+ | "ease"
363
+ | "ease-in"
364
+ | "ease-out"
365
+ | "ease-in-out"
366
+ | "cubic-bezier(number, number, number, number)";
272
367
 
273
- declare const WaveLoader: FC<IGeometricLoaderProps$1>;
368
+ type AnimationFillModeType = "none" | "forwards" | "backwards" | "both";
274
369
 
275
370
  declare const BarsLoader: FC<IGeometricLoaderProps$1>;
276
371
 
372
+ declare const BlobLoader: FC<IFluidLoaderProps>;
373
+
277
374
  declare const BounceLoader: FC<IGeometricLoaderProps$1>;
278
375
 
279
376
  declare const DotsLoader: FC<IGeometricLoaderProps$1>;
280
377
 
378
+ /**
379
+ * ElementLoader Component
380
+ *
381
+ * A flexible loader component that can display any React element with various animation effects.
382
+ *
383
+ * @example
384
+ * ```tsx
385
+ * // Basic usage with a div element
386
+ * <ElementLoader>
387
+ * <div style={{ width: '100%', height: '100%', backgroundColor: 'blue' }} />
388
+ * </ElementLoader>
389
+ *
390
+ * // With different animation types
391
+ * <ElementLoader animationType="pulse">
392
+ * <div>Your custom element here</div>
393
+ * </ElementLoader>
394
+ *
395
+ * // With loading text
396
+ * <ElementLoader showText loadingText="Loading...">
397
+ * <YourIconComponent />
398
+ * </ElementLoader>
399
+ * ```
400
+ */
401
+
402
+ declare const ElementLoader: FC<IElementLoaderProps>;
403
+
404
+ declare const FallbackLoader: FC<IFallbackLoaderProps>;
405
+
406
+ declare const FlowLoader: FC<IFluidLoaderProps>;
407
+
408
+ declare const GridLoader: FC<IGeometricLoaderProps$1>;
409
+
410
+ declare const LiquidLoader: FC<IFluidLoaderProps>;
411
+
412
+ declare const LogoSpinLoader: FC<ILogoLoaderProps>;
413
+
414
+ declare const PulseLoader: FC<IGeometricLoaderProps$1>;
415
+
416
+ /**
417
+ * Base props interface for all loader components
418
+ * Provides common functionality across all loader types
419
+ */
281
420
  interface IBaseLoaderProps {
282
421
  /** Custom CSS class name */
283
422
  className?: string;
@@ -305,6 +444,16 @@ interface IBaseLoaderProps {
305
444
  loadingText?: string;
306
445
  /** Data test id for testing */
307
446
  "data-testid"?: string;
447
+ /** Enable fullscreen mode */
448
+ fullscreen?: boolean;
449
+ /** Screen width for fullscreen mode */
450
+ screenWidth?: number | string;
451
+ /** Screen height for fullscreen mode */
452
+ screenHeight?: number | string;
453
+ /** Center the loader in fullscreen mode */
454
+ loaderCenter?: boolean;
455
+ /** Background color for fullscreen mode */
456
+ screenBackground?: string;
308
457
  }
309
458
 
310
459
  interface IGeometricLoaderProps extends IBaseLoaderProps {
@@ -314,17 +463,6 @@ interface IGeometricLoaderProps extends IBaseLoaderProps {
314
463
  borderWidth?: number;
315
464
  }
316
465
 
317
- interface ILoaderCSSVariables {
318
- "--loader-color"?: string;
319
- "--loader-secondary-color"?: string;
320
- "--loader-size"?: string;
321
- "--loader-speed"?: string;
322
- "--loader-background"?: string;
323
- "--loader-text-color"?: string;
324
- "--loader-border-width"?: string;
325
- "--loader-glow-intensity"?: string;
326
- }
327
-
328
466
  interface ILoaderState {
329
467
  isLoading: boolean;
330
468
  progress?: number;
@@ -350,35 +488,19 @@ interface IUseLoaderStateReturn {
350
488
  reset: () => void;
351
489
  }
352
490
 
353
- interface ILoaderTheme {
354
- name: string;
355
- colors: {
356
- primary: string;
357
- secondary: string;
358
- background: string;
359
- text: string;
360
- accent: string;
361
- };
362
- animation: {
363
- duration: string;
364
- easing: string;
365
- };
366
- typography: {
367
- fontFamily: string;
368
- fontSize: string;
369
- fontWeight: number;
370
- };
371
- }
491
+ declare const RingLoader: FC<IGeometricLoaderProps>;
372
492
 
373
- type AnimationDirectionType = "normal" | "reverse" | "alternate" | "alternate-reverse";
493
+ declare const RotateLoader: FC<IGeometricLoaderProps$1>;
374
494
 
375
- type AnimationEasingType = "linear" | "ease" | "ease-in" | "ease-out" | "ease-in-out" | "cubic-bezier(number, number, number, number)";
495
+ declare const ShimmerLoader: FC<IShimmerLoaderProps>;
376
496
 
377
- type AnimationFillModeType = "none" | "forwards" | "backwards" | "both";
497
+ declare const SkeletonLoader: FC<ISkeletonLoaderProps>;
378
498
 
379
- declare const RingLoader: FC<IGeometricLoaderProps>;
499
+ declare const SpinLoader: FC<IGeometricLoaderProps$1>;
380
500
 
381
- declare const RotateLoader: FC<IGeometricLoaderProps$1>;
501
+ declare const TypingLoader: FC<ITextLoaderProps>;
502
+
503
+ declare const WaveLoader: FC<IGeometricLoaderProps$1>;
382
504
 
383
505
  /**
384
506
  * Custom React hook for managing loader state with advanced features
@@ -432,7 +554,7 @@ declare function getSizeValue(size: number | string | undefined, fallback?: stri
432
554
  * @param variables - The loader CSS variables object
433
555
  * @returns React CSS properties object
434
556
  */
435
- declare function generateCSSVariables(variables: ILoaderCSSVariables$1): React.CSSProperties;
557
+ declare function generateCSSVariables(variables: ILoaderCSSVariables): React.CSSProperties;
436
558
 
437
559
  /**
438
560
  * Calculates animation duration based on speed multiplier
@@ -455,13 +577,36 @@ declare function prefersReducedMotion(): boolean;
455
577
  /**
456
578
  * Get optimized animation settings based on user preferences
457
579
  * @param speed - The animation speed multiplier (default: 1)
580
+ * @param respectReducedMotion - Whether to respect reduced motion preference (default: true)
458
581
  * @returns Object with optimized animation settings
459
582
  */
460
- declare function getOptimizedAnimationSettings(speed?: number): {
583
+ declare function getOptimizedAnimationSettings(speed?: number, respectReducedMotion?: boolean): {
461
584
  duration: string;
462
585
  playState: string;
463
586
  iterationCount: string | number;
464
587
  };
588
+ /**
589
+ * Get animation direction CSS value
590
+ * @param direction - The animation direction
591
+ * @returns CSS direction value
592
+ */
593
+ declare function getAnimationDirection(direction?: "normal" | "reverse" | "alternate" | "alternate-reverse"): string;
594
+ /**
595
+ * Get animation easing CSS value
596
+ * @param easing - The animation easing function
597
+ * @returns CSS easing value
598
+ */
599
+ declare function getAnimationEasing(easing?: "linear" | "ease" | "ease-in" | "ease-out" | "ease-in-out" | "cubic-bezier"): string;
600
+ /**
601
+ * Create a complete animation string
602
+ * @param name - The animation name
603
+ * @param duration - The animation duration
604
+ * @param easing - The animation easing
605
+ * @param direction - The animation direction
606
+ * @param iterationCount - The iteration count
607
+ * @returns Complete animation string
608
+ */
609
+ declare function createAnimationString(name: string, duration: string, easing?: string, direction?: string, iterationCount?: string | number): string;
465
610
 
466
611
  /**
467
612
  * Converts hex color to RGB values
@@ -503,5 +648,5 @@ declare function generateId(prefix?: string): string;
503
648
  */
504
649
  declare function sanitizeCSSValue(value: string | number | undefined): string | undefined;
505
650
 
506
- export { BarsLoader, BlobLoader, BounceLoader, Circle, Dot, DotCluster, DotsLoader, FallbackLoader, FlowLoader, GridLoader, Line, LineGroup, LiquidLoader, LogoSpinLoader, PulseLoader, Rectangle, RingLoader, RotateLoader, ShapeGroup, SpinLoader, TypingLoader, WaveLoader, clamp, createAnimationName, generateCSSVariables, generateId, getAnimationDuration, getOptimizedAnimationSettings, getSizeValue, hexToRgb, mergeProps, prefersReducedMotion, rgba, sanitizeCSSValue, useAsyncLoader, useLoaderState, useMultipleLoaderStates };
507
- export type { AnimationDirectionType, AnimationEasingType, AnimationFillModeType, CircleProps, DotClusterProps, DotProps, IBaseLoaderProps, ILoaderCSSVariables, ILoaderTheme, LineGroupProps, LineProps, RectangleProps, ShapeGroupProps };
651
+ export { BarsLoader, BlobLoader, BounceLoader, Circle, Dot, DotCluster, DotsLoader, ElementLoader, FallbackLoader, FlowLoader, GridLoader, Line, LineGroup, LiquidLoader, LogoSpinLoader, PulseLoader, Rectangle, RingLoader, RotateLoader, ShapeGroup, ShimmerLoader, SkeletonLoader, SpinLoader, TypingLoader, WaveLoader, clamp, createAnimationName, createAnimationString, generateCSSVariables, generateId, getAnimationDirection, getAnimationDuration, getAnimationEasing, getOptimizedAnimationSettings, getSizeValue, hexToRgb, mergeProps, prefersReducedMotion, rgba, sanitizeCSSValue, useAsyncLoader, useLoaderState, useMultipleLoaderStates };
652
+ export type { AnimationDirectionType, AnimationEasingType, AnimationFillModeType, CircleProps, DotClusterProps, DotProps, IBaseLoaderProps$1 as IBaseLoaderProps, IElementLoaderProps, IFallbackLoaderProps, IFluidLoaderProps, IGeometricLoaderProps$1 as IGeometricLoaderProps, ILoaderCSSVariables, ILoaderState$1 as ILoaderState, ILogoLoaderProps, IShimmerLoaderProps, ISkeletonLoaderProps, ITextLoaderProps, IUseLoaderStateOptions$1 as IUseLoaderStateOptions, IUseLoaderStateReturn$1 as IUseLoaderStateReturn, LineGroupProps, LineProps, RectangleProps, ShapeGroupProps };