related-ui-components 4.0.4 → 4.0.6
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/module/components/ProgressBar/ProgressBar.js +21 -14
- package/lib/module/components/ProgressBar/ProgressBar.js.map +1 -1
- package/lib/module/contexts/UniversalModalProvider.js +11 -15
- package/lib/module/contexts/UniversalModalProvider.js.map +1 -1
- package/lib/typescript/src/components/ProgressBar/ProgressBar.d.ts +1 -0
- package/lib/typescript/src/components/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/package.json +8 -5
- package/src/components/ProgressBar/ProgressBar.tsx +31 -8
- package/src/contexts/UniversalModalProvider.tsx +10 -10
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useTheme } from "../../theme/ThemeContext.js";
|
|
4
|
-
import React from "react";
|
|
4
|
+
import React, { useEffect } from "react";
|
|
5
5
|
import { View, Text, StyleSheet } from "react-native";
|
|
6
|
+
import Animated, { useSharedValue, useAnimatedStyle, withTiming, Easing } from "react-native-reanimated";
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
const ProgressBar = ({
|
|
8
9
|
progress = 0.5,
|
|
@@ -21,7 +22,8 @@ const ProgressBar = ({
|
|
|
21
22
|
textPosition = "inside",
|
|
22
23
|
textAlign = "left",
|
|
23
24
|
showText = true,
|
|
24
|
-
isRTL = false
|
|
25
|
+
isRTL = false,
|
|
26
|
+
animationDuration = 500
|
|
25
27
|
}) => {
|
|
26
28
|
const {
|
|
27
29
|
theme,
|
|
@@ -32,6 +34,18 @@ const ProgressBar = ({
|
|
|
32
34
|
const remainingColor = remainingColorProp ?? theme.border;
|
|
33
35
|
const textColor = textColorProp ?? theme.onPrimary;
|
|
34
36
|
const clampedProgress = Math.min(Math.max(progress, 0), 1);
|
|
37
|
+
const progressWidth = useSharedValue(clampedProgress);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
progressWidth.value = withTiming(clampedProgress, {
|
|
40
|
+
duration: animationDuration,
|
|
41
|
+
easing: Easing.bezier(0.25, 0.1, 0.25, 1)
|
|
42
|
+
});
|
|
43
|
+
}, [clampedProgress, animationDuration, progressWidth]);
|
|
44
|
+
const animatedProgressStyle = useAnimatedStyle(() => {
|
|
45
|
+
return {
|
|
46
|
+
width: `${progressWidth.value * 100}%`
|
|
47
|
+
};
|
|
48
|
+
});
|
|
35
49
|
return /*#__PURE__*/_jsxs(View, {
|
|
36
50
|
style: [styles.container, containerStyle, {
|
|
37
51
|
width
|
|
@@ -40,9 +54,7 @@ const ProgressBar = ({
|
|
|
40
54
|
style: [styles.textAbove, {
|
|
41
55
|
color: theme.text,
|
|
42
56
|
textAlign
|
|
43
|
-
},
|
|
44
|
-
// Use theme.text for outside text
|
|
45
|
-
textStyle],
|
|
57
|
+
}, textStyle],
|
|
46
58
|
children: text
|
|
47
59
|
}), /*#__PURE__*/_jsxs(View, {
|
|
48
60
|
style: [styles.barContainer, {
|
|
@@ -50,24 +62,21 @@ const ProgressBar = ({
|
|
|
50
62
|
borderRadius,
|
|
51
63
|
backgroundColor: remainingColor
|
|
52
64
|
}, barContainerStyle],
|
|
53
|
-
children: [/*#__PURE__*/_jsx(View, {
|
|
65
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
54
66
|
style: [styles.progressBar, isRTL ? {
|
|
55
67
|
right: 0
|
|
56
68
|
} : {
|
|
57
69
|
left: 0
|
|
58
70
|
}, {
|
|
59
|
-
width: `${clampedProgress * 100}%`,
|
|
60
71
|
height: "100%",
|
|
61
72
|
borderRadius,
|
|
62
73
|
backgroundColor: progressColor
|
|
63
|
-
}, progressStyle]
|
|
74
|
+
}, progressStyle, animatedProgressStyle]
|
|
64
75
|
}), textPosition === "inside" && showText && /*#__PURE__*/_jsx(Text, {
|
|
65
76
|
style: [styles.textInside, {
|
|
66
77
|
color: textColor,
|
|
67
78
|
textAlign
|
|
68
|
-
},
|
|
69
|
-
// Use determined textColor for inside
|
|
70
|
-
textStyle],
|
|
79
|
+
}, textStyle],
|
|
71
80
|
children: text
|
|
72
81
|
})]
|
|
73
82
|
}), textPosition === "below" && showText && /*#__PURE__*/_jsx(Text, {
|
|
@@ -75,9 +84,7 @@ const ProgressBar = ({
|
|
|
75
84
|
style: [styles.textBelow, {
|
|
76
85
|
color: theme.text,
|
|
77
86
|
textAlign
|
|
78
|
-
},
|
|
79
|
-
// Use theme.text for outside text
|
|
80
|
-
textStyle],
|
|
87
|
+
}, textStyle],
|
|
81
88
|
children: text
|
|
82
89
|
})]
|
|
83
90
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useTheme","React","View","Text","StyleSheet","jsx","_jsx","jsxs","_jsxs","ProgressBar","progress","text","containerStyle","barContainerStyle","progressStyle","remainingStyle","textStyle","progressColor","progressColorProp","remainingColor","remainingColorProp","textColor","textColorProp","height","width","borderRadius","textPosition","textAlign","showText","isRTL","theme","rtl","primary","border","onPrimary","clampedProgress","Math","min","max","style","styles","container","children","textAbove","color","barContainer","backgroundColor","progressBar","right","left","textInside","numberOfLines","textBelow","create","justifyContent","overflow","position","top","bottom","textAlignVertical","paddingHorizontal","fontWeight","marginBottom","marginTop"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/ProgressBar/ProgressBar.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,6BAA0B;AACnD,OAAOC,KAAK,
|
|
1
|
+
{"version":3,"names":["useTheme","React","useEffect","View","Text","StyleSheet","Animated","useSharedValue","useAnimatedStyle","withTiming","Easing","jsx","_jsx","jsxs","_jsxs","ProgressBar","progress","text","containerStyle","barContainerStyle","progressStyle","remainingStyle","textStyle","progressColor","progressColorProp","remainingColor","remainingColorProp","textColor","textColorProp","height","width","borderRadius","textPosition","textAlign","showText","isRTL","animationDuration","theme","rtl","primary","border","onPrimary","clampedProgress","Math","min","max","progressWidth","value","duration","easing","bezier","animatedProgressStyle","style","styles","container","children","textAbove","color","barContainer","backgroundColor","progressBar","right","left","textInside","numberOfLines","textBelow","create","justifyContent","overflow","position","top","bottom","textAlignVertical","paddingHorizontal","fontWeight","marginBottom","marginTop"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/ProgressBar/ProgressBar.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,6BAA0B;AACnD,OAAOC,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAA8B,cAAc;AAC3E,OAAOC,QAAQ,IACbC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,EACVC,MAAM,QACD,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AA0BjC,MAAMC,WAAuC,GAAGA,CAAC;EAC/CC,QAAQ,GAAG,GAAG;EACdC,IAAI,GAAG,EAAE;EACTC,cAAc,GAAG,CAAC,CAAC;EACnBC,iBAAiB,GAAG,CAAC,CAAC;EACtBC,aAAa,GAAG,CAAC,CAAC;EAClBC,cAAc,GAAG,CAAC,CAAC;EACnBC,SAAS,GAAG,CAAC,CAAC;EACdC,aAAa,EAAEC,iBAAiB;EAChCC,cAAc,EAAEC,kBAAkB;EAClCC,SAAS,EAAEC,aAAa;EACxBC,MAAM,GAAG,EAAE;EACXC,KAAK;EACLC,YAAY,GAAG,CAAC;EAChBC,YAAY,GAAG,QAAQ;EACvBC,SAAS,GAAG,MAAM;EAClBC,QAAQ,GAAG,IAAI;EACfC,KAAK,GAAG,KAAK;EACbC,iBAAiB,GAAG;AACtB,CAAC,KAAK;EACJ,MAAM;IAAEC,KAAK;IAAEF,KAAK,EAAEG;EAAI,CAAC,GAAGtC,QAAQ,CAAC,CAAC;EACxCmC,KAAK,GAAGG,GAAG;EACX,MAAMf,aAAa,GAAGC,iBAAiB,IAAIa,KAAK,CAACE,OAAO;EACxD,MAAMd,cAAc,GAAGC,kBAAkB,IAAIW,KAAK,CAACG,MAAM;EACzD,MAAMb,SAAS,GAAGC,aAAa,IAAIS,KAAK,CAACI,SAAS;EAElD,MAAMC,eAAuB,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAAC7B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAElE,MAAM8B,aAAa,GAAGvC,cAAc,CAACmC,eAAe,CAAC;EAErDxC,SAAS,CAAC,MAAM;IACd4C,aAAa,CAACC,KAAK,GAAGtC,UAAU,CAACiC,eAAe,EAAE;MAChDM,QAAQ,EAAEZ,iBAAiB;MAC3Ba,MAAM,EAAEvC,MAAM,CAACwC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC,CAAC;EACJ,CAAC,EAAE,CAACR,eAAe,EAAEN,iBAAiB,EAAEU,aAAa,CAAC,CAAC;EAEvD,MAAMK,qBAAqB,GAAG3C,gBAAgB,CAAC,MAAM;IACnD,OAAO;MACLsB,KAAK,EAAE,GAAGgB,aAAa,CAACC,KAAK,GAAG,GAAG;IACrC,CAAC;EACH,CAAC,CAAC;EAEF,oBACEjC,KAAA,CAACX,IAAI;IAACiD,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAEpC,cAAc,EAAE;MAAEY;IAAM,CAAC,CAAE;IAAAyB,QAAA,GACxDvB,YAAY,KAAK,OAAO,IAAIE,QAAQ,iBACnCtB,IAAA,CAACR,IAAI;MACHgD,KAAK,EAAE,CACLC,MAAM,CAACG,SAAS,EAChB;QAAEC,KAAK,EAAEpB,KAAK,CAACpB,IAAI;QAAEgB;MAAU,CAAC,EAChCX,SAAS,CACT;MAAAiC,QAAA,EAEDtC;IAAI,CACD,CACP,eAEDH,KAAA,CAACX,IAAI;MACHiD,KAAK,EAAE,CACLC,MAAM,CAACK,YAAY,EACnB;QACE7B,MAAM;QACNE,YAAY;QACZ4B,eAAe,EAAElC;MACnB,CAAC,EACDN,iBAAiB,CACjB;MAAAoC,QAAA,gBAEF3C,IAAA,CAACN,QAAQ,CAACH,IAAI;QACZiD,KAAK,EAAE,CACLC,MAAM,CAACO,WAAW,EAClBzB,KAAK,GAAG;UAAE0B,KAAK,EAAE;QAAE,CAAC,GAAG;UAAEC,IAAI,EAAE;QAAE,CAAC,EAClC;UACEjC,MAAM,EAAE,MAAM;UACdE,YAAY;UACZ4B,eAAe,EAAEpC;QACnB,CAAC,EACDH,aAAa,EACb+B,qBAAqB;MACrB,CACH,CAAC,EAEDnB,YAAY,KAAK,QAAQ,IAAIE,QAAQ,iBACpCtB,IAAA,CAACR,IAAI;QACHgD,KAAK,EAAE,CACLC,MAAM,CAACU,UAAU,EACjB;UAAEN,KAAK,EAAE9B,SAAS;UAAEM;QAAU,CAAC,EAC/BX,SAAS,CACT;QAAAiC,QAAA,EAEDtC;MAAI,CACD,CACP;IAAA,CACG,CAAC,EAENe,YAAY,KAAK,OAAO,IAAIE,QAAQ,iBACnCtB,IAAA,CAACR,IAAI;MACH4D,aAAa,EAAE,CAAE;MACjBZ,KAAK,EAAE,CACLC,MAAM,CAACY,SAAS,EAChB;QAAER,KAAK,EAAEpB,KAAK,CAACpB,IAAI;QAAEgB;MAAU,CAAC,EAChCX,SAAS,CACT;MAAAiC,QAAA,EAEDtC;IAAI,CACD,CACP;EAAA,CACG,CAAC;AAEX,CAAC;AAED,MAAMoC,MAAM,GAAGhD,UAAU,CAAC6D,MAAM,CAAC;EAC/BZ,SAAS,EAAE;IACTxB,KAAK,EAAE,MAAM;IACbqC,cAAc,EAAE;EAClB,CAAC;EACDT,YAAY,EAAE;IACZ5B,KAAK,EAAE,MAAM;IACbsC,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE;EACZ,CAAC;EACDT,WAAW,EAAE;IACXS,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE;EACP,CAAC;EACDP,UAAU,EAAE;IACVM,QAAQ,EAAE,UAAU;IACpBP,IAAI,EAAE,CAAC;IACPD,KAAK,EAAE,CAAC;IACRS,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE,CAAC;IACTtC,SAAS,EAAE,QAAQ;IACnBuC,iBAAiB,EAAE,QAAQ;IAC3BC,iBAAiB,EAAE,EAAE;IACrBC,UAAU,EAAE;EACd,CAAC;EACDlB,SAAS,EAAE;IACTmB,YAAY,EAAE,CAAC;IACfD,UAAU,EAAE;EACd,CAAC;EACDT,SAAS,EAAE;IACTW,SAAS,EAAE,CAAC;IACZF,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAe3D,WAAW","ignoreList":[]}
|
|
@@ -198,21 +198,17 @@ const styles = StyleSheet.create({
|
|
|
198
198
|
alignItems: "center"
|
|
199
199
|
},
|
|
200
200
|
baseContainer: {
|
|
201
|
-
backgroundColor: "white",
|
|
202
|
-
//
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
},
|
|
213
|
-
shadowOpacity: 0.25,
|
|
214
|
-
shadowRadius: 3.84,
|
|
215
|
-
elevation: 5
|
|
201
|
+
// backgroundColor: "white", // Default, allows override
|
|
202
|
+
// borderRadius: 16,
|
|
203
|
+
// padding: 20,
|
|
204
|
+
width: "90%"
|
|
205
|
+
// maxWidth: 500,
|
|
206
|
+
// alignItems: "center",
|
|
207
|
+
// shadowColor: "#000",
|
|
208
|
+
// shadowOffset: { width: 0, height: 2 },
|
|
209
|
+
// shadowOpacity: 0.25,
|
|
210
|
+
// shadowRadius: 3.84,
|
|
211
|
+
// elevation: 5,
|
|
216
212
|
}
|
|
217
213
|
});
|
|
218
214
|
//# sourceMappingURL=UniversalModalProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Portal","PortalHost","PortalProvider","React","createContext","useCallback","useContext","useEffect","useMemo","useState","BackHandler","Platform","StyleSheet","TouchableOpacity","View","KeyboardAvoidingView","Animated","Easing","runOnJS","useAnimatedStyle","useSharedValue","withTiming","useSafeAreaInsets","jsx","_jsx","jsxs","_jsxs","ModalContext","undefined","DEFAULT_MODAL_HOST","DefaultModalUI","isVisible","children","options","onClose","insets","isRendered","setIsRendered","opacity","closeOnBackdropPress","closeOnBackButton","animationConfig","duration","easing","bezier","position","avoidKeyboard","backdropStyle","containerStyle","value","finished","backHandler","addEventListener","remove","backdropAnimatedStyle","contentAnimatedStyle","transform","push","translateY","scale","justifyContent","paddingBottom","bottom","paddingTop","top","ContentWrapper","style","absoluteFill","styles","overlayWrapper","backdrop","activeOpacity","onPress","behavior","OS","keyboardView","pointerEvents","baseContainer","UniversalModalProvider","defaultOptions","portalHostName","CustomModalComponent","state","setState","content","showModal","hideModal","prev","setTimeout","ModalUI","Provider","name","hostName","useModal","context","Error","create","zIndex","elevation","backgroundColor","flexGrow","alignItems","
|
|
1
|
+
{"version":3,"names":["Portal","PortalHost","PortalProvider","React","createContext","useCallback","useContext","useEffect","useMemo","useState","BackHandler","Platform","StyleSheet","TouchableOpacity","View","KeyboardAvoidingView","Animated","Easing","runOnJS","useAnimatedStyle","useSharedValue","withTiming","useSafeAreaInsets","jsx","_jsx","jsxs","_jsxs","ModalContext","undefined","DEFAULT_MODAL_HOST","DefaultModalUI","isVisible","children","options","onClose","insets","isRendered","setIsRendered","opacity","closeOnBackdropPress","closeOnBackButton","animationConfig","duration","easing","bezier","position","avoidKeyboard","backdropStyle","containerStyle","value","finished","backHandler","addEventListener","remove","backdropAnimatedStyle","contentAnimatedStyle","transform","push","translateY","scale","justifyContent","paddingBottom","bottom","paddingTop","top","ContentWrapper","style","absoluteFill","styles","overlayWrapper","backdrop","activeOpacity","onPress","behavior","OS","keyboardView","pointerEvents","baseContainer","UniversalModalProvider","defaultOptions","portalHostName","CustomModalComponent","state","setState","content","showModal","hideModal","prev","setTimeout","ModalUI","Provider","name","hostName","useModal","context","Error","create","zIndex","elevation","backgroundColor","flexGrow","alignItems","width"],"sourceRoot":"..\\..\\..\\src","sources":["contexts/UniversalModalProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../../../src/components/ProgressBar/ProgressBar.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../../../src/components/ProgressBar/ProgressBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAA0B,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQ5E,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D,UAAU,gBAAgB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6G3C,CAAC;AAqCF,eAAe,WAAW,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "related-ui-components",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.6",
|
|
4
4
|
"main": "./src/index.ts",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"start": "expo start",
|
|
@@ -18,24 +18,24 @@
|
|
|
18
18
|
"@shopify/react-native-skia": ">=v2.0.0-next.4",
|
|
19
19
|
"country-telephone-data": ">=0.6.3",
|
|
20
20
|
"date-fns": ">=4.1.0",
|
|
21
|
+
"expo": ">=52.0.0",
|
|
21
22
|
"expo-checkbox": ">=4.1.4",
|
|
22
23
|
"expo-clipboard": ">=7.1.4",
|
|
23
24
|
"expo-image": ">=2.4.0",
|
|
24
25
|
"expo-linear-gradient": ">=14.1.5",
|
|
25
26
|
"expo-status-bar": ">=2.2.3",
|
|
26
|
-
"expo": ">=52.0.0",
|
|
27
27
|
"react": ">=18.0.0",
|
|
28
28
|
"react-native": ">=0.79.0",
|
|
29
29
|
"react-native-calendars": ">=1.1312.0",
|
|
30
30
|
"react-native-color-matrix-image-filters": ">=7.0.2",
|
|
31
31
|
"react-native-gesture-handler": ">=2.24.0",
|
|
32
|
+
"react-native-keyboard-controller": "^1.18.0",
|
|
32
33
|
"react-native-picker-select": ">=9.3.1",
|
|
33
34
|
"react-native-qrcode-svg": ">=6.3.15",
|
|
34
35
|
"react-native-reanimated": ">=3.0.0",
|
|
35
36
|
"react-native-safe-area-context": ">=5.4.0",
|
|
36
37
|
"react-native-svg": ">=15.11.2",
|
|
37
|
-
"react-native-toast-message": ">=2.3.3"
|
|
38
|
-
"react-native-keyboard-controller": "^1.18.0"
|
|
38
|
+
"react-native-toast-message": ">=2.3.3"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@babel/core": "^7.25.2",
|
|
@@ -77,5 +77,8 @@
|
|
|
77
77
|
"eslintIgnore": [
|
|
78
78
|
"node_modules/",
|
|
79
79
|
"lib/"
|
|
80
|
-
]
|
|
80
|
+
],
|
|
81
|
+
"dependencies": {
|
|
82
|
+
"related-ui-components": "^4.0.5"
|
|
83
|
+
}
|
|
81
84
|
}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { useTheme } from "../../theme/ThemeContext";
|
|
2
|
-
import React from "react";
|
|
2
|
+
import React, { useEffect } from "react";
|
|
3
3
|
import { View, Text, StyleSheet, ViewStyle, TextStyle } from "react-native";
|
|
4
|
+
import Animated, {
|
|
5
|
+
useSharedValue,
|
|
6
|
+
useAnimatedStyle,
|
|
7
|
+
withTiming,
|
|
8
|
+
Easing,
|
|
9
|
+
} from "react-native-reanimated";
|
|
4
10
|
|
|
5
11
|
export type ProgressBarTextPosition = "inside" | "above" | "below";
|
|
6
12
|
export type ProgressBarTextAlign = "center" | "left" | "right";
|
|
@@ -23,6 +29,7 @@ interface ProgressBarProps {
|
|
|
23
29
|
textAlign?: "center" | "left" | "right";
|
|
24
30
|
showText?: boolean;
|
|
25
31
|
isRTL?: boolean;
|
|
32
|
+
animationDuration?: number;
|
|
26
33
|
}
|
|
27
34
|
|
|
28
35
|
const ProgressBar: React.FC<ProgressBarProps> = ({
|
|
@@ -43,8 +50,9 @@ const ProgressBar: React.FC<ProgressBarProps> = ({
|
|
|
43
50
|
textAlign = "left",
|
|
44
51
|
showText = true,
|
|
45
52
|
isRTL = false,
|
|
53
|
+
animationDuration = 500,
|
|
46
54
|
}) => {
|
|
47
|
-
const {theme, isRTL
|
|
55
|
+
const { theme, isRTL: rtl } = useTheme();
|
|
48
56
|
isRTL = rtl;
|
|
49
57
|
const progressColor = progressColorProp ?? theme.primary;
|
|
50
58
|
const remainingColor = remainingColorProp ?? theme.border;
|
|
@@ -52,13 +60,28 @@ const ProgressBar: React.FC<ProgressBarProps> = ({
|
|
|
52
60
|
|
|
53
61
|
const clampedProgress: number = Math.min(Math.max(progress, 0), 1);
|
|
54
62
|
|
|
63
|
+
const progressWidth = useSharedValue(clampedProgress);
|
|
64
|
+
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
progressWidth.value = withTiming(clampedProgress, {
|
|
67
|
+
duration: animationDuration,
|
|
68
|
+
easing: Easing.bezier(0.25, 0.1, 0.25, 1),
|
|
69
|
+
});
|
|
70
|
+
}, [clampedProgress, animationDuration, progressWidth]);
|
|
71
|
+
|
|
72
|
+
const animatedProgressStyle = useAnimatedStyle(() => {
|
|
73
|
+
return {
|
|
74
|
+
width: `${progressWidth.value * 100}%`,
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
|
|
55
78
|
return (
|
|
56
79
|
<View style={[styles.container, containerStyle, { width }]}>
|
|
57
80
|
{textPosition === "above" && showText && (
|
|
58
81
|
<Text
|
|
59
82
|
style={[
|
|
60
83
|
styles.textAbove,
|
|
61
|
-
{ color: theme.text, textAlign },
|
|
84
|
+
{ color: theme.text, textAlign },
|
|
62
85
|
textStyle,
|
|
63
86
|
]}
|
|
64
87
|
>
|
|
@@ -77,17 +100,17 @@ const ProgressBar: React.FC<ProgressBarProps> = ({
|
|
|
77
100
|
barContainerStyle,
|
|
78
101
|
]}
|
|
79
102
|
>
|
|
80
|
-
<View
|
|
103
|
+
<Animated.View
|
|
81
104
|
style={[
|
|
82
105
|
styles.progressBar,
|
|
83
106
|
isRTL ? { right: 0 } : { left: 0 },
|
|
84
107
|
{
|
|
85
|
-
width: `${clampedProgress * 100}%`,
|
|
86
108
|
height: "100%",
|
|
87
109
|
borderRadius,
|
|
88
110
|
backgroundColor: progressColor,
|
|
89
111
|
},
|
|
90
112
|
progressStyle,
|
|
113
|
+
animatedProgressStyle,
|
|
91
114
|
]}
|
|
92
115
|
/>
|
|
93
116
|
|
|
@@ -95,7 +118,7 @@ const ProgressBar: React.FC<ProgressBarProps> = ({
|
|
|
95
118
|
<Text
|
|
96
119
|
style={[
|
|
97
120
|
styles.textInside,
|
|
98
|
-
{ color: textColor, textAlign },
|
|
121
|
+
{ color: textColor, textAlign },
|
|
99
122
|
textStyle,
|
|
100
123
|
]}
|
|
101
124
|
>
|
|
@@ -109,7 +132,7 @@ const ProgressBar: React.FC<ProgressBarProps> = ({
|
|
|
109
132
|
numberOfLines={1}
|
|
110
133
|
style={[
|
|
111
134
|
styles.textBelow,
|
|
112
|
-
{ color: theme.text, textAlign },
|
|
135
|
+
{ color: theme.text, textAlign },
|
|
113
136
|
textStyle,
|
|
114
137
|
]}
|
|
115
138
|
>
|
|
@@ -155,4 +178,4 @@ const styles = StyleSheet.create({
|
|
|
155
178
|
},
|
|
156
179
|
});
|
|
157
180
|
|
|
158
|
-
export default ProgressBar;
|
|
181
|
+
export default ProgressBar;
|
|
@@ -278,16 +278,16 @@ const styles = StyleSheet.create({
|
|
|
278
278
|
alignItems: "center",
|
|
279
279
|
},
|
|
280
280
|
baseContainer: {
|
|
281
|
-
backgroundColor: "white", // Default, allows override
|
|
282
|
-
borderRadius: 16,
|
|
283
|
-
padding: 20,
|
|
281
|
+
// backgroundColor: "white", // Default, allows override
|
|
282
|
+
// borderRadius: 16,
|
|
283
|
+
// padding: 20,
|
|
284
284
|
width: "90%",
|
|
285
|
-
maxWidth: 500,
|
|
286
|
-
alignItems: "center",
|
|
287
|
-
shadowColor: "#000",
|
|
288
|
-
shadowOffset: { width: 0, height: 2 },
|
|
289
|
-
shadowOpacity: 0.25,
|
|
290
|
-
shadowRadius: 3.84,
|
|
291
|
-
elevation: 5,
|
|
285
|
+
// maxWidth: 500,
|
|
286
|
+
// alignItems: "center",
|
|
287
|
+
// shadowColor: "#000",
|
|
288
|
+
// shadowOffset: { width: 0, height: 2 },
|
|
289
|
+
// shadowOpacity: 0.25,
|
|
290
|
+
// shadowRadius: 3.84,
|
|
291
|
+
// elevation: 5,
|
|
292
292
|
},
|
|
293
293
|
});
|