meticulous-ui 3.6.2 → 3.6.4
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.
|
@@ -1,92 +1,91 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as F, jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { useState as J, useRef as K } from "react";
|
|
3
3
|
import { Wrapper as M, TextareaBox as Q, Parent as U, Label as V, HelperText as X } from "./styles.js";
|
|
4
4
|
import { LeftIconWrapper as Y, RightIconWrapper as Z } from "../Input/styles.js";
|
|
5
|
-
import { getColor as _, getIcon as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
const
|
|
5
|
+
import { getColor as _, getIcon as v } from "./helpers.js";
|
|
6
|
+
import tt from "../../../colors/white.js";
|
|
7
|
+
import ot from "../../../colors/grey.js";
|
|
8
|
+
import w from "./SvgIcon.js";
|
|
9
|
+
const dt = ({
|
|
10
10
|
label: s,
|
|
11
|
-
onChange:
|
|
12
|
-
value:
|
|
13
|
-
type:
|
|
14
|
-
hasError:
|
|
15
|
-
name:
|
|
16
|
-
color:
|
|
11
|
+
onChange: C,
|
|
12
|
+
value: r,
|
|
13
|
+
type: b,
|
|
14
|
+
hasError: B,
|
|
15
|
+
name: u = "textarea",
|
|
16
|
+
color: H = "blue",
|
|
17
17
|
helperText: c = "",
|
|
18
|
-
background:
|
|
19
|
-
outerBackground:
|
|
20
|
-
isDynamic:
|
|
21
|
-
isResizeNone:
|
|
22
|
-
rows:
|
|
23
|
-
cols:
|
|
24
|
-
leftIcon:
|
|
25
|
-
rightIcon:
|
|
26
|
-
placeholder:
|
|
27
|
-
...
|
|
18
|
+
background: g = "transparent",
|
|
19
|
+
outerBackground: S = tt,
|
|
20
|
+
isDynamic: m,
|
|
21
|
+
isResizeNone: j,
|
|
22
|
+
rows: z = "2",
|
|
23
|
+
cols: L = "20",
|
|
24
|
+
leftIcon: W,
|
|
25
|
+
rightIcon: P,
|
|
26
|
+
placeholder: i,
|
|
27
|
+
...T
|
|
28
28
|
}) => {
|
|
29
|
-
const [
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
n.style.height = `${G}px`;
|
|
36
|
-
}
|
|
29
|
+
const [e, $] = J(!1), a = _(H), h = K(null), k = (t) => {
|
|
30
|
+
t.style.height = "";
|
|
31
|
+
const R = t.scrollHeight - t.clientHeight;
|
|
32
|
+
if (R > 0) {
|
|
33
|
+
const G = parseFloat(window.getComputedStyle(t).height);
|
|
34
|
+
t.style.height = `${G + R}px`;
|
|
37
35
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
}, A = () => $(!0), E = () => $(!1), N = (t) => {
|
|
37
|
+
m && h.current && k(h.current), C(t);
|
|
38
|
+
}, I = { color: ot.m500, size: 20 }, d = v(W), f = v(P), l = !!d, x = !!f, n = B, O = m, q = g, D = { rows: z }, p = `textarea-${u}`, y = c ? `${p}-helper` : void 0;
|
|
39
|
+
return /* @__PURE__ */ F(M, { children: [
|
|
40
|
+
/* @__PURE__ */ o(
|
|
42
41
|
Q,
|
|
43
42
|
{
|
|
44
|
-
type:
|
|
45
|
-
name:
|
|
46
|
-
$hasError:
|
|
47
|
-
value:
|
|
48
|
-
$isFocused:
|
|
49
|
-
$shade:
|
|
50
|
-
$isDynamic:
|
|
51
|
-
$background:
|
|
52
|
-
cols:
|
|
53
|
-
$hasLeftIcon:
|
|
43
|
+
type: b,
|
|
44
|
+
name: u,
|
|
45
|
+
$hasError: n,
|
|
46
|
+
value: r,
|
|
47
|
+
$isFocused: e,
|
|
48
|
+
$shade: a,
|
|
49
|
+
$isDynamic: O,
|
|
50
|
+
$background: q,
|
|
51
|
+
cols: L,
|
|
52
|
+
$hasLeftIcon: l,
|
|
54
53
|
$hasRightIcon: x,
|
|
55
|
-
$isResizeNone:
|
|
56
|
-
...
|
|
57
|
-
id:
|
|
58
|
-
"aria-invalid":
|
|
54
|
+
$isResizeNone: j,
|
|
55
|
+
...D,
|
|
56
|
+
id: p,
|
|
57
|
+
"aria-invalid": n ? !0 : void 0,
|
|
59
58
|
"aria-describedby": y,
|
|
60
|
-
ref:
|
|
61
|
-
onFocus:
|
|
62
|
-
onBlur:
|
|
63
|
-
onChange:
|
|
64
|
-
...
|
|
59
|
+
ref: h,
|
|
60
|
+
onFocus: A,
|
|
61
|
+
onBlur: E,
|
|
62
|
+
onChange: N,
|
|
63
|
+
...T
|
|
65
64
|
}
|
|
66
65
|
),
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
/* @__PURE__ */
|
|
70
|
-
(s ||
|
|
66
|
+
d && /* @__PURE__ */ o(Y, { "aria-hidden": "true", style: { top: "1.2rem", transform: "none" }, children: /* @__PURE__ */ o(w, { svgIcon: d, iconStyles: I }) }),
|
|
67
|
+
f && /* @__PURE__ */ o(Z, { "aria-hidden": "true", style: { top: "1.2rem", transform: "none" }, children: /* @__PURE__ */ o(w, { svgIcon: f, iconStyles: I }) }),
|
|
68
|
+
/* @__PURE__ */ F(U, { children: [
|
|
69
|
+
(s || i && !r) && /* @__PURE__ */ o(
|
|
71
70
|
V,
|
|
72
71
|
{
|
|
73
72
|
as: "label",
|
|
74
|
-
htmlFor:
|
|
75
|
-
$hasError:
|
|
76
|
-
$isFocused:
|
|
77
|
-
$shade:
|
|
78
|
-
$value:
|
|
79
|
-
$outerBackground:
|
|
80
|
-
$hasLeftIcon:
|
|
73
|
+
htmlFor: p,
|
|
74
|
+
$hasError: n,
|
|
75
|
+
$isFocused: e,
|
|
76
|
+
$shade: a,
|
|
77
|
+
$value: r,
|
|
78
|
+
$outerBackground: e || r ? S : g,
|
|
79
|
+
$hasLeftIcon: l,
|
|
81
80
|
$hasRightIcon: x,
|
|
82
|
-
$onlyPh:
|
|
83
|
-
children: s ||
|
|
81
|
+
$onlyPh: i && !s,
|
|
82
|
+
children: s || i
|
|
84
83
|
}
|
|
85
84
|
),
|
|
86
|
-
c && /* @__PURE__ */
|
|
85
|
+
c && /* @__PURE__ */ o(X, { id: y, $hasError: n, $isFocused: e, $shade: a, $hasLeftIcon: l, children: c })
|
|
87
86
|
] })
|
|
88
87
|
] });
|
|
89
88
|
};
|
|
90
89
|
export {
|
|
91
|
-
|
|
90
|
+
dt as default
|
|
92
91
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import o, { css as r } from "styled-components";
|
|
2
2
|
import { black as a } from "../../../colors/black.js";
|
|
3
3
|
import l from "../../../colors/grey.js";
|
|
4
|
-
import
|
|
4
|
+
import m from "../../../colors/red.js";
|
|
5
5
|
import { getCssShade as i } from "./helpers.js";
|
|
6
6
|
const b = o.textarea`
|
|
7
7
|
border-radius: 0.64rem;
|
|
8
8
|
font-size: 2.24rem;
|
|
9
|
-
border: 2px solid ${({ $hasError: e }) => e ?
|
|
9
|
+
border: 2px solid ${({ $hasError: e }) => e ? m.m400 : a.m200};
|
|
10
10
|
padding: 0.96rem;
|
|
11
11
|
font-weight: 400;
|
|
12
12
|
transition: border-color 0.3s ease;
|
|
@@ -20,8 +20,6 @@ const b = o.textarea`
|
|
|
20
20
|
|
|
21
21
|
${({ $isDynamic: e }) => e && r`
|
|
22
22
|
resize: none;
|
|
23
|
-
display: block;
|
|
24
|
-
overflow: hidden;
|
|
25
23
|
`}
|
|
26
24
|
|
|
27
25
|
&:-webkit-autofill,
|
|
@@ -1,132 +1,133 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as
|
|
1
|
+
import { jsxs as l, jsx as e, Fragment as O } from "react/jsx-runtime";
|
|
2
|
+
import { useState as c, useRef as he, useEffect as U } from "react";
|
|
3
3
|
import r from "../../_virtual/index.js";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { Wrapper as
|
|
8
|
-
import { getSize as
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
import pe from "../Glass/Glass.js";
|
|
5
|
+
import ge from "./components/TimerRing/TimerRing.js";
|
|
6
|
+
import b from "../../colors/white.js";
|
|
7
|
+
import { Wrapper as be, AlarmRing as fe, BulletRing as Te, Bullet as Se, VisuallyHidden as $e, Dimmer as ye, DotsWrapper as Ae, AllDots as Pe, Dots as we, Time as _, TimeTxt as G, HourHand as De, MinuteHand as Re, SecondHand as Me, LeftActions as Ce, ActionBtn as f, MediaStopFilledWrapper as ke, MediaPauseFilledWrapper as He, MediaPlayFilledWrapper as Ie, AlarmLabel as Le, TimerDigit as We, RightActions as ze, AddWrapper as xe } from "./styles.js";
|
|
8
|
+
import { getSize as Ne } from "./helpers.js";
|
|
9
|
+
import je from "../Icons/ClockCircleOutline/ClockCircleOutline.js";
|
|
10
|
+
const h = () => {
|
|
11
|
+
}, ve = (T) => () => {
|
|
12
|
+
const m = (/* @__PURE__ */ new Date()).toLocaleString("en-Us", { hour12: !0, timeZone: T }).split(", ")[1].split(" ")[0], [$, i, p] = m.split(":").map(Number);
|
|
12
13
|
return {
|
|
13
|
-
second:
|
|
14
|
-
minute: i * 6 +
|
|
15
|
-
hour:
|
|
14
|
+
second: p * 6,
|
|
15
|
+
minute: i * 6 + p * 0.1,
|
|
16
|
+
hour: $ % 12 * 30 + i * 0.5
|
|
16
17
|
};
|
|
17
|
-
},
|
|
18
|
-
color:
|
|
19
|
-
showTime:
|
|
20
|
-
showTimeWithSec:
|
|
21
|
-
timeZone:
|
|
22
|
-
isDigital:
|
|
18
|
+
}, Be = ({
|
|
19
|
+
color: T = "green",
|
|
20
|
+
showTime: H = !0,
|
|
21
|
+
showTimeWithSec: S = !0,
|
|
22
|
+
timeZone: m = "Asia/Kolkata",
|
|
23
|
+
isDigital: $ = !0,
|
|
23
24
|
timerSeconds: i = 0,
|
|
24
|
-
onTimerAdd:
|
|
25
|
-
onTimerComplete: K =
|
|
26
|
-
onTimerRemove: q =
|
|
27
|
-
onTimerPause: J =
|
|
28
|
-
onTimerPlay: Q =
|
|
29
|
-
size:
|
|
25
|
+
onTimerAdd: p = h,
|
|
26
|
+
onTimerComplete: K = h,
|
|
27
|
+
onTimerRemove: q = h,
|
|
28
|
+
onTimerPause: J = h,
|
|
29
|
+
onTimerPlay: Q = h,
|
|
30
|
+
size: I = 30,
|
|
30
31
|
...V
|
|
31
32
|
}) => {
|
|
32
|
-
const [
|
|
33
|
+
const [y, X] = c(/* @__PURE__ */ new Date()), [n, A] = c(0), [g, P] = c(!1), [w, Y] = c(ve(m)), [Z, D] = c(0), [u, R] = c(!1), L = he(g), t = Math.round(I), M = Math.round(14 * I / 20);
|
|
33
34
|
U(() => {
|
|
34
|
-
|
|
35
|
-
}, [
|
|
35
|
+
L.current = g;
|
|
36
|
+
}, [g]);
|
|
36
37
|
const ee = () => {
|
|
37
|
-
|
|
38
|
+
A(i), D(i % 60 * 6), P(!1), p();
|
|
38
39
|
}, te = () => {
|
|
39
|
-
|
|
40
|
+
R(!0), q();
|
|
40
41
|
}, re = () => {
|
|
41
|
-
|
|
42
|
+
A(0), D(0), R(!1);
|
|
42
43
|
}, ie = () => {
|
|
43
|
-
|
|
44
|
+
P(!0), J();
|
|
44
45
|
}, ne = () => {
|
|
45
|
-
|
|
46
|
+
P(!1), Q();
|
|
46
47
|
};
|
|
47
48
|
U(() => {
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
X(
|
|
51
|
-
const
|
|
49
|
+
const s = setInterval(() => {
|
|
50
|
+
const o = /* @__PURE__ */ new Date();
|
|
51
|
+
X(o), Y((a) => {
|
|
52
|
+
const le = o.toLocaleString("en-Us", { hour12: !0, timeZone: m }).split(", ")[1].split(" ")[0], [de, j, v] = le.split(":").map(Number), ce = v * 6, me = j * 6 + v * 0.1, ue = de % 12 * 30 + j * 0.5, k = (B, E) => {
|
|
52
53
|
const F = B % 360;
|
|
53
54
|
return B - F + E + (E < F ? 360 : 0);
|
|
54
55
|
};
|
|
55
56
|
return {
|
|
56
|
-
second:
|
|
57
|
-
minute:
|
|
58
|
-
hour:
|
|
57
|
+
second: k(a.second, ce),
|
|
58
|
+
minute: k(a.minute, me),
|
|
59
|
+
hour: k(a.hour, ue)
|
|
59
60
|
};
|
|
60
|
-
}),
|
|
61
|
+
}), L.current || (A((a) => (a - 1 === 0 && (K(), R(!0)), a - 1)), D((a) => a - 6));
|
|
61
62
|
}, 1e3);
|
|
62
|
-
return () => clearInterval(
|
|
63
|
+
return () => clearInterval(s);
|
|
63
64
|
}, []);
|
|
64
|
-
const
|
|
65
|
-
return /* @__PURE__ */
|
|
66
|
-
/* @__PURE__ */ e(
|
|
67
|
-
(!d ||
|
|
65
|
+
const C = y.toLocaleString("en-Us", { hour12: !0, timeZone: m }).split(", ")[1], W = C.split(" ")[0], z = C.split(" ")[1], x = C.split(":").slice(0, 2).join(":"), d = !(Number.isInteger(n) && n > 0), oe = String(Math.floor(n / 60)).padStart(2, "0"), ae = String(n % 60).padStart(2, "0"), se = `${oe}:${ae}`, N = `${S ? W : x} ${z}`;
|
|
66
|
+
return /* @__PURE__ */ l(be, { $color: T, role: "region", "aria-label": "Clock", $size: t, ...V, children: [
|
|
67
|
+
/* @__PURE__ */ e(pe, { borderRadius: `${Ne(16.67)({ $size: t })}rem`, "aria-hidden": "true" }),
|
|
68
|
+
(!d || u) && /* @__PURE__ */ l(O, { children: [
|
|
68
69
|
/* @__PURE__ */ e(
|
|
69
|
-
|
|
70
|
+
fe,
|
|
70
71
|
{
|
|
71
|
-
$dismissing:
|
|
72
|
+
$dismissing: u,
|
|
72
73
|
onAnimationEnd: re,
|
|
73
74
|
"aria-hidden": "true",
|
|
74
|
-
children: /* @__PURE__ */ e(
|
|
75
|
+
children: /* @__PURE__ */ e(ge, { progress: n >= 60 ? 1 : n % 60 / 60 })
|
|
75
76
|
}
|
|
76
77
|
),
|
|
77
78
|
/* @__PURE__ */ e(
|
|
78
|
-
|
|
79
|
+
Te,
|
|
79
80
|
{
|
|
80
81
|
$size: t,
|
|
81
82
|
style: { "--bullet-rotate": `${Z}deg` },
|
|
82
|
-
$dismissing:
|
|
83
|
+
$dismissing: u,
|
|
83
84
|
"aria-hidden": "true",
|
|
84
|
-
children: /* @__PURE__ */ e(
|
|
85
|
+
children: /* @__PURE__ */ e(Se, { $size: t })
|
|
85
86
|
}
|
|
86
87
|
),
|
|
87
88
|
/* @__PURE__ */ e(
|
|
88
|
-
|
|
89
|
+
$e,
|
|
89
90
|
{
|
|
90
91
|
role: "timer",
|
|
91
92
|
"aria-live": "polite",
|
|
92
|
-
"aria-label": `${
|
|
93
|
+
"aria-label": `${n} seconds remaining`
|
|
93
94
|
}
|
|
94
95
|
)
|
|
95
96
|
] }),
|
|
96
|
-
|
|
97
|
-
/* @__PURE__ */ e(
|
|
98
|
-
|
|
99
|
-
/* @__PURE__ */ e(G, { $size: t, "aria-hidden": "true", children:
|
|
97
|
+
H && /* @__PURE__ */ l(O, { children: [
|
|
98
|
+
/* @__PURE__ */ e(ye, { "aria-hidden": "true", $size: t, children: /* @__PURE__ */ e(Ae, { children: /* @__PURE__ */ e(Pe, { "aria-hidden": "true", children: [...Array(60)].map((s, o) => /* @__PURE__ */ e(we, { $i: o, $size: t }, o)) }) }) }),
|
|
99
|
+
$ ? /* @__PURE__ */ l(_, { as: "time", dateTime: y.toISOString(), "aria-label": N, children: [
|
|
100
|
+
/* @__PURE__ */ e(G, { $size: t, "aria-hidden": "true", children: S ? W : x }),
|
|
100
101
|
/* @__PURE__ */ e(G, { $size: t, "aria-hidden": "true", children: z })
|
|
101
|
-
] }) : /* @__PURE__ */
|
|
102
|
+
] }) : /* @__PURE__ */ l(_, { as: "time", dateTime: y.toISOString(), "aria-label": N, children: [
|
|
102
103
|
/* @__PURE__ */ e(
|
|
103
|
-
|
|
104
|
+
De,
|
|
104
105
|
{
|
|
105
106
|
$size: t,
|
|
106
|
-
style: { "--hand-rotate": `${
|
|
107
|
+
style: { "--hand-rotate": `${w.hour}deg` },
|
|
107
108
|
"aria-hidden": "true"
|
|
108
109
|
}
|
|
109
110
|
),
|
|
110
111
|
/* @__PURE__ */ e(
|
|
111
|
-
|
|
112
|
+
Re,
|
|
112
113
|
{
|
|
113
114
|
$size: t,
|
|
114
|
-
style: { "--hand-rotate": `${
|
|
115
|
+
style: { "--hand-rotate": `${w.minute}deg` },
|
|
115
116
|
"aria-hidden": "true"
|
|
116
117
|
}
|
|
117
118
|
),
|
|
118
119
|
/* @__PURE__ */ e(
|
|
119
|
-
|
|
120
|
+
Me,
|
|
120
121
|
{
|
|
121
122
|
$size: t,
|
|
122
|
-
style: { "--hand-rotate": `${
|
|
123
|
+
style: { "--hand-rotate": `${w.second}deg` },
|
|
123
124
|
"aria-hidden": "true"
|
|
124
125
|
}
|
|
125
126
|
)
|
|
126
127
|
] })
|
|
127
128
|
] }),
|
|
128
|
-
i > 0 && /* @__PURE__ */
|
|
129
|
-
|
|
129
|
+
i > 0 && /* @__PURE__ */ l(
|
|
130
|
+
Ce,
|
|
130
131
|
{
|
|
131
132
|
$size: t,
|
|
132
133
|
$noActions: d,
|
|
@@ -134,43 +135,63 @@ const u = () => {
|
|
|
134
135
|
"aria-label": "Timer controls",
|
|
135
136
|
children: [
|
|
136
137
|
/* @__PURE__ */ e(
|
|
137
|
-
|
|
138
|
+
f,
|
|
138
139
|
{
|
|
139
140
|
type: "button",
|
|
140
141
|
onClick: te,
|
|
141
142
|
$size: t,
|
|
142
143
|
"aria-label": "Stop timer",
|
|
143
144
|
"aria-disabled": d,
|
|
144
|
-
children: /* @__PURE__ */ e(
|
|
145
|
+
children: /* @__PURE__ */ e(ke, { color: b, size: M, "aria-hidden": "true" })
|
|
145
146
|
}
|
|
146
147
|
),
|
|
147
|
-
d || !
|
|
148
|
-
|
|
148
|
+
d || !g ? /* @__PURE__ */ e(
|
|
149
|
+
f,
|
|
149
150
|
{
|
|
150
151
|
type: "button",
|
|
151
152
|
onClick: ie,
|
|
152
153
|
$size: t,
|
|
153
154
|
"aria-label": "Pause timer",
|
|
154
155
|
"aria-disabled": d,
|
|
155
|
-
children: /* @__PURE__ */ e(He, { color:
|
|
156
|
+
children: /* @__PURE__ */ e(He, { color: b, size: M, "aria-hidden": "true" })
|
|
157
|
+
}
|
|
158
|
+
) : /* @__PURE__ */ e(f, { type: "button", onClick: ne, "aria-label": "Resume timer", $size: t, children: /* @__PURE__ */ e(Ie, { color: b, size: M, "aria-hidden": "true" }) })
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
),
|
|
162
|
+
(!d || u) && /* @__PURE__ */ l(
|
|
163
|
+
Le,
|
|
164
|
+
{
|
|
165
|
+
$size: t,
|
|
166
|
+
$dismissing: u,
|
|
167
|
+
"aria-label": `${n} seconds remaining`,
|
|
168
|
+
children: [
|
|
169
|
+
/* @__PURE__ */ e(
|
|
170
|
+
je,
|
|
171
|
+
{
|
|
172
|
+
color: "rgba(255,255,255,0.82)",
|
|
173
|
+
style: { width: "1em", height: "1em", flexShrink: 0 }
|
|
156
174
|
}
|
|
157
|
-
)
|
|
175
|
+
),
|
|
176
|
+
se.split("").map(
|
|
177
|
+
(s, o) => s === ":" ? /* @__PURE__ */ e("span", { children: s }, o) : /* @__PURE__ */ e(We, { children: s }, `${o}-${s}`)
|
|
178
|
+
)
|
|
158
179
|
]
|
|
159
180
|
}
|
|
160
181
|
),
|
|
161
|
-
i > 0 && /* @__PURE__ */ e(
|
|
162
|
-
|
|
182
|
+
i > 0 && /* @__PURE__ */ e(ze, { role: "group", $size: t, "aria-label": "Start timer", children: /* @__PURE__ */ e(
|
|
183
|
+
f,
|
|
163
184
|
{
|
|
164
185
|
type: "button",
|
|
165
186
|
onClick: ee,
|
|
166
187
|
$size: t,
|
|
167
188
|
"aria-label": `Start ${i} second timer`,
|
|
168
|
-
children: /* @__PURE__ */ e(
|
|
189
|
+
children: /* @__PURE__ */ e(xe, { color: b, size: t, "aria-hidden": "true" })
|
|
169
190
|
}
|
|
170
191
|
) })
|
|
171
192
|
] });
|
|
172
193
|
};
|
|
173
|
-
|
|
194
|
+
Be.propTypes = {
|
|
174
195
|
/** Color theme key for the clock and accent elements. Defaults to `'green'` */
|
|
175
196
|
color: r.string,
|
|
176
197
|
/** Diameter of the clock in pixels. Defaults to `30` */
|
|
@@ -197,5 +218,5 @@ ze.propTypes = {
|
|
|
197
218
|
onTimerPlay: r.func
|
|
198
219
|
};
|
|
199
220
|
export {
|
|
200
|
-
|
|
221
|
+
Be as default
|
|
201
222
|
};
|
|
@@ -1,42 +1,93 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useRef as
|
|
3
|
-
import
|
|
4
|
-
import { SVG as
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
return
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
}, [
|
|
11
|
-
/* @__PURE__ */
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as f, useEffect as d } from "react";
|
|
3
|
+
import n from "../../../../colors/white.js";
|
|
4
|
+
import { SVG as u } from "./styles.js";
|
|
5
|
+
const i = 33, o = 2 * Math.PI * i, m = ({ progress: t }) => {
|
|
6
|
+
const c = f(null), l = 2 * Math.PI * t, s = 50 + i * Math.cos(l), a = 48 + i * Math.sin(l);
|
|
7
|
+
return d(() => {
|
|
8
|
+
const h = o * (1 - t);
|
|
9
|
+
c.current.style.strokeDashoffset = h;
|
|
10
|
+
}, [t]), /* @__PURE__ */ r(u, { viewBox: "0 0 100 100", width: "100%", height: "100%", children: [
|
|
11
|
+
/* @__PURE__ */ r("defs", { children: [
|
|
12
|
+
/* @__PURE__ */ r("filter", { id: "ambient-glow", x: "-40%", y: "-40%", width: "180%", height: "180%", children: [
|
|
13
|
+
/* @__PURE__ */ e("feGaussianBlur", { in: "SourceGraphic", stdDeviation: "3.5", result: "blur" }),
|
|
14
|
+
/* @__PURE__ */ e("feComposite", { in: "blur", in2: "SourceGraphic", operator: "over" })
|
|
15
|
+
] }),
|
|
16
|
+
/* @__PURE__ */ r("filter", { id: "arc-glow", x: "-20%", y: "-20%", width: "140%", height: "140%", children: [
|
|
17
|
+
/* @__PURE__ */ e("feGaussianBlur", { in: "SourceGraphic", stdDeviation: "0.7", result: "blur" }),
|
|
18
|
+
/* @__PURE__ */ r("feMerge", { children: [
|
|
19
|
+
/* @__PURE__ */ e("feMergeNode", { in: "blur" }),
|
|
20
|
+
/* @__PURE__ */ e("feMergeNode", { in: "SourceGraphic" })
|
|
21
|
+
] })
|
|
22
|
+
] }),
|
|
23
|
+
/* @__PURE__ */ r("filter", { id: "head-glow", x: "-150%", y: "-150%", width: "400%", height: "400%", children: [
|
|
24
|
+
/* @__PURE__ */ e("feGaussianBlur", { in: "SourceGraphic", stdDeviation: "1.6", result: "blur" }),
|
|
25
|
+
/* @__PURE__ */ r("feMerge", { children: [
|
|
26
|
+
/* @__PURE__ */ e("feMergeNode", { in: "blur" }),
|
|
27
|
+
/* @__PURE__ */ e("feMergeNode", { in: "SourceGraphic" })
|
|
28
|
+
] })
|
|
29
|
+
] })
|
|
30
|
+
] }),
|
|
31
|
+
/* @__PURE__ */ r("g", { transform: "rotate(-90, 50, 48)", children: [
|
|
32
|
+
t > 5e-3 && /* @__PURE__ */ e(
|
|
33
|
+
"circle",
|
|
34
|
+
{
|
|
35
|
+
cx: 50,
|
|
36
|
+
cy: 48,
|
|
37
|
+
r: i,
|
|
38
|
+
stroke: "rgba(255,255,255,0.09)",
|
|
39
|
+
strokeWidth: 6,
|
|
40
|
+
fill: "none",
|
|
41
|
+
strokeDasharray: o,
|
|
42
|
+
strokeDashoffset: o * (1 - t),
|
|
43
|
+
filter: "url(#ambient-glow)"
|
|
44
|
+
}
|
|
45
|
+
),
|
|
46
|
+
/* @__PURE__ */ e("circle", { cx: 50, cy: 48, r: i, stroke: "rgba(0,0,0,0.28)", strokeWidth: 4, fill: "none" }),
|
|
47
|
+
/* @__PURE__ */ e(
|
|
48
|
+
"circle",
|
|
49
|
+
{
|
|
50
|
+
cx: 50,
|
|
51
|
+
cy: 48,
|
|
52
|
+
r: i,
|
|
53
|
+
stroke: "rgba(255,255,255,.14)",
|
|
54
|
+
strokeWidth: 1.4,
|
|
55
|
+
fill: "none"
|
|
56
|
+
}
|
|
57
|
+
),
|
|
58
|
+
/* @__PURE__ */ e(
|
|
59
|
+
"circle",
|
|
60
|
+
{
|
|
61
|
+
ref: c,
|
|
62
|
+
cx: 50,
|
|
63
|
+
cy: 48,
|
|
64
|
+
r: i,
|
|
65
|
+
stroke: n,
|
|
66
|
+
strokeWidth: 2,
|
|
67
|
+
fill: "none",
|
|
68
|
+
strokeLinecap: "round",
|
|
69
|
+
strokeDasharray: o,
|
|
70
|
+
strokeDashoffset: o,
|
|
71
|
+
filter: "url(#arc-glow)",
|
|
72
|
+
style: { transition: "stroke-dashoffset 0.2s linear" }
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
t > 5e-3 && /* @__PURE__ */ e(
|
|
76
|
+
"circle",
|
|
77
|
+
{
|
|
78
|
+
cx: s,
|
|
79
|
+
cy: a,
|
|
80
|
+
r: 1.8,
|
|
81
|
+
fill: n,
|
|
82
|
+
filter: "url(#head-glow)",
|
|
83
|
+
style: {
|
|
84
|
+
transition: "cx 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), cy 0.35s cubic-bezier(0.34, 1.56, 0.64, 1)"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
] })
|
|
89
|
+
] });
|
|
39
90
|
};
|
|
40
91
|
export {
|
|
41
|
-
|
|
92
|
+
m as default
|
|
42
93
|
};
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import o, { css as
|
|
2
|
-
import
|
|
3
|
-
import { black as
|
|
4
|
-
import
|
|
5
|
-
import { COLOR_MAPPING as
|
|
1
|
+
import o, { css as e, keyframes as i } from "styled-components";
|
|
2
|
+
import a from "../../colors/white.js";
|
|
3
|
+
import { black as p } from "../../colors/black.js";
|
|
4
|
+
import c from "../../colors/red.js";
|
|
5
|
+
import { COLOR_MAPPING as m } from "./constants.js";
|
|
6
6
|
import { getSize as t } from "./helpers.js";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
const s = 1,
|
|
7
|
+
import b from "../Icons/MediaStopFilled/MediaStopFilled.js";
|
|
8
|
+
import g from "../Icons/MediaPauseFilled/MediaPauseFilled.js";
|
|
9
|
+
import f from "../Icons/MediaPlayFilled/MediaPlayFilled.js";
|
|
10
|
+
import u from "../Icons/Add/Add.js";
|
|
11
|
+
const s = 1, h = 16.67, l = 1.67, $ = 3.404, v = ({ $color: r }) => m[r], n = e`
|
|
12
12
|
position: absolute;
|
|
13
13
|
bottom: 50%;
|
|
14
14
|
transform-origin: bottom;
|
|
15
15
|
border-radius: 4px;
|
|
16
16
|
transition: rotate 0.3s ease-in-out;
|
|
17
17
|
rotate: var(--hand-rotate);
|
|
18
|
-
`,
|
|
18
|
+
`, _ = o.div`
|
|
19
19
|
position: relative;
|
|
20
20
|
height: ${t(s)}rem;
|
|
21
21
|
width: ${t(s)}rem;
|
|
22
|
-
border-radius: ${t(
|
|
22
|
+
border-radius: ${t(h)}rem;
|
|
23
23
|
background-color: ${v};
|
|
24
|
-
`,
|
|
24
|
+
`, D = o.div`
|
|
25
25
|
position: absolute;
|
|
26
26
|
left: 50%;
|
|
27
27
|
top: 48%;
|
|
28
|
-
width: ${t(
|
|
29
|
-
height: ${t(
|
|
28
|
+
width: ${t(l)}rem;
|
|
29
|
+
height: ${t(l)}rem;
|
|
30
30
|
transform: translate(-50%, -50%);
|
|
31
31
|
border-radius: 50%;
|
|
32
32
|
background-color: rgba(0, 0, 0, 0.16);
|
|
33
33
|
pointer-events: none;
|
|
34
|
-
`,
|
|
34
|
+
`, F = o.div`
|
|
35
35
|
position: absolute;
|
|
36
36
|
left: 50%;
|
|
37
37
|
top: 48%;
|
|
38
38
|
transform: translate(-50%, -50%);
|
|
39
|
-
`,
|
|
40
|
-
color: ${
|
|
39
|
+
`, z = o.div`
|
|
40
|
+
color: ${a};
|
|
41
41
|
font-size: ${t(13.33)}rem;
|
|
42
|
-
font-weight:
|
|
42
|
+
font-weight: 650;
|
|
43
43
|
text-align: center;
|
|
44
|
-
opacity: 0.
|
|
45
|
-
`,
|
|
44
|
+
opacity: 0.84;
|
|
45
|
+
`, H = o.span`
|
|
46
46
|
position: absolute;
|
|
47
47
|
width: ${t(120)}rem;
|
|
48
48
|
height: ${t(120)}rem;
|
|
49
49
|
background: rgba(255, 255, 255, 0.4);
|
|
50
|
-
transform-origin: ${t(
|
|
50
|
+
transform-origin: ${t($)}rem;
|
|
51
51
|
border-radius: 2px;
|
|
52
|
-
rotate: ${({ $i:
|
|
52
|
+
rotate: ${({ $i: r }) => `${r * 6}deg`};
|
|
53
53
|
|
|
54
54
|
&:nth-child(5n) {
|
|
55
55
|
width: ${t(90)}rem;
|
|
@@ -62,11 +62,11 @@ const s = 1, f = 16.67, a = 1.67, g = 3.404, v = ({ $color: e }) => c[e], n = r`
|
|
|
62
62
|
height: ${t(130)}rem;
|
|
63
63
|
background: rgba(255, 255, 255);
|
|
64
64
|
}
|
|
65
|
-
`,
|
|
65
|
+
`, Y = o.div`
|
|
66
66
|
position: relative;
|
|
67
67
|
height: 100%;
|
|
68
68
|
width: 100%;
|
|
69
|
-
`,
|
|
69
|
+
`, E = o.div`
|
|
70
70
|
position: absolute;
|
|
71
71
|
left: 1.6%;
|
|
72
72
|
top: 43.8%;
|
|
@@ -75,28 +75,73 @@ const s = 1, f = 16.67, a = 1.67, g = 3.404, v = ({ $color: e }) => c[e], n = r`
|
|
|
75
75
|
${n};
|
|
76
76
|
width: ${t(50)}rem;
|
|
77
77
|
height: ${t(5.33)}rem;
|
|
78
|
-
background: ${
|
|
78
|
+
background: ${a};
|
|
79
79
|
`, N = o.div`
|
|
80
80
|
${n};
|
|
81
81
|
width: ${t(80)}rem;
|
|
82
82
|
height: ${t(4)}rem;
|
|
83
|
-
background: ${
|
|
84
|
-
`,
|
|
83
|
+
background: ${p.m200};
|
|
84
|
+
`, X = o.div`
|
|
85
85
|
${n};
|
|
86
86
|
width: ${t(133.33)}rem;
|
|
87
87
|
height: ${t(3.64)}rem;
|
|
88
|
-
background: ${
|
|
89
|
-
`, d =
|
|
88
|
+
background: ${c.m800};
|
|
89
|
+
`, d = i`
|
|
90
90
|
from { opacity: 1; transform: scale(1); }
|
|
91
91
|
to { opacity: 0; transform: scale(0.9); }
|
|
92
|
-
`,
|
|
92
|
+
`, w = i`
|
|
93
|
+
from { opacity: 0; transform: translateY(-5px); }
|
|
94
|
+
to { opacity: 1; transform: translateY(0); }
|
|
95
|
+
`, x = i`
|
|
96
|
+
from { opacity: 0; transform: translateX(-50%) translateY(calc(-100% + 8px)) scale(0.9); }
|
|
97
|
+
to { opacity: 1; transform: translateX(-50%) translateY(-100%) scale(1); }
|
|
98
|
+
`, k = i`
|
|
99
|
+
from { opacity: 1; transform: translateX(-50%) translateY(-100%) scale(1); }
|
|
100
|
+
to { opacity: 0; transform: translateX(-50%) translateY(calc(-100% + 8px)) scale(0.85); }
|
|
101
|
+
`, C = o.span`
|
|
102
|
+
display: inline-block;
|
|
103
|
+
animation: ${w} 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) both;
|
|
104
|
+
`, L = o.div`
|
|
93
105
|
position: absolute;
|
|
94
106
|
inset: 0;
|
|
95
107
|
pointer-events: none;
|
|
96
|
-
|
|
108
|
+
border-radius: inherit;
|
|
109
|
+
background: radial-gradient(
|
|
110
|
+
ellipse 88% 88% at 50% 48%,
|
|
111
|
+
rgba(0, 0, 0, 0) 18%,
|
|
112
|
+
rgba(0, 0, 0, 0.05) 42%,
|
|
113
|
+
rgba(0, 0, 0, 0.16) 65%,
|
|
114
|
+
rgba(0, 0, 0, 0.3) 85%,
|
|
115
|
+
rgba(0, 0, 0, 0.42) 100%
|
|
116
|
+
);
|
|
117
|
+
${({ $dismissing: r }) => r && e`
|
|
97
118
|
animation: ${d} 0.6s ease-out forwards;
|
|
98
119
|
`}
|
|
99
|
-
`,
|
|
120
|
+
`, G = o.div`
|
|
121
|
+
position: absolute;
|
|
122
|
+
left: 50%;
|
|
123
|
+
top: calc(${t(100 / 12)}rem - ${t(55)}rem);
|
|
124
|
+
display: flex;
|
|
125
|
+
align-items: center;
|
|
126
|
+
gap: 0.3em;
|
|
127
|
+
white-space: nowrap;
|
|
128
|
+
color: rgba(255, 255, 255, 0.82);
|
|
129
|
+
font-size: ${t(21)}rem;
|
|
130
|
+
font-weight: 600;
|
|
131
|
+
letter-spacing: 0.05em;
|
|
132
|
+
padding: 0.22em 0.6em;
|
|
133
|
+
border-radius: 999px;
|
|
134
|
+
background: rgba(0, 0, 0, 0.22);
|
|
135
|
+
backdrop-filter: blur(6px);
|
|
136
|
+
-webkit-backdrop-filter: blur(6px);
|
|
137
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
138
|
+
pointer-events: none;
|
|
139
|
+
animation: ${({ $dismissing: r }) => r ? e`
|
|
140
|
+
${k} 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards
|
|
141
|
+
` : e`
|
|
142
|
+
${x} 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both
|
|
143
|
+
`};
|
|
144
|
+
`, V = o.div`
|
|
100
145
|
position: absolute;
|
|
101
146
|
bottom: 6%;
|
|
102
147
|
left: 8%;
|
|
@@ -104,65 +149,67 @@ const s = 1, f = 16.67, a = 1.67, g = 3.404, v = ({ $color: e }) => c[e], n = r`
|
|
|
104
149
|
align-items: center;
|
|
105
150
|
gap: ${t(50)}rem;
|
|
106
151
|
|
|
107
|
-
${({ $noActions:
|
|
152
|
+
${({ $noActions: r }) => r && e`
|
|
108
153
|
pointer-events: none;
|
|
109
154
|
opacity: 0.5;
|
|
110
155
|
`}
|
|
111
|
-
`,
|
|
156
|
+
`, j = o.div`
|
|
112
157
|
position: absolute;
|
|
113
158
|
bottom: 6%;
|
|
114
159
|
right: 8%;
|
|
115
160
|
border-radius: ${t(50)}rem;
|
|
116
|
-
`,
|
|
161
|
+
`, q = o.button`
|
|
117
162
|
position: relative;
|
|
118
163
|
height: ${t(8.33)}rem;
|
|
119
164
|
width: ${t(8.33)}rem;
|
|
120
165
|
cursor: pointer;
|
|
121
|
-
background-color: rgba(0, 0, 0, 0.
|
|
122
|
-
|
|
166
|
+
background-color: rgba(0, 0, 0, 0.28);
|
|
167
|
+
backdrop-filter: blur(6px);
|
|
168
|
+
-webkit-backdrop-filter: blur(6px);
|
|
169
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
123
170
|
border-radius: ${t(50)}rem;
|
|
124
171
|
padding: 0;
|
|
125
172
|
|
|
126
173
|
&:focus-visible {
|
|
127
|
-
outline: 2px solid ${
|
|
174
|
+
outline: 2px solid ${a};
|
|
128
175
|
outline-offset: 2px;
|
|
129
176
|
}
|
|
130
|
-
`,
|
|
177
|
+
`, J = o(u)`
|
|
131
178
|
position: absolute;
|
|
132
179
|
left: 50%;
|
|
133
180
|
top: 50%;
|
|
134
181
|
transform: translate(-50%, -50%);
|
|
135
|
-
`,
|
|
182
|
+
`, K = o(b)`
|
|
136
183
|
position: absolute;
|
|
137
184
|
left: 50%;
|
|
138
185
|
top: 50%;
|
|
139
186
|
transform: translate(-50%, -50%);
|
|
140
|
-
`,
|
|
187
|
+
`, Q = o(g)`
|
|
141
188
|
position: absolute;
|
|
142
189
|
left: 50%;
|
|
143
190
|
top: 50%;
|
|
144
191
|
transform: translate(-50%, -50%);
|
|
145
|
-
`,
|
|
192
|
+
`, U = o(f)`
|
|
146
193
|
position: absolute;
|
|
147
194
|
left: 50%;
|
|
148
195
|
top: 50%;
|
|
149
196
|
transform: translate(-50%, -50%);
|
|
150
|
-
`,
|
|
197
|
+
`, Z = o.span`
|
|
151
198
|
position: absolute;
|
|
152
199
|
width: 1px;
|
|
153
200
|
height: 1px;
|
|
154
201
|
overflow: hidden;
|
|
155
202
|
clip-path: inset(50%);
|
|
156
203
|
white-space: nowrap;
|
|
157
|
-
`,
|
|
204
|
+
`, tt = o.div`
|
|
158
205
|
position: absolute;
|
|
159
206
|
width: ${t(35)}rem;
|
|
160
207
|
height: ${t(35)}rem;
|
|
161
208
|
border-radius: 50%;
|
|
162
|
-
background-color: ${
|
|
209
|
+
background-color: ${a};
|
|
163
210
|
left: calc(-${t(70)}rem);
|
|
164
211
|
top: calc(-${t(100 / 33)}rem - ${t(70)}rem);
|
|
165
|
-
`,
|
|
212
|
+
`, ot = o.div`
|
|
166
213
|
position: absolute;
|
|
167
214
|
left: 50%;
|
|
168
215
|
top: 48%;
|
|
@@ -171,30 +218,32 @@ const s = 1, f = 16.67, a = 1.67, g = 3.404, v = ({ $color: e }) => c[e], n = r`
|
|
|
171
218
|
rotate: var(--bullet-rotate);
|
|
172
219
|
transform-origin: 0 0;
|
|
173
220
|
transition: rotate 0.3s ease;
|
|
174
|
-
${({ $dismissing:
|
|
221
|
+
${({ $dismissing: r }) => r && e`
|
|
175
222
|
animation: ${d} 0.6s ease-out forwards;
|
|
176
223
|
`}
|
|
177
224
|
`;
|
|
178
225
|
export {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
226
|
+
q as ActionBtn,
|
|
227
|
+
J as AddWrapper,
|
|
228
|
+
G as AlarmLabel,
|
|
229
|
+
L as AlarmRing,
|
|
230
|
+
E as AllDots,
|
|
231
|
+
tt as Bullet,
|
|
232
|
+
ot as BulletRing,
|
|
233
|
+
D as Dimmer,
|
|
234
|
+
H as Dots,
|
|
235
|
+
Y as DotsWrapper,
|
|
188
236
|
B as HourHand,
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
237
|
+
V as LeftActions,
|
|
238
|
+
Q as MediaPauseFilledWrapper,
|
|
239
|
+
U as MediaPlayFilledWrapper,
|
|
240
|
+
K as MediaStopFilledWrapper,
|
|
193
241
|
N as MinuteHand,
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
242
|
+
j as RightActions,
|
|
243
|
+
X as SecondHand,
|
|
244
|
+
F as Time,
|
|
245
|
+
z as TimeTxt,
|
|
246
|
+
C as TimerDigit,
|
|
247
|
+
Z as VisuallyHidden,
|
|
248
|
+
_ as Wrapper
|
|
200
249
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "meticulous-ui",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.4",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"description": "A comprehensive React UI component library with a wide range of customizable components, icons, colors, and utilities for building modern web applications.",
|
|
6
6
|
"types": "./index.d.ts",
|