@eternalheart/react-file-preview 1.4.0 → 1.5.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 (161) hide show
  1. package/README.md +437 -60
  2. package/README.zh-CN.md +437 -60
  3. package/lib/FilePreviewContent.d.ts +1 -0
  4. package/lib/FilePreviewContent.d.ts.map +1 -1
  5. package/lib/FilePreviewEmbed.d.ts +2 -0
  6. package/lib/FilePreviewEmbed.d.ts.map +1 -1
  7. package/lib/FilePreviewModal.d.ts +2 -0
  8. package/lib/FilePreviewModal.d.ts.map +1 -1
  9. package/lib/chunks/index-2sX2d4iv.mjs +291 -0
  10. package/lib/chunks/index-2sX2d4iv.mjs.map +1 -0
  11. package/lib/chunks/index-Bdj8_B80.mjs +120 -0
  12. package/lib/chunks/index-Bdj8_B80.mjs.map +1 -0
  13. package/lib/chunks/index-CCcZzLUM.mjs +107 -0
  14. package/lib/chunks/index-CCcZzLUM.mjs.map +1 -0
  15. package/lib/chunks/{index-CzM2mxrD.mjs → index-CKdQL1Bk.mjs} +130 -128
  16. package/lib/chunks/{index-CzM2mxrD.mjs.map → index-CKdQL1Bk.mjs.map} +1 -1
  17. package/lib/chunks/index-CQYrhe7Z.mjs +275 -0
  18. package/lib/chunks/index-CQYrhe7Z.mjs.map +1 -0
  19. package/lib/chunks/{index-DuP0Tlpo.mjs → index-CRZqNMQ7.mjs} +43 -41
  20. package/lib/chunks/index-CRZqNMQ7.mjs.map +1 -0
  21. package/lib/chunks/{index-Cp68OevR.mjs → index-CTghYlSh.mjs} +1299 -1297
  22. package/lib/chunks/{index-Cp68OevR.mjs.map → index-CTghYlSh.mjs.map} +1 -1
  23. package/lib/chunks/index-CuTz7dbd.mjs +313 -0
  24. package/lib/chunks/index-CuTz7dbd.mjs.map +1 -0
  25. package/lib/chunks/index-CuWzRQZw.mjs +116 -0
  26. package/lib/chunks/index-CuWzRQZw.mjs.map +1 -0
  27. package/lib/chunks/index-Cz23v-TW.mjs +2409 -0
  28. package/lib/chunks/index-Cz23v-TW.mjs.map +1 -0
  29. package/lib/chunks/{index-kALp0tqz.mjs → index-D-Is8qvU.mjs} +22 -20
  30. package/lib/chunks/index-D-Is8qvU.mjs.map +1 -0
  31. package/lib/chunks/index-Da3FN2-3.mjs +359 -0
  32. package/lib/chunks/index-Da3FN2-3.mjs.map +1 -0
  33. package/lib/chunks/index-Dc6q1OKl.mjs +78 -0
  34. package/lib/chunks/index-Dc6q1OKl.mjs.map +1 -0
  35. package/lib/chunks/{index-10O8tfTH.mjs → index-DoGKcq9y.mjs} +194 -192
  36. package/lib/chunks/index-DoGKcq9y.mjs.map +1 -0
  37. package/lib/chunks/{index-C_BJatqr.mjs → index-DzCLf1Db.mjs} +42 -40
  38. package/lib/chunks/index-DzCLf1Db.mjs.map +1 -0
  39. package/lib/chunks/index-FomaQSaL.mjs +329 -0
  40. package/lib/chunks/index-FomaQSaL.mjs.map +1 -0
  41. package/lib/chunks/{index-DaAXRBWL.mjs → index-OXjOFggq.mjs} +864 -862
  42. package/lib/chunks/{index-DaAXRBWL.mjs.map → index-OXjOFggq.mjs.map} +1 -1
  43. package/lib/chunks/index-WLepq2g2.mjs +200 -0
  44. package/lib/chunks/index-WLepq2g2.mjs.map +1 -0
  45. package/lib/chunks/{index-DoFsoBKL.mjs → index-_B5marES.mjs} +27 -25
  46. package/lib/chunks/index-_B5marES.mjs.map +1 -0
  47. package/lib/chunks/useShikiHighlight-Bbs8Fbqs.mjs +36 -0
  48. package/lib/chunks/useShikiHighlight-Bbs8Fbqs.mjs.map +1 -0
  49. package/lib/components/preview/FilePreviewToolbar.d.ts +1 -0
  50. package/lib/components/preview/FilePreviewToolbar.d.ts.map +1 -1
  51. package/lib/components/preview/ToolbarButton.d.ts +3 -1
  52. package/lib/components/preview/ToolbarButton.d.ts.map +1 -1
  53. package/lib/hooks/index.d.ts +0 -6
  54. package/lib/hooks/index.d.ts.map +1 -1
  55. package/lib/hooks/useShikiHighlight.d.ts +3 -1
  56. package/lib/hooks/useShikiHighlight.d.ts.map +1 -1
  57. package/lib/index.cjs +32 -30
  58. package/lib/index.cjs.map +1 -1
  59. package/lib/index.css +1 -1
  60. package/lib/index.mjs +1 -1
  61. package/lib/renderers/Audio/index.d.ts +2 -1
  62. package/lib/renderers/Audio/index.d.ts.map +1 -1
  63. package/lib/renderers/Csv/index.d.ts +2 -1
  64. package/lib/renderers/Csv/index.d.ts.map +1 -1
  65. package/lib/renderers/Docx/index.d.ts +2 -1
  66. package/lib/renderers/Docx/index.d.ts.map +1 -1
  67. package/lib/renderers/Epub/index.d.ts +2 -3
  68. package/lib/renderers/Epub/index.d.ts.map +1 -1
  69. package/lib/renderers/Font/index.d.ts +2 -1
  70. package/lib/renderers/Font/index.d.ts.map +1 -1
  71. package/lib/renderers/Image/index.d.ts +6 -7
  72. package/lib/renderers/Image/index.d.ts.map +1 -1
  73. package/lib/renderers/Json/index.d.ts +2 -1
  74. package/lib/renderers/Json/index.d.ts.map +1 -1
  75. package/lib/renderers/Markdown/index.d.ts +2 -2
  76. package/lib/renderers/Markdown/index.d.ts.map +1 -1
  77. package/lib/renderers/Mobi/index.d.ts +2 -3
  78. package/lib/renderers/Mobi/index.d.ts.map +1 -1
  79. package/lib/renderers/Msg/index.d.ts +2 -1
  80. package/lib/renderers/Msg/index.d.ts.map +1 -1
  81. package/lib/renderers/Pdf/index.d.ts +4 -8
  82. package/lib/renderers/Pdf/index.d.ts.map +1 -1
  83. package/lib/renderers/Pptx/index.d.ts +2 -1
  84. package/lib/renderers/Pptx/index.d.ts.map +1 -1
  85. package/lib/renderers/Subtitle/index.d.ts +2 -1
  86. package/lib/renderers/Subtitle/index.d.ts.map +1 -1
  87. package/lib/renderers/Text/index.d.ts +2 -3
  88. package/lib/renderers/Text/index.d.ts.map +1 -1
  89. package/lib/renderers/Video/index.d.ts +2 -1
  90. package/lib/renderers/Video/index.d.ts.map +1 -1
  91. package/lib/renderers/Xlsx/index.d.ts +2 -1
  92. package/lib/renderers/Xlsx/index.d.ts.map +1 -1
  93. package/lib/renderers/Xml/index.d.ts +2 -1
  94. package/lib/renderers/Xml/index.d.ts.map +1 -1
  95. package/lib/renderers/Zip/index.d.ts +7 -2
  96. package/lib/renderers/Zip/index.d.ts.map +1 -1
  97. package/lib/renderers/base.types.d.ts +38 -0
  98. package/lib/renderers/base.types.d.ts.map +1 -0
  99. package/lib/renderers/registry.d.ts +36 -0
  100. package/lib/renderers/registry.d.ts.map +1 -0
  101. package/lib/renderers/toolbar.types.d.ts +2 -0
  102. package/lib/renderers/toolbar.types.d.ts.map +1 -1
  103. package/lib/toolbar/renderItems.d.ts.map +1 -1
  104. package/package.json +3 -3
  105. package/lib/chunks/index-0v5STX5f.mjs +0 -105
  106. package/lib/chunks/index-0v5STX5f.mjs.map +0 -1
  107. package/lib/chunks/index-10O8tfTH.mjs.map +0 -1
  108. package/lib/chunks/index-BCyv1HM9.mjs +0 -175
  109. package/lib/chunks/index-BCyv1HM9.mjs.map +0 -1
  110. package/lib/chunks/index-Bo90aGhy.mjs +0 -114
  111. package/lib/chunks/index-Bo90aGhy.mjs.map +0 -1
  112. package/lib/chunks/index-CEeKt7L3.mjs +0 -2808
  113. package/lib/chunks/index-CEeKt7L3.mjs.map +0 -1
  114. package/lib/chunks/index-CWKbnvW6.mjs +0 -270
  115. package/lib/chunks/index-CWKbnvW6.mjs.map +0 -1
  116. package/lib/chunks/index-C_BJatqr.mjs.map +0 -1
  117. package/lib/chunks/index-Cbz5Z6ZK.mjs +0 -263
  118. package/lib/chunks/index-Cbz5Z6ZK.mjs.map +0 -1
  119. package/lib/chunks/index-DTYBFuAH.mjs +0 -357
  120. package/lib/chunks/index-DTYBFuAH.mjs.map +0 -1
  121. package/lib/chunks/index-DoFsoBKL.mjs.map +0 -1
  122. package/lib/chunks/index-DuP0Tlpo.mjs.map +0 -1
  123. package/lib/chunks/index-Dv3RQz86.mjs +0 -270
  124. package/lib/chunks/index-Dv3RQz86.mjs.map +0 -1
  125. package/lib/chunks/index-QfpHck8N.mjs +0 -55
  126. package/lib/chunks/index-QfpHck8N.mjs.map +0 -1
  127. package/lib/chunks/index-gjSQeou7.mjs +0 -194
  128. package/lib/chunks/index-gjSQeou7.mjs.map +0 -1
  129. package/lib/chunks/index-kALp0tqz.mjs.map +0 -1
  130. package/lib/chunks/index-kCeSnFs-.mjs +0 -54
  131. package/lib/chunks/index-kCeSnFs-.mjs.map +0 -1
  132. package/lib/chunks/useShikiHighlight-BA9qgdGA.mjs +0 -23
  133. package/lib/chunks/useShikiHighlight-BA9qgdGA.mjs.map +0 -1
  134. package/lib/hooks/rendererReducer.d.ts +0 -10
  135. package/lib/hooks/rendererReducer.d.ts.map +0 -1
  136. package/lib/hooks/types.d.ts +0 -152
  137. package/lib/hooks/types.d.ts.map +0 -1
  138. package/lib/hooks/useBookRenderer.d.ts +0 -14
  139. package/lib/hooks/useBookRenderer.d.ts.map +0 -1
  140. package/lib/hooks/useFilePreviewState.d.ts +0 -10
  141. package/lib/hooks/useFilePreviewState.d.ts.map +0 -1
  142. package/lib/hooks/useImageAutoFit.d.ts +0 -13
  143. package/lib/hooks/useImageAutoFit.d.ts.map +0 -1
  144. package/lib/hooks/useToolbarConfig.d.ts +0 -25
  145. package/lib/hooks/useToolbarConfig.d.ts.map +0 -1
  146. package/lib/renderers/Epub/toolbar.d.ts +0 -13
  147. package/lib/renderers/Epub/toolbar.d.ts.map +0 -1
  148. package/lib/renderers/Image/toolbar.d.ts +0 -15
  149. package/lib/renderers/Image/toolbar.d.ts.map +0 -1
  150. package/lib/renderers/Markdown/toolbar.d.ts +0 -9
  151. package/lib/renderers/Markdown/toolbar.d.ts.map +0 -1
  152. package/lib/renderers/Mobi/toolbar.d.ts +0 -13
  153. package/lib/renderers/Mobi/toolbar.d.ts.map +0 -1
  154. package/lib/renderers/Pdf/toolbar.d.ts +0 -16
  155. package/lib/renderers/Pdf/toolbar.d.ts.map +0 -1
  156. package/lib/renderers/Text/toolbar.d.ts +0 -12
  157. package/lib/renderers/Text/toolbar.d.ts.map +0 -1
  158. package/lib/renderers/Zip/toolbar.d.ts +0 -13
  159. package/lib/renderers/Zip/toolbar.d.ts.map +0 -1
  160. package/lib/toolbar/registry.d.ts +0 -51
  161. package/lib/toolbar/registry.d.ts.map +0 -1
