@draftbit/core 50.3.0 → 50.3.1
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.
- package/lib/commonjs/components/Timer.js +1 -1
- package/lib/typescript/src/components/Timer.d.ts +2 -2
- package/lib/typescript/src/components/Timer.js +13 -7
- package/lib/typescript/src/components/Timer.js.map +1 -1
- package/lib/typescript/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/components/Timer.js +13 -7
- package/src/components/Timer.js.map +1 -1
- package/src/components/Timer.tsx +23 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@draftbit/core",
|
|
3
|
-
"version": "50.3.
|
|
3
|
+
"version": "50.3.1",
|
|
4
4
|
"description": "Core (non-native) Components",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"types": "lib/typescript/src/index.d.ts",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@date-io/date-fns": "^1.3.13",
|
|
43
43
|
"@draftbit/react-theme-provider": "^2.1.1",
|
|
44
|
-
"@draftbit/theme": "50.3.
|
|
44
|
+
"@draftbit/theme": "50.3.1",
|
|
45
45
|
"@expo/vector-icons": "^14.0.0",
|
|
46
46
|
"@gorhom/bottom-sheet": "5.0.0-alpha.7",
|
|
47
47
|
"@material-ui/core": "^4.11.0",
|
|
@@ -118,5 +118,5 @@
|
|
|
118
118
|
],
|
|
119
119
|
"testEnvironment": "node"
|
|
120
120
|
},
|
|
121
|
-
"gitHead": "
|
|
121
|
+
"gitHead": "1917858c7647370b31d1ca7c13b4b4d3291fc275"
|
|
122
122
|
}
|
package/src/components/Timer.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useEffect, useRef, useImperativeHandle, forwardRef, } from "react";
|
|
2
|
-
import { Text, StyleSheet } from "react-native";
|
|
3
|
-
const Timer = forwardRef(({ style, initialTime, updateInterval = 1000, format = "mm:ss", onTimerChange, onTimerEnd, countDirection = "up", timerEndTime, }, ref) => {
|
|
4
|
-
const defaultInitialTime =
|
|
2
|
+
import { Text, StyleSheet, } from "react-native";
|
|
3
|
+
const Timer = forwardRef(({ style, initialTime, updateInterval = 1000, format = "mm:ss", onTimerChange, onTimerEnd, countDirection = "up", timerEndTime, ...rest }, ref) => {
|
|
4
|
+
const defaultInitialTime = 0;
|
|
5
5
|
const [time, setTime] = useState(initialTime !== null && initialTime !== void 0 ? initialTime : defaultInitialTime);
|
|
6
6
|
const timerRef = useRef(null);
|
|
7
7
|
useEffect(() => {
|
|
@@ -24,7 +24,10 @@ const Timer = forwardRef(({ style, initialTime, updateInterval = 1000, format =
|
|
|
24
24
|
// Count down
|
|
25
25
|
if (newTime <= 0 && countDirection === "down") {
|
|
26
26
|
clearTimer();
|
|
27
|
-
|
|
27
|
+
// Delay the onTimerEnd callback to ensure it triggers after the final time update
|
|
28
|
+
setTimeout(() => {
|
|
29
|
+
onTimerEnd === null || onTimerEnd === void 0 ? void 0 : onTimerEnd();
|
|
30
|
+
}, updateInterval);
|
|
28
31
|
return 0;
|
|
29
32
|
}
|
|
30
33
|
// Count up
|
|
@@ -32,7 +35,10 @@ const Timer = forwardRef(({ style, initialTime, updateInterval = 1000, format =
|
|
|
32
35
|
timerEndTime !== undefined &&
|
|
33
36
|
newTime >= timerEndTime) {
|
|
34
37
|
clearTimer();
|
|
35
|
-
|
|
38
|
+
// Delay the onTimerEnd callback to ensure it triggers after the final time update
|
|
39
|
+
setTimeout(() => {
|
|
40
|
+
onTimerEnd === null || onTimerEnd === void 0 ? void 0 : onTimerEnd();
|
|
41
|
+
}, updateInterval);
|
|
36
42
|
return timerEndTime;
|
|
37
43
|
}
|
|
38
44
|
return newTime;
|
|
@@ -69,12 +75,12 @@ const Timer = forwardRef(({ style, initialTime, updateInterval = 1000, format =
|
|
|
69
75
|
.replace("ss", formattedSeconds)
|
|
70
76
|
.replace("ms", formattedMs);
|
|
71
77
|
};
|
|
72
|
-
return (React.createElement(Text, { style: [styles.defaultTimerStyle, style] }, formatTime(time)));
|
|
78
|
+
return (React.createElement(Text, { ...rest, style: [styles.defaultTimerStyle, style] }, formatTime(time)));
|
|
73
79
|
});
|
|
74
80
|
const styles = StyleSheet.create({
|
|
75
81
|
defaultTimerStyle: {
|
|
76
82
|
fontSize: 24,
|
|
77
|
-
textAlign: "
|
|
83
|
+
textAlign: "left",
|
|
78
84
|
},
|
|
79
85
|
});
|
|
80
86
|
export default Timer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timer.js","sourceRoot":"","sources":["Timer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,QAAQ,EACR,SAAS,EACT,MAAM,EACN,mBAAmB,EACnB,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,
|
|
1
|
+
{"version":3,"file":"Timer.js","sourceRoot":"","sources":["Timer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,QAAQ,EACR,SAAS,EACT,MAAM,EACN,mBAAmB,EACnB,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EACL,IAAI,EACJ,UAAU,GAIX,MAAM,cAAc,CAAC;AAmBtB,MAAM,KAAK,GAAG,UAAU,CACtB,CACE,EACE,KAAK,EACL,WAAW,EACX,cAAc,GAAG,IAAI,EACrB,MAAM,GAAG,OAAO,EAChB,aAAa,EACb,UAAU,EACV,cAAc,GAAG,IAAI,EACrB,YAAY,EACZ,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,MAAM,kBAAkB,GAAG,CAAC,CAAC;IAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,kBAAkB,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAErD,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,IAAI,CAAC,CAAC;QACtB,uDAAuD;IACzD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,UAAU;KAClB,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC7B,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACnB,MAAM,OAAO,GACX,cAAc,KAAK,IAAI;oBACrB,CAAC,CAAC,QAAQ,GAAG,cAAc;oBAC3B,CAAC,CAAC,QAAQ,GAAG,cAAc,CAAC;gBAChC,aAAa;gBACb,IAAI,OAAO,IAAI,CAAC,IAAI,cAAc,KAAK,MAAM,EAAE;oBAC7C,UAAU,EAAE,CAAC;oBACb,kFAAkF;oBAClF,UAAU,CAAC,GAAG,EAAE;wBACd,UAAU,aAAV,UAAU,uBAAV,UAAU,EAAI,CAAC;oBACjB,CAAC,EAAE,cAAc,CAAC,CAAC;oBACnB,OAAO,CAAC,CAAC;iBACV;gBACD,WAAW;gBACX,IACE,cAAc,KAAK,IAAI;oBACvB,YAAY,KAAK,SAAS;oBAC1B,OAAO,IAAI,YAAY,EACvB;oBACA,UAAU,EAAE,CAAC;oBACb,kFAAkF;oBAClF,UAAU,CAAC,GAAG,EAAE;wBACd,UAAU,aAAV,UAAU,uBAAV,UAAU,EAAI,CAAC;oBACjB,CAAC,EAAE,cAAc,CAAC,CAAC;oBACnB,OAAO,YAAY,CAAC;iBACrB;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,cAAc,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;IAErC,MAAM,UAAU,GAAG,CACjB,UAAkB,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,kBAAkB,EACnD,EAAE;QACF,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,QAAQ,CAAC,OAAO,EAAE;YACpB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;SACzB;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAU,EAAE;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,YAAY,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;QAC3D,MAAM,EAAE,GAAG,YAAY,GAAG,IAAI,CAAC;QAE/B,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEhD,OAAO,MAAM;aACV,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC;aAC7B,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC;aAC/B,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC;aAC/B,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,IAAI,OAAK,IAAI,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,IACrD,UAAU,CAAC,IAAI,CAAC,CACZ,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,iBAAiB,EAAE;QACjB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,MAAM;KAClB;CACF,CAAC,CAAC;AAEH,eAAe,KAAK,CAAC"}
|
package/src/components/Timer.tsx
CHANGED
|
@@ -5,9 +5,15 @@ import React, {
|
|
|
5
5
|
useImperativeHandle,
|
|
6
6
|
forwardRef,
|
|
7
7
|
} from "react";
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
import {
|
|
9
|
+
Text,
|
|
10
|
+
StyleSheet,
|
|
11
|
+
TextStyle,
|
|
12
|
+
StyleProp,
|
|
13
|
+
TextProps,
|
|
14
|
+
} from "react-native";
|
|
15
|
+
|
|
16
|
+
interface TimerProps extends TextProps {
|
|
11
17
|
style?: StyleProp<TextStyle>;
|
|
12
18
|
initialTime?: number;
|
|
13
19
|
updateInterval?: number;
|
|
@@ -35,10 +41,11 @@ const Timer = forwardRef<TimerHandle, TimerProps>(
|
|
|
35
41
|
onTimerEnd,
|
|
36
42
|
countDirection = "up",
|
|
37
43
|
timerEndTime,
|
|
44
|
+
...rest
|
|
38
45
|
},
|
|
39
46
|
ref
|
|
40
47
|
) => {
|
|
41
|
-
const defaultInitialTime =
|
|
48
|
+
const defaultInitialTime = 0;
|
|
42
49
|
const [time, setTime] = useState(initialTime ?? defaultInitialTime);
|
|
43
50
|
const timerRef = useRef<NodeJS.Timeout | null>(null);
|
|
44
51
|
|
|
@@ -64,7 +71,10 @@ const Timer = forwardRef<TimerHandle, TimerProps>(
|
|
|
64
71
|
// Count down
|
|
65
72
|
if (newTime <= 0 && countDirection === "down") {
|
|
66
73
|
clearTimer();
|
|
67
|
-
onTimerEnd
|
|
74
|
+
// Delay the onTimerEnd callback to ensure it triggers after the final time update
|
|
75
|
+
setTimeout(() => {
|
|
76
|
+
onTimerEnd?.();
|
|
77
|
+
}, updateInterval);
|
|
68
78
|
return 0;
|
|
69
79
|
}
|
|
70
80
|
// Count up
|
|
@@ -74,7 +84,10 @@ const Timer = forwardRef<TimerHandle, TimerProps>(
|
|
|
74
84
|
newTime >= timerEndTime
|
|
75
85
|
) {
|
|
76
86
|
clearTimer();
|
|
77
|
-
onTimerEnd
|
|
87
|
+
// Delay the onTimerEnd callback to ensure it triggers after the final time update
|
|
88
|
+
setTimeout(() => {
|
|
89
|
+
onTimerEnd?.();
|
|
90
|
+
}, updateInterval);
|
|
78
91
|
return timerEndTime;
|
|
79
92
|
}
|
|
80
93
|
|
|
@@ -123,7 +136,9 @@ const Timer = forwardRef<TimerHandle, TimerProps>(
|
|
|
123
136
|
};
|
|
124
137
|
|
|
125
138
|
return (
|
|
126
|
-
<Text style={[styles.defaultTimerStyle, style]}>
|
|
139
|
+
<Text {...rest} style={[styles.defaultTimerStyle, style]}>
|
|
140
|
+
{formatTime(time)}
|
|
141
|
+
</Text>
|
|
127
142
|
);
|
|
128
143
|
}
|
|
129
144
|
);
|
|
@@ -131,7 +146,7 @@ const Timer = forwardRef<TimerHandle, TimerProps>(
|
|
|
131
146
|
const styles = StyleSheet.create({
|
|
132
147
|
defaultTimerStyle: {
|
|
133
148
|
fontSize: 24,
|
|
134
|
-
textAlign: "
|
|
149
|
+
textAlign: "left",
|
|
135
150
|
},
|
|
136
151
|
});
|
|
137
152
|
|