meticulous-ui 2.2.7 → 2.2.9

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 (44) hide show
  1. package/components/Dropdown/Dropdown.js +83 -82
  2. package/components/Dropdown/styles.js +4 -4
  3. package/components/Glass/Glass.js +6 -0
  4. package/components/Glass/index.js +4 -0
  5. package/components/Glass/styles.js +73 -0
  6. package/components/Icons/Add/index.js +4 -0
  7. package/components/Icons/MediaPauseFilled/index.js +4 -0
  8. package/components/Icons/MediaPlayFilled/index.js +4 -0
  9. package/components/Icons/MediaStopFilled/index.js +4 -0
  10. package/components/Input/Checkbox/Checkbox.js +39 -0
  11. package/components/Input/Checkbox/helpers.js +28 -0
  12. package/components/Input/Checkbox/index.js +4 -0
  13. package/components/Input/Checkbox/styles.js +30 -0
  14. package/components/Input/Radio/Radio.js +26 -0
  15. package/components/Input/Radio/styles.js +45 -0
  16. package/components/Input/RadioGroup/RadioGroup.js +27 -0
  17. package/components/Input/RadioGroup/index.js +4 -0
  18. package/components/Input/RadioGroup/styles.js +18 -0
  19. package/components/Input/Textarea/styles.js +4 -4
  20. package/components/MenuItem/styles.js +4 -4
  21. package/components/OtpInput/OtpInput.js +30 -29
  22. package/components/Pagination/styles.js +6 -6
  23. package/components/Spinner/Spinner.js +11 -10
  24. package/components/Timer/Timer.js +64 -0
  25. package/components/Timer/components/TimerRing/TimerRing.js +42 -0
  26. package/components/Timer/components/TimerRing/styles.js +7 -0
  27. package/components/Timer/constants.js +25 -0
  28. package/components/Timer/index.js +4 -0
  29. package/components/Timer/styles.js +164 -0
  30. package/components/Typography/Headings/H1.js +9 -0
  31. package/components/Typography/Headings/H2.js +9 -0
  32. package/components/Typography/Headings/H3.js +9 -0
  33. package/components/Typography/Headings/H4.js +9 -0
  34. package/components/Typography/Headings/H5.js +9 -0
  35. package/components/Typography/Headings/H6.js +9 -0
  36. package/components/VideoPlayer/VideoPlayer.js +34 -0
  37. package/components/VideoPlayer/components/Volumebar/Volumebar.js +13 -0
  38. package/components/VideoPlayer/components/Volumebar/styles.js +38 -0
  39. package/components/VideoPlayer/index.js +4 -0
  40. package/components/VideoPlayer/styles.js +34 -0
  41. package/components/VideoPlayer/useSpacebarToggle.js +37 -0
  42. package/components/VideoPlayer/useVolumeOverlay.js +10 -0
  43. package/index.js +38 -16
  44. package/package.json +5 -2
@@ -1,6 +1,6 @@
1
1
  import t from "../../node_modules/styled-components/dist/styled-components.browser.esm.js";
2
2
  import n from "../Typography/P/P.js";
3
- const d = t.div`
3
+ const m = t.div`
4
4
  width: ${({ $width: o }) => o};
