ecplayer 1.0.2 → 1.0.3

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.
@@ -8,11 +8,11 @@ import { forwardRef as Oe, createElement as Ie, useState as f, useRef as y, useE
8
8
  */
9
9
  const We = (i) => i.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Qe = (i) => i.replace(
10
10
  /^([A-Z])|[\s-_]+(\w)/g,
11
- (c, g, h) => h ? h.toUpperCase() : g.toLowerCase()
11
+ (c, g, p) => p ? p.toUpperCase() : g.toLowerCase()
12
12
  ), _e = (i) => {
13
13
  const c = Qe(i);
14
14
  return c.charAt(0).toUpperCase() + c.slice(1);
15
- }, Ve = (...i) => i.filter((c, g, h) => !!c && c.trim() !== "" && h.indexOf(c) === g).join(" ").trim(), Ge = (i) => {
15
+ }, Ve = (...i) => i.filter((c, g, p) => !!c && c.trim() !== "" && p.indexOf(c) === g).join(" ").trim(), Ge = (i) => {
16
16
  for (const c in i)
17
17
  if (c.startsWith("aria-") || c === "role" || c === "title")
18
18
  return !0;
@@ -45,7 +45,7 @@ const Xe = Oe(
45
45
  color: i = "currentColor",
46
46
  size: c = 24,
47
47
  strokeWidth: g = 2,
48
- absoluteStrokeWidth: h,
48
+ absoluteStrokeWidth: p,
49
49
  className: q = "",
50
50
  children: m,
51
51
  iconNode: x,
@@ -58,7 +58,7 @@ const Xe = Oe(
58
58
  width: c,
59
59
  height: c,
60
60
  stroke: i,
61
- strokeWidth: h ? Number(g) * 24 / Number(c) : g,
61
+ strokeWidth: p ? Number(g) * 24 / Number(c) : g,
62
62
  className: Ve("lucide", q),
63
63
  ...!m && !Ge(v) && { "aria-hidden": "true" },
64
64
  ...v
@@ -77,13 +77,13 @@ const Xe = Oe(
77
77
  */
78
78
  const ce = (i, c) => {
79
79
  const g = Oe(
80
- ({ className: h, ...q }, m) => Ie(Xe, {
80
+ ({ className: p, ...q }, m) => Ie(Xe, {
81
81
  ref: m,
82
82
  iconNode: c,
83
83
  className: Ve(
84
84
  `lucide-${We(_e(i))}`,
85
85
  `lucide-${i}`,
86
- h
86
+ p
87
87
  ),
88
88
  ...q
89
89
  })
@@ -322,7 +322,7 @@ const dt = [
322
322
  }
323
323
  };
324
324
  function ut({ theme: i, setTheme: c, close: g }) {
325
- const h = Object.keys(be).map((q) => ({
325
+ const p = Object.keys(be).map((q) => ({
326
326
  key: q,
327
327
  name: be[q].name,
328
328
  colors: be[q].bars
@@ -339,7 +339,7 @@ function ut({ theme: i, setTheme: c, close: g }) {
339
339
  }
340
340
  )
341
341
  ] }),
342
- /* @__PURE__ */ e("div", { className: "theme-selector grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3", children: h.map((q) => /* @__PURE__ */ r(
342
+ /* @__PURE__ */ e("div", { className: "theme-selector grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3", children: p.map((q) => /* @__PURE__ */ r(
343
343
  "div",
344
344
  {
345
345
  className: `theme-card bg-white p-4 rounded-lg cursor-pointer border-2 transition-all ${i === q.key ? "border-current shadow-lg" : "border-transparent"}`,
@@ -357,7 +357,7 @@ function gt({
357
357
  audio: i,
358
358
  name: c = "No track loaded",
359
359
  author: g,
360
- theme: h = "rainbow",
360
+ theme: p = "rainbow",
361
361
  volume: q = 100,
362
362
  thumbnail: m = null,
363
363
  controls: x = {
@@ -396,19 +396,19 @@ function gt({
396
396
  return n.observe(t), () => n.disconnect();
397
397
  }, []), C(() => {
398
398
  const t = [];
399
- if (i && typeof i != "string" && t.push(["TypeError", "audio must be a string (URL or path)"]), c && typeof c != "string" && t.push(["TypeError", "name must be a string"]), h && typeof h != "string" && typeof h != "object")
399
+ if (i && typeof i != "string" && t.push(["TypeError", "audio must be a string (URL or path)"]), c && typeof c != "string" && t.push(["TypeError", "name must be a string"]), p && typeof p != "string" && typeof p != "object")
400
400
  t.push(["TypeError", "theme must be a string or a valid theme object"]);
401
- else if (typeof h == "object") {
401
+ else if (typeof p == "object") {
402
402
  const n = ["name", "bg", "bars", "peak", "button", "buttonHover", "slider"];
403
403
  for (const s of n)
404
- s in h || t.push(["ThemeError", `theme object missing key: ${s}`]);
404
+ s in p || t.push(["ThemeError", `theme object missing key: ${s}`]);
405
405
  }
406
406
  (typeof q != "number" || q < 0 || q > 100) && t.push(["TypeError", "volume must be a number between 0 and 100"]), typeof x != "object" || Array.isArray(x) ? t.push(["TypeError", "controls must be an object"]) : ["play", "pause", "stop", "seekbar", "volume", "loop", "trackName", "equalizer"].forEach((s) => {
407
407
  x && s in x && typeof x[s] != "boolean" && t.push(["TypeError", `controls.${s} must be a boolean`]);
408
408
  }), P && (Array.isArray(P) ? P.length === 0 ? t.push(["ValueError", "bands array cannot be empty"]) : P.forEach((n, s) => {
409
409
  typeof n.freq != "number" && t.push(["TypeError", `bands[${s}].freq must be a number`]);
410
410
  }) : t.push(["TypeError", "bands must be an array"])), t.length > 0 ? (de(t), console.group("%cVisualizePlayer: Prop validation failed", "color:red"), t.forEach((n) => console.error(`${n[0]}: ${n[1]}`)), console.groupEnd()) : de([]);
411
- }, [i, c, h, q, x, v, P]);
411
+ }, [i, c, p, q, x, v, P]);
412
412
  const a = P || [
413
413
  { freq: 0 },
414
414
  { freq: 10 },
@@ -441,12 +441,12 @@ function gt({
441
441
  { freq: 8e3 },
442
442
  { freq: 1e4 },
443
443
  { freq: 12500 }
444
- ], d = y(a.map(() => 0)), b = y(a.map(() => 0)), B = y(a.map(() => 0)), D = y(!1), J = y(typeof h == "string" ? h : "purple");
445
- let o = typeof h == "string" ? be[h] || be.purple : typeof h == "object" ? h : be.purple;
446
- const p = v === "dark", ge = typeof x == "object" && Object.keys(x).length === 0;
444
+ ], d = y(a.map(() => 0)), b = y(a.map(() => 0)), B = y(a.map(() => 0)), D = y(!1), J = y(typeof p == "string" ? p : "purple");
445
+ let o = typeof p == "string" ? be[p] || be.purple : typeof p == "object" ? p : be.purple;
446
+ const h = v === "dark", ge = typeof x == "object" && Object.keys(x).length === 0;
447
447
  C(() => {
448
- typeof h == "string" ? J.current = h : J.current = "purple", he();
449
- }, [h]), C(() => {
448
+ typeof p == "string" ? J.current = p : J.current = "purple", pe();
449
+ }, [p]), C(() => {
450
450
  u.current || (u.current = new Audio());
451
451
  const t = u.current, n = () => {
452
452
  se || z(t.currentTime);
@@ -517,7 +517,7 @@ function gt({
517
517
  }, ne = () => {
518
518
  Q || (_(!1), $.current && cancelAnimationFrame($.current));
519
519
  }, xe = () => _(!0), Ce = () => _(!1);
520
- l.addEventListener("timeupdate", w), l.addEventListener("loadedmetadata", L), l.addEventListener("ended", ne), l.addEventListener("play", xe), l.addEventListener("pause", Ce), z(0), _(!1), console.debug("Audio element created", { src: u.current.src, volume: u.current.volume, loop: u.current.loop }), d.current = a.map(() => 0), b.current = a.map(() => 0), B.current = a.map(() => 0), he(), t && u.current.play().catch((W) => console.error("Play failed:", W));
520
+ l.addEventListener("timeupdate", w), l.addEventListener("loadedmetadata", L), l.addEventListener("ended", ne), l.addEventListener("play", xe), l.addEventListener("pause", Ce), z(0), _(!1), console.debug("Audio element created", { src: u.current.src, volume: u.current.volume, loop: u.current.loop }), d.current = a.map(() => 0), b.current = a.map(() => 0), B.current = a.map(() => 0), pe(), t && u.current.play().catch((W) => console.error("Play failed:", W));
521
521
  }
522
522
  }, [i]), C(() => {
523
523
  u.current && (u.current.volume = ae ? 0 : E / 100);
@@ -528,7 +528,7 @@ function gt({
528
528
  }, [ue]), C(() => {
529
529
  A.current && (V.current && (V.current.gain.value = j.bass), te.current && (te.current.gain.value = j.mid), Z.current && (Z.current.gain.value = j.treble));
530
530
  }, [j]), C(() => {
531
- D.current = M, $.current && (cancelAnimationFrame($.current), $.current = null), M ? (A.current || qe(), ke()) : pe();
531
+ D.current = M, $.current && (cancelAnimationFrame($.current), $.current = null), M ? (A.current || qe(), ke()) : he();
532
532
  }, [M]);
533
533
  const qe = () => {
534
534
  if (!A.current && u.current)
@@ -556,13 +556,13 @@ function gt({
556
556
  if (!n || !s) return 0;
557
557
  const l = n.sampleRate / 2, w = Math.round(t / l * s.frequencyBinCount);
558
558
  return Math.min(w, s.frequencyBinCount - 1);
559
- }, pe = () => {
559
+ }, he = () => {
560
560
  if (D.current) return;
561
561
  d.current = d.current.map((l) => l * 0.7);
562
562
  const t = Date.now();
563
- b.current = b.current.map((l, w) => t - B.current[w] > 1500 ? l * 0.95 : l), he();
563
+ b.current = b.current.map((l, w) => t - B.current[w] > 1500 ? l * 0.95 : l), pe();
564
564
  const n = Math.max(...d.current), s = Math.max(...b.current);
565
- n > 0.01 || s > 0.01 ? $.current = requestAnimationFrame(pe) : (D.current || (d.current = a.map(() => 0), b.current = a.map(() => 0), B.current = a.map(() => 0), he()), $.current && cancelAnimationFrame($.current), $.current = null);
565
+ n > 0.01 || s > 0.01 ? $.current = requestAnimationFrame(he) : (D.current || (d.current = a.map(() => 0), b.current = a.map(() => 0), B.current = a.map(() => 0), pe()), $.current && cancelAnimationFrame($.current), $.current = null);
566
566
  }, ke = () => {
567
567
  if (!X.current || !D.current) return;
568
568
  const t = X.current.frequencyBinCount, n = new Uint8Array(t);
@@ -575,8 +575,8 @@ function gt({
575
575
  Ce = Math.pow(Ce, 0.6), d.current[l] = d.current[l] * 0.8 + Ce * 0.2;
576
576
  const W = Date.now();
577
577
  d.current[l] > b.current[l] ? (b.current[l] = d.current[l], B.current[l] = W) : W - B.current[l] > 1500 && (b.current[l] *= 0.95);
578
- }), he(), $.current = requestAnimationFrame(ke);
579
- }, he = () => {
578
+ }), pe(), $.current = requestAnimationFrame(ke);
579
+ }, pe = () => {
580
580
  if (!re.current) return;
581
581
  const t = be[J.current] || be.rainbow;
582
582
  let n = "";
@@ -593,7 +593,7 @@ function gt({
593
593
  }, Ee = () => {
594
594
  !u.current || !i || (M ? u.current.pause() : (A.current && A.current.state === "suspended" && A.current.resume(), u.current.play().catch((t) => console.error("Play failed:", t))));
595
595
  }, Te = () => {
596
- u.current && (u.current.pause(), u.current.currentTime = 0, _(!1), z(0), d.current = a.map(() => 0), b.current = a.map(() => 0), B.current = a.map(() => 0), he());
596
+ u.current && (u.current.pause(), u.current.currentTime = 0, _(!1), z(0), d.current = a.map(() => 0), b.current = a.map(() => 0), B.current = a.map(() => 0), pe());
597
597
  }, Le = (t) => {
598
598
  const s = parseFloat(t.target.value) / 100 * S;
599
599
  z(s), u.current && !se && (u.current.currentTime = s);
@@ -633,22 +633,22 @@ function gt({
633
633
  ] }),
634
634
  " ",
635
635
  t[1]
636
- ] }, n)) : /* @__PURE__ */ e("div", { ref: Y, className: "w-full rounded-xl overflow-hidden", style: { backgroundColor: ge || T ? void 0 : p ? "#6060606a" : "#ffffffab" }, children: /* @__PURE__ */ r("div", { style: { background: ge || T ? void 0 : o.bg }, className: ge || T ? "" : "p-4", children: [
636
+ ] }, n)) : /* @__PURE__ */ e("div", { ref: Y, className: "w-full rounded-xl overflow-hidden", style: { backgroundColor: ge || T ? void 0 : h ? "#6060606a" : "#ffffffab" }, children: /* @__PURE__ */ r("div", { style: { background: ge || T ? void 0 : o.bg }, className: ge || T ? "" : "p-4", children: [
637
637
  /* @__PURE__ */ r("div", { className: "relative", children: [
638
- /* @__PURE__ */ e("div", { className: `${T && R ? "opacity-30" : ""} ${ge || T ? "" : p ? "bg-black/40" : "bg-white/70"} rounded-lg ${ge ? "" : "mb-6"} ${ge || T ? "" : "p-4"} shadow-sm`, children: /* @__PURE__ */ e("div", { className: "flex justify-center items-end gap-1 h-64", ref: re }) }),
639
- R && /* @__PURE__ */ r("div", { className: `absolute inset-0 flex flex-col w-full justify-center z-10 ${!(ge || T) && (p ? "bg-black/50" : "bg-white/80")} rounded-lg p-4 shadow-sm transition-all duration-300`, children: [
640
- /* @__PURE__ */ e("h3", { className: `text-sm font-medium mb-4 ${p ? "text-gray-200" : "text-gray-700"}`, children: "Equalizer" }),
638
+ /* @__PURE__ */ e("div", { className: `${T && R ? "opacity-30" : ""} ${ge || T ? "" : h ? "bg-black/40" : "bg-white/70"} rounded-lg ${ge ? "" : "mb-6"} ${ge || T ? "" : "p-4"} shadow-sm`, children: /* @__PURE__ */ e("div", { className: "flex justify-center items-end gap-1 h-64", ref: re }) }),
639
+ R && /* @__PURE__ */ r("div", { className: `absolute inset-0 flex flex-col w-full justify-center z-10 ${!(ge || T) && (h ? "bg-black/50" : "bg-white/80")} rounded-lg p-4 shadow-sm transition-all duration-300`, children: [
640
+ /* @__PURE__ */ e("h3", { className: `text-sm font-medium mb-4 ${h ? "text-gray-200" : "text-gray-700"}`, children: "Equalizer" }),
641
641
  /* @__PURE__ */ r("div", { className: "space-y-4", children: [
642
642
  /* @__PURE__ */ r("div", { children: [
643
643
  /* @__PURE__ */ r("div", { className: "flex justify-between mb-1", children: [
644
- /* @__PURE__ */ e("span", { className: `text-xs ${p ? "text-gray-300" : "text-gray-600"}`, children: "Bass" }),
645
- /* @__PURE__ */ r("span", { className: `text-xs ${p ? "text-gray-300" : "text-gray-600"}`, children: [
644
+ /* @__PURE__ */ e("span", { className: `text-xs ${h ? "text-gray-300" : "text-gray-600"}`, children: "Bass" }),
645
+ /* @__PURE__ */ r("span", { className: `text-xs ${h ? "text-gray-300" : "text-gray-600"}`, children: [
646
646
  j.bass,
647
647
  " dB"
648
648
  ] })
649
649
  ] }),
650
650
  /* @__PURE__ */ r("div", { className: "flex items-center gap-3", children: [
651
- /* @__PURE__ */ e("span", { className: `text-xs ${p ? "text-gray-400" : "text-gray-500"}`, children: "-20" }),
651
+ /* @__PURE__ */ e("span", { className: `text-xs ${h ? "text-gray-400" : "text-gray-500"}`, children: "-20" }),
652
652
  /* @__PURE__ */ e(
653
653
  "input",
654
654
  {
@@ -663,19 +663,19 @@ function gt({
663
663
  }
664
664
  }
665
665
  ),
666
- /* @__PURE__ */ e("span", { className: `text-xs ${p ? "text-gray-400" : "text-gray-500"}`, children: "+20" })
666
+ /* @__PURE__ */ e("span", { className: `text-xs ${h ? "text-gray-400" : "text-gray-500"}`, children: "+20" })
667
667
  ] })
668
668
  ] }),
669
669
  /* @__PURE__ */ r("div", { children: [
670
670
  /* @__PURE__ */ r("div", { className: "flex justify-between mb-1", children: [
671
- /* @__PURE__ */ e("span", { className: `text-xs ${p ? "text-gray-300" : "text-gray-600"}`, children: "Mid" }),
672
- /* @__PURE__ */ r("span", { className: `text-xs ${p ? "text-gray-300" : "text-gray-600"}`, children: [
671
+ /* @__PURE__ */ e("span", { className: `text-xs ${h ? "text-gray-300" : "text-gray-600"}`, children: "Mid" }),
672
+ /* @__PURE__ */ r("span", { className: `text-xs ${h ? "text-gray-300" : "text-gray-600"}`, children: [
673
673
  j.mid,
674
674
  " dB"
675
675
  ] })
676
676
  ] }),
677
677
  /* @__PURE__ */ r("div", { className: "flex items-center gap-3", children: [
678
- /* @__PURE__ */ e("span", { className: `text-xs ${p ? "text-gray-400" : "text-gray-500"}`, children: "-20" }),
678
+ /* @__PURE__ */ e("span", { className: `text-xs ${h ? "text-gray-400" : "text-gray-500"}`, children: "-20" }),
679
679
  /* @__PURE__ */ e(
680
680
  "input",
681
681
  {
@@ -690,19 +690,19 @@ function gt({
690
690
  }
691
691
  }
692
692
  ),
693
- /* @__PURE__ */ e("span", { className: `text-xs ${p ? "text-gray-400" : "text-gray-500"}`, children: "+20" })
693
+ /* @__PURE__ */ e("span", { className: `text-xs ${h ? "text-gray-400" : "text-gray-500"}`, children: "+20" })
694
694
  ] })
695
695
  ] }),
696
696
  /* @__PURE__ */ r("div", { children: [
697
697
  /* @__PURE__ */ r("div", { className: "flex justify-between mb-1", children: [
698
- /* @__PURE__ */ e("span", { className: `text-xs ${p ? "text-gray-300" : "text-gray-600"}`, children: "Treble" }),
699
- /* @__PURE__ */ r("span", { className: `text-xs ${p ? "text-gray-300" : "text-gray-600"}`, children: [
698
+ /* @__PURE__ */ e("span", { className: `text-xs ${h ? "text-gray-300" : "text-gray-600"}`, children: "Treble" }),
699
+ /* @__PURE__ */ r("span", { className: `text-xs ${h ? "text-gray-300" : "text-gray-600"}`, children: [
700
700
  j.treble,
701
701
  " dB"
702
702
  ] })
703
703
  ] }),
704
704
  /* @__PURE__ */ r("div", { className: "flex items-center gap-3", children: [
705
- /* @__PURE__ */ e("span", { className: `text-xs ${p ? "text-gray-400" : "text-gray-500"}`, children: "-20" }),
705
+ /* @__PURE__ */ e("span", { className: `text-xs ${h ? "text-gray-400" : "text-gray-500"}`, children: "-20" }),
706
706
  /* @__PURE__ */ e(
707
707
  "input",
708
708
  {
@@ -717,7 +717,7 @@ function gt({
717
717
  }
718
718
  }
719
719
  ),
720
- /* @__PURE__ */ e("span", { className: `text-xs ${p ? "text-gray-400" : "text-gray-500"}`, children: "+20" })
720
+ /* @__PURE__ */ e("span", { className: `text-xs ${h ? "text-gray-400" : "text-gray-500"}`, children: "+20" })
721
721
  ] })
722
722
  ] })
723
723
  ] }),
@@ -725,21 +725,21 @@ function gt({
725
725
  "button",
726
726
  {
727
727
  onClick: ye,
728
- className: `px-3 py-1 rounded text-xs ${p ? "bg-gray-700 text-gray-200 hover:bg-gray-600" : "bg-gray-200 text-gray-700 hover:bg-gray-300"} transition-all`,
728
+ className: `px-3 py-1 rounded text-xs ${h ? "bg-gray-700 text-gray-200 hover:bg-gray-600" : "bg-gray-200 text-gray-700 hover:bg-gray-300"} transition-all`,
729
729
  children: "Reset"
730
730
  }
731
731
  ) })
732
732
  ] })
733
733
  ] }),
734
734
  x.trackName && /* @__PURE__ */ r("div", { className: "mb-6 flex items-center", children: [
735
- m && /* @__PURE__ */ e("div", { className: "mr-2", children: /* @__PURE__ */ e("img", { src: m, alt: "", className: `${M ? "animation-spin" : ""} h-12 w-12 rounded-full` }) }),
736
- /* @__PURE__ */ r("div", { children: [
737
- /* @__PURE__ */ e("div", { className: `${p ? "text-gray-100" : "text-gray-700"} font-medium truncate`, children: c }),
738
- g && typeof g == "string" && /* @__PURE__ */ e("div", { className: `${p ? "text-gray-300" : "text-gray-500"} text-xs`, children: g })
735
+ m && /* @__PURE__ */ e("div", { className: "mr-2 w-12 flex-shrink-0", children: /* @__PURE__ */ e("img", { src: m, alt: "", className: `${M ? "animation-spin" : ""} h-12 w-12 rounded-full` }) }),
736
+ /* @__PURE__ */ r("div", { className: "w-full min-w-0", children: [
737
+ /* @__PURE__ */ e("div", { className: `${h ? "text-gray-100" : "text-gray-700"} font-medium truncate`, children: c }),
738
+ g && typeof g == "string" && /* @__PURE__ */ e("div", { className: `${h ? "text-gray-300" : "text-gray-500"} text-xs`, children: g })
739
739
  ] })
740
740
  ] }),
741
741
  x.seekbar && /* @__PURE__ */ e("div", { className: "mb-6", children: /* @__PURE__ */ r("div", { className: "flex items-center md:gap-1", children: [
742
- /* @__PURE__ */ e("span", { className: `text-xs ${p ? "text-gray-100" : "text-gray-600"} font-mono w-12`, children: $e(H) }),
742
+ /* @__PURE__ */ e("span", { className: `text-xs ${h ? "text-gray-100" : "text-gray-600"} font-mono w-12`, children: $e(H) }),
743
743
  /* @__PURE__ */ e(
744
744
  "input",
745
745
  {
@@ -759,7 +759,7 @@ function gt({
759
759
  }
760
760
  }
761
761
  ),
762
- /* @__PURE__ */ e("span", { className: `text-xs ${p ? "text-gray-100" : "text-gray-600"} font-mono w-12 text-right`, children: $e(S) })
762
+ /* @__PURE__ */ e("span", { className: `text-xs ${h ? "text-gray-100" : "text-gray-600"} font-mono w-12 text-right`, children: $e(S) })
763
763
  ] }) }),
764
764
  /* @__PURE__ */ r("div", { className: `flex flex-wrap items-center ${K < 330 ? "gap-2" : "gap-3"}`, children: [
765
765
  x.play && /* @__PURE__ */ r(
@@ -783,7 +783,7 @@ function gt({
783
783
  {
784
784
  onClick: Te,
785
785
  disabled: !i,
786
- className: `${p ? "bg-gray-100 text-black" : "bg-gray-700 text-white"} ${K < 600 ? "px-3 py-3" : "px-4 py-2"} rounded-full text-sm font-medium ${p ? "hover:bg-gray-300" : "hover:bg-gray-800"} disabled:opacity-40 disabled:cursor-not-allowed flex items-center gap-2 transition-all`,
786
+ className: `${h ? "bg-gray-100 text-black" : "bg-gray-700 text-white"} ${K < 600 ? "px-3 py-3" : "px-4 py-2"} rounded-full text-sm font-medium ${h ? "hover:bg-gray-300" : "hover:bg-gray-800"} disabled:opacity-40 disabled:cursor-not-allowed flex items-center gap-2 transition-all`,
787
787
  children: [
788
788
  /* @__PURE__ */ e(Ue, { size: 16 }),
789
789
  /* @__PURE__ */ e("span", { style: { display: K < 600 ? "none" : "block" }, children: "Stop" })
@@ -821,14 +821,14 @@ function gt({
821
821
  {
822
822
  value: ue,
823
823
  onChange: Ne,
824
- className: `rounded-full text-sm font-medium border-none outline-none cursor-pointer transition-all bg-transparent ${p ? "text-gray-200" : "text-gray-800"}`,
824
+ className: `rounded-full text-sm font-medium border-none outline-none cursor-pointer transition-all bg-transparent ${h ? "text-gray-200" : "text-gray-800"}`,
825
825
  children: [
826
- /* @__PURE__ */ e("option", { value: "0.5", className: p ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "0.5x" }),
827
- /* @__PURE__ */ e("option", { value: "0.75", className: p ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "0.75x" }),
828
- /* @__PURE__ */ e("option", { value: "1", className: p ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "1x" }),
829
- /* @__PURE__ */ e("option", { value: "1.25", className: p ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "1.25x" }),
830
- /* @__PURE__ */ e("option", { value: "1.5", className: p ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "1.5x" }),
831
- /* @__PURE__ */ e("option", { value: "2", className: p ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "2x" })
826
+ /* @__PURE__ */ e("option", { value: "0.5", className: h ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "0.5x" }),
827
+ /* @__PURE__ */ e("option", { value: "0.75", className: h ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "0.75x" }),
828
+ /* @__PURE__ */ e("option", { value: "1", className: h ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "1x" }),
829
+ /* @__PURE__ */ e("option", { value: "1.25", className: h ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "1.25x" }),
830
+ /* @__PURE__ */ e("option", { value: "1.5", className: h ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "1.5x" }),
831
+ /* @__PURE__ */ e("option", { value: "2", className: h ? "bg-gray-800 text-gray-100" : "bg-white text-gray-800", children: "2x" })
832
832
  ]
833
833
  }
834
834
  ) }),
@@ -838,7 +838,7 @@ function gt({
838
838
  {
839
839
  onClick: ze,
840
840
  className: "p-2 rounded-full hover:bg-gray-100/50 transition-all",
841
- children: ae || E === 0 ? /* @__PURE__ */ e(De, { size: 20, className: p ? "text-gray-100" : "text-gray-600" }) : /* @__PURE__ */ e(He, { size: 20, className: p ? "text-gray-100" : "text-gray-600" })
841
+ children: ae || E === 0 ? /* @__PURE__ */ e(De, { size: 20, className: h ? "text-gray-100" : "text-gray-600" }) : /* @__PURE__ */ e(He, { size: 20, className: h ? "text-gray-100" : "text-gray-600" })
842
842
  }
843
843
  ),
844
844
  /* @__PURE__ */ e(
@@ -856,7 +856,7 @@ function gt({
856
856
  }
857
857
  }
858
858
  ),
859
- /* @__PURE__ */ r("span", { style: { display: K < 800 ? "none" : "block" }, className: `hidden sm:block text-xs ${p ? "text-gray-100" : "text-gray-700"} font-mono w-10 text-right`, children: [
859
+ /* @__PURE__ */ r("span", { style: { display: K < 800 ? "none" : "block" }, className: `hidden sm:block text-xs ${h ? "text-gray-100" : "text-gray-700"} font-mono w-10 text-right`, children: [
860
860
  E,
861
861
  "%"
862
862
  ] })
@@ -927,7 +927,7 @@ function ft({
927
927
  audio: i,
928
928
  gradient: c = ["#cd7eff", "#ff00f2"],
929
929
  background: g = "#f4e4ffff",
930
- autoPlay: h = !1,
930
+ autoPlay: p = !1,
931
931
  thumbnail: q = null,
932
932
  width: m,
933
933
  equalizer: x = {
@@ -961,14 +961,14 @@ function ft({
961
961
  const d = () => I(a.currentTime), b = () => {
962
962
  _(a.duration), fe(K());
963
963
  }, B = () => T(!1), D = (J) => {
964
- var o, p;
965
- G(`Audio error: ${((p = (o = J.target) == null ? void 0 : o.error) == null ? void 0 : p.message) || "Failed to load audio"}`);
964
+ var o, h;
965
+ G(`Audio error: ${((h = (o = J.target) == null ? void 0 : o.error) == null ? void 0 : h.message) || "Failed to load audio"}`);
966
966
  };
967
967
  return a.addEventListener("timeupdate", d), a.addEventListener("loadedmetadata", b), a.addEventListener("ended", B), a.addEventListener("error", D), () => {
968
968
  a.removeEventListener("timeupdate", d), a.removeEventListener("loadedmetadata", b), a.removeEventListener("ended", B), a.removeEventListener("error", D);
969
969
  };
970
970
  }, [i, c, v]), C(() => {
971
- i && R.current && h && (R.current.play().catch((a) => {
971
+ i && R.current && p && (R.current.play().catch((a) => {
972
972
  console.error("Play failed:", a), T(!1);
973
973
  }), T(!0));
974
974
  }, [i]), C(() => {
@@ -1267,7 +1267,7 @@ function ft({
1267
1267
  ` })
1268
1268
  ] });
1269
1269
  }
1270
- function mt({ audio: i, thumbnail: c, gradient: g = ["#cd7eff", "#fe59f6"], background: h = "#1f273a", autoPlay: q = !1 }) {
1270
+ function mt({ audio: i, thumbnail: c, gradient: g = ["#cd7eff", "#fe59f6"], background: p = "#1f273a", autoPlay: q = !1 }) {
1271
1271
  const [m, x] = f(!1), [, v] = f(0), P = y(null), [T, U] = f(0), [I, M] = f(0), [_, H] = f(0);
1272
1272
  C(() => {
1273
1273
  const N = P.current;
@@ -1306,7 +1306,7 @@ function mt({ audio: i, thumbnail: c, gradient: g = ["#cd7eff", "#fe59f6"], back
1306
1306
  return /* @__PURE__ */ r(
1307
1307
  "div",
1308
1308
  {
1309
- style: { backgroundColor: h },
1309
+ style: { backgroundColor: p },
1310
1310
  className: `
1311
1311
  relative overflow-hidden inline-flex flex-col
1312
1312
  ${c ? "rounded-2xl" : "rounded-full"}
@@ -1343,7 +1343,7 @@ function mt({ audio: i, thumbnail: c, gradient: g = ["#cd7eff", "#fe59f6"], back
1343
1343
  onClick: z,
1344
1344
  style: S,
1345
1345
  className: "p-1.5 rounded-full hover:scale-110 transition-transform flex-shrink-0",
1346
- children: m ? /* @__PURE__ */ e(Re, { fill: h, className: "w-3 h-3 text-transparent" }) : /* @__PURE__ */ e(Fe, { fill: h, className: "w-3 h-3 text-transparent" })
1346
+ children: m ? /* @__PURE__ */ e(Re, { fill: p, className: "w-3 h-3 text-transparent" }) : /* @__PURE__ */ e(Fe, { fill: p, className: "w-3 h-3 text-transparent" })
1347
1347
  }
1348
1348
  ),
1349
1349
  /* @__PURE__ */ e("div", { className: "flex w-full min-w-12 items-center gap-0.5 h-6", children: [...Array(12)].map((N, E) => /* @__PURE__ */ e(
@@ -1369,7 +1369,7 @@ function yt({
1369
1369
  video: i,
1370
1370
  name: c = "No video loaded",
1371
1371
  audioVisual: g = null,
1372
- volume: h = 100,
1372
+ volume: p = 100,
1373
1373
  thumbnail: q = null,
1374
1374
  controls: m = {
1375
1375
  play: !0,
@@ -1392,11 +1392,11 @@ function yt({
1392
1392
  treble: 0
1393
1393
  }
1394
1394
  }) {
1395
- const [I, M] = f(!1), [_, H] = f(0), [z, S] = f(0), [N, E] = f(h || 100), [oe, ae] = f(!1), [fe, Q] = f(!1), [G, se] = f(!1), [le, O] = f([]), [de, R] = f(!1), [F, j] = f({
1395
+ const [I, M] = f(!1), [_, H] = f(0), [z, S] = f(0), [N, E] = f(p || 100), [oe, ae] = f(!1), [fe, Q] = f(!1), [G, se] = f(!1), [le, O] = f([]), [de, R] = f(!1), [F, j] = f({
1396
1396
  bass: U.bass || 0,
1397
1397
  mid: U.mid || 0,
1398
1398
  treble: U.treble || 0
1399
- }), [ie, ue] = f(1), [ee, K] = f(0), k = y(null), u = y(null), A = y(null), X = y(null), me = y(null), V = y(null), te = y(null), Z = y(null), $ = y(null), re = y(null), Y = y(0), a = y(0), d = y(0), b = y(0), B = y(0), D = y(0), J = y(!1), o = x === "dark" || G, p = typeof m == "object" && Object.keys(m).length === 0;
1399
+ }), [ie, ue] = f(1), [ee, K] = f(0), k = y(null), u = y(null), A = y(null), X = y(null), me = y(null), V = y(null), te = y(null), Z = y(null), $ = y(null), re = y(null), Y = y(0), a = y(0), d = y(0), b = y(0), B = y(0), D = y(0), J = y(!1), o = x === "dark" || G, h = typeof m == "object" && Object.keys(m).length === 0;
1400
1400
  C(() => {
1401
1401
  const t = u.current;
1402
1402
  if (!t) return;
@@ -1407,8 +1407,8 @@ function yt({
1407
1407
  return n.observe(t), () => n.disconnect();
1408
1408
  }, []), C(() => {
1409
1409
  const t = [];
1410
- i && typeof i != "string" && t.push(["TypeError", "video must be a string (URL or path)"]), c && typeof c != "string" && t.push(["TypeError", "name must be a string"]), (typeof h != "number" || h < 0 || h > 100) && t.push(["TypeError", "volume must be a number between 0 and 100"]), g && typeof g != "object" ? t.push(["TypeError", "audioVisual must be an object"]) : g && (["left", "right", "top", "bottom"].includes(g.side) || t.push(["ValueError", "audioVisual.side must be 'left', 'right', 'top', or 'bottom'"])), t.length > 0 ? (O(t), console.group("%cVideoPlayer: Prop validation failed", "color:red"), t.forEach((n) => console.error(`${n[0]}: ${n[1]}`)), console.groupEnd()) : O([]);
1411
- }, [i, c, h, g, m, x]), C(() => {
1410
+ i && typeof i != "string" && t.push(["TypeError", "video must be a string (URL or path)"]), c && typeof c != "string" && t.push(["TypeError", "name must be a string"]), (typeof p != "number" || p < 0 || p > 100) && t.push(["TypeError", "volume must be a number between 0 and 100"]), g && typeof g != "object" ? t.push(["TypeError", "audioVisual must be an object"]) : g && (["left", "right", "top", "bottom"].includes(g.side) || t.push(["ValueError", "audioVisual.side must be 'left', 'right', 'top', or 'bottom'"])), t.length > 0 ? (O(t), console.group("%cVideoPlayer: Prop validation failed", "color:red"), t.forEach((n) => console.error(`${n[0]}: ${n[1]}`)), console.groupEnd()) : O([]);
1411
+ }, [i, c, p, g, m, x]), C(() => {
1412
1412
  if (!k.current) return;
1413
1413
  const t = k.current, n = () => {
1414
1414
  fe || H(t.currentTime);
@@ -1430,7 +1430,7 @@ function yt({
1430
1430
  };
1431
1431
  k.current.addEventListener("canplay", s), k.current.load();
1432
1432
  }
1433
- H(0), M(!1), Y.current = 0, a.current = 0, d.current = 0, b.current = 0, B.current = 0, D.current = 0, pe();
1433
+ H(0), M(!1), Y.current = 0, a.current = 0, d.current = 0, b.current = 0, B.current = 0, D.current = 0, he();
1434
1434
  }
1435
1435
  }, [i]), C(() => {
1436
1436
  k.current && (k.current.volume = oe ? 0 : N / 100);
@@ -1473,9 +1473,9 @@ function yt({
1473
1473
  if (J.current) return;
1474
1474
  Y.current *= 0.7, a.current *= 0.7;
1475
1475
  const t = Date.now();
1476
- t - B.current > 1500 && (d.current *= 0.95), t - D.current > 1500 && (b.current *= 0.95), pe();
1476
+ t - B.current > 1500 && (d.current *= 0.95), t - D.current > 1500 && (b.current *= 0.95), he();
1477
1477
  const n = Math.max(Y.current, a.current), s = Math.max(d.current, b.current);
1478
- n > 0.01 || s > 0.01 ? $.current = requestAnimationFrame(qe) : (J.current || (Y.current = 0, a.current = 0, d.current = 0, b.current = 0, pe()), $.current && cancelAnimationFrame($.current), $.current = null);
1478
+ n > 0.01 || s > 0.01 ? $.current = requestAnimationFrame(qe) : (J.current || (Y.current = 0, a.current = 0, d.current = 0, b.current = 0, he()), $.current && cancelAnimationFrame($.current), $.current = null);
1479
1479
  }, we = () => {
1480
1480
  if (!X.current || !J.current) return;
1481
1481
  const t = X.current.frequencyBinCount, n = new Uint8Array(t);
@@ -1486,8 +1486,8 @@ function yt({
1486
1486
  let l = s / t / 255;
1487
1487
  l = Math.pow(l, 0.5), Y.current = Y.current * 0.7 + l * 0.3, a.current = a.current * 0.7 + l * 0.3;
1488
1488
  const w = Date.now();
1489
- Y.current > d.current ? (d.current = Y.current, B.current = w) : w - B.current > 1500 && (d.current *= 0.95), a.current > b.current ? (b.current = a.current, D.current = w) : w - D.current > 1500 && (b.current *= 0.95), pe(), $.current = requestAnimationFrame(we);
1490
- }, pe = () => {
1489
+ Y.current > d.current ? (d.current = Y.current, B.current = w) : w - B.current > 1500 && (d.current *= 0.95), a.current > b.current ? (b.current = a.current, D.current = w) : w - D.current > 1500 && (b.current *= 0.95), he(), $.current = requestAnimationFrame(we);
1490
+ }, he = () => {
1491
1491
  if (!re.current || !g) return;
1492
1492
  const t = g.color || "#00ff00", n = g.peak || "#ff0000", s = Y.current * 100, l = a.current * 100, w = 100 - d.current * 100, L = 100 - b.current * 100;
1493
1493
  g.side === "top" || g.side === "bottom" ? re.current.innerHTML = `
@@ -1527,8 +1527,8 @@ function yt({
1527
1527
  `;
1528
1528
  }, ke = () => {
1529
1529
  !k.current || !i || (I ? k.current.pause() : (A.current && A.current.state === "suspended" && A.current.resume(), k.current.play().catch((t) => console.error("Play failed:", t))));
1530
- }, he = () => {
1531
- k.current && (k.current.pause(), k.current.currentTime = 0, M(!1), H(0), Y.current = 0, a.current = 0, d.current = 0, b.current = 0, pe());
1530
+ }, pe = () => {
1531
+ k.current && (k.current.pause(), k.current.currentTime = 0, M(!1), H(0), Y.current = 0, a.current = 0, d.current = 0, b.current = 0, he());
1532
1532
  }, Ee = (t) => {
1533
1533
  const s = parseFloat(t.target.value) / 100 * z;
1534
1534
  H(s), k.current && !fe && (k.current.currentTime = s);
@@ -1554,7 +1554,7 @@ function yt({
1554
1554
  return `${n}:${s.toString().padStart(2, "0")}`;
1555
1555
  };
1556
1556
  if (C(() => {
1557
- (p && !I || P) && ke();
1557
+ (h && !I || P) && ke();
1558
1558
  }, [m]), le && le.length > 0)
1559
1559
  return le.map((t, n) => /* @__PURE__ */ r("div", { className: "text-red-500 text-sm bg-red-50 p-3 rounded mb-4 border border-red-300", children: [
1560
1560
  /* @__PURE__ */ r("strong", { children: [
@@ -1570,8 +1570,8 @@ function yt({
1570
1570
  {
1571
1571
  ref: u,
1572
1572
  className: `rounded-xl overflow-hidden transition-all duration-300 ${G ? "fixed inset-0 z-[9999] flex flex-col h-screen w-screen bg-black" : "relative"}`,
1573
- style: { backgroundColor: p || v ? void 0 : o ? "#49494937" : "white" },
1574
- children: /* @__PURE__ */ r("div", { style: { background: p || v ? void 0 : o ? "#1a1a1ab0" : "#f5f5f5", height: G ? "100%" : "auto" }, className: `${p || v ? "" : "p-4"} ${G ? "flex flex-col flex-1" : ""}`, children: [
1573
+ style: { backgroundColor: h || v ? void 0 : o ? "#49494937" : "white" },
1574
+ children: /* @__PURE__ */ r("div", { style: { background: h || v ? void 0 : o ? "#1a1a1ab0" : "#f5f5f5", height: G ? "100%" : "auto" }, className: `${h || v ? "" : "p-4"} ${G ? "flex flex-col flex-1" : ""}`, children: [
1575
1575
  m.videoName && !G && /* @__PURE__ */ e("div", { className: "mb-4", children: /* @__PURE__ */ e("div", { className: `${o ? "text-gray-100" : "text-gray-700"} font-medium`, children: c }) }),
1576
1576
  /* @__PURE__ */ r("div", { className: `relative ${$e ? "flex flex-col gap-3" : "flex gap-3"} ${G ? "flex-1 min-h-0" : "mb-4"}`, children: [
1577
1577
  g && ye === "top" && /* @__PURE__ */ e("div", { className: "w-full h-12", ref: re }),
@@ -1742,7 +1742,7 @@ function yt({
1742
1742
  m.stop && /* @__PURE__ */ e(
1743
1743
  "button",
1744
1744
  {
1745
- onClick: he,
1745
+ onClick: pe,
1746
1746
  disabled: !i,
1747
1747
  className: `${o ? "bg-gray-100 text-black hover:bg-gray-300" : "bg-gray-700 text-white hover:bg-gray-800"} px-3 py-3 rounded-full text-sm font-medium disabled:opacity-40 disabled:cursor-not-allowed flex items-center gap-2 transition-all`,
1748
1748
  children: /* @__PURE__ */ e(Ue, { size: 16 })
@@ -1870,7 +1870,7 @@ function yt({
1870
1870
  );
1871
1871
  }
1872
1872
  function bt() {
1873
- const [i, c] = f(null), [g, h] = f("No track loaded"), [q, m] = f("purple"), [x, v] = f(!1), [P, T] = f(!1), [U, I] = f("light"), M = y(null);
1873
+ const [i, c] = f(null), [g, p] = f("No track loaded"), [q, m] = f("purple"), [x, v] = f(!1), [P, T] = f(!1), [U, I] = f("light"), M = y(null);
1874
1874
  return /* @__PURE__ */ e("div", { className: "min-h-screen flex items-center justify-center p-4 md:p-8", style: { backgroundColor: U === "dark" ? "#222" : "white" }, children: /* @__PURE__ */ r("div", { className: "w-full h-full md:h-auto md:max-w-4xl", children: [
1875
1875
  x && /* @__PURE__ */ e(ut, { theme: q, setTheme: m, close: () => v(!1) }),
1876
1876
  /* @__PURE__ */ r("div", { className: "container-glass rounded-xl p-8", children: [
@@ -1927,7 +1927,7 @@ function bt() {
1927
1927
  const S = (N = z.target.files) == null ? void 0 : N[0];
1928
1928
  if (S) {
1929
1929
  const E = URL.createObjectURL(S);
1930
- c(E), h(S.name);
1930
+ c(E), p(S.name);
1931
1931
  }
1932
1932
  },
1933
1933
  accept: "audio/*",
@@ -74,7 +74,7 @@
74
74
  ${y.current[l]>.1?`<div class="absolute w-full h-0.5 transition-all duration-100" style="top: ${C}%; background: ${t.peak};"></div>`:""}
75
75
  </div>
76
76
  </div>
77
- `}),ee.current.innerHTML=a},Se=()=>{!u.current||!o||(S?u.current.pause():(P.current&&P.current.state==="suspended"&&P.current.resume(),u.current.play().catch(t=>console.error("Play failed:",t))))},Pe=()=>{u.current&&(u.current.pause(),u.current.currentTime=0,I(!1),A(0),d.current=n.map(()=>0),y.current=n.map(()=>0),F.current=n.map(()=>0),pe())},Te=t=>{const s=parseFloat(t.target.value)/100*j;A(s),u.current&&!ne&&(u.current.currentTime=s)},Le=()=>{se(!0)},Me=()=>{u.current&&(u.current.currentTime=B),se(!1)},Fe=t=>{const a=parseInt(t.target.value);ce(a),fe(a===0)},ze=()=>{fe(!re)},we=t=>{Y(parseFloat(t.target.value))},Be=()=>{W(!U)},xe=(t,a)=>{le(s=>({...s,[t]:a}))},ye=()=>{le({bass:0,mid:0,treble:0})};r.useEffect(()=>{((typeof b=="object"&&Object.keys(b).length===0||!b)&&!S||O)&&Se()},[b]);const ke=t=>{if(isNaN(t))return"0:00";const a=Math.floor(t/60),s=Math.floor(t%60);return`${a}:${s.toString().padStart(2,"0")}`};return H&&H.length>0?H.map((t,a)=>e.jsxs("div",{className:"text-red-500 text-sm bg-red-50 p-3 rounded mb-4 border border-red-300",children:[e.jsxs("strong",{children:[t[0],":"]})," ",t[1]]},a)):e.jsx("div",{ref:X,className:"w-full rounded-xl overflow-hidden",style:{backgroundColor:ue||E?void 0:h?"#6060606a":"#ffffffab"},children:e.jsxs("div",{style:{background:ue||E?void 0:i.bg},className:ue||E?"":"p-4",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:`${E&&T?"opacity-30":""} ${ue||E?"":h?"bg-black/40":"bg-white/70"} rounded-lg ${ue?"":"mb-6"} ${ue||E?"":"p-4"} shadow-sm`,children:e.jsx("div",{className:"flex justify-center items-end gap-1 h-64",ref:ee})}),T&&e.jsxs("div",{className:`absolute inset-0 flex flex-col w-full justify-center z-10 ${!(ue||E)&&(h?"bg-black/50":"bg-white/80")} rounded-lg p-4 shadow-sm transition-all duration-300`,children:[e.jsx("h3",{className:`text-sm font-medium mb-4 ${h?"text-gray-200":"text-gray-700"}`,children:"Equalizer"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between mb-1",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:"Bass"}),e.jsxs("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:[M.bass," dB"]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"-20"}),e.jsx("input",{type:"range",min:"-20",max:"20",value:M.bass,onChange:t=>xe("bass",parseInt(t.target.value)),className:"flex-1 h-8 bg-gray-300 rounded-lg appearance-none cursor-pointer eq-slider",style:{background:`linear-gradient(to right, ${i.slider} ${(M.bass+20)/40*100}%, ${i.slider+"30"} ${(M.bass+20)/40*100}%)`}}),e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"+20"})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between mb-1",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:"Mid"}),e.jsxs("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:[M.mid," dB"]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"-20"}),e.jsx("input",{type:"range",min:"-20",max:"20",value:M.mid,onChange:t=>xe("mid",parseInt(t.target.value)),className:"flex-1 h-8 bg-gray-300 rounded-lg appearance-none cursor-pointer eq-slider",style:{background:`linear-gradient(to right, ${i.slider} ${(M.mid+20)/40*100}%, ${i.slider+"30"} ${(M.mid+20)/40*100}%)`}}),e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"+20"})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between mb-1",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:"Treble"}),e.jsxs("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:[M.treble," dB"]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"-20"}),e.jsx("input",{type:"range",min:"-20",max:"20",value:M.treble,onChange:t=>xe("treble",parseInt(t.target.value)),className:"flex-1 h-8 bg-gray-300 rounded-lg appearance-none cursor-pointer eq-slider",style:{background:`linear-gradient(to right, ${i.slider} ${(M.treble+20)/40*100}%, ${i.slider+"30"} ${(M.treble+20)/40*100}%)`}}),e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"+20"})]})]})]}),e.jsx("div",{className:"flex justify-end mt-4",children:e.jsx("button",{onClick:ye,className:`px-3 py-1 rounded text-xs ${h?"bg-gray-700 text-gray-200 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"} transition-all`,children:"Reset"})})]})]}),b.trackName&&e.jsxs("div",{className:"mb-6 flex items-center",children:[g&&e.jsx("div",{className:"mr-2",children:e.jsx("img",{src:g,alt:"",className:`${S?"animation-spin":""} h-12 w-12 rounded-full`})}),e.jsxs("div",{children:[e.jsx("div",{className:`${h?"text-gray-100":"text-gray-700"} font-medium truncate`,children:c}),f&&typeof f=="string"&&e.jsx("div",{className:`${h?"text-gray-300":"text-gray-500"} text-xs`,children:f})]})]}),b.seekbar&&e.jsx("div",{className:"mb-6",children:e.jsxs("div",{className:"flex items-center md:gap-1",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-100":"text-gray-600"} font-mono w-12`,children:ke(B)}),e.jsx("input",{type:"range",min:"0",max:"100",value:j>0?B/j*100:0,onChange:Te,onMouseDown:Le,onMouseUp:Me,onTouchStart:Le,onTouchEnd:Me,disabled:!o,className:"flex-1 h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed",style:{background:o&&j>0?`linear-gradient(to right, ${i.slider} ${B/j*100}%, ${i.slider+"30"} ${B/j*100}%)`:i.slider+"30"}}),e.jsx("span",{className:`text-xs ${h?"text-gray-100":"text-gray-600"} font-mono w-12 text-right`,children:ke(j)})]})}),e.jsxs("div",{className:`flex flex-wrap items-center ${Q<330?"gap-2":"gap-3"}`,children:[b.play&&e.jsxs("button",{onClick:Se,disabled:!o,className:`${Q<350?"px-3 py-5":"px-4 py-2 md:w-24"} rounded-full text-sm font-medium text-white disabled:opacity-40 disabled:cursor-not-allowed flex items-center gap-2 transition-all hover:opacity-90`,style:{backgroundColor:i.button},children:[e.jsxs("div",{className:"relative w-4 flex items-center",children:[e.jsx($e,{size:16,className:`${S?"":"scale-0 translate-y-10"} transition-all absolute`}),e.jsx(Ee,{size:16,className:`${S?"scale-0 -translate-y-10":""} transition-all absolute`})]}),e.jsx("span",{style:{display:Q<350?"none":"block"},children:S?"Pause":"Play"})]}),b.stop&&e.jsxs("button",{onClick:Pe,disabled:!o,className:`${h?"bg-gray-100 text-black":"bg-gray-700 text-white"} ${Q<600?"px-3 py-3":"px-4 py-2"} rounded-full text-sm font-medium ${h?"hover:bg-gray-300":"hover:bg-gray-800"} disabled:opacity-40 disabled:cursor-not-allowed flex items-center gap-2 transition-all`,children:[e.jsx(De,{size:16}),e.jsx("span",{style:{display:Q<600?"none":"block"},children:"Stop"})]}),b.equalizer&&e.jsxs("button",{onClick:()=>L(!T),disabled:!o,className:`${Q<600?"px-3 py-3":"px-4 py-2"} rounded-full text-sm font-medium flex items-center gap-2 transition-all ${T?"text-white":"bg-gray-100 text-gray-700 hover:bg-gray-300"} disabled:opacity-40 disabled:cursor-not-allowed`,style:T?{backgroundColor:i.button}:{},children:[e.jsx(Ce,{size:16}),e.jsx("span",{style:{display:Q<600?"none":"block"},children:"EQ"})]}),b.loop&&e.jsxs("button",{onClick:Be,disabled:!o,className:`${Q<700?"px-3 py-3":"px-4 py-2"} rounded-full text-sm font-medium flex items-center gap-2 transition-all ${U?"text-white":"bg-gray-100 text-gray-700 hover:bg-gray-300"} disabled:opacity-40 disabled:cursor-not-allowed`,style:U?{backgroundColor:i.button}:{},children:[e.jsx(Re,{size:16,className:`${U?"rotate-180":""} transition-all`}),e.jsx("span",{style:{display:Q<700?"none":"block"},children:"Loop"})]}),b.speed&&e.jsx("div",{className:"flex items-center",children:e.jsxs("select",{value:de,onChange:we,className:`rounded-full text-sm font-medium border-none outline-none cursor-pointer transition-all bg-transparent ${h?"text-gray-200":"text-gray-800"}`,children:[e.jsx("option",{value:"0.5",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"0.5x"}),e.jsx("option",{value:"0.75",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"0.75x"}),e.jsx("option",{value:"1",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"1x"}),e.jsx("option",{value:"1.25",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"1.25x"}),e.jsx("option",{value:"1.5",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"1.5x"}),e.jsx("option",{value:"2",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"2x"})]})}),b.volume&&e.jsxs("div",{className:"flex items-center gap-1 md:gap-3 ml-auto",children:[e.jsx("button",{onClick:ze,className:"p-2 rounded-full hover:bg-gray-100/50 transition-all",children:re||$===0?e.jsx(je,{size:20,className:h?"text-gray-100":"text-gray-600"}):e.jsx(Ae,{size:20,className:h?"text-gray-100":"text-gray-600"})}),e.jsx("input",{type:"range",min:"0",max:"100",value:$,onChange:Fe,className:"hide-for-xs w-24 h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer",style:{background:`linear-gradient(to right, ${i.slider} ${$}%, ${i.slider+"30"} ${$}%)`,display:Q<460?"none":"block"}}),e.jsxs("span",{style:{display:Q<800?"none":"block"},className:`hidden sm:block text-xs ${h?"text-gray-100":"text-gray-700"} font-mono w-10 text-right`,children:[$,"%"]})]})]}),e.jsx("style",{children:`
77
+ `}),ee.current.innerHTML=a},Se=()=>{!u.current||!o||(S?u.current.pause():(P.current&&P.current.state==="suspended"&&P.current.resume(),u.current.play().catch(t=>console.error("Play failed:",t))))},Pe=()=>{u.current&&(u.current.pause(),u.current.currentTime=0,I(!1),A(0),d.current=n.map(()=>0),y.current=n.map(()=>0),F.current=n.map(()=>0),pe())},Te=t=>{const s=parseFloat(t.target.value)/100*j;A(s),u.current&&!ne&&(u.current.currentTime=s)},Le=()=>{se(!0)},Me=()=>{u.current&&(u.current.currentTime=B),se(!1)},Fe=t=>{const a=parseInt(t.target.value);ce(a),fe(a===0)},ze=()=>{fe(!re)},we=t=>{Y(parseFloat(t.target.value))},Be=()=>{W(!U)},xe=(t,a)=>{le(s=>({...s,[t]:a}))},ye=()=>{le({bass:0,mid:0,treble:0})};r.useEffect(()=>{((typeof b=="object"&&Object.keys(b).length===0||!b)&&!S||O)&&Se()},[b]);const ke=t=>{if(isNaN(t))return"0:00";const a=Math.floor(t/60),s=Math.floor(t%60);return`${a}:${s.toString().padStart(2,"0")}`};return H&&H.length>0?H.map((t,a)=>e.jsxs("div",{className:"text-red-500 text-sm bg-red-50 p-3 rounded mb-4 border border-red-300",children:[e.jsxs("strong",{children:[t[0],":"]})," ",t[1]]},a)):e.jsx("div",{ref:X,className:"w-full rounded-xl overflow-hidden",style:{backgroundColor:ue||E?void 0:h?"#6060606a":"#ffffffab"},children:e.jsxs("div",{style:{background:ue||E?void 0:i.bg},className:ue||E?"":"p-4",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:`${E&&T?"opacity-30":""} ${ue||E?"":h?"bg-black/40":"bg-white/70"} rounded-lg ${ue?"":"mb-6"} ${ue||E?"":"p-4"} shadow-sm`,children:e.jsx("div",{className:"flex justify-center items-end gap-1 h-64",ref:ee})}),T&&e.jsxs("div",{className:`absolute inset-0 flex flex-col w-full justify-center z-10 ${!(ue||E)&&(h?"bg-black/50":"bg-white/80")} rounded-lg p-4 shadow-sm transition-all duration-300`,children:[e.jsx("h3",{className:`text-sm font-medium mb-4 ${h?"text-gray-200":"text-gray-700"}`,children:"Equalizer"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between mb-1",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:"Bass"}),e.jsxs("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:[M.bass," dB"]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"-20"}),e.jsx("input",{type:"range",min:"-20",max:"20",value:M.bass,onChange:t=>xe("bass",parseInt(t.target.value)),className:"flex-1 h-8 bg-gray-300 rounded-lg appearance-none cursor-pointer eq-slider",style:{background:`linear-gradient(to right, ${i.slider} ${(M.bass+20)/40*100}%, ${i.slider+"30"} ${(M.bass+20)/40*100}%)`}}),e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"+20"})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between mb-1",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:"Mid"}),e.jsxs("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:[M.mid," dB"]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"-20"}),e.jsx("input",{type:"range",min:"-20",max:"20",value:M.mid,onChange:t=>xe("mid",parseInt(t.target.value)),className:"flex-1 h-8 bg-gray-300 rounded-lg appearance-none cursor-pointer eq-slider",style:{background:`linear-gradient(to right, ${i.slider} ${(M.mid+20)/40*100}%, ${i.slider+"30"} ${(M.mid+20)/40*100}%)`}}),e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"+20"})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between mb-1",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:"Treble"}),e.jsxs("span",{className:`text-xs ${h?"text-gray-300":"text-gray-600"}`,children:[M.treble," dB"]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"-20"}),e.jsx("input",{type:"range",min:"-20",max:"20",value:M.treble,onChange:t=>xe("treble",parseInt(t.target.value)),className:"flex-1 h-8 bg-gray-300 rounded-lg appearance-none cursor-pointer eq-slider",style:{background:`linear-gradient(to right, ${i.slider} ${(M.treble+20)/40*100}%, ${i.slider+"30"} ${(M.treble+20)/40*100}%)`}}),e.jsx("span",{className:`text-xs ${h?"text-gray-400":"text-gray-500"}`,children:"+20"})]})]})]}),e.jsx("div",{className:"flex justify-end mt-4",children:e.jsx("button",{onClick:ye,className:`px-3 py-1 rounded text-xs ${h?"bg-gray-700 text-gray-200 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"} transition-all`,children:"Reset"})})]})]}),b.trackName&&e.jsxs("div",{className:"mb-6 flex items-center",children:[g&&e.jsx("div",{className:"mr-2 w-12 flex-shrink-0",children:e.jsx("img",{src:g,alt:"",className:`${S?"animation-spin":""} h-12 w-12 rounded-full`})}),e.jsxs("div",{className:"w-full min-w-0",children:[e.jsx("div",{className:`${h?"text-gray-100":"text-gray-700"} font-medium truncate`,children:c}),f&&typeof f=="string"&&e.jsx("div",{className:`${h?"text-gray-300":"text-gray-500"} text-xs`,children:f})]})]}),b.seekbar&&e.jsx("div",{className:"mb-6",children:e.jsxs("div",{className:"flex items-center md:gap-1",children:[e.jsx("span",{className:`text-xs ${h?"text-gray-100":"text-gray-600"} font-mono w-12`,children:ke(B)}),e.jsx("input",{type:"range",min:"0",max:"100",value:j>0?B/j*100:0,onChange:Te,onMouseDown:Le,onMouseUp:Me,onTouchStart:Le,onTouchEnd:Me,disabled:!o,className:"flex-1 h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed",style:{background:o&&j>0?`linear-gradient(to right, ${i.slider} ${B/j*100}%, ${i.slider+"30"} ${B/j*100}%)`:i.slider+"30"}}),e.jsx("span",{className:`text-xs ${h?"text-gray-100":"text-gray-600"} font-mono w-12 text-right`,children:ke(j)})]})}),e.jsxs("div",{className:`flex flex-wrap items-center ${Q<330?"gap-2":"gap-3"}`,children:[b.play&&e.jsxs("button",{onClick:Se,disabled:!o,className:`${Q<350?"px-3 py-5":"px-4 py-2 md:w-24"} rounded-full text-sm font-medium text-white disabled:opacity-40 disabled:cursor-not-allowed flex items-center gap-2 transition-all hover:opacity-90`,style:{backgroundColor:i.button},children:[e.jsxs("div",{className:"relative w-4 flex items-center",children:[e.jsx($e,{size:16,className:`${S?"":"scale-0 translate-y-10"} transition-all absolute`}),e.jsx(Ee,{size:16,className:`${S?"scale-0 -translate-y-10":""} transition-all absolute`})]}),e.jsx("span",{style:{display:Q<350?"none":"block"},children:S?"Pause":"Play"})]}),b.stop&&e.jsxs("button",{onClick:Pe,disabled:!o,className:`${h?"bg-gray-100 text-black":"bg-gray-700 text-white"} ${Q<600?"px-3 py-3":"px-4 py-2"} rounded-full text-sm font-medium ${h?"hover:bg-gray-300":"hover:bg-gray-800"} disabled:opacity-40 disabled:cursor-not-allowed flex items-center gap-2 transition-all`,children:[e.jsx(De,{size:16}),e.jsx("span",{style:{display:Q<600?"none":"block"},children:"Stop"})]}),b.equalizer&&e.jsxs("button",{onClick:()=>L(!T),disabled:!o,className:`${Q<600?"px-3 py-3":"px-4 py-2"} rounded-full text-sm font-medium flex items-center gap-2 transition-all ${T?"text-white":"bg-gray-100 text-gray-700 hover:bg-gray-300"} disabled:opacity-40 disabled:cursor-not-allowed`,style:T?{backgroundColor:i.button}:{},children:[e.jsx(Ce,{size:16}),e.jsx("span",{style:{display:Q<600?"none":"block"},children:"EQ"})]}),b.loop&&e.jsxs("button",{onClick:Be,disabled:!o,className:`${Q<700?"px-3 py-3":"px-4 py-2"} rounded-full text-sm font-medium flex items-center gap-2 transition-all ${U?"text-white":"bg-gray-100 text-gray-700 hover:bg-gray-300"} disabled:opacity-40 disabled:cursor-not-allowed`,style:U?{backgroundColor:i.button}:{},children:[e.jsx(Re,{size:16,className:`${U?"rotate-180":""} transition-all`}),e.jsx("span",{style:{display:Q<700?"none":"block"},children:"Loop"})]}),b.speed&&e.jsx("div",{className:"flex items-center",children:e.jsxs("select",{value:de,onChange:we,className:`rounded-full text-sm font-medium border-none outline-none cursor-pointer transition-all bg-transparent ${h?"text-gray-200":"text-gray-800"}`,children:[e.jsx("option",{value:"0.5",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"0.5x"}),e.jsx("option",{value:"0.75",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"0.75x"}),e.jsx("option",{value:"1",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"1x"}),e.jsx("option",{value:"1.25",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"1.25x"}),e.jsx("option",{value:"1.5",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"1.5x"}),e.jsx("option",{value:"2",className:h?"bg-gray-800 text-gray-100":"bg-white text-gray-800",children:"2x"})]})}),b.volume&&e.jsxs("div",{className:"flex items-center gap-1 md:gap-3 ml-auto",children:[e.jsx("button",{onClick:ze,className:"p-2 rounded-full hover:bg-gray-100/50 transition-all",children:re||$===0?e.jsx(je,{size:20,className:h?"text-gray-100":"text-gray-600"}):e.jsx(Ae,{size:20,className:h?"text-gray-100":"text-gray-600"})}),e.jsx("input",{type:"range",min:"0",max:"100",value:$,onChange:Fe,className:"hide-for-xs w-24 h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer",style:{background:`linear-gradient(to right, ${i.slider} ${$}%, ${i.slider+"30"} ${$}%)`,display:Q<460?"none":"block"}}),e.jsxs("span",{style:{display:Q<800?"none":"block"},className:`hidden sm:block text-xs ${h?"text-gray-100":"text-gray-700"} font-mono w-10 text-right`,children:[$,"%"]})]})]}),e.jsx("style",{children:`
78
78
  input[type="range"]::-webkit-slider-thumb {
79
79
  -webkit-appearance: none;
80
80
  appearance: none;
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.z-\[9999\]{z-index:9999}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-\[150px\]{height:150px}.h-\[40px\]{height:40px}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-\[110px\]{width:110px}.w-\[120px\]{width:120px}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-12{min-width:3rem}.max-w-\[600px\]{max-width:600px}.max-w-lg{max-width:32rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-10{--tw-translate-y: -2.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-10{--tw-translate-y: 2.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-px{gap:1px}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-r{border-right-width:1px}.border-none{border-style:none}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-current{border-color:currentColor}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/70{background-color:#000000b3}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/20{background-color:#fff3}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-opacity-20{--tw-bg-opacity: .2}.fill-white{fill:#fff}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-2{padding-bottom:.5rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100\/50:hover{background-color:#f3f4f680}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:opacity-90:hover{opacity:.9}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}@media (min-width: 640px){.sm\:block{display:block}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 768px){.md\:h-auto{height:auto}.md\:w-24{width:6rem}.md\:max-w-4xl{max-width:56rem}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:gap-1{gap:.25rem}.md\:gap-3{gap:.75rem}.md\:p-8{padding:2rem}}
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.z-\[9999\]{z-index:9999}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-\[150px\]{height:150px}.h-\[40px\]{height:40px}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-\[110px\]{width:110px}.w-\[120px\]{width:120px}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-12{min-width:3rem}.max-w-\[600px\]{max-width:600px}.max-w-lg{max-width:32rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-10{--tw-translate-y: -2.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-10{--tw-translate-y: 2.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-px{gap:1px}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-r{border-right-width:1px}.border-none{border-style:none}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-current{border-color:currentColor}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/70{background-color:#000000b3}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/20{background-color:#fff3}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-opacity-20{--tw-bg-opacity: .2}.fill-white{fill:#fff}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-2{padding-bottom:.5rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100\/50:hover{background-color:#f3f4f680}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:opacity-90:hover{opacity:.9}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}@media (min-width: 640px){.sm\:block{display:block}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 768px){.md\:h-auto{height:auto}.md\:w-24{width:6rem}.md\:max-w-4xl{max-width:56rem}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:gap-1{gap:.25rem}.md\:gap-3{gap:.75rem}.md\:p-8{padding:2rem}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ecplayer",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Professional audio and video players with advanced visualization, customizable themes, and seamless responsive design",
5
5
  "license": "MIT",
6
6
  "author": "K.Prabhasha",