premium-react-loaders 2.3.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +45 -3
  2. package/dist/components/bounce/BouncingBalls.d.ts +15 -0
  3. package/dist/components/bounce/BouncingBalls.d.ts.map +1 -0
  4. package/dist/components/bounce/BouncingDots.d.ts +15 -0
  5. package/dist/components/bounce/BouncingDots.d.ts.map +1 -0
  6. package/dist/components/bounce/index.d.ts +3 -0
  7. package/dist/components/bounce/index.d.ts.map +1 -0
  8. package/dist/components/index.d.ts +5 -0
  9. package/dist/components/index.d.ts.map +1 -1
  10. package/dist/components/infinity/InfinityLoader.d.ts +15 -0
  11. package/dist/components/infinity/InfinityLoader.d.ts.map +1 -0
  12. package/dist/components/infinity/MobiusLoader.d.ts +15 -0
  13. package/dist/components/infinity/MobiusLoader.d.ts.map +1 -0
  14. package/dist/components/infinity/index.d.ts +3 -0
  15. package/dist/components/infinity/index.d.ts.map +1 -0
  16. package/dist/components/orbit/AtomLoader.d.ts +15 -0
  17. package/dist/components/orbit/AtomLoader.d.ts.map +1 -0
  18. package/dist/components/orbit/OrbitDots.d.ts +15 -0
  19. package/dist/components/orbit/OrbitDots.d.ts.map +1 -0
  20. package/dist/components/orbit/OrbitRings.d.ts +15 -0
  21. package/dist/components/orbit/OrbitRings.d.ts.map +1 -0
  22. package/dist/components/orbit/index.d.ts +4 -0
  23. package/dist/components/orbit/index.d.ts.map +1 -0
  24. package/dist/components/shimmer/ShimmerBox.d.ts +15 -0
  25. package/dist/components/shimmer/ShimmerBox.d.ts.map +1 -0
  26. package/dist/components/shimmer/ShimmerButton.d.ts +15 -0
  27. package/dist/components/shimmer/ShimmerButton.d.ts.map +1 -0
  28. package/dist/components/shimmer/ShimmerText.d.ts +15 -0
  29. package/dist/components/shimmer/ShimmerText.d.ts.map +1 -0
  30. package/dist/components/shimmer/index.d.ts +4 -0
  31. package/dist/components/shimmer/index.d.ts.map +1 -0
  32. package/dist/components/text/LoadingText.d.ts +16 -0
  33. package/dist/components/text/LoadingText.d.ts.map +1 -0
  34. package/dist/components/text/index.d.ts +2 -0
  35. package/dist/components/text/index.d.ts.map +1 -0
  36. package/dist/index.cjs +22 -0
  37. package/dist/index.js +22 -0
  38. package/dist/index10.cjs +1 -1
  39. package/dist/index10.js +1 -1
  40. package/dist/index11.cjs +1 -1
  41. package/dist/index11.js +1 -1
  42. package/dist/index12.cjs +1 -1
  43. package/dist/index12.js +1 -1
  44. package/dist/index13.cjs +1 -1
  45. package/dist/index13.js +1 -1
  46. package/dist/index14.cjs +1 -1
  47. package/dist/index14.js +1 -1
  48. package/dist/index15.cjs +1 -1
  49. package/dist/index15.js +1 -1
  50. package/dist/index16.cjs +1 -1
  51. package/dist/index16.js +1 -1
  52. package/dist/index17.cjs +1 -1
  53. package/dist/index17.js +1 -1
  54. package/dist/index18.cjs +1 -1
  55. package/dist/index18.js +1 -1
  56. package/dist/index19.cjs +1 -1
  57. package/dist/index19.js +1 -1
  58. package/dist/index20.cjs +1 -1
  59. package/dist/index20.js +1 -1
  60. package/dist/index21.cjs +1 -1
  61. package/dist/index21.js +1 -1
  62. package/dist/index22.cjs +1 -1
  63. package/dist/index22.js +1 -1
  64. package/dist/index23.cjs +1 -1
  65. package/dist/index23.js +1 -1
  66. package/dist/index24.cjs +1 -1
  67. package/dist/index24.js +1 -1
  68. package/dist/index25.cjs +1 -1
  69. package/dist/index25.js +1 -1
  70. package/dist/index26.cjs +1 -1
  71. package/dist/index26.js +1 -1
  72. package/dist/index27.cjs +1 -1
  73. package/dist/index27.js +1 -1
  74. package/dist/index28.cjs +1 -1
  75. package/dist/index28.js +1 -1
  76. package/dist/index29.cjs +1 -1
  77. package/dist/index29.js +1 -1
  78. package/dist/index30.cjs +1 -1
  79. package/dist/index30.js +1 -1
  80. package/dist/index31.cjs +1 -1
  81. package/dist/index31.js +1 -1
  82. package/dist/index32.cjs +1 -1
  83. package/dist/index32.js +1 -1
  84. package/dist/index33.cjs +1 -1
  85. package/dist/index33.js +1 -1
  86. package/dist/index34.cjs +1 -1
  87. package/dist/index34.js +1 -1
  88. package/dist/index36.cjs +90 -119
  89. package/dist/index36.js +91 -120
  90. package/dist/index37.cjs +113 -0
  91. package/dist/index37.js +113 -0
  92. package/dist/index38.cjs +169 -0
  93. package/dist/index38.js +169 -0
  94. package/dist/index39.cjs +97 -0
  95. package/dist/index39.js +97 -0
  96. package/dist/index40.cjs +90 -0
  97. package/dist/index40.js +90 -0
  98. package/dist/index41.cjs +139 -0
  99. package/dist/index41.js +139 -0
  100. package/dist/index42.cjs +82 -0
  101. package/dist/index42.js +82 -0
  102. package/dist/index43.cjs +110 -0
  103. package/dist/index43.js +110 -0
  104. package/dist/index44.cjs +135 -0
  105. package/dist/index44.js +135 -0
  106. package/dist/index45.cjs +106 -0
  107. package/dist/index45.js +106 -0
  108. package/dist/index46.cjs +158 -0
  109. package/dist/index46.js +158 -0
  110. package/dist/index47.cjs +125 -0
  111. package/dist/index47.js +125 -0
  112. package/dist/index7.cjs +1 -1
  113. package/dist/index7.js +1 -1
  114. package/dist/index8.cjs +1 -1
  115. package/dist/index8.js +1 -1
  116. package/dist/index9.cjs +1 -1
  117. package/dist/index9.js +1 -1
  118. package/dist/premium-react-loaders.css +217 -0
  119. package/dist/types/bounce.d.ts +41 -0
  120. package/dist/types/bounce.d.ts.map +1 -0
  121. package/dist/types/index.d.ts +5 -0
  122. package/dist/types/index.d.ts.map +1 -1
  123. package/dist/types/infinity.d.ts +35 -0
  124. package/dist/types/infinity.d.ts.map +1 -0
  125. package/dist/types/orbit.d.ts +50 -0
  126. package/dist/types/orbit.d.ts.map +1 -0
  127. package/dist/types/shimmer.d.ts +52 -0
  128. package/dist/types/shimmer.d.ts.map +1 -0
  129. package/dist/types/text.d.ts +27 -0
  130. package/dist/types/text.d.ts.map +1 -0
  131. package/package.json +1 -1