5
5
  background-color: ${({
6
6
  $isSelected: o,
@@ -18,13 +18,13 @@ const d = t.div`
18
18
  &:active {
19
19
  background-color: ${({ $isSelected: o, $activeColor: r, $selectedColor: e }) => o ? e : r};
20
20
  }
21
- `, m = t(n)`
21
+ `, d = t(n)`
22
22
  overflow: hidden;
23
23
  white-space: nowrap;
24
24
  text-overflow: ellipsis;
25
25
  max-width: calc(${({ $width: o }) => o} - 2rem);
26
26
  `;
27
27
  export {
28
- m as PWrapper,
29
- d as Wrapper
28
+ d as PWrapper,
29
+ m as Wrapper
30
30
  };
@@ -1,42 +1,43 @@
1
- import { j as D } from "../../_virtual/jsx-runtime.js";
2
- import { useState as O, useRef as h, useEffect as w } from "react";
3
- import { OTPWrapper as x } from "./styles.js";
4
- import { renderNums as E } from "./helpers.js";
5
- const A = ({ length: r = 6, value: o = "", onChange: i, onComplete: n }) => {
6
- const [p, a] = O(Array(r).fill("")), c = h([]);
7
- w(() => {
8
- if (!o) return;
9
- const s = String(o).replace(/\D/g, "").slice(0, r), t = s.split("");
1
+ import { j as x } from "../../_virtual/jsx-runtime.js";
2
+ import { useState as E, useRef as P, useEffect as R } from "react";
3
+ import { OTPWrapper as k } from "./styles.js";
4
+ import { renderNums as l } from "./helpers.js";
5
+ const b = ({ length: r = 6, value: a = "", onChange: p, onComplete: c }) => {
6
+ const [u, e] = E(Array(r).fill("")), i = P([]);
7
+ R(() => {
8
+ if (!a) return;
9
+ const s = String(a).replace(/\D/g, "").slice(0, r), t = s.split("");
10
10
  for (; t.length < r; ) t.push("");
11
- a(t), s.length === r && n?.(s);
12
- }, [o, r, n]);
13
- const f = (s) => {
14
- a(s);
11
+ e(t), s.length === r && (c == null || c(s));
12
+ }, [a, r, c]);
13
+ const n = (s) => {
14
+ e(s);
15
15
  const t = s.join("");
16
- i?.(t), t.length === r && n?.(t);
17
- }, u = (s, t) => {
16
+ p == null || p(t), t.length === r && (c == null || c(t));
17
+ }, d = (s, t) => {
18
18
  s = s.replace(/\D/g, "");
19
- const e = [...p];
20
- e[t] = s, f(e), s && t < r - 1 && c.current[t + 1].focus();
21
- }, l = (s, t) => {
22
- s.key === "Backspace" && !p[t] && t > 0 && c.current[t - 1].focus();
23
- }, m = (s) => {
19
+ const f = [...u];
20
+ f[t] = s, n(f), s && t < r - 1 && i.current[t + 1].focus();
21
+ }, y = (s, t) => {
22
+ s.key === "Backspace" && !u[t] && t > 0 && i.current[t - 1].focus();
23
+ }, j = (s) => {
24
+ var o;
24
25
  const t = s.clipboardData.getData("text").replace(/\D/g, "");
25
26
  if (!t) return;
26
- const e = Array(r).fill("");
27
- t.slice(0, r).split("").forEach((y, j) => e[j] = y), f(e);
28
- const d = Math.min(t.length - 1, r - 1);
29
- c.current[d]?.focus();
27
+ const f = Array(r).fill("");
28
+ t.slice(0, r).split("").forEach((O, w) => f[w] = O), n(f);
29
+ const D = Math.min(t.length - 1, r - 1);
30
+ (o = i.current[D]) == null || o.focus();
30
31
  };
31
- return /* @__PURE__ */ D.jsx(
32
- x,
32
+ return /* @__PURE__ */ x.jsx(
33
+ k,
33
34
  {
34
35
  style: { display: "flex", gap: "10px", justifyContent: "center" },
35
- onPaste: m,
36
- children: p.map(E({ inputsRef: c, handleChange: u, handleKeyDown: l }))
36
+ onPaste: j,
37
+ children: u.map(l({ inputsRef: i, handleChange: d, handleKeyDown: y }))
37
38
  }
38
39
  );
39
40
  };
40
41
  export {
41
- A as default
42
+ b as default
42
43
  };
@@ -1,13 +1,13 @@
1
1
  import o, { css as i } from "../../node_modules/styled-components/dist/styled-components.browser.esm.js";
2
- import a from "../Icons/ChevronLeft/ChevronLeft.js";
3
- import f from "../Icons/ChevronRight/ChevronRight.js";
2
+ import f from "../Icons/ChevronLeft/ChevronLeft.js";
3
+ import a from "../Icons/ChevronRight/ChevronRight.js";
4
4
  import c from "../../colors/grey.js";
5
5
  import n from "../../colors/white.js";
6
- import d from "../../colors/black.js";
6
+ import u from "../../colors/black.js";
7
7
  import { SELECTED_BG as m, NOT_SELECTED_BG as l, ACTIVE_NOT_SELECTED_BG as s } from "./constants.js";
8
8
  const t = (r) => ({ $shades: e }) => {
9
9
  if (["#FFFFFF"].includes(e))
10
- return d.m900;
10
+ return u.m900;
11
11
  if (r === m)
12
12
  return e.m500;
13
13
  if (r === l)
@@ -55,9 +55,9 @@ const t = (r) => ({ $shades: e }) => {
55
55
  `}
56
56
  `, y = o.p`
57
57
  color: ${c.m500};
58
- `, k = o(a)`
58
+ `, k = o(f)`
59
59
  cursor: pointer;
60
- `, w = o(f)`
60
+ `, w = o(a)`
61
61
  cursor: pointer;
62
62
  `, x = o.div`
63
63
  min-width: ${({ size: r }) => r};
@@ -1,9 +1,9 @@
1
- import { j as t } from "../../_virtual/jsx-runtime.js";
2
- import n from "../../node_modules/lodash-es/get.js";
3
- import { SpinnerWrapper as p } from "./styles.js";
4
- import i from "../../colors/index.js";
5
- import l from "../../colors/green.js";
6
- const s = {
1
+ import { j as n } from "../../_virtual/jsx-runtime.js";
2
+ import p from "../../node_modules/lodash-es/get.js";
3
+ import { SpinnerWrapper as i } from "./styles.js";
4
+ import l from "../../colors/index.js";
5
+ import s from "../../colors/green.js";
6
+ const $ = {
7
7
  small: {
8
8
  $border: "0.25rem",
9
9
  $length: "1rem"
@@ -16,10 +16,11 @@ const s = {
16
16
  $border: "0.75rem",
17
17
  $length: "3rem"
18
18
  }
19
- }, c = ({ color: r = "green", size: e = "medium" }) => {
20
- const { $border: m, $length: o } = s[e];
21
- return /* @__PURE__ */ t.jsx(p, { $color: n(i, r, l)?.m500, $border: m, $length: o });
19
+ }, u = ({ color: e = "green", size: m = "medium" }) => {
20
+ var r;
21
+ const { $border: o, $length: t } = $[m];
22
+ return /* @__PURE__ */ n.jsx(i, { $color: (r = p(l, e, s)) == null ? void 0 : r.m500, $border: o, $length: t });
22
23
  };
23
24
  export {
24
- c as default
25
+ u as default
25
26
  };
@@ -0,0 +1,64 @@
1
+ import { j as e } from "../../_virtual/jsx-runtime.js";
2
+ import { useState as x, useEffect as B } from "react";
3
+ import t from "../../node_modules/lodash-es/noop.js";
4
+ import I from "../Glass/Glass.js";
5
+ import b from "./components/TimerRing/TimerRing.js";
6
+ import o from "../../colors/white.js";
7
+ import { Wrapper as E, Dimmer as L, Time as u, TimeTxt as h, HourHand as N, MinuteHand as G, SecondHand as K, AllDots as U, Dots as _, AlarmRing as q, BulletRing as J, Bullet as O, LeftActions as Q, ActionBtn as n, MediaStopFilledWrapper as V, MediaPauseFilledWrapper as X, MediaPlayFilledWrapper as Y, RightActions as Z, AddWrapper as ee } from "./styles.js";
8
+ const ae = ({
9
+ color: f = "green",
10
+ showTime: g = !0,
11
+ showTimeWithSec: T = !0,
12
+ timeZone: A = "Asia/Kolkata",
13
+ isDigital: y = !0,
14
+ timerSeconds: $ = 0,
15
+ onTimerAdd: P = t,
16
+ onTimerComplete: R = t,
17
+ onTimerRemove: S = t,
18
+ onTimerPause: W = t,
19
+ onTimerPlay: k = t
20
+ }) => {
21
+ const [D, F] = x(/* @__PURE__ */ new Date()), [r, l] = x(0), [c, a] = x(!1), v = () => {
22
+ l($), a(!1), P();
23
+ }, w = () => {
24
+ l(0), S();
25
+ }, z = () => {
26
+ a(!0), W();
27
+ }, C = () => {
28
+ a(!1), k();
29
+ };
30
+ B(() => {
31
+ const p = setInterval(() => {
32
+ F(/* @__PURE__ */ new Date()), !c && l((s) => (s - 1 === 0 && R(), s - 1));
33
+ }, 1e3);
34
+ return () => clearInterval(p);
35
+ }, [c]);
36
+ const m = D.toLocaleString("en-Us", { hour12: !0, timeZone: A }).split(", ")[1], j = m.split(" ")[0], H = m.split(" ")[1], M = m.split(":").slice(0, 2).join(":"), i = j.split(":"), d = !(Number.isInteger(r) && r > 0);
37
+ return /* @__PURE__ */ e.jsxs(E, { $color: f, children: [
38
+ /* @__PURE__ */ e.jsx(I, { borderRadius: "1.2rem" }),
39
+ g && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
40
+ /* @__PURE__ */ e.jsx(L, {}),
41
+ y ? /* @__PURE__ */ e.jsxs(u, { children: [
42
+ /* @__PURE__ */ e.jsx(h, { children: T ? j : M }),
43
+ /* @__PURE__ */ e.jsx(h, { children: H })
44
+ ] }) : /* @__PURE__ */ e.jsxs(u, { children: [
45
+ /* @__PURE__ */ e.jsx(N, { style: { rotate: `${i[0] * 30 + i[1] * 0.5}deg` } }),
46
+ /* @__PURE__ */ e.jsx(G, { style: { rotate: `${i[1] * 6}deg` } }),
47
+ /* @__PURE__ */ e.jsx(K, { style: { rotate: `${i[2] * 6}deg` } })
48
+ ] })
49
+ ] }),
50
+ /* @__PURE__ */ e.jsx(U, { children: [...Array(60)].map((p, s) => /* @__PURE__ */ e.jsx(_, { style: { rotate: `${s * 6}deg` } }, s)) }),
51
+ !d && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
52
+ /* @__PURE__ */ e.jsx(q, { children: /* @__PURE__ */ e.jsx(b, { progress: r >= 60 ? 1 : r % 60 / 60 }) }),
53
+ /* @__PURE__ */ e.jsx(J, { $angle: r % 60 * 6, children: /* @__PURE__ */ e.jsx(O, {}) })
54
+ ] }),
55
+ /* @__PURE__ */ e.jsxs(Q, { $noActions: d, children: [
56
+ /* @__PURE__ */ e.jsx(n, { onClick: w, children: /* @__PURE__ */ e.jsx(V, { color: o, size: 14 }) }),
57
+ d || !c ? /* @__PURE__ */ e.jsx(n, { onClick: z, children: /* @__PURE__ */ e.jsx(X, { color: o, size: 14 }) }) : /* @__PURE__ */ e.jsx(n, { onClick: C, children: /* @__PURE__ */ e.jsx(Y, { color: o, size: 14 }) })
58
+ ] }),
59
+ /* @__PURE__ */ e.jsx(Z, { children: /* @__PURE__ */ e.jsx(n, { title: "Add timer in seconds", onClick: v, children: /* @__PURE__ */ e.jsx(ee, { color: o, size: 20 }) }) })
60
+ ] });
61
+ };
62
+ export {
63
+ ae as default
64
+ };
@@ -0,0 +1,42 @@
1
+ import { j as r } from "../../../../_virtual/jsx-runtime.js";
2
+ import { useRef as c, useEffect as f } from "react";
3
+ import n from "../../../../colors/white.js";
4
+ import { SVG as a } from "./styles.js";
5
+ const k = ({ progress: s }) => {
6
+ const o = c(null), e = 105, t = 2 * Math.PI * e;
7
+ return f(() => {
8
+ const i = t * (1 - s);
9
+ o.current.style.strokeDashoffset = i;
10
+ }, [s]), /* @__PURE__ */ r.jsxs(a, { width: "220", height: "220", children: [
11
+ /* @__PURE__ */ r.jsx(
12
+ "circle",
13
+ {
14
+ cx: "110",
15
+ cy: "110",
16
+ r: e,
17
+ stroke: "rgba(255,255,255,.2)",
18
+ strokeWidth: "4",
19
+ fill: "none"
20
+ }
21
+ ),
22
+ /* @__PURE__ */ r.jsx(
23
+ "circle",
24
+ {
25
+ ref: o,
26
+ cx: "110",
27
+ cy: "110",
28
+ r: e,
29
+ stroke: n,
30
+ strokeWidth: "4",
31
+ fill: "none",
32
+ strokeLinecap: "round",
33
+ strokeDasharray: t,
34
+ strokeDashoffset: t,
35
+ style: { transition: "stroke-dashoffset 0.2s linear" }
36
+ }
37
+ )
38
+ ] });
39
+ };
40
+ export {
41
+ k as default
42
+ };
@@ -0,0 +1,7 @@
1
+ import t from "../../../../node_modules/styled-components/dist/styled-components.browser.esm.js";
2
+ const r = t.svg`
3
+ rotate: -90deg;
4
+ `;
5
+ export {
6
+ r as SVG
7
+ };
@@ -0,0 +1,25 @@
1
+ import o from "../../colors/green.js";
2
+ import r from "../../colors/red.js";
3
+ import m from "../../colors/blue.js";
4
+ import e from "../../colors/brown.js";
5
+ import i from "../../colors/grey.js";
6
+ import t from "../../colors/indigo.js";
7
+ import p from "../../colors/orange.js";
8
+ import f from "../../colors/teal.js";
9
+ import l from "../../colors/violet.js";
10
+ import n from "../../colors/yellow.js";
11
+ const c = {
12
+ green: o.m500,
13
+ red: r.m500,
14
+ blue: m.m500,
15
+ brown: e.m500,
16
+ grey: i.m500,
17
+ indigo: t.m500,
18
+ orange: p.m500,
19
+ teal: f.m500,
20
+ violet: l.m500,
21
+ yellow: n.m500
22
+ };
23
+ export {
24
+ c as COLOR_MAPPING
25
+ };
@@ -0,0 +1,4 @@
1
+ import e from "./Timer.js";
2
+ export {
3
+ e as default
4
+ };
@@ -0,0 +1,164 @@
1
+ import t, { css as e } from "../../node_modules/styled-components/dist/styled-components.browser.esm.js";
2
+ import n from "../Icons/Add/Add.js";
3
+ import a from "../Icons/MediaStopFilled/MediaStopFilled.js";
4
+ import s from "../Icons/MediaPauseFilled/MediaPauseFilled.js";
5
+ import d from "../Icons/MediaPlayFilled/MediaPlayFilled.js";
6
+ import i from "../../colors/white.js";
7
+ import p from "../../colors/black.js";
8
+ import l from "../../colors/red.js";
9
+ import { COLOR_MAPPING as c } from "./constants.js";
10
+ const m = ({ $color: o }) => c[o], r = e`
11
+ position: absolute;
12
+ bottom: 50%;
13
+ transform-origin: bottom;
14
+ border-radius: 4px;
15
+ `, $ = t.div`
16
+ position: relative;
17
+ height: 20rem;
18
+ width: 20rem;
19
+ border-radius: 1.2rem;
20
+ background-color: ${m};
21
+ `, A = t.div`
22
+ position: absolute;
23
+ left: 50%;
24
+ top: 48%;
25
+ width: 12rem;
26
+ height: 12rem;
27
+ transform: translate(-50%, -50%);
28
+ border-radius: 50%;
29
+ background-color: rgba(0, 0, 0, 0.16);
30
+ pointer-events: none;
31
+ `, M = t.div`
32
+ position: absolute;
33
+ left: 50%;
34
+ top: 48%;
35
+ transform: translate(-50%, -50%);
36
+ `, F = t.div`
37
+ color: ${i};
38
+ font-size: 1.5rem;
39
+ font-weight: 600;
40
+ text-align: center;
41
+ opacity: 0.8;
42
+ `, P = t.span`
43
+ position: absolute;
44
+ width: 2.4px;
45
+ height: 2.4px;
46
+ background: rgba(255, 255, 255, 0.4);
47
+ transform-origin: 94px;
48
+ border-radius: 2px;
49
+
50
+ &:nth-child(5n) {
51
+ width: 3px;
52
+ height: 3px;
53
+ background: rgba(255, 255, 255, 0.7);
54
+ }
55
+
56
+ &:nth-child(15n) {
57
+ width: 6px;
58
+ height: 2px;
59
+ background: rgba(255, 255, 255);
60
+ }
61
+ `, y = t.div`
62
+ position: absolute;
63
+ left: 21%;
64
+ top: 44.3%;
65
+ transform: translate(-50%, -50%) rotate(6.7deg);
66
+ `, H = t.div`
67
+ ${r};
68
+ width: 6px;
69
+ height: 60px;
70
+ background: ${i};
71
+ `, S = t.div`
72
+ ${r};
73
+ width: 4px;
74
+ height: 80px;
75
+ background: ${p.m200};
76
+ `, W = t.div`
77
+ ${r};
78
+ width: 2px;
79
+ height: 90px;
80
+ background: ${l.m800};
81
+ `, D = t.div`
82
+ position: absolute;
83
+ left: 16%;
84
+ top: 14%;
85
+ `, R = t.div`
86
+ position: absolute;
87
+ bottom: 6%;
88
+ left: 8%;
89
+ display: flex;
90
+ align-items: center;
91
+ gap: 4px;
92
+
93
+ ${({ $noActions: o }) => o && e`
94
+ pointer-events: none;
95
+ opacity: 0.5;
96
+ `}
97
+ `, B = t.div`
98
+ position: absolute;
99
+ bottom: 6%;
100
+ right: 8%;
101
+ border-radius: 0.4rem;
102
+ `, C = t.div`
103
+ position: relative;
104
+ width: 100%;
105
+ height: 100%;
106
+ height: 2.4rem;
107
+ width: 2.4rem;
108
+ cursor: pointer;
109
+ background-color: rgba(0, 0, 0, 0.4);
110
+ `, T = t(n)`
111
+ position: absolute;
112
+ left: 50%;
113
+ top: 50%;
114
+ transform: translate(-50%, -50%);
115
+ `, L = t(a)`
116
+ position: absolute;
117
+ left: 50%;
118
+ top: 50%;
119
+ transform: translate(-50%, -50%);
120
+ `, N = t(s)`
121
+ position: absolute;
122
+ left: 50%;
123
+ top: 50%;
124
+ transform: translate(-50%, -50%);
125
+ `, O = t(d)`
126
+ position: absolute;
127
+ left: 50%;
128
+ top: 50%;
129
+ transform: translate(-50%, -50%);
130
+ `, _ = t.div`
131
+ width: 9px;
132
+ height: 9px;
133
+ border-radius: 50%;
134
+ background-color: ${i};
135
+ `, z = t.div`
136
+ position: absolute;
137
+ left: 26%;
138
+ top: 24%;
139
+ rotate: ${({ $angle: o }) => 45 + o}deg;
140
+ height: 157.5px;
141
+ width: 157.5px;
142
+ transform-origin: center;
143
+ `;
144
+ export {
145
+ C as ActionBtn,
146
+ T as AddWrapper,
147
+ D as AlarmRing,
148
+ y as AllDots,
149
+ _ as Bullet,
150
+ z as BulletRing,
151
+ A as Dimmer,
152
+ P as Dots,
153
+ H as HourHand,
154
+ R as LeftActions,
155
+ N as MediaPauseFilledWrapper,
156
+ O as MediaPlayFilledWrapper,
157
+ L as MediaStopFilledWrapper,
158
+ S as MinuteHand,
159
+ B as RightActions,
160
+ W as SecondHand,
161
+ M as Time,
162
+ F as TimeTxt,
163
+ $ as Wrapper
164
+ };
@@ -0,0 +1,9 @@
1
+ import { j as t } from "../../../_virtual/jsx-runtime.js";
2
+ import s from "../../../node_modules/styled-components/dist/styled-components.browser.esm.js";
3
+ const e = s.h1`
4
+ color: ${({ $color: o }) => o};
5
+ font-size: 3.6rem;
6
+ `, n = ({ color: o, children: r }) => /* @__PURE__ */ t.jsx(e, { $color: o, children: r });
7
+ export {
8
+ n as default
9
+ };
@@ -0,0 +1,9 @@
1
+ import { j as t } from "../../../_virtual/jsx-runtime.js";
2
+ import s from "../../../node_modules/styled-components/dist/styled-components.browser.esm.js";
3
+ const e = s.h2`
4
+ color: ${({ $color: o }) => o};
5
+ font-size: 3rem;
6
+ `, n = ({ color: o, children: r }) => /* @__PURE__ */ t.jsx(e, { $color: o, children: r });
7
+ export {
8
+ n as default
9
+ };
@@ -0,0 +1,9 @@
1
+ import { j as t } from "../../../_virtual/jsx-runtime.js";
2
+ import s from "../../../node_modules/styled-components/dist/styled-components.browser.esm.js";
3
+ const e = s.h3`
4
+ color: ${({ $color: o }) => o};
5
+ font-size: 2.4rem;
6
+ `, n = ({ color: o, children: r }) => /* @__PURE__ */ t.jsx(e, { $color: o, children: r });
7
+ export {
8
+ n as default
9
+ };
@@ -0,0 +1,9 @@
1
+ import { j as t } from "../../../_virtual/jsx-runtime.js";
2
+ import s from "../../../node_modules/styled-components/dist/styled-components.browser.esm.js";
3
+ const e = s.h4`
4
+ color: ${({ $color: o }) => o};
5
+ font-size: 1.8rem;
6
+ `, n = ({ color: o, children: r }) => /* @__PURE__ */ t.jsx(e, { $color: o, children: r });
7
+ export {
8
+ n as default
9
+ };
@@ -0,0 +1,9 @@
1
+ import { j as t } from "../../../_virtual/jsx-runtime.js";
2
+ import s from "../../../node_modules/styled-components/dist/styled-components.browser.esm.js";
3
+ const e = s.h5`
4
+ color: ${({ $color: o }) => o};
5
+ font-size: 1.4rem;
6
+ `, n = ({ color: o, children: r }) => /* @__PURE__ */ t.jsx(e, { $color: o, children: r });
7
+ export {
8
+ n as default
9
+ };
@@ -0,0 +1,9 @@
1
+ import { j as t } from "../../../_virtual/jsx-runtime.js";
2
+ import s from "../../../node_modules/styled-components/dist/styled-components.browser.esm.js";
3
+ const e = s.h6`
4
+ color: ${({ $color: o }) => o};
5
+ font-size: 1.2rem;
6
+ `, n = ({ color: o, children: r }) => /* @__PURE__ */ t.jsx(e, { $color: o, children: r });
7
+ export {
8
+ n as default
9
+ };
@@ -0,0 +1,34 @@
1
+ import { j as r } from "../../_virtual/jsx-runtime.js";
2
+ import { useRef as n } from "react";
3
+ import { VideoContainer as p, Video as V } from "./styles.js";
4
+ import { useSpacebarToggle as h } from "./useSpacebarToggle.js";
5
+ import x from "./components/Volumebar/Volumebar.js";
6
+ import { useVolumeOverlay as j } from "./useVolumeOverlay.js";
7
+ const C = ({ link: s, thumbnail: i, width: u = "600", borderRadius: c = 8, height: l = "auto" }) => {
8
+ const e = n(null), t = n(null), { volume: m, showVolume: a } = j(), d = () => {
9
+ var o;
10
+ (o = e.current) == null || o.focus();
11
+ }, f = (o) => {
12
+ o.code === "Space" && o.preventDefault();
13
+ };
14
+ return h(e, t, a), /* @__PURE__ */ r.jsxs(p, { ref: t, $width: u, $height: l, children: [
15
+ /* @__PURE__ */ r.jsx(
16
+ V,
17
+ {
18
+ $borderRadius: c,
19
+ ref: e,
20
+ src: s,
21
+ poster: i,
22
+ controls: !0,
23
+ tabIndex: 0,
24
+ onClick: d,
25
+ onKeyDown: f,
26
+ children: "Your browser does not support the video tag."
27
+ }
28
+ ),
29
+ /* @__PURE__ */ r.jsx(x, { volume: m })
30
+ ] });
31
+ };
32
+ export {
33
+ C as default
34
+ };
@@ -0,0 +1,13 @@
1
+ import { j as r } from "../../../../_virtual/jsx-runtime.js";
2
+ import { Wrapper as n, Track as s, Fill as e, Label as o } from "./styles.js";
3
+ const i = ({ volume: t }) => {
4
+ if (t === null) return null;
5
+ const l = Math.round(t);
6
+ return /* @__PURE__ */ r.jsxs(n, { children: [
7
+ /* @__PURE__ */ r.jsx(s, { children: /* @__PURE__ */ r.jsx(e, { $pct: l }) }),
8
+ /* @__PURE__ */ r.jsx(o, { children: l })
9
+ ] });
10
+ };
11
+ export {
12
+ i as default
13
+ };
@@ -0,0 +1,38 @@
1
+ import e from "../../../../node_modules/styled-components/dist/styled-components.browser.esm.js";
2
+ const i = e.div`
3
+ position: absolute;
4
+ right: 0.8rem;
5
+ top: 1.6rem;
6
+ display: flex;
7
+ flex-direction: column;
8
+ align-items: center;
9
+ gap: 0.6rem;
10
+ pointer-events: none;
11
+ user-select: none;
12
+ `, n = e.div`
13
+ width: 0.4rem;
14
+ height: 8rem;
15
+ background: rgba(255, 255, 255, 0.25);
16
+ border-radius: 0.2rem;
17
+ overflow: hidden;
18
+ display: flex;
19
+ align-items: flex-end;
20
+ `, o = e.div`
21
+ width: 100%;
22
+ height: ${({ $pct: r }) => r}%;
23
+ background: #fff;
24
+ border-radius: 0.2rem;
25
+ transition: height 0.1s ease;
26
+ `, s = e.span`
27
+ font-size: 1.1rem;
28
+ color: rgba(255, 255, 255, 0.85);
29
+ font-weight: 500;
30
+ width: 3.5rem;
31
+ text-align: center;
32
+ `;
33
+ export {
34
+ o as Fill,
35
+ s as Label,
36
+ n as Track,
37
+ i as Wrapper
38
+ };
@@ -0,0 +1,4 @@
1
+ import o from "./VideoPlayer.js";
2
+ export {
3
+ o as default
4
+ };
@@ -0,0 +1,34 @@
1
+ import t from "../../node_modules/styled-components/dist/styled-components.browser.esm.js";
2
+ import o from "../../colors/black.js";
3
+ const c = t.div`
4
+ position: relative;
5
+ display: inline-block;
6
+ width: ${({ $width: i }) => i}px;
7
+ height: ${({ $height: i }) => i}px;
8
+
9
+ &:fullscreen video {
10
+ width: 100vw;
11
+ height: 100vh;
12
+ object-fit: contain;
13
+ background: ${o.m900};
14
+ }
15
+ `, r = t.video`
16
+ border-radius: ${({ $borderRadius: i }) => i}px;
17
+ outline: none;
18
+ width: 100%;
19
+ height: 100%;
20
+ max-width: ${({ width: i }) => i}px;
21
+ aspect-ratio: 16 / 9;
22
+ background-color: #000;
23
+ object-fit: contain;
24
+
25
+ &:fullscreen {
26
+ width: 100vw;
27
+ height: 100vh;
28
+ object-fit: contain;
29
+ }
30
+ `;
31
+ export {
32
+ r as Video,
33
+ c as VideoContainer
34
+ };