@@ -1,133 +1,133 @@
1
- import { jsx as r, jsxs as t } from "react/jsx-runtime";
2
- import { useRef as S, useState as d, useEffect as j, useCallback as y } from "react";
3
- import { motion as h, AnimatePresence as A } from "framer-motion";
4
- import { Repeat as _, SkipBack as z, Pause as B, Play as q, SkipForward as U, VolumeX as X, Volume1 as J, Volume2 as K } from "lucide-react";
5
- import { u as Q } from "./index-CEeKt7L3.mjs";
6
- import { R as Y } from "./RendererError-D5i8eSpN.mjs";
7
- function Z({
8
- url: l
1
+ import { jsx as r, jsxs as a } from "react/jsx-runtime";
2
+ import { useRef as G, useState as p, useEffect as F, useCallback as w, forwardRef as A, useImperativeHandle as _ } from "react";
3
+ import { motion as d, AnimatePresence as z } from "framer-motion";
4
+ import { Repeat as B, SkipBack as q, Pause as U, Play as X, SkipForward as J, VolumeX as K, Volume1 as Q, Volume2 as Y } from "lucide-react";
5
+ import { u as Z } from "./index-Cz23v-TW.mjs";
6
+ import { R as ee } from "./RendererError-D5i8eSpN.mjs";
7
+ function re({
8
+ url: c
9
9
  }) {
10
- const o = S(null), [i, c] = d(!1), [s, p] = d(!0), [w, g] = d(0), [f, u] = d(0), [m, N] = d(1), [k, x] = d(!1), [b, L] = d(!1), [C, v] = d(null);
11
- j(() => {
10
+ const o = G(null), [E, n] = p(!1), [N, i] = p(!0), [C, g] = p(0), [h, l] = p(0), [f, u] = p(1), [x, b] = p(!1), [k, v] = p(!1), [T, y] = p(null);
11
+ F(() => {
12
12
  const e = o.current;
13
13
  if (!e) return;
14
- p(!0), v(null);
15
- const a = () => {
14
+ i(!0), y(null);
15
+ const t = () => {
16
16
  isNaN(e.currentTime) || g(e.currentTime);
17
- }, n = () => {
18
- !isNaN(e.duration) && isFinite(e.duration) && u(e.duration);
19
- }, V = () => {
20
- p(!1), n();
21
- }, F = () => p(!0), W = () => {
22
- p(!1), c(!0);
23
- }, $ = () => c(!0), O = () => c(!1), D = () => c(!1), H = () => {
24
- v("音频加载失败"), p(!1);
17
+ }, s = () => {
18
+ !isNaN(e.duration) && isFinite(e.duration) && l(e.duration);
19
+ }, m = () => {
20
+ i(!1), s();
21
+ }, R = () => i(!0), W = () => {
22
+ i(!1), n(!0);
23
+ }, $ = () => n(!0), H = () => n(!1), O = () => n(!1), D = () => {
24
+ y("音频加载失败"), i(!1);
25
25
  };
26
- return e.addEventListener("timeupdate", a), e.addEventListener("loadedmetadata", n), e.addEventListener("durationchange", n), e.addEventListener("canplay", V), e.addEventListener("waiting", F), e.addEventListener("playing", W), e.addEventListener("play", $), e.addEventListener("pause", O), e.addEventListener("ended", D), e.addEventListener("error", H), e.readyState >= 3 ? (p(!1), n()) : e.readyState >= 1 && n(), () => {
27
- e.removeEventListener("timeupdate", a), e.removeEventListener("loadedmetadata", n), e.removeEventListener("durationchange", n), e.removeEventListener("canplay", V), e.removeEventListener("waiting", F), e.removeEventListener("playing", W), e.removeEventListener("play", $), e.removeEventListener("pause", O), e.removeEventListener("ended", D), e.removeEventListener("error", H);
26
+ return e.addEventListener("timeupdate", t), e.addEventListener("loadedmetadata", s), e.addEventListener("durationchange", s), e.addEventListener("canplay", m), e.addEventListener("waiting", R), e.addEventListener("playing", W), e.addEventListener("play", $), e.addEventListener("pause", H), e.addEventListener("ended", O), e.addEventListener("error", D), e.readyState >= 3 ? (i(!1), s()) : e.readyState >= 1 && s(), () => {
27
+ e.removeEventListener("timeupdate", t), e.removeEventListener("loadedmetadata", s), e.removeEventListener("durationchange", s), e.removeEventListener("canplay", m), e.removeEventListener("waiting", R), e.removeEventListener("playing", W), e.removeEventListener("play", $), e.removeEventListener("pause", H), e.removeEventListener("ended", O), e.removeEventListener("error", D);
28
28
  };
29
- }, [l]);
30
- const G = y(() => {
29
+ }, [c]);
30
+ const V = w(() => {
31
31
  const e = o.current;
32
32
  e && (e.paused ? e.play().catch(() => {
33
33
  }) : e.pause());
34
- }, []), E = y((e) => {
35
- const a = o.current;
36
- a && (a.currentTime = e, g(e));
37
- }, []), T = y(
34
+ }, []), I = w((e) => {
35
+ const t = o.current;
36
+ t && (t.currentTime = e, g(e));
37
+ }, []), L = w(
38
38
  (e) => {
39
- const a = o.current;
40
- a && (a.currentTime = Math.max(
39
+ const t = o.current;
40
+ t && (t.currentTime = Math.max(
41
41
  0,
42
- Math.min(a.currentTime + e, a.duration || 1 / 0)
42
+ Math.min(t.currentTime + e, t.duration || 1 / 0)
43
43
  ));
44
44
  },
45
45
  []
46
- ), M = y((e) => {
47
- const a = o.current;
48
- if (!a) return;
49
- const n = Math.max(0, Math.min(1, e));
50
- a.volume = n, N(n), n > 0 && (a.muted = !1, x(!1));
51
- }, []), P = y(() => {
46
+ ), M = w((e) => {
47
+ const t = o.current;
48
+ if (!t) return;
49
+ const s = Math.max(0, Math.min(1, e));
50
+ t.volume = s, u(s), s > 0 && (t.muted = !1, b(!1));
51
+ }, []), S = w(() => {
52
52
  const e = o.current;
53
- e && (e.muted = !e.muted, x(e.muted));
54
- }, []), R = y(() => {
53
+ e && (e.muted = !e.muted, b(e.muted));
54
+ }, []), P = w(() => {
55
55
  const e = o.current;
56
56
  if (!e) return;
57
- const a = !e.loop;
58
- e.loop = a, L(a);
59
- }, []), I = y((e) => {
57
+ const t = !e.loop;
58
+ e.loop = t, v(t);
59
+ }, []), j = w((e) => {
60
60
  if (!isFinite(e) || isNaN(e) || e < 0) return "0:00";
61
- const a = Math.floor(e / 60), n = Math.floor(e % 60);
62
- return `${a}:${n.toString().padStart(2, "0")}`;
61
+ const t = Math.floor(e / 60), s = Math.floor(e % 60);
62
+ return `${t}:${s.toString().padStart(2, "0")}`;
63
63
  }, []);
64
64
  return {
65
65
  audioRef: o,
66
- isPlaying: i,
67
- isLoading: s,
68
- isLoop: b,
69
- currentTime: w,
70
- duration: f,
71
- volume: m,
72
- isMuted: k,
73
- error: C,
74
- togglePlay: G,
75
- seek: E,
76
- skip: T,
66
+ isPlaying: E,
67
+ isLoading: N,
68
+ isLoop: k,
69
+ currentTime: C,
70
+ duration: h,
71
+ volume: f,
72
+ isMuted: x,
73
+ error: T,
74
+ togglePlay: V,
75
+ seek: I,
76
+ skip: L,
77
77
  setVolume: M,
78
- toggleMute: P,
79
- toggleLoop: R,
80
- formatTime: I
78
+ toggleMute: S,
79
+ toggleLoop: P,
80
+ formatTime: j
81
81
  };
82
82
  }
83
- const ee = ({ text: l, className: o = "", style: i }) => {
84
- const c = S(null), s = S(null), [p, w] = d(!1), [g, f] = d(0);
85
- j(() => {
86
- const k = () => {
87
- const b = c.current, L = s.current;
88
- if (!b || !L) return;
89
- const C = b.clientWidth, v = L.scrollWidth;
90
- w(v > C), f(v);
83
+ const te = ({ text: c, className: o = "", style: E }) => {
84
+ const n = G(null), N = G(null), [i, C] = p(!1), [g, h] = p(0);
85
+ F(() => {
86
+ const x = () => {
87
+ const k = n.current, v = N.current;
88
+ if (!k || !v) return;
89
+ const T = k.clientWidth, y = v.scrollWidth;
90
+ C(y > T), h(y);
91
91
  };
92
- k();
93
- const x = new ResizeObserver(k);
94
- return c.current && x.observe(c.current), () => x.disconnect();
95
- }, [l]);
96
- const u = 60, m = g + u, N = m / 40;
97
- return /* @__PURE__ */ t(
92
+ x();
93
+ const b = new ResizeObserver(x);
94
+ return n.current && b.observe(n.current), () => b.disconnect();
95
+ }, [c]);
96
+ const l = 60, f = g + l, u = f / 40;
97
+ return /* @__PURE__ */ a(
98
98
  "div",
99
99
  {
100
- ref: c,
100
+ ref: n,
101
101
  className: `rfp-overflow-hidden rfp-whitespace-nowrap ${o}`,
102
- style: i,
102
+ style: E,
103
103
  children: [
104
- p ? /* @__PURE__ */ t(
105
- h.div,
104
+ i ? /* @__PURE__ */ a(
105
+ d.div,
106
106
  {
107
107
  className: "rfp-inline-flex rfp-whitespace-nowrap",
108
- animate: { x: [0, -m] },
109
- transition: { duration: N, repeat: 1 / 0, ease: "linear", repeatDelay: 1.5 },
108
+ animate: { x: [0, -f] },
109
+ transition: { duration: u, repeat: 1 / 0, ease: "linear", repeatDelay: 1.5 },
110
110
  children: [
111
- /* @__PURE__ */ r("span", { children: l }),
112
- /* @__PURE__ */ r("span", { style: { width: u }, className: "rfp-inline-block" }),
113
- /* @__PURE__ */ r("span", { children: l })
111
+ /* @__PURE__ */ r("span", { children: c }),
112
+ /* @__PURE__ */ r("span", { style: { width: l }, className: "rfp-inline-block" }),
113
+ /* @__PURE__ */ r("span", { children: c })
114
114
  ]
115
115
  }
116
116
  ) : null,
117
117
  /* @__PURE__ */ r(
118
118
  "div",
119
119
  {
120
- ref: s,
120
+ ref: N,
121
121
  className: "rfp-whitespace-nowrap",
122
- style: p ? { position: "absolute", visibility: "hidden", pointerEvents: "none" } : void 0,
123
- children: l
122
+ style: i ? { position: "absolute", visibility: "hidden", pointerEvents: "none" } : void 0,
123
+ children: c
124
124
  }
125
125
  )
126
126
  ]
127
127
  }
128
128
  );
129
- }, re = ({ isPlaying: l }) => /* @__PURE__ */ r(
130
- h.div,
129
+ }, ae = ({ isPlaying: c }) => /* @__PURE__ */ r(
130
+ d.div,
131
131
  {
132
132
  className: "rfp-absolute",
133
133
  style: {
@@ -138,9 +138,9 @@ const ee = ({ text: l, className: o = "", style: i }) => {
138
138
  transformOrigin: "76px 16px",
139
139
  zIndex: 5
140
140
  },
141
- animate: { rotate: l ? 16 : 0 },
141
+ animate: { rotate: c ? 16 : 0 },
142
142
  transition: { duration: 0.8, ease: [0.4, 0, 0.2, 1] },
143
- children: /* @__PURE__ */ t(
143
+ children: /* @__PURE__ */ a(
144
144
  "svg",
145
145
  {
146
146
  width: "100",
@@ -175,25 +175,25 @@ const ee = ({ text: l, className: o = "", style: i }) => {
175
175
  /* @__PURE__ */ r("rect", { x: "52.5", y: "92", width: "7", height: "9", rx: "1", fill: "url(#cartridgeGrad)" }),
176
176
  /* @__PURE__ */ r("line", { x1: "56", y1: "101", x2: "56", y2: "105", stroke: "#bbb", strokeWidth: "1.2", strokeLinecap: "round" }),
177
177
  /* @__PURE__ */ r("circle", { cx: "56", cy: "105.5", r: "0.8", fill: "#ddd" }),
178
- /* @__PURE__ */ t("defs", { children: [
179
- /* @__PURE__ */ t("radialGradient", { id: "baseGrad", cx: "40%", cy: "35%", children: [
178
+ /* @__PURE__ */ a("defs", { children: [
179
+ /* @__PURE__ */ a("radialGradient", { id: "baseGrad", cx: "40%", cy: "35%", children: [
180
180
  /* @__PURE__ */ r("stop", { offset: "0%", stopColor: "#555" }),
181
181
  /* @__PURE__ */ r("stop", { offset: "100%", stopColor: "#1a1a1a" })
182
182
  ] }),
183
- /* @__PURE__ */ t("radialGradient", { id: "baseInnerGrad", cx: "40%", cy: "35%", children: [
183
+ /* @__PURE__ */ a("radialGradient", { id: "baseInnerGrad", cx: "40%", cy: "35%", children: [
184
184
  /* @__PURE__ */ r("stop", { offset: "0%", stopColor: "#666" }),
185
185
  /* @__PURE__ */ r("stop", { offset: "100%", stopColor: "#333" })
186
186
  ] }),
187
- /* @__PURE__ */ t("linearGradient", { id: "armGrad", x1: "0", y1: "0", x2: "0", y2: "1", children: [
187
+ /* @__PURE__ */ a("linearGradient", { id: "armGrad", x1: "0", y1: "0", x2: "0", y2: "1", children: [
188
188
  /* @__PURE__ */ r("stop", { offset: "0%", stopColor: "#555" }),
189
189
  /* @__PURE__ */ r("stop", { offset: "50%", stopColor: "#444" }),
190
190
  /* @__PURE__ */ r("stop", { offset: "100%", stopColor: "#333" })
191
191
  ] }),
192
- /* @__PURE__ */ t("linearGradient", { id: "headGrad", x1: "0", y1: "0", x2: "0", y2: "1", children: [
192
+ /* @__PURE__ */ a("linearGradient", { id: "headGrad", x1: "0", y1: "0", x2: "0", y2: "1", children: [
193
193
  /* @__PURE__ */ r("stop", { offset: "0%", stopColor: "#555" }),
194
194
  /* @__PURE__ */ r("stop", { offset: "100%", stopColor: "#333" })
195
195
  ] }),
196
- /* @__PURE__ */ t("linearGradient", { id: "cartridgeGrad", x1: "0", y1: "0", x2: "0", y2: "1", children: [
196
+ /* @__PURE__ */ a("linearGradient", { id: "cartridgeGrad", x1: "0", y1: "0", x2: "0", y2: "1", children: [
197
197
  /* @__PURE__ */ r("stop", { offset: "0%", stopColor: "#444" }),
198
198
  /* @__PURE__ */ r("stop", { offset: "100%", stopColor: "#222" })
199
199
  ] })
@@ -202,40 +202,42 @@ const ee = ({ text: l, className: o = "", style: i }) => {
202
202
  }
203
203
  )
204
204
  }
205
- ), le = ({ url: l, fileName: o }) => {
206
- const i = Q(), {
207
- audioRef: c,
208
- isPlaying: s,
209
- isLoading: p,
210
- isLoop: w,
211
- currentTime: g,
212
- duration: f,
213
- volume: u,
214
- isMuted: m,
215
- error: N,
216
- togglePlay: k,
217
- seek: x,
218
- skip: b,
219
- setVolume: L,
220
- toggleMute: C,
221
- toggleLoop: v,
222
- formatTime: G
223
- } = Z({ url: l }), [E, T] = d(!1), M = S(null), P = S(), R = f > 0 ? g / f : 0;
224
- j(() => {
225
- const n = (V) => {
226
- M.current && !M.current.contains(V.target) && T(!1);
205
+ ), pe = A(({ url: c, fileName: o }, E) => {
206
+ const n = Z(), {
207
+ audioRef: N,
208
+ isPlaying: i,
209
+ isLoading: C,
210
+ isLoop: g,
211
+ currentTime: h,
212
+ duration: l,
213
+ volume: f,
214
+ isMuted: u,
215
+ error: x,
216
+ togglePlay: b,
217
+ seek: k,
218
+ skip: v,
219
+ setVolume: T,
220
+ toggleMute: y,
221
+ toggleLoop: V,
222
+ formatTime: I
223
+ } = re({ url: c }), [L, M] = p(!1), S = G(null), P = G(), j = l > 0 ? h / l : 0;
224
+ F(() => {
225
+ const m = (R) => {
226
+ S.current && !S.current.contains(R.target) && M(!1);
227
227
  };
228
- return E && document.addEventListener("mousedown", n), () => document.removeEventListener("mousedown", n);
229
- }, [E]);
230
- const I = () => {
231
- clearTimeout(P.current), T(!0);
232
- }, e = () => {
233
- P.current = setTimeout(() => T(!1), 300);
234
- }, a = m || u === 0 ? X : u < 0.5 ? J : K;
235
- return N ? /* @__PURE__ */ r(Y, { message: N }) : /* @__PURE__ */ t("div", { className: "rfp-flex rfp-flex-col rfp-items-center rfp-justify-center rfp-w-full rfp-h-full rfp-p-6 rfp-gap-6 rfp-select-none", children: [
236
- /* @__PURE__ */ t("div", { className: "rfp-relative", style: { width: "260px", height: "240px" }, children: [
228
+ return L && document.addEventListener("mousedown", m), () => document.removeEventListener("mousedown", m);
229
+ }, [L]);
230
+ const e = () => {
231
+ clearTimeout(P.current), M(!0);
232
+ }, t = () => {
233
+ P.current = setTimeout(() => M(!1), 300);
234
+ }, s = u || f === 0 ? K : f < 0.5 ? Q : Y;
235
+ return _(E, () => ({
236
+ getToolbarGroups: () => []
237
+ }), []), x ? /* @__PURE__ */ r(ee, { message: x }) : /* @__PURE__ */ a("div", { className: "rfp-flex rfp-flex-col rfp-items-center rfp-justify-center rfp-w-full rfp-h-full rfp-p-6 rfp-gap-6 rfp-select-none", children: [
238
+ /* @__PURE__ */ a("div", { className: "rfp-relative", style: { width: "260px", height: "240px" }, children: [
237
239
  /* @__PURE__ */ r(
238
- h.div,
240
+ d.div,
239
241
  {
240
242
  className: "rfp-absolute rfp-rounded-full",
241
243
  style: {
@@ -245,11 +247,11 @@ const ee = ({ text: l, className: o = "", style: i }) => {
245
247
  left: "8px",
246
248
  background: "radial-gradient(circle, rgba(129,140,248,0.12) 0%, transparent 70%)"
247
249
  },
248
- animate: s ? { scale: [1, 1.08, 1], opacity: [0.5, 1, 0.5] } : { scale: 1, opacity: 0.2 },
249
- transition: s ? { duration: 3, repeat: 1 / 0, ease: "easeInOut" } : { duration: 0.5 }
250
+ animate: i ? { scale: [1, 1.08, 1], opacity: [0.5, 1, 0.5] } : { scale: 1, opacity: 0.2 },
251
+ transition: i ? { duration: 3, repeat: 1 / 0, ease: "easeInOut" } : { duration: 0.5 }
250
252
  }
251
253
  ),
252
- /* @__PURE__ */ t(
254
+ /* @__PURE__ */ a(
253
255
  "div",
254
256
  {
255
257
  className: "rfp-absolute rfp-rounded-full rfp-overflow-hidden",
@@ -270,12 +272,12 @@ const ee = ({ text: l, className: o = "", style: i }) => {
270
272
  radial-gradient(circle at center, transparent 87%, rgba(50,50,50,0.3) 87.15%, transparent 87.4%),
271
273
  conic-gradient(from 0deg, #1c1c1c, #232323, #1a1a1a, #262626, #1c1c1c, #212121, #1a1a1a, #252525, #1c1c1c, #232323, #1a1a1a, #262626, #1c1c1c)
272
274
  `,
273
- boxShadow: s ? "0 0 36px rgba(129,140,248,0.1), 0 8px 32px rgba(0,0,0,0.4), inset 0 0 20px rgba(0,0,0,0.4)" : "0 8px 32px rgba(0,0,0,0.4), inset 0 0 20px rgba(0,0,0,0.4)",
275
+ boxShadow: i ? "0 0 36px rgba(129,140,248,0.1), 0 8px 32px rgba(0,0,0,0.4), inset 0 0 20px rgba(0,0,0,0.4)" : "0 8px 32px rgba(0,0,0,0.4), inset 0 0 20px rgba(0,0,0,0.4)",
274
276
  animation: "rfp-vinyl-spin 8s linear infinite",
275
- animationPlayState: s ? "running" : "paused"
277
+ animationPlayState: i ? "running" : "paused"
276
278
  },
277
279
  children: [
278
- /* @__PURE__ */ t(
280
+ /* @__PURE__ */ a(
279
281
  "div",
280
282
  {
281
283
  className: "rfp-absolute rfp-rounded-full",
@@ -319,8 +321,8 @@ const ee = ({ text: l, className: o = "", style: i }) => {
319
321
  ]
320
322
  }
321
323
  ),
322
- p && /* @__PURE__ */ r(
323
- h.div,
324
+ C && /* @__PURE__ */ r(
325
+ d.div,
324
326
  {
325
327
  className: "rfp-absolute rfp-inset-0 rfp-rounded-full",
326
328
  style: { border: "2px solid rgba(129,140,248,0.3)" },
@@ -331,11 +333,11 @@ const ee = ({ text: l, className: o = "", style: i }) => {
331
333
  ]
332
334
  }
333
335
  ),
334
- /* @__PURE__ */ r(re, { isPlaying: s })
336
+ /* @__PURE__ */ r(ae, { isPlaying: i })
335
337
  ] }),
336
- /* @__PURE__ */ t("div", { className: "rfp-text-center rfp-max-w-md rfp-px-4", children: [
338
+ /* @__PURE__ */ a("div", { className: "rfp-text-center rfp-max-w-md rfp-px-4", children: [
337
339
  /* @__PURE__ */ r(
338
- ee,
340
+ te,
339
341
  {
340
342
  text: o,
341
343
  className: "rfp-text-lg rfp-font-medium rfp-mb-1 rfp-text-fg-primary"
@@ -343,23 +345,23 @@ const ee = ({ text: l, className: o = "", style: i }) => {
343
345
  ),
344
346
  /* @__PURE__ */ r("p", { className: "rfp-text-xs rfp-tracking-widest rfp-uppercase rfp-text-accent", children: "Audio" })
345
347
  ] }),
346
- /* @__PURE__ */ t(
348
+ /* @__PURE__ */ a(
347
349
  "div",
348
350
  {
349
351
  className: "rfp-w-full rfp-max-w-md rfp-rounded-2xl rfp-p-5 rfp-border rfp-bg-surface-1 rfp-border-line-weak",
350
352
  style: { backdropFilter: "blur(16px)" },
351
353
  children: [
352
- /* @__PURE__ */ t("div", { className: "rfp-mb-5", children: [
353
- /* @__PURE__ */ t("div", { className: "rfp-relative rfp-h-4 rfp-flex rfp-items-center", children: [
354
+ /* @__PURE__ */ a("div", { className: "rfp-mb-5", children: [
355
+ /* @__PURE__ */ a("div", { className: "rfp-relative rfp-h-4 rfp-flex rfp-items-center", children: [
354
356
  /* @__PURE__ */ r("div", { className: "rfp-absolute rfp-w-full rfp-h-[5px] rfp-rounded-full rfp-bg-surface-2" }),
355
357
  /* @__PURE__ */ r(
356
358
  "div",
357
359
  {
358
360
  className: "rfp-absolute rfp-h-[5px] rfp-rounded-full rfp-pointer-events-none",
359
361
  style: {
360
- width: `${R * 100}%`,
362
+ width: `${j * 100}%`,
361
363
  background: "linear-gradient(90deg, var(--fp-accent), var(--fp-accent-hover))",
362
- boxShadow: s ? "0 0 8px rgba(129,140,248,0.4)" : "none",
364
+ boxShadow: i ? "0 0 8px rgba(129,140,248,0.4)" : "none",
363
365
  transition: "width 0.1s linear"
364
366
  }
365
367
  }
@@ -369,92 +371,92 @@ const ee = ({ text: l, className: o = "", style: i }) => {
369
371
  {
370
372
  type: "range",
371
373
  min: "0",
372
- max: f > 0 ? f : g || 100,
374
+ max: l > 0 ? l : h || 100,
373
375
  step: "any",
374
- value: g,
375
- onChange: (n) => x(parseFloat(n.target.value)),
376
- disabled: f <= 0,
377
- "aria-label": i("audio.aria.progress"),
376
+ value: h,
377
+ onChange: (m) => k(parseFloat(m.target.value)),
378
+ disabled: l <= 0,
379
+ "aria-label": n("audio.aria.progress"),
378
380
  className: "audio-slider rfp-absolute rfp-w-full"
379
381
  }
380
382
  )
381
383
  ] }),
382
- /* @__PURE__ */ t("div", { className: "rfp-flex rfp-justify-between rfp-text-xs rfp-mt-2.5 rfp-text-fg-tertiary", children: [
383
- /* @__PURE__ */ r("span", { style: { fontVariantNumeric: "tabular-nums" }, children: G(g) }),
384
- /* @__PURE__ */ r("span", { style: { fontVariantNumeric: "tabular-nums" }, children: f > 0 ? G(f) : "--:--" })
384
+ /* @__PURE__ */ a("div", { className: "rfp-flex rfp-justify-between rfp-text-xs rfp-mt-2.5 rfp-text-fg-tertiary", children: [
385
+ /* @__PURE__ */ r("span", { style: { fontVariantNumeric: "tabular-nums" }, children: I(h) }),
386
+ /* @__PURE__ */ r("span", { style: { fontVariantNumeric: "tabular-nums" }, children: l > 0 ? I(l) : "--:--" })
385
387
  ] })
386
388
  ] }),
387
- /* @__PURE__ */ t("div", { className: "rfp-flex rfp-items-center rfp-justify-center rfp-gap-3", children: [
389
+ /* @__PURE__ */ a("div", { className: "rfp-flex rfp-items-center rfp-justify-center rfp-gap-3", children: [
388
390
  /* @__PURE__ */ r(
389
- h.button,
391
+ d.button,
390
392
  {
391
- onClick: v,
393
+ onClick: V,
392
394
  whileHover: { scale: 1.1 },
393
395
  whileTap: { scale: 0.92 },
394
- "aria-label": i(w ? "audio.aria.loop_off" : "audio.aria.loop_on"),
395
- className: `rfp-w-9 rfp-h-9 rfp-rounded-full rfp-flex rfp-items-center rfp-justify-center rfp-transition-colors ${w ? "rfp-bg-accent-soft rfp-text-accent" : "rfp-bg-surface-2 rfp-text-fg-tertiary"}`,
396
- children: /* @__PURE__ */ r(_, { className: "rfp-w-4 rfp-h-4" })
396
+ "aria-label": n(g ? "audio.aria.loop_off" : "audio.aria.loop_on"),
397
+ className: `rfp-w-9 rfp-h-9 rfp-rounded-full rfp-flex rfp-items-center rfp-justify-center rfp-transition-colors ${g ? "rfp-bg-accent-soft rfp-text-accent" : "rfp-bg-surface-2 rfp-text-fg-tertiary"}`,
398
+ children: /* @__PURE__ */ r(B, { className: "rfp-w-4 rfp-h-4" })
397
399
  }
398
400
  ),
399
401
  /* @__PURE__ */ r(
400
- h.button,
402
+ d.button,
401
403
  {
402
- onClick: () => b(-10),
404
+ onClick: () => v(-10),
403
405
  whileHover: { scale: 1.1 },
404
406
  whileTap: { scale: 0.92 },
405
- "aria-label": i("audio.aria.backward_10"),
407
+ "aria-label": n("audio.aria.backward_10"),
406
408
  className: "rfp-w-10 rfp-h-10 rfp-rounded-full rfp-flex rfp-items-center rfp-justify-center rfp-transition-colors rfp-bg-surface-2 rfp-text-fg-secondary",
407
- children: /* @__PURE__ */ r(z, { className: "rfp-w-[18px] rfp-h-[18px]" })
409
+ children: /* @__PURE__ */ r(q, { className: "rfp-w-[18px] rfp-h-[18px]" })
408
410
  }
409
411
  ),
410
412
  /* @__PURE__ */ r(
411
- h.button,
413
+ d.button,
412
414
  {
413
- onClick: k,
415
+ onClick: b,
414
416
  whileHover: { scale: 1.06 },
415
417
  whileTap: { scale: 0.94 },
416
- "aria-label": i(s ? "audio.aria.pause" : "audio.aria.play"),
418
+ "aria-label": n(i ? "audio.aria.pause" : "audio.aria.play"),
417
419
  className: "rfp-w-14 rfp-h-14 rfp-rounded-full rfp-flex rfp-items-center rfp-justify-center",
418
420
  style: {
419
421
  background: "linear-gradient(135deg, var(--fp-accent-hover), var(--fp-accent))",
420
422
  color: "#fff",
421
423
  boxShadow: "0 4px 20px rgba(99,102,241,0.35)"
422
424
  },
423
- children: s ? /* @__PURE__ */ r(B, { className: "rfp-w-6 rfp-h-6" }) : /* @__PURE__ */ r(q, { className: "rfp-w-6 rfp-h-6 rfp-ml-0.5" })
425
+ children: i ? /* @__PURE__ */ r(U, { className: "rfp-w-6 rfp-h-6" }) : /* @__PURE__ */ r(X, { className: "rfp-w-6 rfp-h-6 rfp-ml-0.5" })
424
426
  }
425
427
  ),
426
428
  /* @__PURE__ */ r(
427
- h.button,
429
+ d.button,
428
430
  {
429
- onClick: () => b(10),
431
+ onClick: () => v(10),
430
432
  whileHover: { scale: 1.1 },
431
433
  whileTap: { scale: 0.92 },
432
- "aria-label": i("audio.aria.forward_10"),
434
+ "aria-label": n("audio.aria.forward_10"),
433
435
  className: "rfp-w-10 rfp-h-10 rfp-rounded-full rfp-flex rfp-items-center rfp-justify-center rfp-transition-colors rfp-bg-surface-2 rfp-text-fg-secondary",
434
- children: /* @__PURE__ */ r(U, { className: "rfp-w-[18px] rfp-h-[18px]" })
436
+ children: /* @__PURE__ */ r(J, { className: "rfp-w-[18px] rfp-h-[18px]" })
435
437
  }
436
438
  ),
437
- /* @__PURE__ */ t(
439
+ /* @__PURE__ */ a(
438
440
  "div",
439
441
  {
440
- ref: M,
442
+ ref: S,
441
443
  className: "rfp-relative",
442
- onMouseEnter: I,
443
- onMouseLeave: e,
444
+ onMouseEnter: e,
445
+ onMouseLeave: t,
444
446
  children: [
445
447
  /* @__PURE__ */ r(
446
- h.button,
448
+ d.button,
447
449
  {
448
- onClick: C,
450
+ onClick: y,
449
451
  whileHover: { scale: 1.1 },
450
452
  whileTap: { scale: 0.92 },
451
- "aria-label": i(m ? "audio.aria.unmute" : "audio.aria.mute"),
452
- className: `rfp-w-9 rfp-h-9 rfp-rounded-full rfp-flex rfp-items-center rfp-justify-center rfp-transition-colors ${E ? "rfp-bg-accent-soft rfp-text-accent" : "rfp-bg-surface-2 rfp-text-fg-secondary"}`,
453
- children: /* @__PURE__ */ r(a, { className: "rfp-w-4 rfp-h-4" })
453
+ "aria-label": n(u ? "audio.aria.unmute" : "audio.aria.mute"),
454
+ className: `rfp-w-9 rfp-h-9 rfp-rounded-full rfp-flex rfp-items-center rfp-justify-center rfp-transition-colors ${L ? "rfp-bg-accent-soft rfp-text-accent" : "rfp-bg-surface-2 rfp-text-fg-secondary"}`,
455
+ children: /* @__PURE__ */ r(s, { className: "rfp-w-4 rfp-h-4" })
454
456
  }
455
457
  ),
456
- /* @__PURE__ */ r(A, { children: E && /* @__PURE__ */ r(
457
- h.div,
458
+ /* @__PURE__ */ r(z, { children: L && /* @__PURE__ */ r(
459
+ d.div,
458
460
  {
459
461
  initial: { opacity: 0, scale: 0.95 },
460
462
  animate: { opacity: 1, scale: 1 },
@@ -466,10 +468,10 @@ const ee = ({ text: l, className: o = "", style: i }) => {
466
468
  marginLeft: "-27px",
467
469
  backdropFilter: "blur(16px)"
468
470
  },
469
- onMouseEnter: I,
470
- onMouseLeave: e,
471
- children: /* @__PURE__ */ t("div", { className: "rfp-flex rfp-flex-col rfp-items-center rfp-gap-2", style: { height: "100px" }, children: [
472
- /* @__PURE__ */ t("div", { className: "rfp-relative rfp-flex rfp-items-center rfp-justify-center", style: { width: "24px", height: "80px" }, children: [
471
+ onMouseEnter: e,
472
+ onMouseLeave: t,
473
+ children: /* @__PURE__ */ a("div", { className: "rfp-flex rfp-flex-col rfp-items-center rfp-gap-2", style: { height: "100px" }, children: [
474
+ /* @__PURE__ */ a("div", { className: "rfp-relative rfp-flex rfp-items-center rfp-justify-center", style: { width: "24px", height: "80px" }, children: [
473
475
  /* @__PURE__ */ r(
474
476
  "div",
475
477
  {
@@ -483,7 +485,7 @@ const ee = ({ text: l, className: o = "", style: i }) => {
483
485
  className: "rfp-absolute rfp-bottom-0 rfp-rounded-full rfp-pointer-events-none",
484
486
  style: {
485
487
  width: "3px",
486
- height: `${(m ? 0 : u) * 100}%`,
488
+ height: `${(u ? 0 : f) * 100}%`,
487
489
  background: "var(--fp-accent-hover)",
488
490
  transition: "height 0.1s linear"
489
491
  }
@@ -496,9 +498,9 @@ const ee = ({ text: l, className: o = "", style: i }) => {
496
498
  min: "0",
497
499
  max: "1",
498
500
  step: "0.01",
499
- value: m ? 0 : u,
500
- onChange: (n) => L(parseFloat(n.target.value)),
501
- "aria-label": i("audio.aria.volume"),
501
+ value: u ? 0 : f,
502
+ onChange: (m) => T(parseFloat(m.target.value)),
503
+ "aria-label": n("audio.aria.volume"),
502
504
  className: "volume-slider-vertical rfp-absolute",
503
505
  style: {
504
506
  width: "80px",
@@ -509,7 +511,7 @@ const ee = ({ text: l, className: o = "", style: i }) => {
509
511
  }
510
512
  )
511
513
  ] }),
512
- /* @__PURE__ */ r("span", { className: "rfp-text-[10px] rfp-tabular-nums rfp-text-fg-tertiary", children: Math.round((m ? 0 : u) * 100) })
514
+ /* @__PURE__ */ r("span", { className: "rfp-text-[10px] rfp-tabular-nums rfp-text-fg-tertiary", children: Math.round((u ? 0 : f) * 100) })
513
515
  ] })
514
516
  }
515
517
  ) })
@@ -520,10 +522,10 @@ const ee = ({ text: l, className: o = "", style: i }) => {
520
522
  ]
521
523
  }
522
524
  ),
523
- /* @__PURE__ */ r("audio", { ref: c, src: l, className: "rfp-hidden" })
525
+ /* @__PURE__ */ r("audio", { ref: N, src: c, className: "rfp-hidden" })
524
526
  ] });
525
- };
527
+ });
526
528
  export {
527
- le as AudioRenderer
529
+ pe as AudioRenderer
528
530
  };
529
- //# sourceMappingURL=index-10O8tfTH.mjs.map
531
+ //# sourceMappingURL=index-DoGKcq9y.mjs.map