package/dist/index19.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
3
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
4
4
  import { normalizeSize, parseSizeToNumber } from "./index4.js";
5
5
  import { cn } from "./index3.js";
6
6
  const SpinnerBars = forwardRef(
package/dist/index20.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const classNames = require("./index3.cjs");
7
7
  const colors = require("./index4.cjs");
8
8
  const SpinnerGrid = react.forwardRef(
package/dist/index20.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
3
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
4
4
  import { cn } from "./index3.js";
5
5
  import { normalizeSize, parseSizeToNumber } from "./index4.js";
6
6
  const SpinnerGrid = forwardRef(
package/dist/index21.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const classNames = require("./index3.cjs");
7
7
  const colors = require("./index4.cjs");
8
8
  const SpinnerWave = react.forwardRef(
package/dist/index21.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
3
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
4
4
  import { cn } from "./index3.js";
5
5
  import { normalizeSize } from "./index4.js";
6
6
  const SpinnerWave = forwardRef(
package/dist/index22.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const classNames = require("./index3.cjs");
7
7
  const colors = require("./index4.cjs");
8
8
  const SpinnerPulse = react.forwardRef(
package/dist/index22.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
3
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
4
4
  import { cn } from "./index3.js";
5
5
  import { normalizeSize } from "./index4.js";
6
6
  const SpinnerPulse = forwardRef(
package/dist/index23.cjs CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const colors = require("./index4.cjs");
6
- const hooks = require("./index36.cjs");
6
+ const hooks = require("./index47.cjs");
7
7
  const classNames = require("./index3.cjs");
8
8
  const ProgressBar = react.forwardRef(
9
9
  ({
package/dist/index23.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { forwardRef, useMemo } from "react";
3
3
  import { normalizeSize, getContrastColor } from "./index4.js";
4
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
4
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
5
5
  import { cn } from "./index3.js";
6
6
  const ProgressBar = forwardRef(
7
7
  ({
package/dist/index24.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const colors = require("./index4.cjs");
7
7
  const classNames = require("./index3.cjs");
8
8
  const ProgressCircle = react.forwardRef(
package/dist/index24.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
3
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
4
4
  import { normalizeSize, parseSizeToNumber } from "./index4.js";
5
5
  import { cn } from "./index3.js";
6
6
  const ProgressCircle = forwardRef(
package/dist/index25.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const colors = require("./index4.cjs");
7
7
  const classNames = require("./index3.cjs");
8
8
  const ProgressRing = react.forwardRef(
package/dist/index25.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { forwardRef, useMemo } from "react";
3
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
3
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
4
4
  import { normalizeSize, parseSizeToNumber } from "./index4.js";
5
5
  import { cn } from "./index3.js";
6
6
  const ProgressRing = forwardRef(
package/dist/index26.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const classNames = require("./index3.cjs");
7
7
  const ProgressSteps = react.forwardRef(
8
8
  ({
package/dist/index26.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef, Fragment } from "react";
3
- import { useLoaderVisibility } from "./index36.js";
3
+ import { useLoaderVisibility } from "./index47.js";
4
4
  import { cn } from "./index3.js";
5
5
  const ProgressSteps = forwardRef(
6
6
  ({
package/dist/index27.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const colors = require("./index4.cjs");
7
7
  const classNames = require("./index3.cjs");
8
8
  const PulseDots = react.forwardRef(
package/dist/index27.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
3
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
4
4
  import { normalizeSize } from "./index4.js";
5
5
  import { cn } from "./index3.js";
6
6
  const PulseDots = forwardRef(
package/dist/index28.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const colors = require("./index4.cjs");
7
7
  const classNames = require("./index3.cjs");
8
8
  const PulseWave = react.forwardRef(
package/dist/index28.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
3
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
4
4
  import { normalizeSize, parseSizeToNumber } from "./index4.js";
5
5
  import { cn } from "./index3.js";
6
6
  const PulseWave = forwardRef(
package/dist/index29.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const colors = require("./index4.cjs");
7
7
  const classNames = require("./index3.cjs");
8
8
  const PulseBars = react.forwardRef(
package/dist/index29.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
3
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
4
4
  import { normalizeSize, parseSizeToNumber } from "./index4.js";
5
5
  import { cn } from "./index3.js";
6
6
  const PulseBars = forwardRef(
package/dist/index30.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const colors = require("./index4.cjs");
7
7
  const classNames = require("./index3.cjs");
8
8
  const TypingIndicator = react.forwardRef(
package/dist/index30.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
3
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
4
4
  import { normalizeSize } from "./index4.js";
5
5
  import { cn } from "./index3.js";
6
6
  const TypingIndicator = forwardRef(
package/dist/index31.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const classNames = require("./index3.cjs");
7
7
  const LoaderOverlay = react.forwardRef(
8
8
  ({
package/dist/index31.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useLoaderVisibility } from "./index36.js";
3
+ import { useLoaderVisibility } from "./index47.js";
4
4
  import { cn } from "./index3.js";
5
5
  const LoaderOverlay = forwardRef(
6
6
  ({
package/dist/index32.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const classNames = require("./index3.cjs");
7
7
  const colors = require("./index4.cjs");
8
8
  const ButtonSpinner = react.forwardRef(
package/dist/index32.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index36.js";
3
+ import { useReducedMotion, useLoaderVisibility, getEffectiveDuration } from "./index47.js";
4
4
  import { cn } from "./index3.js";
5
5
  import { normalizeSize } from "./index4.js";
6
6
  const ButtonSpinner = forwardRef(
package/dist/index33.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const classNames = require("./index3.cjs");
7
7
  const colors = require("./index4.cjs");
8
8
  const SuccessCheckmark = react.forwardRef(
package/dist/index33.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useLoaderVisibility } from "./index36.js";
3
+ import { useLoaderVisibility } from "./index47.js";
4
4
  import { cn } from "./index3.js";
5
5
  import { normalizeSize } from "./index4.js";
6
6
  const SuccessCheckmark = forwardRef(
package/dist/index34.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
- const hooks = require("./index36.cjs");
5
+ const hooks = require("./index47.cjs");
6
6
  const classNames = require("./index3.cjs");
7
7
  const colors = require("./index4.cjs");
8
8
  const ErrorIndicator = react.forwardRef(
package/dist/index34.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useLoaderVisibility } from "./index36.js";
3
+ import { useLoaderVisibility } from "./index47.js";
4
4
  import { cn } from "./index3.js";
5
5
  import { normalizeSize } from "./index4.js";
6
6
  const ErrorIndicator = forwardRef(
package/dist/index36.cjs CHANGED
@@ -1,125 +1,96 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
3
4
  const react = require("react");
4
- function useReducedMotion() {
5
- const [prefersReducedMotion, setPrefersReducedMotion] = react.useState(false);
6
- react.useEffect(() => {
7
- if (typeof window === "undefined" || !window.matchMedia) {
8
- return;
9
- }
10
- const mediaQuery = window.matchMedia("(prefers-reduced-motion: reduce)");
11
- setPrefersReducedMotion(mediaQuery.matches);
12
- const handleChange = (event) => {
13
- setPrefersReducedMotion(event.matches);
14
- };
15
- if (mediaQuery.addEventListener) {
16
- mediaQuery.addEventListener("change", handleChange);
17
- return () => mediaQuery.removeEventListener("change", handleChange);
18
- } else {
19
- mediaQuery.addListener(handleChange);
20
- return () => mediaQuery.removeListener(handleChange);
21
- }
22
- }, []);
23
- return prefersReducedMotion;
24
- }
25
- function getEffectiveDuration(speed, respectMotionPreference, prefersReducedMotion) {
26
- if (respectMotionPreference && prefersReducedMotion) {
27
- return "0.01ms";
28
- }
29
- if (typeof speed === "number") {
30
- const validSpeed = !isNaN(speed) && speed > 0 ? Math.max(50, Math.min(1e4, speed)) : 1e3;
31
- return `${validSpeed}ms`;
32
- }
33
- const speedMap = {
34
- slow: "2s",
35
- normal: "1s",
36
- fast: "0.5s"
37
- };
38
- return speedMap[speed] || speedMap.normal;
39
- }
40
- function useLoaderVisibility(visible = true, delay = 0, minDuration = 0, transition) {
41
- const transitionDuration = transition === true ? 150 : typeof transition === "number" ? transition : 0;
42
- const hasTransition = transitionDuration > 0;
43
- const [shouldRender, setShouldRender] = react.useState(visible && delay === 0);
44
- const [isTransitioning, setIsTransitioning] = react.useState(visible && delay === 0 && hasTransition);
45
- const showTimeRef = react.useRef(visible && delay === 0 ? Date.now() : null);
46
- const delayTimerRef = react.useRef(null);
47
- const minDurationTimerRef = react.useRef(null);
48
- const transitionTimerRef = react.useRef(null);
49
- react.useEffect(() => {
50
- if (delayTimerRef.current) {
51
- clearTimeout(delayTimerRef.current);
52
- delayTimerRef.current = null;
53
- }
54
- if (minDurationTimerRef.current) {
55
- clearTimeout(minDurationTimerRef.current);
56
- minDurationTimerRef.current = null;
57
- }
58
- if (transitionTimerRef.current) {
59
- clearTimeout(transitionTimerRef.current);
60
- transitionTimerRef.current = null;
61
- }
62
- if (visible) {
63
- if (delay > 0) {
64
- delayTimerRef.current = setTimeout(() => {
65
- setShouldRender(true);
66
- showTimeRef.current = Date.now();
67
- if (hasTransition) {
68
- setIsTransitioning(true);
69
- }
70
- }, delay);
71
- } else {
72
- setShouldRender(true);
73
- showTimeRef.current = Date.now();
74
- if (hasTransition) {
75
- setIsTransitioning(true);
76
- }
77
- }
78
- } else {
79
- const hideLoader = () => {
80
- if (hasTransition) {
81
- setIsTransitioning(false);
82
- transitionTimerRef.current = setTimeout(() => {
83
- setShouldRender(false);
84
- showTimeRef.current = null;
85
- }, transitionDuration);
86
- } else {
87
- setShouldRender(false);
88
- showTimeRef.current = null;
89
- }
90
- };
91
- if (showTimeRef.current !== null && minDuration > 0) {
92
- const elapsedTime = Date.now() - showTimeRef.current;
93
- const remainingTime = minDuration - elapsedTime;
94
- if (remainingTime > 0) {
95
- minDurationTimerRef.current = setTimeout(hideLoader, remainingTime);
96
- } else {
97
- hideLoader();
98
- }
99
- } else {
100
- hideLoader();
101
- }
102
- }
103
- return () => {
104
- if (delayTimerRef.current) {
105
- clearTimeout(delayTimerRef.current);
5
+ const hooks = require("./index47.cjs");
6
+ const classNames = require("./index3.cjs");
7
+ const ShimmerBox = react.forwardRef(
8
+ ({
9
+ width = 200,
10
+ height,
11
+ borderRadius = 8,
12
+ baseColor = "#e5e7eb",
13
+ highlightColor = "#f3f4f6",
14
+ direction = "left-to-right",
15
+ aspectRatio,
16
+ speed = "normal",
17
+ respectMotionPreference = true,
18
+ delay = 0,
19
+ minDuration = 0,
20
+ transition,
21
+ className,
22
+ style,
23
+ testId = "shimmer-box",
24
+ visible = true,
25
+ ariaLabel = "Loading...",
26
+ ...rest
27
+ }, ref) => {
28
+ const prefersReducedMotion = hooks.useReducedMotion();
29
+ const effectiveDuration = hooks.getEffectiveDuration(speed, respectMotionPreference, prefersReducedMotion);
30
+ const { shouldRender, opacity, transitionStyle } = hooks.useLoaderVisibility(
31
+ visible,
32
+ delay,
33
+ minDuration,
34
+ transition
35
+ );
36
+ if (!shouldRender) return null;
37
+ const getGradientDirection = () => {
38
+ switch (direction) {
39
+ case "right-to-left":
40
+ return "to left";
41
+ case "top-to-bottom":
42
+ return "to bottom";
43
+ case "bottom-to-top":
44
+ return "to top";
45
+ default:
46
+ return "to right";
106
47
  }
107
- if (minDurationTimerRef.current) {
108
- clearTimeout(minDurationTimerRef.current);
109
- }
110
- if (transitionTimerRef.current) {
111
- clearTimeout(transitionTimerRef.current);
48
+ };
49
+ const getAnimationName = () => {
50
+ switch (direction) {
51
+ case "right-to-left":
52
+ return "shimmer-rtl";
53
+ case "top-to-bottom":
54
+ return "shimmer-ttb";
55
+ case "bottom-to-top":
56
+ return "shimmer-btt";
57
+ default:
58
+ return "shimmer-ltr";
112
59
  }
113
60
  };
114
- }, [visible, delay, minDuration, hasTransition, transitionDuration]);
115
- const opacity = hasTransition ? isTransitioning ? 1 : 0 : 1;
116
- const transitionStyle = hasTransition ? `opacity ${transitionDuration}ms ease-in-out` : "none";
117
- return {
118
- shouldRender,
119
- opacity,
120
- transitionStyle
121
- };
122
- }
123
- exports.getEffectiveDuration = getEffectiveDuration;
124
- exports.useLoaderVisibility = useLoaderVisibility;
125
- exports.useReducedMotion = useReducedMotion;
61
+ return /* @__PURE__ */ jsxRuntime.jsx(
62
+ "div",
63
+ {
64
+ ref,
65
+ "data-testid": testId,
66
+ className: classNames.cn("relative overflow-hidden", className),
67
+ style: {
68
+ width: typeof width === "number" ? `${width}px` : width,
69
+ height: aspectRatio ? void 0 : typeof height === "number" ? `${height}px` : height || "100px",
70
+ aspectRatio,
71
+ borderRadius: typeof borderRadius === "number" ? `${borderRadius}px` : borderRadius,
72
+ backgroundColor: baseColor,
73
+ opacity,
74
+ transition: transitionStyle,
75
+ ...style
76
+ },
77
+ role: "status",
78
+ "aria-label": ariaLabel,
79
+ "aria-busy": "true",
80
+ ...rest,
81
+ children: /* @__PURE__ */ jsxRuntime.jsx(
82
+ "div",
83
+ {
84
+ className: "absolute inset-0",
85
+ style: {
86
+ background: `linear-gradient(${getGradientDirection()}, transparent 0%, ${highlightColor} 50%, transparent 100%)`,
87
+ animation: `${getAnimationName()} ${effectiveDuration} infinite`
88
+ }
89
+ }
90
+ )
91
+ }
92
+ );
93
+ }
94
+ );
95
+ ShimmerBox.displayName = "ShimmerBox";
96
+ exports.ShimmerBox = ShimmerBox;